2- Модель OSI (1086238), страница 3
Текст из файла (страница 3)
Идентификация протокола транспортного уровня
Так же, как в заголовке канального уровня указан протокол сетевого уровня, сгенерировавший и передавший данные, в заголовке сетевого уровня содержится информация о протоколе транспортного уровня, от которого эти данные были получены. В соответствии с этой информацией система-получатель передает входящие дейтаграммы соответствующему протоколу транспортного уровня.
Транспортный уровень
Функции, выполняемые протоколами транспортного (transport) уровня, дополняют функции протоколов сетевого уровня. Часто протоколы этих уровней, используемые для передачи данных, образуют взаимосвязанную пару, что видно на примере TCP IP: протокол TCP функционирует на транспортном уровне. IP — на сетевом. В большинстве наборов протоколов имеется два или несколько протоколов транспортного уровня, выполняющих разные функции. Альтернативой TCP является протокол UDP (User Datagram Protocol). В набор протоколов IPX также включено несколько протоколов транспортного уровня, в том числе NCP (NetWare Core Protocol) и SPX (Sequenced Packet Exchange).
Разница между протоколами транспортного уровня из определенного набора заключается в том, что некоторые из них ориентированы на соединение, а другие — нет. Системы, использующие протокол, ориентированный на соединение (connection-oriented), перед передачей данных обмениваются сообщениями, чтобы установить связь друг с другом. Это гарантирует, что системы включены и готовы к работе. Протокол TCP, например, ориентирован на соединение. Когда Вы с помощью браузера подключаетесь к серверу Интернета, браузер и сервер для установления связи сначала выполняют так называемое
трехшаговое рукопожатие (three-way handshake). Лишь после этого браузер передает
Оконечная система
Оконечная система
Рис. 8. В маршрутизаторе за прием пакетов и их передачу следующей системе отвечает протокол сетевого уровня
серверу адрес нужной Web-страницы. Когда передача данных завершена, системы выполняют
такое же рукопожатие для прекращения связи.
Кроме того, протоколы, ориентированные на соединение, выполняют дополнительные действия, например, отправляют сигнал подтверждения приема пакета, сегментируют данные, управляют потоком, а также обнаруживают и исправляют ошибки. Как правило, протоколы этого типа используются для передачи больших объемов информации, в которых не должно содержаться ни единого ошибочного бита, например, файлов данных или программ. Дополнительные функции протоколов с ориентацией на соединение гарантируют корректную передачу данных. Вот почему эти протоколы часто называют надежными (reliable). Надежность в данном случае является техническим термином и означает, что каждый передаваемый пакет проверяется на наличие ошибок, кроме того, система-отправитель уведомляется о доставке каждого пакета. Недостаток протоколов этого типа состоит в значительном объеме управляющих данных, которыми обмениваются две системы. Во-первых, дополнительные сообщения передаются при установлении и завершении связи. Во-вторых, заголовок, добавляемый к пакету протоколом с ориентацией на соединение, существенно превосходит по размеру заголовок протокола, не ориентированного на соединение. Например, заголовок протокола TCP/IP занимает 20 байтов, а заголовок UDP — 8 байтов.
Протокол, не ориентированный на соединение (connectionless), не устанавливает соединение между двумя системами до передачи данных. Отправитель просто передает информацию целевой системе, не беспокоясь о том, готова ли она принять данные и существует ли эта система вообще. Обычно системы прибегают к протоколам, не ориентированным на соединение, например, к UDP, для коротких транзакций, состоящих только из запросов и ответных сигналов. Ответный сигнал от получателя неявно выполняет функцию сигнала подтверждения о передаче.
Примечание Ориентированные и не ориентированные на соединение протоколы есть не только на транспортном уровне. Например, протоколы сетевого уровня обычно не ориентированы на соединение, поскольку обеспечение надежности связи они возлагают на транспортный уровень.
Протоколы транспортного уровня (как и сетевого и канального уровней) обычно содержат информацию с вышестоящих уровней. Например, в заголовки TCP и UDP включаются номера портов, идентифицирующие приложение, породившее пакет, и приложение, которому он предназначен.
Сеансовый уровень
На сеансовом (session) уровне начинается существенное расхождение между реально применяемыми протоколами и моделью OSI. В отличие от нижестоящих уровней, выделенных протоколов сеансового уровня не существует. Функции этого уровня интегрированы в протоколы, которые выполняют также функции представительского и прикладного уровней. Транспортный, сетевой, канальный и физический уровни занимаются собственно передачей данных по сети. Протоколы сеансового и вышестоящих уровней к процессу связи отношения не имеют. К сеансовому уровню относятся 22 службы, многие из которых задают способы обмена информацией между системами, включенными в сеть. Наиболее важны службы управления диалогом и разделения диалога.
Обмен информацией между системами в сети называется диалогом (dialog). Управление диалогом (dialog control) заключается в выборе режима, в котором системы будут обмениваться сообщениями, Таких режимов два: полудуплексный (two-way alternate, TWA) и дуплексный (two-way simultaneous, TWS). В полудуплексном режиме две системы вместе с данными передают также маркеры. Передавать информацию можно только компьютеру, у которого в данный момент находится маркер. Так удается избежать столкновения сообщений в пути. Дуплексная модель сложнее. Маркеров в ней нет: обе системы могут передавать данные в любой момент, даже одновременно.
Разделение диалога (dialog separation) состоит во включении в поток данных контрольных точек (checkpoints), позволяющих синхронизировать работу двух систем. Степень сложности разделения диалога зависит от того, в каком режиме он осуществляется. В полудуплексном режиме системы выполняют малую синхронизацию, заключающуюся в обмене сообщениями о контрольных точках. В дуплексном режиме системы выполняют полную синхронизацию с помощью главного/активного маркера.
Представительский уровень
На представительском (presentation) уровне выполняется единственная функция: трансляция синтаксиса между различными системами. Иногда компьютеры в сети применяют разные синтаксисы. Представительский уровень позволяет им «договориться» об общем синтаксисе для обмена данными. Устанавливая соединение на представительском уровне, системы обмениваются сообщениями с информацией о том, какие синтаксисы в них имеются, и выбирают тот, который они будут использовать во время сеанса. У обеих систем, участвующих в соединении, есть абстрактный синтаксис (abstract syntax) — их «родная» форма связи. Абстрактные синтаксисы различных компьютерных платформ могут отличаться. В процессе согласования системы выбирают общий синтаксис передачи данных (transfer syntax). Передающая система преобразует свой абстрактный синтаксис в синтаксис передачи данных, а система-получатель по завершению передачи — наоборот. При необходимости система может выбрать синтаксис передачи данных с дополнительными функциями, например, сжатием или шифрованием данных.
Прикладной уровень
Прикладной уровень — это точка входа, через которую программы получают доступ к модели OSI и сетевым ресурсам. Большинство протоколов прикладного уровня предоставляет службы доступа к сети. Например, протоколом SMTP (Simple Mail Transfer Protocol) большинство программ электронной почты пользуется для отправки сообщений. Другие протоколы прикладного уровня, например, FTP (File Transfer Protocol), сами являются программами.
В протоколы прикладного уровня часто включают функции сеансового и представительского уровня. В результате типичный стек протоколов содержит четыре отдельных протокола, которые работают на прикладном, транспортном, сетевом и канальном уровнях.
Краткое содержание занятия
• Эталонная модель OSI состоит из 7 уровней: физического, канального, сетевого, транспортного, сеансового, представительского и прикладного.
• Точного соответствия между уровнями модели OSI и стеком протоколов в реальной системе, как правило, нет.
• В протоколы канального уровня часто бывают включены спецификации физического уровня.
• Протоколы сетевого и транспортного уровней работают вместе, обеспечивая сквозную службу связи.
• Функции сеансового, представительского и прикладного уровней часто объединены в одном протоколе прикладного уровня.
1