Важнейшей задачей сетевого уровня является маршрутизация (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 на рис.

Достаточно часто маршрут по умолчанию граничного маршрутизатора организации указывает на маршрутизатор провайдера Интернета для этой организации. Маршрутизатор этого провайдера Интернета в качестве маршрута по умолчанию может использовать маршрут к маршрутизатору интернет-провайдера более высокого уровня и т.д.
Записи в таблицу маршрутизации заносятся либо вручную, в этом случае маршрутизация называется статической. (Статическая маршрутизация обычно используется в относительно небольших составных сетях). Или записи заносятся в результате работы протоколов динамической маршрутизации. Задача которых – изучение топологии и адресной информации сетей/подсетей, формирующих составную сеть. И обмен записями маршрутных таблиц между маршрутизаторами составной сети. Популярными в настоящее время протоколами динамической маршрутизации являются протокол маршрутной информации (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 – адрес ограниченной широковещательной рассылки. – Пакет с таким адресом рассылается всем узлам, находящимся в той же подсети, что и отправитель.
Вы должны авторизоваться чтобы опубликовать комментарий.