«Почему заголовок TCP имеет поле длины заголовка, а заголовок UDP - нет?» Это правильный вопрос? - PullRequest
0 голосов
/ 11 апреля 2020

У меня вопрос обратный тому, который был задан при переполнении стека: InverseQuestion

... но я не думаю, что получаю однозначный ответ на то, что ищу что либо. Мой вопрос был задан в среднесрочной перспективе, который я только что взял, и стоил МНОГО очков. Я утверждал, что это не был законный вопрос, потому что заголовок UDP DOES имеет поле длины (которое относится к заголовку и данным), как показано на скриншоте, который я встраиваю. Я мог бы перечислить десятки ссылок, которые имеют аналогичную схему и объяснение. Преподаватель просто отметил это неправильно без объяснения причин. С тех пор мы ходили взад и вперед, и я не могу получить ответ, почему каждая диаграмма заголовка UDP на inte rnet показывает поле длины, если длина отсутствует! Может кто-нибудь помочь мне понять - если это правда, нет длины заголовка - на простом английском sh? Я неправильно истолковываю все эти похожие диаграммы? Спасибо. UDP-диаграмма

https://www.computernetworkingnotes.com/ccna-study-guide/segmentation-explained-with-tcp-and-udp-header.html https://www.lifewire.com/tcp-headers-and-udp-headers-explained-817970

1 Ответ

1 голос
/ 11 апреля 2020

Why does the TCP header have a header length field while the UDP header does not? может быть правильным вопросом.

  • Заголовок UDP содержит заголовок + длина данных
  • Заголовок TCP содержит длину заголовка в 32b DWORD
  • IP-заголовок содержит общую длину IP-пакета

Важно:

  • UDP-заголовок фиксирован 8 Байт => нет смысла увеличивать заголовок для константы
  • Заголовок TCP может варьироваться в зависимости от параметров

Если вы ищете причину, по которой UDP включает данные, а TCP нет, вы можете проверить черновик каждого RF C Спецификация. Тем не менее, не может быть никаких причин для этого, не забывайте, что эти протоколы были определены десятки лет go.

...