Home

Page 11
Page 11
background image

маршрутизаторы  с  одной  стороны  должны  пересчитывать  эту  контрольную  сумму  при 
маршрутизации IP пакета,  с  другой  стороны  контрольная  сумма  рассчитывается  не  для  всего 
содержимого IP пакета,  а  только  для IP заголовка,  что  минимизирует  вычислительную  нагрузку, 
ложащуюся на маршрутизаторы, но СОДЕРЖИМОЕ IP пакета с помощью этой контрольной суммы 
оказывается не защищенным. Поэтому протоколы, работающие непосредственно поверх IP должны 
в  случае  необходимости  использовать  собственную  контрольную  сумму,  защищающую  как 
заголовок  этого  протокола,  так  и  переносимые  им  данные.  Как  мы  знаем,  именно  так  поступает 
протокол ICMP, точно  так  поступают  протоколы UDP и TCP. Теперь,  когда  стратегия  защиты 
данных,  используемая  в  стеке TCP/IP повторена,  рассмотрим,  как  рассчитывается  контрольная 
сумма  заголовка UDP. Важно  отметить,  что  контрольная  сумма UDP защищает  не  только  сам 
заголовок UDP и  данные,  переносимые  в UDP дейтаграмме,  но  и  частично  защищает  еще  и 
заголовок IP пакета.  Как  этого  добиваются:  контрольная  сумма UDP рассчитывается  НЕ  для 
заголовка UDP и  полезных  данных,  а  рассчитывается  для  специального  ПСЕВДОЗАГОЛОВКА 
(содержащего  в  себе  некоторые  поля IP заголовка  и UDP заголовка),  заголовка UDP и  полезных 
данных протокола UDP. Изобразим заголовок IP, заголовок UDP и данные протокола UDP, в таком 
виде пакет существует в сети. 

 

0

1

0

0

0

1

0

1

P P

P D T R 0

0

0 DF MF

Данные (произвольное количество)

Source Port

Destination Port

Length

Checksum

Source Addess

Destination Address

TTL

ID

Flags

Fragment Offset

Protocol (17)

Header Checksum

Version

Total Length

IHL

TOS

 

 
Теперь  затем  изобразим  то,  для  чего  рассчитывается  контрольная  сумма UDP, т.е. 

псевдозаголовок, заголовок UDP и данные UDP: 

 

0

0

0

0

0

0

0

0

Protocol (17)

Length

zero

Source IP Addess

Destination IP Address

Данные (произвольное количество)

Source Port

Destination Port

Length

Checksum

 

 
Важно,  понять – в  линии  связи  не  передается  никакой  псевдозаголовок,  структура, 

передаваемая  в  линии  связи  изображена  на  первом  рисунке.  И  только  для  расчета  контрольной 
суммы UDP в памяти формируется псевдозаголовок, который вместе с заголовком UDP и данными 
UDP принимает участие в расчете контрольной суммы, передаваемой в заголовке UDP. Видно, что 
псевдозаголовок, используемый при подсчете контрольной суммы UDP содержит в себе некоторые 
важнейшие  поля  заголовка IP и  заголовка UDP, т.е.  можно  сказать,  что  заголовок IP защищен 
контрольной  суммой  более  одного  раза:  один  раз  он  защищен  контрольной  суммой  самого 
заголовка IP и еще раз некоторые его поля защищены контрольной суммой заголовка UDP. Видно, 


Copyright © 2021 Файлообменник files.d-lan.dp.ua

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