TCP дейтаграммы

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

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

Формат заголовка ТСР пакета приведен на рис.4.9.

Порт отправителя Порт получателя
Порядковый номер
Номер подтверждения
Смещение данных Резерв U R G A C K P C H R S T S Y N F I N Окно
Контрольная сумма Указатель срочности
Опции Заполнение
                       

Рис.4.9. Заголовок ТСР пакета.

Порты отправителя и получателя определяют порты станций, куда следует адресовать дейтаграммы при двустороннем обмене.

При передаче фрагментированных файлов посредством нескольких дейтаграмм порядковый номер (32 бита)– это номер первого октета данных в этом пакете, если не установлен флаг SYN. Если флаг SYN установлен, т.е. передают первую дейтаграмму фрагментированного файла, то порядковый номер становится номером начала последовательности ISN, а номер первого октета будет ISN +1.

Номер подтверждения (32 бита) – номер следующего первого октета данных, ожидаемых получателем пакета.

Смещение данных (4 бита) – число 32 битовых слов заголовка TCP.

Резерв (6 бит) – зарезервированное поле.

Далее следуют 6 флажков по 1 биту каждый.

URG – флаг срочности.

ACK – флаг пакета, содержащего получение подтверждения.

PCH – флаг форсированной отправки.

RST – сброс соединения.

SYN – синхронизация порядковых номеров.

FIN – флаг конца передачи со стороны отправителя.

Контрольная сумма (16 бит) позволяет выявить наличие ошибок в принятой дейтаграмме.

Окно (16 бит) – число байт, которые отправитель может принять в свой буфер, считая от байта с номером, указанном в поле Номер подтверждения.

Указатель срочности (16 бит) – содержит номер пакета, начиная с которого следуют пакеты повышенной срочности.

Опции – дополнительные параметры.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: