Создавать таблицы маршрутизации можно. Использование нескольких интерфейсов и одного шлюза. Доступ из LAN в Интернет, NAT

Создавать таблицы маршрутизации можно. Использование нескольких интерфейсов и одного шлюза. Доступ из LAN в Интернет, NAT

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

Понятие таблицы маршрутизации

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

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

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

Типы записей в таблице маршрутизации

Записи в таблице маршрутизации называются маршрутами. При этом существует три типа маршрутов.

  • Маршрут к хосту, или узловой маршрут (Host Route). Этот тип маршрута определяет путь доставки пакета, адресованного хосту с конкретным сетевым адресом. Маршруты к хостам обычно используются для создания настраиваемых маршрутов к определенным компьютерам, а также для управления или оптимизации сетевого трафика.
  • Маршрут к сети, или сетевой маршрут (Network Route). Данный тип маршрута используется для определения способа доставки пакета в подсеть с определенным адресом. Большую часть содержимого таблицы маршрутизации представляют собой маршруты данного типа.
  • Маршрут по умолчанию (Default Route). Маршрут по умолчанию используется, когда не найдены никакие другие маршруты в таблице маршрутизации. Маршрут по умолчанию используется в ситуации, когда в таблице маршрутизации отсутствует соответствующий маршрут по идентификатору сети или маршрут к хосту по адресу получателя. Маршрут по умолчанию упрощает конфигурацию компьютеров. Вместо конфигурирования компьютера и настройки маршрутов для всех идентификаторов сетей в межсетевой среде используется одиночный маршрут по умолчанию для пересылки всех пакетов в сеть получателя или по адресу в межсетевой среде, который не был найден в таблице маршрутизации.

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

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

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

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

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

Таблица маршрутизации представляет собой набор правил, часто просматриваемых в табличном формате, который используется для определения того, куда будут направляться пакеты данных, перемещающиеся по межсетевому протоколу (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-адрес указанного хоста, а сетевая маска — 255.255.255.255.
  • Маршрут по умолчанию предназначен для использования, когда не найден более конкретный сетевой идентификатор или хост-маршрут. Идентификатор сети маршрутизации по умолчанию — 0.0.0.0 с сетевой маской 0.0.0.0.

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

Формат командной строки:

ROUTE [-f] [-p] [-4|-6] command

Подсказку по параметрам командной строки можно получить используя встроенную справку (route /?):

-f - Очистка таблиц маршрутов от записей всех шлюзов. При указании одной из команд таблицы очищаются до выполнения команды.

-p - При использовании с командой ADD задает сохранение маршрута при перезагрузке системы. По умолчанию маршруты не сохраняются при перезагрузке. Пропускается для остальных команд, изменяющих соответствующие постоянные маршруты. Этот параметр не поддерживается в Windows 95.

-4 - Обязательное использование протокола IPv4.

-6 - Обязательное использование протокола IPv6.

command - Одна из следующих команд:

- PRINT - Печать маршрута
- ADD - Добавление маршрута
- DELETE - Удаление маршрута
- CHANGE - Изменение существующего маршрута

destination - Адресуемый узел.

MASK - Указывает, что следующий параметр интерпретируется как маска сети.

netmask - Значение маски подсети для записи данного маршрута. Если этот параметр не задан, по умолчанию используется значение 255.255.255.255.

gateway - Шлюз.

interface - Номер интерфейса для указанного маршрута.

METRIC - Определение метрики, т.е. цены для адресуемого узла. Чем ниже значение метрики, тем выше приоритет узла при построении маршрута.

Поиск всех символических имен узлов проводится в файле сетевой базы данных NETWORKS. Поиск символических имен шлюзов проводится в файле базы данных имен узлов HOSTS.

Для команд PRINT и DELETE можно указать узел и шлюз с помощью подстановочных знаков или опустить параметр "шлюз".

Если адресуемый узел содержит подстановочные знаки * или?, он используется в качестве шаблона, и печатаются только соответствующие ему маршруты. Знак "*" соответствует любой строке, а "?" - одному знаку.

Примеры: 157.*.1, 157.*, 127.*, *224*.

Соответствие шаблону поддерживает только команда PRINT.

Диагностические сообщения:

Недопустимое значение MASK вызывает ошибку, если (УЗЕЛ & МАСКА) != УЗЕЛ.

Например:
route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1 - Добавление маршрута завершится ошибкой, поскольку указан недопустимый параметр маски. (Узел & Маска) != Узел.

Примеры:

route PRINT - отобразить таблицу маршрутов
route PRINT -4 - отобразить таблицу маршрутов только для IPv4
route PRINT -6 - отобразить таблицу маршрутов только для IPv6
route PRINT 157* - отобразить таблицу маршрутов только для узлов, начинающихся со 157

Если сетевой интерфейс (IF) не задан, то производится попытка найти лучший интерфейс для указанного шлюза.

route ADD 3ffe::/32 3ffe::1 - добавить новый маршрут для узла с IPv6

route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2 - изменить существующий маршрут для узла IPv4

Параметр CHANGE используется только для изменения шлюза или метрики.

route DELETE 157.0.0.0 - удалить маршрут для IPv4.

route DELETE 3ffe::/32 - удалить маршрут для IPV6

Примеры использования команды ROUTE

route print - отобразить текущую таблицу маршрутов.

Пример отображаемой таблицы:


Список интерфейсов
24...00 50 ba 5d 0c c4 ......D-Link DFE-538TX 10/100 адаптер
13...00 19 db ce 97 9c ......Сетевая карта Realtek RTL8169/8110 Family NIC
1...........................Software Loopback Interface 1
17...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP
12...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
===========================================================================

IPv4 таблица маршрута

===========================================================================
Активные маршруты:
===========================================================================

Постоянные маршруты:
===========================================================================

IPv6 таблица маршрута
===========================================================================
Активные маршруты:
===========================================================================

Постоянные маршруты:
Отсутствует

Список интерфейсов - отображаются идентификаторы (ID), физические (MAC) адреса и названия сетевых адаптеров. В примере:
24 - идентификатор интерфейса
00 50 ba 5d 0c c4 - MAC-адрес сетевого адаптера
D-Link DFE-538TX 10/100 адаптер - название сетевого адаптера.

Сетевой адрес (Network Destination) - IP-адрес, адрес сети, или адрес 0.0.0.0 используемый для шлюза по умолчанию (Default Gateway). Это конечная точка маршрута

Маска сети (Netmask) - маска сети.

Адрес шлюза (Gateway) - IP-адрес шлюза, через который будет выполняться отправка пакета для достижения конечной точки.

В Windows Vista / Windows 7 / 8 и более поздних версиях, для адресов, достижимых локально, в данной колонке отображается On-link . Другими словами, значение On-link в колонке "Шлюз" означает, что шлюз не используется, адрес назначения достижим напрямую, без маршрутизации.

Интерфейс (Interface) - IP-адрес сетевого интерфейса, через который выполняется доставка пакета конечной точке маршрута.

Метрика (metric) - значение метрики (1-9999). Метрика представляет собой числовое значение, позволяющее оптимизировать доставку пакета получателю, если конечная точка маршрута может быть достижима по нескольким разным маршрутам. Чем меньше значение метрики, тем выше приоритет маршрута.

route print 192.* - отобразить таблицу маршрутов только для адресов, начинающихся с 192.

route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 - установить в качестве шлюза по умолчанию (основного шлюза) адрес 192.168.1.1

route -p add 10.0.0.0 mask 255.0.0.0 10.0.0.1 - добавить маршрут для подсети 10.0.0.0/255.0.0.0 и запомнить его в реестре. Это постоянный статический маршрут. Если маршрут добавлен без использования параметра -p то он сохраняется только до перезагрузки системы (до перезапуска сетевого системного программного обеспечения). Если же, при добавлении маршрута искользовался данный параметр, то информация о маршруте записывается в реестр Windows (раздел HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes) и будет использоваться постоянно при активации сетевых интерфейсов.

route delete 10.0.0.0 mask 255.0.0.0 - удалить маршрут для подсети 10.0.0.0/255.0.0.0 .

route add 10.10.10.10 192.168.1.158 - добавить маршрут для узла с IP-адресом 10.10.10.10 . Если маска в команде не задана, то подразумевается ее значение равное 255.255.255.255 , т.е конечная точка назначения является одиночным IP-адресом узла.

route delete 10.10.10.10 - удалить маршрут созданный предыдущей командой

route change 10.0.0.0 mask 255.0.0.0 10.10.10.1 - изменить адрес шлюза для существующего маршрута к сети 10.0.0.0/255.0.0.0 на значение 10.10.10.1 Допускается использование данной команды только для изменения адреса шлюза и метрики.

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

Не относятся к петлевому интерфейсу (интерфейсу с IP 127.0.0.1 и маской -255.0.0.0)
- не являются маршрутами для многоадресной (multicast) рассылки (IP 224.0.0.1 маска 255.0.0.0)
- не являются узловыми маршрутами (когда маска равна 255.255.255.255) .

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

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

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

Маршрутизация в IP-сетях

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

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

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

Маршрутизатор узнает об удаленных сетях от соседних маршрутизаторов или от сетевого администратора. Затем маршрутизатор строит таблицу маршрутизации, которая описывает, как найти удаленные сети.

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

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

IP-маршрутизация - простой процесс, который одинаков в сетях любого размера. Например, на рисунке показан процесс пошагового взаимодействия хоста А с хостом В в другой сети. В примере пользователь хоста А запрашивает по ping IP-адрес хоста В. Дальнейшие операции не так просты, поэтому рассмотрим их подробнее:

  • IP обращается к протоколу ARP для выяснения сети назначения для пакета, просматривая IP-адрес и маску подсети хоста А. Это запрос к удаленному хосту, т.е. пакет не предназначен хосту локальной сети, поэтому пакет должен быть направлен маршрутизатору для перенаправления в нужную удаленную сеть.
  • Чтобы хост А смог послать пакет маршрутизатору, хост должен знать аппаратный адрес интерфейса маршрутизатора, подключенный к локальной сети. Сетевой уровень передает пакет и аппаратный адрес назначения канальному уровню для деления на кадры и пересылки локальному хосту. Для получения аппаратного адреса хост ищет местоположение точки назначения в собственной памяти, называемой кэшем ARP.
  • Если IP-адрес еще не был доступен и не присутствует в кэше ARP, хост посылает широковещательную рассылку ARP для поиска аппаратного адреса по IP-адресу 172.16.10.1. Именно поэтому первый запрос Ping обычно заканчивается тайм-аутом, но четыре остальные запроса будут успешны. После кэширования адреса тайм-аута обычно не возникает.
  • Маршрутизатор отвечает и сообщает аппаратный адрес интерфейса Ethernet, подключенного к локальной сети. Теперь хост имеет всю информацию для пересылки пакета маршрутизатору по локальной сети. Сетевой уровень спускает пакет вниз для генерации эхо-запроса ICMP (Ping) на канальном уровне, дополняя пакет аппаратным адресом, по которому хост должен послать пакет. Пакет имеет IP-адреса источника и назначения вместе с указанием на тип пакета (ICMP) в поле протокола сетевого уровня.
  • Канальный уровень формирует кадр, в котором инкапсулируется пакет вместе с управляющей информацией, необходимой для пересылки по локальной сети. К такой информации относятся аппаратные адреса источника и назначения, а также значение в поле типа, установленное протоколом сетевого уровня (это будет поле типа, поскольку IP по умолчанию пользуется кадрами Ethernet_II). Рисунок 3 показывает кадр, генерируемый на канальном уровне и пересылаемый по локальному носителю. На рисунке 3 показана вся информация, необходимая для взаимодействия с маршрутизатором: аппаратные адреса источника и назначения, IP-адреса источника и назначения, данные, а также контрольная сумма CRC кадра, находящаяся в поле FCS (Frame Check Sequence).
  • Канальный уровень хоста А передает кадр физическому уровню. Там выполняется кодирование нулей и единиц в цифровой сигнал с последующей передачей этого сигнала по локальной физической сети.

  • Сигнал достигает интерфейса Ethernet 0 маршрутизатора, который синхронизируется по преамбуле цифрового сигнала для извлечения кадра. Интерфейс маршрутизатора после построения кадра проверяет CRC, а в конце приема кадра сравнивает полученное значение с содержимым поля FCS. Кроме того, он проверяет процесс передачи на отсутствие фрагментации и конфликтов носителя.
  • Проверяется аппаратный адрес назначения. Поскольку он совпадает с адресом маршрутизатора, анализируется поле типа кадра для определения дальнейших действий с этим пакетом данных. В поле типа указан протокол IP, поэтому маршрутизатор передает пакет процессу протокола IP, исполняемому маршрутизатором. Кадр удаляется. Исходный пакет (сгенерированный хостом А) помещается в буфер маршрутизатора.
  • Протокол IP смотрит на IP-адрес назначения в пакете, чтобы определить, не направлен ли пакет самому маршрутизатору. Поскольку IP-адрес назначения равен 172.16.20.2, маршрутизатор определяет по своей таблице маршрутизации, что сеть 172.16.20.0 непосредственно подключена к интерфейсу Ethernet 1.
  • Маршрутизатор передает пакет из буфера в интерфейс Ethernet 1. Маршрутизатору необходимо сформировать кадр для пересылки пакета хосту назначения. Сначала маршрутизатор проверяет свой кэш ARP, чтобы определить, был ли уже разрешен аппаратный адрес во время предыдущих взаимодействий с данной сетью. Если адреса нет в кэше ARP, маршрутизатор посылает широковещательный запрос ARP в интерфейс Ethernet 1 для поиска аппаратного адреса для IP-адреса 172.16.20.2.
  • Хост В откликается аппаратным адресом своего сетевого адаптера на запрос ARP. Интерфейс Ethernet 1 маршрутизатора теперь имеет все необходимое для пересылки пакета в точку окончательного приема. На рисунке показывает кадр, сгенерированный маршрутизатором и переданный по локальной физической сети.

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

  • Хост В принимает кадр и проверяет CRC. Если проверка будет успешной, кадр удаляется, а пакет передается протоколу IP. Он анализирует IP-адрес назначения. Поскольку IP-адрес назначения совпадает с установленным в хосте В адресом, протокол IP исследует поле протокола для определения цели пакета.
  • В нашем пакете содержится эхо-запрос ICMP, поэтому хост В генерирует новый эхо-ответ ICMP с IP-адресом источника, равным адресу хоста В, и IP-адресом назначения, равным адресу хоста А. Процесс запускается заново, но в противоположном направлении. Однако аппаратные адреса всех устройств по пути следования пакета уже известны, поэтому все устройства смогут получить аппаратные адреса интерфейсов из собственных кэшей ARP.

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

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

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

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

Таблица маршрутизации для Router 2

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

Как нетрудно видеть, в таблице определено несколько маршрутов с разными параметрами. Читать каждую такую запись в таблице маршрутизации нужно следующим образом:

Чтобы доставить пакет в сеть с адресом из поля Сетевой адрес и маской из поля Маска сети, нужно с интерфейса с IP-адресом из поля Интерфейс послать пакет по IP-адресу из поля Адрес шлюза, а «стоимость» такой доставки будет равна числу из поля Метрика.

В этой таблице в столбце "Адрес сети назначения" указываются адреса всех сетей, которым данный маршрутизатор может передавать пакеты. В стеке TCP/IP принят так называемый одношаговый подход к оптимизации маршрута продвижения пакета (next-hop routing) – каждый маршрутизатор и конечный узел принимает участие в выборе только одного шага передачи пакета. Поэтому в каждой строке таблицы маршрутизации указывается не весь маршрут в виде последовательности IP-адресов маршрутизаторов, через которые должен пройти пакет, а только один IP-адрес - адрес следующего маршрутизатора, которому нужно передать пакет. Вместе с пакетом следующему маршрутизатору передается ответственность за выбор следующего шага маршрутизации. Одношаговый подход к маршрутизации означает распределенное решение задачи выбора маршрута. Это снимает ограничение на максимальное количество транзитных маршрутизаторов на пути пакета.

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

Одношаговая маршрутизация обладает еще одним преимуществом - она позволяет сократить объем таблиц маршрутизации в конечных узлах и маршрутизаторах за счет использования в качестве номера сети назначения так называемого маршрута по умолчанию – default (0.0.0.0), который обычно занимает в таблице маршрутизации последнюю строку. Если в таблице маршрутизации есть такая запись, то все пакеты с номерами сетей, которые отсутствуют в таблице маршрутизации, передаются маршрутизатору, указанному в строке default. Поэтому маршрутизаторы часто хранят в своих таблицах ограниченную информацию о сетях интерсети, пересылая пакеты для остальных сетей в порт и маршрутизатор, используемые по умолчанию. Подразумевается, что маршрутизатор, используемый по умолчанию, передаст пакет на магистральную сеть, а маршрутизаторы, подключенные к магистрали, имеют полную информацию о составе интерсети.

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

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

Записи в таблице маршрутизации, относящиеся к сетям, непосредственно подключенным к маршрутизатору, в поле "Метрика" содержат нули («подключено»).

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

Основные требования к алгоритмам маршрутизации:

  • точность;
  • простота;
  • надёжность;
  • стабильность;
  • справедливость;
  • оптимальность.

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

  • алгоритмы простой маршрутизации;
  • алгоритмы фиксированной маршрутизации;
  • алгоритмы адаптивной маршрутизации.

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

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

Это способ маршрутизации не изменяющийся при изменении топологии и состоянии сети передачи данных (СПД).

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

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

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

Фиксированная маршрутизация

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

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

Адаптивная маршрутизация

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

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

  • Локальная адаптивная маршрутизация – каждый узел содержит информацию о состоянии линии связи, длины очереди и таблицу маршрутизации.
  • Глобальная адаптивная маршрутизация – основана на использовании информации получаемой от соседних узлов. Для этого каждый узел содержит таблицу маршрутизации, в которой указано время прохождения сообщений. На основе информации, получаемой из соседних узлов, значение таблицы пересчитывается с учетом длины очереди в самом узле.
  • Централизованная адаптивная маршрутизация – существует некоторый центральный узел, который занимается сбором информации о состоянии сети. Этот центр формирует управляющие пакеты, содержащие таблицы маршрутизации и рассылает их в узлы связи.
  • Гибридная адаптивная маршрутизация – основана на использовании таблицы периодически рассылаемой центром и на анализе длины очереди с самом узле.

Показатели алгоритмов (метрики)

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

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

  • Длина маршрута.
  • Надежность.
  • Задержка.
  • Ширина полосы пропускания.

Длина маршрута.

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

Надежность.

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

Задержка.

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

Полоса пропускания.

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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows