Друзья, всем привет! На связи Ваш проводник в мир технологий. На данном канале будут выходить статьи, посвященные ИТ-технологиям. Я решил писать в первую очередь не просто статьи, а статьи "хендбуки", которые раскрывают тему и помогут новичкам, опытным специалистам и просто всем любителям технологий познать что-то новое и понять как все работает. Начнем.
Сегодня поговорим об основе основ, как говориться, о "Базе" которую надо не только знать, но и понимать. как она работает, а именно о сетевой модели OSI.
Что нам говорит Википедия?
Сетевая модель OSI (The Open Systems Interconnection model) — сетевая модель стека (магазина) сетевых протоколов OSI/ISO. Посредством данной модели различные сетевые устройства могут взаимодействовать друг с другом. Модель определяет различные уровни взаимодействия систем. Каждый уровень выполняет определённые функции при таком взаимодействии.
Давайте взглянем на это простым языком и разберемся как все это работает.
Сетевая модель OSI и ее уровни:
Сетевая модель OSI – это в первую очередь процесс взаимодействия компьютеров и других физический устройств между собой через сеть.
В ней определяют семь уровней взаимодействия:
1. Физический (Physical layer).
2. Канальный (Data link layer), или уровень передачи данных.
3. Сетевой (Network layer).
4. Транспортный (Transport layer).
5. Сеансовый (Session layer).
6. Представления (Presentation layer).
7. Прикладной (Application layer)
Уровни изображаются один над другим, первый – в самом низу:
Разберем каждый уровень модели OSI по отдельности на простых примерах:
1. Физический (Physical layer):
Данный уровень охватывает всю физическую инфраструктуру и оборудование, необходимые для передачи данных. Для передачи данных потребителю сами данные преобразуются в набор битов - минимальных единиц информации. Далее для передачи от одного устройства к другому данные в двоичной форме преобразуются в электрические сигналы, световые импульсы или радиоволны.
Физические среды передачи данных:
- Кабель;
- Оптоволокно;
- Беспроводные волны.
Физические протоколы использующиеся для передачи данных:
- Ethernet;
- Bluetooth;
- Wi-Fi;
- Ик-порт и т.д.
Пример на пальцах: У нас есть какое-то письмо (физическое или электронное). На этом уровне мы будем рассматривать, как это письмо будет доставлено: через почтовый ящик, почтовый грузовик или интернет-кабель.
2. Канальный (Data link layer), или уровень передачи данных:
Данный уровень отвечает за передачу данных между двумя устройствами в одной сети. Он также контролирует ошибки и управляет потоком данных, что помогает минимизировать ущерб от ненадежности сетей. На уровне данные принимаются и разбиваются на кадры. Кадры хорошо подходят для локальной передачи, а их взаимодействие осуществляется через протоколы:
- Управление логическим каналом (Logical Link Control — LLC) - подуровень, который обеспечивает логику канала передачи данных;
- Управление доступом к среде (Media Access Control — MAC) - подуровень, который отвечает за управление аппаратным аспектом взаимодействия между устройствами и управляет скоростью потока в сети.
Основные устройства, выполняющие работу на канальном уровне, - это коммутаторы и сетевые мосты (переключатели).
Пример на пальцах: На этом уровне наше письмо сортируется в почтовом отделении. То есть почта проверяет данные письма и определяет, в какое почтовое отделение оно будет доставлено.
3. Сетевой (Network layer):
Данный уровень занимается определением наиболее оптимального пути передачи данных между различными сетями через IP-протокол и определяет для каждого уникального устройства в сети свою схему адресации. Для передачи данных на следующий уровень данные на сетевом уровне разбиваются на пакеты, готовые к передаче по сети.
Основные протоколы:
- Интернет-протокол (Internet Protocol — IP) - протокол, который ищет устройства в сети по их IP-адресам. Также (повторимся) составляет оптимальный маршрут для передачи данных.
- Межсетевой обмен пакетами (Internetwork Packet Exchange — IPX) - протокол, который используется для пересылки и маршрутизации пакетов между серверами и аппаратными устройствами.
Основные устройства, выполняющие работу на сетевом уровне, - это маршрутизаторы.
Пример на пальцах: На этом уровне решается, каким маршрутом будет следовать наше письмо, чтобы прибыть до пункта назначения.
4. Транспортный (Transport layer):
Данный уровень отвечает за связь между процессами приложений, работающий на разных устройствах. Также обеспечивает процесс непрерывности состояния данных (данные поступают и отправляются в одном и том же состоянии). Для передачи данные разбиваются на фрагменты, после получения фрагменты соединяются в единое целое в виде сообщения.
Основные протоколы:
- Протокол управления передачей (Transmission Control Protocol — TCP) - протокол обеспечивает связь между прикладной программой и интернет -протоколом.
- Протокол пользовательских датаграмм (User Datagram Protocol — UDP) - протокол, который в отличии от TCP посылает поток данных без подтверждения транспортного уровня.
Основные устройства, выполняющие работу на транспортном уровне, - это сетевой брандмауэр (файрвол).
Пример на пальцах: Предположим наше письмо (или посылка) очень большое, его в почтовом отделении делят на части и отправляют по частям. После, как письмо пришло до места назначения, эти части собираются в правильном порядке.
5. Сеансовый (Session layer):
Данный уровень создает и управляет сессиями связи между приложениями. Здесь устанавливаются, поддерживаются и завершаются соединения между программами. Также определяет, как долго будут длиться эти сессии. Данные на этом уровне передаются в виде сообщений.
Основные протоколы:
- Язык структурированных запросов (Structured Query Language — SQL) - язык программирования для управления реляционными базами данных.
- Базовая сетевая система ввода/вывода (Network Basic Input/Output System — NetBIOS) - набор сетевых протоколов, который облегчает связь между аппаратными устройствами в локальной сети (LAN).
Основные устройства, выполняющие работу на транспортном уровне, - это сетевой шлюз.
Пример: Например два человека договорились о способе и времени передачи писем. Вот как раз этот уровень управляет этими договоренностями, чтобы связь между отправителем и получателем была стабильной.
6. Представления (Presentation layer):
Данный уровень отвечает за:
- Преобразование данных;
- Сжатие и распаковка данных (компрессия и декомпрессия);
- Шифрование и дешифрование данных.
Этот слой «представляет» необработанные данные — превращает его из битового потока во что-то, что приложения могут декодировать и использовать.
Основные протоколы:
- Объединённая группа экспертов по фотографии (Joint Photographic Experts Group — JPEG).
- Американский стандартный код для обмена информацией (American Standard Code for Information Interchange — ASCII).
- Цифровой интерфейс музыкальных инструментов (Musical Instrument Digital Interface — MIDI).
- Экспертная группа по движущимся изображениям (Moving Picture Experts Group — MPEG).
- Формат файла изображения с тегами (Tagged Image File Format — TIFF).
- Формат обмена графикой (Graphics Interchange Format — GIF).
Про каждый из этих протоколов мы поговорил отдельно в других статьях.
Пример на пальцах: Нам отправили письмо из Китая. Письмо пришло в Россию. Почта проверяет правильно ли оформлено письмо, чтобы оно точно дошло до адресата. По возможности если данные указаны с ошибкой, почта отформатирует данные, чтобы письмо точно дошло точно до получателя.
7. Прикладной (Application layer):
Данный уровень самый верхний, он непосредственно взаимодействует с пользователем. Здесь работают программы, такие как веб-браузеры, мессенджеры или почтовые клиенты.
Основные протоколы:
- Протокол передачи файлов (File Transfer Protocol — FTP).
- Простой протокол передачи почты (Simple Mail Transfer Protocol — SMTP).
- Почтовый протокол (Post Office Protocol — POP).
- Протокол доступа к интернет-сообщениям (Internet Message Access Protocol — IMAP).
- Протокол передачи гипертекста (Hypertext Transfer Protocol — HTTP).
- Протокол передачи гипертекста через SSL (Hypertext Transfer Protocol over Secure Socket Layer — HTTPS).
- Система доменных имён (Domain Name System — DNS).
- Безопасная оболочка (Secure Shell — SSH).
Про каждый из этих протоколов мы поговорил отдельно в других статьях.
Пример: Это последний этап, на котором письмо уже находиться в руках получателя. Получатель читает и понимает содержание письма.
Протоколы передачи данных по уровням:
Про каждый протокол мы поговорил отдельно в других статьях.
Полезные ссылки на другие статьи:
Спасибо за внимание! Буду рад Вашей обратной связи. Также пишите темы и предложения для статьей. Обязательно разберемся в каждой технологии.
На связи!!!