Назад | Перейти на главную страницу

Заголовок TCP совпадает с сегментом TCP?

Итак, действительно ли заголовок TCP - это то же самое, что и сегмент TCP? я читал этот страница, где в конце читается, что:

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

А потом чуть ниже читается:

обязательно имейте в виду, что «Заголовок TCP» - это то же самое, что «Сегмент TCP», то есть это информация заголовка TCP плюс данные

Эти утверждения противоречивы. Что правда?

Второй абзац неверен. Возможно, имелось в виду сказать «пакет», а не «заголовок». В этой формулировке было бы больше смысла:

обязательно имейте в виду, что «TCP-пакет» - это то же самое, что «TCP-сегмент», то есть это информация заголовка TCP плюс данные

Хотя я согласен с ответами, предоставленными kce и kasperd относительно значения и различий между заголовком TCP и сегментом TCP, я добавлю, что AFAIK правильный термин для "пакета" на уровне TCP: TCP Segment. Вот то, что я считаю правильными терминами для данных package на каждом уровне модели OSI:

Уровни с 7 по 5 (приложение, представление, сеанс) = PDU (блок данных протокола)

Уровень 4 (TCP, UDP) = сегмент TCP или дейтаграмма UDP

Уровень 3 (IP) = Пакет

Уровень 2 (уровень канала передачи данных) = кадр (кадр Ethernet)

На уровне 1 данные помещаются on the wire как биты / электронные сигналы

Правда в том, что люди не используют словарный запас постоянно, и я согласен с вашей оценкой, что предложение противоречиво (или ошибочно).

Возможно, наиболее близким к стандарту являются RFC. В таком случае RFC793 где сегмент и заголовок определены следующим образом:

дейтаграмма

      A message sent in a packet switched computer communications
      network.

заголовок

      Control information at the beginning of a message, segment,
      fragment, packet or block of data.

модуль

      An implementation, usually in software, of a protocol or other
      procedure.

сегмент

      A logical unit of data, in particular a TCP segment is the
      unit of data transferred between a pair of TCP modules.


Я бы сказал, что ваша оценка верна в этом случае (хотя я был бы счастлив, если бы мне показали иначе), однако язык немного невнятный, потому что вы можете интерпретировать «единицу данных ... передаваемых между модулями TCP» как включить всю дейтаграмму.