Home

Page 5
Page 5
background image

недостаточная длина поля Protocol заголовка IP. Вспоминаем, что данное поле имеет длину всего 
один  байт,  т.е.  может  принять  всего 256 различных  значений.  Следовательно,  различных 
протоколов,  работающих  непосредственно  поверх  протокола IP может  быть  всего 256, 
подчеркиваем,  что  для  адресации  приложений  этого  КРАЙНЕ  мало,  действительно,  данное 
количество (256 протоколов или приложений, работающих поверх протокола IP) крайне мало как с 
точки  зрения  количества  различных  прикладных  протоколов,  которые  могут  применяться  в  сети, 
так  и  с  точки  зрения  количества  одновременно  работающих  на  узле  сетевых  приложений!  Как 
решить  данную  проблему  и  обеспечить  адресацию  достаточно  большого  числа  приложений  и 
прикладных  протоколов,  работающих  на  узле,  если  протокол IP может  адресовать  только 256 
протоколов/приложений?  Решение  очевидно – нужен  некоторый  протокол – переходник!  Т.е. 
необходим  протокол,  который  будет  использоваться  поверх  протокола IP, и  использовать  ОДНО 
значение поля Protocol IP заголовка, сам же этот протокол будет содержать БОЛЕЕ длинное поле 
для  адресации  протокола  верхнего  уровня.  Именно  такова  основная  функция  протокола UDP – 
занимая  одно  значение  поля Protocol IP заголовка  (а  именно 17), этот  протокол  содержит  два 
двухбайтовых  поля  для  адресации  прикладного  протокола/приложения  отправителя  и  получателя, 
для каждого используется одно двухбайтовое поле, такие поля называются ПОРТЫ. 

 

 

 
Итак,  когда  на  одном  узле  работает  много  приложений  (процессов),  каждый  из  них 

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

Достаточно  ли  двух  байт  для  адресации  приложения,  работающего  на  узле?  С  помощью 

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

Зачем  отдельно  адресовать  приложение  получателя  и  приложения  отправителя  с  помощью 

различных  полей,  ведь,  например,  в  протоколах Ethernet, IP нет  отдельных  полей  для  адресации 
протокола отправителя и протокола получателя, полагается, что отправитель и получатель – один и 
тот  же  протокол,  т.е.  если  в  кадр Ethernet данные  вложил IP, то  получать  их  так  же  должен IP. 
Важно  понять,  что,  так  как  соответствующие  поля  заголовка UDP адресуют  ПРИЛОЖЕНИЯ  на 
узлах,  существует  необходимость  отдельной  адресации  ПРИЛОЖЕНИЯ  отправителя  и 
ПРИЛОЖЕНИЯ  получателя.  Это  связано  с  тем,  что  подавляющее  большинство  прикладных 
протоколов  стека TCP/IP (и,  вообще  говоря,  всех  прочих  стеков)  предполагают  неравноправие 
приложений,  участвующих  во  взаимодействии:  используется  модель  взаимодействия  клиент-
сервер. Поясняем, что это значит. Обычно одно приложение (сервер) имеет какую то информацию 
(в  самом  общем  смысле),  а  другое  приложение  (клиент)  желает  ее  получить.  Для  этого  клиент 
передает  серверу  какие-то  запросы  в  рамках  определенного  прикладного  протокола,  а  сервер 
передает  клиенту  запрошенную  информацию. (бывает  и  наоборот – клиент  передает  серверу 
информацию  (почта),  бывает  и  симметричное  взаимодействие,  однако  это  сейчас  не  слишком 
принципиально).  Неравноправие,  не  идентичность  клиентского  и  серверного  приложения  (сразу 
пример: WEB сервер  и  браузер  НЕ  идентичные  приложения)  и  требует  отдельной  адресации  для 
приложения  клиента  и  приложения  сервера.  Более  детально  это  станет  ясно  позже,  на  более 
конкретных примерах, приводить которые пока рано.  


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

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