Для облегчения понимания работы всех сетевых устройств, перечисленных в статье Сетевые устройства, касательно уровней сетевой эталонной модели OSI, Я сделал схематичные рисунки с небольшими комментариями.
Для начала вспомним уровни эталонной сетевой модели OSI и инкапсулирование данных.
Посмотрите, как происходит передача данных между двумя соединенными компьютерами. Заодно Я выделю работу сетевой карты на компьютерах, т.к. именно она является сетевым устройством, а компьютер – в принципе нет. (Все картинки кликабельны — для увеличения картинки кликните по ней.)
Приложение на компьютере PC1 отправляет данные другому приложению находящемуся на другом компьютере PC2. Начиная с верхнего уровня (уровень приложений) данные направляются к сетевой карте на канальный уровень. На нём сетевая карта преобразует фреймы в биты и отправляет в физическую среду (например, кабель витую пару). На другой стороне кабеля поступает сигнал, и сетевая карта компьютера PC2 принимает эти сигнала, распознавая их в биты и формируя из них фреймы. Данные (содержащиеся в фреймах) декапсулируются к верхнему уровню, и когда доходят до уровня приложений, соответствующая программа на компьютере PC2 получает их.
Повторитель. Концентратор.
Репитер и концентратор работают на одном и том же уровне, поэтому касательно сетевой модели OSI они изображаются одинаково. Для удобства представлений сетевых устройств будем их отображать между нашими компьютерами.
Репитер и концентратор устройства первого (физического) уровня. Они принимают сигнал, распознают его, и пересылают сигнал далее во все активные порты.
Сетевой мост. Коммутатор.
Сетевой мост и коммутатор тоже работают на одном уровне (канальном) и изображаются они соответственно одинаково.
Оба устройства уже второго уровня, поэтому помимо распознавания сигнала (подобно концентраторам на первом уровне) они декапсулируют его (сигнал) в фреймы. На втором уровне сравнивается контрольная сумма трейлера (прицепа) фрейма. Затем из заголовка фрейма узнаётся MAC-адрес получателя, и проверяется его наличие в коммутируемой таблице. Если адрес присутствует, то фрейм обратно инкапсулируется в биты и отправляется (уже в виде сигнала) на соответствующий порт. Если адрес не найден, происходит процесс поиска этого адреса в подключенных сетях.
Маршрутизатор.
Как Вы видите, маршрутизатор (или роутер) – это устройство третьего уровня. Вот как примерно роутер функционирует: На порт поступает сигнал, и роутер распознаёт его. Распознанный сигнал (биты) формируют фреймы (кадры). Сверяется контрольная сумма в трейлере и MAC-адрес получателя. Если все проверки прошли успешно, фреймы формируют пакет. На третьем уровне маршрутизатор исследует заголовок пакета. В нем присутствует IP адрес пункта назначения (получателя). На основе IP-адреса и собственной таблицы маршрутизации роутер выбирает наилучший путь следования пакеты к получателю. Выбрав путь, роутер инкапсулирует пакет в фреймы, а затем в биты и отправляет их в виде сигналов на соответствующий порт (выбранный в таблице маршрутизации).
Заключение
В заключении Я объединил все устройства в одной картинке.
Теперь у Вас достаточно знаний, чтобы определить какие устройства и как работают. Если у Вас остались вопросы, задавайте их мне и в ближайшее время Вам или Я или другие пользователи непременно помогут.
#статьи
-
0
Рассказываем, по каким механизмам работает интернет, как устройства обмениваются данными и почему вы можете сёрфить в соцсетях.
Иллюстрация: Оля Ежак для Skillbox Media
Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.
Что происходит, когда вы отправляете сообщение, скажем, в Telegram? Понятно, что Telegram отправляет это сообщение. Но что в этот момент происходит в компьютере и в сети? Куда летят файлы и как они понимают, куда им лететь? Разберёмся вместе в этой статье.
Всё, что нужно знать о модели OSI:
- Что это такое
- Первый уровень OSI
- Второй уровень OSI
- Третий уровень OSI
- Четвёртый уровень OSI
- Пятый уровень OSI
- Шестой уровень OSI
- Седьмой уровень OSI
- Как модель работает на практике
- Что запомнить
Модель OSI (Open System Interconnection), или эталонная модель взаимодействия открытых систем описывает, как устройства в локальных и глобальных сетях обмениваются данными и что происходит с этими данными. Её предложили в 1984 году инженеры из Международной организации по стандартизации (ISO), которая работала над единым стандартом передачи данных по интернету.
При этом сама по себе эталонная модель — не стандарт интернета, как, например, TCP/IP; её можно сравнить с фреймворками в мире языков программирования: в OSI «из коробки» доступны разные веб-стандарты — UDP, HTTP, FTP, Telnet и другие. Всего таких протоколов — более 100 штук.
Модель OSI включает семь слоёв, или уровней, — причём каждый из них выполняет определённую функцию: например, передать данные или представить их в понятном для человека виде на компьютере. Кстати, у каждого слоя — свой набор протоколов.
Слои ничего не знают о том, как устроены другие слои. Это называется абстракцией.
Изображение: Skillbox Media
Самый нижний слой отвечает за физическое представление данных, то есть за то, как данные передаются по проводам или с помощью радиоволн, а самый верхний — за то, как приложения взаимодействуют с сетью.
Нижний слой оперирует такими понятиями, как «тип кабеля» или «тип коннектора», а верхний — такими, как HTTP или API.
Рассмотрим каждый слой подробнее.
На самом нижнем уровне модели OSI данные представляют собой физические объекты — ток, свет или радиоволны. Они передаются по проводам или с помощью беспроводных сигналов.
Этот слой работает с кабелями, контактами в разъёмах, модуляцией сигнала, кодированием единиц и нулей и другими низкоуровневыми штуками. По сути, первый уровень — это уровень проводов и физических способов передачи сигнала. Минимальная абстракция.
Изображение: Skillbox Media
Самый известный протокол на физическом уровне — Ethernet. Он описывает, как сигналы кодируются и передаются по проводам. Кроме него есть Bluetooth, Wi-Fi и ИК-порт, которые также содержат инструкции для передачи данных.
Устройства физического уровня — концентраторы и репитеры. Они работают с физическим сигналом «втупую» и не вникают в его логику: получили данные — передали их дальше по проводу.
Фото: Wikimedia Commons
Над физическим уровнем располагается канальный. Его задача — проверить целостность полученных данных и исправить ошибки. Этот уровень «поумнее» предыдущего: он уже понимает, что разные амплитуды напряжений отвечают разным битам — нулям и единицам. А ещё канальный уровень умеет кодировать сигналы в биты и передавать их дальше.
Полученные с нижнего уровня данные делятся на фреймы, или кадры. Каждый фрейм состоит из служебной информации — например, адреса отправителя и адреса получателя, — а также самих данных.
Изображение: Skillbox Media
Получается что-то вроде почтового конверта. На лицевой стороне у него написано, от кого пришло письмо, а внутри находится само письмо (в нашем случае данные).
Лицевая сторона конверта — это MAC-адрес устройства, которое отправило нам информацию. Он нужен, чтобы идентифицировать устройства в локальной сети, состоит из 48 или 64 бит и выглядит примерно так:
Изображение: Skillbox Media
Ещё один важный факт о MAC-адресах: когда на заводе собирают ноутбук или смартфон, ему сразу же присваивают определённый MAC-адрес, который потом уже никак нельзя поменять. MAC-адрес настольных ПК зашит в сетевую карту, поэтому его можно изменить, только заменив эту самую карту.
С помощью команды ifconfig можно узнать MAC-адрес вашего Macbook или компьютера на Linux. В Windows нужно ввести команду ipconfig.
Канальный уровень не так прост — он делится ещё на два подуровня:
- уровень управления логическим каналом — LLC (logical link control);
- уровень управления доступом к среде — тот самый MAC (media access control).
Первый подуровень нужен для взаимодействия с верхним уровнем, сетевым, а второй — для взаимодействия с нижним, физическим.
Устройства канального уровня — коммутаторы и мосты. Они нужны, чтобы передавать фреймы нужному адресату. Протоколы канального уровня — PPP, CDP.
Этот уровень отвечает за маршрутизацию данных внутри сети между компьютерами. Здесь уже появляются такие термины, как «маршрутизаторы» и «IP-адреса».
Фото: Wikimedia Commons
Маршрутизаторы позволяют разным сетям общаться друг с другом: они используют MAC-адреса, чтобы построить путь от одного устройства к другому.
Данные на сетевом уровне представляются в виде пакетов. Такие пакеты похожи на фреймы из канального уровня, но используют другие адреса получателя и отправителя — IP-адреса.
Чтобы получить IP-адрес обоих устройств (отправителя и получателя), существует протокол ARP (address resolution protocol). Он умеет конвертировать MAC- в IP-адрес и наоборот.
Из названия понятно, что на этом уровне происходит передача данных по сети. Так и есть. Два главных протокола здесь — TCP и UDP. Они как раз и отвечают за то, как именно будут передаваться данные.
TCP (Transmission Control Protocol) — это протокол, который гарантирует доставку данных в корректном виде. Он жёстко следит за каждым битом информации, но работает гораздо медленнее UDP.
Например, когда вы вводите логин и пароль при входе в социальную сеть, очень важно, чтобы все символы отправились в определённой последовательности. Если какие-то потеряются или изменятся, вы просто не сможете авторизоваться. Поэтому протокол TCP использует разные методы проверок — например, контрольные суммы.
Изображение: Skillbox Media
А вот в видео или аудио небольшие потери некритичны, зато важна скорость передачи данных. Для таких задач как раз и придумали протокол UDP (user datagram protocol). Он уже не проверяет цельность битов, его задача — как можно быстрее передать данные с одного устройства на другое.
В протоколе TCP данные делятся на сегменты. Каждый сегмент — часть пакета. Сегменты нужны, чтобы передавать информацию по сети, учитывая её пропускную способность.
Например, если вы передаёте данные с компьютера, у которого пропускная способность 100 Мб/c, на смартфон с пропускной способность 10 Мб/c, то данные разделятся так, чтобы не застревать в самом медленном устройстве.
Изображение: Skillbox Media
Ещё сегментация важна для надёжности. Один большой пакет может потеряться или направиться не тому адресату. А маленькие пакеты снижают риск подобных ошибок и даже позволяют проверять их количество. Если какой-то сегмент не получилось доставить, протокол TCP может запросить его у отправителя снова. Так обеспечивается надёжность.
В UDP данные делятся на датаграммы — это примерно то же, что и пакет, только датаграммы автономны. Каждая датаграмма имеет всё необходимое, чтобы дойти до получателя. Поэтому они не зависят от сети и могут доставляться по разным маршрутам и в произвольном порядке.
Начиная с этого уровня и выше, данные имеют уже нормальный вид — например, привычных нам JPEG- или MP3-файлов. Задача сети на этих уровнях — представить информацию в понятном для человека виде и сделать так, чтобы пользователь мог её как-то «потрогать».
Сеансовый уровень управляет соединениями, или сессиями. Типичный пример — звонок по Skype или Zoom. Когда вы звоните другому человеку, между вашими компьютерами устанавливается соединение, по которому передаются аудио и видео. Если такое соединение разорвать, то и ваш звонок прервётся.
На сеансовом уровне очень важно, чтобы соединение правильно установилось и поддерживалось. То есть механизмы протоколов должны проверить, что у обоих собеседников есть нужные кодеки и сигнал между устройствами присутствует.
Изображение: Skillbox Media
На этом уровне происходит преобразование форматов данных — их кодирование и сжатие. Например, полученные данные могут превратиться в GIF- или MP4-файл. То же самое происходит и в обратном порядке: когда пользователь отправляет файл другому человеку, данные сначала конвертируются в биты и сжимаются, а потом уже передаются на транспортный уровень.
Помимо кодировки и сжатия на уровне представления, данные могут шифроваться — если, конечно, это необходимо.
Изображение: Skillbox Media
Последний уровень модели OSI — прикладной. На нём находятся сетевые службы, которые помогают без проблем сёрфить в интернете.
Прикладной уровень похож на некий графический интерфейс для всей модели OSI — с его помощью пользователь взаимодействует с другими уровнями, даже не подозревая об этом. Этот интерфейс называется сетевым.
Самые популярные из сетевых интерфейсов — это HTTP, HTTPS, FTP и SMTP. А «устройства» здесь — это уже программы: Zoom, Telegram, браузеры.
Изображение: Skillbox Media
В начале статьи мы задались вопросом: а как передаются сообщения в Telegram? Настало время на него ответить — и показать весь процесс передачи данных по модели OSI.
Мы хотим отправить сообщение нашему другу. Печатаем текст и нажимает кнопку «Отправить», а дальше перемещаемся внутрь компьютера.
Прикладной уровень. Приложение Telegram работает на прикладном уровне модели OSI. Когда мы печатаем текст сообщения и нажимаем кнопку «Отправить», эти данные передаются на сервер мессенджера, а оттуда — нашему другу.
Весь процесс проходит через API разных библиотек — например, для HTTP-запросов. Интерфейсы позволяют без лишних проблем обмениваться данными и не погружаться в то, как они представлены на низком уровне. Всё, что нужно знать, — это какую функцию вызвать и какие переменные туда передать.
Уровень представления. Здесь данные должны преобразоваться в унифицированный формат, чтобы их можно было передавать на разные устройства и операционные системы. Например, если мы отправляем сообщение c Windows на macOS, данные должны быть в читаемом для компьютеров Apple виде. Такая же ситуация и с другими устройствами.
Раз мы собираемся передать данные на другой компьютер, их нужно перевести в бинарный формат. После этого начнётся сам процесс передачи по сети.
Сеансовый уровень. Чтобы данные успешно передались сначала на сервер Telegram, а затем к нашему другу, приложению нужно установить соединение, или сеанс. Он обеспечивает синхронизацию между устройствами и восстанавливает связь, если она прервалась.
Благодаря сеансам вы можете видеть, что собеседник что-то печатает или отправляет вам картинки или видео. Но главная задача этого соединения — обеспечить стабильное соединение для передачи данных.
Транспортный уровень. Когда соединение установлено и данные унифицированы, пора передавать их. Этим занимается транспортный уровень.
Здесь данные разбиваются на сегменты и к ним добавляется дополнительная информация — например, номер порта и контрольные суммы. Всё это нужно, чтобы данные дошли до пользователя в целостности.
Сетевой уровень. Теперь данным нужно найти маршрут к устройству нашего друга, а затем отправить их по нему. Поэтому данные упаковываются в пакеты и к ним добавляются IP-адреса.
Чтобы получить IP-адрес устройств, которым нужно отправить пакеты, маршрутизаторы (устройства сетевого уровня) обращаются к ARP. Этот протокол быстро найдёт адрес получателя и отдаст его нам.
Канальный уровень. Здесь данные передаются от одного MAC-адреса к другому. Изначальный текст делится на фреймы — с заголовками и контрольными суммами для проверки целостности данных.
Физический уровень. И на самом нижнем уровне данные в виде электрических сигналов передаются по проводам, кабелям или по радиоволнам. Тут только одна задача — как можно быстрее откликаться на сигналы свыше.
После прохождения всех уровней модели OSI сообщение успешно доставляется на устройство нашего друга. Правда, в реальности это занимает всего миллисекунды.
Модель OSI описывает, как работает весь интернет: как электрические сигналы преобразуются в картинки с котиками и как устройства обмениваются этими данными.
Модель включает семь уровней:
- физический;
- канальный;
- сетевой;
- транспортный;
- сеансный;
- представления;
- прикладной.
На каждом уровне находятся определённые протоколы, которые помогают данным перемещаться или превращаться в удобный для пользователей формат.

Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие. А мы поможем с трудоустройством и важными для работодателей навыками.
Посмотреть курсы
Открытая сетевая модель OSI (Open Systems Interconnection model) состоит из семи уровней. Что это за уровни, как устроена модель и какова ее роль при построении сетей — в статье.
Модель OSI является эталонной. Полное название модели выглядит как «Basic Reference Model Open Systems Interconnection model», где Basic Reference Model — это как раз некая образцовая модель. Вначале рассмотрим общую информацию, а потом перейдем к частным аспектам.

Принцип устройства сетевой модели
Сетевая модель OSI имеет семь уровней, иерархически расположенных от большего к меньшему. Cамым верхним является седьмой (прикладной), а самым нижним — первый (физический). Модель OSI разрабатывалась еще в 1970-х годах, чтобы описать архитектуру и принципы работы сетей передачи данных.
В процессе передачи данных всегда участвуют устройство-отправитель, устройство-получатель, а также сами данные, которые должны быть переданы и получены. С точки зрения рядового пользователя задача элементарна — нужно взять и отправить эти данные. Все, что происходит при отправке и приеме данных, детально описывает семиуровневая модель OSI.
На седьмом уровне информация представляется в виде данных, на первом — в виде бит. Процесс, когда информация отправляется и переходит из данных в биты, называется инкапсуляцией. Обратный процесс, когда информация, полученная в битах на первом уровне, переходит в данные на седьмом, называется декапсуляцией. На каждом из семи уровней информация представляется в виде блоков данных протокола — PDU (Protocol Data Unit).
Рассмотрим на примере: пользователь 1 отправляет картинку, которая обрабатывается на седьмом уровне в виде данных, данные должны пройти все уровни до самого нижнего (первого), где будут представлены как биты. Этот процесс называется инкапсуляцией. Компьютер пользователя 2 принимает биты, которые должны снова стать данными. Этот обратный процесс называется декапсуляция. Что происходит с информацией на каждом из семи уровней, как и где биты переходят в данные мы разберем в этой статье.

Первый, физический уровень (physical layer, L1)
Начнем с самого нижнего уровня. Он отвечает за обмен физическими сигналами между физическими устройствами, «железом». Компьютерное железо не понимает, что такое картинка или что на ней изображено, «железу» картинка понятна только в виде набора нулей и единиц, то есть бит.
Каждый уровень имеет свои PDU (Protocol Data Unit), представляемые в той форме, которая будет понятна на данном уровне и, возможно, на следующем до преобразования. Работа с чистыми данными происходит только на уровнях с пятого по седьмой.
Устройства физического уровня оперируют битами. Они передаются по кабелям (например, через оптоволокно) или без — например, через Bluetooth или IRDA, Wi-Fi, GSM, 4G и так далее.
Второй уровень, канальный (data link layer, L2)
Когда два пользователя находятся в одной сети, состоящей только из двух устройств, — это идеальный случай. Но что если этих устройств больше?
Второй уровень решает проблему адресации при передаче информации. Канальный уровень получает биты и превращает их в кадры (frame, также «фреймы»). Задача здесь — сформировать кадры с адресом отправителя и получателя, после чего отправить их по сети.
У канального уровня есть два подуровня — это MAC и LLC. MAC (Media Access Control, контроль доступа к среде) отвечает за присвоение физических MAC-адресов, а LLC (Logical Link Control, контроль логической связи) занимается проверкой и исправлением данных, управляет их передачей. Для упрощения мы указываем LLC на втором уровне модели, но, если быть точными, LLC нельзя отнести полностью ни к первому, ни ко второму уровню — он между.
На втором уровне OSI работают коммутаторы, их задача — передать сформированные кадры от одного устройства к другому, используя в качестве адресов только физические MAC-адреса.
На канальном уровне активно используется протокол ARP (Address Resolution Protocol — протокол определения адреса). С помощью него 64-битные MAC-адреса сопоставляются с 32-битными IP-адресами и наоборот, тем самым обеспечивается инкапсуляция и декапсуляция данных.
Третий уровень, сетевой (network layer, L3)
На третьем уровне появляется новое понятие — маршрутизация. Для этой задачи были созданы устройства третьего уровня — маршрутизаторы (их еще называют роутерами). Маршрутизаторы получают MAC-адрес от коммутаторов с предыдущего уровня и занимаются построением маршрута от одного устройства к другому с учетом всех потенциальных неполадок в сети.
Четвертый уровень, транспортный (transport layer, L4)

Все семь уровней модели OSI можно условно разделить на две группы:
- Media layers (уровни среды),
- Host layers (уровни хоста).
Уровни группы Media Layers (L1, L2, L3) занимаются передачей информации (по кабелю или беспроводной сети), используются сетевыми устройствами, такими как коммутаторы, маршрутизаторы и т.п. Уровни группы Host Layers (L4, L5, L6, L7) используются непосредственно на устройствах, будь то стационарные компьютеры или мобильные устройства.
Четвертый уровень — это посредник между Host Layers и Media Layers, относящийся скорее к первым, чем к последним. Его главной задачей является транспортировка пакетов. Естественно, при транспортировке возможны потери, но некоторые типы данных более чувствительны к потерям, чем другие. Например, если в тексте потеряются гласные, то будет сложно понять смысл, а если из видеопотока пропадет пара кадров, то это практически никак не скажется на конечном пользователе. Поэтому при передаче данных, наиболее чувствительных к потерям на транспортном уровне, используется протокол TCP, контролирующий целостность доставленной информации.
Для мультимедийных файлов небольшие потери не так важны, гораздо критичнее будет задержка. Для передачи таких данных, наиболее чувствительных к задержкам, используется протокол UDP, позволяющий организовать связь без установки соединения.
При передаче по протоколу TCP данные делятся на сегменты. Сегмент — это часть пакета. Когда приходит пакет данных, который превышает пропускную способность сети, пакет делится на сегменты допустимого размера. Сегментация пакетов также требуется в ненадежных сетях, когда существует большая вероятность того, что большой пакет будет потерян. При передаче данных по протоколу UDP пакеты данных делятся уже на датаграммы. Датаграмма (datagram) — это тоже часть пакета, но ее нельзя путать с сегментом.
Главное отличие датаграмм — в автономности. Каждая датаграмма содержит все необходимые заголовки, чтобы дойти до конечного адресата, поэтому они не зависят от сети, могут доставляться разными маршрутами и в разном порядке. При потере датаграмм или сегментов получаются «битые» куски данных, которые не получится корректно обработать.
Первые четыре уровня — специализация сетевых инженеров. С последними тремя они не так часто сталкиваются, потому что пятым, шестым и седьмым занимаются разработчики.
Защищаем сервисы на уровнях L3, L4 бесплатно.
Пятый уровень, сеансовый (session layer, L5)
Пятый уровень оперирует чистыми данными. Помимо пятого, чистые данные используются также на шестом и седьмом уровне. Сеансовый уровень отвечает за поддержку сеанса или сессии связи. Пятый уровень оказывает услугу следующему: управляет взаимодействием между приложениями, открывает возможности синхронизации задач, завершения сеанса, обмена информации.
Службы сеансового уровня зачастую применяются в средах приложений, требующих удаленного вызова процедур, т.е. чтобы запрашивать выполнение действий на удаленных компьютерах или независимых системах на одном устройстве (при наличии нескольких ОС).
Примером работы пятого уровня может служить видеозвонок по сети. Во время видеосвязи необходимо, чтобы два потока данных (аудио и видео) шли синхронно. Когда к разговору двоих человек прибавится третий — получится уже конференция. Задача пятого уровня — сделать так, чтобы собеседники могли понять, кто сейчас говорит.
Шестой уровень, представления данных (presentation layer, L6)
О задачах уровня представления вновь говорит его название. Шестой уровень отвечает за преобразование протоколов и кодирование/декодирование данных. Шестой уровень также занимается представлением картинок (в JPEG, GIF и т.д.), а также видео-аудио (в MPEG, QuickTime). А помимо этого → шифрованием данных, когда при передаче их необходимо защитить.

Седьмой уровень, прикладной (application layer)
Седьмой уровень иногда еще называют уровень приложений, но чтобы не запутаться можно использовать оригинальное название — application layer. Прикладной уровень — это то, с чем взаимодействуют пользователи, своего рода графический интерфейс всей модели OSI, с другими он взаимодействует по минимуму.
Все услуги, получаемые седьмым уровнем от других, используются для доставки данных до пользователя. Протоколам седьмого уровня не требуется обеспечивать маршрутизацию или гарантировать доставку данных, когда об этом уже позаботились предыдущие шесть. Задача седьмого уровня — использовать свои протоколы, чтобы пользователь увидел данные в понятном ему виде.
Критика модели OSI
Семиуровневая модель была принята в качестве стандарта ISO/IEC 7498, действующего по сей день, однако, модель имеет свои недостатки. Среди основных недостатков говорят о неподходящем времени, плохой технологии, поздней имплементации, неудачной политике.
Первый недостаток — это неподходящее время. На разработку модели было потрачено неоправданно большое количество времени, но разработчики не уделили достаточное внимание существующим в то время стандартам. В связи с этим модель обвиняют в том, что она не отражает действительность. В таких утверждениях есть доля истины, ведь уже на момент появления OSI другие компании были больше готовы работать с получившей широкое распространение моделью TCP/IP.
Вторым недостатком называют плохую технологию. Как основной довод в пользу того, что OSI — это плохая технология, приводят распространенность стека TCP/IP. Протоколы OSI часто дублируют другу друга, функции распределены по уровням неравнозначно, а одни и те же задачи могут быть решены на разных уровнях. Даже изначальное описание архитектуры в распечатанном виде имеет толщину в один метр.
Разделение на семь уровней было скорее политическим, чем техническим. При построении сетей в реальности иногда можно обойтись без уровней 5 и 6, также в редких случаях можно обойтись только первыми четырьмя уровнями.
Кроме того, в отличие от TCP/IP, OSI никогда не ассоциировалась с UNIX. Добиться широкого распространения OSI не получилось потому, что она проектировалась как закрытая модель, продвигаемая Европейскими телекоммуникационными компаниями и правительством США. Стек протоколов TCP/IP изначально был открыт для всех, что позволило ему набрать популярность среди сторонников открытого программного кода.
Даже несмотря на то, что основные проблемы архитектуры OSI были политическими, репутация была запятнана и модель не получила распространения. Тем не менее, в сетевых технологиях, при работе с коммутацией даже сегодня обычно используют модель OSI.

Вывод, роль модели OSI при построении сетей
В статье мы рассмотрели принципы построения сетевой модели OSI. На каждом из семи уровней модели выполняется своя задача. В действительности архитектура OSI сложнее, чем мы описали. Существуют и другие уровни, например, восьмой — так называют самого пользователя.
Как мы упоминали выше, оригинальное описание всех принципов построения сетей в рамках этой модели, если его распечатать, будет иметь толщину в один метр. Но компании активно используют OSI как эталон. Мы перечислили только основную структуру словами, понятными начинающим.
Модель OSI служит инструментом при диагностике сетей. Если в сети что-то не работает, то гораздо проще определить уровень, на котором произошла неполадка, чем пытаться перестроить всю сеть заново.
Зная архитектуру сети, гораздо проще ее строить и диагностировать. Как нельзя построить дом, не зная его архитектуры, так невозможно построить сеть, не зная модели OSI. При проектировании важно учитывать все. Важно учесть взаимодействие каждого уровня с другими, насколько обеспечивается безопасность, шифрование данных внутри сети, какой прирост пользователей выдержит сеть без обрушения, будет ли возможно перенести сеть на другую машину и т.д. Каждый из перечисленных критериев укладывается в функции одного из семи уровней.
| Сетевая модель OSI | |
|---|---|
| |
|
| Орган стандартизации | Международная организация по стандартизации[1] |
| Официальный сайт | iso.org/ics/35.100/x/ |
Сетевая модель OSI (англ. open systems interconnection basic reference model — Базовая Эталонная Модель Взаимодействия Открытых Систем (ЭМВОС)) — сетевая модель стека (магазина) сетевых протоколов OSI/ISO (ГОСТ Р ИСО/МЭК 7498-1-99). Посредством данной модели различные сетевые устройства могут взаимодействовать друг с другом. Модель определяет различные уровни взаимодействия систем. Каждый уровень выполняет определённые функции при таком взаимодействии.
Содержание
- 1 Уровни модели OSI
- 1.1 Прикладной уровень
- 1.2 Уровень представления
- 1.3 Сеансовый уровень
- 1.4 Транспортный уровень
- 1.5 Сетевой уровень
- 1.6 Канальный уровень
- 1.7 Физический уровень
- 2 Соответствие модели OSI и других моделей сетевого взаимодействия
- 2.1 Семейство TCP/IP
- 2.2 Семейство IPX/SPX
- 3 Критика
- 4 См. также
- 5 Примечания
- 6 Литература
- 7 Ссылки
Уровни модели OSI[править | править код]
| Модель OSI | ||||
|---|---|---|---|---|
| Уровень (layer) | Тип данных (PDU[2]) | Функции | Примеры | |
| Host layers |
7. Прикладной (application) | Данные | Доступ к сетевым службам | HTTP, FTP, POP3, WebSocket |
| 6. Представления (presentation) | Представление и шифрование данных | ASCII, EBCDIC | ||
| 5. Сеансовый (session) | Управление сеансом связи | RPC, PAP, L2TP | ||
| 4. Транспортный (transport) | Сегменты
(segment) /Дейтаграммы (datagram) |
Прямая связь между конечными пунктами и надёжность | TCP, UDP, SCTP, PORTS | |
| Media[3] layers |
3. Сетевой (network) | Пакеты (packet) | Определение маршрута и логическая адресация | IPv4, IPv6, IPsec, AppleTalk |
| 2. Канальный (data link) | Биты (bit)/ Кадры (frame) |
Физическая адресация | PPP, IEEE 802.22, Ethernet, DSL, ARP, сетевая карта. | |
| 1. Физический (physical) | Биты (bit) | Работа со средой передачи, сигналами и двоичными данными | USB, кабель («витая пара», коаксиальный, оптоволоконный), радиоканал |
В литературе наиболее часто принято начинать описание уровней модели OSI с 7-го уровня, называемого прикладным, на котором пользовательские приложения обращаются к сети. Модель OSI заканчивается 1-м уровнем — физическим, на котором определены стандарты, предъявляемые независимыми производителями к средам передачи данных:
- тип передающей среды (медный кабель, оптоволокно, радиоэфир и др.),
- тип модуляции сигнала,
- сигнальные уровни логических дискретных состояний (нули и единицы).
Любой протокол модели OSI должен взаимодействовать либо с протоколами своего уровня, либо с протоколами на единицу выше и/или ниже своего уровня. Взаимодействия с протоколами своего уровня называются горизонтальными, а с уровнями на единицу выше или ниже — вертикальными. Любой протокол модели OSI может выполнять только функции своего уровня и не может выполнять функций другого уровня, что не выполняется в протоколах альтернативных моделей.
Каждому уровню с некоторой долей условности соответствует свой операнд — логически неделимый элемент данных, которым на отдельном уровне можно оперировать в рамках модели и используемых протоколов: на физическом уровне мельчайшая единица — бит, на канальном уровне информация объединена в кадры, на сетевом — в пакеты (датаграммы), на транспортном — в сегменты. Любой фрагмент данных, логически объединённых для передачи — кадр, пакет, датаграмма — считается сообщением. Именно сообщения в общем виде являются операндами сеансового, представления и прикладного уровней.
К базовым сетевым технологиям относятся физический и канальный уровни.
Прикладной уровень[править | править код]
Прикладной уровень (уровень приложений; англ. application layer) — верхний уровень модели, обеспечивающий взаимодействие пользовательских приложений с сетью:
- позволяет приложениям использовать сетевые службы:
- удалённый доступ к файлам и базам данных,
- пересылка электронной почты;
- отвечает за передачу служебной информации;
- предоставляет приложениям информацию об ошибках;
- формирует запросы к уровню представления.
Протоколы прикладного уровня: RDP, HTTP, SMTP, SNMP, POP3, FTP, XMPP, OSCAR, Modbus, SIP, TELNET и другие.
Уровень представления[править | править код]
Зачастую ошибочно называемый представительским уровнем, этот уровень (англ. presentation layer) обеспечивает преобразование протоколов и кодирование/декодирование данных. Запросы приложений, полученные с прикладного уровня, на уровне представления преобразуются в формат для передачи по сети, а полученные из сети данные преобразуются в формат приложений. На этом уровне может осуществляться сжатие/распаковка или шифрование/дешифрование, а также перенаправление запросов другому сетевому ресурсу, если они не могут быть обработаны локально.
Уровень представлений обычно представляет собой промежуточный протокол для преобразования информации из соседних уровней. Это позволяет осуществлять обмен между приложениями на разнородных компьютерных системах прозрачным для приложений образом. Уровень представлений обеспечивает форматирование и преобразование кода. Форматирование кода используется для того, чтобы гарантировать приложению поступление информации для обработки, которая имела бы для него смысл. При необходимости этот уровень может выполнять перевод из одного формата данных в другой.
Уровень представлений имеет дело не только с форматами и представлением данных, он также занимается структурами данных, которые используются программами. Таким образом, уровень 6 обеспечивает организацию данных при их пересылке.
Чтобы понять, как это работает, представим, что имеются две системы. Одна использует для представления данных расширенный двоичный код обмена информацией EBCDIC, например, это может быть мейнфрейм компании IBM, а другая — американский стандартный код обмена информацией ASCII (его использует большинство других производителей компьютеров). Если этим двум системам необходимо обменяться информацией, то нужен уровень представлений, который выполнит преобразование и осуществит перевод между двумя различными форматами.
Другой функцией, выполняемой на уровне представлений, является шифрование данных, которое применяется в тех случаях, когда необходимо защитить передаваемую информацию от доступа несанкционированными получателями. Чтобы решить эту задачу, процессы и коды, находящиеся на уровне представлений, должны выполнить преобразование данных. На этом уровне существуют и другие подпрограммы, которые сжимают тексты и преобразовывают графические изображения в битовые потоки, так, что они могут передаваться по сети.
Стандарты уровня представлений также определяют способы представления графических изображений. Для этих целей может использоваться формат PICT — формат изображений, применяемый для передачи графики QuickDraw между программами.
Другим форматом представлений является тэгированный формат файлов изображений TIFF, который обычно используется для растровых изображений с высоким разрешением. Следующим стандартом уровня представлений, который может использоваться для графических изображений, является стандарт, разработанный Объединённой экспертной группой по фотографии (Joint Photographic Expert Group); в повседневном пользовании этот стандарт называют просто JPEG.
Существует другая группа стандартов уровня представлений, которая определяет представление звука и кинофрагментов. Сюда входят интерфейс электронных музыкальных инструментов (англ. Musical Instrument Digital Interface, MIDI) для цифрового представления музыки, разработанный Экспертной группой по кинематографии стандарт MPEG, используемый для сжатия и кодирования видеороликов на компакт-дисках, хранения в оцифрованном виде и передачи со скоростями до 1,5 Мбит/с, и QuickTime — стандарт, описывающий звуковые и видео элементы для программ, выполняемых на компьютерах Macintosh и PowerPC.
Протоколы уровня представления: AFP — Apple Filing Protocol, ICA — Independent Computing Architecture, LPP — Lightweight Presentation Protocol, NCP — NetWare Core Protocol, NDR — Network Data Representation, XDR — eXternal Data Representation, X.25 PAD — Packet Assembler/Disassembler Protocol.
Сеансовый уровень[править | править код]
Сеансовый уровень (англ. session layer) модели обеспечивает поддержание сеанса связи, позволяя приложениям взаимодействовать между собой длительное время. Уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений.
Протоколы сеансового уровня: ADSP (AppleTalk Data Stream Protocol), ASP (AppleTalk Session Protocol), H.245 (Call Control Protocol for Multimedia Communication), ISO-SP (OSI Session Layer Protocol (X.225, ISO 8327)), iSNS (Internet Storage Name Service), L2F (Layer 2 Forwarding Protocol), L2TP (Layer 2 Tunneling Protocol), NetBIOS (Network Basic Input Output System), PAP (Password Authentication Protocol), PPTP (Point-to-Point Tunneling Protocol), RPC (Remote Procedure Call Protocol), RTCP (Real-time Transport Control Protocol), SMPP (Short Message Peer-to-Peer), SCP (Session Control Protocol), ZIP (Zone Information Protocol), SDP (Sockets Direct Protocol)…
Транспортный уровень[править | править код]
Транспортный уровень (англ. transport layer) модели предназначен для обеспечения надёжной передачи данных от отправителя к получателю. При этом уровень надёжности может варьироваться в широких пределах. Существует множество классов протоколов транспортного уровня, начиная от протоколов, предоставляющих только основные транспортные функции (например, функции передачи данных без подтверждения приёма), и заканчивая протоколами, которые гарантируют доставку в пункт назначения нескольких пакетов данных в надлежащей последовательности, мультиплексируют несколько потоков данных, обеспечивают механизм управления потоками данных и гарантируют достоверность принятых данных. Например, UDP ограничивается контролем целостности данных в рамках одной датаграммы и не исключает возможности потери пакета целиком или дублирования пакетов, нарушение порядка получения пакетов данных;
TCP обеспечивает надёжную непрерывную передачу данных, исключающую потерю данных или нарушение порядка их поступления или дублирования, может перераспределять данные, разбивая большие порции данных на фрагменты и наоборот, склеивая фрагменты в один пакет.
Протоколы транспортного уровня: ATP (AppleTalk Transaction Protocol), CUDP (Cyclic UDP), DCCP (Datagram Congestion Control Protocol), FCP (Fibre Channel Protocol), IL (IL Protocol), NBF (NetBIOS Frames protocol), NCP (NetWare Core Protocol), SCTP (Stream Control Transmission Protocol), SPX (Sequenced Packet Exchange), SST (Structured Stream Transport), TCP (Transmission Control Protocol), UDP (User Datagram Protocol).
Сетевой уровень[править | править код]
Сетевой уровень (англ. network layer) модели предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и «заторов» в сети.
Протоколы сетевого уровня маршрутизируют данные от источника к получателю. Работающие на этом уровне устройства (маршрутизаторы) условно называют устройствами третьего уровня (по номеру уровня в модели OSI).
Протоколы сетевого уровня: IP/IPv4/IPv6 (Internet Protocol), IPX (Internetwork Packet Exchange, протокол межсетевого обмена), X.25 (частично этот протокол реализован на уровне 2), CLNP (сетевой протокол без организации соединений), IPsec (Internet Protocol Security).
Протоколы маршрутизации — RIP (Routing Information Protocol), OSPF (Open Shortest Path First).
Канальный уровень[править | править код]
Канальный уровень (англ. data link layer) предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля ошибок, которые могут возникнуть. Полученные с физического уровня данные, представленные в битах, он упаковывает в кадры, проверяет их на целостность и, если нужно, исправляет ошибки (формирует повторный запрос повреждённого кадра) и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием.
Спецификация IEEE 802 разделяет этот уровень на два подуровня: MAC (англ. media access control) регулирует доступ к разделяемой физической среде, LLC (англ. logical link control) обеспечивает обслуживание сетевого уровня.
На этом уровне работают коммутаторы, мосты и другие устройства. Эти устройства используют адресацию второго уровня (по номеру уровня в модели OSI).
Протоколы канального уровня: ARCnet, ATM, Controller Area Network (CAN), Econet, IEEE 802.3 (Ethernet), Ethernet Automatic Protection Switching (EAPS), Fiber Distributed Data Interface (FDDI), Frame Relay, High-Level Data Link Control (HDLC), IEEE 802.2 (предоставляет функции LLC для подуровня IEEE 802 MAC), Link Access Procedures, D channel (LAPD), IEEE 802.11 wireless LAN, LocalTalk, Multiprotocol Label Switching (MPLS), Point-to-Point Protocol (PPP), Point-to-Point Protocol over Ethernet (PPPoE), Serial Line Internet Protocol (SLIP, устарел), StarLan, Token ring, Unidirectional Link Detection (UDLD), x.25, ARP.
При разработке стеков протоколов на этом уровне решаются задачи помехоустойчивого кодирования. К таким способам кодирования относится код Хемминга, блочное кодирование, код Рида-Соломона.
В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой. Это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI (англ.), NDIS, UDI.
Физический уровень[править | править код]
Физический уровень (англ. physical layer) — нижний уровень модели, который определяет метод передачи данных, представленных в двоичном виде, от одного устройства (компьютера) к другому. Составлением таких методов занимаются разные организации, в том числе: Институт инженеров по электротехнике и электронике, Альянс электронной промышленности, Европейский институт телекоммуникационных стандартов и другие. Осуществляют передачу электрических или оптических сигналов в кабель или в радиоэфир и, соответственно, их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов.
На этом уровне также работают концентраторы, повторители сигнала и медиаконвертеры.
Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. К физическому уровню относятся физические, электрические и механические интерфейсы между двумя системами. Физический уровень определяет такие виды сред передачи данных как оптоволокно, витая пара, коаксиальный кабель, спутниковый канал передач данных и т.п. Стандартными типами сетевых интерфейсов, относящимися к физическому уровню, являются: V.35, RS-232, RS-485, RJ-11, RJ-45, разъёмы AUI и BNC.
При разработке стеков протоколов на этом уровне решаются задачи синхронизации и линейного кодирования. К таким способам кодирования относится код NRZ, код RZ, MLT-3, PAM5, Манчестер II.
Протоколы физического уровня: IEEE 802.15 (Bluetooth), IRDA, EIA RS-232, EIA-422, EIA-423, RS-449, RS-485, DSL, ISDN, SONET/SDH, 802.11 Wi-Fi, Etherloop, GSM Um radio interface, ITU и ITU-T, TransferJet[en], ARINC 818, G.hn/G.9960.
Соответствие модели OSI и других моделей сетевого взаимодействия[править | править код]
Поскольку наиболее востребованными и практически используемыми стали протоколы (например TCP/IP), разработанные с использованием других моделей сетевого взаимодействия, далее необходимо описать возможное включение отдельных протоколов других моделей в различные уровни модели OSI.
Семейство TCP/IP[править | править код]
Семейство TCP/IP имеет три транспортных протокола: TCP, полностью соответствующий OSI, обеспечивающий проверку получения данных; UDP, отвечающий транспортному уровню только наличием порта, обеспечивающий обмен датаграммами между приложениями, не гарантирующий получения данных; и SCTP, разработанный для устранения некоторых недостатков TCP, в который добавлены некоторые новшества. В семействе TCP/IP есть ещё около двухсот протоколов, самым известным из которых является служебный протокол ICMP, используемый для внутренних нужд обеспечения работы; остальные также не являются транспортными протоколами.
Семейство IPX/SPX[править | править код]
В семействе IPX/SPX порты появляются в протоколе сетевого уровня IPX, обеспечивая обмен датаграммами между приложениями (операционная система резервирует часть сокетов для себя). Протокол SPX, в свою очередь, дополняет IPX всеми остальными возможностями транспортного уровня в полном соответствии с OSI.
В качестве адреса хоста ICX использует идентификатор, образованный из четырёхбайтного номера сети (назначаемого маршрутизаторами) и MAC-адреса сетевого адаптера.
Критика[править | править код]
В конце 90-х годов семиуровневая модель OSI критиковалась отдельными авторами. В частности, в книге «UNIX. Руководство системного администратора» Эви Немет (англ. Evi Nemeth) писала:
Пока комитеты ISO спорили о своих стандартах, за их спиной менялась вся концепция организации сетей и по всему миру внедрялся протокол TCP/IP.
…
И вот, когда протоколы ISO были наконец реализованы, выявился целый ряд проблем:
- эти протоколы основывались на концепциях, не имеющих в современных сетях никакого смысла;
- их спецификации были в некоторых случаях неполными;
- по своим функциональным возможностям они уступали другим протоколам;
- наличие многочисленных уровней сделало эти протоколы медлительными и трудными для реализации.
…
Сейчас даже самые ярые сторонники этих протоколов признают, что OSI постепенно движется к тому, чтобы стать маленькой сноской на страницах истории компьютеров.
— Эви Нэмет[4]
См. также[править | править код]
- Модель DOD
- IEEE 802
- NBAR
Примечания[править | править код]
- ↑ https://www.iso.org/ics/35.100.10/x/
- ↑ PDU — сокращение от англ. protocol data units, единица измерения информации (данных), которой оперирует протокол.
- ↑ Словом «media» в англоязычной литературе обозначают среду передачи данных.
- ↑ Эви Нэмет. UNIX. Руководство системного администратора. — 1998.
Литература[править | править код]
- А. Филимонов. Построение мультисервисных сетей Ethernet. — М.: BHV, 2007. ISBN 978-5-9775-0007-4.
- Руководство по технологиям объединённых сетей. 4-е изд. — М.: Вильямс, 2005. ISBN 5-8459-0787-X.
- Интернет ресурс: сервер book.itep.ru:
- Этот сервер, содержащий сведения по сетевым технологиям начал формироваться в 1997 году. Он частично создан на средства, выделенные по проектам РФФИ (99-07-90102 и 01-07-90069).
- В основу материалов легли тексты книг:
- «Протоколы и ресурсы Интернет» (Радио и связь, М. 1996),
- «Сети Интернет. Архитектура и протоколы» (Сиринъ, М. 1998),
- «Протоколы Интернет. Энциклопедия» («Горячая линия — Телеком», М. 2001, 1100 стр.),
- «Протоколы Internet для электронной торговли» («Горячая линия — Телеком», М. 2003, 730 стр.),
которые базировались на двух курсах, читаемых студентам[значимость факта?] кафедр «Телекоммуникационные сети и системы» (факультет МФТИ ФРТК), «Интеграции и менеджмента» (факультет МФТИ ФОПФ) и «Информатики» (факультет НаноБиоИнфоКогни МФТИ) — «Каналы и сети передачи данных», «Протоколы Интернет».
Ссылки[править | править код]
- ГОСТ Р ИСО/МЭК 7498-1-99. — «ВОС. Базовая эталонная модель. Часть 1. Базовая модель». — ОКС: 35.100.70. — Действует c 01.01.2000. — 62c.
- ГОСТ Р ИСО 7498-2-99. — «ВОС. Базовая эталонная модель. Часть 2. Архитектура защиты информации». — ОКС: 35.100. — Действует c 01.01.2000. — 39c.
- ГОСТ Р ИСО 7498-3-97. — «ВОС. Базовая эталонная модель. Часть 3. Присвоение имён и адресация». — ОКС: 35.100. — Действует c 30.06.1998. — 50c.
- ГОСТ Р ИСО/МЭК 7498-4-99. — «ВОС. Базовая эталонная модель. Часть 4. Основы административного управления». — ОКС: 35.100. — Действует c 01.01.2000. — 16c.
Для пользователя, который не является специалистом в области сетевой инженерии, эталонная модель ОСИ (OSI) — абстрактное понятие. Кому же стоит ознакомиться с ней подробнее? Тем, кто хочет вникнуть в суть сетевых протоколов, тонкости обеспечения безопасности, управления сетевыми настройками и т. д.
Понимание работы ОСИ необходимо сетевым инженерам, системным администраторам, специалистам по информационной безопасности, разработчикам приложений и т. п. Если планируете глубже ознакомиться с одной из этих сфер или уже проходите курсы по одному из направлений, тогда наш материал поможет вам понять все важные аспекты модели ОСИ.
Скриншот: Сетевая модель OSI для чайников: устройство, уровни, протоколы / eternalhost.net
🔥 Бесплатный вебинар о 6 популярных IT-профессиях 🔥
Примерьте IT на себя, узнайте куда легко попасть после 25 лет и получите первый опыт в 2 IT-специальностях под присмотром опытного эксперта в прямом эфире
Бонус: получите персональный пошаговый план перехода к формату удаленной работы
Содержание
- Что такое модель OSI
- Физический уровень
- Канальный уровень
- Сетевой уровень
- Транспортный уровень
- Сеансовый уровень
- Уровень представления данных
- Прикладной уровень
- Как на практике работает сетевая модель OSI
- Плюсы и минусы модели OSI
- Итоги
- 🔥 ТОП-3 онлайн-школ для изучения программирования в 2023 году
Что такое модель OSI
Семиуровневая модель OSI расшифровывается как Open Systems Interconnection. Это базовая иерархическая модель взаимодействия открытых систем. То есть основополагающая модель, описывающая структуру передачи данных от одного приложения другому. Она представляет стандартный способ организации различных аспектов коммуникаций в рамках обмена данными в сети. Благодаря этому разные устройства в сети могут функционировать без конфликтов.
Эталонную модель OSI разработали эксперты International Organization for Standardization (ISO) в 1984 году. Она относится к одному из ключевых элементов, которые нужно понимать специалисту, изучающему работу и устройство сети.
OSI разбивает схему сетевого взаимодействия на 7 уровней. Каждый из них выполняет конкретные функции и играет свою роль в сетевых коммуникациях.
Вот эти 7 уровней, начиная с самого нижнего и заканчивая верхним:
- Physical Layer (Физический). Сюда входят физические аспекты передачи данных: среда передачи, кабельные линии, электрические сигналы и т. д.
- Data Link Layer (Канальный). Поддерживает надежность передачи/приема данных между сетевым оборудование в локальной сети (LAN). Также этот уровень контролирует доступ к сетевым ресурсам, разграничивает его по заданным правилам.
- Network Layer (Сетевой). Маршрутизирует данные между разными сетями и находит оптимальные пути для их доставки.
- Transport Layer (Транспортный). Отвечает за точность данных, которые передаются в рамках сети. Также обеспечивает управление потоком данных и выполняет мониторинг ошибок.
- Session Layer (Сеансовый). Контролирует сеансы связи в рамках сети, обеспечивая начало, поддержание и завершение подключений.
- Presentation Layer (Представительский). Преобразовывает, шифрует, сжимает данные, обеспечивая их точность и читаемость для устройств на другой стороне сети.
- Application Layer (Прикладной). Предоставляет пользовательский интерфейс для взаимодействия с сетевыми компонентами. Включает в себя специальные сервисы и протоколы: HTTP (для веб-браузеров), FTP (для передачи файлов), SMTP (для электронной почты) и т .д.
Модель OSI предоставляет структуру и общий язык, которые нужны для понимания работы компьютерных сетей и взаимодействия компьютеров в сети. Она позволяет специалистам разрабатывать и внедрять совместимые сетевые решения. То есть такие, которые взаимодействуют между собой, независимо от конкретных технологий и устройств. Рассмотри уровни модели ОСИ подробнее.
Физический уровень
Самый нижний. Отвечает за отправку и прием сигналов в рамках физической среды передачи данных (кабели, оптоволокно или беспроводные волны).
Главные функции:
- Кодирование и модуляция. Кодирование цифровых данных в аналоговые сигналы для их отправки по среде. В зависимости от типа среды передачи, сюда могут входить амплитудная, частотная или фазовая модуляция.
- Физическое соединение. Определение типа физического соединения между программно-аппаратными решениями в сети (коаксиальный и оптоволоконный кабель, витая пара), а также определение спецификации максимальной длины кабеля и прочих параметрам.
- Сигнализация и синхронизация. Методы сигнализации для начала и завершения отправки данных, а также методы синхронизации разных устройств для корректного приема данных.
- Обнаружение и коррекция ошибок. Выявление и устранение проблем с целостностью и корректностью данных, которые могут возникнуть в процессе их отправки/приема. Позволяет поддерживать надежность и точность информации, которая «циркулирует» в сети.
- Контроль физической среды. Управление доступом к физической среде отправки/приема данных с целью предотвратить конфликты и коллизии, возникающие при одновременной передаче данных несколькими устройствами.
- Передача битов. Физический уровень фактически передает биты данных между устройствами, используя физические каналы и кодировку сигналов.
К устройствам и технологиям, работающим на этом уровне, относятся сетевые адаптеры Ethernet, беспроводные адаптеры Wi-Fi, оптоволоконные кабели, Ethernet-кабели и прочие устройства, которые обеспечивают физическую связь в сетях.
Физический уровень обеспечивает базовую инфраструктуру для передачи данных. Его спецификации зависят от технологий, работающих в рамках конкретной сети.
Скриншот: УРОВНИ МОДЕЛИ OSI / nastroyvse.ru/
Канальный уровень
Отвечает за организацию отправки/приема данных между разными аппаратно-программными средствами в рамках локальной сети (LAN).
Выполняет такие функции:
- Формирование и разбор кадров (Frame Framing). Создание кадров — блоков данных, которые будут передаваться по физической среде. Эти кадры включают синхронизирующие биты, адреса сетевого оборудования, контрольные суммы и собственные данные. При получении информации выполняется разбор кадров, после чего они передаются выше, на сетевой уровень.
- Контроль доступа к среде (Media Access Control, MAC). Разграничение доступа к среде передачи данных по заданным параметрам с целью избежания коллизий. Это особенно важно в сетях Ethernet, где устройства должны соблюдать определенные протоколы доступа по типу CSMA/CD.
- Обнаружение и устранение проблем. То есть контроль возникновения ошибок, проверка целостности данных в процессе их отправки. Уровень проверяет кадры на наличие ошибок, и если они будут выявлены, кадр будет отброшен или отправлен повторно.
- Управление потоком данных. Некоторые протоколы на канальном уровне могут управлять потоком данных для гарантии того, что отправитель не переполнит буферы получателя.
- Локальная адресация. Data Link Layer использует физические адреса (MAC-адреса в Ethernet) для идентификации устройств в локальной сети.
- Управление кадрами (Frame Control). Сбор и обработка информации о типе кадра, приоритете и другие параметрах, которые помогают устройствам в сети правильно интерпретировать и обрабатывать кадры.
Самые популярные примеры сетевых решений, работающих на канальном уровне — Wi-Fi (802.11), Token Ring, Ethernet.
Этот уровень — важная часть сетевой инфраструктуры, так как он поддерживает эффективность и надежность приема и отправки данных в рамках сети.
Сетевой уровень
Отвечает за маршрутизацию и отправку/получение данных в рамках сетей и подсетей.
Основные функции:
- Маршрутизация (Routing). Определение пути, по которому данные будут передаваться в рамках сети. Сюда входит выбор оптимального маршрута на основе конкретных факторов по типу скорости, надежности и т. д.
- Логическая адресация. Каждое программно-аппаратное решение в сети имеет свой уникальный логический адрес, который используется для его идентификации внутри сети. Пример — IP-адрес.
- Фрагментация и сборка пакетов. Сетевой уровень может разделять большие объемы данных на фрагменты (пакеты) для отправки, а после — собирать их обратно на стороне получателя. Это позволяет эффективно передавать данные через сети с разными ограничениями по максимальной длине кадров.
- Выявление и устранение ошибок. Network Layer подразумевает использование методов выявления ошибок в передаваемых данных. В отличие от уровня канала данных, он не исправляет ошибки — он может только отправить запрос на повторную передачу данных.
- Контроль трафика и управление конгестией. Управление трафиком и решение проблем конгестии в сети для обеспечения максимально эффективной отправки данных.
- Маршрутизация между подсетями. Собственно, маршрутизация позволяет данным перемещаться между локальными сетями.
Примеры протоколов, работающих на сетевом уровне — IP (Internet Protocol) и ICMP (Internet Control Message Protocol). Именно по этим протоколам работает маршрутизатор.
Уровень важен в глобальной маршрутизации, так как контролирует доставку данных рамках локальной сети или интернета.
Скриншот: Разбираемся с моделью OSI / creatorblaga.ru
Транспортный уровень
Отвечает за управление потоком данных и обеспечение надежной, точной и эффективной передачи данных в рамках сети.
Основные функции транспортного уровня:
- Сегментация и сборка данных. Transport Layer разбивает поток данных от верхних уровней на небольшие сегменты или пакеты для передачи по сети. Это позволяет эффективно использовать ресурсы сети, обеспечивает возможность передачи больших объемов данных.
- Управление потоком. Контроль скорости передачи данных и управление потоком. Необходимы для того, чтобы избежать перегрузок и потери информации. Это особенно важно при передаче данных через сети с разной пропускной способностью.
- Мультиплексирование и демультиплексирование. Транспортный уровень обеспечивает возможность одновременной передачи данных для разных приложений (мультиплексирование) и их правильной доставки, разделения на стороне получателя (демультиплексирование). Это достигается с помощью портов и сеансов.
- Установка, управление и завершение соединений. Поддержание установки и завершения соединений между устройствами в сети. Пример протокола, который выполняет эту функцию, — TCP (Transmission Control Protocol).
- Обнаружение и восстановление от ошибок. Транспортный уровень может выявлять и восстанавливать потерянные/поврежденные пакеты данных, чтобы обеспечить их надежную доставку.
Протокол транспортного уровня, о котором вы точно слышали, это TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Он обеспечивает надежную и устойчивую передачу данных с гарантированной доставкой и контролем потока. Также существует UDP, который обеспечивает более быструю, но менее надежную передачу данных без гарантированной доставки и контроля потока.
Транспортный уровень играет важную роль в обеспечении надежности и эффективности коммуникации между приложениями и устройствами в рамках сети.
Сеансовый уровень
Отвечает за установление, управление и завершение сеансов связи между устройствами в сети.
Он выполняет следующие функции:
- Управление сеансами. Сеанс — временное взаимодействие между двумя устройствами, включающее в себя передачу данных. Когда пользователь устанавливает сетевое соединение для выполнения какой-либо задачи, это подразумевает создание и управление сеансом. За это и отвечает сеансовый уровень, который устанавливает, поддерживает и завершает сеансы связи между устройствами.
- Синхронизация данных. Обеспечение синхронизации данных между отправителем и получателем. Сюда входит определение точек синхронизации в потоке данных, чтобы можно было восстанавливать передачу после сбоев или пересылать утерянные данные.
- Управление диалогом. Определение порядка обмена данными между устройствами и управление хода диалога. Позволяет устройствам обмениваться данными в определенной последовательности и решать вопросы по типу управления доступом к ресурсам.
- Управление блокировками и параллельными доступами. В определенных ситуациях сеансовый уровень может обеспечивать управление блокировками и параллельным доступом к общим ресурсам. Это нужно, чтобы избежать возникновения конфликтов и обеспечить согласованность данных.
- Управление безопасностью. Обеспечение работы механизмом управления безопасностью по типу установки защищенных сеансов с шифрованием данных и аутентификацией.
- Управление восстановлением. В случае сбоев или разрыва сетевого соединения сеансовый уровень обеспечивает механизмы восстановления сеанса и продолжения обмена данными.
Протоколы, работающие на сеансовом уровне, — NetBIOS Session Service (NBSS) и RPC (Remote Procedure Call).
Сеансовый уровень важен, так как поддерживает взаимодействие между удаленными процессами — помогает управлять и организовывать обмен данными между устройствами, делая его структурированным и надежным.
Скриншот: Преимущества использования многоуровневой модели / demo.ciscostr.ru
Уровень представления данных
Отвечает за преобразование, кодирование и шифрование данных. Это необходимо, чтобы обеспечить корректное представление и передачу данных между разными системами и устройствами в сети.
Основные функции уровня представления данных.
- Сжатие данных. Presentation Layer может сжимать данные перед их передачей по сети. Это позволяет уменьшить объем этих данных и ускорить тем самым передачу.
- Шифрование данных. Шифрование данных для защиты их конфиденциальности и целостности во время передачи. Это крайне важно для обеспечения безопасности информации, передаваемой по сети.
- Кодирование данных. Кодирование данных для того, чтобы они могли быть правильно интерпретированы и обработаны на стороне получателя. Сюда входит кодирование символов, обработка разных форматов данных и конвертация между различными кодировками.
- Управление форматом данных. Форматирование и структурирование данных, чтобы они соответствовали требованиям получателя. Это позволяет устройствам с разными техническими характеристиками правильно интерпретировать данные.
- Конвертация данных. Выполнение конвертации между разными форматами данных (например, текстовых, графических, видео- и аудиоданных). Функция обеспечивает совместимость и возможность обмена данными между разными приложениями и устройствами.
- Управление сеансами связи. Уровень представления данных обеспечивает управление сеансами связи, включая установку и завершение сеансов.
Среди протоколов и стандартов, связанных с уровнем представления данных, можно выделить SSL/TLS (для шифрования данных веб-сайтов), а также стандарты кодирования данных ASCII, Unicode и JPEG (для обработки текста и изображений).
Уровень представления данных обеспечивает совместимость, безопасность и правильную интерпретацию данных в сетях и приложениях.
Прикладной уровень
Находится ближе всего к конечным пользователям. Он отвечает за обеспечение функциональности и взаимодействия приложений и сервисов в сетях.
Вот это главные функции:
- Обеспечение прикладных служб. Прикладной уровень предоставляет приложениям и пользователям доступ к различным сетевым сервисам и ресурсам. Например, доступ к сайтам, email, файловым серверам, базам данных и прочим прикладным сервисам.
- Обмен данными между приложениями. Application Layer позволяет различным приложениям обмениваться данными, используя стандартизированные протоколы и форматы данных. Самые яркие примеры протоколов этого уровня — HTTP (Hypertext Transfer Protocol) для браузеров и SMTP (Simple Mail Transfer Protocol) для электронной почты.
- Интерфейс для пользователя. Предоставление пользовательского интерфейса для взаимодействия с приложениями и сервисами. Сюда входят графические интерфейсы приложений, командные строки, веб-интерфейсы.
- Управление сеансами. Прикладной уровень управляет созданием, установкой и завершением сеансов связи между приложениями. Это включает в себя управление сессиями браузера и доступом к ресурсам, аутентификацию и т. п.
- Преобразование данных и протоколов. Выполнение преобразования данных и протоколов с целью обеспечить их совместимость между приложениями с разными требованиями и возможностями.
- Обеспечение безопасности. Прикладной уровень обеспечивает механизмы безопасности по типу аутентификации и шифрования, которые нужны для защиты информации и взаимодействия между приложениями.
Примеры протоколов и приложений, работающих на прикладном уровне: браузеры (Google Chrome, Mozilla Firefox), почтовые клиенты (Microsoft Outlook, Gmail), файловые протоколы (FTP) и множество других прикладных сервисов.
Прикладной уровень самый видимый и доступный для конечных пользователей, так как именно на этом уровне происходит взаимодействие с приложениями и сервисами в сети.
Как на практике работает сетевая модель OSI
Модель OSI помогает разработчикам, инженерам и администраторам проектировать сетевые архитектуры и различные программно-аппаратные решения для сетей. Она описывает уровни и слои, через которые проходят данные при их передаче и приеме (то есть в рамках которых работает сеть). Рассмотрим 2 простых примера работы ОСИ.
Пример 1. Передача веб-страницы по протоколу HTTP (Hypertext Transfer Protocol)
- Физический уровень. Вы хотите открыть определенный сайт — вводите его доменное имя в адресную строку браузера. Данные преобразуются в биты и передаются по физической среде (например, по медному кабелю или беспроводному Wi-Fi соединению).
- Канальный уровень. Компьютер вашей сети формирует пакеты данных для отправки через маршрутизатор. Здесь данные организуются в кадры, добавляются контрольные суммы для обнаружения ошибок.
- Сетевой уровень. На этом уровне определяется маршрут, по которому данные будут доставлены до сервера, содержащего необходимую веб-страницу. Маршрутизация данных проходит через множество устройств (маршрутизаторы, коммутаторы).
- Транспортный уровень. Данные разделяются на сегменты, добавляются порты и информация о том, какие именно данные нужно переслать на сервер. Пример — использование протокола TCP, который обеспечивает надежную доставку данных.
- Уровень сеансов. Устанавливается сеанс связи между вашим компьютером и сервером. Это включает в себя установку и управление соединением.
- Уровень представления данных. Если данные на сервере хранятся в определенном формате, они могут быть преобразованы в тот формат, который ваш браузер может правильно интерпретировать.
- Прикладной уровень. На этом уровне ваш браузер получает данные, декодирует их (если это необходимо) и отображает страницу на экране.
Пример 2. Загрузка файла из облачного хранилища
- Физический уровень. Вы кликаете на кнопку скачивания файла, расположенного в облаке. Данные (например, изображение или документ) преобразуются в биты и отправляются через интернет.
- Канальный уровень. Данные преобразуются в пакеты, вносится информация о передаче (MAC-адреса устройства и контрольных суммах).
- Сетевой уровень. Маршрутизация определяет, каким путем должны идти данные к серверу облачного хранилища, где находится файл.
- Транспортный уровень. Для запроса и передачи файла используется протокол HTTP. Запрос на загрузку файла формируется, файл делится на сегменты для передачи.
- Уровень сеансов. Устанавливается сеанс связи с сервером облачного хранилища для обмена данными.
- Уровень представления данных. Если файл хранится в определенном формате, сервер облачного хранилища может преобразовать файл в другой формат, если это необходимо.
- Прикладной уровень. Файл передается на ваше устройство и вы можете сохранить его на компьютере.
Плюсы и минусы модели OSI
Для справедливости рассмотрим по 4 сильных и слабых стороны модели.
Плюсы модели OSI:
- Разделение функций. Модель OSI разделяет сетевые функции на разные уровни, что значительно упрощает разработку, отладку и обслуживание сетей. Каждый уровень выполняет определенные задачи, изменения на одном уровне не будут влиять на другие уровни.
- Функциональная совместимость (интероперабельность). Использование стандартизированных протоколов на разных уровнях позволяет сетевым устройствам и системам корректно работать вместе, обеспечивая совместимость и интероперабельность.
- Стандартное представление сетевых процессов. OSI представляет общее и стандартное представление процессов и функций, которые происходят в сети. Это также упрощает обучение и понимание сетевых концепций.
- Удобство обучения и множество дополнительной документации. Модель ОСИ общепринятая и имеет множество подробных документов по работе с ней. Это делает ее максимально доступной для обучения и стандартизации.
🔥 Бесплатный вебинар о 6 популярных IT-профессиях 🔥
Примерьте IT на себя, узнайте куда легко попасть после 25 лет и получите первый опыт в 2 IT-специальностях под присмотром опытного эксперта в прямом эфире
Бонус: получите персональный пошаговый план перехода к формату удаленной работы
Минусы модели ОСИ:
- Слишком много уровней. Модель OSI содержит семь уровней, что может быть избыточным для конкретных сетей. При этом, далеко не все уровни используются постоянно — сети могут работать с меньшим количеством уровней.
- Теоретичность. Концепция модели OSI теоретическая и абстрактная. То есть она не всегда соответствует реальным сетевым сценариям. В реальности сети могут иметь более сложную структуру и те функции, которые не всегда можно уместить в модель OSI.
- Сложность для новичков. Для новичков модель OSI может показаться слишком сложной и чрезмерно абстрактной. Изучение, которое приведет к пониманию работы всех уровней и их взаимодействия между собой, требует много времени.
- Не всегда соблюдается в реальной жизни. В реальных сетях могут использоваться протоколы и архитектуры, которые не соответствуют модели OSI. Это может создавать сложности при анализе и управлении такими сетями.
В целом, модель OSI полезна как концептуальная основа для понимания работы сети, но она не всегда идеально отражает сложности реальных сетей. Поэтому может быть адаптирована под конкретные сценарии.
Итоги
Понимание модели OSI поможет ИТ-специалистам качественнее, лучше и быстрее выполнять работы по типу проектирования и оптимизации сетей, анализа и диагностики сетевых проблем, разработки и внедрения сетевых протоколов, обеспечения безопасности сети, прочих. Конечно, чтобы предлагать все эти услуги, нужны дополнительные знания, но понимание OSI в этом случае — основа.
🔥ТОП-3 онлайн-школ для изучения программирования в 2023 году
Skillbox — лучшая онлайн-школа программирования в русскоязычном сегменте (промокод ГДЕКУРС — скидка 45% на курсы и 55% на профессии)
Хекслет — школа с оплачиваемой стажировкой, которую рекомендуют в IT-кругах
Нетология — школа для новичков, чтобы наработать портфолио и перенять опыт экспертов сферы (промокод GDEKURS — дополнительная скидка 5% на обучение)
Больше вариантов смотрите в нашей подборке курсов по программированию.



















