Многоуровневая модель OSI очень важна для понимания того, как машины взаимодействуют друг с другом. В этой статье мы рассмотрим основы модели OSI и опишем уровни взаимосвязи различных систем между собой.
Уровни помогают сетевому специалисту визуализировать, что происходит в сетях, а также помогают определить источник проблемы в сети – на программном или аппаратном уровне.
Модель OSI также помогает разработчику приложения определить, с какими уровнями ему нужно работать. Поставщики технологий часто основываются на модели OSI, чтобы помочь клиентам понять, с каким уровнем работают их продукты.
OSI (Open Systems Interconnection) — концептуальная модель взаимодействия открытых систем, которая объединяет все коммуникационные функции вычислительных или телекоммуникационных систем. OSI демонстрирует, как компьютеры или другие типы систем коммуницируют друг с другом.
Поскольку каждая система имеет свои технологические особенности и работает с разными телекоммуникационными протоколами, поставить ее в один ряд с системой с теми же характеристиками может оказаться очень сложно. Именно для этого нам и нужна модель OSI — для создания универсального стандарта связи между устройствами. Например, OSI позволяет нам отправить электронное письмо с мобильного устройства на настольный ПК и наоборот.
Модель OSI состоит из 7 взаимозависимых слоев (уровней), каждый из которых описывает путь данных от одной машины к другой. Каждый уровень выполняет определенные функции, которые решают проблемы передачи данных, такие как физическая адресация, контроль доступа, маршрутизация, повторная сборка данных и многое другое. Мы познакомимся с ними в статье. Модель OSI состоит из следующих уровней:
Физический, канальный и сетевой уровни считаются уровнями среды, поскольку они ориентированы на аппаратное обеспечение (т. е. каждая функция обрабатывается аппаратными средствами). Транспортный, сеансовый, уровень представления и прикладной считаются уровнями хоста, поскольку они ориентированы на программное обеспечение.
Первый уровень OSI описывает физическую среду, необходимую для передачи необработанных двоичных данных между узлами (т. е. машинами). Физический уровень, помимо прочих, включает следующие компоненты:
Протоколы уровня 1 — RS-232, PON, DSL, Bluetooth, USB, Ethernet, ИК-порт и т. д.
Битовая синхронизация.
При межузловой связи битовые потоки «текут» между отправителем и получателем, и наоборот. Чтобы обеспечить идеальную синхронизацию сигнала (т. е. знать, где сигнал начинается и заканчивается), мы используем часы. Это называется фазовая автоподстройка частоты (ФАПЧ, PLL).
Управление битрейтом.
Чтобы во время передачи от узла к узлу не возник маленький поток, нужен механизм управления скоростью. Функция управления битрейтом служит именно для этой цели: она определяет, сколько битов отправляется или принимается каждую секунду.
Физические топологии.
Физический уровень также дает представление о том, как различные узлы и устройства организованы в сети. Существует 4 типа сетевых топологий:
Режим передачи.
Первый уровень также обрабатывает способ передачи данных между узлами. На физическом уровне определены 3 режима передачи данных:
Канальный уровень (Data Link Layer, DLL) помогает понять, как отправлять данные с одного узла на другой через физический уровень (уровень 1). Например, первый уровень работает с битами и символами, а второй уровень обрабатывает кадры (контейнеры для сетевых пакетов).
Поскольку канальный уровень построен поверх физического уровня, он должен гарантировать, что данные, отправленные с одного узла, действительно достигают другого узла без ошибок. Поскольку второй уровень обрабатывает все: от передачи до контроля ошибок, ему нужны дополнительные усилия в виде двух подуровней: LLC (управление логическим каналом) и MAC (управление доступом к среде). Давайте подробнее рассмотрим каждый из них.
Подуровни канального уровня
Задача самого верхнего подуровня DLL – обеспечение соединения между DLL и вторым подуровнем (MAC). LLC также играет ключевую роль в мультиплексировании (объединении нескольких аналоговых или цифровых сигналов в один сигнал, который проходит через общую среду), обеспечивает управление потоком, идентифицирует протоколы сетевого уровня и инкапсулирует их.
Второй подуровень DLL отвечает за управление аппаратным аспектом взаимодействия между устройствами. MAC также предоставляет сетевым платам уникальные теги – MAC-адреса, которые важны для доставки данных на правильный компьютер, подключенный внутри сети. MAC позволяет взаимодействовать компьютерам, расположенным только в одной сети.
Протоколы уровня 2 — ATM, ARP, MAC, SLIP, L2TP, PLIP и т.д.
Кадрирование.
Кадрирование означает создание контейнера для данных, передаваемых между двумя устройствами. Кадр состоит из четырех элементов:
Физическая адресация.
Кадры можно сравнить с конвертом. Чтобы письмо дошло до адресата, нам нужно указать правильный адрес на конверте. В сети канальный уровень заключает MAC-адрес отправителя/получателя в заголовок кадра, чтобы информация дошла до конкретного получателя.
Контроль ошибок.
Канальный уровень предоставляет средства для выявления и исправления ошибок, которые могут возникнуть во время передачи. Если он обнаружит потерянные или поврежденные кадры, он автоматически ретранслирует их.
Управление потоком.
Если будет отправлено слишком много данных, само сообщение может быть повреждено. Управление потоком необходимо для оптимизации передачи данных между узлами.
Контроль доступа.
Когда несколько устройств пытаются обменяться данными по одному и тому же каналу, второй подуровень (MAC) выберет, какое устройство может контролировать канал связи в данный момент.
Этот уровень позволяет устройствам, расположенным в разных сетях, взаимодействовать друг с другом. Сетевой уровень использует IP-адреса и маршрутизацию пакетов для обеспечения того, чтобы правильное сообщение достигло нужной стороны.
Протоколы уровня 3 — Ipv4, IPv6, ICMP, IPX, PLP, AppleTalk и т.д.
Маршрутизация
Кратчайшее расстояние между двумя точками — это прямая линия, но в сетях это работает иначе, потому что иногда кратчайший маршрут может оказаться нежизнеспособным. Чтобы решить эту проблему, сетевой уровень использует протоколы для построения наилучшего возможного маршрута.
Логическая адресация
IP относится к сетевому уровню так же, как MAC относится к канальному уровню. IP позволяет системе идентифицировать каждый хост, подключенный к объединенной сети, и разработать схему адресации. Подобно физической адресации на втором уровне, при логической адресации IP-адреса отправителя и получателя будут помещены в заголовок.
Транспортный уровень обрабатывает все, что связано с транспортировкой пакетов. Это включает в себя сквозную доставку, подтверждение успешной передачи данных и контроль потока и ошибок. Задача четвертого уровня заключается в повторной передаче данных в случае обнаружения ошибки. Поскольку это программно-ориентированный слой, помимо обычных функций, в нем есть еще и службы.
Протоколы уровня 4 — TCP, UDP, SCTP, DCCP, SPX.
Сегментация и повторная сборка
В большинстве случаев сообщение, передаваемое между отправителем и получателем, может быть слишком большим, чтобы быть переданным за один сеанс. Транспортный уровень использует функцию сегментации, чтобы разбить сообщение, переданное с сеансового уровня (уровень 5). Разбитое сообщение затем отправляется ниже на транспортный уровень (уровень 4), который повторно собирает сообщение.
Адресация точки обслуживания
Сетевые функции используют множество приложений и процессов. Чтобы узнать, какое именно приложение должно получить сообщение, используется адресация точки обслуживания Эта функция позволяет транспортному уровню добавлять к заголовку сообщения специальный тип адреса. Так уровень точно узнает, куда должно быть доставлено сообщение. Этот адрес называется адресом точки обслуживания (адресом порта).
Служба с установкой соединения.
Это упрощенная версия трехстороннего рукопожатия TCP/IP на транспортном уровне. Служба состоит из трех этапов: подключение, передача данных и отключение. Отправитель соединяется с получателем, сообщение передается, и получатель подтверждает передачу. Если все в порядке, соединение разрывается.
Служба без установки соединения.
Службы без установки соединения обрабатывают только часть передачи данных, т.е. получателю не требуется подтверждать прием пакета. Служба без установки соединения менее безопасна и надежна, но значительно быстрее службы с установкой соединения.
Сеансовый уровень является вторым хост-уровнем (программно-ориентированным) и отвечает за безопасность, аутентификацию, обслуживание сеанса и установление соединения.
Протоколы уровня 5 — NetBIOS, SAP, PPTP, RTP, SOCKS и т.д.
Установка и завершение сеанса
Сеансовый уровень сообщает двум сторонам (отправителю и получателю), как взаимодействовать, а также как устанавливать и завершать связь.
Синхронизация
Механизм контроля ошибок сеансового уровня позволяет процессу добавлять контрольные точки (флаги) в передачу, чтобы идентифицировать и исправлять любые несоответствия по метке.
Диалоговое управление
Сеансовый уровень может «заставить» процесс передавать сообщения в полудуплексном или полнодуплексном режиме.
Этот уровень отвечает за перевод информации, полученной с прикладного уровня (уровня 7). По этой причине уровень представления также называют уровнем перевода. Другими словами, уровень 6 представляет данные в понятном человеку и машине виде, включая текст, изображения и аудио/видеоданные.
Протоколы уровня 6 — MIME, XDR, ASN.1, ASCII, PGP.
Перевод
Уровень представления переводит текст из одной кодировки в другую. Например, из ASCII в обычный текст.
Шифрование/дешифрование
Шифрование означает использование ключа для преобразования обычного текста в зашифрованный текст и использование того же ключа для расшифровки сообщения.
Сжатие
Уровень представления использует функцию сжатия для удаления нескольких битов из сообщения, чтобы сделать передачу более плавной.
Уровень приложения (уровень рабочего стола) — это среда, где мы можем фактически работать с уровнями OSI. Сюда входят браузеры, почтовые клиенты, игры, видеоплееры и многое другое.
Протоколы уровня 7 — SIP, DNS, FTP, Gopher, HTTP, NFS, SMTP, Telnet, DHCP и т.д.
Сетевой виртуальный терминал (Network Virtual Terminal, NVT)
NVT — это приложение, которое позволяет пользователю удаленно подключаться к другому хосту или серверу с помощью программной эмуляции.
Доступ к передаче файлов и управление ими (File Transfer Access and Management, FTAM)
FTAM — это протокол, который позволяет пользователям распространять файлы по сети и манипулировать ими. По сравнению с FTP, FTAM имеет более широкие возможности. Например, печать и буферизация, создание сетевых файловых систем и поиск записей в удаленных базах данных.
Почтовые службы
Эта функция обеспечивает пересылку и хранение электронной почты. Outlook можно считать ярким примером почтовой службы прикладного уровня.
Службы каталогов
Это комплексная программная инфраструктура, помогающая находить, организовывать и управлять сетевыми ресурсами (например, LDAP, DNS, служба каталогов Netware и т.д.).
В этой статье мы описали 7 основных уровней OSI. Важно отметить, что каждый уровень OSI имеет еще один или несколько уровней. Модель OSI является эталоном построения сетей. Она поможет понять, как работает компьютерная сеть и как правильно построить эту сеть. Зная архитектуру сети, вы сможете настроить ее и диагностировать в случае неполадок.
Спойлер: мы раскрываем их любимые трюки