Каково Значение Псевдо Заголовка, используемого в UDP/TCP

14
задан mort 27 April 2016 в 11:16
поделиться

3 ответа

От TCP или точки зрения UDP, пакет не содержит IP-адреса. (IP, являющийся слоем под ними.)

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

Это должно гарантировать, что контрольная сумма UDP принимает во внимание эти поля.

16
ответ дан 1 December 2019 в 06:21
поделиться

Когда эти протоколы разрабатывались, серьезное их беспокойство было хостом, получающим пакет, думая, что это было их, когда это не было. Если несколько битов были зеркально отражены в заголовке IP во время транзита, и пакет изменил курс (но контрольная сумма IP была все еще корректна), стек TCP/UDP перенаправленного получателя может все еще знать для отклонения пакета.

, Хотя псевдозаголовок повредил разделение идиомы слоев, это считали приемлемым для увеличенной надежности.

7
ответ дан 1 December 2019 в 06:21
поделиться

Ближайшее, к чему вы получите ответ «прямо изо рта», - от Дэвида П. Рида по следующей ссылке.

http://www.postel.org/pipermail/end2end-interest/2005-Feb February/004616.html

Краткая версия ответа: «псевдозаголовок существует по историческим причинам».

Первоначально TCP / IP был единым монолитным протоколом (называвшимся просто TCP). Когда они решили разделить его на TCP и IP (и другие), они не разделяли эти два так чисто: IP-адреса все еще считались частью TCP, но они просто «унаследованы» от уровня IP. а не повторяется в заголовке TCP. Причина, по которой контрольная сумма TCP работает с частями IP-заголовка (включая IP-адреса), заключается в том, что они предназначались для использования криптографии для шифрования и аутентификации полезной нагрузки TCP, и они хотели, чтобы IP-адреса и другие параметры TCP в псевдозаголовке были защищен кодом аутентификации. Это сделало бы невозможным вмешательство человека посередине в IP-адреса источника и назначения: промежуточные маршрутизаторы не заметили бы вмешательства, но конечная точка TCP заметила бы, когда попытается проверить подпись.

По разным причинам ни один из этих грандиозных криптографических планов не был реализован, но контрольная сумма TCP, которая заняла ее место, по-прежнему работает с псевдозаголовком, как если бы это была полезная вещь. Да, это дает крохотную дополнительную защиту от случайных ошибок, но она существует не для этого. Откровенно говоря, нам было бы лучше без этого: связь между TCP и IP означает, что вам придется переопределять TCP при изменении IP.Таким образом, определение IPv6 включает новое определение псевдозаголовка TCP и UDP (см. RFC 2460, s8.1). Почему разработчики IPv6 решили увековечить эту связь, а не рискнуть ее отменить, не понимаю.

19
ответ дан 1 December 2019 в 06:21
поделиться