Home

Page 13
Page 13
background image

протоколы TCP и UDP относят  к  транспортному  уровню  модели OSI, что  не  вполне  верно. 
Протокол TCP, как  мы  уже  говорили,  а  при  его  изучении  убедимся,  неверно  называть 
транспортным  протоколом,  это  протокол,  выполняющий  в  полном  объеме  транспортные  и 
сеансовые функции. А вот с отнесением протокола UDP к какому-то уровню модели OSI все не так 
просто:  он  не  выполняет  функций,  традиционно  относящихся  к  транспортному  уровню  (гарантии 
доставки),  так  же  он  не  выполняет  и  функций,  относящихся  к  сеансовому  уровню  (установка 
соединений). Как мы знаем, чуть ли не единственная его функция – мультиплексирование данных 
от  различных  приложений,  иными  словами – адресация  приложений  на  узле,  данная  функция 
очевидно, гораздо ближе к общепринятому пониманию сеансовых функций, нежели транспортных. 
Так  что,  формально  говоря,  нет  никаких  оснований  называть UDP протоколом,  выполняющим 
транспортные  функции,  однако  его  можно  называть  протоколом,  выполняющим  ограниченно 
(очень  ограниченно  ☺)  функции  сеансового  уровня.  Однако  с  другой  стороны,  учитывая,  что 
транспортные функции TCP гораздо «эффектней», «заметнее», нежели его сеансовые функции, то 
TCP чаще называют именно транспортным протоколом, а так как место в стеке (между протоколом 
IP  и  приложениями)  у TCP и UDP сходно,  то  и UDP за  компанию,  для  единообразия  так  же 
называют  транспортным  протоколом.  Вы  должны  с  пониманием  относиться  к  встречающемуся  в 
литературе  термину  «транспортный  протокол UDP», но  так  же  и  понимать,  что  такой  термин  не 
вполне соответствуют действительности.   

Наконец,  завершая  изучение  протокола UDP, рассмотрим,  могут  ли  приложения, 

использующие протокол UDP обмениваться данными с гарантией доставки. Как стало ясно после 
изучения заголовка UDP, данный протокол не имеет никаких средств для того, чтобы гарантировать 
доставку  пакетов  с  данными,  посланных  приложениями.  Однако  и  протокол IP не  имеет  таких 
возможностей,  что  не  мешает  гарантировать  доставку  данных,  переносимых  протоколом IP с 
помощью  протоколов,  расположенных  ВЫШЕ IP, например,  с  помощью TCP. Аналогично  и  при 
использовании UDP – гарантии  доставки  данных  возможны  и  в  этом  случае,  но  тогда  САМИМ 
приложениям  (расположенным  над UDP) придется  заниматься  реализацией  гарантий  доставки 
данных  т.е.  решать  задачи  нумерации  пакетов,  квитирования  и  т.д.  Далее  в  курсе мы  рассмотрим 
прикладной  протокол,  предназначенный  для  передачи  файлов  (т.е.  в  соответствии  со  сказанным 
ранее  этот  протокол  должен  бы  использовать  скорее TCP), который  использует UDP и 
самостоятельно,  на  прикладном  уровне  занимается  нумерацией  пакетов  и  отсылкой  собственного 
формата квитанций поверх UDP.  

 
Теперь  рассмотрим  практические  примеры  работы  протокола UDP. Для  этого  нам 

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

Как Вы уже знаете, данная служба предназначена для того, чтобы пользователям не нужно 

было  запоминать IP адреса  узлов,  к  которым  они  хотят  обратиться,  вместо  этого  пользователи 
могут  запоминать  специальные  символьные  имена,  которые  затем  с  помощью  данной  службы 
преобразуются в IP адреса. При этом DNS клиент, встроенный в операционную систему работает 
прозрачно – пользователю не нужно запускать программу клиента, делать преобразование, а затем 
использовать  полученный  таким  образом IP адрес – вместо  этого  пользователь  в  любом 
приложении может использовать символьные имена вместо IP адресов, все остальное DNS клиент 
делает  прозрачно  для  пользователя.  Для  преобразования  символьных  имен  в IP адреса 
используются  специальные  сервера,  хранящие  базу  данных  соответствий  между  и  символьными 
именами и IP адресами, с помощью транспорта UDP клиент DNS отправляет специальный запрос 
серверу, сервер отвечает клиенту на данный запрос. Очевидно, такой стиль работы (один запрос – 
один  ответ)  полностью  согласуется  с  рассмотренными  выше  качествами,  которыми  должен 
обладать  протокол  использующий UDP. Очень  важно  подчеркнуть,  что  в  примере,  который  мы 
будем  рассматривать,  необходимо  сосредоточится  на  работе  протокола UDP, и  не  интересоваться 
тем,  как  работает DNS – просто  будем  полагать,  что  все,  что  передается  поверх UDP, является 
просто  данными,  неструктурированной  последовательностью  байт,  сам  же  протокол DNS будет 
нами вскоре изучен в данном курсе.  


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

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