Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
poks_lect4.doc
Скачиваний:
11
Добавлен:
12.02.2016
Размер:
91 Кб
Скачать
☆

Разделение каналов

Чтобы позволить на отдельно взятом компьютере многим процессам одновременно использовать коммуникационные возможности уровня TCP, протокол TCP предоставляет на каждом хост-компьютере набор адресов или портов. Вместе с адресами сетей и хост-компьютеров на они образуют сокет (socket - разъем). Соотнесение портов и процессов осуществляется каждым хостом самостоятельно. Однако оказывается полезным связывать часто используемые процессы (такие как telnet или www) с фиксированными документированными сокетами.

Работа с соединениями

Механизмы управления потоком и обеспечения достоверности, описанные выше, требуют, чтобы программы протокола TCP инициализировали и поддерживали определенную информацию о состоянии каждого потока данных. Набор такой информации, включающий сокеты, номера очереди, размеры окон, называется соединением. Каждое соединение уникальным образом идентифицируется парой сокетов. Если два процесса желают обмениваться информацией, соответствующие программы протокола TCP должны сперва установить соединение (на каждой стороне инициализировать информацию о статусе). По завершении обмена информацией соединение должно быть расторгнуто или закрыто, чтобы освободить ресурсы для предоставления другим пользователям. Поскольку соединения должны устанавливаться между ненадежными хостами и через ненадежную коммуникационную IP-систему, то во избежание ошибочной инициализации соединений используется механизм подтверждения связи с хронометрированными номерами очереди.

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]