Home

Page 28
Page 28
background image

Рассмотрим практический пример. Запустим sock в режиме сервера таким образом, чтобы он 

принимал  соединения  на  порту 888 только  от endpoint 192.168.0.199:777, обращаем  внимание  на 
синтаксис ключа -f: 

 

C:\sock –u –s –f 192.168.0.199.777 888 

 
Сразу отметим, что утилита netstat.exe НЕ сообщает нам о том, что данный порт использует 

селективное обслуживание по endpoint партнера, сообщение утилиты не отличается от сообщения о 
любом другом прослушиваемом порту.  

Запускаем  клиента 192.168.0.199 таким  образом,  чтобы  он  использовал  в  качестве 

собственного  порта  не  динамический,  а  задаваемый  нами  порт 777, демонстрируем,  что UDP 
дейтаграмма принимается сервером и данные из этой дейтаграммы отображаются на консоли sock. 
Затем  запускаем  клиента  так,  чтобы  в  качестве  своего  порта  он  использовал  иной  номер  порта, 
например 555, демонстрируем, что  сервер не принимает данные из этой дейтаграммы, так как не 
отображает  их  на  консоли sock, но  при  этом  НЕ  отправляет ICMP сообщения  о  недостижимости 
порта, покажем это в анализаторе, я не привожу соответствующего файла захвата, так как в нем нет 
ничего, что можно было бы показать – просто дейтаграмма, без ответного сообщения ☺.  

Отметим, что в ОС Linux утилита netstat.exe честно сообщает о селективном обслуживании 

по удаленному порту, запустим sock для Linux и продемонстрируем это: 
 

Proto Recv-Q Send-Q Local Address           Foreign Address         State       

udp        0      0 192.168.0.199:999       192.168.0.1:999         ESTABLISHED 

 
На этом рассмотрение протокола UDP завершено, кратко подытоживаем: 

•  Протокол UDP обеспечивает  обмен  дейтаграмм  между  клиентом  и  сервером,  т.е.  клиент  и 

сервер  не  устанавливают  логического  соединения  перед  отправкой  данных,  ГВЗ  не 
обеспечивает гарантий доставки пакетов при обмене между клиентом и сервером. 

•  Основная задача протокола UDP – мультиплексирование данных множества приложений в 

один поток IP пакетов 

•  Серверные  приложения  обычно  используют  хорошо  известные  (или  регистрированные 

порты)  

•  Клиентские приложения чаще всего используют динамические порты 

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

стека TCP/IP – протокола TCP. Теперь мы начинаем новую тему – собственно протокол TCP. Перед 
тем как перейти к рассмотрению протокола TCP необходимо заранее понять: 

Протокол TCP достаточно  сложен,  безусловно,  это  самый  сложный  из  протоколов,  с 

которыми Вам пока приходилось встречаться, а возможно и самый сложный из ВСЕХ протоколов, 
включая  и  те,  с  которыми  встретиться  еще  только  придется  в  процессе  обучения.  Помимо  этого 
необходимо  очень  четко  представлять,  что  протокол TCP – ВАЖНЕЙШЕЕ  средство  сетевой 
диагностики,  с  помощью  которого  можно  решать  различные  сетевые  проблемы,  например, 
диагностировать  неисправный  коммутатор  или  перегруженный  маршрутизатор,  кроме  того, 
протокол TCP играет  ВАЖНЕЙШУЮ  роль  в  обеспечении  стабильности  обмена  трафиком  в 
составной сети, в частности в Интернет. Короче говоря, Вам необходимо сразу настроиться на то, 
что  Вам  предстоит  сложная  работа,  и  Вам  необходимо  очень  тщательно  подойти  к  изучению 
данного протокола.  

TCP  выполняет  множество  функций,  изучение  этих  функций  «всех  вместе»  очень  сложно, 

поэтому  мы  попробуем  «разбить»  функциональность TCP на  несколько  «блоков»  и  постепенно 
будем изучать «маленькие, относительно независимые кусочки», добиваясь понимания принципов 
работы каждой отдельно взятой функции TCP, а лишь затем, изучив основные «части» протокола 
TCP,  мы  соберем  вместе  эти  части,  и  лишь  тогда  добьемся  полного  понимания  всех  аспектов 
работы TCP.  

Итак, начнем с того, что еще раз сформулируем основные функции, выполняемые TCP: 

•  Установка логических соединений между приложениями перед тем как приложения смогут 

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


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

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