|
|
|
|
||||
|
|
||||||
|
|
||||||
|
|
||||||
|
INTERNET PROTOCOL
DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION
September 1981
prepared for
Defense Advanced Research Projects Agency
Information Processing Techniques Office
1400 Wilson Boulevard
Arlington, Virginia 22209
by
Information Sciences Institute
University of Southern California
4676 Admiralty Way Marina del Rey, California 90291
|
||||||
|
|
||||||
|
Предисловие
Этот документ содержит спецификацию стандарта DoD1 для протокола IP (IP). Документ основан на 6 предварительных вариантах спецификации протокола ARPA Internet и содержит фрагменты этих спецификаций. В разработке используемых в документе концепций и терминологии принимало участие множество людей. В данной редакции пересмотрены вопросы адресации, обработки ошибок, кодирования опций, приоритетов, изоляции (compartments) и ограничений протокола Internet.
Jon Postel, редактор
За время, прошедшее с момента завершения данного документа протокол IP стал одним из самых распространенных протоколов сетевого уровня OSI/ISO и сегодня этот протокол используется практически на каждом компьютере. Однако за прошедшие годы сильно изменилось толкование некоторых используемых в документе терминов и в переводе используются термины в их современном толковании, дабы не порождать путаницы.
Термин gateway в исходном документе использовался для обозначения устройств, которые сегодня называют маршрутизаторами (router), а термин шлюз (буквальный перевод gateway) обозначает обычно устройства (программы), обеспечивающие преобразование протоколов на более высоких уровнях модели ISO/OSI (например, почтовые шлюзы).
Термин Internet фактически перестал быть нарицательным именем и служит, прежде всего, для обозначения всего множества связанных между собой IP-сетей в масштабе планеты. Поэтому столь распространенное в оригинальном документе словосочетание protocol internet в переводе указывается как протокол IP.
Часто встречающийся в исходном документе термин local network interface переводится как 'интерфейс канального уровня”, в соответствии с современной терминологией.
Николай Малых, переводчик
|
||||||
|
|
||||||
|
1 Министерство обороны США. Прим. перев.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||
|
|
Перевод RFC 791
|
|||
|
|
||||
|
Предметный указатель ................................................................................................................................................................................ 17
|
||||
|
|
||||
|
2
|
||||
|
|
||||
|
|
|||
|
Перевод RFC 791
|
|
||
|
|
|||
|
RFC: 791 Replaces: RFC 760 IENs 128, 123, 111, 80, 54, 44, 41, 28,
|
|||
|
|
|||
|
Internet Protocol
DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION
|
|||
|
|
|||
|
1. Введение
1.1. Мотивация
Протокол IP предназначен для использования в соединенных между собой компьютерных сетях обмена данными на основе коммутации пакетов. Такие системы получили название catenet [1]. Протокол обеспечивает передачу блоков данных, называемых дейтаграммами между отправителем и получателем, хосты которых идентифицируются адресами фиксированной длины. Протокол также обеспечивает фрагментацию и сборку для дейтаграмм большого размера, если сеть не позволяет передать дейтаграмму целиком.
1.2. Сфера действия протокола
Протокол IP ограничивается доставкой битовых пакетов (дейтаграмм) от отправителя к получателю через систему соединенных между собой сетей. Протокол не поддерживает механизмов повышения надежности сквозной доставки, управления потоком данных, сохранения порядка и других функций, общепринятых для протоколов прямого взаимодействия между хостами. Протокол IP использует услуги поддерживающих этот протокол сетей для предоставления услуг различного типа и с разным качеством.
1.3. Интерфейсы
Этот протокол вызывается протоколами взаимодействия “хост-хост”2 и сам вызывает функции локальных сетевых протоколов3 для передачи дейтаграмм следующему маршрутизатору или хосту-получателю.
Например, модуль TCP будет вызывать модуль IP для размещения сегмента TCP (заголовок TCP и пользовательские данные) как объекта данных дейтаграммы IP. Модуль TCP будет указывать адреса и другие параметры заголовка IP в качестве аргументов при вызове функции IP. Модуль IP будет создавать дейтаграмму IP и обращаться к локальному сетевому интерфейсу4 для передачи дейтаграммы.
Для случая ARPANET, например, модуль IP будет вызывать модуль локальной сети, который добавит заголовок типа 1822 [2] к дейтаграмме, создавая сообщение ARPANET для передачи IMP. Адрес ARPANET определяется из адреса IP интерфейсом с локальной сетью и будет принимать значение адреса какого-либо из хостов ARPANET, который может быть шлюзом в другую сеть.
1.4. Работа протокола
Протокол IP выполняет две основных функции – адресацию и фрагментацию/сборку дейтаграмм.
Модули IP используют адреса из заголовков IP для передачи дейтаграмм в направлении получателя. Процесс выбора пути к адресату называется маршрутизацией.
Модули IP используют поля заголовков IP для фрагментации и сборки дейтаграмм IP при необходимости передачи через сети с малым размером пакетов.
Модули IP используются на каждом хосте, участвующем в сети и на каждом маршрутизаторе, соединяющем сети. Эти модули используют общие правила интерпретации полей адреса и фрагментации/сборки дейтаграмм IP. Кроме того, эти модули (особенно в маршрутизаторах) выполняют процедуры принятия решения о пересылке дейтаграмм и выполняют еще ряд функций. Протокол IP трактует каждую дейтаграмму как независимый элемент, не связанный с другими дейтаграммами IP. Протокол не использует соединения или логических устройств (виртуальных или иных).
Для обеспечения сервиса протокол IP использует 4 ключевых механизма - ToS (тип обслуживания), TTL (время жизни), Options (опции) и Header Checksum (контрольная сумма заголовка).
Тип обслуживания (ToS) используется для индикации желаемого качества сервиса. ToS представляет собой абстрактный или обобщенный набор параметров, характеризующих выбранный сервис, который обеспечивается в сетях, образующих Internet. Индикация ToS используется маршрутизаторами для выбора реальных параметров передачи применительно к конкретной сети, следующего интервала или следующего маршрутизатора при доставке дейтаграмм IP.
Время жизни TTL определяет максимальный срок существования дейтаграмм IP. Это значение устанавливается отправителем и уменьшается в каждой точке на пути доставки, где дейтаграмма подвергается обработке. Если значение TTL становится нулевым до того, как дейтаграмма будет доставлена адресату, такая дейтаграмма просто уничтожается. Можно рассматривать TTL как время саморазрушения дейтаграмм.
Опции обеспечивают функции контроля требуемые или полезные в некоторых ситуациях, но не используемые для большинства рутинных задач. Опции включают временные метки, параметры безопасности и специальные средства маршрутизации. Контрольная сумма заголовка обеспечивает возможность проверки корректности передачи дейтаграмм IP. Если при передаче дейтаграмма была повреждена вычисленная заново при обработке контрольная сумма заголовка не совпадет с содержащимся в дейтаграмме значением контрольной суммы и такая дейтаграмма отбрасывается как ошибочная.
Протокол IP не обеспечивает механизма гарантированной доставки. В протоколе не используется подтверждений (сквозных или поэтапных) доставки или средств контроля ошибок (за исключением контрольных сумм заголовка). Протокол также не поддерживает средств повтора передачи и управления потоком данных.
При обнаружении ошибок информация о них может передаваться с помощью протокола ICMP (Internet Control Message Protocol) [3], реализуемого в модуле IP.
|
|||
|
|
|||
|
|
|||
|
|
||||||||||||||
|
|
Перевод RFC 791
|
|||||||||||||
|
|
||||||||||||||
|
2. Обзор
2.1. Связь с другими протоколами
На приведенном справа рисунке (Рисунок 1) показаны связи IP с другими протоколами.
Протокол IP взаимодействует с протоколом вышележащего уровня (протоколы взаимодействия между хостами – host-to-host) и с нижележащим протоколом локальной сети (в этом контексте локальной сетью может считаться небольшая сеть в одном здании или распределенная сеть типа ARPANET).
|
+------+
I Telnet I
|
FTP
|
-----+
TFTPI
|
|
||||||||||
|
|
-+ +-
|
+-----+
|
||||||||||||
|
|
||||||||||||||
|
| |
+ ----- +
| TCP |
|
+-----+
I UDP |
|
|||||||||||||
|
+-----+
|
||||||||||||||
|
|
+-----+
|
|
||||||||||||
|
|
||||||||||||||
|
+ ----- +
| | |
+ -------------------------- +----+
| IP & ICMP |
+ -------------------------- +----+
|
+ --------------------------- +
| Протокол локальной сети |
+ --------------------------- +
Рисунок 1 Связь с другими протоколами
|
||||||||||||||
|
2.2. Модель работы протокола
|
||||||||||||||
|
Модель передачи дейтаграмм от одной прикладной программы к другой можно проиллюстрировать описанным ниже сценарием. Будем предполагать что передача включает лишь один промежуточный шлюз.
Передающая программа готовит свои данные и вызывает локальный модуль IP для передачи этих данных как дейтаграммы, указывая адрес получателя и другие параметры в качестве аргументов.
Модуль IP готовит заголовок дейтаграммы и присоединяет к нему данные. После этого модуль IP определяет локальный сетевой адрес для указанного получателя (в данном случае это адрес шлюза). Модуль передает дейтаграмму и локальный адрес локальному сетевому интерфейсу5.
Интерфейс канального уровня создает заголовок и присоединяет к нему дейтаграмму IP, после чего пакет передается в локальную
|
||||||||||||||
|
|
||||||||||||||
|
Прикладная программа \ модуль
|
IP
|
Прикладная программа
|
Дейтаграмма приходит на хост-шлюз в пакете канального уровня. Интерфейс канального
|
|||||||||||
|
/ модуль IP модуль IP
|
уровня удаляет заголовок канального уровня
|
|||||||||||||
|
\ LN
|
/ \ /
-1 LNI-1 LNI-2 LNI-2
\ / \ /
Локальная сеть 1 Локальная сеть 2 Рисунок 2 Путь передачи данных
|
и передает дейтаграмму модулю IP. Модуль IP определяет на основе IP-адреса, что дейтаграмму следует переслать хосту другой сети. Тогда модуль IP определяет адрес канального
|
||||||||||||
|
уровня для пересылки дейтаграммы получателю и вызывает интерфейс канального уровня той сети, куда будет передаваться дейтаграмма. Интерфейс канального уровня создает заголовок и, присоединив к нему дейтаграмму, передает пакет хосту-адресату. На хосте получателя дейтаграмма выделяется из пакета интерфейсом канального уровня и передается модулю IP. Модуль IP определяет по заголовку, что дейтаграмма адресована приложению на данном хосте и передает прикладной программе данные из дейтаграммы вместе с адресом отправителя и другими параметрами в ответ на системный вызов.
2.3. Функциональное описание
Задачей протокола IP является перемещение дейтаграмм через множество соединенных между собою сетей. Эта задача решается путем передачи дейтаграмм от одного модуля IP к другому, пока дейтаграмма не будет доставлена адресату. Модули IP размещаются на хостах и шлюзах (маршрутизаторах) Internet. Дейтаграммы маршрутизируются от одного модуля IP к другому через промежуточные сети на основе интерпретации адресов IP. Таким образом, одним из важнейших механизмов IP является адресация. При маршрутизации сообщений от одного модуля IP к другому может потребоваться передача дейтаграмм через сети, для которых максимальный размер пакета меньше размера дейтаграммы. Для решения этой проблемы протокол IP обеспечивает механизмы фрагментации и сборки дейтаграмм.
Адресация
Следует различать имена, адреса и маршруты [4]. Имя указывает объект, который мы видим. Адрес показывает местонахождение, а маршрут говорит, как до него добраться. Протокол IP имеет дело преимущественно с адресами. Отображение адресов на имена и обратно (преобразование) является задачей протоколов более высоких уровней (т. е., транспортного и сеансового6). Модуль IP преобразует адреса IP в адреса локальной сети. Отображение адресов локальной сети в маршруты является задачей процедур нижележащего уровня (т. е.. локальной сети или шлюзов)7.
Адреса имеют IP фиксированную длину – 4 октета (32 бита). Адрес начинается с номера сети, за которым следует локальный адрес8 (его называют полем rest - остаток). Существует три класса адресов IP - класс A, в котором старший бит имеет значение 0, остальные 7 битов старшего октета задают номер сети, а 24 младших бита – номер хоста; класс B, в котором два старших бита имеют значения 10, следующие 14 битов определяют номер сети, а последние 16 битов – номер хоста; класс C, в котором три старших бита имеют значения 110, следующие 21 образуют номер сети, а последние 8 битов определяют номер хоста.
Следует с осторожностью относиться к преобразованию адресов IP в адреса локальной сети, поскольку один физический хост может функционировать как несколько различных хостов, использующих разные адреса IP. И наоборот, некоторые хосты могут использовать множество физических интерфейсов (многодомные хосты - multi-homing).
Таким образом, следует обеспечить возможность присутствия на хосте множества физических интерфейсов в сеть, каждый из которых может иметь несколько логических адресов IP. Примеры отображения адресов приводятся в работе Address Mappings [5].
Фрагментация
Фрагментация дейтаграмм IP требуется в тех случаях, когда дейтаграмма происходит из сети, которая поддерживает больший размер пакетов, нежели промежуточные сети на пути к адресату.
|
||||||||||||||
|
|
||||||||||||||
|
5 Интерфейсу канального уровня. Прим. перев.
6 В современной терминологии. Прим. перев.
7 В современном понимании терминов это выражение не совсем корректно, поскольку отображение адресов на маршруты (маршрутизация) осуществляется как раз на уровне IP, а не на канальном уровне. Канальный уровень обеспечивает преобразование адресов IP в адреса канального уровня (MAC-адреса) и обратно с помощью протоколов типа ARP/RARP. Пользуясь современной терминологией, лучше было бы сказать “отображение адресов локальной сети в каналы передачи”. Прим. перев.
8 В современной терминологии – номер хоста. Прим. перев.
|
||||||||||||||
|
|
||||||||||||||
|
4
|
||||||||||||||
|
|
||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Перевод RFC 791
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Дейтаграмма IP может быть помечена как don't fragment (не фрагментировать). Такие дейтаграммы не будут фрагментироваться ни при каких обстоятельствах. Если нефрагментируемая дейтаграмма IP не может быть доставлена адресату без фрагментации, она просто отбрасывается.
Допускается использование невидимой для модуля IP фрагментации, передачи и сборки дейтаграмм в локальной сети [6]. Процедуры фрагментации и сборки дейтаграмм должны обеспечивать возможность разбиения дейтаграмм на почти произвольное число частей, которые впоследствии могут быть собраны воедино. Получатель фрагментов использует поле идентификации для того, чтобы фрагменты разных дейтаграмм не перемешивались. Поле смещения дейтаграммы говорит получателю о положении фрагмента в исходной дейтаграмме. Поля смещения и размера фрагмента определяют часть исходной дейтаграммы, содержащуюся в отдельном фрагменте. Флаг наличия последующих фрагментов (если он сброшен) говорит о том, что фрагмент является последним в дейтаграмме.
Поле идентификации позволяет различать фрагменты разных дейтаграмм. Отправляющий дейтаграмму модуль протокола устанавливает значение поля идентификации в каждой дейтаграмме так, чтобы оно было уникальным для данной пары отправитель-получатель и протокола в течение времени присутствия дейтаграммы в сети Internet. Этот модуль также устанавливает нулевые значения смещения фрагмента и флага наличия других фрагментов (more-fragments flag).
Для фрагментирования длинной дейтаграммы IP модуль IP (например, на маршрутизаторе) создает две новых дейтаграммы IP и копирует содержимое полей заголовка из длинной дейтаграммы в заголовки обеих новых дейтаграмм. Данные исходной дейтаграммы делятся на две части по 64 битовой (8 октетов) границе. Вторая часть дейтаграммы может иметь размер, не кратный 8 октетам (64 битам), но первая часть должна содержать целое число 8-октетных блоков. Назовем число 8-октетных блоков в первой части дейтаграммы NFB (Number of Fragment Blocks – число блоков фрагментации). Первая часть дейтаграммы помещается в первую из новых дейтаграмм IP и поле длины устанавливается в соответствии длиной первой дейтаграммы. Для первой дейтаграммы устанавливается флаг наличия дополнительных фрагментов. Вторая часть данных помещается во вторую из созданных заново дейтаграмм и поле размера устанавливается в соответствии с длиной новой дейтаграммы. Значение поля смещения увеличивается на величину NFB. Значение флага наличия дополнительных фрагментов сохраняется в соответствии с флагом исходной нефрагментиро-ванной дейтаграммы.
Эту процедуру легко обобщить на случай разбиения дейтаграммы на n фрагментов, где n > 2.
Для сборки фрагментов дейтаграммы IP, модуль IP (например, на хосте адресата) объединяет дейтаграммы IP с совпадающими значениями полей идентификации, адресов отправителя и получателя, а также протокола. Объединение осуществляется путем размещения данных из каждой дейтаграммы в позицию буфера, указанную полем смещения фрагмента в заголовке IP. Первый фрагмент будет иметь нулевое смещение, а для последнего фрагмента флаг more-fragments будет иметь нулевое значение.
2.4. Шлюзы
Шлюзы9 обеспечивают пересылку дейтаграмм IP между сетями, обеспечивая также поддержку протокола GGP10 (Gateway to Gateway Protocol – протокол обмена данными между шлюзами) [7] для обмена данными маршрутизации и другой управляющей информацией.
В шлюзах реализация протоколов вышележащих уровней не обязательна и + ------------------------------- +
функции GGP могут быть реализованы в модуле IP. | IP + ICMP + GGP |
+ ------------------------------- +
3. Спецификация | |
+ --------------- + + --------------- +
| Локальная сеть| | Локальная сеть|
3.1. Формат заголовка IP + ----------- + + ----------- +
Рисунок 3 Протоколы шлюзов Заголовок дейтаграмм internet имеет следующий формат:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 1 2
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Рисунок 4 Формат заголовка дейтаграммы IP.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Version – 4 бита
Это поле указывает номер версии протокола и определяет формат заголовка. Данная спецификация описывает версию 4.
IHL - 4 бита
Это поле содержит размер заголовка IP в 32-битовых словах и указывает на начало данных. Отметим, что минимальное значение этого поля для корректного заголовка составляет 5.
ToS - 8 битов
Поле ToS обеспечивает индикацию абстрактных параметров желаемого качества обслуживания. Это значение используется при выборе реальных параметров обслуживания в процессе передачи дейтаграммы через отдельную сеть. Некоторые сети предлагают приоритетный сервис, который тем или иным способом трактует трафик с большим уровнем предпочтения как более важный, нежели трафик другого типа (обычно при высокой загрузке просто воспринимается только трафик с уровнем предпочтения выше некоторого порога). Основной выбор осуществляется между тремя вариантами – малая задержка, высокая надежность, высокая пропускная способность. биты 0-2: предпочтения.
бит 3: 0 = обычная задержка, 1 = малая задержка.
бит 4: 0 = обычная пропускная способность, 1 = высокая пропускная способность. бит 5: 0 = обычная надежность, 1 = высокая надежность.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
9 Маршрутизаторы в соответствии с современной терминологией. Прим. перев.
10 В настоящее время для обмена информацией между маршрутизаторами используются более изощренные протоколы типа RIP, OSPF, BGP. Прим. перев.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||
|
|
Перевод RFC 791
|
||||
|
|
|||||
|
биты 6-7: зарезервированы для использования в будущем.
Precedence (предпочтения) 0 1 2 3 4 5 6 7
111 – управление сетью Precedence D T R 0 0
110 – межсетевое управление
101 - CRITIC/ECP
100 - сверхсрочно
011 - срочно
010 - незамедлительно
001 - приоритетный
000 - обычный Использование флагов Delay, Throughput, Reliability может увеличивать стоимость (в том или ином смысле) обслуживания. Во многих сетях предпочтение по одному из этих параметров может быть связано с потерями по другому. За исключением специальных случаев следует использовать не более двух флагов из 3 возможных.
Значение ToS используется для задания способа обработки дейтаграмм в процессе их передачи через internet. Например, отображение значений ToS на реальные параметры обслуживания в сетях AUTODIN II, ARPANET, SATNET, PRNET описано в работе Service Mappings [8].
Уровень предпочтения Network Control (управление сетью) означает, что дейтаграмма предназначена для использования внутри сети. Реальная трактовка этого обозначения определяется местными условиями сети. Значение Internetwork Control (межсетевое управление) показывает дейтаграммы, предназначенные только для управления шлюзами. Если та или иная сеть использует значение уровня предпочтения, она берет на себя ответственность за доступ к этим полям и их использование.
Total Length - 16 битов
Это поле указывает общий размер (в октетах) дейтаграммы с учетом заголовка и данных. Размер этого поля позволяет создавать дейтаграммы длиной до 65 535 октетов. Столь большие дейтаграммы неприемлемы для большинства хостов и сетей. Все хосты должны быть готовы к восприятию дейтаграмм размером до 576 октетов (целиком или в виде фрагментов). Хостам рекомендуется передавать дейтаграммы, размер которых превышает 576 октетов только в тех случаях, когда есть уверенность, что адресат может принимать такие дейтаграммы.
Значение 576 выбрано для того, чтобы дейтаграммы могли кроме заголовка содержать блок данных разумных размеров. Например, такой размер позволяет передавать блок данных размером 512 октетов с 64-октетным заголовком. Максимальный размер заголовка IP составляет 60 октетов, а размер типичного заголовка IP - 20 октетов, что оставляет достаточно места для заголовков вышележащих уровней.
Identification - 16 битов
Значение поля идентификации присваивается отправителем для обеспечения корректной сборки фрагментов дейтаграммы.
Flags - 3 бита
Набор флагов управления. 0 1 2
Бит 0: зарезервирован (должен иметь значение 0) 0 DF MF
Бит 1: (DF) 0 = фрагментация возможна, 1 = фрагментация недопустима. Бит 2: (MF) 0 = последний фрагмент, 1 = фрагмент не является последним.
Fragment Offset - 13 битов
Это поле показывает положение данного фрагмента в исходной дейтаграмме. Смещение измеряется в единицах, кратных 8 октетам (64 бита). Смещение первого фрагмента равно нулю.
TTL - 8 битов
Это поле определяет максимальный срок существования дейтаграммы в системе internet. Дейтаграммы с нулевым значением времени жизни должны уничтожаться. Значение этого поля изменяется при обработке заголовков IP. Время измеряется в секундах, но, поскольку каждый обрабатывающий дейтаграмму модуль должен уменьшать значение TTL, по крайней мере, на 1 (даже если обработка длилась меньше секунды), значение TTL следует рассматривать как верхний предел срока жизни дейтаграммы в систем. Это поле введено для того, чтобы можно было избавиться от недоставленных дейтаграмм.
Protocol - 8 битов
Это поле указывает протокол следующего11 уровня, содержащийся в поле данных дейтаграммы IP. Идентификаторы протоколов указаны в Assigned Numbers [9].
Header Checksum - 16 битов
Контрольная сумма полей заголовка. Поскольку некоторые поля заголовка (например, TTL) изменяются в процессе доставки, значение контрольной суммы проверяется и вычисляется заново в каждой точке обработки заголовков IP.
Контрольная сумма заголовка представляет собой 16-битовое поразрядное дополнение (one's complement) суммы поразрядных дополнений всех 16-битовых слов заголовка. При вычислении контрольной суммы значение самого поля принимается нулевым. Контрольную сумму легко посчитать и можно показать ее адекватность, но алгоритм вычисления контрольной суммы может быть заменен специальной процедурой CRC с учетом опыта использования12.
Source Address - 32 бита
Адрес отправителя (см. параграф 3.2. Обсуждение).
Destination Address - 32 бита
Адрес получателя (см. параграф 3.2. Обсуждение).
Options – переменная длина
Поле опций является необязательным. Поддержка опций должна реализоваться во всех модулях IP (на хостах и шлюзах). Использование опций определяется для отдельной дейтаграммы, а не для реализации модуля. В некоторых средах использование опций безопасности является обязательным.
|
|||||
|
|
|||||
|
|
Транспортного (прим. перев.)
|
|
|||
|
12 Описанная процедура вычисления контрольной суммы используется и сегодня. Прим. перев.
|
|||||
|
|
|||||