Несмотря на то что протоколы, связанные с эталонной моделью OSI, сейчас не используются, сама модель до сих пор весьма актуальна, а свойства ее уровней очень важны. В эталонной модели TCP/IP все наоборот: сама модель сейчас почти не используется, а ее протоколы являются едва ли не самыми распространенными.
Но здесь будет рассмотрена только модель OSI (Open Systems Interconnection, Модель взаимодействия открытых систем). Так же в данной статье будут указаны некоторые сетевые протоколы из эталонной модели TCP/IP, чтобы в дальнейшем было удобнее использовать её.
Модель OSI имеет семь уровней. Появление именно такой структуры было обусловлено следующим:
- Уровень должен создаваться по мере необходимости отдельного уровня абстракции.
- Каждый уровень должен выполнять строго определенную функцию.
- Выбор функций для каждого уровня должен осуществляться с учетом создания стандартизированных международных протоколов.
- Границы между уровнями должны выбираться так, чтобы поток данных между интерфейсами был минимальным.
- Количество уровней должно быть достаточно большим, чтобы различные функции не объединялись в одном уровне без необходимости, но не слишком высоким, чтобы архитектура не становилась громоздкой.
1 Физический уровень (Physical)
Данный уровень занимается реальной передачей необработанных битов при помощи физических сигналов (тока, света и электромагнитное поле (радиосигнал)) по каналу связи. При разработке сети необходимо убедиться, что когда одна сторона передает единицу, то принимающая сторона получает также единицу, а не ноль.
Принципиальные вопросы:
- какое напряжение должно использоваться для отображения единицы, а какое для нуля;
- сколько микросекунд длится бит;
- может ли передача производиться одновременно в двух направлениях;
- как устанавливается начальная связь и как она прекращается, когда обе стороны закончили свои задачи;
- из какого количества проводов должен состоять кабель и какова функция каждого провода.
Вопросы разработки в основном связаны с механическими, электрическими и процедурными интерфейсами, а также с физическим носителем, лежащим ниже физического уровня.
Устройствами, которые работают на этом ровне являются: концентраторы (хабы) и репитеры.
Протоколов на данном уровне нет, но некоторые утверждают, что Ethernet - протокол физического уровня
2 Канальный уровень (Data link)
Основная задача уровня — быть способным передавать «сырые» данные физического уровня по надежной линии связи.
На уровень возложено решение следующих задач:
- обнаружение и исправление ошибок передачи данных;
Эта задача выполняется при помощи разбиения входных данных на кадры, обычный размер которых колеблется от нескольких сот до нескольких тысяч байт.
- не допустить ситуации, когда быстрый передатчик заваливает приемник данными;
Может быть предусмотрен некий механизм регуляции, который информировал бы передатчик о наличии свободного места в буфере приемника на текущий момент.
- управлять доступом к совместно используемому каналу.
Эта задача разрешается введением специального дополнительного подуровня уровня передачи данных — подуровня доступа к носителю.
Устройствами, которые работают на этом ровне являются: коммутаторы (свитчи) и мосты
Протоколы: ARP, RARP, IFMP.
3 Сетевой уровень (Network)
Занимается управлением операциями подсети. Важнейшим моментом здесь является определение маршрутов пересылки пакетов от источника к пункту назначения. Маршруты могут быть жестко заданы в виде таблиц и редко меняться либо, что бывает чаще, автоматически изменяться, чтобы избегать отказавших компонентов.
В более общем смысле, сетевой уровень занимается предоставлением определенного уровня сервиса (это касается задержек, времени передачи, вопросов синхронизации). При путешествии пакета из одной сети в другую также может возникнуть ряд проблем. Так, способ адресации, применяемый в одной сети, может отличаться от принятого в другой. Сеть может вообще отказаться принимать пакеты из-за того, что они слишком большого размера. Также могут различаться протоколы и т. д. Именно сетевой уровень должен разрешать все эти проблемы, позволяя объединять разнородные сети.
Устройство, работающее с этим уровнем: маршрутизатор (роутер)
Протоколы: IP, ICMP, RIP, IGMP и др.
4 Транспортный уровень (Transport)
Основная функция — принять данные от сеансового уровня, разбить их при необходимости на небольшие части, передать их сетевому уровню и гарантировать, что эти части в правильном виде прибудут по назначению. Также он определяет тип сервиса, предоставляемого сеансовому уровню и, в конечном счете, пользователям сети.
Однако транспортный уровень может предоставлять и другие типы сервисов, например пересылку отдельных сообщений без гарантии соблюдения порядка их доставки или одновременную отправку сообщения различным адресатам по принципу широковещания.
Транспортный уровень является настоящим сквозным уровнем, то есть доставляющим сообщения от источника адресату. Другими словами, программа на машине-источнике поддерживает связь с подобной программой на другой машине при помощи заголовков сообщений и управляющих сообщений.
Протоколы: ISTP, UDP, TCP и др.
5 Сеансовый уровень (Session)
Позволяет пользователям различных компьютеров устанавливать сеансы связи друг с другом. При этом предоставляются различные типы сервисов, среди которых управление диалогом (отслеживание очередности передачи данных), управление маркерами (предотвращение одновременного выполнения критичной операции несколькими системами) и синхронизация (установка служебных меток внутри длинных сообщений, позволяющих продолжить передачу с того места, на котором она оборвалась, даже после сбоя и восстановления).
Протоколы: BGMP, DNS, RPC и др.
6 Представления уровень (Presentation)
Занимается по большей части синтаксисом и семантикой передаваемой информации. Чтобы было возможно общение компьютеров с различными внутренними представлениями данных, необходимо преобразовывать форматы данных друг в друга, передавая их по сети в неком стандартизированном виде. Уровень представления занимается этими преобразованиями, предоставляя возможность определения и изменения структур данных более высокого уровня (например, записей баз данных).
7 Прикладной уровень (Application)
Содержит набор популярных протоколов, необходимых пользователям. Одним из наиболее распространенных является протокол передачи гипертекста HTTP (HyperText Transfer Protocol), который составляет основу технологии Всемирной паутины. Когда браузер запрашивает веб-страницу, он передает ее имя (адрес) и рассчитывает на то, что сервер, на котором расположена страница, будет использовать HTTP. Сервер в ответ отсылает страницу. Другие прикладные протоколы используются для передачи файлов, электронной почты, сетевых рассылок.
Протоколы: HTTP, FTP, SLP и др.
В одной из следующих статей будет рассмотрена модель TCP/IP.