
- •Глава 14 – Транспортный уровень.
- •14.0 Введение.
- •14.0.1 Почему я должен выполнить этот модуль?
- •14.0.2 Что я буду изучать в этом модуле?
- •14.1 Передача данных
- •14.1.1 Роль транспортного уровня
- •14.1.2 Функции транспортного уровня
- •14.1.3 Протоколы транспортного уровня
- •14.1.4 Протокол управления передачей (tcp)
- •14.1.5 Протокол пользовательских датаграмм (udp)
- •14.1.6 Соответствующий протокол транспортного уровня для соответствующего приложенияНачало формы
- •14.1.7 Проверьте ваше понимание темы - Передача данныхНачало формы
- •14.2 Обзор протокола tcp
- •14.2.1 Функции протокола tcp
- •14.2.2 Заголовок протокола tcp
- •14.2.3 Поля заголовка tcp
- •14.2.4 Приложения, использующие протокол tcp
- •14.2.5 Проверьте свое понимание темы - Обзор tcp
- •14.3 Обзор протокола udp
- •14.3.1 Функции протокола udp
- •14.3.2 Заголовок протокола udp
- •14.3.3 Поля заголовка udp
- •14.3.4 Приложения, использующие протокол udp
- •14.3.5 Проверьте свое понимание темы - Обзор udp
- •14.4 Номера портов
- •14.4.1 Несколько отдельных сеансов передачи данных
- •14.4.2 Пары сокетов
- •14.4.3 Группы номеров портов
- •14.4.4 Команда netstat
- •14.4.5 Проверить ваше понимание темы - Номера портов
- •14.5 Обмен данными по протоколу tcp
- •14.5.1 Процессы tcp-сервера
- •14.5.2 Установление tcp-соединения
- •14.5.3 Прекращение tcp-соединения
- •14.5.4 Анализ трехстороннего квитирования tcp
- •14.5.5 Видеоролик. Трехэтапное квитирование tcp
- •14.5.6 Проверьте ваше понимание темы - Процесс связи tcp
- •14.6 Надежность и управление потоком передачи данных
- •14.6.1 Надежность tcp - гарантированная и упорядоченная доставка
- •14.6.2 Видеоролик. Надежность tcp: порядковые номера и подтверждения
- •14.6.3 Надежность tcp: потеря данных и повторная передача
- •14.6.4 Видеоролик. Надежность tcp: потеря данных и повторная передача
- •14.6.5 Управление потоком tcp. Размер окна и подтверждения
- •14.6.6 Управление потоком tcp - максимальный размер сегмента (mss)
- •14.6.7 Управление потоком tcp. Предотвращение перегрузок
- •14.6.8 Проверьте свое понимание темы — надежность и управление потоком
- •14.7 Обмен данными по протоколу udp
- •14.7.1 Udp: низкие накладные расходы или надежность?
- •14.7.2 Сборка датаграмм udp
- •14.7.3 Процессы и запросы udp-сервера
- •14.7.4 Процессы udp-клиента
- •14.7.5 Проверьте ваше понимание темы - Процесс связи udp
- •14.8 Практика и контрольная работа модуля
- •14.8.1 Packet Tracer. Обмен данными с использованием tcp и udp
- •14.8.2 Что я изучил в этом модуле?
- •14.8.3 Контрольная по модулю - Транспортный уровень
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.