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

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

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

Приведу вывод команды 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 означает, что маршрут постоянный, он не должен удаляться после перезагрузки компьютера.

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

Структура реальных таблиц маршрутизации стека TCP/IP в целом соответствует упрощенной структуре рассмотренных ранее таблиц. Отметим, однако, что вид таблицы IP-маршрутизации зависит от конкретной реализации стека TCP/IP. Приведем пример нескольких вариантов таблицы маршрутизации, с которыми мог бы работать маршрутизатор R1 в сети, представленной на рис. 1.

Начнем с «придуманного» предельно упрощенного варианта таблицы маршрутизации (табл. 1). Здесь имеются три маршрута к сетям (записи 56.0.0.0,116.0.0.0 и 129.13.0.0), две записи о непосредственно подсоединенных сетях (198.21.17.0 и 213.34.12.0), а также запись о маршруте по умолчанию.

Таблица 1. Упрощенная таблица маршрутизации маршрутизатора R1

Адрес сети назначения Адрес следующего маршрутизатора Адрес выходного интерфейса Расстояние до сети назначения
15
13
2
1 (подсоединена)
1
56.0.0.0 213.34.12.4 213.34.12.3 15
116.0.0.0 213.34.12.4 213.34.12.3 13
129.13.0.0 198.21.17.6 198.21.17.5 2
198.21.17.0 198.21.17.5 198.21.17.5 1(подсоединена)
213.34.12.0 213.34.12.3 213.34.12.3 1(подсоединена)
Маршрут по умолчанию 198.21.17.7 198.21.17.5 -

Более сложный вид имеют таблицы, которые генерируются в промышленно выпускаемом сетевом оборудовании.

Если представить, что в качестве маршрутизатора R1 в данной сети работает штатный программный маршрутизатор операционной системы Microsoft Windows ХР, то его таблица маршрутизации могла бы выглядеть так, как табл. 2.

Рис. 1 Пример маршрутизируемой сети

Таблица 2. Таблица программного маршрутизатора ОС Windows ХР

Сетевой адрес Маска Адрес шлюза Интерфейс Метрика
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
0.0.0.0 0.0.0.0 198.21.17.7 198.21.17.5 1
56.0.0.0 255.0.0.0 213.34.12.4 213.34.12.3 15
116.0.0.0 255.0.0.0 213.34.12.4 213.34.12.3 13
129.13.0.0 255.255.0.0 198.21.17.6 198.21.17.5 2
198.21.17.0 255.255.255.0 198.21.17.5 198.21.17.5 1
198.21.17.5 255.255.255.255 127.0.0.1 127.0.0.1 1
198.21.17.255 255.255.255.255 198.21.17.5 198.21.17.5 1
213.34.12.0 255.255.255.0 213.34.12.3 213.34.12.3 1
213.34.12.3 255.255.255.255 127.0.0.1 127.0.0.1 1
213.34.12.255 255.255.255.255 213.34.12.3 213.34.12.3 1
224.0.0.0 224.0.0.0 198.21.17.6 198.21.17.6 1
224.0.0.0 224.0.0.0 213.34.12.3 213.34.12.3 1
255.255.255.255 255.255.255.255 198.21.17.6 198.21.17.6 1

Если на месте маршрутизатора R1 установить один из популярных аппаратных маршрутизаторов, то его таблица маршрутизации для этой же сети может выглядеть совсем иначе (табл. 3).

Таблица 3. Таблица маршрутизации аппаратного маршрутизатора

И наконец табл. 4 представляет собой таблицу маршрутизации для того же маршрутизатора R1, реализованного в виде программного маршрутизатора одной из версий операционной системы Unix.

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

Адрес назначения Шлюз Флаги Интерфейс
127.0.0.0 127.0.0.1 UH 1 154 1о0
Маршрут по умолчанию 198.21.17.7 UG 5 43270 1е0
198.21.17.0 198.21.17.5 U 35 246876 1е0
213.34.12.0 213.34.12.3 U 44 132435 le1
129.13.0.0 198.21.1.7.6 UG 6 16450 1е0
56.0.0.0 213.34.12.4 UG 12 5764 le1
116.0.0.0 213.34.12.4 UG 21 23544 le1

ПРИМЕЧАНИЕ
Заметим, что поскольку между структурой сети и таблицей маршрутизации нет однозначного соответствия, для каждого из приведенных вариантов таблицы можно предложить свои «подварианты», отличающиеся выбранным маршрутом к той или иной сети. В данном случае внимание концентрируется на существенных различиях в форме представления маршрутной информации разными реализациями маршрутизаторов.

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

К таким данным, во-первых, относятся адреса сети назначения (столбцы «Адрес назначения» в аппаратном маршрутизаторе и маршрутизаторе Unix или столбец «Сетевой адрес» в маршрутизаторе ОС Windows ХР).

Вторым обязательным полем таблицы маршрутизации является адрес следующего маршрутизатора (столбцы «Шлюз» в аппаратном маршрутизаторе и маршрутизаторе Unix или столбец «Адрес шлюза» в маршрутизаторе ОС Windows ХР).

Третий ключевой параметр - адрес порта, на который нужно направить пакет, в некоторых таблицах указывается прямо (столбец «Интерфейс» в таблице маршрутизатора ОС Windows ХР), а в некоторых - косвенно. Так, в таблице маршрутизатора Unix вместо адреса порта задается его условное наименование - 1е0 для порта с адресом 198.21.17.5, lei для порта с адресом 213.34.12.3 и 1о0 для внутреннего порта с адресом 127.0.0.1. В адпаратном маршрутизаторе поле, обозначающее выходной порт в какой-либо форме, вообще отсутствует. Это объясняется тем, что адрес выходного порта всегда можно косвенно определить по адресу следующего маршрутизатора. Например, определим по табл. 3 адрес выходного порта для сети 56.0.0.0. Из таблицы следует, что следующим маршрутизатором для этой сети будет маршрутизатор с адресом 213.34.12.4. Адрес следующего маршрутизатора должен принадлежать одной из непосредственно присоединенных к маршрутизатору сетей, и в данном случае это сеть 213.34.12.0. Маршрутизатор имеет порт, присоединенный к этой сети, и адрес этого порта 213.34.12.3 мы находим в столбце «Шлюз» второй строки таблицы маршрутизации, которая описывает непосредственно присоединенную сеть 213.34.12.0. Для непосредственно присоединенных сетей адресом следующего маршрутизатора всегда является адрес собственного порта маршрутизатора. Таким образом, для сети 56.0.0 адресом выходного порта является 213.34.12.3.

Стандартным решением сегодня является использование поля маски в каждой записи таблицы, как это сделано в таблицах маршрутизатора ОС Windows ХР и аппаратного маршрутизатора (столбцы «Маска»). Механизм обработки масок при принятии решения маршрутизаторами рассматривается далее. Отсутствие поля маски говорит о том, что либо маршрутизатор рассчитан на работу только с тремя стандартными классами адресов, либо для всех записей используется одна и та же маска, что снижает гибкость маршрутизации.
Поскольку в таблице маршрутизации маршрутизатора Unix каждая сеть назначения упомянута только один раз, а значит, возможность выбора маршрута отсутствует, то поле метрики является необязательным параметром. В остальных двух таблицах поле метрики используется только для указания на то, что сеть подключена непосредственно. Метрика 0 для аппаратного маршрутизатора или 1 для маршрутизатора ОС Windows ХР говорит маршрутизатору, что эта сеть непосредственно подключена к его порту, а другое значение метрики соответствует удаленной сети. Выбор метрики для непосредственно подключенной сети (1 или 0) является произвольным, главное, чтобы метрика удаленной сети отсчитывалась с учетом этого выбранного начального значения. В маршрутизаторе Unix используется поле признаков, где флаг G (Gateway - шлюз) отмечает удаленную сеть, а его отсутствие - непосредственно подключенную.

Признак непосредственно подключенной сети говорит маршрутизатору, что пакет уже достиг своей сети, поэтому протокол IP активизирует ARP-запрос относительно IP-адреса узла назначения, а не следующего маршрутизатора.

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

Флаги записей присутствуют только в таблице маршрутизатора Unix.

  • U - маршрут активен и работоспособен. Аналогичный смысл имеет поле статуса в аппаратном маршрутизаторе.
  • Н - признак специфического маршрута к определенному хосту.
  • G - означает, что маршрут пакета проходит через промежуточный маршрутизатор (шлюз). Отсутствие этого флага отмечает непосредственно подключенную сеть.
  • D - означает, что маршрут получен из перенаправленного сообщения протокола ICMP. Этот признак может присутствовать только в таблице маршрутизации конечного узла. Признак означает, что конечный узел при какой-то предыдущей передаче пакета выбрал не самый рациональный следующий маршрутизатор на пути к данной сети, и этот маршрутизатор с помощью протокола ICMP сообщил конечному узлу, что все последующие пакеты к данной сети нужно отправлять через другой маршрутизатор.

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

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

· Комментариев нет

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

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

Таблицы маршрутизации – важная часть протокола TCP/IP в Windows, но операционная система не показывает их обычному пользователю. Если хочется их увидеть, то необходимо открыть командную строку и ввести команду ROUTE PRINT. После этого можно будет увидеть окно, похожее на представленное на рисунке А.

Рисунок A: Так выглядят таблицы маршрутизации.

Прежде чем я подробнее остановлюсь на таблицах, я советую ввести в командную строку другую команду:

Это показывает установку протокола TCP/IP на компьютере. Вы также можете посмотреть раздел TCP/IP в свойствах сетевого адаптера, но первый способ предпочтительнее. Я часто сталкивался с ситуацией, когда команда IPCONFIG выводила совершенно иные данные, нежели данные, введенные в свойства TCP/IP. Это случается нечасто, но ошибки происходят из-за этого разногласия. Другими словами, данные, введенные в свойства TCP/IP, определяют установку протокола для выбранной сети. А команда IPCONFIG показывает, как Windows в действительности настроил протокол.

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

Рисунок B: Команда IPCONFIG /ALL показывает все настройки TCP/IP на основе сетевого адаптера

Проверка таблиц маршрутизации

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

Как видно из рисунка В, команда IPCONFIG /ALL показывает основную информацию по протоколу TCP/IP: IP адрес, шлюз по умолчанию и т. д. А вот таблицы маршрутизации прочитать не так легко. Именно поэтому я хотел бы обсудить вопрос считывания данных из таблиц.

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

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

Взглянув на экран, появившийся после введения команды Route Print, можно увидеть, что таблицы разделены на 5 колонок. Первой идет колонка сетей. В ней представлены все сетевые сегменты, к которым подключен маршрутизатор. Колонка Netmask показывает маску подсети, но не сетевого интерфейса, к которому подключен сегмент, а самого сегмента. Это позволяет маршрутизатору определить класс адреса для сети места назначения.

Третьей является колонка шлюза. После того как маршрутизатор определил сеть назначения, в которую необходимо отправить пакет, он сверяется со списком шлюза. Данный список «говорит» маршрутизатору, через какой IP адрес необходимо отправлять пакет в сеть назначения.

Колонка интерфейса предоставляет информацию о сетевом адаптере, подключенном к сети назначения. Точнее будет сказать, что данная колонка предоставляет информацию о IP адресе сетевого адаптера, который соединяет маршрутизатор с сетью назначения. Но маршрутизатор достаточно «умен», чтобы понять, чему присвоен адрес.

Последней идет метрическая колонка. Метрики – это довольно сложная тема, тем не менее, я попытаюсь объяснить, что они из себя представляют. Лучше всего это можно сделать на примере аэропорта. Представьте, что необходимо перелететь из Шарлоты, штат Северная Каролина, в Майами, штат Флорида. Аэропорт в Шарлоте очень большой, и существует несколько способов попасть на пляж в Майами. Можно воспользоваться рейсом компании Северо-западные авиалинии. Он доставит меня в Детройт, штат Мичиган, а затем в Майами (Детройт находится несколько в стороне). Можно воспользоваться рейсом Континентальный авиалиний через Хьюстон, штат Техас, а затем в Майами. А можно просто воспользоваться Американскими авиалиниями и попасть в Майами без промежуточных приземлений. Так каким же рейсом воспользоваться?

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

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

Дополнительные возможности маршрутизации

Я уже упоминал команду Route Print, но существует множество вариантов использования команды ROUTE. Ее синтаксис следующий:

ROUTE [-f] [-p]

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

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

Командная часть в синтаксисе ROUTE проста. Она может состоять из 4 вариантов: PRINT, ADD, DELETE, и CHANGE. Я уже говорил о команде ROUTE PRINT, но и у нее могут быть варианты. Например можно использовать специальные символы в команде. Если нужно напечатать маршруты для подсети 192.x.x.x, можно воспользоваться командой ROUTE PRINT 192*.

Команда ROUTE DELETE работает также как и ROUTE Print. Просто введите ROUTE DELETE, а следом место назначения или шлюз, который необходимо удалить из таблицы маршрутизации. Например, при желании удалить шлюз 192.0.0.0 введите ROUTE DELETE 192.0.0.0.

Все выше сказанное касается и команд ROUTE CHANGE и ROUTE ADD. При введении данной команды следует определить место назначения, маску подсети и шлюз. Также можно указать метрики и интерфейс. Например, добавить место назначения с простым синтаксисом можно следующим образом:

ROUTE ADD 147.0.0.0 255.0.0.0 148.100.100.100

В данной команде 147.0.0.0 является местом назначения, 255.0.0.0 – маской подсети для места назначения, а 148.100.100.100 – адресом шлюза. Можно расширить команду с помощью параметров METRIC и IF:

ROUTE ADD 147.0.0.0 255.0.0.0 148.100.100.100 METRIC 1 IF 1

Параметр metric необязателен, но он определяет метрику и количество отрезков для маршрута. Параметр IF указывает Windows, какой адаптер использовать. В нашем случае Windows использует сетевой адаптер, который связан с ним в качестве интерфейса 1. При отсутствии данного параметра используется лучший интерфейс.

Заключение

В статье я рассказал о том, как использовать команду ROUTE для вывода таблиц маршрутизации и внесения в них изменений. Если нужна дополнительная помощь, можно получить дополнительные примеры, введя команду ROUTE /? Command.

www.windowsnetworking.com


Смотрите также:

Exchange 2007

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ...

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ...

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть...

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ...

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

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

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

· маску сети назначения (для 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, установленный на конечном узле, определяет, направляется ли пакет в другую сеть или адресован какому-нибудь узлу данной сети. Если номер сети назначения совпадает с номером данной сети, это означает, что пакет маршрутизировать не требуется. В противном случае маршрутизация нужна.

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

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

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

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

Описание

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

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

Определение

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

Основные понятия

Базовая таблица маршрутизации включает следующую информацию:

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

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

Таблицы маршрутизации Windows

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

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

Схема

Построение таблицы маршрутизации предоставляет удаленному пользователю доступ во внутреннюю сеть через соединение с защищенной виртуальной частной сетью (VPN). Эта возможность подключения может быть развернута с использованием типичного VPN на основе IP через Интернет.

Услуги, входящие в комплект службы маршрутизации и удаленного доступа:

  • удаленный доступ;
  • удаленный сервер удаленного доступа;
  • резервуар удаленного доступа VPN;
  • IP-маршрутизатор для подключения подсетей сетей;
  • услуги перевода сетевых адресов;
  • другие услуги, связанные с маршрутизатором;
  • Dial-up и VPN-маршрутизатор с набором номера по требованию.

Спецификация

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

Когда IP-пакет должен быть переадресован, таблица используется для определения:

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

Типы ввода

Запись в таблице маршрутизации содержит следующую информацию в представленном порядке:

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

Элементы таблицы маршрутизации могут использоваться для хранения следующих типов маршрутов:

  • Непосредственно прикрепленные сетевые идентификаторы — маршруты для сетевых идентификаторов, которые подключены напрямую.
  • Идентификаторы удаленных сетей — маршруты для сетевых идентификаторов, которые не подключены напрямую, но доступны для других маршрутизаторов.
  • Хост-маршруты — маршрут к определенному IP-адресу. Маршруты хоста позволяют выполнять маршрутизацию на основе IP-адреса. Для хост-маршрутов идентификатор сети — это IP-адрес указанного хоста, а сетевая маска — 255.255.255.255.
  • Маршрут по умолчанию предназначен для использования, когда не найден более конкретный сетевой идентификатор или хост-маршрут. Идентификатор сети маршрутизации по умолчанию — 0.0.0.0 с сетевой маской 0.0.0.0.

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