Модель OSI (Open Systems Interconnection) — это эталонная модель, разработанная для описания функций телекоммуникационных или вычислительных систем, необходимых для сетевого взаимодействия. Она разделяет процесс сетевого взаимодействия на семь взаимосвязанных уровней. Каждый уровень выполняет специфические функции и взаимодействует с уровнями непосредственно выше и ниже.
Звучит сложно?
Если проще, то информация, передающаяся по сети, делится на семь разных по смыслу уровней. На каждом уровне кабели, оборудование, приложения и т.д. работают с одними и теми же данными по-разному. Например, кабели передают информацию в виде нулей и единиц, а сетевое оборудование использует эти данные для передачи информации в другую точку страны, чтобы пользователь мог прочитать эту статью на Хабре. Кабелю не нужно знать, что за буквы в данной информации, а пользователю незачем знать последовательность нулей и единиц. Надеюсь, это объяснение понятно.
Модель OSI — это эталонная модель, которая, к сожалению, не нашла широкого применения в реальном мире. Поэтому появилась модель TCP/IP, по которой работает вся наша текущая сеть. Однако, когда два сетевика общаются между собой, они используют более распространенную модель OSI для лучшего понимания.
Уровень (layer) | Тип данных (PDU) | Функции | Примеры | Оборудование | |
---|---|---|---|---|---|
Host |
7. Прикладной (application) |
Данные |
Доступ к сетевым службам | HTTP, FTP, POP3, SMTP, WebSocket |
Хосты (клиенты сети), Межсетевой экран |
6. Представления (presentation) | Представление и шифрование данных | ASCII, EBCDIC, SSL, gzip | |||
5. Сеансовый (session) | Управление сеансом связи | RPC, PAP, L2TP, gRPC | |||
4. Транспортный (transport) |
Сегменты (segment) / Датаграммы (datagram) |
Прямая связь между конечными пунктами и надёжность | TCP, UDP, SCTP, Порты | ||
Media |
3. Сетевой (network) |
Пакеты (packet) |
Определение маршрута и логическая адресация | IPv4, IPv6, IPsec, AppleTalk, ICMP |
Маршрутизатор, Сетевой шлюз, Межсетевой экран |
2. Канальный (data link) |
Кадры (frame) |
Физическая адресация | PPP, IEEE 802.22, Ethernet, DSL, ARP, сетевая карта |
Сетевой мост, Коммутатор, точка доступа |
|
1. Физический (physical) |
Биты (bit) |
Работа со средой передачи, сигналами и двоичными данными | USB, RJ («витая пара», коаксиальный, оптоволоконный), радиоканал | Концентратор, Повторитель |
Это самый высокий уровень. На нём работают пользовательские приложения, установленные на компьютере, сервере или телефоне. Здесь работают, например: клиент электронной почты и почтовый сервер, программный телефон и сервер ip-телефонии, браузер и web-сервер.
Протоколы этого уровня: DNS, HTTP, POP3, IMAP, SMTP, SIP, FTP, CIFS, NFS, DHCP и подобные.
Передающиеся данные на этом уровне называются сообщениями.
На этом уровне происходит преобразование данных. Например шифрование или сжатие. Данные должны быть представлены в определённом виде, чтобы принимающее их приложение смогло эти данные обработать.
Здесь, теоретически, данные могут преобразовываться в разные форматы, например GIF или MP4. Или данные могут быть зашифрованы и расшифрованы.
На этом уровне работают протоколы: SSL и TLS.
Этот уровень отвечает за создание и уничтожение сеансов связи. Чтобы сеанс установился и поддерживался, на этом же уровне работает согласование кодеков.
Этот уровень обеспечивает передачу данных по сети. То есть данные ещё не передаются физически, но уже происходит договорённость, как данные будут передаваться.
Здесь работают два протокола TCP и UDP. Эти протоколы применяются для разного типа трафика. Если трафик чувствителен к потерям, то используют TCP, который гарантирует доставку данных. А если трафику нужна более быстрая передача данных и можно пожертвовать потерями данных, то используют UDP.
На этом уровне сообщение делится на сегменты (если выбран протокол TCP) или на дейтаграммы (если выбран протокол UDP). В качестве служебной информации к каждому сегменту или дейтаграмме добавляется сетевой порт источника и назначения. Такие порты прослушивают процессы на хостах (компьютерах, серверах или телефонах).
Этот уровень тоже отвечает за передачу данных. Но в отличии от транспортного уровня, где происходит выбор надёжности или скорости отправки данных. Задача этого уровня — IP-адресация и маршрутизация.
На этом уровне пришедший сверху сегмент или дейтаграмма делится на пакеты. А в качестве служебной информации к каждому пакету добавляется ip-адреса отправителя и получателя.
IP-адрес — это сетевой адрес устройства в Интернете. Именно на этом уровне происходит маршрутизация пакетов, поэтому здесь расположились протоколы маршрутизации: BGP, OSPF, RIP, EIGRP. Также на этом уровне работает протокол: ICMP, именно с его помощью работает утилита PING. Ну и конечно же здесь работает протокол IP, который вводит ip-адреса.
А главное устройство, работающее на этом уровне — Маршрутизатор (Router).
Этот уровень разбивает пакеты, пришедшие с сетевого уровня на кадры (Frame). В качестве дополнительной информации каждому кадру назначаются физические адреса (mac-адреса) отправителя и получателя.
MAC-адрес — это физический адрес устройства в одном широковещательном домене.
Помимо физической адресации, этот уровень отвечает за обнаружение и исправление ошибок. То есть каждый кадр проверяется на ошибки и происходит попытка исправления ошибок разными способами (а иногда и не происходит).
На этом уровне работают коммутаторы (Switch) и мосты (Bridge). Эти устройства передают кадры определённому получателю, а не всем.
На этом уровне работают протоколы: CDP, PPP, MPLS. Также здесь обитает технология Ethernet, которая занимает этот уровень и более низкий уровень.
Это самый нижний уровень модели OSI. На этом уровне происходит разбивка кадров на биты. Затем биты кодируются в сигналы, а сигналы передаются по среде передачи. По проводам можно передавать сигналы с помощью электрического тока или света. Или можно передавать сигналы с помощью радио-волн.
Среди технологий, работающих на этом уровне, можно выделить Ethernet. Он описывает, как сигналы должны кодироваться, передаваться по проводам и так далее. Ещё на этом уровне работают: Bluetooth и Wi-Fi.
Сетевые устройства, которые здесь работают, это: концентраторы (Hub) и повторители (Repeater). Эти устройства работают с сигналами не вникая в логику передачи. Так как здесь нет никаких адресов, то сигнал просто передаётся с одного порта на другой.
Эталонная модель сетевых взаимодействий OSI — это теоретическая модель, которая хорошо описывает, как сетевые устройства должны общаться друг с другом. Но на практике, разрабатывая сетевые протоколы, вместо OSI используют другую модель сетевых взаимодействий — TCP/IP.
Помимо модели сетевых взаимодействий TCP/IP есть стек протоколов TCP/IP. В этот стек входит множество сетевых протоколов, которые хорошо встраиваются в одноименную модель.
Модель TCP/IP делит процесс передачи данных на 4 уровня вместо 7 уровней OSI:
Прикладной уровень в модели TCP/IP является самым верхним. Здесь работают приложения, установленные на компьютере, телефоне или сервере. Но в отличии от модели OSI здесь же происходит согласование данных (шифрование, сжатие, выбор формата данных и выбор кодеков) и установка сеансов связи.
Например, здесь работают протоколы SIP, DHCP, HTTP и подобные.
Этот уровень не отличается от транспортного уровня в модели OSI. Здесь также работают 2 протокола: TCP и UDP. А в качестве служебной информации выступают сетевые порты.
Интернет состоит из множества локальных сетей, объединённых между собой маршрутизаторами.
Этот уровень не отличается от сетевого уровня модели OSI. Здесь реализуется ip-адресация и маршрутизация, за счет введения ip-адресов.
Этот уровень вобрал в себя физический и канальный уровни модели OSI. Это аппаратный уровень, на котором работают сетевые карты, коммутаторы, повторители, концентраторы.
Также на этом уровне находятся среды передачи информации, провода, радиоволны. Но не просто среды, а технологии, которые эти среды используют: Ethernet, Wi-Fi, DSL, Bluetooth.
Также на этом уроне можно обнаруживать или исправлять ошибки, возникшие при передаче данных.