Взаимодействие уровней модели OSI

Задача каждого уровня – предоставить услуги вышележащему уровню, “маскируя” детали реализации этих услуг. При этом каждый уровень на компьютере–источнике работает так, будто он напрямую связан с таким же уровнем на компьютере-приемнике. Однако в действительности связь осуществляется между смежными уровнями одного компьютера – программное обеспечение каждого уровня реализует сетевые функции в соответствии с набором протоколов.

Перед подачей в сеть данные разбиваются на пакеты. Пакет – это единица информации, передаваемая между устройствами сети. Пакет проходит последовательно через все уровни программного обеспечения. На каждом уровне к пакету добавляется некоторая информация, форматирующая или адресная, которая необходима для передачи данных по сети. Например, приложение обращается с запросом к прикладному уровню. На основании этого запроса программное обеспечение прикладного уровня формирует пакет стандартного формата. Обычно пакет состоит из заголовка (AH – Application Header) и поля данных. Заголовок содержит служебную информацию, которую необходимо передать прикладному уровню компьютера-приемника, чтобы сообщить ему какую работу надо выполнить. Поле данных может быть пустым или содержать какие-либо данные.

После формирования пакета прикладной уровень направляет его вниз представительному уровню. Протокол представительного уровня на основании информации, полученной из заголовка прикладного уровня, выполняет требуемые действия и добавляет к сообщению собственную служебную информацию – заголовок представительного уровня (PH – Presentation Header), в котором содержатся указания для протокола представительного уровня машины-приемника. Полученное в результате этого сообщение передается вниз сеансовому уровню, который в свою очередь добавляет свой заголовок (SH – Session Header) и т.д. Наконец сообщение достигает нижнего физического уровня, который собственно и передает его по линии связи машине-приемнику. На рис. 3.2 условно показано взаимодействие уровней модели OSI. На схеме TH (Transport Header) обозначает заголовок транспортного уровня, NH (Network Header) – заголовок сетевого уровня и DH (Data Link Header) – заголовок канального уровня. Кроме этого, тип данных, формируемых на транспортном уровне, принято называть дейтаграммой, на сетевом – пакет, а на канальном – фрейм или кадр.

Рисунок 3.2. Взаимодействие уровней модели OSI

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

В качестве примера рассмотрим, как передается электронная почта по протоколам TCP/IP. Передача сообщения начинается с седьмого уровня, где к нему добавляется заголовок MAPI (Mail Application Programming Interface – интерфейс прикладного программирования для электронной почты). Затем пакет передается на представительский уровень, где происходит добавление заголовка MIME (Multipurpose Internet Mail Extensions – многоцелевое Интернет расширение для электронной почты), с помощью которого получатель сможет определить формат сообщения. На сеансовом уровне происходит преобразование имен, и доменное имя rgotups.ru преобразуется в IP-адрес 193.17.52.55. На транспортном уровне все это сообщение, которое имеет размер 256 Кбайт, разбивается на четыре фрагмента по 64 Кбайта и устанавливается сеанс TCP с использованием метода скользящего окна для управления потоком данных. На сетевом уровне выполняется маршрутизация и пакет передается на ближайший маршрутизатор. Кроме этого на сетевом уровне происходит преобразование логических IP-адресов в физические МАС-адреса, чтобы с ними мог работать протокол более низкого уровня. На канальном уровне пакет снова фрагментируется, преобразуясь во фреймы, которые соответствуют максимальной единице передачи данных (MTU – Maximum Transmission Unit) передающей среды. На физическом уровне данные передаются в виде электрических сигналов. Принятые данные снова проходят по уровням модели, но в обратном порядке. При этом выполняются действия, обратные тем, которые были выполнены на компьютере отправителя, и в конечном итоге пакет преобразуется в один фрагмент размером 256 Кбайт в формате приемлемом для соответствующего приложения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: