- •Технологии построения локальных сетей (Колчин)
- •1. Эталонная модель взаимодействия открытых систем (osi)
- •2. Методы кодирования информации в сетях Ethernet
- •3. Топология локальных сетей
- •4. Ethernet 10/100 Мбит/с
- •6. Метод доступа в сетях Ethernet (csma/cd)
- •7. Структура кадра Ethernet, полезная нагрузка, min размер кадров
- •Коммутаторы Ethernet второго уровня
- •9. Ip v4. Заголовок ip. Тип сервиса
- •10. Адресация межсетевого протокола. Маска подсети. Ip mtu
- •12. Фрагментация протокола ip
- •13. Icmp-сообщения Межсетевой протокол управляющих сообщений.
- •Icmp-сообщения
- •15. Маршрутизация в лвс
- •16. Протокол udp, применение
- •17. Протокол tcp. Заголовок, флаги
- •6 Флагов:
- •Установка соединения
- •Завершение соединения
- •19. Модель tcp/ip
- •20.Технология ip Security и vpn
- •По степени защищенности используемой среды
- •По способу реализации
- •По назначению
- •21.Протокол dns
- •22. Протокол ftp
- •23. Протокол передачи почты (smtp, pop3)
- •24. Протокол dhcp
- •25. Транспортный протокол реального времени rtcp
12. Фрагментация протокола ip
Фрагментация – это разбивка полезной нагрузки на части. Для нее используются 3 поля из IP-заголовка – 5 (идентификатор пакета), 6 (поле флагов), 7 (смещение фрагмента).
IP-пакет может быть помечен как не фрагментируемый. Любой пакет, помеченный таким образом, не может быть фрагментирован модулем IP ни при каких условиях. Если же пакет, помеченный как не фрагментируемый, не может достигнуть получателя без фрагментации, то этот пакет просто уничтожается, а узлу-отправителю посылается соответствующее ICMP-сообщение.
Поле смещения фрагмента сообщает получателю положение фрагмента в исходном пакете. Смещение фрагмента и длина определяют часть исходного пакета, принесенную этим фрагментом. Флаг «more fragments» показывает появление последнего фрагмента. Модуль протокола IP, отправляющий неразбитый на фрагменты пакет, устанавливает в нуль флаг «more fragments» и смещение во фрагменте.
Чтобы собрать фрагменты пакета, модуль протокола IP (например, модуль на хост - компьютере) объединяет IP-пакеты, имеющие одинаковые значения в полях идентификатора, отправителя, получателя и протокола. Таким образом, отправитель должен выбрать идентификатор таким образом, чтобы он был уникален для данной пары отправитель-получатель, для данного протокола и в течение того времени, пока данный пакет (или любой его фрагмент) может существовать в составной IP-сети.
Каждый модуль IP должен быть способен передать пакет из 68 байт без дальнейшей фрагментации. Это связано с тем, что IP-заголовок может включать до 60 байт, а минимальный фрагмент данных - 8 байт. Каждый получатель должен быть в состоянии принять пакет из 576 байт в качестве единого куска либо в виде фрагментов, подлежащих сборке.
===========================
Фрагментация – это деление поля данных исходного пакета на части и оформление этих частей в виде пакетов меньшего размера – фрагментов. Фрагментация выполняется при невозможности передать пакет в следующую по маршруту сеть из-за того, что его размер превосходит максимально допустимый размер единицы передаваемых данных в этой сети. Все фрагменты перемещаются по составной сети независимо друг от друга, поэтому некоторые из них могут прийти не в том порядке, в котором их отправляли, или вовсе потеряться.
Поля фрагментации:
Рисунок показывает поля фрагментации в заголовке IP.
Идентификация
Поле идентификации IP используется для группировки всех фрагментов исходной IP-дейтаграммы воедино. Посылающий хост устанавливает поле идентификации, и оно сохраняется на протяжении процесса фрагментации. Поле идентификации устанавливается, даже когда фрагментация полезной нагрузки IP не разрешена установленным флагом Don’t Fragment.
Флаг Don’t Fragment (не фрагментировать)
Флаг Don’t Fragment (DF) устанавливается в 0 для разрешения фрагментации и устанавливается в 1 для запрещения фрагментации. Поэтому фрагментация будет осуществляться, только если флаг DF установлен в 0. если фрагментация требуется для пересылки IP-дейтаграммы, а флаг DF установлен в 1, маршрутизатор отбрасывает IP-дейтаграмму и посылает сообщение ICMP «Адрес недостижим – требуется фрагментация и установка флага DF» (в 0) обратно к хосту-отправителю.
Флаг More Fragments (есть еще фрагменты)
Флаг More Fragments (MF) устанавливается в 0, если нет больше фрагментов, которые следуют за текущим фрагментом, и устанавливается в 1, если есть еще фрагменты, которые следуют за текущим фрагментом.
Смещение фрагмента
Поле смещения фрагмента устанавливается, чтобы указывать позицию фрагмента относительно исходной полезной нагрузки IP. Смещение фрагмента является смещением, используемым для упорядочения сегментов в течение пересборки, устанавливающей поступающие фрагменты в соответствующем порядке для восстановления исходной полезной нагрузки. Поле смещения фрагмента имеет длину в 13 бит.
Для каждого фрагмента, фрагментируемого маршрутизатором, исходный заголовок IP копируется, и изменяются следующие поля:
Длина заголовка. Может или не может изменяться в зависимости от того, установлены ли опции IP и скопированы ли опции во все фрагменты или же просто в один фрагмент.
TTL. Уменьшается на 1.
Суммарная длина. Изменяется, чтобы отобразить новый размер заголовка IP и полезной нагрузки IP.
Смещение фрагмента. Установлено для указания позиции фрагмента в блоке фрагментов относительно исходной полезной нагрузки.
Контрольная сумма заголовка. Пересчитывается на основе измененных полей в заголовке IP.
Пример фрагментации
В качестве примера процесса фрагментации рассмотрим узел сети Token Ring, желающий послать фрагментированную IP-дейтаграмму с полем идентификации IP, установленным в 9999, к узлу сети Ethernet.
Задаваясь временем хранения метки, равным 9 мс, кольцом со скоростью 4Мбит/с и отсутствием заголовка исходной маршрутизации Token Ring, IP MTU для сети Token Ring равен 4482 байтам. IP MTU для Ethernet составляет 1500 байт при использовании заголовкаIP и его значений для исходной IP-дейтаграммы.
Исходная IP-дейтаграмма
Поле IP-заголовка |
Значение |
Суммарная длина |
4482 |
Идентификация |
9999 |
DF |
0 |
MF |
0 |
Смещение фрагмента |
0 |
Полезные нагрузки IP в сети Ethernet могут быть длиной в 1480 байт. Каждая 1480-байтная полезная нагрузка состоит из 185 блоков фрагментов (185*8 = 1480). Поэтому четыре фрагмента – это три фрагмента с 1480-байтной полезной нагрузкой и последний фрагмент – с 22-байтной (4462 = 1480 + 1480 + 1480 + 22). Следующий рисунок показывает процесс фрагментации:
Следующая таблица показывает поля, относящиеся к фрагментации в заголовке IP из четырех фрагментов.
Поле IP-заголовка |
Значение |
Фрагмент 1 |
|
Суммарная длина |
1500 |
Идентификация |
9999 |
DF |
0 |
MF |
1 |
Смещение фрагмента |
0 |
Фрагмент 2 |
|
Суммарная длина |
1500 |
Идентификация |
9999 |
DF |
0 |
MF |
1 |
Смещение фрагмента |
185 |
Фрагмент 3 |
|
Суммарная длина |
1500 |
Идентификация |
9999 |
DF |
0 |
MF |
1 |
Смещение фрагмента |
370 (=185+185) |
Фрагмент 4 |
|
Суммарная длина |
42 |
Идентификация |
9999 |
DF |
0 |
MF |
0 |
Смещение фрагмента |
555 (=185+185+185) |
Сборка
При сборке устанавливается таймер, ограничивающий время ожидания фрагментов. Если ко времени истечения таймера хотя бы 1 фрагмент не дойдет до узла назначения, то все фрагменты отбрасываются.
