Home

Page 66
Page 66
background image

 

 
Сегмент  номер 5 является  квитанцией  на  сегмент  номер 4, о  чем  нам  сообщает Ethereal, 

отметим, что в данном сегменте поле Acknowledged Number принимает относительное значение 12, 
что  и  является  квитанцией  на  полученные 11 байт  с  номерами  от 1 до 11, поле Sequence Number 
равно  относительной  единице,  так  как  сервер  ранее  еще  не  передавал  клиенту  данных,  данный 
сегмент  не  содержит  полезных  данных,  а  является  чистой  квитанцией.  Аналогично,  в  сегменте 
номер 6 клиент передает серверу еще 9 байт данных, анализатор сообщает нам, что относительный 
номер ожидаемого подтверждения – 21. Сегмент 7 является квитанцией на сегмент 6, что видно из 
анализа его поля Acknowledged Number – оно равно 21. Аналогично рассматриваем самостоятельно 
сегменты 8/9 и 10/11 для  окончательного  закрепления  на  практике  понимания  того,  как 
используются поля Sequence Number и Acknowledged Number при квитировании.  

Теперь  рассмотрим  пример,  в  котором  можно  будет  наблюдать  объединение  квитанций  и 

полезных данных в одном сегменте. Для наблюдения такого поведения нам понадобится сервер, у 
которого появляются данные на отправку клиенту всякий раз, когда от клиента приходят данные – в 
таком случае квитанция, отправляемая клиенту может быть объединена с данными, передаваемыми 
в  том  же  направлении.  Использовать утилиту sock в  качестве  сервера  в  данной  задаче  не удобно, 
так как у нее нет режима генерации данных клиенту в момент получения данных от него. Вместо 
этого  мы  воспользуемся  еще  одной  простой  службой TCP/IP (аналогичной  использованной  нами 
ранее службе daytime), эта служба называется echo и занимает на сервере хорошо известный порт 7. 
Работа  данной  службы  крайне  проста – при  поступлении  произвольных  данных  в  рамках 
соединения  эти  данные  должны  быть,  разумеется,  квитированы  (это  делает  не  служба,  а  стек), 
служба  же  должна  передать  в  соединение  ТЕ  ЖЕ  самые  байты,  которые  получены  в  рамках 
соединения.  Таким  образом,  данная  служба  является  хорошим  примером  для  рассмотрения 
объединения квитанций и полезных данных в одном сегменте – получение таким сервером данных 
от клиента приводит к генерации и квитанции и данных для клиента. Подключимся утилитой sock к 
7 порту узла, на котором предварительно проинсталлированы простые службы TCP/IP и передадим 
серверу несколько порций данных, проанализируем при этом трафик (файл TCP6.cap). 
 


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

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