Модель OSI

Модель OSI

Модель OSI появилась в 1970-х годах благодаря Международной организации по стандартизации (ISO). Она объясняет, как устроен интернет и как электрические сигналы превращаются в картинки и видеосообщения, а также как данные попадают с одного компьютера на другой по локальной сети или интернету. В этой статье вы узнаете что это за модель, из чего она состоит и какие протоколы использует, а также кому необходимо ее знать.

Открытая сетевая модель OSI (The Open Systems Interconnection model) — это концептуальная модель, которая описывает, как устройства в компьютерных сетях обмениваются данными друг с другом. Ее основная цель — обеспечить стандартизацию сетевых протоколов и облегчить  совместимость и взаимодействие различных устройств и систем.

Семислойная модель

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

Физический слой

Физический слой — основа OSI. Он контролирует передачу данных на машинном языке (единицы и нули) между физическими объектами в сети. Этот слой работает за счет таких элементов, как кабели, разъемы, повторители и концентраторы, которые обеспечивают обмен данными. Физический уровень определяет особенности среды передачи — тип кабеля, длину волны, напряжение, скорость.

Канальный слой

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

Сетевой слой

Сетевой слой направляет данные через различные сети или подсети. Маршрутизаторы и шлюзы управляют перемещением данных между устройствами в сети. Этот слой определяет, как устройства адресуются и идентифицируются — через IP- или MAC-адреса, а также прокладывает оптимальный курс передачи данных с помощью алгоритмов Дейкстры или Беллмана-Форда. Этот слой может разделять данные на блоки и управлять пересылкой каждого блока через различные маршрутизаторы и устройства в сети.

Транспортный слой

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

Окно (англ. window) —  это механизм, который регулирует поток данных между отправителем и получателем. Когда отправитель посылает данные, он разбивает их на небольшие блоки, называемые сегментами, и передает их получателю по одному сегменту за раз. Получатель отправляет подтверждение (ACK) обратно отправителю, сообщая ему, что сегмент был успешно получен. Окно определяет количество сегментов, которые отправитель может передавать до получения подтверждения, а также размер сегментов и скорость передачи данных.

В транспортном слое действуют протоколы:

  1. TCP (Transmission Control Protocol) обеспечивает надежную доставку данных через интернет. TCP использует механизмы «окна» и подтверждения для контроля потока данных и обеспечения надежной передачи.
  2. UDP (User Datagram Protocol) создает передачу данных без установления соединения между отправителем и получателем; не гарантирует доставку или порядок доставки пакетов данных; не использует механизмы «окна» и подтверждения, что делает его быстрее, но менее надежным, чем TCP.

Сеансовый слой

Сеансовый слой управляет установлением, поддержкой и завершением сеансов связи между устройствами и использует протоколы:

  1. RPC (Remote Procedure Call) позволяет вызывать процедуры на удаленном компьютере, как если бы они были локальными. RPC используется в распределенных системах, где клиенты и серверы работают на разных компьютерах.
  2. NetBIOS (Network Basic Input/Output System) обеспечивает основные функции сетевого ввода-вывода для компьютеров в локальной сети. Он используется для идентификации компьютеров в сети, обмена сообщениями между компьютерами и управления сетевыми ресурсами.

Сеансовый уровень контролирует инициирование, поддержание и завершение сеансов, а также восстановление сеансов после сбоев и нарушений.

Слой представления

Слой представления преобразует данные в формат, который может быть обработан приложениями. Он устанавливает, как «единицы и нули» кодируются, декодируются, шифруются, дешифруются, сжимаются, декомпрессируются, и обеспечивает совместимость между форматами, такими как ASCII или Unicode. В этом слое функционируют такие протоколы, как:

  1. MIME (Multipurpose Internet Mail Extensions) позволяет включать различные типы данных (изображения, аудио, видео) в электронные письма и веб-страницы. MIME определяет стандартные типы контента и форматы данных.
  2. SSL (Secure Sockets Layer) обеспечивает защищенную передачу данных через интернет. Он используется для шифрования данных, передаваемых между клиентом и сервером, и для проверки подлинности сервера.

Прикладной слой

Прикладной слой облегчает доступ конечных пользователей к различным сетевым сервисам и программам и работает с такими протоколами как:

  1. HTTP (Hypertext Transfer Protocol) используется для передачи веб-страниц и других данных в интернете. Он определяет, как клиент и сервер обмениваются данными, включая запросы на получение данных и ответы на эти запросы.
  2. FTP (File Transfer Protocol) позволяет загружать, скачивать и удалять файлы с удаленного сервера и используется для передачи файлов между компьютерами в интернете.
  3. SMTP (Simple Mail Transfer Protocol) определяет, как клиент отправляет сообщение на сервер, и как сервер передает сообщение получателю и используется для отправки электронной почты.
  4. DNS (Domain Name System) преобразует доменные имена в IP-адреса и наоборот. Он позволяет пользователям использовать доменные имена, такие как google.com, вместо IP-адресов (например — 209.185.108.134).

Прикладной уровень организует взаимодействие пользователей и приложений с сетью и управляет обработкой запросов и ответов.

Кому нужно знать модель OSI

  1. Тестировщикам — при тестировании сетевых приложений и сервисов, чтобы понимать какие ошибки могут возникнуть, если протоколы не работают должным образом. Это поможет им выявлять и исправлять проблемы в приложениях и сервисах, которые работают через сеть.
  2. Системным администраторам — при настройке и управлении сетями. Знание устройства и протоколы работают вместе для обеспечения передачи данных через сеть помогает им настраивать сетевые устройства и протоколы так, чтобы они работали максимально эффективно и безопасно.
  3. Программистам — при разработке приложений, которые взаимодействуют с другими приложениями через сеть. Знание модели OSI поможет им понимать, как происходит передача данных в сети и какие ошибки могут возникнуть при передаче данных.

Всем трем категориям необходимо знать, какие протоколы используются на каждом уровне.

Софья Пирогова

Софья Пирогова

Главный редактор / Автор статей