stringtranslate.com

Уровень сеанса

В семиуровневой модели OSI компьютерных сетей сеансовым уровнем является уровень 5 .

Уровень сеанса обеспечивает механизм открытия, закрытия и управления сеансом между процессами приложений конечного пользователя, т. е. полупостоянный диалог. Сеансы связи состоят из запросов и ответов, которые происходят между приложениями. Службы уровня сеанса обычно используются в прикладных средах, которые используют удаленные вызовы процедур (RPC). [2]

Примером протокола сеансового уровня является протокол сеансового уровня набора протоколов OSI , также известный как X.225 или ISO 8327. В случае потери соединения этот протокол может попытаться восстановить соединение. Если соединение не используется в течение длительного периода, протокол сеансового уровня может закрыть его и снова открыть. Он обеспечивает либо полнодуплексную , либо полудуплексную работу и предоставляет точки синхронизации в потоке обмениваемых сообщений. [3]

Другие примеры реализаций сеансового уровня включают протокол зональной информации (ZIP) — протокол AppleTalk [4] , который координирует процесс привязки имен, и протокол управления сеансом (SCP) [5] — протокол сеансового уровня DECnet Phase IV.

В рамках семантики многоуровневого обслуживания сетевой архитектуры OSI сеансовый уровень отвечает на запросы обслуживания от уровня представления и отправляет запросы обслуживания на транспортный уровень .

Услуги

Установление и прекращение соединения

Как минимум, сеансовый уровень позволяет двум сторонам устанавливать и использовать соединение, называемое сеансом, и позволяет упорядоченно разорвать соединение.

В модели OSI транспортный уровень не отвечает за упорядоченное завершение соединения. Вместо этого за это отвечает сеансовый уровень. Однако в современных сетях TCP/IP TCP уже обеспечивает упорядоченное закрытие соединений на транспортном уровне.

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

Управление диалогом

Уровень сеанса может предоставлять три различных типа диалога - двусторонний одновременный (полный дуплекс), двусторонний альтернативный (полудуплекс) и односторонний (симплекс). Он также предоставляет механизмы для согласования типа диалога и контролирует, какая сторона имеет "очередь" или "маркер" для отправки данных или выполнения некоторых функций управления.

Управление диалогом не реализовано в TCP/IP и при необходимости передается на обработку прикладному уровню. В широко используемом протоколе HTTP/1.1 клиент и сервер обычно работают в полудуплексном режиме. HTTP/1.1 также поддерживает конвейеризацию HTTP для полнодуплексной работы, но многие серверы/прокси не могли правильно ее обработать, и не было механизма согласования диалога для проверки возможности использования полнодуплексного режима, поэтому его поддержка в конечном итоге была прекращена большинством браузеров.

Точки синхронизации и ресинхронизация

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

Это может использоваться при передаче аудио/видео в реальном времени. Точки синхронизации могут использоваться для вставки временных меток в поток данных, а повторная синхронизация может использоваться для сброса передачи с новой временной метки. Например, если видеопоток слишком сильно отстает от аудиопотока, принимающая сторона может выдать запрос на повторную синхронизацию видеопотока, перезапустив его передачу с более поздней временной метки.

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

Это также может быть использовано для прерывания/возобновления диалога в любое время, не из-за сбоя приложения, а по плану приложения. Приложение может прервать диалог, начать другой диалог в том же сеансе и возобновить предыдущий диалог в том же сеансе или в другом сеансе.

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

Протоколы

Сравнение с моделью TCP/IP

Эталонная модель TCP /IP не касается деталей модели OSI семантики протокола приложения или транспорта и, следовательно, не рассматривает сеансовый уровень. Управление сеансом OSI в связи с типичными транспортными протоколами (TCP, SCTP) содержится в протоколах транспортного уровня или иным образом считается областью протоколов прикладного уровня . Уровни TCP/IP являются описаниями рабочих областей (приложение, хост-хост, сеть, канал), а не подробными предписаниями рабочих процедур или семантики данных.

Смотрите также

Ссылки

  1. ^ "X.225: Информационные технологии – Взаимосвязь открытых систем – Протокол сеанса с установлением соединения: Спецификация протокола". Архивировано из оригинала 1 февраля 2021 г. Получено 10 марта 2023 г.
  2. ^ "Что такое удаленный вызов процедур (RPC)? Определение из SearchAppArchitecture". SearchAppArchitecture . Получено 4 августа 2022 г. .
  3. ^ Рекомендация МСЭ-Т X.225
  4. ^ "ZIP" (PDF) . Apple.developer.com .
  5. ^ "Протокол управления сеансом (SCP)". www.w3.org . Получено 4 августа 2022 г. .