double arrow
Просмотр таблиц маршрутизации с учетом масок

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

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

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

3. Вторая фаза выполняется только в том случае, если во время первой фазы не произошло совпадения адресов. Она состоит в поиске неспецифического мар­шрута, общего для группы узлов, к которой относится и пакет с адресом IPD. Для этого IP заново просматривает таблицу маршрутизации, причем с каж­дой записью производятся следующие действия:

1) маска (обозначим ее М), содержащаяся в данной записи, «накладывается» на IP-адрес узла назначения IPd, извлеченный из пакета: IPD AND М;

2) полученное в результате число сравнивается со значением, которое поме­щено в поле адреса назначения той же записи таблицы маршрутизации;




3) если происходит совпадение, протокол IP соответствующим образом от­мечает эту строку;

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

4. После просмотра всей таблицы маршрутизатор выполняет одно их трех дей­ствий:

1) если не произошло ни одного совпадения и маршрут по умолчанию отсут­ствует, то пакет отбрасывается;

2) если произошло одно совпадение, то пакет отправляется по маршруту, указанному в строке с совпавшим адресом;

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



ПРИМЕЧАНИЕ ----------------------------------------------------------------------------------------------------

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

Проиллюстрируем, как маршрутизатор R2 (см. рис. 18.11) использует вышеопи­санный алгоритм для работы со своей таблицей маршрутизации (см. табл. 18.8). Пусть на маршрутизатор R2 поступает пакет с адресом назначения 129.44.78.200. Модуль IP, установленный на этом маршрутизаторе, прежде всего сравнит этот адрес с адресом 129.44.128.15, для которого определен специфический маршрут. Совпадения нет, поэтому модуль IP начинает последовательно обрабатывать все строки таблицы, накладывая маски и сравнивая результаты до тех пор, пока не найдет совпадения номера сети в адресе назначения и в строке таблицы. В ре­зультате определяется маршрут для пакета 129.44.78.200 — он должен быть от­правлен на выходной порт маршрутизатора 129.44.64.7 в сеть 129.44.64.0, непо­средственно подключенную к данному маршрутизатору.






Сейчас читают про: