Благодаря такому подходу всегда можно найти компромисс между скоростью и качеством доставки данных.
Сеансовый уровень
Сеансовый уровень (Session Layer) используется для создания и управления сеансом связи на время, необходимое для передачи данных. Время сеанса зависит лишь от объема информации, которая должна быть передана. Поскольку этот объем может быть существенным, используются разные механизмы, позволяющие контролировать данный процесс.
Для управления сеансом применяется маркер, обладатель которого гарантирует себе право на связь. Кроме того, используются служебные сообщения, с помощью которых, например, стороны могут договариваться о способе передачи данных или сообщать о завершении передачи данных и освобождении маркера.
Чтобы передача данных была успешной, создаются специальные контрольные точки, которые позволяют начать повторную передачу данных практически с того места, на котором произошел непредвиденный обрыв связи. В данном случае работают также механизмы синхронизации данных, определяются права на передачу данных, поддерживается связь в периоды неактивности и т. п.
Уровень представления данных
Уровень представления данных, или представительский уровень (Representation Layer), является своего рода проходным уровнем, основная задача которого – кодирование и декодирование информации в представление, понятное вышестоящему и нижестоящему уровню. С его помощью обеспечивается совместимость компьютерных систем, использующих разные способы представления данных.
Этот уровень удобен тем, что именно на этом этапе выгодно использовать разные алгоритмы сжатия и шифрования данных, преобразование форматов данных, обрабатывать структуры данных, преобразовывать их в битовые потоки и т. д.
Прикладной уровень
Прикладной уровень (Application Layer) – последний «бастион» между пользователем и сетью. Он поддерживает связь пользовательских приложений, то есть программ, с сетевыми сервисами и службами на всех уровнях модели ISO/OSI, обеспечивает передачу служебной информации, синхронизирует взаимодействие прикладных процессов и т. д.
Глава 6
Протоколы передачи данных
Понятие протокола
В предыдущей главе мы познакомились с эталонной моделью, описывающей принцип и правила подготовки, приема и передачи данных через любой канал связи. Каждый из ее семи уровней для выполнения своих функций в подготовке или обработке данных использует стандартные процедуры межуровневого обмена информацией и протоколы передачи данных. Поэтому получается, что модель ISO/OSI является теоретической основой функционирования сети, а сетевые протоколы – это то, что превращает теорию в практику.
Протокол передачи данных – это набор правил и соглашений, которые описывают способ передачи данных между объектами в сети.
Для обслуживания модели взаимодействия открытых систем используется достаточно большое количество сетевых протоколов. Многие из них специфичны и часто выполняют только одно конкретное действие, но делают это быстро и, самое главное, правильно. Существуют также более продвинутые и функциональные протоколы, которые могут совершать определенные действия, выполняя работу сразу нескольких уровней модели. Есть даже целые семейства (стеки) протоколов, которые являются составной частью протоколов с общим названием, например стеки протоколов TCP/IP или IPX/SPX.
ПРИМЕЧАНИЕ
Модель ISO/OSI разрабатывалась тогда, когда уже были разработаны многие протоколы, в частности TCP/IP. Ее главной задачей была стандартизация работы сетей. Однако, когда модель была принята окончательно, оказалось, что она имеет много недостатков. В частности, самым слабым звеном модели стал транспортный уровень. По этой причине существует достаточно много протоколов, которые выполняют работу сразу несколькихуровней, что противоречит самой модели открытых систем.