Сетевая модель OSI: что это такое и зачем она нужна
Статья
Время чтения
9 минут
В статье рассказываем, как устроена семиуровневая модель OSI и какова ее роль при построении сетей.
На пути в мир сетевых технологий вы обязательно встретите ее — модель Open Systems Interconnection. Или попросту OSI. Она относится к фундаментальным «китам», на которых основано понимание того, как работает интернет. В OSI прописаны принципы, по которым устройства обмениваются данными по сети, и роли, которые в этом обмене играют сетевые протоколы.
На практике OSI никогда массово не использовалась и не используется, но ее принципы лежат в основе целого ряда современных сетевых моделей. Знание этой модели помогает сетевым инженерам и разработчикам эффективно диагностировать неполадки в сети и быстро находить самые действенные способы их устранения.
Что такое модель OSI
OSI — это образец эталонного процесса передачи данных по сети. В нем пошагово описаны этапы, которые проходит информация по ходу движения от отправителя к получателю.
Давайте попробуем представить OSI в качестве слоеного пирога. У этого пирога семь слоев. Каждый из них отвечает за свой участок работы и контактирует только с непосредственными «соседями» — слоями выше и ниже. Это делает процесс обмена данными упорядоченным и позволяет контролировать его на всех этапах.
Как появилась OSI
На заре эры цифровых технологий — в 1960-х годах — компьютерные сети начали появляться в государственных учреждениях и университетах. Они создавались частными компаниями и предприятиями и были рассчитаны на обслуживание оборудования и программ этих организаций. Так, в 1969 году Агентство Министерства обороны США разработало сеть ARPANET (Advanced Research Projects Agency Network), а IBM в 1974 году создала системную сетевую архитектуру SNA (Systems Network Architecture). В чем-то эти сети были схожи, в чем-то отличались, но не было среди них такой, которая бы позволила коммуницировать устройствам из разных сетей и от разных производителей.
Чтобы дать альтернативу закрытым компьютерным сетям, в 1977 году Международная организация по стандартизации (ISO) приступила к разработке стандартов для налаживания открытого взаимодействия между устройствами. Слова «интернет» тогда еще не было, но именно его по сути и нужно было изобрести.
С целью достижения цифрового единства команда ученых из США, Великобритании и Франции под началом Чарльза Бакмана (Charles Bachman) в течение семи лет создавала универсальную модель сетевой коммуникации. Итогом стал выпущенный в 1984 году стандарт ISO 7498 или эталонная модель OSl.
Впрочем, из-за своего медленного развития прикладного применения OSI так и не нашла. Она осталась в истории в виде академического образца, в котором была предпринята попытка учесть абсолютно все факторы, влияющие на процесс передачи данных. А ее прикладной наследницей — более доступной по цене и простой во внедрении — стала модель TCP/IP.
Принципы работы OSI
Модель OSI состоит из семи слоев, где на самом нижнем слое (физическом) информация представлена в виде бит. А на самом верхнем слое (прикладном) в виде данных.
В процессе передачи данные проходят все слои, двигаясь от устройства-отправителя к устройству-получателю. При этом при отправке они инкапсулируются, двигаясь от седьмого к первому слою и превращаясь из данных в биты, а при получении декапсулируются — трансформируются обратно из битов в данные. Для удобства на каждом из слоев они представляются в виде блоков данных протокола — PDU (Protocol Data Unit).
Если проще, то:
получатель отправляет данные, которые начинают обрабатываться на его сетевом устройстве на седьмом прикладном слое;
далее данные инкапсулируются, доходя до первого слоя и превращаясь в биты;
в виде битов данные принимает устройство получателя и декапсулирует их, чтобы представить в понятном для человека виде.
Слой OSI — Физический (L1, Physical Layer)
На первом слое идет работа с физическими сигналами. Эти сигналы передаются от устройства-отправителя к устройству-получателю либо по проводам и кабелям, либо «по воздуху» — через Wi-Fi, Bluetooth, GSM и другие беспроводные сети.
Самый распространенный протокол передачи данных на физическом и канальном уровнях по проводам — Ethernet. Мы используем его для подключения устройств в проводной локальной сети (LAN) или широкополосной сети (WAN).
Ethernet определяет, как данные форматируются для передачи по сети — создает структуру кадров (фреймов), адресует их, проверяет на ошибки и управляет доступом к среде передачи данных.
При беспроводной передаче на физическом уровне чаще всего применяются стандарты Wi-Fi (стандарты 802.11). Их эволюция началась в 1985 году,
когда Федеральная комиссия по связи (FCC) в США высвободила радиочастотные диапазоны под ISM-полосы (Industrial, Scientific and Medical) для использования без лицензии.
Каждое новое поколение стандарта Wi-Fi увеличивало скорость передачи данных и улучшало работу в условиях сигнальных помех, обеспечивая более высокую пропускную способность:
802.11 (1997) – первоначальный стандарт Wi-Fi, который предлагал скорость передачи данных до 2 Мбит/с.
802.11b (1999) – повысил максимальную скорость передачи данных до 11 Мбит/с, став первым широко используемым стандартом Wi-Fi, который обеспечивал лучшее покрытие и совместимость с оборудованием.
802.11а (1999) – позволил развить скорость до 54 Мбит/с на частоте 5 ГГц, что уменьшало помехи, но сокращало дальность покрытия.
802.11g (2003) – стандарт, сочетающий преимущества 802.11a и 802.11b, 802.11g и работающий на частоте 2,4 ГГц со скоростью до 54 Мбит/с.
802.11n (2009) – значительно улучшил возможности предыдущих стандартов, предлагая скорости до 600 Мбит/с и улучшенное покрытие за счет использования нескольких антенн (MIMO).
802.11ac (2013) – еще больше увеличил производительность, предлагая скорости свыше 1 Гбит/с на частоте 5 ГГц.
802.11ax или Wi-Fi 6 (2019) – самый новый стандарт, который предназначен для работы в условиях высокой плотности беспроводных сетей. Предлагает высокие скорости и эффективен в многопользовательских средах.
Слой 2 OSI — Канальный (L2, Data Link Layer)
Сразу над физическим слоем располагается канальный, на котором данные проверяются на целостность и отсутствие ошибок. На нем амплитуды напряжений распознаются как разные биты — нули или единицы, и упаковываются в специальные блоки.
Блоки из данных и служебной информации в виде адресов отправителя и получателя называются кадрами (frames).
За выдачу MAC-адресов отвечает подслой MAC (Media Access Control). Он взаимодействует с нижним, физическим слоем, и управляет доступом к среде. Выдаваемые на подслое MAC-адреса состоят из 48 или 64 бит и выглядят примерно так:
MAC-адрес есть у каждого устройства с сетевой картой, Bluetooth- или Wi-Fi-адаптером. Он вшивается производителем при изготовлении, но может быть изменен при необходимости.
За взаимодействие с сетевым верхним, относительно канального, слоем в ответе второй подслой — LLC (Logical Link Control).
Слой 3 OSI — Сетевой (L3, Network Layer)
На сетевом слое данные маршрутизируются между устройствами в сети. Для этого используются маршрутизаторы — физические устройства, которые соединяют сети и управляют трафиком между ними. В их задачу входит поиск оптимального пути для передачи пакетов данных.
Пакеты данных, которые передаются на сетевом слое, похожи на кадры, которые создаются при работе на канальном уровне, но вместо MAC-адресов используют IP-адреса.
Слой 4 OSI — Транспортный (L4, Transport Layer)
Как можно догадаться по названию, транспортный слой отвечает за передачу данных по сети. На нем задействованы два ключевых сетевых протокола — TCP и UDP. Они транспортируют пакеты, созданные на предыдущем слое.
Транспортировка не всегда идет гладко. Порой пакеты передаются медленно или теряются и достигают получателя в поврежденном виде. Чтобы минимизировать возникновение ошибок при транспортировке, нужно правильно выбрать протокол передачи — TCP или UDP.
Протокол TCP (Transmission Control Protocol). В тех случаях, когда важно избежать даже малейших потерь, передавать данные лучше по протоколу TCP. Он гарантирует целостность доставляемой информации, следя за тем, чтобы каждый бит достигал своего адресата.
Для корректной передачи TCP сегментирует пакет данных на части и отправляет их по сети, учитывая ее пропускную способность. Небольшие сегменты не застревают даже на самых медленных устройствах, надежно контролируются и отправляются повторно при необходимости. Все это сильно повышает надежность транспортировки, но замедляет ее.
UDP (User Datagram Protocol). Этот протокол транспортирует информацию быстро, но не так аккуратно, как TCP. Его стоит предпочесть при работе с мультимедийными данными — некритичные потери при передаче видео или аудио не так важны, как ее скорость.
Почему UDP передает пакеты данных быстрее TCP? Потому что делит данные не на сегменты, а на датаграммы. В отличие от сегментов, они автономны — не зависят от сети и могут передаваться по различным маршрутам и в разном порядке.
Слой 5 OSI — Сеансовый (L5, Session Layer)
Сеансовый слой управляет сеансами связи, которые можно синхронизировать для параллельного обмена информацией.
Простой пример такого сеанса — звонки с помощью Zoom, Skype или других подобных сервисов. В момент старта звонка между устройствами пользователей устанавливается соединение, по которому передаются аудио и видео. Если один из пользователей завершает звонок, то соединение прерывается и у второго.
Слой 6 OSI — Представление данных (L6, Presentation Layer)
На шестом слое данные преобразуются, кодируются и сжимаются, а также шифруются при необходимости. Здесь уже идет работа с привычными нам форматами данных — JPEG, MPEG, MP3 и так далее.
Слой 7 OSI — Прикладной (L7, Application Layer)
Самый верхний седьмой слой OSI — тот, на котором с данными взаимодействуют пользователи. Он представляет собой своего рода графический интерфейс, а его основная задача заключается в представлении информации в таком виде, которая будет понятна человеку.
Недостатки и критика модели OSI
Хоть модель OSI по сей день считается эталонной и была принята как стандарт ISO 7498, ей не удалось найти практического применения. Тому есть ряд причин.
Длительная разработка. Официально модель разрабатывалась в течение семи лет, на деле — если учесть дальнейшие административные прения и проволочки — еще дольше. В итоге, в начале 1990-х проект ее развития практически заглох, столкнувшись с куда более простой, гибкой и доступной моделью TCP/IP, основанной на стеке сетевых протоколов TCP и IP.
Спорная технология. Сравнивая модель OSI с TCP/IP, несложно прийти к выводу, что многие слои OSI имеют размытые границы и нередко функционально дублируют друг друга.
Закрытость. OSI продвигалась как проект Европейских телекоммуникационных компаний и правительства США — группа входящих в нее протоколов была закрыта, а за использование предполагалось взимать плату.
Альтернатива модели OSI
OSI закрепилась в истории как теоретический стандарт для выстраивания компьютерных сетей, облачных сервисов и совместного использования сетевых ресурсов. На практике же применение нашли другие модели.
Модель TCP/IP. Эта модель, которая состоит всего из четырех слоев — канального, межсетевого, транспортного и прикладного. Благодаря своей простоте и скорости внедрения именно она смогла стать основой того, что сегодня мы знаем как интернет.
Стек протоколов IBM SNA. Разработанный компанией IBM в 1974 году набор частных протоколов описывал структуру, форматы и правилы, нужные для передачи информации между программами IBM и оборудованием, которое создавалось для объединения в глобальные сети серверов (мейнфреймов) IBM.
Сеть ARPANET. Сеть ARPANET — один из ранних предвестников всемирной паутины — была создана Агентством Министерства обороны США по перспективным исследованиям (DARPA). С ее помощью разработчики впервые попытались создать единый свод правил для координации взаимодействия устройств в сети.
Заключение
Модель OSI — это база. К ней не нужно относиться как к запчасти, имеющей конкретное прикладное назначение. Ее задача — дать общую картину того, какие характерные роли играют сетевые протоколы в стеке, и показать, как они при этом взаимодействуют. Заучивать модель OSI не нужно. Нужно понять ее и использовать это понимание в процессе выстраивании и диагностики сети.