русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Маршрутизация


Дата добавления: 2014-11-28; просмотров: 694; Нарушение авторских прав


Пакет, являющийся частью передаваемых данных, на пути в пункт своего назначения проходит по определенному маршруту. В крупных сетях пакеты передаются из одного компьютера в другой до тех пор, пока не попадут к адресату. Маршрут определяет начальную точку процесса передачи пакета и показывает, в какой компьютер ваша система должна передать пакет, чтобы он достиг пункта назначения. В небольших сетях маршрутизация может осуществляться статически, т.е. маршрут, ведущий от одной системы к другой, строго фиксирован. В более крупных сетях и в Internet маршрутизация осуществляется динамически. Ваша система знает, в какой компьютер пакет должен быть послан вначале. Этот компьютер принимает паке передает его в другой компьютер, который определяет, куда следует передать пакет дальше. При динамической маршрутизации ваша система должна знать очень мало. Статическая маршрутизация может быть очень сложной, поскольку необходимо отслеживать все сетевые соединения.

Маршруты содержатся в таблице маршрутизации, которая хранится файле /proc/net/route. Чтобы вывести ее на дисплей, нужно дать команду route без аргументов.

# route

DKernel IP routing table

 

Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.16.0 * 255.255.255.0 U eth0
link-local * 255.255.0.0 U eth0
loopback * 255.0.0.0 U lo
default sm.specialist.b 0.0.0.0 UG eth0

Каждая запись таблицы маршрутизации состоит из нескольких полей содержащих такую информацию, как, например, конечный пункт маршрута и тип используемого интерфейса. Поля таблицы маршрутизации перечислены в следующей таблице.

В таблице маршрутизации должна содержаться по крайней мере одна запись, предназначенная для закольцовывающего интерфейса, иначе это интерфейс придется конфигурировать командой route. IP-адрес интерфейс нужно ввести в таблицу до того, как этот интерфейс будет задействован. Адрес добавляется с помощью команды route с опцией add.



route add адрес

В следующем примере показано, как в таблицу маршрутизации вводится IP-адрес закольцовывающего интерфейса.

# route add 127.0.0.1

Поле Описание
Destination IP-адрес конечного пункта маршрута
Gateway IP-адрес или хост-имя шлюза, используемого на данном маршруте; символ * говорит о том, что шлюз в сети не используется
Genmask Маска сети маршрута
Flags Тип или состояние маршрута: U=активный, Н=хост, С=шлюз, D=динамический, М=модифицированный
MSS (опция-e) TCP MSS (Maximum segment size) для маршрута - максимально количество данных, которое может быть передано за один раз
Metric "Стоимость" маршрута (количество переходов до шлюза)
Ref Количество использований маршрута на текущий момент
Window (опция -e) Размер окна приема. Наибольшее количество данных, которое принимающая сторона может принять
Use Количество пакетов, пересланных по данному маршруту
Iface Тип интерфейса, используемого на данном маршруте

Опция add имеет несколько спецификаторов (они указаны на страницах диалогового руководства, посвященных команде route). Если вы добавляете конкретный статический маршрут, то эти спецификаторы понадобятся для ввода таких параметров, как маска сети, шлюз, интерфейс и адрес пункта назначения. Если же интерфейс уже конфигурирован командой ifconfig, то система может получить основную информацию из данных конфигурации интерфейса. Например, чтобы задать маршрут для Ethernet-соединения, которое уже конфигурировано командой ifconfig, нужно лишь ввести спецификатор -net и IP- адрес пункта назначения. С помощью этого адреса ifconfig находит соответствующий интерфейс и на основании этой информации организует маршрут. Задание маршрута для интерфейса Ethernet иллюстрируется следующим примером.

# route add -net 204.32.168.0

Если система подключена к сети, в таблице маршрутизации должна быть сделана по крайней мере одна запись, задающая маршрут по умолчанию. По этому маршруту пакет посылается в том случае, если все остальные маршруты не могут привести его в пункт назначения. Пункт назначения для такого маршрута задается ключевым словом default.

Если нужно удалить один из существующих маршрутов, следует вызвать команду ifconfig с опцией del и IP-адресом маршрута, например:

# route del -net 204.32.168.0

В SuSE информация о маршрутах хранится в файле

#/etc/sysconfig/network/routes default 192.168.101.1 - -

Фиктивный (Dummy) интерфейс

Фиктивный интерфейс Dummy немного экзотический, но довольно полезный. Он наиболее удобен для автономных хостов и машин, которые связаны с сетью через модем. Фактически, последние большую часть времени также являются автономными хостами.

Проблема автономных хостов в том, что они имеют только одно активное сетевое устройство, loopback, которому обычно назначен адрес 127.0.0.1. Но в некоторых случаях, вы должны послать данные к "официальному" IP-адресу локального хоста. Например, рассмотрим laptop vlite, который был отсоединен от сети. Приложение на vlite может понадобиться послать данные другому приложению на том же самом хосте. Поиск vlite в файле /etc/hosts выдает IP-адрес 172.16.1.65, таким образом приложение пытается послать данные этому адресу. Поскольку интерфейс loopback в настоящее время единственный активный интерфейс на машине, ядро не имеет никаких идей относительно этого адреса! Как следствие, ядро отказывается от пакета и возвращает приложению ошибку.

В этот момент просто необходимо фиктивное устройство. Оно решает эту проблему так же, как loopback. В случае vlite , вы просто даете ему адрес 172.16.1.65 и добавляете новый маршрут, указывающий на него. Каждый пакет для 172.16.1.65 будет рассматривается локально. Требуемые действия:

# ifconfig dummy vlite

# route add vlite



<== предыдущая лекция | следующая лекция ==>
Команда ifconfig | IP-псевдонимы (IP-Alias)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.124 сек.