Установка соединения и его отмена

Модель действия

Приоритет и безопасность

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

С точки зрения коммуникационных сетей, хост - это компьютер, связанный с сетью и являющиеся отправителями и получателями пакетов. Процессы это активные элементы на хостах (согласно наиболее общему определению процессов как исполняющихся программ). Таким образом, любые коммуникации рассматриваются как коммуникации между процессами. Процесс может контролировать несколько коммуникационных потоков, ведущих от него к другому процессу (или другим процессам), таким образом каждый процесс может иметь набор ПОРТОВ, через которые он общается с портами других процессов. Процесс пересылает данные, вызывая модуль TCP и передавая ему в качестве аргументов буферы с данными. TCP пакует данные из этих буферов в сегменты, а затем вызывает модуль IP для передачи каждого сегмента на модуль TCP адресата. Этот адресат в свою очередь помещает данные из сегмента в буферы получателя и затем оповещает своего клиента о прибытии предназначенных ему данных. Модули TCP помещают в сегменты контрольную информацию, использующиеся ими для проверки очередности передачи данных.

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

Для запросов со стороны пользователя к протоколу TCP интерфейс TCP-пользователь обеспечивает открытие и закрытие соединения, посылку и получение данных или же получение статуса соединения. Интерфейс между протоколами TCP и IP поддерживает запросы на посылку и получение датаграмм, адресованных на модули TCP на хостах в любом месте сети Internet. Рассматриваемые запросы имеют аргументы для указания адреса, типа сервиса, приоритета, безопасности, а также передачи другой управляющей информации.

Чтобы идентифицировать отдельные потоки данных, поддерживаемые протоколом TCP, последний определяет идентификаторы портов. Поскольку идентификаторы портов выбираются каждой программой протокола TCP независимо, то они не будут уникальны. Чтобы обеспечить уникальность адресов для каждой программы протокола TCP, мы объединяем идентифицирующий эту программу IP-адрес и идентификатор порта. В результате получаем сокет, который будет уникален во всех локальных сетях, объединенных в единое целое. Соединение полностью определяется парой сокетов на своих концах. Локальный сокет может принимать участие во многих соединениях с различными чужими сокетами. Соединение можно использовать для передачи данных в обоих направлениях, иными словами, оно является "полностью дуплексным".

Соединение задается командой OPEN (открыть), сделанной с локального порта и имеющей аргументом чужой сокет. В ответ на такой запрос программа протокола TCP возвращает локальное имя для соединения, являющееся указателем на структуру TCB последнего (Transmission Control Block). Запрос OPEN указывает также, осуществляется ли соединение активным образом, или же происходит пассивное ожидание соединения извне. Сервисный процесс, желающий обслужить другие процессы, должен осуществить запрос на пассивное открытие. Процедура установки соединения использует флаг управления синхронизацией (SYN) и трижды обменивается сообщениями. Такой обмен называется трехвариантным подтверждением. Отмена соединения также включает обмен сегментами, несущими на этот раз управляющий флаг FIN.


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



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