N | Поле | Число октетов |
1 | Source Port | 2 |
2 | Destination Port | 2 |
3 | Length | 2 |
4 | Checksum | 2 |
Далее следуют октеты пользовательских данных.
2.3. Поле "Source Port (порт отправителя)" является необязательным и (когда используется) показывает номер порта передающего процесса. При наличии данного поля отклики адресуются на тот же порт. Если номер порта не задан, значение поля равно "0".
2.4. Поле "Destination Port" имеет значение в контексте адресации отдельного соединения.
2.5. Поле "Length" указывает размер (в октетах) пользовательской дейтаграммы с учетом заголовка и данных. Минимальное значение поля длины составляет "8" (длина заголовка в октетах).
2.6. Поле "Checksum" содержит контрольную сумму, вычисляемую как поразрядное дополнение до единицы суммы поразрядных дополнений до единицы всех 16-битовых слов псевдозаголовка из заголовка IP, заголовка UDP и данных, дополненных при необходимости справа нулями для выравнивания по 2-октетной границе. Псевдозаголовок, предшествующий заголовку UDP, содержит адреса отправителя и получателя, а также размер пакета UDP. Эта информация позволяет предотвратить ошибочную маршрутизацию дейтаграмм. Если рассчитанное значение контрольной суммы равно "0", все биты поля заполняются единицами (эквивалент "0" в арифметике с дополнением до "1"). Передача нулевого значения контрольной суммы означает, что на передающей стороне контрольная сумма не была рассчитана (используется для отладки или для протоколов вышележащих уровней, которые не используют контрольную сумму).
3. Протокол TCP.
3.1. Номер протокола TCP в стеке протоколов IP-6.
3.2. Формат заголовка пакета протокола TCP приведен в таблице N 6.