7 уровневая модель оси. Как работают сетевые устройства согласно сетевой модели 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.

Для облегчения понимания работы всех сетевых устройств, перечисленных в статье Сетевые устройства , касательно уровней сетевой эталонной модели OSI, Я сделал схематичные рисунки с небольшими комментариями.

Для начала вспомним уровни эталонной сетевой модели OSI и инкапсулирование данных.

Посмотрите, как происходит передача данных между двумя соединенными компьютерами. Заодно Я выделю работу сетевой карты на компьютерах, т.к. именно она является сетевым устройством, а компьютер – в принципе нет. (Все картинки кликабельны - для увеличения картинки кликните по ней.)


Приложение на компьютере PC1 отправляет данные другому приложению находящемуся на другом компьютере PC2. Начиная с верхнего уровня (уровень приложений) данные направляются к сетевой карте на канальный уровень. На нём сетевая карта преобразует фреймы в биты и отправляет в физическую среду (например, кабель витую пару). На другой стороне кабеля поступает сигнал, и сетевая карта компьютера PC2 принимает эти сигнала, распознавая их в биты и формируя из них фреймы. Данные (содержащиеся в фреймах) декапсулируются к верхнему уровню, и когда доходят до уровня приложений, соответствующая программа на компьютере PC2 получает их.

Повторитель. Концентратор.

Репитер и концентратор работают на одном и том же уровне, поэтому касательно сетевой модели OSI они изображаются одинаково. Для удобства представлений сетевых устройств будем их отображать между нашими компьютерами.


Репитер и концентратор устройства первого (физического) уровня. Они принимают сигнал, распознают его, и пересылают сигнал далее во все активные порты.

Сетевой мост. Коммутатор.

Сетевой мост и коммутатор тоже работают на одном уровне (канальном) и изображаются они соответственно одинаково.


Оба устройства уже второго уровня, поэтому помимо распознавания сигнала (подобно концентраторам на первом уровне) они декапсулируют его (сигнал) в фреймы. На втором уровне сравнивается контрольная сумма трейлера (прицепа) фрейма. Затем из заголовка фрейма узнаётся MAC-адрес получателя, и проверяется его наличие в коммутируемой таблице. Если адрес присутствует, то фрейм обратно инкапсулируется в биты и отправляется (уже в виде сигнала) на соответствующий порт. Если адрес не найден, происходит процесс поиска этого адреса в подключенных сетях.

Маршрутизатор.


Как Вы видите, маршрутизатор (или роутер) – это устройство третьего уровня. Вот как примерно роутер функционирует: На порт поступает сигнал, и роутер распознаёт его. Распознанный сигнал (биты) формируют фреймы (кадры). Сверяется контрольная сумма в трейлере и MAC-адрес получателя. Если все проверки прошли успешно, фреймы формируют пакет. На третьем уровне маршрутизатор исследует заголовок пакета. В нем присутствует IP адрес пункта назначения (получателя). На основе IP-адреса и собственной таблицы маршрутизации роутер выбирает наилучший путь следования пакеты к получателю. Выбрав путь, роутер инкапсулирует пакет в фреймы, а затем в биты и отправляет их в виде сигналов на соответствующий порт (выбранный в таблице маршрутизации).

Заключение

В заключении Я объединил все устройства в одной картинке.


Теперь у Вас достаточно знаний, чтобы определить какие устройства и как работают. Если у Вас остались вопросы, задавайте их мне и в ближайшее время Вам или Я или другие пользователи непременно помогут.

Модель взаимодействия открытых систем OSI (англ. Open System Interconnection) – это набор стандартов взаимодействия сетевого оборудования между собой. Также ее называют стеком протоколов. Разработана для того, чтобы различные объекты сети вне зависимости от производителя и типа (компьютер, сервер, коммутатор, хаб и даже браузер, отображающий html страницу) соблюдали единые правила работы с данными и могли успешно осуществлять информационный обмен.

Сетевые устройства бывают разными по функциям и «близости» к конечному потребителю – человеку или приложению. Поэтому модель OSI описывает 7 уровней взаимодействия, на каждом из которых работают свои протоколы, неделимые порции данных, устройства. Разберем принцип работы семиуровневой модели OSI с примерами.

Сетевые уровни модели OSI

Физический

Отвечает за физическую передачу данных между устройствами на большие и не очень расстояния. Он описывает виды сигналов и способы их обработки для разных сред передачи: проводов (витой пары и коаксиала), оптического волокна, радиолинии (wi-fi и bluetooth), инфракрасного канала. Единицы данных на этом уровне – биты, преобразованные в электрические импульсы, свет, радиоволны и т.д. Также тут фиксируются типы разъемов, их распиновка.

Устройства, работающие на физическом уровне модели ОСИ (OSI Model): повторители сигнала, концентраторы (хабы). Это наименее «интеллектуальные» устройства, задачей которых является усиление сигнала или его разветвление без какого-либо анализа и модификации.

Канальный

Находясь над физическим, должен «опустить» правильно оформленные данные в среду передачи , предварительно приняв их от верхнего уровня. На приемном конце протоколы канального уровня «поднимают» информацию из физики, проверяют полученное на наличие ошибок и передают выше по стеку протоколов.

Для осуществления процедур проверки необходимо, во-первых, сегментировать данные для передачи на порции (кадры), во-вторых, дополнять их служебной информацией (заголовками).

Также тут впервые всплывает понятие адреса. Здесь – это MAC (англ. Media Access Control) адрес – шестибайтовый идентификатор сетевого устройства, необходимый для указания в кадрах в качестве получателя и отправителя при передаче данных в рамках одного локального сегмента.

Устройства: сетевой мост (bridge), коммутатор. Их преимущественное отличие от «нижних» устройств – ведение таблиц MAC адресов по своим портам и рассылка/фильтрация трафика уже только по необходимым направлениям.

Сетевой

Объединяет целые сети. Решает глобальные логистические задачи по передаче данных между разными сегментами больших сетей: маршрутизацию, фильтрацию, оптимизацию и контроль качества.

Единица передаваемой информации – пакеты. Адресация узлов и сетей производится присвоением им 4-байтовых номеров – IP (англ. Internet Protocol) адресов, иерархически организованных, и позволяющих гибко настраивать взаимную логическую видимость сегментов сетей.

Также здесь появляются и привычные символьные имена узлов , за соответствие которых IP адресам отвечают протоколы сетевого уровня. Устройства, работающие на этом этаже модели OSI – маршрутизаторы (роутеры, шлюзы). Реализуя в себе все три первых уровня стека протоколов, они объединяют собой разные сети, перенаправляют пакеты из одной в другую, выбирая по определенным правилам их маршрут, ведут статистику передачи, обеспечивают безопасность за счет таблиц фильтрации.

Транспортный

Транспортировка в этом случае подразумевается логическая (так как за физическую отвечает 1 ступень стека): установление соединения с противоположным узлом на соответствующем уровне, подтверждение доставки полученных данных, контроль их качества. Так работает протокол TCP (англ. Transmission Control Protocol). Передаваемая порция информации – блок или сегмент.

Для передачи же потоковых массивов (датаграмм) используется протокол UDP (англ. User Datagram Protocol).

Адрес – десятичный номер виртуального программного порта конкретной рабочей станции или сервера.

Сеансовый

Управляет процессом передачи в терминах пользовательского доступа . Ограничивает время соединения (сессии) одного узла с другим, контролирует права доступа, синхронизирует начало, конец обмена.

Представительский

Полученные снизу – из сессии – данные необходимо правильно представить конечному пользователю или приложению. Корректная декодировка, декомпрессия данных, если браузер экономил ваш трафик — эти операции выполняются на предпоследнем шаге.

Прикладной

Прикладной или уровень прикладных приложений. Серфинг в браузере, получение и отправка почты, доступ к другим узлам сети посредством удаленного доступа – вершина сетевой модели OSI.

Пример работы сетевой модели

Рассмотрим на живом примере принцип работы стека протоколов. Пусть пользователь компьютера шлет в мессенджере фотографию другу с подписью. Спускаемся по уровням модели:

  • На прикладном формируется сообщение: помимо фото и текста к посылке добавляется информация об адресе сервера сообщений (символьное имя www.xxxxx.com при помощи специального протокола превратится в десятичный IP адрес), идентификаторе получателя на этом сервере, возможно еще какая-нибудь служебная информация.
  • На представительском — фотография может быть сжата, если, ее размер велик с точки зрения мессенджера и его настроек.
  • Сеансовый отследит логическую подключенность пользователя к серверу, его статус. Также им будет контролироваться процесс передачи данных после его начала, отслеживание сессии.
  • На транспортном данные разбиваются на блоки. Добавляются служебные поля транспортного уровня с контрольными суммами, опциями контроля ошибок и т.д. Одна фотография может превратиться в несколько блоков.
  • На сетевом — блоки оборачиваются служебной информацией, в которой содержатся в том числе адрес узла-отправителя и адрес IP сервера сообщений. Именно эта информация позволит IP пакетам дойти до сервера, возможно, через весь мир.
  • На канальном , данные IP пакетов упаковываются в кадры с добавлением служебных полей, в частности MAC адресов. Адрес собственной сетевой карты будет помещен в поле отправителя, а в поле получателя будет помещен MAC шлюза по умолчанию опять же из собственных сетевых настроек (вряд ли компьютер находится с сервером в одной сети, соответственно MAC его неизвестен, а шлюз по умолчанию, например, домашнего роутера – известен).
  • На физическом — биты из кадров будут транслированы в радиоволны, и дойдут посредством wi-fi протокола до домашнего роутера.
  • Там информация поднимется по стеку протоколов уже до 3 уровня стека роутера, далее будет произведено перенаправление пакетов до маршрутизаторов провайдера. И так далее, пока на сервере мессенджера, на самом верхнем уровне сообщение и фотография в исходных видах не попадут на личное дисковое пространство отправителя, затем получателя. И затем начнется аналогичный путь информации уже к адресату сообщения, когда тот выйдет в онлайн и установит сессию с сервером.

В утилите sudo, используемой для организации выполнения команд от имени других пользователей, выявлена уязвимость (CVE-2019-18634), которая позволяет повысить свои привилегии в системе. Проблема […]

Выпуск WordPress 5.3 улучшает и расширяет представленный в WordPress 5.0 редактор блоков новым блоком, более интуитивным взаимодействием и улучшенной доступностью. Новые функции в редакторе […]

После девяти месяцев разработки доступен мультимедиа-пакет FFmpeg 4.2, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и […]

  • Новые функции в Linux Mint 19.2 Cinnamon

    Linux Mint 19.2 является выпуском с долгосрочной поддержкой, который будет поддерживаться до 2023 года. Он поставляется с обновленным программным обеспечением и содержит доработки и множество новых […]

  • Вышел дистрибутив Linux Mint 19.2

    Представлен релиз дистрибутива Linux Mint 19.2, второго обновления ветки Linux Mint 19.x, формируемой на пакетной базе Ubuntu 18.04 LTS и поддерживаемой до 2023 года. Дистрибутив полностью совместим […]

  • Доступны новые сервисные релизы BIND, которые содержат исправления ошибок и улучшения функций. Новые выпуски могут быть скачано со страницы загрузок на сайте разработчика: […]

    Exim — агент передачи сообщений (MTA), разработанный в Кембриджском университете для использования в системах Unix, подключенных к Интернету. Он находится в свободном доступе в соответствии с […]

    После почти двух лет разработки представлен релиз ZFS on Linux 0.8.0, реализации файловой системы ZFS, оформленной в виде модуля для ядра Linux. Работа модуля проверена с ядрами Linux c 2.6.32 по […]

    Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, завершил формирование RFC для протокола ACME (Automatic Certificate Management Environment) […]

    Некоммерческий удостоверяющий центр Let’s Encrypt, контролируемый сообществом и предоставляющий сертификаты безвозмездно всем желающим, подвёл итоги прошедшего года и рассказал о планах на 2019 год. […]

    Сетевая модель OSI — это эталонная модель взаимодействия открытых систем, на английском звучит как Open Systems Interconnection Basic Reference Model. Ее назначение в обобщенном представлении средств сетевого взаимодействия.

    То есть модель OSI — то обобщенные стандарты для разработчиков программ, благодаря которым любой компьютер одинаково может расшифровать данные, переданные с другого компьютера. Чтобы было понятно, приведу жизненный пример. Известно, что пчелы видят все окружающее их в утрафиалетовом свете. То есть одну и ту же картинку наш глаз и пчелиный воспринимает абсолютно по-разному и то, что видят насекомые, может быть незаметно для зрения человека.

    То же самое и с компьютерами — если один разработчик пишет приложение на каком-либо программном языке, который понимает его собственный компьютер, но не доступен ни для одного другого, то на любом другом устройстве вы прочитать созданный этим приложением документ не сможете. Поэтому пришли к такой идее, чтобы при написании приложений следовать единому своду правил, понятному для всех.

    Уровни OSI

    Для наглядности процесс работы сети принято разделять на 7 уровней, на каждом из которых работает своя группа протоколов.

    Сетевой протокол — это правила и технические процедуры, позволяющие компьютерам, объединенным в сеть, осуществлять соединение и обмен данными.
    Группа протоколов, объединенных единой конечной целью, называется стек протоколов.

    Для выполнения разных задач имеется несколько протоколов, которые занимаются обслуживанием систем, например, стек TCP/IP. Давайте здесь внимательно посмотрим на то, каким образом информация с одного компьютера отправляется по локальной сети на другой комп.

    Задачи компьютера ОТПРАВИТЕЛЯ:

    • Взять данные из приложения
    • Разбить их на мелкие пакеты, если большой объем
    • Подготовить к передаче, то есть указать маршрут следования, зашифровать и перекодировать в сетевой формат.

    Задачи компьютера ПОЛУЧАТЕЛЯ:

    • Принять пакеты данных
    • Удалить из него служебную информацию
    • Скопировать данные в буфер
    • После полного приема всех пакетов сформаровать из них исходный блок данных
    • Отдать его приложению

    Для того, чтобы верно произвести все эти операции и нужен единый свод правил, то есть эталонная модель OSI.

    Вернемся у к уровням OSI. Их принято отсчитывать в обратном порядке и в верхней части таблицы располагаются сетевые приложения, а в нижней — физическая среда передачи информации. По мере того, как данные от компьютера спускаются вниз непосредственно к сетевому кабелю, протоколы, работающие на разных уровнях, постепенно их преобразовывают, подготавливая к физической передаче.

    Разберем их подробнее.

    7. Прикладной уровень (Application Layer)

    Его задача забрать у сетевого приложения данные и отправить на 6 уровень.

    6. Уровень представления (Presentation Layer)

    Переводит эти данные на единый универсальный язык. Дело в том, что каждый компьютерный процессор имеет собственный формат обработки данных, но в сеть они должны попасть в 1 универсальном формате — именно этим и занимается уровень представления.

    5. Сеансовый уровень (Session Layer)

    У него много задач.

    1. Установить сеанс связи с получателем. ПО предупреждает компьютер-получатель о том, что сейчас ему будут отправлены данные.
    2. Здесь же происходит распознавание имен и защита:
      • идентификация — распознавание имен
      • аутентификация — проверка по паролю
      • регистрация — присвоение полномочий
    3. Реализация того, какая из сторон осуществляет передачу информации и как долго это будет происходить.
    4. Расстановка контрольных точек в общем потоке данных для того, чтобы в случае потери какой-то части легко было установить, какая именно часть потеряна и следует отправить повторно.
    5. Сегментация — разбивка большого блока на маленькие пакеты.

    4. Транспортный уровень (Transport Layer)

    Обеспечивает приложениям необходимую степень защиты при доставке сообщений. Имеется две группы протоколов:

    • Протоколы, которые ориентированы на соединение — они отслеживают доставку данных и при необходимости запрашивают повторную отправку при неудаче. Это TCP — протокол контроля передачи информации.
    • Не ориентированные на соединение (UDP) — они просто отправляют блоки и дальше не следят за их доставкой.

    3. Сетевой уровень (Network Layer)

    Обеспечивает сквозную передачу пакета, рассчитывая его маршрут. На этом уровне в пакетах ко всей предыдущей динформации, сформированной другими уровнями, добавляются IP адреса отправителя и получателя. Именно с этого момент пакет данных называется собственно ПАКЕТОМ, у которого есть (IP протокол — это протокол межсетевого взаимодействия).

    2. Канальный уровень (Data Link Layer)

    Здесь происходит передача пакета в пределах одного кабеля, то есть одной локальной сети. Он работает только до пограничного маршрутизатора одной локальной сети. К полученному пакету канальный уровень добавляет свой заголовок — MAC адреса отправителя и получателя и в таком виде блок данных уже называется КАДРОМ.

    При передачи за пределы одной локальной сети пакету присваивается MAC не хоста (компьютера), а маршрутизатора другой сети. Отсюда как раз появляется вопрос серых и белых IP, о которых шла речб в статье, на которую была выше дана ссылка. Серый — это адрес внутри одной локальной сети, который не используетс яза ее пределами. Белый — уникальный адрес во всем глобальном интернете.

    При поступлении пакета на пограничный роутер IP пакета подменяется на IP этого роутера и вся локальная сеть выходит в глобальную, то есть интернет, под одним единственным IP адресом. Если адрес белый, то часть данных с IP адресом не изменяется.

    1. Физический уровень (Transport layer)

    Отвечает за преобразование двоичной информации в физический сигнал, который отправляется в физический канал передачи данных. Если это кабель, то сигнал электрический, если оптоволоконная сеть, то в оптический сигнал. Осуществляется это преобразование при помощи сетевого адаптера.

    Стеки протоколов

    TCP/IP — это стек протоколов, который управляет передачей данных как в локальной сети, так и в глобальной сети Интернет. Данный стек содержит 4 уровня, то есть по эталонной модели OSI каждый из них объединяет в себе несколько уровней.

    1. Прикладной (по OSI — прикладной, представления и сеансовый)
      За данный уровень отвечают протоколы:
      • TELNET — удаленный сеанс связи в виде командной строки
      • FTP — протокол передачи файлов
      • SMTP — протокол пересылки почты
      • POP3 и IMAP — приема почтовых отправлений
      • HTTP — работы с гипертекстовыми документами
    2. Транспортный (по OSI то же самое) — это уже описанные выше TCP и UDP.
    3. Межсетевой (по OSI — сетевой) — это протокол IP
    4. Уровень сетевых интерфейсов (по OSI — канальный и физический)За работу этого уровня отвечают драйверы сетевых адаптеров.

    Терминология при обозначении блока данных

    • Поток — те данные, которыми оперируются на прикладном уровне
    • Дейтаграмма — блок данных на выходе с UPD, то есть у которого нет гарантированной доставки.
    • Сегмент — гарантированный для доставки блок на выходе с протокола TCP
    • Пакет — блок данных на выходе с протокола IP. поскольку на данном уровне он еще не гарантирован к доставке, то тоже может называться дейтаграммой.
    • Кадр — блок с присвоенными MAC адресами.

    Спасибо! Не помогло