Сайт о телевидении

Сайт о телевидении

» » Что такое интерфейс в таблице маршрутизации. Описание команды ROUTE

Что такое интерфейс в таблице маршрутизации. Описание команды ROUTE

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

Таблица маршрутизации обычно содержит:

· адрес сети или узла назначения, либо указание, что маршрут является маршрутом по умолчанию;

· маску сети назначения (для IPv4-сетей маска /32 (255.255.255.255) позволяет указать единичный узел сети);

· шлюз, обозначающий адрес маршрутизатора в сети, на который необходимо отправить пакет, следующий до указанного адреса назначения;

· интерфейс (в зависимости от системы это может быть порядковый номер, GUID или символьное имя устройства);

· метрику - числовой показатель, задающий предпочтительность маршрута. Чем меньше число, тем более предпочтителен маршрут (интуитивно представляется как расстояние);

Сеть предприятия N приведена на рис.1.1.

Рис.1.1

В таблице 1.9 нет стандартного столбца "Маска" так в сети используется одна и та же маска. Таблица 1.9 упрощена, в ней нет признаков состояния маршрута, временем, в течение которого действительны записи данной таблицы. Вместо номера сети назначения может быть указан полный сетевой адрес отдельного узла назначения. Здесь указаны адреса сетей условного формата, не соответствующие какому-либо определенному сетевому протоколу.

Таблица 1.9 Таблица маршрутизации сети предприятия N для маршрутизатора M1.

Первый столбец таблицы содержит адреса назначения пакетов.

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

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

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

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

Чаще всего в качестве адреса назначения в таблице указывается не весь IP-адрес, а только номер сети назначения. Таким образом, для всех пакетов, направляемых в одну и ту же сеть, протокол IP будет предлагать один и тот же маршрут. Однако в некоторых случаях возникает необходимость для одного из узлов сети определить специфический маршрут, отличающийся от маршрута, заданного для всех остальных узлов сети. Для этого в таблицу маршрутизации помещают для данного узла отдельную строку, содержащую его полный IP-адрес и соответствующую маршрутную информацию. Если в таблице имеются записи о маршрутах как к сети в целом, так и к ее отдельному узлу, то при поступлении пакета, адресованного данному узлу, маршрутизатор отдаст предпочтение специфическому маршруту.

Поскольку пакет может быть адресован в любую сеть составной сети, может показаться, что каждая таблица маршрутизации должна иметь записи обо всех сетях, входящих в составную сеть. Но при таком подходе в случае крупной сети объем таблиц маршрутизации может оказаться очень большим, что повлияет на время ее просмотра, потребует много места для хранения и т.п. Поэтому на практике широко известен прием уменьшения количества записей в таблице маршрутизации, основанный на введении маршрута по умолчанию (default route). В этом приеме используются особенности топологии сети. Рассмотрим, например, маршрутизаторы, находящиеся на периферии составной сети. В их таблицах достаточно записать номера только тех сетей, которые непосредственно подсоединены к данному маршрутизатору или расположены поблизости, на тупиковых маршрутах. Обо всех же остальных сетях можно сделать в таблице единственную запись, указывающую на маршрутизатор, через который пролегает путь ко всем этим сетям. Такой маршрутизатор называется маршрутизатором по умолчанию (default router).

Задачу маршрутизации решают не только промежуточные (маршрутизаторы), но и конечные узлы - компьютеры. Решение этой задачи начинается с того, что протокол IP, установленный на конечном узле, определяет, направляется ли пакет в другую сеть или адресован какому-нибудь узлу данной сети. Если номер сети назначения совпадает с номером данной сети, это означает, что пакет маршрутизировать не требуется. В противном случае маршрутизация нужна.

Структуры таблиц маршрутизации конечных узлов и транзитных маршрутизаторов аналогичны.

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

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

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

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

Просмотр таблицы маршрутизации

Приведу вывод команды route print на моем стаионарном компьютере:

Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 20
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.1.0 255.255.255.0 On-link 192.168.1.100 276
192.168.1.100 255.255.255.255 On-link 192.168.1.100 276
192.168.1.255 255.255.255.255 On-link 192.168.1.100 276
244.0.0.0 240.0.0.0 On-link 127.0.0.1 306
244.0.0.0 240.0.0.0 On-link 192.168.1.100 276
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.1.100 276

Вот так мы можем просмотреть таблицы маршрутизации. Попробуем описать, что все это означает. Каждая строчка опреедляет, куда отправлять какие пакеты. То есть для диапазона, задаваемого значениями в колонках "сетевой адрес" и "маска сети" создается сетевой маршрут. Например, адрес 192.168.0.1 и маска 255.255.255.0 означают, что имеется в виду диапазон 192.168.0.*. Маска всегда имеет вид, когда вначале стоят 255, в конце - нули, а последним ненулевым числом может быть степень двойки минус один. Например, для маски 255.255.127.0 и того же адреса 192.168.0.1 диапазон будет чуть шире, в него войдут и адреса вида 192.168.1.*. Чтобы описать это точнее, надо представить все числа в двоичном виде, но это не является целью статьи.

Итак, если мы определились с диапазоном, мы должны понять, куда же компьютер будет направлять пакеты, если они предназначены адресам из этого диапазона. Начнем с четвертой колонки. Она определяет тот адаптор, на который нужно отправлять пакеты. Например, в данном случае, в ней встречаются 192.168.1.100 - это адрес моей сетевой карты и 127.0.0.1 - так называемая обратная петля. Пакеты "на этот адаптор" компьютер даже не будет пытаться отправлять куда-либо. Если бы у меня была активна другая карта, например, WiFi, то в четвертой колонке встречался бы и е адрес.

Третья колонка определяет "шлюз" - тот маршрутизатор, которому нужно послать эти пакеты. В случае, когда там написано "On-link", имеется в виду, что никаких маршрутизаторов не нужно - адрес и так находится в прямой досягаемости. Последняя колонка - метрика. Она определяет предпочтение для маршрута, когда есть варианты. Строчки с наименьшей метрикой предпочтительны при совпадении диапазонов.

Итак, давайте разберем описанные маршруты. На самом деле, самой важной является в данном случае первая строчка. Она говорит, что для любого адреса (адрес 0.0.0.0 с маской 0.0.0.0 задает полный диапазон) есть маршрут с использованием моей сетевой карты, и направить можно эти пакеты по адресу 192.168.1.1. Последний адрес является моим , что все и объясняет. Любой адрес, который компьютер не сможет найти где-то рядом, он направит на роутер и предоставит тому с ним разбираться.

Поговорим про остальное. Три строчки про 127 - системные, связаны с тем, что эти адреса всегда должны возвращаться на сам компьютер. Адреса диапазона 192.168.1.* являются локальной сетью, 192.168.1.100 - вообще наш адрес, 192.168.1.255 - специальный адрес для широковещательных пакетов в локальной сети. Адреса 244.0.0.0 - тоже специальные зафиксированные адреса для широкого вещания, а две последние строчки определяют сами адаптеры.

Но этот случай достаточно неинтересный. Посмотрим на таблица на моем роутере. Внешний вид будет немного другой, поскольку на нем Линукс, и я вывожу соответствующие таблицы командой route -n.

Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.20.43 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
10.22.220.0 0.0.0.0 255.255.255.0 U 0 0 0 vlan1
10.0.0.0 10.22.220.1 255.224.0.0 UG 0 0 0 vlan1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 10.0.20.43 0.0.0.0 UG 0 0 0 ppp0

Заметим сразу, что колонки немного изменились. На всех мы останавливаться не будем, существенной измененной колонкой является последняя - вместо IP-адреса адаптора мы указываем его имя. Здесь lo - это "петля" (никуда не отправлять), br0 - внутренняя сеть, ppp0 - внешняя, vlan0 - установленное vpn-содениение. Итак, разберем строчки. Также в колонке с флагами буква G означает Gateway - шлюз, а H - Host, наш компьютер.

Последняя строчка - шлюз по умолчанию. Любой пакет мы может отправить на адрес 10.0.20.43. Что интересно, это - наш собственный адрес, полученный при установке VPN - соединения! Так всегда получается, когда установлено VPN-соединения, пакет, в первую очередь отправляем своему виртуальному интерфейсу, где он инкапсулируется в другой пакет, который пойдет до реального шлюза. Естественно, в таблицах маршрутизации этого не видно. Также к описанию этого соединения относится и первая строчка.

Настоящий шлюз мы видим в третей строчке - адресы диапазона 10.22.220.* отправляются на vlan1, шлюз, предоставленный провайдером, коммуникатор, с которым мы соединены сетевым кабелем напрямую. Вторая строчка говорит о том, что адреса диапазона 192.168.1.* - это локальная сеть, и пакеты к ним нужно отправлять внутрь, а не вовне. Пятая - обычная информация про "локальные адреса".

Команды таблицы маршрутизации

Я ничего не сказал про предпоследнюю строчку. А она самая интересная, ведь я ее добавил руками. В чем ее смысл? Адреса диапазона 10.1-32.*.* я отправляю на шлюз 10.22.220.1. Пакеты на эти адреса не пойдут в интернет, а останутся в локалке провайдера. Да, пакеты на диапазон 10.22.220. и так идут туда, но этого мало. Так я не получаю полноценного доступа к локальным ресурсам.

В случае Windows такой маршрут в таблицы маршрутизации был бы добавлен командой route -p add 10.0.0.0 mask 255.224.0.0 10.22.220.1. -p означает, что маршрут постоянный, он не должен удаляться после перезагрузки компьютера.

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

Для измерения расстояния до сети стандарты протокола RIP допускают различные виды метрик: хопы, значения пропускной способности, вносимые задержки, надежность сетей (то есть соответствующие признакам D, Т и R в поле качества сервиса IP-пакета), а также любые комбинации этих метрик. Метрика должна обладать свойством аддитивности - метрика составного пути должна быть равна сумме метрик составляющих этого пути. В большинстве реализаций RIP используется простейшая метрика - количество хопов, то есть количество промежуточных маршрутизаторов, которые нужно преодолеть пакету до сети назначения.

Рассмотрим процесс построения таблицы маршрутизации с помощью протокола RIP на примере составной сети, изображенной на рис. 1. Мы разделим этот процесс на 5 этапов.

Рис. 1. Сеть, построенная на маршрутизаторах RIP

Этап 1 - создание минимальной таблицы. Данная составная сеть включает восемь IP-сетей, связанных четырьмя маршрутизаторами с идентификаторами: Rl, R2, R3 и R4. Маршрутизаторы, работающие по протоколу RIP, могут иметь идентификаторы, однако для протокола они не являются необходимыми. В RIP-сообщениях эти идентификаторы не передаются.

В исходном состоянии на каждом маршрутизаторе программным обеспечением стека TCP/ IP автоматически создается минимальная таблица маршрутизации, в которой учитываются только непосредственно подсоединенные сети. На рисунке адреса портов маршрутизаторов в отличие от адресов сетей помещены в овалы.

Таблица 1 позволяет оценить примерный вид минимальной таблицы маршрутизации маршрутизатора R1.

Таблица 1. Минимальная таблица маршрутизации маршрутизатора R1

Минимальные таблицы маршрутизации в других маршрутизаторах будут выглядеть соответственно, например, таблица маршрутизатора R2 будет состоять из трех записей (табл. 2).

Таблица 2. Минимальная таблица маршрутизации маршрутизатора R2

Этап 2 - рассылка минимальной таблицы соседям. После инициализации каждый маршрутизатор начинает посылать своим соседям сообщения протокола RIP, в которых содержится его минимальная таблица. RIP-сообщения передаются в дейтаграммах протокола UDP и включают два параметра для каждой сети: ее IP-адрес и расстояние до нее от передающего сообщение маршрутизатора.

По отношению к любому маршрутизатору соседями являются те маршрутизаторы, которым данный маршрутизатор может передать IP-пакет по какой-либо своей сети, не пользуясь услугами промежуточных маршрутизаторов. Например, для маршрутизатора R1 соседями являются маршрутизаторы R2 и R3, а для маршрутизатора R4 - маршрутизаторы R2 и R3.

Таким образом, маршрутизатор R1 передает маршрутизаторам R2 и R3 следующие сообщения:

сеть 201.36.14.0, расстояние 1;

сеть 132.11.0.0, расстояние 1;

сеть 194.27.18.0, расстояние 1.

Этап 3 - получение RIP-сообщений от соседей и обработка полученной информации. После получения аналогичных сообщений от маршрутизаторов R2 и R3 маршрутизатор R1 наращивает каждое полученное поле метрики на единицу и запоминает, через какой порт и от какого маршрутизатора получена новая информация (адрес этого маршрутизатора станет адресом следующего маршрутизатора, если эта запись будет внесена в таблицу маршрутизации). Затем маршрутизатор начинает сравнивать новую информацию с той, которая хранится в его таблице маршрутизации (табл. 3).

Номер сети Порт Расстояние
201.36.14.0 201.36.14.3 1 1
132.11.0.0 132.11.0.7 2 1
194.27.18.0 194.27.18.1 3 1
132.17.0.0 132.11.0.101 2 2
132.15.0.0 132.11.0.101 2 2
194.27.19.0 194.27.18.51 3 2
202.101.15.0 194.27.18.51 3 2
132.11.0.0 132.11.0.101 2 2
194.27.18.0 194.27.18.51 3 2

Записи с четвертой по девятую получены от соседних маршрутизаторов, и они претендуют на помещение в таблицу. Однако только записи с четвертой по седьмую попадают в таблицу, а записи восьмая и девятая - нет. Это происходит потому, что они содержат данные об уже имеющихся в таблице маршрутизатора R1 сетях, а расстояние до них больше, чем в существующих записях.

Протокол RIP замещает запись о какой-либо сети только в том случае, если новая информация имеет лучшую метрику (с меньшим расстоянием в хопах), чем имеющаяся. В результате в таблице маршрутизации о каждой сети остается только одна запись; если же имеется несколько записей, равнозначных в отношении путей к одной и той же сети, то все равно в таблице остается одна запись, которая пришла в маршрутизатор первая по времени. Для этого правила существует исключение - если худшая информация о какой-либо сети пришла от того же маршрутизатора, на основании сообщения которого была создана данная запись, то худшая информация замещает лучшую.

Аналогичные операции с новой информацией выполняют и остальные маршрутизаторы сети.

Этап 4 - рассылка новой таблицы соседям. Каждый маршрутизатор отсылает новое RIP-сообщение всем своим соседям. В этом сообщении он помещает данные обо всех известных ему сетях: как непосредственно подключенных, так и удаленных, о которых маршрутизатор узнал из RIP-сообщений.
Этап 5 - получение RIP-сообщений от соседей и обработка полученной информации. Этап 5 повторяет этап 3 - маршрутизаторы принимают RIP-сообщения, обрабатывают содержащуюся в них информацию и на ее основании корректируют свои таблицы маршрутизации.

Посмотрим, как это делает маршрутизатор R1 (табл. 4).

На этом этапе маршрутизатор R1 получает от маршрутизатора R3 информацию о сети 132.15.0.0, которую тот, в свою очередь, на предыдущем цикле работы получил от маршрутизатора R4. Маршрутизатор уже знает о сети 132.15.0.0, причем старая информация имеет лучшую метрику, чем новая, поэтому новая информация об этой сети отбрасывается.

Таблица 4. Таблица маршрутизации маршрутизатора R1

Номер сети Адрес следующего маршрутизатора Порт Расстояние
201.36.14.0 201.36.14.3 1 1
132.11.0.0 132.11.0.7 2 1
194.27.18.0 194.27.18.1 3 1
132.17.0.0 132.11.0.101 2 2
132.15.0.0 132.11.0.101 2 2
132.15.0.0 194.27.18.51 3 3
194.27.19.0 194.27.18.51 3 2
104.27.10.0 132.11.0.101 2 3
202.101.15.0 194.27.18.51 3 2
202.101.16.0 132.11.0.101 2 3
202.101.16.0 104.27.18.51 3 3

О сети 202.101.16.0 маршрутизатор R1 узнает на этом этапе впервые, причем данные о ней приходят от двух соседей - от R3 и R4. Поскольку метрики в этих сообщениях указаны одинаковые, то в таблицу попадают данные, пришедшие первыми. В нашем примере считается, что маршрутизатор R2 опередил маршрутизатор R3 и первым переслал свое RIP-сообщение маршрутизатору R1.

Если маршрутизаторы периодически повторяют этапы рассылки и обработки RIP-сообщений, то за конечное время в сети установится корректный режим маршрутизации. Под корректным режимом маршрутизации здесь понимается такое состояние таблиц маршрутизации, когда все сети достижимы из любой сети с помощью некоторого рационального маршрута. Пакеты будут доходить до адресатов и не зацикливаться в петлях, подобных той, которая образуется на рис. 1, маршрутизаторами Rl, R2, R3 и R4.

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

Для адаптации к изменениям в сети протокол RIP использует ряд механизмов.

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

    Статическими маршрутами могут быть:
  • маршруты, не изменяющиеся во времени
  • маршруты, изменяющиеся по расписанию
  • маршруты, изменяющиеся по ситуации - административно в момент возникновения стандартной ситуации

Процесс маршрутизации в компьютерных сетях выполняется специальными программно-аппаратными средствами - маршрутизаторами. В дополнение к маршрутизации маршрутизаторы осуществляют и коммутацию каналов/сообщений/пакетов/ячеек, так же и коммутатор компьютерной сети выполняет маршрутизацию (определение на какой порт отправить пакет на основании таблицы MAC адресов), а называется в честь основной его функции - коммутации. Слово маршрутизация означает передачу информации от источника к приёмнику через объединенную сеть. При этом, хотя бы один раз необходимо преодолеть разветвление сети.

3.1. Составляющие маршрутизации

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

Определение оптимального маршрута

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

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

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

C:\>route print =========================================================================== Список интерфейсов 0x1 ........................... MS TCP Loopback interface 0x2 ...00 1c 25 31 9a 32 ...... Marvell Yukon 88E8056 PCI-E Gigabit Etherne t Controller =========================================================================== =========================================================================== Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 188.243.250.1 188.243.250.65 20 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 188.243.250.0 255.255.255.0 188.243.250.65 188.243.250.65 20 188.243.250.65 255.255.255.255 127.0.0.1 127.0.0.1 20 188.243.255.255 255.255.255.255 188.243.250.65 188.243.250.65 20 224.0.0.0 240.0.0.0 188.243.250.65 188.243.250.65 20 255.255.255.255 255.255.255.255 188.243.250.65 188.243.250.65 1 Основной шлюз: 188.243.250.1 =========================================================================== Постоянные маршруты: Отсутствует
Таблица 3.1. Таблица маршрутизации

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

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

Передача информации по сети, коммутация

Алгоритмы коммутации сравнительно просты и в основном одинаковы для большинства протоколов маршрутизации. В большинстве случаев хост определяет необходимость отправки пакета на другой хост. Получив адрес маршрутизатора, хост-источник отправляет пакет, адресованный специально на физический адрес маршрутизатора (уровень МАС), однако с адресом протокола (сетевой уровень) хоста пункта назначения.

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

По мере того, как пакет передаётся через объединенную сеть, его физический адрес меняется, однако адрес протокола сетевого уровня остается неизменным.

3.2. Алгоритмы маршрутизации

Протокол RIP

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

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

К протоколам динамической маршрутизации относится протокол RIP (Routing Information Protocol).

Таблица маршрутизации RIP содержит информацию о конечном пункте назначения пакета, адресе следующей пересылки на пути к пункту назначения и число пересылок (metric). В таблице маршрутизации может находиться также и другая информация, в том числе различные таймеры, связанные с данным маршрутом, например, таблица 3.2.

Destination Next hop Distance Timers Flags
Network A Router 1 3 t1, t2, t3 x, y
Network B Router 2 5 t1, t2, t3 x, y
Network C Router 1 2 t1, t2, t3 x, y
Таблица 3.2.

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

Протокол OSPF

Протокол OSPF (Open Shortest Pass First, RFC-1245-48, RFC-1583-1587, std-54, алгоритмы предложены Дейкстрой) является альтернативой RIP в качестве внутреннего протокола маршрутизации. OSPF представляет собой протокол состояния маршрута (в качестве метрики используется - коэффициент качества обслуживания). Каждый маршрутизатор обладает полной информацией о состоянии всех интерфейсов всех маршрутизаторов (переключателей) автономной системы. Протокол OSPF реализован в демоне маршрутизации gated, который поддерживает также RIP и внешний протокол маршрутизации BGP.

Автономная система может быть разделена на несколько областей, куда могут входить как отдельные ЭВМ, так и целые сети. В этом случае внутренние маршрутизаторы области могут и не иметь информации о топологии остальной части сети. В сети обычно имеется выделенный (designated) маршрутизатор, который является источником маршрутной информации для остальных маршрутизаторов. Каждый маршрутизатор самостоятельно решает задачу оптимизации маршрутов. Если к месту назначения ведут два или более эквивалентных маршрута, информационный поток будет поделен между ними поровну. Переходные процессы в OSPF завершаются быстрее, чем в RIP. В процессе выбора оптимального маршрута анализируется ориентированный граф сети.

3.3. Доступ из LAN в Интернет, NAT

Технология NAT (Network Address Translation) позволяет решать две основные проблемы, стоящие сегодня перед глобальной сетью Интернет. Это – ограниченность адресного пространства протокола IP и масштабирование маршрутизации.

При необходимости подключения к сети Интернет, когда количество внутренних узлов сети превышает выданное поставщиком услуг Интернет количество реальных адресов IP, NAT позволяет частным сетям IP, использующим незарегистрированные адреса, получать доступ к ресурсам Интернет. Функции NAT конфигурируются на пограничном маршрутизаторе, разграничивающем частную (внутреннюю) сеть Интранет и сеть Интернет.

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

При необходимости организации простого разделения трафика на основе портов TCP, функции NAT предоставляют возможность установления соответствия (mapping) множества локальных адресов одному внешнему адресу, используя функции распределения нагрузки TCP.

Функционирование NAT

Технология NAT определяет, как это оговорено в стандарте RFC 1631, способы трансляции IP адресов, используемых в одной сети, в адреса, используемые в другой.

Существует 3 базовых концепции трансляции адресов - статическая, динамическая, и masquerading.

Static Network Address Translation

Статическая трансляция (static NAT). Маршрутизатор NAT хранит таблицу соответствия внутренних и внешних IP-адресов. В этом случае зарегистрированный в сети Интернет адрес нужен каждому внутреннему компьютеру, но внутренний компьютер становится доступным из сети Интернет, поскольку NAT обеспечивает взаимнооднозначное преобразование адресов.

Dynamic Network Address Translation

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

В этой технологии в отличие от статической трансляции появляется новое понятие – таблица NAT (NAT table), которая применительно к динамической трансляции представляет собой таблицу соответствия внутренних адресов и адресов интерфейса NAT (далее для краткости - NAT адресов).

Masquerading (NAPT, PAT)

Трансляция адреса порта PAT (Port Address Translation) – это частный случай динамической трансляции, при котором мы имеем только один внешний адрес, за которым "спрятаны" внутренние - их может быть теоретически сколько угодно. В отличие от оригинальной динамической трансляции, PAT, разумеется, не подразумевает функционирование единовременно только одного соединения. Дабы расширить количество одновременных сеансов, эта техника использует информацию о номере TCP порта. Таким образом, количество одновременных сеансов ограничено только количеством свободных (из числа выделенных под NAT портов).

Описание команды route : выводит на экран и изменяет записи в локальной таблице IP-маршрутизации. Запущенная без параметров, команда route выводит справку.

route [-f ] [-p ] [ команда [ конечная_точка ] [mask маска_сети ] [ шлюз ] [metric метрика ]] [if интерфейс ]]

-f Очищает таблицу маршрутизации от всех записей, которые не являются узловыми маршрутами (маршруты с маской подсети 255.255.255.255), сетевым маршрутом замыкания на себя (маршруты с конечной точкой 127.0.0.0 и маской подсети 255.0.0.0) или маршрутом многоадресной рассылки (маршруты с конечной точкой 224.0.0.0 и маской подсети 240.0.0.0). При использовании данного параметра совместно с одной из команд (таких, как add , change или delete ) таблица очищается перед выполнением команды. -p При использовании данного параметра с командой add указанный маршрут добавляется в реестр и используется для инициализации таблицы IP-маршрутизации каждый раз при запуске протокола TCP/IP. По умолчанию добавленные маршруты не сохраняются при запуске протокола TCP/IP. При использовании параметра с командой print выводит на экран список постоянных маршрутов. Все другие команды игнорируют этот параметр. Постоянные маршруты хранятся в реестре по адресуHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes команда Указывает команду, которая будет запущена на удаленной системе. В следующей таблице представлен список допустимых параметров. конечная_точка Определяет конечную точку маршрута. Конечной точкой может быть сетевой IP-адрес (где разряды узла в сетевом адресе имеют значение 0), IP-адрес маршрута к узлу, или значение 0.0.0.0 для маршрута по умолчанию. mask маска_сети Указывает маску сети (также известной как маска подсети) в соответствии с точкой назначения. Маска сети может быть маской подсети соответствующей сетевому IP-адресу, например 255.255.255.255 для маршрута к узлу или 0.0.0.0. для маршрута по умолчанию. Если данный параметр пропущен, используется маска подсети 255.255.255.255. Конечная точка не может быть более точной, чем соответствующая маска подсети. Другими словами, значение разряда 1 в адресе конечной точки невозможно, если значение соответствующего разряда в маске подсети равно 0. шлюз Указывает IP-адрес пересылки или следующего перехода, по которому доступен набор адресов, определенный конечной точкой и маской подсети. Для локально подключенных маршрутов подсети, адрес шлюза - это IP-адрес, назначенный интерфейсу, который подключен к подсети. Для удаленных маршрутов, которые доступны через один или несколько маршрутизаторов, адрес шлюза - непосредственно доступный IP-адрес ближайшего маршрутизатора. metric метрика Задает целочисленную метрику стоимости маршрута (в пределах от 1 до 9999) для маршрута, которая используется при выборе в таблице маршрутизации одного из нескольких маршрутов, наиболее близко соответствующего адресу назначения пересылаемого пакета. Выбирается маршрут с наименьшей метрикой. Метрика отражает количество переходов, скорость прохождения пути, надежность пути, пропускную способность пути и средства администрирования. if интерфейс Указывает индекс интерфейса, через который доступна точка назначения. Для вывода списка интерфейсов и их соответствующих индексов используйте командуroute print . Значения индексов интерфейсов могут быть как десятичные, так и шестнадцатеричные. Перед шестнадцатеричными номерами вводится . В случае, когда параметр if пропущен, интерфейс определяется из адреса шлюза. /? Отображает справку в командной строке.

Примеры команды route

Чтобы вывести на экран все содержимое таблицы IP-маршрутизации, введите команду:

route print

Чтобы вывести на экран маршруты из таблицы IP-маршрутизации, которые начинаются с 10. , введите команду.