Уровни и потоки данных в модели OSI

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

На рис. 6. показаны уровни в модели OSI, начиная с физического - ближайшего к несущей сетевой среде. Модель OSI предоставляет архитектуру стандартных потоков данных (рис. 7), так определяя протоколы, что принимающий уровень на компьютере-адресате получает именно тот объект, который был передан соответствующим уровнем на компьютере-отправителе. Передающий процесс посылает данные прикладному уровню, а тот вставляет в них заголовок и передает сформированный пакет презентационному уровню. При необходимости представительский уровень может преобразовывать данные различными способами, после чего добавляет заголовок и передает сеансовому уровню.

Рис. 6. Уровни эталонной модели OSI

Рис. 7. Потоки данных в модели OSI

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

Каждый уровень вставляет свой заголовок, и, в конечном счете, пакет попадает на канальный уровень, который добавляет не только заголовок, но и концевую часть канального уровня (data-link trailer). Последняя содержит контрольную сумму и символы, дополняющие кадр до нужного размера (это помогает синхронизировать кадры). Далее пакет передается на физический уровень, откуда он пересылается принимающему компьютеру. Подобный метод дополнения данных заголовками определенных уровней носит название инкапсуляции данных. На принимающем компьютере от пакета - по мере его продвижения с одного уровня на другой - последовательно отделяются заголовки и концевая часть, и, в конечном счете, он попадает к процессу-получателю.

Одним из самых запутанных аспектов инкапсуляции данных является терминология, используемая для описания протокольных блоков данных, генерируемых каждым уровнем. Термин пакет (packet), в частности, определяет блок данных, передаваемый через сетевую среду, хотя он также применяется и для описания данных на любой стадии процесса. Большинство протоколов канального уровня работают с кадрами (frames), которые включают заголовок и постинформацию, окружающие данные, полученные от протокола сетевого уровня. Когда информация от транспортного уровня инкапсулируется протоколом сетевого уровня, то получившиеся блоки данных называются дейтаграммами (datagram). В течение процесса передачи дейтаграмма должна быть разбита на фрагменты (fragments). Терминология транспортного уровня в большей степени зависит от используемого на данном уровне протокола. Так, в случае использования протокола UDP, протокольные блоки данных на транспортном уровне называются дейтаграммами, хотя они и не является эквивалентами дейтаграмм сетевого уровня. В случае же использования протокола TCP, каждый протокольный блок данных носит название сегмента (segment), а совокупность таких сегментов носит название последовательность (sequence). Представительский и сеансовый уровни обычно не связаны с какими-либо отдельными протоколами. Функции этих уровней внедрены в другие элементы стека протоколов, а их протоколы не поддерживают своих заголовков и протокольных блоков данных.


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



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