Home

Page 40
Page 40
background image

Тип опции N

Длина = 3

Тело опции N

 NOOP (01)

FIN

Source Port

Destination Port

  Sequence Number   

Acknowledgment Number

Checksum

Urgent Pointer

Data Offset 

(07)

Window

Reserved

URG

ACK

PSH

RST

SYN

Тело опции M

Длина = 2

EOOL (00)

Padding (00)

 

 
В  любом  случае  способ  выравнивания  используемых  в  заголовке  опций  остается  на 

усмотрение отправителя сегмента и зависит лишь от его представлений об удобстве.  

В RFC793 определена  еще  одна  опция,  кроме  двух  изученных  выше,  однако  сейчас  мы  не 

станем  рассматривать  данную  опцию,  как  опции,  появившиеся  в  более  поздних RFC. Сейчас  мы 
рассмотрели  лишь  механизм  формирования  поля  опций  для  того,  чтобы  в  тот  момент,  когда  нам 
понадобится  изучить  ту  или  иную  опцию,  предназначенную  для  решения  конкретной  задачи,  мы 
могли  оперировать  понятием  опций TCP. Ясно,  что  после  заголовка TCP в  линии  связи 
непосредственно  передаются  данные  прикладного  протокола,  соответствующие  указанному  в 
заголовке TCP порту.  

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

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

Итак,  положим  существует  некоторый  узел  в  составной  сети,  на  котором  запущено 

некоторое  серверное  приложение  на  некотором  хорошо  известном  порту,  например,  на  порту 80 
(WEB  сервер).  Положим,  на  другом,  клиентском  узле  запущено  приложение  браузер,  и 
пользователь этого браузера написал в адресной строке IP адрес этого WEB сервера.  

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

для  этого TCP клиентского  узла  формирует  специального  формата TCP сегмент,  в  этом  сегменте 
устанавливается  единственный  флаг SYN, разумеется,  в  качестве  порта  получателя  фигурирует 
хорошо известный порт WEB сервера (80), а качестве порта источника используется динамически 
назначаемый  клиентскому  приложению  порт.  Данный  сегмент  обычно  не  содержит  полезных 
данных, т.е. после заголовка TCP обычно ничего не передается. Однако передача данных в таком 
сегменте  НЕ  запрещена,  но  получатель  должен  буферизовать  такие  данные  и  не  передавать  их 
приложению,  пока  соединения  не  будет  установлено.  С  помощью  флага SYN по  сути  и  делается 
«предложение»  об  установке  логического  соединения.  Как  мы  помним,  одна  из  задач  процесса 
установки соединения – убедиться, что партнер готов обмениваться данными (для того, чтобы не 
наводнять сеть никому не нужными данными). Если бы эта цель была бы единственной, то серверу 
следовало  передать  клиенту  один  сегмент  в  ответ – в  таком  случае  обе  стороны  знали  бы  о 
готовности  друг  друга  к  обмену  данными  (если  бы  исходный  сегмент  с  флагом SYN и  сегмент-
ответ потерялся, клиент бы послал сегмент с флагом SYN снова).  

Но,  как  нам  известно,  убедиться  в  готовности  партнера  обмениваться  данными – не 

единственная  цель  установки  логического  соединения.  Помимо  этого  стороны  должны  оговорить 
некоторые  параметры,  которые  понадобятся  в  процессе  обмена  данными,  в  первую  очередь – те 
начальные  значения Sequence Number, которые  стороны  будут  использовать  при  нумерации 
передаваемых  партнеру  данных.  Если  бы  в  протоколе TCP стороны  начинали  нумерацию 


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

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