Маршрутизация IP-дейтаграмм:

Важнейшей задачей сетевого уровня является маршрутизация (Routing) дейтаграмм в составной сети. Суть которой, как уже отмечалось, сводится к поиску маршрутизаторами оптимального пути (маршрута) к получателю дейтаграммы. Маршрутизация выполняется сетевыми устрой­ствами, называемыми маршрутизаторы (Router). Любой маршрутизатор обладает более чем одним сетевым интерфейсом. К которым подключены сети/подсети, которые он соединяет (функции маршрутизатора могут вы­полнять и компьютеры, оснащённые двумя и более сетевыми интерфейса­ми). Например, маршрутизатор R1 на рис. связывает сети N1, N2 и N7. Имеющие маски подсети М1, М2 и М7, соответственно, через свои интер­фейсы R1(1), R1(2) и R1(3). Следует отметить, что даже если в сети отсутствуют пользовательские хосты, она все равно считается сетью/подсетью, имеет свой адрес и обладает другими свойствами, характерными для се­тей/подсетей (такими сетями/подсетями являются сети с адресами N7, N8 и N9 связей «точка — точка» (Point-to-Point) между маршрутизаторами на рис.

Route IP-дейтаграмм: от хоста-отправителя до хоста

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

Критериями могут быть: количество маршрутизаторов на маршруте (hops). Время прохождения тестового пакета до следующего по пути марш­рутизатора. Пропускная способность линии связи к следующему маршру­тизатору и другие.

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

В четвёртом столбце указывается сетевой адрес порта теку­щего маршрутизатора. Через который должна уйти по выбранному марш­руту дейтаграмма.

Маршрутизация IP-дейтаграмм: метрика маршрута

В пятом столбце указывается метрика маршрута — один из приведенных выше критериев выбора маршрута. (В таблицах маршрутизации на рис. в качестве метрики приведено количество про­межуточных маршрутизаторов на маршруте — hops). Метрика маршрута указывается для выбора оптимального маршрута. При наличии в таблице маршрутизации нескольких строк с маршрутами к одной и той же сети. (Например, маршруты к сети N4 в таблице маршрутизации маршрутизато­ра R2 

Количество записей в таблице маршрутизации может быть достаточно большим. Даже для относительно небольшой составной сети, вследствие наличия альтернативных маршрутов. Кроме того, в боль­ших составных сетях (примером такой сети является Интернет) адреса удалённых сетей/подсетей просто неизвестны. Поэтому обычно в послед­ней строке таблиц маршрутизации указывается так называемый маршрут по умолчанию (defaultroute). По которому будет направлена дейтаграмма в случае неудачного поиска адреса сети назначения дейтаграммы в первом столбце таблицы маршрутизации. Для хостов в маршруте по умолчанию в качестве следующего маршрутизатора по маршруту обычно указывается адрес шлюза локальной сети как для хоста А. А для маршрути­заторов — адрес маршрутизатора. Следующего по маршруту, который ис­пользуется большей частью исходящих дейтаграмм как для маршрутиза­тора R2 на рис.

Маршрутизация IP-дейтаграмм

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

Записи в таблицу маршрутизации заносятся либо вручную, в этом случае маршрутизация называется статической. (Статическая маршрутиза­ция обычно используется в относительно небольших составных сетях). Или записи заносятся в результате работы протоколов динамической маршру­тизации. Задача которых — изучение топологии и адресной информации сетей/подсетей, формирующих составную сеть. И обмен записями марш­рутных таблиц между маршрутизаторами составной сети. Популярными в настоящее время протоколами динамической маршрутизации являются протокол маршрутной информации (RoutingInformationProtocol- RIP). Протокол кратчайшего пути (OpenShortestPathFirst- OSPF) и протокол граничного шлюза (BorderGatewayProtocol- BGP).

Маршрутизаторы определяют следующий от них шаг маршрута дей­таграммы по следующему алгоритму:

  • Из заголовка дейтаграммы извлекается сетевой адрес получателя и выполняется поиск его значения в первом столбце таблицы марш­рутизации. Если адрес найден, дейтаграмма направляется по адресу следующего на пути маршрутизатора, указанный в третьем столбце строки с найденным адресом;
  • Если адрес получателя в первом столбце не найден. Из адреса полу­чателя восстанавливается адрес сети получателя путём умножения адреса получателя на маску подсети назначения во втором столбце первой строки;
  • После получения адреса сети выполняется его сравнение с адресом сети/подсети назначения в первом столбце первой строки;
  • Адреса совпадают, в качестве следующего адреса маршрута выбирается адрес из третьего столбца первой строки; 
  • Если адреса не совпадают. Адрес получателя умножается на маску подсети из второй строки и полученный адрес сети/подсети сравни­вается с адресом сети назначения в первом столбце второй строки и если совпадение адресов получено, дейтаграмма передаётся по ад­ресу маршрутизатора, указанному в третьем столбце второй строки;
  • Если адреса не совпадают. Алгоритм вычисления сети/подсети и сравнения повторяются для остальных строк таблицы, пока не бу­дет найдено совпадение;
  • В последней строке таблицы указывается маршрут по умолчанию, для него в первом и втором столбце заносятся адреса 0.0.0.0 и 0.0.0.0. Умножение любого IP-адреса на маску 0.0.0.0 приведёт к получению адреса сети 0.0.0.0. Поэтому совпадение будет до­стигнуто для любого адреса, для которого не получено совпадение в предыдущих строках таблицы маршрутизации и дейтаграмма будет направлена маршрутизатору. Адрес которого указан в третьем столбце строки с маршрутом по умолчанию.

Маршрутизация при поиске маршрута для дейтаграммы

На рис. приведен пример, иллюстрирующий обработку таблицы маршрутизации при поиске маршрута для дейтаграммы с адресом назначе­ния 192.168.3.25 (11000000 10101000 00000011 00011001). Отметим, что сравнение адресов выполняется побитово с помощью логической опе­рацииxor. А её нулевой результат свидетельствует о совпадении сравнива­емых адресов. Совпадение вычисленного адреса сети назначения и адреса сети в первом столбце таблицы маршрутизации достигнуто в третьей стро­ке. Поэтому следующим маршрутизатором по пути будет выбран 192.168.2.2, а маршрут по умолчанию проверяться не будет. Однако, ес­ли бы он проверялся, то совпадение было бы получено для любых прове­ряемых адресов-хоста получателя.

   Сеть назначения Маска подсети   Назначение    Следующий маршрутизатор   Исходящий    интерфейс     Метрика
    192.168.1.0  255.255.255.0                 192.168.5.1   192.168.4.1         2
    192.168.3.0  255.255.255.240                 192.168.2.1   192.168.4.2         1
    192.168.3.16  255.255.255.240                 192.168.2.2   192.168.4.3         1
         0.0.0.0          0.0.0.0                 192.168.5.2   192.168.4.1         —

Отправка дейтаграммы следующему по пути:

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

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

В примере на рис.  IP-адреса отправителя (IP1) и получателя (IP2) не меняются на всём маршруте дейтаграммы, в то время как МАС-адреса меняются в каждой сети. IP-адреса маршрутизаторов используются только для ARP-запросов. Задачу маршрутизации также решают пользовательские хосты. Так, если номер сети назначения совпадает с сетью, к которой принадлежит сам компьютер. То задачу маршрутизации решать не требуется и пакет просто передаётся канальному уровню вместе с определённым по протоколу ARP адресом канального уровня получателя. Если не совпадает, то необходима маршрутизация и узел-отправитель просматривает свою таблицу маршру­тизации.

Маршрутизация IP-дейтаграмм: команда route print

Команда route print в Windows выводит эту таблицу на экран. А также позволяет задавать и удалять маршруты. Хосты в большей степени, чем маршрутизаторы пользуются маршрутом по умолчанию. Обычно в качестве следующего по маршруту маршрутизатора для маршру­та по умолчанию указывается шлюз локальной сети хоста с IP-адресом 192.168.1.129 . 

Если в поле IP-адрес получателя находится адрес этой сети, то передачи пакета на канальный уровень (и, следователь­но, в сеть) не происходит. А этот пакет возвращается отправителю (путём обмена адресов отправителя и получателя в соответствующих полях паке­та).

Аналогично может вноситься запись для сетевых адресов собственных портов маршрутизатора. Для них адресом следующего маршрутизатора и выходного интерфейса указывается адрес 127.0.0.1 — loopback. Также в таблицу автоматически заносятся записи для сети с адресом 224.0.0.0. — Они требуются для обработки групповых адресов (multicastaddress).

Кроме того, могут быть занесены адреса, предназначенные для обра­ботки широковещательных рассылок в сетях. Подсоединённых к портам маршрутизатора, — это адреса, заканчивающиеся на последовательность единиц (2 55).

Одни указывают маршрут для отправки широковещательных сообщений в составной сети для определённых подсетей. — Сетевой адрес подключённого к этим сетям порта маршрутизатора. Адрес 255.255.255.255 — адрес ограниченной широковещательной рассылки. — Пакет с таким адресом рассылается всем узлам, находящимся в той же под­сети, что и отправитель.

Рейтинг: 9.5 из 10.