Поле смещения данных

Это четырехразрядное поле используется для указания, где начинается полезная нагрузка TCP. Оно называется также полем длины заголовка, так как после вычисления, где начинаются данные TCP, мы знаем длину заголовка. Длина заголовка TCP (включая параметры) всегда кратна 32 битам и не превосходит 60 байтов. Шесть битов, следующих за полем сдвига данных, зарезервированы и должны быть заданы как 0.
Шесть флагов TCP В заголовке TCP можно установить шесть флагов (см. ниже). Они устанавливаются с помощью одноразрядного поля для каждого из доступных флагов. Поэтому поле флагов занимает в заголовке всего шесть битов. Если флаг не установлен (т.е. сброшен), то в соответствующем поле стоит значение 0.
1. Поле срочности (URG) существенно. При заданном флаге в поле указателя срочности содержатся важные данные. Срочные данные не являются частью обычного потока данных и будут обрабатываться до любых других данных. Срочные данные могут использоваться для прерывания программ и уведомления приложения о событиях десин-хронизации. Они используются также для передачи по сети приложению сообщения, которое не является частью текущего потока данных (данные вне полосы).
2. Поле подтверждения (АСК) существенно, когда задан этот флаг. Когда создано нормальное соединение, флаг АСК будет постоянно в работе.
3. Флаг выталкивания (PSH) указывает, что данные в сегменте и другие полученные данные, которые находятся в буфере получения, немедленно должны быть переданы в приложение. TCP часто будет держать входящие данные в буфере получения, когда буфер заполняется, он передает данные приложению. Это может вызывать проблемы в некоторых приложениях, таких как Telnet, которому необходимо иметь возможность передать клавишный ввод на другую машину. Выталкиваемые данные не должны подтверждаться немедленно, это может произойти при следующей нормальной передаче данных.
4. Флаг сброса (RST) используется для прекращения соединения. Когда на активном соединении получен флаг сброса, это означает, что произошла ошибка, и соединение должно быть принудительно закрыто. Получение сброса при попытке установления соединения означает отказ.
5. Флаг синхронизированного порядкового номера (SYN) используется в начале настройки соединения для создания порядковых номеров и подтверждения. До создания соединения ни одна из машин не знает о порядковых номерах другой машины. В начале общения используется трехходовое квитирование для передачи информации о порядковых номерах. Флаг SYN используется для согласования порядковых номеров.
6. Флаг завершения отправки данных (FIN) "культурно" завершает соединение TCP. Когда одна машина хочет прекратить соединение, она посылает сегмент с установленным флагом FIN. Если обе машины послали сегменты с установленным FIN и подтвердили флаг, соединение завершается.
Поле окна Поле окна содержит 16 битов и используется для указания числа байтов, которое готов принять отправитель сегмента TCP. Эти данные должны начинаться с октета, указанного в поле подтверждения, иначе они будут отвергнуты. Это окно является явным указанием размера буфера TCP на посылающем хосте. Оно также используется для определения максимального порядкового номера, который может быть подтвержден из этого сегмента добавлением номера текущего подтверждения к номеру поля окна.
Контрольная сумма Контрольная сумма является 16-битным числом, представляющим собой двоичное дополнение суммы дополнений до единицы всех 16-битных слов в заголовке TCP и тексте. Если сегмент имеет нечетное число октетов текста и заголовка, то последний октет дополняется справа нулями, пока не будет сформировано 16-битное слово для использования при вычислении контрольной суммы. Важно отметить, что дополнение нулями не передается. Пока контрольная сумма вычисляется, поле контрольной суммы заполняется нулями.
Указатель срочности Поле указателя срочности является 16-битным полем, которое задается равным порядковому номеру последнего октета срочных данных. Оно используется, только когда передаются сегменты с битом URG (срочный). Иначе это поле задается равным нулю (0x0).
Заполнение кадра и параметры Поле параметров является набором из 32 битов, которые используются для хранения параметров TCP. Если параметры не используют все 32-битное поле, оно заполняется нулями.

Оставьте комментарий