- Sysadminium
- Модель OSI
- 7 уровень — прикладной
- 6 уровень — представления
- 5 уровень — сеансовый
- 4 уровень — транспортный
- 3 уровень — сетевой
- 2 уровень — канальный
- 1 уровень — физический
- Итоговая картинка
- Модель TCP/IP
- 4 уровень — прикладной
- 3 уровень — транспортный
- 2 уровень — интернет (межсетевой)
- 1 уровень — сетевых интерфейсов
- Модель OSI – это просто!
- Видео: модель OSI за 7 минут
- #01: Физический (physical) уровень
- #02: Канальный (data Link) уровень
Sysadminium
В этой статье вы познакомитесь с сетевыми моделями OSI и TCP/IP. OSI — это 7 уровневая модель. А TCP/IP — 4 уровневая модель.
Модель OSI
OSI (Open System Interconnection) — это эталонная модель сетевых взаимодействий. Эта модель весь процесс передачи данных делит на 7 частей, другими словами на 7 уровней. Каждый уровень отвечает за определённые задачи, но не говорит, как эти задачи решать. Это позволяет разработчикам создавать новые протоколы или технологии, которые работают на определённом уровне (решают определённые задачи) и не задумываться о других задачах. Другие задачи решаются на других уровнях, на которых работают другие протоколы и технологии.
Например, при разработке определённого протокола, нужно подумать о 2 вещах:
- О работе самого протокола (что этот протокол будет делать и какие задачи решать).
- О взаимодействии с более низким и более высоким уровнем. То есть как данные должны переходить с уровня на уровень, вверх или вниз.
Вот так выглядит эта модель:
Данные, переходя с верхнего уровня на нижний, обрабатываются и к ним добавляется служебная информация. Процесс добавления служебной информации более низкого уровня называется — инкапсуляция.
Обратный процесс, когда данные переходят на более высокий уровень, при этом служебные данные более низкого уровня отбрасываются называется — декапсуляция.
Дальше пробежимся по каждому уровню, сверху вниз.
7 уровень — прикладной
Это самый высокий уровень. На нём работают пользовательские приложения, установленные на компьютере, сервере или телефоне. Здесь работают, например: клиент электронной почты и почтовый сервер, программный телефон и сервер ip-телефонии, браузер и web-сервер.
Протоколы этого уровня: DNS, HTTP, POP3, IMAP, SMTP, SIP, FTP, CIFS, NFS, DHCP и подобные.
Передающиеся данные на этом уровне называются сообщениями.
6 уровень — представления
На этом уровне происходит преобразование данных. Например шифрование или сжатие. Данные должны быть представлены в определённом виде, чтобы принимающее их приложение смогло эти данные обработать.
Здесь, теоретически, данные могут преобразовываться в разные форматы, например GIF или MP4. Или данные могут быть зашифрованы и расшифрованы.
На этом уровне работают протоколы: SSL и TLS.
5 уровень — сеансовый
Этот уровень отвечает за создание и уничтожение сеансов связи. Чтобы сеанс установился и поддерживался, на этом же уровне работает согласование кодеков.
4 уровень — транспортный
Этот уровень обеспечивает передачу данных по сети. То есть данные ещё не передаются физически, но уже происходит договорённость, как данные будут передаваться.
Здесь работают два протокола TCP и UDP. Эти протоколы применяются для разного типа трафика. Если трафик чувствителен к потерям, то используют TCP, который гарантирует доставку данных. А если трафику нужна более быстрая передача данных и можно пожертвовать потерями данных, то используют UDP.
На этом уровне сообщение делится на сегменты (если выбран протокол TCP) или на дейтаграммы (если выбран протокол UDP). В качестве служебной информации к каждому сегменту или дейтаграмме добавляется сетевой порт источника и назначения. Такие порты прослушивают процессы на хостах (компьютерах, серверах или телефонах).
3 уровень — сетевой
Этот уровень тоже отвечает за передачу данных. Но в отличии от транспортного уровня, где происходит выбор надёжности или скорости отправки данных. Задача этого уровня — ip-адресация и маршрутизация.
На этом уровне пришедший сверху сегмент или дейтаграмма делится на пакеты. А в качестве служебной информации к каждому пакету добавляется ip-адреса отправителя и получателя.
IP-адрес — это сетевой адрес устройства в Интернете.
Именно на этом уровне происходит маршрутизация пакетов, поэтому здесь расположились протоколы маршрутизации: BGP, OSPF, RIP, EIGRP.
Также на этом уровне работает протокол: ICMP, именно с его помощью работает утилита PING.
Ну и конечно же здесь работает протокол IP, который вводит ip-адреса.
А главное устройство, работающее на этом уровне — Маршрутизатор (Router).
2 уровень — канальный
Этот уровень разбивает пакеты, пришедшие с сетевого уровня на кадры (Frame). В качестве дополнительной информации каждому кадру назначаются физические адреса (mac-адреса) отправителя и получателя.
MAC-адрес — это физический адрес устройства в одном широковещательном домене.
Помимо физической адресации, этот уровень отвечает за обнаружение и исправление ошибок. То есть каждый кадр проверяется на ошибки и происходит попытка исправления ошибок разными способами (а иногда и не происходит).
На этом уровне работают коммутаторы (Switch) и мосты (Bridge). Эти устройства передают кадры определённому получателю а не всем.
На этом уровне работают протоколы: CDP, PPP, MPLS. Также здесь обитает технология Ethernet, которая занимает этот уровень и более низкий уровень.
1 уровень — физический
Это самый нижний уровень модели OSI. На этом уровне происходит разбивка кадров на биты. Затем биты кодируются в сигналы, а сигналы передаются по среде передачи. По проводам можно передавать сигналы с помощью электрического тока или света. Или можно передавать сигналы с помощью радио-волн.
Среди технологий, работающих на этом уровне, можно выделить Ethernet. Он описывает, как сигналы должны кодироваться, передаваться по проводам и так далее. Ещё на этом уровне работают: Bluetooth и Wi-Fi.
Сетевые устройства, которые здесь работают, это: концентраторы (Hub) и повторители (Repeater). Эти устройства работают с сигналами не вникая в логику передачи. Так как здесь нет никаких адресов, то сигнал просто передаётся с одного порта на другой.
Итоговая картинка
В итоге все полученные знания выше можно представить на следующем рисунке:
Модель TCP/IP
Эталонная модель сетевых взаимодействий OSI — это теоретическая модель, которая хорошо описывает, как сетевые устройства должны общаться друг с другом. Но на практике, разрабатывая сетевые протоколы, вместо OSI используют другую модель сетевых взаимодействий — TCP/IP.
Помимо модели сетевых взаимодействий TCP/IP есть стек протоколов TCP/IP. В этот стек входит множество сетевых протоколов, которые хорошо встраиваются в одноименную модель.
Модель TCP/IP делит процесс передачи данных на 4 уровня вместо 7 уровней OSI:
4 уровень — прикладной
Прикладной уровень в модели TCP/IP является самым верхним. Здесь работают приложения, установленные на компьютере, телефоне или сервере. Но в отличии от модели OSI здесь же происходит согласование данных (шифрование, сжатие, выбор формата данных и выбор кодеков) и установка сеансов связи.
Например, здесь работают протоколы SIP, DHCP, HTTP и подобные.
3 уровень — транспортный
Этот уровень не отличается от транспортного уровня в модели OSI. Здесь также работают 2 протокола: TCP и UDP. А в качестве служебной информации выступают сетевые порты.
2 уровень — интернет (межсетевой)
Интернет состоит из множества локальных сетей, объединённых между собой маршрутизаторами.
Этот уровень не отличается от сетевого уровня модели OSI. Здесь реализуется ip-адресация и маршрутизация, за счет введения ip-адресов.
1 уровень — сетевых интерфейсов
Этот уровень вобрал в себя физический и канальный уровни модели OSI. Это аппаратный уровень, на котором работают сетевые карты, коммутаторы, повторители, концентраторы.
Также на этом уровне находятся среды передачи информации, провода, радиоволны. Но не просто среды, а технологии, которые эти среды используют: Ethernet, Wi-Fi, DSL, Bluetooth.
Также на этом уроне можно обнаруживать или исправлять ошибки, возникшие при передаче данных.
В этой статье вы познакомитесь с сетевыми моделями OSI и TCP/IP. OSI — это 7 уровневая модель. А TCP/IP — 4 уровневая модель
Модель OSI – это просто!
Модель Open Systems Interconnection (OSI) – это скелет, фундамент и база всех сетевых сущностей. Модель определяет сетевые протоколы, распределяя их на 7 логических уровней. Важно отметить, что в любом процессе, управление сетевой передачей переходит от уровня к уровню, последовательно подключая протоколы на каждом из уровней.
Видео: модель OSI за 7 минут
Нижние уровни отвечают за физические параметры передачи, такие как электрические сигналы. Да – да, сигналы в проводах передаются с помощью представления в токи 🙂 Токи представляются в виде последовательности единиц и нулей (1 и 0), затем, данные декодируются и маршрутизируются по сети. Более высокие уровни охватывают запросы, связанные с представлением данных. Условно говоря, более высокие уровни отвечают за сетевые данные с точки зрения пользователя. Модель OSI была изначально придумана как стандартный подход, архитектура или паттерн, который бы описывал сетевое взаимодействие любого сетевого приложения. Давайте разберемся поподробнее?
#01: Физический (physical) уровень
На первом уровне модели OSI происходит передача физических сигналов (токов, света, радио) от источника к получателю. На этом уровне мы оперируем кабелями, контактами в разъемах, кодированием единиц и нулей, модуляцией и так далее. Среди технологий, которые живут на первом уровне, можно выделить самый основной стандарт — Ethernet. Он есть сейчас в каждом доме. Отметим, что в качестве носителя данных могут выступать не только электрические токи. Радиочастоты, световые или инфракрасные волны используются также повсеместно в современных сетях. Сетевые устройства, которые относят к первому уровню это концентраторы и репитеры – то есть «глупые» железки, которые могут просто работать с физическим сигналом, не вникая в его логику (не декодируя).
#02: Канальный (data Link) уровень
Представьте, мы получили физический сигнал с первого уровня – физического. Это набор напряжений разной амплитуды, волн или радиочастот. При получении, на втором уровне проверяются и исправляются ошибки передачи. На втором уровне мы оперируем понятием «фрейм», или как еще говорят «кадр». Тут появляются первые идентификаторы – MAC – адреса. Они состоят из 48 бит и выглядят примерно так: 00:16:52:00:1f:03. Канальный уровень сложный. Поэтому, его условно говоря делят на два подуровня: управление логическим каналом (LLC, Logical Link Control) и управление доступом к среде (MAC, Media Access Control). На этом уровне обитают такие устройства как коммутаторы и мосты. Кстати! Стандарт Ethernet тоже тут. Он уютно расположился на первом и втором (1 и 2) уровнях модели OSI.
#03: Сетевой (network) уровень
Идем вверх! Сетевой уровень вводит термин «маршрутизация» и, соответственно, IP – адрес. Кстати, для преобразования IP – адресов в MAC – адреса и обратно используется протокол ARP. Именно на этом уровне происходит маршрутизация трафика, как таковая. Если мы хотим попасть на сайт wiki.merionet.ru, то мы отправляем DNS – запрос, получаем ответ в виде IP – адреса и подставляем его в пакет. Да – да, если на втором уровне мы используем термин фрейм/кадр, как мы говорили ранее, то здесь мы используем пакет. Из устройств здесь живет его величество маршрутизатор 🙂
Процесс, когда данные передаются с верхних уровней на нижние называется инкапсуляцией данных, а когда наоборот, наверх, с первого, физического к седьмому, то этот процесс называется декапсуляцией данных
#04: Транспортный (transport) уровень
- Трафик чувствителен к потерям — нет проблем, TCP (Transmission Control Protocol)! Он обеспечивает контроль за передачей данных;
- Немного потеряем – не страшно — по факту, сейчас, когда вы читаете эту статью, пару пакетов могло и потеряться. Но это не чувствуется для вас, как для пользователя. UDP (User Datagram Protocol) вам подойдет. А если бы это была телефония? Потеря пакетов там критична, так как голос в реальном времени начнет попросту «квакать»;
#05: Сеансовый (session) уровень
Попросите любого сетевого инженера объяснить вам сеансовый уровень. Ему будет трудно это сделать, инфа 100%. Дело в том, что в повседневной работе, сетевой инженер взаимодействует с первыми четырьмя уровнями – физическим, канальным, сетевым и транспортным. Остальные, или так называемые «верхние» уровни относятся больше к работе разработчиков софта 🙂 Но мы попробуем!
Сеансовый уровень занимается тем, что управляет соединениями, или попросту говоря, сессиями. Он их разрывает. Помните мем про «НЕ БЫЛО НИ ЕДИНОГО РАЗРЫВА»? Мы помним. Так вот, это пятый уровень постарался 🙂
#06 Уровень представления (presentation)
На шестом уровне творится преобразование форматов сообщений, такое как кодирование или сжатие. Тут живут JPEG и GIF, например. Так же уровень ответственен за передачу потока на четвертый (транспортный уровень).
#07 Уровень приложения (application)
На седьмом этаже, на самой верхушке айсберга, обитает уровень приложений! Тут находятся сетевые службы, которые позволяют нам, как конечным пользователям, серфить просторы интернета. Гляньте, по какому протоколу у вас открыта наша база знаний? Правильно, HTTPS. Этот парень с седьмого этажа. Еще тут живут простой HTTP, FTP и SMTP.