Skip to content

Latest commit

 

History

History
76 lines (43 loc) · 8.13 KB

lecture.adoc

File metadata and controls

76 lines (43 loc) · 8.13 KB

Модель ISO/OSI

Передача данных в компьютерной сети довольно сложная задача. И как при решении сложных задач, она была разбита на простые, независимые подзадачи. В конце 70-х годов была предложена модель OSI (Open Systems Interconnection), которая предлагала разбить передачу данных в компьютерной сети на 7 уровней. В начале 80-х годов эта модель стала основной в рабочей группе ISO (International Organization for Standardization, Международная организация по стандартизации).

С тех пор эта модель называется ISO/OSI (но в простой речи говорят только OSI) и в основном она используется для объяснения работы сети.

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

7 уровней модели ISO/OSI.
Figure 1. 7 уровней модели ISO/OSI.

Каждый уровень в модели OSI является независимым, т.е. он ничего не знает о работе других уровней. Например, сетевой уровень ничего не знает о работе канального и транспортного уровня.

Данные в этой модели могут двигаться строго вниз или строго вверх. Т.е. во время отправки данные с транспортного уровня передаются сетевому, а затем канальному. А во время получения данные с канального уровня передаются сетевому, затем транспортному и так далее. Данные не гуляют между уровнями в хаотическом порядке.

Движение данных в модели ISO/OSI.
Figure 2. Движение данных в модели ISO/OSI.

Физический уровень

Физический уровень отвечает за способы передачи или приема бит. На этом уровне описываются способы подключения (проводное соединение, беспроводное соединение), параметры сигналов, такие как амплитуда, частота, фаза, используемая модуляция. Решаются вопросы, связанные с синхронизацией, избавлением от помех, скоростью передачи данных и так далее.

Физический уровень модели ISO/OSI.
Figure 3. Физический уровень модели ISO/OSI.

Канальный уровень

Канальный уровень отвечает за доставку кадров (frame) между устройствами, подключенными к одному сетевому сегменту. Заголовок кадра содержит аппаратные адреса отправителя и получателя, что позволяет определить, какое устройство отправило кадр и какое устройство должно получить и обработать его.

Канальный уровень модели ISO/OSI.
Figure 4. Канальный уровень модели ISO/OSI.
Note
Хост - это любой компьютер (ПК, ноутбук, телефон, планшет) подключенный к сети.

По сути, канальный уровень позволяет создать сегмент сети с несколькими хостами и обмениваться между ними кадрами и проверку их целостности (контрольная сумма).

Обмен кадрами на канальном уровне.
Figure 5. Обмен кадрами на канальном уровне.

Сетевой уровень

Сетевой уровень отвечает за доставку данных между хостами, находящимися в разных сетевых сегментах. Другими словами - есть несколько сетевых сегментов, которые соединены между собой. Сетевой уровень занимается тем, что доставляет пакет от одного хоста к другому, даже если они в разных сегментах.

Сетевой уровень модели ISO/OSI.
Figure 6. Сетевой уровень модели ISO/OSI.

Транспортный уровень

Транспортный уровень занимается доставкой данных от одного приложения до другого. Как известно, на хостах помимо ОС (операционной системы) работают различные приложения. Когда пакет пришел на хост, транспортный уровень доставляет его нужному приложению.

Например, вы запустили Telegram и смотрите видео на RuTube. Когда на ваш хост приходит очередной пакет, именно транспортный уровень определяет, какому приложению необходимо передать полученные данные.

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

Сеансовый уровень

Сеансовый уровень отвечает за поддержание сеанса связи, позволяя приложениям взаимодействовать между собой длительное время.

Уровень представления

Как понятно из названия, этот уровень отвечает за представление данных. Например, если данные должны быть сжаты или закодированы перед отправкой или переданы в определенной кодировке. Тоже касается и обработки полученных данных.

Уровень приложения

Обеспечивает взаимодействие сети и пользовательских приложений. Именно на этом уровне располагаются популярные Интернет службы: HTTP (веб), SMTP (электронная почта) и многие другие. Когда вы, как программист, будете писать сетевое приложение, это как раз и будет реализация 7-го уровня модели ISO/OSI.

Сетевой юмор

Сетевые инженеры вовсе не скучные люди и так же как и все любят повеселиться. Поэтому, помимо 7-и уровней в модели ISO/OSI есть еще несколько уровней: ● политический ● религиозный ● финансовый ● и другие

Подробней об этом можно почитать в Wiki - https://en.wikipedia.org/wiki/Layer_8