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

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

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

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

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

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

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

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

Количество записей в таблице маршрутизации может быть достаточно большим даже для относительно небольшой составной сети вследствие наличия альтернативных маршрутов, кроме того, в боль­ших составных сетях (примером такой сети является Интернет) адреса удалённых сетей/подсетей просто неизвестны. Поэтому обычно в послед­ней строке таблиц маршрутизации указывается так называемый маршрут по умолчанию (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 в Windows выводит эту таблицу на экран, а также позволяет задавать и удалять маршруты. Хосты в большей степени, чем маршрутизаторы пользуются маршрутом по умолчанию, обычно в качестве следующего по маршруту маршрутизатора для маршру­та по умолчанию указывается шлюз локальной сети хоста с IP-адресом 192.168.1.129 . 

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

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

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

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

 

комментарии от Disqus