Протокол доставки сообщений tcp

Протокол ТСР предоставляет надежную, ориентированную на соединение службу доставки.

Данные протокола ТСР передаются сегментами, и соединение должно быть установлено до того, как узлы начнут обмениваться данными. ТСР использует потоки, в которых данные представлены в виде последовательности байт.

ТСР обеспечивает надежность, присваивая номера последовательности (sequence number) каждому передаваемому сегменту. Если сегмент разбивается на мелкие пакеты, то узел-получатель сможет узнать, все ли части получены. Для этого используются подтверждения.

Для каждого отправленного сегмента узел-получатель должен вернуть отправителю подтверждение (acknowledgement, AСК) в течение определенного времени (рис. 40).

Если отправитель не получил АСК, то данные передаются повторно. Если сегмент поврежден, то узел-получатель отвергает его. Поскольку АСК в этом случае не посылается, отправитель передает сегмент еще раз.

Порты. Приложения, использующие сокеты, идентифицируют себя Не компьютере посредством номера порта протокола (protocol port number). Например, FТР-сервер использует определенный ТСР-порт, поэтому другие приложения могут связаться с ним.

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

Сокеты. Сокет (socket) обеспечивает конечную точку сетевого соединения. Приложение, создавая сокет, указывает три параметра: IP-адреc узла, тип обслуживания (протокол ТСР для ориентированного на соединение обслуживания и UDP для не ориентированного) и порт, используемый приложением.

Порты протокола ТСР. Порт протокола ТСР указывает место доставки сообщений. Номера портов, меньшие 256, определены как широко используемые.

Номер порта Описание
FTP
Telnet
Доменная система имен (DNS)
Сервер NetBIOS

Установка связи по протоколу ТСР. Инициализация ТСР-соединения происходит в три этапа. Делается это для синхронизации отправки и по лучения сегментов, извещения другого узла о количестве данных, которые можно послать за один раз, и установки виртуального соединения.

Вот из каких операций состоит этот процесс (рис. 41)

1. Узел-отправитель запрашивает соединение, посылая сегмент с установленным флагом синхронизации (SYN).

2. Узел-адресат подтверждает получение запроса, отправляя обрати; сегмент с:

— установленным флагом синхронизации;

— порядковым номером начального байта сегмента, который о] может послать, или номером последовательности (sequence number);

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

Межсетевой уровень

Рис. 41 Работа протокола ТСР

3. Запрашивающий узел посылает обратно сегмент с подтверждение] номера последовательности и номером своего подтверждения (acknowledgement number).

Для завершения соединения ТСР действует аналогично. Это гарантирует, что оба узла закончат передачу и примут все данные.

Скользящие окна протокола ТСР. Протокол ТСР буферизует данные дл передачи между двумя узлами, используя скользящие окна (sliding windows) . Каждый ТСР/ IP-узел поддерживает два скользящих окна: одно для приема данных, а другое для отправки. Размер окна определяет объем данных, которые могут быть буферизованы на компьютере.

Структура ТСР-пакета. Все пакеты протокола ТСР имеют две части -на данные и заголовок. В таблице приведены поля заголовка ТСР-пакета.

Поле Описание
Sourse Port (Порт отправителя) ТСР порт узла-отправителя
Destination Port (Порт получателя) ТСР порт узла-получателя. Определяет конечную точку соединения
Sequence Number (Порядковый номер) Номер последовательности пакета. Используется для проверки получения всех байт соединения
Acknowledgement Number (Номер подтверждения) Порядковый номер байта, который локальный узел планирует получить следующим
Data Length (Длина данных) Длина ТСР-пакета
Reseved (Зарезервировано) Зарезервировано для будущего использования
Flags (Флаги) Это поле описывает содержимое сегмента
Windows (Окно) Показывает, сколько места доступно в настоящий момент в окне протокола ТСР
Checksum (Контрольная сумма) Проверяет, поврежден ли заголовок
Urgent Pointer (Указатель срочности) Когда отправляются срочные данные (указано в поле Flags), в этом поле задается конечная граница области срочных данных в пакете

Рандомно подобранные статьи с сайта:

Протокол TCP | Курс \


Похожие статьи:

admin