Работа IP при использовании механизма масок переменной длины

Процедура поиска маршрута при использовании масок переменной длины аналогично подобной процедуре, описанной выше для масок одинаковой длины. Особенности масок переменной длины проявляются при наличии «перекрытий». Под «перекрытием» понимается наличие нескольких маршрутов к одной и той же IP-подсети или одному и тому же узлу. В этом случае IP-адрес подсети назначения, определенной по IP-адресу узла назначения из заголовка пришедшего пакета, может совпадать с адресами IP-подсетей назначения, которые содержаться сразу в нескольких записях первого столбца таблицы маршрутизации.

Рассмотрим пример. Пусть пакет, поступивший из внешней сети на маршрутизатор «M1» имеет в заголовке IP-адрес узла назначения «129.44.192.5», приведем фрагмент таблицы маршрутизации маршрутизатора «M1»:

IP-адрес подсети назначения Маска подсети IP-адрес порта следующего маршрутизатора IP-адрес выходного порта маршрутизатора «M1» Расстояние (в хопах)
129.44.0.0 255.255.0.0 129.44.192.1 129.44.292.2 2
129.44.192.0 255.255.255.248 129.44.192.2 129.44.192.2 0

 

Первая значимая запись этой таблицы маршрутизации говорит нам о том, что все пакеты, в заголовках которых присутствуют IP-адреса узлов назначения, которые начинаются с «129.44», должны быть переданы на маршрутизатор «M2». Эта запись в таблице маршрутизации выполняет агрегирование адресов всех IP-подсетей, созданных на базе IP-подсети «129.44.0.0». Агрегирование адресов – это когда, например, для маски сети можно назначить сразу несколько внутренних подсетей, которые снаружи будут видны как единая сеть. Вторая значимая строка этой таблицы говорит о том, что среди всех возможных IP-подсетей IP-подсети «129.44.0.0» есть одна IP-подсеть «129.44.192.0», для которой пакеты можно направлять непосредственно, а не через маршрутизатор «M2».

Если следовать стандартному алгоритму поиска маршрута продвижения пришедшего пакета по таблице маршрутизации, то сначала на IP-адрес узла назначения «129.44.192.5» накладывается маска из первой строки таблицы маршрутизации маршрутизатора «M1». При этом получается результат – «129.44.0.0», который совпадает с IP-адресом подсети первого столбца этой строки. Но и при наложении на IP-адрес узла назначения «129.44.192.5» маски из второй строки таблицы маршрутизации – «255.255.255.248» полученный результат «129.44.192.0» также совпадет с IP-адресом подсети назначения в первом столбце второй строки. В этих случаях применяется следующее правило:

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

В данном случае будет выбран второй маршрут. Т.е. пакет будет передан в непосредственно подключенную IP-подсеть, а не пойдет кружным путем через маршрутизатор «M2».

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

Замечание: В IP-пакетах при использовании механизма масок передается только IP-адрес узла назначения. При этом маска IP-подсети назначения не передается. Поэтому из IP-адреса пришедшего пакета невозможно выяснить, какая часть адреса относится к IP-адресу подсети, а какая к IP-адресу узла. Если маски во всех подсетях имеют один и тот же размер (количество последовательных единиц в маске), то это не создает проблем. Если же для образования подсетей применяют маски переменной длины, то маршрутизатор должен каким-то образом узнавать, каким адресам IP-подсетей какие маски соответствуют. Решение этой задачи лежит в использовании протоколов маршрутизации, которые переносят между маршрутизаторами не только служебную информацию об IP-адресах сетей, но и о масках, соответствующих этим номерам. К таким протоколам маршрутизации относятся протоколы RIPv2, OSPF из стека TCP/IP. А, например, протокол RIP маски не распространяет и для использования масок переменой длины не подходит.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



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