Сидни Фейт - TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
Максимальный размер кадра – длина заголовка кадра – длина завершающей части кадра – размер заголовка уровня связи данных
Максимально возможная длина датаграммы в заданном носителе называется максимальным элементом пересылки (Maximum Transmission Unit — MTU). Например, для DIX Ethernet значение MTU равно 1500 октетам, для 802.3 — 1492 октетам, для FDDI — 4352, для SMDS — 9180 октетам.
В больших сетях интернета хост источника может не знать размеров всех ограничений по пути пересылки датаграммы. Что же произойдет, если хост отправит слишком большую для одной из промежуточных сетей датаграмму?
Когда такая датаграмма достигнет маршрутизатора, подключенного к промежуточной сети, IP решит проблему с размером датаграммы, разделив ее на несколько небольших фрагментов. Хост назначения далее должен будет провести сборку всех полученных кадров и восстановить исходную датаграмму.
Фрагментация наиболее часто выполняется в маршрутизаторах, однако приложения UDP могут разделить длинное сообщение на фрагменты датаграмм сразу в хосте источника.
6.13 Механизмы протокола IP
Рассмотрим более детально характеристики протокола IP версии 4, в том числе элементы формата этого протокола — формат заголовка IP и правила управления датаграммой, пересылаемой по сети. Протокол IP версии 6 рассмотрен в главе 22 (IP версии 5 не существует).
6.13.1 Заголовок датаграммы
Заголовок датаграммы организован как 5 или более 32-разрядных слов. Максимальная длина заголовка — 15 слов (т.е. 60 октетов), но на практике большинство заголовков датаграмм имеют минимально возможную длину в 5 слов (20 октетов).
Поля заголовка показаны на рис. 6.11. Они структурированы как последовательность слов. Отметим, что биты слов пронумерованы от 0 до 31.
Рис. 6.11. Формат датаграммы протокола IP
6.13.2 Поля назначения, поле источника и поле протокола
Наиболее важными полями заголовка являются: Destination IP Address (IP-адрес назначения), Source IP Address (IP-адрес источника) и Protocol (протокол).
IP-адрес назначения позволяет маршрутизировать датаграмму. Как только она достигает точки назначения, поле протокола позволяет доставить ее в требуемую службу, подобную TCP или UDP, Кроме TCP и UDP, существует еще несколько протоколов, способных посылать и получать датаграммы. Организация IANA отвечает за координацию присваивания значений параметрам TCP/IP, включая значения в поле протокола. Некоторые значения из этого поля имеют лицензионный, специфичный для конкретного производителя смысл.
В таблице 6.1 показаны наиболее распространенные значения из поля протокола.
Таблица 6.1 Общепринятые номера из поля протокола заголовка IP
Номер Название Протокол Описание 1 ICMP Internet Control Message Protocol Переносит сообщения об ошибках и поддерживает отдельные сетевые утилиты 2 IGMP Internet Group Management Protocol Обеспечивает группы для многоадресных рассылок 6 TCP Transmission Control Protocol Обслуживает сеансы 8 EGP Exterior Gateway Protocol Устаревший протокол для маршрутизации во внешней сети 17 UDP User Datagram Protocol Обслуживает доставку независимых блоков данных 88 IGRP Interior Gateway Routing Protocol Обеспечивает взаимный обмен информацией о маршрутизации между маршрутизаторами компании Cisco6.13.3 Версия, длина заголовка и длина датаграммы
В настоящее время используется четвертая версия IP (версия "Следующее поколение" имеет номер 6).
Длина заголовка измеряется в 32-разрядных словах. Если не нужны дополнительные варианты, можно ограничиться длиной заголовка в 5 слов (т.е. 20 октетов). Если задействованы один или больше дополнительных вариантов, может потребоваться заполнить конец заголовка незначащими нулями до границы 32-разрядного слова.
Поле длины датаграммы определяет размер датаграммы в октетах. В это значение включается как заголовок, так и часть данных датаграммы. В таком 16-разрядном поле можно указывать значения до 216-1 октет = 65 535 октетов.
Сетевые технологии — не единственная причина ограничений на размер датаграмм. Различные типы компьютеров, поддерживающих IP, имеют разные ограничения, связанные с размером буферов памяти, используемых для сетевого трафика (стандарт IP требует, чтобы все хосты были способны принимать датаграммы не менее чем из 576 октетов).
6.13.4 Приоритет и тип обслуживания
Первоначальным спонсором набора протоколов TCP/IP было Министерство обороны США, для которого было важно задание приоритетов датаграмм. Приоритеты мало используются вне военных и правительственных организаций. Для приоритета предназначены 3 бита, обеспечивающие 8 различных уровней.
Стандарт IP не регламентирует действия с битами приоритета. Первоначально они предназначались для установки параметров подсетей, которые будет пересекать датаграмма при следующем попадании. Например, на основе битов приоритета управляется протокол Token-Ring. В этом случае IP должен отображать биты приоритета в соответствующие уровни Token-Ring.
Тип обслуживания (Type of Service — TOS) содержит биты, определяющие качество обслуживания информации, которое может повлиять на обработку датаграмм. Например, когда маршрутизатору не хватает памяти, он вынужден отклонять некоторые датаграммы. Он мог бы рассматривать только датаграммы, у которых бит надежности установлен в единицу, и отбрасывать датаграммы с нулевым битом надежности.
Положение приоритета и типа обслуживания:
Биты Тип Описание 0-2 Приоритет Уровни 0-7 Уровень 0 — обычный приоритет Уровень 7 — самый высокий приоритет 3-6 TOS Задержка, надежность, пропускная способность, стоимость или безопасность 7 Зарезервировано для будущего использованияТип обслуживания определяет (как описано в текущем документе Assigned Numbers) значения, приведенные в таблице 6.2. Это взаимоисключающие значения — для любой IP-датаграммы требуется только одно значение TOS. Стандарт Assigned Numbers рекомендует использовать специальные значения для каждого из приложений. Например для telnet — минимизировать задержку, для копирования файлов — максимизировать производительность и надежность при доставке управляющих сетевых сообщений.
Таблица 6.2 Значения поля типа обслуживания (TOS)
Значение TOS Описание 0000 По умолчанию 0001 Минимизировать денежную стоимость 0010 Максимизировать надежность 0100 Максимизировать производительность 1000 Минимизировать задержку 1111 Максимизировать безопасностьНекоторые маршрутизаторы полностью игнорируют поле типа обслуживания, в то время как другие могут использовать его при выборе трафика, который следует предохранить на случай недостатка оперативной памяти. Можно надеяться, что в будущем поле типа обслуживания будет играть гораздо большую роль. Рекомендуемые в документе Assigned Numbers значения представлены в таблице 6.3.