Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Сеансовый уровень

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

Сеансовый уровень отвечает за такие серьезные вопросы, как режим передачи и установка точек синхронизации. Иными словами, на этом уровне определяется, какой будет передача между двумя прикладными процессами: полудуплексной (процессы будут передавать и принимать данные по очереди) или дуплексной (процессы будут передавать и принимать данные одновременно). В полудуплексном режиме сеансовый уровень выдает тому процессу, который первым начинает передачу, маркер данных. Когда второму процессу приходит время отвечать, маркер данных передается ему. Сеансовый уровень, таким образом, разрешает передачу только той стороне, которая обладает маркером данных.

Синхронизирующие точки представляют собой точки внутри «диалога», в которых сеансовый уровень проверяет наличие фактического обмена.

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

Сеансовый уровень, кроме того, отвечает за детали, связанные с упорядоченным («плавным») завершением соединения в конце сеанса. Могут возникнуть и ситуации, когда требуется безусловное («резкое») завершение. Это необходимо в тех случаях, когда одна из сторон прекращает обмен и отказывается с этого момента принимать данные.

Сеансовый уровень обрабатывает не все запросы на соединения. Он может выдать примитив отказа от соединения, если определит, что соединение приведет к перегрузке сети или что затребованный прикладной процесс отсутствует.