Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен - ответы на вопросы.doc
Скачиваний:
16
Добавлен:
12.09.2019
Размер:
648.19 Кб
Скачать

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

Протокол TCP обеспечивает работу одновременно нескольких соединений. Каждый прикладной процесс идентифицируется номером порта. Заголовок TCP-сегмента содержит номера портов процесса-отправителя и процесса-получателя. При получении сегмента модуль TCP анализирует номер порта получателя и отправляет данные соответствующему прикладному процессу.

4. Управление соединениями

Соединение - это совокупность информации о состоянии потока данных, включающая сокеты, номера посланных, принятых и подтвержденных октетов, размеры окон.

Совокупность IP-адреса и номера порта называется сокетом.

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

Основной принцип технологии "клиент-сервер" заключается в разделении функций приложения на три группы:

  • ввод и отображение данных (взаимодействие с пользователем);

  • прикладные функции, характерные для данной предметной области;

  • функции управления ресурсами (файловой системой, базой данных)

Для получения данных клиенту от сервера необходимо установить соединение. Процедура установления соединения происходит следующим образом.

Предположим, хост А желает установить соединение с хостом В. Первый отправляемый из А в В TCP-сегмент не содержит полезных данных, а служит для установления соединения. В его заголовке (в поле Flags) установлен бит SYN, означающий запрос связи, и содержится ISN (Initial Sequence Number – начальный номер последовательности) – число, начиная с которого хост А будет нумеровать отправляемые байты (обычно 0). В ответ на получение такого сегмента хост В откликается посылкой TCP-сегмента, в заголовке которого установлен бит ACK, подтверждающий установление со­единения для получения данных от хоста А. Так как протокол TCP обеспечивает полнодуплексную передачу данных, то хост В в этом же сегменте устанавливает бит SYN, означающий запрос связи для передачи данных от В к А, и передает свой ISN (обычно 0). Полезных данных этот сегмент также не содержит. Третий TCP-сегмент в сеансе посылается из А в В в ответ на сегмент, полученный из В. Так как соединение А®В можно считать установленным (получено подтверждение от В), то хост А включает в свой сегмент полезные данные, нумерация которых начинается с номера ISN(A)+1 (обычно 1). Данные нумеруются по количеству отправленных байт. В заголовке этого же сегмента хост А устанавливает бит ACK, подтверждающий установление связи B®A, что позволяет хосту В включить в свой следующий сегмент полезные данные для А.

Сеанс обмена данными заканчивается процедурой разрыва соединения, которая аналогична процедуре установки с той разницей, что вместо SYN для разрыва используется служебный бит FIN (“данных для отправки больше не имею”), который устанавливается в заголовке последнего сегмента с данными, отправляемого хостом.