- •6. Сети tcp/ip
- •6.1. Архитектура стека протоколов tcp/ip
- •6.2.1. Структура ip-пакета
- •6.2.2. Адресация в сетях ip
- •6.2.3. Разрешение ip-адресов в физические адреса сетевых устройств. Протокол arp
- •6.2.5. Icmp-протокол обмена управляющей информацией
- •6.2.5. Ip маршрутизация
- •6.2.6. Обработка ip-пакетов маршрутизатором
6.2.6. Обработка ip-пакетов маршрутизатором
Маршрутизатор выполняет две основные функции:
определение адреса очередного хоста на маршруте пакета и
коммутацию пакета с входного физического интерфейса на выходной.
Определение маршрута, как правило, реализуется программным образом, а коммутация пакетов в современных маршрутизаторах выполняется аппаратно. Программное обеспечение маршрутизатора включает в себя набор модулей протоколов IP, ICMP, маршрутизации, процедур поддержки определенных сервисов (фильтрация и т.п.).
Поскольку фрагментация пакетов заметно снижает производительность соединения и приложений, то в 1988 году была предложена процедура Path MTU Discoverу (PMTUD). Она описана в RFC 1191. Суть процедуры в том, что в ходе установления соединения между взаимодействующими процессами, реализуемом на транспортном уровне, IP-модули конечных станций получают указание во всех пакетах данных этого приложения устанавливать бит DF ("Dont Fragmented"). Это заставляет маршрутизатор, который должен перенаправить пакет через интерфейс, MTU которого меньше размера пакета, отбрасывать его и отправлять хосту-отправителю сообщение ICMP типа 3 с кодом 4, означающее "Хост недоступен, поскольку пакет слишком большой". В этом же ICMP сообщении передается размер MTU следующего участка маршрута. Таким образом, ICMP-модуль хоста-отправителя после получения указанного выше сообщения (ICMP 3:4), передает приемлемое значение MTU транспортному модулю, который уменьшает размер своих сегментов, и повторяет отправку отброшенного сегмента. В итоге IP-модуль, которому запрещена фрагментация пакетов данного потока, получает возможность доставить пакеты хосту-получателю.
Основные процедуры IP-протокола обобщаются в алгоритме обработки пакетов маршрутизатором, информационная схема которого приведена на рис.6.13.
