Поля ТСР
На рисунке показаны поля заголовка ТСР в том виде, в котором они инкапсулируются в заголовке IP-датаграммы:
□ исходящий порт – номер порта (приложения) передающей станции;
□ целевой порт – номер порта (приложения) принимающей станции;
□ порядковый номер – значение, присвоенное датаграмме ТСР, определяющее номер стартового байта пакета, если только не установлен бит SYN. Если же этот бит установлен, то порядковый номер является начальным порядковым номером (ISN) и первый байт данных равен ISN + 1;
□ номер подтверждения – значение, отсылаемое целевой станцией станции-отправителю, подтверждающее прием переданного ранее пакета (пакетов). Оно задает следующий порядковый номер, который целевая станция ожидает получить. При установке соединения всегда инициализируется это поле;
□ смещение данных – определяет длину заголовка ТСР (то есть количество 32-битовых слов в заголовке ТСР). Указывает, где заканчивается заголовок ТСР и начинаются данные;
□ зарезервировано – зарезервировано для будущего использования. Должно быть установлено в 0;
□ управляющие биты:
- URG – индикатор срочности, применяется при посылке сообщения целевому узлу, ожидающему приема экстренной информации. Такое сообщение может быть передано целевой станции, если она закрыла окно приема для отправителя. Однако получатель все еще будет принимать пакеты, в которых этот бит установлен;
- АСК – если данный бит установлен, значит пакет содержит подтверждение посланной ранее датаграммы;
- PSH – функция выталкивания, немедленная отсылка данных после считывания сегмента (данных этого пакета);
- RST – обрыв соединения с целью отказа на запрос соединения;
- SYN – служит для инициализации и установки порядкового значения;
- FIN – означает, что у инициатора соединения данных больше нет;
□ окно – количество октетов данных, начиная с октета, указанного в поле подтверждений, которые отправитель сегмента может принять. Оно определяет размер буфера (свободной памяти) в приемнике;
□ контрольная сумма – значение, предназначенное для обнаружения ошибок;
□ указатель срочных данных – задает порядковый номер байта, следующего за срочными данными. Это поле интерпретируется (считывается) только в сегментах (пакетах), в которых установлен бит URG;
□ опции – поле переменной длины, позволяет использовать следующие опции ТСР: конец списка опций, нет операции и максимальный размер сегмента (MSS).
Сервисы ТСР
Как отмечалось ранее, основная цель ТСР – обеспечить надежную безопасную службу доставки, использующую соединение или логический канал между двумя процессами. Для реализации этой службы поверх менее надежной сетевой системы коммуникаций необходимы перечисленные ниже средства:
□ базовая передача данных;
□ надежность;
□ управление потоком данных;
□ мультиплексирование;
□ соединения;
□ приоритет и безопасность.