Основы IP-маршрутизации.  Что такое маршрутизация Происходит маршрутизация

Наименование параметра Значение
Тема статьи: Введение в IP-маршрутизацию
Рубрика (тематическая категория) Компьютеры

Стоит сказать, что для начала уточним некоторые понятия:

  • сетевой узел (node) - любое сетевое устройство с протоколом TCP/IP;
  • хост (host) - сетевой узел, не обладающий возможностями маршрутизации пакетов;
  • маршрутизатор (router) - сетевой узел, обладающий возможностями маршрутизации пакетов

IP-маршрутизация - это процесс пересылки unicast -трафика от узла-отправителя к узлу –получателю в IP-сети с произвольной топологией.

Когда один узел IP-сети отправляет пакет другому узлу, в заголовке IP-пакета указываются IP-адрес узла отправителя и IP-адрес узла-получателя. Отправка пакета происходит следующим образом:

  1. Узел-отправитель определяет, находится ли узел-получатель в той же самой IP-сети, что и отправитель (в локальной сети), или в другой IP-сети (в удаленной сети). Для этого узел-отправитель производит поразрядное логическое умножение своего IP-адреса на маску подсети, затем поразрядное логическое умножение IP-адреса узла получателя также на свою маску подсети. В случае если результаты совпадают, значит, оба узла находятся в одной подсети. В случае если результаты различны, то узлы находятся в разных подсетях.
  2. В случае если оба сетевых узла расположены в одной IP-сети, то узел-отправитель сначала проверяет ARP-кэш на наличие в ARP-таблице MAC-адреса узла-получателя. В случае если нужная запись в таблице имеется, то дальше отправка пакетов производится напрямую узлу-получателю на канальном уровне. В случае если же в ARP-таблице нужной записи нет, то узел-отправитель посылает ARP-запрос для IP-адреса узла-получателя, ответ помещает в ARP-таблицу и после этого передача пакета также производится на канальном уровне (между сетевыми адаптерами компьютеров).
  3. В случае если узел-отправитель и узел-получатель расположены в разных IP-сетях, то узел-отправитель посылает данный пакет сетевому узлу, который в конфигурации отправителя указан как "Основной шлюз" (default gateway ). Основной шлюз всœегда находится в той же IP-сети, что и узел-отправитель, в связи с этим взаимодействие происходит на канальном уровне (после выполнения ARP-запроса). Основной шлюз - это маршрутизатор, который отвечает за отправку пакетов в другие подсети (либо напрямую, либо через другие маршрутизаторы).

Рассмотрим пример, изображенный на рис. 4.5 .

Рис. 4.5.

В данном примере 2 подсети: 192.168.0.0/24 и 192.168.1.0/24. Подсети объединœены в одну сеть маршрутизатором. Интерфейс маршрутизатора в первой подсети имеет IP-адрес 192.168.0.1, во второй подсети - 192.168.1.1. В первой подсети имеются 2 узла: узел A (192.168.0.5) и узел B (192.168.0.7). Во второй подсети имеется узел C с IP-адресом 192.168.1.10.

В случае если узел A будет отправлять пакет узлу B, то сначала он вычислит, что узел B находится в той же подсети, что и узел A (ᴛ.ᴇ. в локальной подсети), затем узел A выполнит ARP-запрос для IP-адреса 192.168.0.7. После этого содержимое IP-пакета будет передано на канальный уровень, и информация будет передана сетевым адаптером узла A сетевому адаптеру узла B. Это пример прямой доставки данных (или прямой маршрутизации, direct delivery).

В случае если узел A будет отправлять пакет узлу C, то сначала он вычислит, что узел C находится в другой подсети (ᴛ.ᴇ. в удаленной подсети). После этого узел A отправит пакет узлу, который в его конфигурации указан в качестве основного шлюза (в данном случае это интерфейс маршрутизатора с IP-адресом 192.168.0.1). Далее маршрутизатор с интерфейса 192.168.1.1 выполнит прямую доставку узлу C. Это пример непрямой доставки (или косвенной маршрутизации, indirect delivery) пакета от узла A узлу C. В данном случае процесс косвенной маршрутизации состоит из двух операций прямой маршрутизации.

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

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

  • записи, созданные автоматически системой на базе конфигурации протокола TCP/IP на каждом из сетевых адаптеров;
  • статические записи, созданные командой route add или в консоли службы Routing and Remote Access Service ;
  • динамические записи, созданные различными протоколами маршрутизации (RIP или OSPF).

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

Рабочая станция.

В данном примере имеется рабочая станция с системой Windows XP, с одним сетевым адаптером и такими настройками протокола TCP/IP: IP-адрес -192.168.1.10, маска подсети - 255.255.255.0, основной шлюз - 192.168.1.1.

Введем в командной строке системы Windows команду route print, результатом работы команды будет следующий экран (рис. 4.6 ; в скобках приведен текст для английской версии системы):

Рис. 4.6.

Список интерфейсов - список сетевых адаптеров, установленных в компьютере. Интерфейс MS TCP Loopback interface присутствует всœегда и предназначен для обращения узла к самому себе. Интерфейс Realtek RTL8139 Family PCI Fast Ethernet NIC - сетевая карта.

Сетевой адрес - диапазон IP-адресов, которые достижимы с помощью данного маршрута.

Маска сети - маска подсети, в которую отправляется пакет с помощью данного маршрута.

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

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

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

Проанализируем некоторые строки таблицы.

Первая строка таблицы соответствует значению основного шлюза в конфигурации TCP/IP данной станции. Сеть с адресом "0.0.0.0" обозначает "всœе остальные сети, не соответствующие другим строкам данной таблицы маршрутизации".

Вторая строка - маршрут для отправки пакетов от узла самому себе.

Третья строка (сеть 192.168.1.0 с маской 255.255.255.0) - маршрут для отправки пакетов в локальной IP-сети (ᴛ.ᴇ. той сети, в которой расположена данная рабочая станция).

Последняя строка - широковещательный адрес для всœех узлов локальной IP-сети.

Последняя строка на рис. 4.6 - список постоянных маршрутов рабочей станции. Это статические маршруты, которые созданы командой route add. В данном примере нет ни одного такого статического маршрута.

Теперь рассмотрим сервер с системой Windows 2003 Server, с тремя сетевыми адаптерами:

  • Адаптер 1 - расположен во внутренней сети компании (IP-адрес - 192.168.1.10, маска подсети - 255.255.255.0);
  • Адаптер 2 - расположен во внешней сети Интернет-провайдера ISP-1 (IP-адрес - 213.10.11.2, маска подсети - 255.255.255.248, ближайший интерфейс в сети провайдера - 213.10.11.1);
  • Адаптер 3 - расположен во внешней сети Интернет-провайдера ISP-2 (IP-адрес - 217.1.1.34, маска подсети - 255.255.255.248, ближайший интерфейс в сети провайдера - 217.1.1.33).

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

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

В данном случае команда route print выдаст таблицу маршрутизации, изображенную на рис. 4.7 .

Рис. 4.7.

В таблице в списке интерфейсов отображены три сетевых адаптера разных моделœей, адаптер обратной связи (MS TCP Loopback interface ) и WAN (PPP/SLIP) Interface - интерфейс для доступа в сеть через модемный пул.

Отметим особенности таблицы маршрутов сервера с несколькими сетевыми интерфейсами.

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

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

Во второй строке содержится статический маршрут, сконфигурированный в консоли , для пересылки пакетов в сеть196.15.20.16/24.

Поддержка таблиц маршрутизации.

Есть два способа поддержки актуального состояния таблиц маршрутизации: ручной и автоматический.

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

В больших сетях ручной способ становится чересчур трудоемким и чреват ошибками. Автоматическое построение и модификация таблиц маршрутизации производится так называемыми "динамическими маршрутизаторами" . Динамические маршрутизаторы отслеживают изменения в топологии сети, вносят необходимые изменения в таблицы маршрутов и обмениваются данной информацией с другими маршрутизаторами, работающими по тем же протоколам маршрутизации. В Windows Server реализована динамическая маршрутизация в Службе маршрутизации и удаленного доступа . В данной службе реализованы наиболее распространенные протоколы маршрутизации - протокол RIP версий 1 и 2 и протокол OSPF.

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

Для начала уточним некоторые понятия:

  • сетевой узел (node) - любое сетевое устройство с протоколом TCP/IP;
  • хост (host) - сетевой узел, не обладающий возможностями маршрутизации пакетов;
  • маршрутизатор (router) - сетевой узел, обладающий возможностями маршрутизации пакетов

IP-маршрутизация - это процесс пересылки unicast -трафика от узла-отправителя к узлу –получателю в IP-сети с произвольной топологией.

Когда один узел IP-сети отправляет пакет другому узлу, в заголовке IP-пакета указываются IP-адрес узла отправителя и IP-адрес узла-получателя. Отправка пакета происходит следующим образом:

  1. Узел-отправитель определяет, находится ли узел-получатель в той же самой IP-сети, что и отправитель (в локальной сети), или в другой IP-сети (в удаленной сети). Для этого узел-отправитель производит поразрядное логическое умножение своего IP-адреса на маску подсети, затем поразрядное логическое умножение IP-адреса узла получателя также на свою маску подсети. Если результаты совпадают, значит, оба узла находятся в одной подсети. Если результаты различны, то узлы находятся в разных подсетях.
  2. Если оба сетевых узла расположены в одной IP-сети, то узел-отправитель сначала проверяет ARP-кэш на наличие в ARP-таблице MAC-адреса узла-получателя. Если нужная запись в таблице имеется, то дальше отправка пакетов производится напрямую узлу-получателю на канальном уровне. Если же в ARP-таблице нужной записи нет, то узел-отправитель посылает ARP-запрос для IP-адреса узла-получателя, ответ помещает в ARP-таблицу и после этого передача пакета также производится на канальном уровне (между сетевыми адаптерами компьютеров).
  3. Если узел-отправитель и узел-получатель расположены в разных IP-сетях, то узел-отправитель посылает данный пакет сетевому узлу, который в конфигурации отправителя указан как "Основной шлюз" ( default gateway ). Основной шлюз всегда находится в той же IP-сети, что и узел-отправитель, поэтому взаимодействие происходит на канальном уровне (после выполнения ARP-запроса). Основной шлюз - это маршрутизатор, который отвечает за отправку пакетов в другие подсети (либо напрямую, либо через другие маршрутизаторы).

Рассмотрим пример, изображенный на рис. 4.5 .


Рис. 4.5.

В данном примере 2 подсети: 192.168.0.0/24 и 192.168.1.0/24 . Подсети объединены в одну сеть маршрутизатором. Интерфейс маршрутизатора в первой подсети имеет IP-адрес 192.168.0.1 , во второй подсети - 192.168.1.1 . В первой подсети имеются 2 узла: узел A (192.168.0.5 ) и узел B (192.168.0.7 ). Во второй подсети имеется узел C с IP-адресом 192.168.1.10 .

Если узел A будет отправлять пакет узлу B, то сначала он вычислит, что узел B находится в той же подсети, что и узел A (т.е. в локальной подсети), затем узел A выполнит ARP-запрос для IP-адреса 192.168.0.7 . После этого содержимое IP-пакета будет передано на канальный уровень, и информация будет передана сетевым адаптером узла A сетевому адаптеру узла B. Это пример прямой доставки данных (или прямой маршрутизации, direct delivery).

Если узел A будет отправлять пакет узлу C, то сначала он вычислит, что узел C находится в другой подсети (т.е. в удаленной подсети). После этого узел A отправит пакет узлу, который в его конфигурации указан в качестве основного шлюза (в данном случае это интерфейс маршрутизатора с IP-адресом 192.168.0.1 ). Затем маршрутизатор с интерфейса 192.168.1.1 выполнит прямую доставку узлу C. Это пример непрямой доставки (или косвенной маршрутизации, indirect delivery) пакета от узла A узлу C. В данном случае процесс косвенной маршрутизации состоит из двух операций прямой маршрутизации.

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

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

  • записи, созданные автоматически системой на основе конфигурации протокола TCP/IP на каждом из сетевых адаптеров;
  • статические записи, созданные командой route add или в консоли службы Routing and Remote Access Service ;
  • динамические записи, созданные различными протоколами маршрутизации (RIP или OSPF).

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

Рабочая станция.

В данном примере имеется рабочая станция с системой Windows XP, с одним сетевым адаптером и такими настройками протокола TCP/IP: IP-адрес - 192.168.1.10 , маска подсети - 255.255.255.0 , основной шлюз - 192.168.1.1 .

Введем в командной строке системы Windows команду route print , результатом работы команды будет следующий экран (рис. 4.6 ; в скобках приведен текст для английской версии системы):


Рис. 4.6.

Список интерфейсов - список сетевых адаптеров, установленных в компьютере. Интерфейс MS TCP Loopback interface присутствует всегда и предназначен для обращения узла к самому себе. Интерфейс Realtek RTL8139 Family PCI Fast Ethernet NIC - сетевая карта.

Сетевой адрес - диапазон IP-адресов, которые достижимы с помощью данного маршрута.

Маска сети - маска подсети, в которую отправляется пакет с помощью данного маршрута.

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

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

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

Проанализируем некоторые строки таблицы.

Первая строка таблицы соответствует значению основного шлюза в конфигурации TCP/IP данной станции. Сеть с адресом "0.0.0.0" обозначает "все остальные сети, не соответствующие другим строкам данной таблицы маршрутизации".

Вторая строка - маршрут для отправки пакетов от узла самому себе.

Третья строка (сеть 192.168.1.0 с маской 255.255.255.0 ) - маршрут для отправки пакетов в локальной IP-сети (т.е. той сети, в которой расположена данная рабочая станция).

Последняя строка - широковещательный адрес для всех узлов локальной IP-сети.

Последняя строка на рис. 4.6 - список постоянных маршрутов рабочей станции. Это статические маршруты, которые созданы командой route add . В данном примере нет ни одного такого статического маршрута.

Теперь рассмотрим сервер с системой Windows 2003 Server, с тремя сетевыми адаптерами:

  • Адаптер 1 - расположен во внутренней сети компании (IP-адрес - 192.168.1.10 , маска подсети - 255.255.255.0 );
  • Адаптер 2 - расположен во внешней сети Интернет-провайдера ISP-1 (IP-адрес - 213.10.11.2 , маска подсети - 255.255.255.248 , ближайший интерфейс в сети провайдера - 213.10.11.1 );
  • Адаптер 3 - расположен во внешней сети Интернет-провайдера ISP-2 (IP-адрес - 217.1.1.34 , маска подсети - 255.255.255.248 , ближайший интерфейс в сети провайдера - 217.1.1.33 ).

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

Кроме того, на сервере установлена Служба маршрутизации и удаленного доступа для

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

Различают два вида маршрутизации:

  • Статическая маршрутизация
  • Динамическая маршрутизация

Деление происходит в зависимости от способа записи в таблицу маршрутизации.

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

Маршрутизация в сетях на основе служб без установления соединения

Рассматривать процесс маршрутизации будем на условном примере.

По условию примера, Хосту 1 нужно передать сообщение Хосту 2 (рис. 1).

При этом длина сообщения в 4 раза длиннее допустимого к передаче. Из-за этого сообщение нужно разбить на 4 части (пакета) и последовательно отослать на маршрутизатор А.

Маршрутизатор А соединен только с маршрутизаторами В и С. Соответственно, все пакеты с Хоста А могут передаваться только на маршрутизаторы В и С.

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

Итак, через маршрутизатор А нужно передается 4 пакета. Согласно таблицы маршрутизации, действующей на данный момент времени, пакеты 1-3 передаются на маршрутизатор С. Далее согласно таблицы маршрутизации маршрутизатора С, пакеты передаются на Е — маршрутизатор, который связан непосредственно с хостингом В. Все пакеты 1-3 доставлены.

На следующий момент времени на маршрутизаторе А сменилась таблица маршрутизации, предположим из-за «пробки» на участке пути А-С-Е. Согласно новой таблицы маршрутизации, маршрутизатор А передает пакет 4 по пути маршрутизации А-В-Д, далее Е и на Хост В.

Отмечу, что таблицы маршрутизации оформляются по алгоритмам маршрутизации.

Это пример был для сетей с неустановленным соединением. А как осуществляется маршрутизация при уже установленном соединении.

Маршрутизация в сетях на основе служб с установлением соединения

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

Задача, передать информацию от Хоста 1 на Хост 2.

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

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

Длина маршрута может существенно измениться в зависимости от того, какой маршрутизатор выберет компьютер для передачи своего пакета на сервер, расположенный, например, в Германии, если маршрутизатор 1 соединен выделенной линией с маршрутизатором в Копенгагене, а маршрутизатор 2 имеет спутниковый канал, соединяющий его с Токио.

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

Адрес сети назначения Адрес следующего маршрутизатора Номер выходного порта Расстояние до сети назначения
56.0.0.0 198.21.17.7
56.0.0.0 213.34.12.4.
116.0.0.0 213.34.12.4
129.13.0.0 198.21.17.6
198.21.17.0 -
213. 34.12.0 -
Default 198.21.17.7 -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Поддержка своих таблиц маршрутизации в актуальном состоянии
  2. Своевременное распространение информации об известных им сетях и маршрутах среди остальных маршрутизаторов

В качестве параметров для расчет метрик могут выступать:

  1. Ширина полосы пропускания
  2. Задержка (время для перемещения пакета от источника к получателю)
  3. Загрузка (загруженность канала в ед. времени)
  4. Надежность (относительное количество ошибок в канале)
  5. Количество хопов (переходов между маршрутизаторами)

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

Существует достаточно много протоколов маршрутизации – все они делятся по следующим признакам:

  1. По используемому алгоритму (дистанционно-векторные протоколы, протоколы состояния каналов связи)
  2. По области применения (для внутридоменной маршрутизации, для междоменной маршрутизации)

Протокол состояния каналов основан на алгоритме Дейкстры, про него я уже . Про дистанционно-векторный алгоритм расскажу вкратце.

Итак, в дистанционно-векторных протоколах маршрутизаторы:

  • Определяют направление (вектор) и расстояние до нужного узла сети
  • Периодически пересылают таблицы маршрутизации друг другу
  • В регулярных обновлениях маршрутизаторы узнают об изменениях топологии сети

Если не вдаваться в подробности, то протокол маршрутизации по состоянию каналу лучше по нескольким причинам:

  • Точное понимание топологии сети. Протоколы маршрутизации состояния канала создают дерево кратчайших путей в сети. Таким образом, каждый маршрутизатор точно знает, где находится его “собрат”. В дистанционно-векторных протоколах такой топологии нет.
  • Быстрая сходимость. Получая пакет состояния канала LSP, маршрутизаторы сразу же лавиннообразно рассылают этот паке дальше. В дистанционно-векторных протоколах маршрутизатор должен сначала обновить свою таблицу маршрутизации, прежде чем разослать его лавинно на другие интерфейсы.
  • Управляемые событиями обновления. LSP отправляются только тогда, когда происходят изменения в топологии и только информацию, касающуюся этого изменения.
  • Разделение на зоны. Протоколы состояния канала используют понятие зона – область в пределах который распространяется маршрутная информация. Это разделение помогает снизить нагрузку на ЦП маршрутизатора и структурировать сеть.

Примеры протоколов состояния канала: OSPF , IS-IS .

Примеры дистанционно-векторных протоколов: RIP , IGRP .

Другое глобальное разделение протоколов по области применения: для внутредоменной маршрутизации IGP, для междоменной маршрутизации EGP. Пройдемся по определениям.

IGP (Interior Gateway Protocol) – протокол внутреннего шлюза. К ним относят любые протоколы маршрутизации, используемые внутри автономной системы (RIP, OSPF, IGRP, EIGRP, IS-IS). Каждый IGP-протокол представляет один домен маршрутизации внутри автономной системы.

EGP (Exterior Gateway Protocol) – протокол внутреннего шлюза. Обеспечивает маршрутизацию между различными автономными системами. Протоколы EGP обеспечивают соединение отдельных автономных систем и транзит передаваемых данных между этими автономными системами. Пример протокола: BGP .

Поясним также понятие автономной системы.

Автономная система (authonomous system, AS) – это набор сетей, которые находятся под единым административным управлением и в которых используется единая стратегия и правила маршрутизации.

Автономная система для внешних сетей выступает как единый объект.

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

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

Мы оказываем услуги по ремонту и настройке компьютеров, смартфонов, планшетов, wi-fi роутеров, модемов, IP-TV, принтеров. Качественно и недорого. Возникла проблема? Заполните форму ниже и мы Вам перезвоним.