3.6 Транспортный уровень управления сетью. Классы обслуживания протокола ВОС. Фаза соединения. Фаза разъединения. Фаза передачи данных. Перечень команд.
1. Транспортный уровень управления сетью (Уровень 4 OSI)
Назначение: Транспортный уровень является связующим звеном между прикладными процессами (уровни 5-7) и нижележащей сетью (уровни 1-3). Его главная задача — обеспечить сквозную (end-to-end) доставку данных с заданным уровнем надежности независимо от того, насколько ненадежной является физическая или сетевая среда.
Ключевые функции:
- Сегментация и сборка: Разбиение длинных сообщений на пакеты (сегменты) на отправителе и сборка на получателе.
- Управление потоком (Flow Control): Предотвращение переполнения буфера медленного получателя быстрым отправителем (механизм «скользящего окна»).
- Управление ошибками: Обнаружение потерь и искажений, повторная передача поврежденных сегментов.
- Мультиплексирование: Одновременная поддержка нескольких соединений между множеством приложений через один сетевой интерфейс (использование портов/TSAP).
2. Классы обслуживания протокола ВОС (OSI Transport Classes)
В эталонной модели OSI транспортный уровень предлагает 5 классов протоколов (TP0 – TP4), которые различаются по сложности и набору предоставляемых гарантий. Выбор класса зависит от надежности нижележащей сетевой службы (уровня 3).
| Класс | Название | Характеристики | Применение |
|---|---|---|---|
| TP0 | Simple Class | Простейший. Только сегментация/сборка. Нет управления ошибками и потоком. | Для надежных сетей (например, X.25 с фиксированной коммутацией). |
| TP1 | Basic Error Recovery | Добавляет базовое восстановление после потерь (ретрансляция). | Для сетей с умеренной надежностью. |
| TP2 | Multiplexing | Поддерживает мультиплексирование нескольких транспортных соединений в одно сетевое. | Для хост-машин с большим количеством сессий, но надежной сетью. |
| TP3 | Error Recovery & Multiplexing | Комбинация TP1 и TP2 (восстановление + мультиплексирование). | Для сетей средней надежности с большим трафиком. |
| TP4 | Error Detection & Recovery | Самый полный. Включает контроль ошибок, управление потоком на основе скользящего окна и таймеры. Аналог TCP/IP. | Для глобальных ненадежных сетей (например, Интернет). |
3. Фаза соединения (Establishment Phase)
Цель фазы — согласовать параметры передачи между двумя транспортными объектами (TSAP-адресами) до отправки полезных данных.
Процедура (3-х или 4-х этапное рукопожатие):
- Инициатор отправляет CR (Connection Request) TPDU, содержащий:
- Предлагаемый номер соединения (Reference).
- Размер окна (Window Size).
- Максимальный размер TPDU.
- Класс протокола (например, TP4).
- Получатель анализирует запрос.
- Получатель отправляет CC (Connection Confirm), подтверждая согласованные параметры или предлагая компромиссные значения.
- Стороны синхронизируют начальные порядковые номера (Sequence Numbers) для защиты от «задержанных дублей» (повторно принятых старых пакетов).
Важно: В OSI реализована строгая проверка идентичности параметров (QoS) на этом этапе. Если сеть не может обеспечить запрошенную пропускную способность, соединение может быть отклонено.
4. Фаза передачи данных (Data Transfer Phase)
Это основная фаза, в которой происходит обмен пользовательской информацией. Передача строится на механизме «Скользящее окно» с подтверждениями.
Механизм работы:
- Отправитель передает DT (Data) TPDU с порядковым номером (NS).
- Получатель, приняв данные, отправляет AK (Acknowledgment), указывая номер следующего ожидаемого TPDU (или подтверждая последний полученный).
- Если отправитель не получил AK в течение тайм-аута (Timeout), он инициирует повторную передачу (Retransmission).
Особенности TP4 (в отличие от TCP):
- Разрешен явный отрицательный ответ (NAK) — получатель может сразу попросить повторно отправить конкретный потерянный пакет, не дожидаясь тайм-аута отправителя.
- Поддерживается срочная передача данных (Expedited Data) — данные, которые должны быть доставлены вне очереди.
5. Фаза разъединения (Release Phase)
Разъединение бывает двух типов:
А. Штатное (Общедоступное) разъединение: Инициатор отправляет DR (Disconnect Request). Получатель подтверждает DC (Disconnect Confirm). После этого все буферы освобождаются. Процесс аналогичен «вежливому закрытию» TCP.
Б. Аварийное (Принудительное) разъединение: Используется при критических ошибках (отказ узла, сбой таймера). Сторона отправляет ED (Expedited Data) или просто прерывает соединение без подтверждения. В протоколах OSI также применяется механизм «Reboot Recovery», чтобы новый хост не принял старые пакеты от «умершего» до перезагрузки.
6. Перечень команд (TPDU – Transport Protocol Data Units)
В протоколах транспортного уровня OSI (в частности, в TP4) используются строго типизированные блоки данных. Это и есть перечень команд (типы TPDU):
| Тип TPDU | Сокращение | Назначение (Команда) |
|---|---|---|
| CR | Connection Request | Команда инициации соединения (SYN-аналог). |
| CC | Connection Confirm | Команда подтверждения соединения (SYN-ACK). |
| DR | Disconnect Request | Команда запроса на разрыв соединения (FIN-аналог). |
| DC | Disconnect Confirm | Команда подтверждения разрыва. |
| DT | Data | Основная команда передачи пользовательских данных. |
| AK | Acknowledgment | Команда подтверждения (положительный квиток). Указывает номер следующего ожидаемого пакета. |
| NAK | Negative Acknowledgment | Команда отрицательного подтверждения. Сообщает, что пакет с номером N испорчен или потерян (явный запрос на повтор). |
| EA | Expedited Data Acknowledgment | Команда подтверждения срочных данных. |
| ED | Expedited Data | Команда передачи срочных данных (минуя очередь обычных DT). |
| RJ | Reject | Команда отклонения (используется при сбое синхронизации окон, требует пересчета параметров окна). |
Итоговый вывод для ответа
Транспортный уровень OSI — это высокоорганизованная система, где управление соединением жестко регламентировано через 3 фазы (установка, передача, разрыв). Выбор класса обслуживания (от TP0 до TP4) позволяет гибко балансировать между избыточностью протокола и надежностью. В отличие от упрощенного TCP/IP, модель OSI предоставляет явные команды управления (NAK, RJ), что делает её более сложной в реализации, но теоретически более устойчивой к асинхронным сбоям в гетерогенных сетях.