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