В начале 80-х годов международной организацией по стандартизации (ISO — International Organization for Standardization) была разработана модель взаимодействия открытых систем (OSI — Open System Interconnection). В литературе можно встретить и другие названия этой модели: сокращенное — модель OSI или более полное — эталонная семиуровневая модель взаимодействия открытых систем OSI.
Средства взаимодействия в модели OSI делятся на семь уровней:
Благодаря этому, задача сетевого взаимодействия разбивается на несколько более мелких задач. Это позволяет при разработке новых способов и инструментов сетевого взаимодействия использовать уже готовые решения, заменив только некоторые его части.
Базовая эталонная модель взаимодействия открытых систем
Непосредственно друг с другом взаимодействуют только физические уровни. Все остальные уровни напрямую контактируют только с выше- и нижележащими уровнями: пользуются услугами нижележащего и предоставляют услуги вышележащему. Друг с другом такие уровни взаимодействуют косвенным образом, посредством нижележащих уровней.
На каждом уровне к пересылаемым данным добавляется служебная информация
Из рисунка видно, что по мере прохождения сообщения через уровни модели OSI к пересылаемым данным добавляется служебная информация, свидетельствующая о прохождении данных через определенный уровень.
Взаимодействие между компьютерами пользователь обычно осуществляет с помощью каких-либо программных приложений, обладающих специальным набором функций. Эти приложения работают на самом высоком уровне модели взаимодействия — прикладном. Например, когда пользователь указывает, что хочет записать определенные данные в файл на сетевом диске, на самом деле будет сформировано соответствующее сообщение. В поле данных этого сообщения и будет содержаться передаваемая в файл информация.
После формирования сообщение с прикладного уровня будет передано на представительный уровень. На этом уровне в заголовок добавляются указания для представительного уровня компьютера-адресата. Потом сообщение передается сеансовому уровню, который добавляет свою информацию и т.д. Из рисунка видно как изменяются данные при передаче между уровнями. Заголовки + данные каждого предыдущего уровня помещаются в поле данных для каждого последующего уровня. Соответственно, изначальные данные, которые требуется передать пользователю на другой компьютер, обрастают заголовками каждого из 7-ми уровней. Процесс вложения одного протокола в другой называется инкапсуляцией. В процессе прохождения исходного блока данных (сообщения) по уровням он разбивается на более мелкие фрагменты для пересылки их по сети.
Инкапсуляция — это метод построения модульных сетевых протоколов, при котором логически независимые функции сети абстрагируются от нижележащих механизмов путём включения или инкапсулирования этих механизмов в более высокоуровневые объекты.
Когда сообщение поступает на компьютер-адресат, оно принимается физическим уровнем и передается вверх с уровня на уровень. Каждый уровень анализирует содержимое заголовка своего уровня, выполняет содержащиеся в нем указания, затем удаляет относящуюся к себе информацию из заголовка и передает сообщение далее вышележащему уровню. Этот процесс называется декапсуляцией.
При взаимодействии открытой системы и Интернет модель OSI упрощается, так как некоторые протоколы Интернет включают в себя функции нескольких уровней. Если к сети Интернет подключается один пользователь, а не целая локальная сеть, то автоматически исчезают канальный и физический уровни, потому что нет сетевых адаптеров, а значит, нет и аппаратных адресов. В данном случае конечным протоколом будет протокол типа «точка-точка», например, РРР. В этот протокол будут вложены все остальные уровни.
Службы и протоколы | Физический уровень сетевого взаимодействия (Physical Layer) |