- Модели OSI — пособие для начинающих
- Уровни Модели OSI
- Рассмотрим каждый уровень Модели OSI подробнее.
- Заключение
- Sysadminium
- Модель OSI
- 7 уровень — прикладной
- 6 уровень — представления
- 5 уровень — сеансовый
- 4 уровень — транспортный
- 3 уровень — сетевой
- 2 уровень — канальный
- 1 уровень — физический
- Итоговая картинка
- Модель TCP/IP
- 4 уровень — прикладной
- 3 уровень — транспортный
- 2 уровень — интернет (межсетевой)
- 1 уровень — сетевых интерфейсов
Модели OSI — пособие для начинающих
Современный мир ИТ — огромная ветвящаяся сложная для понимания структура. Чтобы упростить понимание и улучшить отладку ещё на этапе проектирования протоколов и систем была использована архитектура модульности. Нам гораздо проще выяснить, что проблема в видеочипе, когда видеокарта идет отдельным от остального оборудования устройством. Или заметить проблему в отдельном участке сети, чем перелопачивать всю сеть целиком.
Отдельно взятый пласт ИТ — сеть — тоже построена модульно. Модель функционирования сети назывется сетевая модель базовой эталонной модели взаимодействия открытых систем ISO/OSI. Кратко — модель OSI.
Модель OSI состоит из 7 уровней. Каждый уровень абстрагирован от других и ничего не знает о их существовании. Модель OSI можно сравнить с устройством автомобиля: двигатель выполняет свою работу, создавая крутящий момент и отдавая его коробке передач. Двигателю абсолютно без разницы что дальше будет происходить с этим крутящим моментом. Будет он крутить колесо, гусеницу или пропеллер. Точно так же как и колесу нет никакого дела откуда к нему пришел этот крутящий момент — от двигателя или рукоятки, которую крутит механик.
Здесь необходимо добавить понятие полезной нагрузки. Каждый уровень несет в себе какое-то количество информации. Часть этой информации является служебной для этого уровня, например, адрес. IP-адрес сайта не несет для нас никакой полезной информации. Нам важны только котики, которых нам показывает сайт. Так вот эта полезная нагрузка переносится в той части уровня, который называется protocol data unit (PDU).
Уровни Модели OSI
Рассмотрим каждый уровень Модели OSI подробнее.
1 уровень. Физический (physical). Единицей нагрузки (PDU) здесь является бит. Кроме единиц и нулей физический уровень не знает ничего. На этом уровне работают провода, патч панели, сетевые концентраторы (хабы, которые сейчас уже сложно найти в привычных нам сетях), сетевые адаптеры. Именно сетевые адаптеры и ничего более из компьютера. Сам сетевой адаптер принимает последовательность бит и передает её дальше.
2 уровень. Канальный (data link). PDU — кадр (frame). На этом уровне появляется адресация. Адресом является MAC адрес. Канальный уровень ответственен за доставку кадров адресату и их целостность. В привычных нам сетях на канальном уровне работает протокол ARP. Адресация второго уровня работает только в пределах одного сетевого сегмента и ничего не знает о маршрутизации — этим занимается вышестоящий уровень. Соответственно, устройства, работающие на L2 — коммутаторы, мосты и драйвер сетевого адаптера.
3 уровень. Сетевой (network). PDU пакет (packet). Наиболее распространенным протоколом (дальше не буду говорить про “наиболее распространенный” — статья для новичков и с экзотикой они, как правило, не сталкиваются) тут является IP. Адресация происходит по IP-адресам, которые состоят из 32 битов. Протокол маршрутизируемый, то есть пакет способен попасть в любую часть сети через какое-то количество маршрутизаторов. На L3 работают маршрутизаторы.
4 уровень. Транспортный (transport). PDU сегмент (segment)/датаграмма (datagram). На этом уровне появляются понятия портов. Тут трудятся TCP и UDP. Протоколы этого уровня отвечают за прямую связь между приложениями и за надежность доставки информации. Например, TCP умеет запрашивать повтор передачи данных в случае, если данные приняты неверно или не все. Так же TCP может менять скорость передачи данных, если сторона приема не успевает принять всё (TCP Window Size).
Следующие уровни “правильно” реализованы лишь в RFC. На практике же, протоколы описанные на следующих уровнях работают одновременно на нескольких уровнях модели OSI, поэтому нет четкого разделения на сеансовый и представительский уровни. В связи с этим в настоящее время основным используемым стеком является TCP/IP, о котором поговорим чуть ниже.
5 уровень. Сеансовый (session). PDU данные (data). Управляет сеансом связи, обменом информации, правами. Протоколы — L2TP, PPTP.
6 уровень. Представительский (presentation). PDU данные (data). Преставление и шифрование данных. JPEG, ASCII, MPEG.
7 уровень. Прикладной (application). PDU данные (data). Самый многочисленный и разнообразный уровень. На нем выполняются все высокоуровненвые протоколы. Такие как POP, SMTP, RDP, HTTP и т.д. Протоколы здесь не должны задумываться о маршрутизации или гарантии доставки информации — этим занимаются нижестоящие уровни. На 7 уровне необходима лишь реализации конкретных действий, например получение html-кода или email-сообщения конкретному адресату.
Заключение
Модульность модели OSI позволяет проводить быстрое нахождение проблемных мест. Ведь если нет пинга (3-4 уровни) до сайта, нет смысла копаться в вышележащих слоях (TCP-HTTP), когда не отображается сайт. Абстрагировавшись от других уровней проще найти ошибку в проблемной части. По аналогии с автомобилем — мы ведь не проверяем свечи, когда проткнули колесо.
Модель OSI является эталонной моделью — эдаким сферическим конем в вакууме. Разработка её велась очень долго. Параллельно с ней разрабатывался стек протоколов TCP/IP, акивно применяемый в сетях в настоящее время. Соответственно, можно провести аналогию между TCP/IP и OSI.
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 уровневая модель