Маршрутизация IP-пакетов без использования масок.
Будем считать, что все узлы (хосты) составной сети имеют IP-адреса, основанные на классах и при этом маски не используются.
Модуль (протокол) FTP упаковывает свое сообщение в сегмент (поле данных транспортного протокола TCP, который в свою очередь помещает свой сегмент в поле данных протокола IP, при этом в заголовке IP-пакета должен быть указан IP-адрес интерфейса узла назначения, поскольку пользователь cit.dol.ru указал символьное обозначение s1.nsk.su, то стек TCP/IP должен определить IP-адрес сетевого интерфейса узла назначения самостоятельно). При конфигурировании стека TCP/IP, в компьютере cit.dol.ru был задан (или получен автоматически используя установленный и настроенных DHCP-сервер; в этом случае, для того, чтобы узнать выданных DHCP-сервером IP-адрес достаточно в режиме командной строки набрать «ipconfig /all»), IP-адрес маршрутизатора по умолчанию, IP-адрес DNS-сервера. Модуль (протокол IP) может сделать запрос к DNS-серверу, но обычно сначала просматривается локальная таблица сответствия соответствия IP и символьных доменных имен (файл hosts). Будем считать, что компьютер cit.dol.ru имеет файл hosts, в котором присутствует запись: «142.6.13.14 s1.msk.su». При этом разрешение имени выполнится локально и протокол IP сможет сформировать IP-пакеты с адресами назначения 142.6.13.14 для взаимодействия с компьютером s1.msk.su . Для рассматриваемого примера сети модуль IP компьютера cit.dol.ru будет маршрутизировать пакеты с адресом назначения 142.6.13.14 , поскольку IP сети назначения 142.6.0.0 не равен адресу сети 194.87.23.0 , которой принадлежит компьютер-отправитель.
Далее, компьютер cit.dol.ru начинает формировать кадр Ethernet для отправки IP-пакета маршрутизатору по умолчанию, IP порта которого известен – 194.87.23.1 , но неизвестен MAC этого порта, который необходим для перемещения кадра в локальной сети. Для этого протокол IP обращается к протоколу ARP, который просматривает таблицу. Если в последнее время компьютер cit.dol.ru выполнял какие-либо межсетевые обмены, то запись, содержащее соответствие между IP- и MAC- адресами маршрутизатора по умолчанию уже находится в кэш-таблице протокола ARP: «194.87.23.1 00:80:48:EB:7E:60» (обозначим этот MAC через MAC11 в соответствии с маршрутизатором и его номером порта). Таким образом, компьютер cit.dol.ru отправляет по локальной сети пакет, упакованный в поле данных кадра Ethernet. Кадр 1 принимается портом 1 в соответствии с протоколом Ethernet, поскольку MAC-узел этого порта распознает в MAC11 свой собственный MAC-адрес.
Протокол Ethernet извлекает из своего поля данных (поле данных кадра Ethernet) IP-пакет и передает модулю маршрутизатора, реализующему протокол IP. Протокол IP извлекает из своего заголовка IP-адрес назначения 142.6.13.14 и начинает просматривать записи таблицы маршрутизации маршрутизатора №1. Пусть маршрутизатор №1 имеет в своей таблице следующую запись: «142.6.0.0 135.12.0.11 2» (указаны не все поля записи, а только три). Эта запись говорит о том, что все пакеты для сети 142.6.0.0 требуется передавать на порт маршрутизатора , который имеет IP=135.12.0.11 , который принадлежит сети, которая подключена к порту №2 маршрутизатора №1. Поле данных маршрутизатора №1 просматривает значения порта №2 и находит , что к нему подключена сеть FDDI.
Замечание. Большинство протоколов допускает использование в кадре поля данных переменной длины. Иногда и заголовок может иметь переменную длину. Обычно протоколы определяют максимальное значение, которое может иметь длина поля данных. Эта величина называется максимальной единицей передачи данных (Maximum Transfer Unit, MTU). В некоторых протоколах задается также минимальное значение длины поля данных. Например, протокол Ethernet требует, чтобы поле данных кадра содержало по крайней мере 46 байт данных (если приложение хочет отправить меньше, то оно обязано дополнить их до 46 байт любыми значениями), другие протоколы разрешают использовать поле данных нулевой длины, например, протоколы Point-to-Point Protocol (PPP) и FDDI. Важной особенностью протокола IP является его способность выполнять динамическую фрагментацию пакетов при передаче их между сетями с различными значениями MTU, именно эта способность фрагментации способствовала тому, что протокол IP смог занять доминирующие позиции в составных сетях. Протокол IP в узле-отправителе не использует свои возможности по фрагментации пакетов. Эту задачу на узле-отправителе решает протокол TCP, который разбивает поток байтов, передаваемые ему с прикладного уровня на сегменты требуемого размера (например на сегменты размером 1060 байт, если на нижнем уровне данной сети работает протокол Ethernet), а на маршрутизаторе, когда пакет требуется передать из сети с большим значением MTU в сеть с меньшим MTU, протокол IP обязан выполнить фрагментацию. Приведем некоторые значения MTU:
· Сеть TokenRing (16 Мбит/с) MTU = 17 914 байт
· Сеть TokenRing (4 Мбит/с) MTU = 4 464 байта
· Сеть FDDI MTU = 4 352 байта
Следует отметить, что IP-маршрутизаторы не собирают фрагменты пакетов в более крупные пакеты даже если на пути встречается сеть, допускающая такое укрупнение. Это связано с тем, что отдельные фрагменты сообщения могут перемещаться по различным фрагментам сети по различным маршрутам, поэтому нет никакой гарантии, что все фрагменты пройдут через один определенный маршрутизатор на их пути. Сбор исходного IP-пакета происходит на хосте назначения IP-протоколом по признакам, говорящим, что данные пакеты являются фрагментами одного исходного пакета.
Поскольку сеть FDDI имеет значение MTU большее, чем сеть Ethernet, то фрагментация IP-пакета не требуется. Поэтому далее, маршрутизатор №1 формирует кадр формата FDDI. На этом этапе модуль IP должен определить MAC-адрес порта следующего маршрутизатора по известному IP-адресу: 135.12.0.11 . Для этого протокол IP обращается к протоколу ARP. Пусть требуемой записи нет в кэш-таблице не оказалось. В этой ситуации в сеть FDDI оправляется широковещательный ARP-запрос содержащий следующую информацию:
Порт №1 маршрутизатора №2 распознает свой IP (135.12.0.11) и посылает ARP-ответ по MAC запросившего узла:
Теперь, зная MAC порта следующего маршрутизатора (00EOF77F51A0) маршрутизатор №1 через свой порт №2 отсылает кадр FDDI по направлению к порту №1 маршрутизатора №2 с MAC назначения MAC21 .
Получив пакет отбрасывается его заголовок, из IP-заголовка извлекается адрес IP назначения, маршрутизатор просматривает свою таблицу маршрутизации, там он сможет найти запись о конкретной сети назначения «203.21.4.12 2», если такая запись в таблице отсутствует, то будет взята запись из таблицы маршрутизатора по умолчанию: «default 203.21.4.12 2». Определив адрес, модуль IP формирует кадр Ethernet для передачи маршрутизатору №3 по сети Ethernet. С помощью протокола ARP он находит MAC порта этого маршрутизатора и помещает в заголовок кадра. При этом IP узла назначения остается неизменным.
После того, как пакет поступил на маршрутизатор назначения (маршрутизатор №3) появляется возможность передачи этого пакета компьютеру назначения. Маршрутизатор №3 определяет, что пакет требуется передать в сеть 142.6.0.0 , которая непосредственно подключена к его порту №1. Поэтому он посылает ARP-запрос по сети Ethernet с IP соответствующего интерфейсу компьютеру s1.msk.su . ARP-ответ содержит MAC сетевой карты компьютера назначения, который протокол IP передает канальному протоколу для формирования кадра Ethernet:
Сетевая карта узла назначения s1.msk.su захватывает кадр Ethernet, обнаруживаются совпадения собственного MAC с MAC-назначения, содержащегося в заголовке пришедшего Ethernet-кадра и направляет содержимое поля данных Ethernet-кадра модулю IP. После анализа полей заголовка IP пакета из него извлекаются данные, которые содержат сообщения вышележащего протокола. Поскольку в данном примере рассматривается обмен данными по протоколу FTP, который использует в качестве транспортного – протокол TCP, то в поле данных IP-пакета находится TCP-сегмент. Определив из TCP-заголовка номер порта (как правило, это порт №21), протокол IP перенаправляет сегмент в соответствующую очередь этого порта, из которой данный сегмент попадает программному модулю FTP-сервера.
Дополнительная информация к разделу «Классы IP-адресов»
Классы D и E IP-адресов не связаны непосредственно с сетями. Если IP-адрес в его двоичном представлении в первом байте начинается с последовательности «1110…», то он является адресом класса D и представляет из себя групповой адрес (multicast). Групповой адрес идентифицирует группу узлов (сетевых интерфейсов), которые в общем случае могут принадлежать разным IP-сетям. Интерфейс, входящий в группу получает наряду с обычным индивидуальным IP классов A, B или C, еще один групповой адрес. Если при отправке пакета в качестве адреса назначения указан адрес класса D, то такой пакет должен быть доставлен всем узлам, входящим в группу. Один и тот же сетевой интерфейс узла (характеризуется индивидуальным IP-адресом) может входить в несколько групп. Следует отметить, что члены какой-либо группы multicast могу распределяться по различным IP-сетям, расстояние между которыми может измеряться произвольным количеством хопов. Групповой адрес не делится на поля IP-адреса сети и IP-адреса узла в этой сети, и обрабатывается маршрутизатором особым образом.
Основное назначение адресов multicast – распространение информации по схеме «один ко многим». Хост, желающий одну и ту же информацию многим абонентам с помощью специального протокола IGMP (Internet Group Management Protocol) сообщает о создании составной сети новой мультивещательной группы с новым определенным адресом класса D. Маршрутизаторы, которые поддерживают мультивещательность , распространяют информацию о создании новой группы в сетях, подключенных к портам этого маршрутизатора. Хосты, которые хотят присоединиться к созданной группе сообщают об этом своим локальным маршрутизаторам и те передают эту информацию хосту – инициатору создания новой группы.
Чтобы маршрутизаторы могли автоматически распространять пакеты с адресом multicast по составной сети, необходимо использовать в конечных маршрутизаторах модифицированные протоколы обмена маршрутной информацией MOSPF (Multicast OSPF). Этот протокол является multicast-аналогом протоколу маршрутизации данных по алгоритму выбора кратчайшего пути OSPF. Групповая адресация предназначена для экономичного распространения в корпоративных сетях или интернете аудио или видео программ, предназначенных для большой аудитории зрителей (трансляции).
Если двоичное представление IP-адреса начинается в первом байте с последовательности «11110…», то это значит, что данный адрес относится к классу E. Адреса этого класса зарезервированы для будущего применения.
Приведем диапазоны адресов сетей классов E и D:
Класс | Первые биты первого байта | Наименьший адрес сети | Наибольший адрес сети |
D | 1110… | 224.0.0.0 | 239.255.255.255 |
E | 11110… | 240.0.0.0 | 247.255.255.255 |
В протоколе IP существует несколько соглашений об особой интерпретации адресов:
· Если весь IP-адрес в двоичном представлении состоит только из нулей, то он обозначает адрес того узла, который сгенерировал этот пакет (этот режим используется только в некоторых сообщениях протокола ICMP)
· Если в поле IP-адреса сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел-отправитель
· Если все двоичные разряды равны единице, то пакет с таким адресом назначения должен рассылаться всем узлам находящемся в той же сети, что и отправитель. Такая рассылка называется ограниченным широковещательным сообщением - LB (Limited Broadcast). Ограниченность в данном случае означает, что пакет не выйдет за границы маршрутизатора.
· Если в поле IP-адреса узла назначения стоят только единицы, то пакет, имеющий такой IP-адрес рассылается всем узлам сети с заданным номером сети. Например, пакет с адресом назначения 192.190.21.255 доставляется всем узлам сети 192.190.21.0 . Такая рассылка называется широковещательным сообщением (Broadcast).
В протоколе IP нет понятия широковещательности в том смысле, в котором оно используется в протоколах канального уровня локальных сетей, когда данные должны быть доставлены абсолютно всем узлам. Как ограниченный широковещательный IP-адрес, так и широковещательный IP-адрес имеют пределы распространения в составной сети – они ограничены либо сетью, к которой принадлежит узел-источник пакета, либо сетью, номер которой указан в адресе узла назначения. Деление составной сети с помощью маршрутизаторов на части локализует широковещательный траффик пределами одной из подсетей (IP-подсетей) просто потому, что нет способа адресовать пакет одновременно всем узлам всех сетей составной сети.
Дата добавления: 2015-08-11; просмотров: 1803;