В этом разделе будут рассмотрены структура сегмента ТСР, механизмы установления соединения,
передачи данных и ликвидации соединения. Формат ТСР сегмента представлен на слайде. Его
заголовок содержит 20-байтную фиксированную часть и опциональную часть переменной длины.
«Порт источника» и
«Порт назначения» - определяют передающее и приемное приложения,
соответственно.
«Порядковый номер сегмента» - определяет позицию первого байта данных
сегмента в байтовом
потоке источника при значении флага SYN=0 (в режиме передачи данных). Напомним,
что ТСР
нумерует байты, а не сегменты и если порядковый номер текущего сегмента равен 567, а поле данных
содержит 12 байт, то следующий сегмент будет иметь порядковый номер 579. В режиме установления
соединения, когда флаг SYN установлен в 1, в этом поле содержится начальный номер
последовательности номеров байтов данного потока
(ISN – initial sequence number); значение номера
первого байта данных этого потока будет ISN+1.
Отметим также, что соединения ТСР являются
дуплексными и в каждом из направлений передачи устанавливается своя нумерация.
«Порядковый номер подтверждения» - это поле в режиме с установленным флагом ACK (режим
передачи данных) содержит порядковый номер
байта данных, который передающий модуль ожидает
получить от приемного узла; тем самым подтверждается правильность
приема всех предыдущих
байтов. В режиме установления соединения (ACK=0) значение этого поля не учитывается.
«Смещение данных» - поле определяет длину заголовка сегмента в 32-битных словах; эта
информация позволяет приемному модулю определить начало поля данных, т.к.
заголовок может
содержать опциональное поле переменной длины.
«Резерв» - поле в настоящее время не используется и заполняется нулями.
«Контрольные биты» - поле длиной 6 бит, каждый из которых является флагом; их
последовательность и смысл следующие:
URG – флаг срочности передачи сегмента
ACK – флаг указывающий на
достоверность значений в поле «Порядковый номер
подтверждения»
PSH – включена функция «проталкивания» сегмента, т.е. модуль ТСР должен передать сегмент
приложению немедленно
RST – указание приемному модулю разорвать соединение по причине каких-то аномалий;
используется для перезагрузки соединения
SYN –
флаг установления соединения, синхронизации порядковых номеров сегментов
FIN – флаг, индицирующий, что у передающего модуля нет данных для передачи; передающее
приложение остается в соединении с приемным и принимает данные последнего.
Do'stlaringiz bilan baham: