Приведем возможный вариант таблицы маршрутизации маршрутизатора «M2» для рассматриваемого примера (предыдущий параграф) составной сети:
IP-адрес подсети назначения | Маска подсети | IP-адрес порта следующего маршрутизатора | IP-адрес выходного порта маршрутизатора «M2» | Расстояние (в хопах) |
129.44.0.0 | 255.255.192.0 | 129.44.0.1 | 129.44.192.2 | 0 |
129.44.64.0 | 255.255.192.0 | 129.44.64.7 | 129.44.64.7 | 0 |
129.44.128.0 | 255.255.192.0 | 129.44.128.5 | 129.44.128.5 | 0 |
129.44.129.0 | 255.255.192.0 | 129.44.192.1 | 129.44.192.1 | 0 |
0.0.0.0 | 0.0.0.0 | 129.44.192.2 | 129.44.192.1 | - |
129.44.128.15 | 255.255.255.255 | 129.44.64.8 | 129.44.64.7 | - |
В первом столбце «IP-адрес подсети назначения» размещены записи двух типов:
1. IP-адреса подсетей, в которых для всех узлов данной IP-подсети определен один и тот же маршрут.
2. IP-адрес сетевого интерфейса узла, включающий в себя и IP-адрес подсети, и IP-адрес узла, для того случая, если для данного узла определен особый маршрут, отличающийся от того, который ведет ко всем остальным узлам данной IP-подсети.
Например, для IP-адреса «129.44.128.15» определен специфический маршрут через порт «129.44.64.8» маршрутизатора «M3». Для таких IP-адресов (указан полный IP-адрес узла назначения) маска всегда имеет значение «255.255.255.255».
|
|
После того, как IP адрес назначения извлекается из заголовка очередного полученного IP-пакета (это делает IP-протокол маршрутизатора) необходимо определить IP-адрес порта следующего маршрутизатора, на который необходимо передать этот IP-пакет с этим IP-адресом назначения. Приоритет здесь за специфическим маршрутом для этого адресата. В этом случае, первоначально, просматриваются записи первого столбца таблицы маршрутизации, в которых маска второго столбца имеет значение «255.255.255.255». Значение IP-адреса первого столбца в этих строках сравнивается с IP-адресом назначения из заголовка пакета. Если произошло совпадение, то IP-адрес порта следующего маршрутизатора для данного пакета берется из данной строки. Если не произошло ни одного полного совпадения IP-адресов, то начинается поиск неспецифического маршрута общего для группы узлов, принадлежащих одной IP-подсети. Протокол IP выполняет при этом следующие действия:
1. Двоичное представление маски, которое содержится в данной записи таблицы, накладывается на IP-адрес узла назначения, который извлечен из пришедшего пакета. Полученное в результате число является IP-адресом подсети назначения обрабатываемого пакета.
2. Полученный IP-адрес подсети назначения пакета сравнивается со значениями IP-подсетей, которые находятся в первом столбце таблицы маршрутизации.
3. Если IP-адреса подсетей совпадают, то пакет передается маршрутизатору, IP-адрес порта которого помещен в соответствующее поле данной записи.
|
|
Все маршрутизаторы внешней сети, встретив пакеты, в заголовках которых встречаются IP-адреса назначения, которые начинаются с «129.44», интерпретируют их как адреса класса «B». Далее пакеты направляют по маршрутам, ведущим к маршрутизатору «M1», который в свою очередь направляет весь входной трафик составной сети «129.44.0.0» на порт «129.44.192.1» маршрутизатора «M2».
Маршрутизатор «M2» обрабатывает все поступившие на его порты пакеты в соответствии с основной таблицей маршрутизации. Первые четыре записи в этой таблице соответствуют внутренним подсетям, полученным в результате структуризации и, которые непосредственно подключены к его портам. Запись первого столбца этой таблицы со значением «0.0.0.0» с маской «0.0.0.0» соответствует маршруту по умолчанию. Действительно, любой IP-адрес назначения в заголовке пришедшего пакета после наложения на него маски «0.0.0.0» даст в результате IP-адрес подсети назначения «0.0.0.0», что совпадает с адресом IP-подсети назначения, указанным в этой записи первого столбца таблицы маршрутизации. Маршрутизатор выполняет сравнения с адресом IP-подсети назначения «0.0.0.0» в последнюю очередь. Точнее в случае, когда IP-адрес узла назначения в заголовке пришедшего пакета не дал совпадения ни с одной записью в таблице отличной от «0.0.0.0». Записей в таблице со значением первого столбца «0.0.0.0» может быть несколько, в этом случае маршрутизатор передает дальше пакет в составе поля данных сформированного кадра (точнее сформированных кадров) по всем таким маршрутам.
Последняя запись в этой таблице определяет специфический маршрут к узлу с IP-адресом «129.44.128.15». В отличие от всех других узлов IP-подсети «129.44.128.0», к которым пакеты поступают с интерфейса «129.44.128.5» маршрутизатора «M2» к данному узлу, они будут приходить через маршрутизатор «M3».
Пусть, например, с маршрутизатора «M1» на порт «129.44.192.1» маршрутизатора «M2» поступает пакет, в заголовке которого представлен IP-адрес узла назначения «129.44.78.200». Протокол IP сравнит целиком этот адрес со специфическим адресом первого столбца таблицы «129.44.128.15». Поскольку совпадения не произошло, то дальнейшие действия протокола IP сводятся к выделению в IP-адресе узла назначения «129.44.78.200», используя маску первой строки таблицы маршрутизации «255.255.192.0», IP-подсети назначения, которая в данном случае имеет следующий IP-адрес «129.44.64.0». Полученный адрес сравнивается с IP-адресом сети назначения первой записи первого столбца – «129.44.0.0». Поскольку значение этих подсетей не совпадает, то естественный образом происходит переход к следующей записи этой таблицы. А вот значение второй записи в первом столбце с выделенным IP-адресом подсети назначения дает совпадение. Это означает, что пакет в составе поля данных кадра, сформированного на маршрутизаторе «M2», дальше будет отправлен через порт маршрутизатора «M2» с IP-адресом «129.44.64.7» в IP-подсеть, непосредственно подключенную к указанному порту маршрутизатора «M2».