Интернет магазин китайских планшетных компьютеров



Компьютеры - TCP - Заголовок сегмента TCP

14 июня 2011


Оглавление:
1. TCP
2. Заголовок сегмента TCP
3. Механизм действия протокола



Заголовок сегмента TCP
Бит 0 — 3 4 — 9 10 — 15 16 — 31
0 Порт источника Порт назначения
32 Номер последовательности
64 Номер подтверждения
96 Смещение данных Зарезервировано Флаги Размер Окна
128 Контрольная сумма Указатель важности
160 Опции
160/192+  
Данные
 

Порт источника

Порт источника идентифицирует приложение клиента, с которого отправлены пакеты. По возвращении данные передаются клиенту на основании номера порта источника.

Порт назначения

Порт назначения идентифицирует порт, на который отправлен пакет.

TCP-порты

Существует набор служб, за которыми закреплены определенные порты:

  • 20/21 — FTP
  • 22 — SSH
  • 23 — Telnet
  • 25 — SMTP
  • 80 — HTTP
  • 110 — POP3
  • 194 — IRC
  • 443 — HTTPS
  • 1863 — MSN Messenger
  • 2000 — Cisco SCCP
  • 3389 — RDP
  • 8080 — альтернативный порт HTTP

См. Список портов TCP и UDP

Номер последовательности

Номер последовательности выполняет две задачи:

  1. Если установлен флаг SYN, то это начальное значение номера последовательности — ISN, и первый байт данных, которые будут переданы в следующем пакете, будет иметь номер последовательности, равный ISN + 1.
  2. В противном случае, если SYN не установлен, первый байт данных, передаваемый в данном пакете, имеет этот номер последовательности.

Поскольку поток TCP в общем случае может быть длиннее, чем число различных состояний этого поля, то все операции с номером последовательности должны выполняться по модулю 2^32. Это накладывает практическое ограничение на использование TCP. Если скорость передачи коммуникационной системы такова, чтобы в течение MSL произошло переполнение номера последовательности, то в сети может появиться два сегмента с одинаковым номером, относящихся к разным частям потока, и приёмник получит некорректные данные.

Номер подтверждения

Если установлен флаг ACK, то это поле содержит номер последовательности, ожидаемый получателем в следующий раз. Помечает этот сегмент как подтверждение получения.

Смещение данных

Это поле определяет размер заголовка пакета TCP в 4-байтных словах. Минимальный размер составляет 5 слов, а максимальный — 15, что составляет 20 и 60 байт соответственно. Смещение считается от начала заголовка TCP.

Зарезервировано

Зарезервировано для будущего использования и должно устанавливаться в ноль. Из них два уже определены:

  • CWR — Поле «Окно перегрузки уменьшено» — флаг установлен отправителем, чтоб указать, что получен пакет с установленным флагом ECE
  • ECE — Поле «Эхо ECN» — указывает, что данный узел способен на ECN и для указания отправителю о перегрузках в сети

Флаги

Это поле содержит 6 битовых флагов:

  • Поле «Указатель важности» задействовано
  • ACK — Поле «Номер подтверждения» задействовано
  • PSH — инструктирует получателя протолкнуть данные, накопившиеся в приемном буфере, в приложение пользователя
  • RST — Оборвать соединения, сбросить буфер
  • SYN — Синхронизация номеров последовательности
  • FIN — флаг, будучи установлен, указывает на завершение соединения.

Окно

В этом поле содержится число, определяющее в байтах размер данных, которые получатель готов принять.

Контрольная сумма

Поле контрольной суммы — это 16-битное дополнение к сумме всех 16-битных слов заголовка и текста. Если сегмент, по которому вычисляется контрольная сумма, имеет длину не кратную 16-ти битам, то длина сегмента увеличивается до кратной 16-ти, за счет дополнения к нему справа нулевых битов заполнения. Биты заполнения не передаются в сообщении и служат только для расчёта контрольной суммы. При расчёте контрольной суммы значение самого поля контрольной суммы принимается равным 0.

Указатель важности

16-битовое значение положительного смещения от порядкового номера в данном сегменте. Это поле указывает порядковый номер октета, которым заканчиваются важные данные. Поле принимается во внимание только для пакетов с установленным флагом URG.

Опции

Могут применяться в некоторых случаях для расширения протокола. Иногда используются для тестирования. На данный момент в опции практически всегда включают 2 байта NOP и 10 байт, задающих timestamps. Вычислить длину поля опции можно через значение поля смещения.



Просмотров: 6878


<<< Архиватор