Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИСиС. РТ работы / Лекции / Глава 14 - Транспортный уровень.docx
Скачиваний:
60
Добавлен:
19.09.2023
Размер:
3.5 Mб
Скачать

14.5.2 Установление tcp-соединения

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

Нажмите каждую кнопку для получения дополнительных сведений о каждом шаге установления TCP-соединения.

Шаг 1. SYN

Инициирующий клиент запрашивает сеанс связи типа «клиент-сервер» с сервером.

Трехстороннее рукопожатие подтверждает, что узел назначения доступен для связи. В этом примере узел A проверил, что узел B доступен.

Шаг 2. ACK и SYN

Сервер подтверждает сеанс обмена данными «клиент-сервер» и запрашивает сеанс обмена данными «сервер-клиент».

Трехстороннее рукопожатие подтверждает, что узел назначения доступен для связи. В этом примере узел A проверил, что узел B доступен.

Шаг 3. ACK

Инициирующий клиент подтверждает сеанс связи «сервер-клиент».

Трехстороннее рукопожатие подтверждает, что узел назначения доступен для связи. В этом примере узел A проверил, что узел B доступен.

14.5.3 Прекращение tcp-соединения

Для прекращения соединения в заголовке сегмента должен быть установлен управляющий флаг Finish (FIN). Для завершения каждого одностороннего TCP-сеанса используется двухстороннее квитирование (рукопожатие), которое состоит из сегмента FIN и сегмента ACK (подтверждение). Следовательно, чтобы завершить один сеанс связи, поддерживаемый протоколом TCP, необходимы четыре операции обмена данными, которые завершат оба сеанса. Прекращение может инициировать клиент или сервер.

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

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

Шаг 1. FIN

Когда у клиента больше нет данных для отправки в потоке, он отправляет сегмент с установленным флагом FIN.

После подтверждения всех сегментов сеанс закрывается.

Шаг 2. ACK

Сервер отправляет подтверждение ACK, чтобы подтвердить получение FIN для завершения сеанса связи «клиент-сервер».

После подтверждения всех сегментов сеанс закрывается.

Шаг 3. FIN

Сервер отправляет клиенту флаг FIN для завершения сеанса связи между сервером и клиентом.

После подтверждения всех сегментов сеанс закрывается.

Шаг 4. ACK

Клиент отправляет в ответ флаг ACK, чтобы подтвердить получение флага FIN от сервера.

После подтверждения всех сегментов сеанс закрывается.

14.5.4 Анализ трехстороннего квитирования tcp

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

Таковы функции трехстороннего квитирования:

  • Определяет, присутствует ли в сети устройство назначения;

  • Проверяет, имеется ли на устройстве назначения активная служба и принимает ли она запросы на номер порта назначения, который инициирующий клиент планирует использовать;

  • Информирует устройство назначения, что клиент источника планирует установить сеанс связи на этом номере порта.

По завершении обмена данными все сеансы закрываются, а соединение прерывается. Механизмы подключения и осуществления сеанса связи включают в себя функции TCP, обеспечивающие надежность.

показывает поля заголовка сегмента tcp с выделенным полем битов управления 6 бит

Поле управляющих битов

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

Флаги шести битов управления выглядят следующим образом:

  • URG - флаг «Указатель важности»;

  • ACK - Флаг подтверждения, используемый при установке соединения и завершении сеанса;

  • PSH - флаг "Push";

  • RST - Флаг RST используется для сброса соединения при возникновении ошибки или в случае превышения времени ожидания;

  • SYN - Синхронизирует порядковые номера, используемые при установке соединения;

  • FIN - больше нет данных от отправителя, используется при завершении сеанса.

Задайте поиск в Интернете, чтобы узнать больше о флагах PSH и URG.