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 является выпуском с долгосрочной поддержкой, который будет поддерживаться до 2023 года. Он поставляется с обновленным программным обеспечением и содержит доработки и множество новых […]
Представлен релиз дистрибутива 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)
У него много задач.
- Установить сеанс связи с получателем. ПО предупреждает компьютер-получатель о том, что сейчас ему будут отправлены данные.
- Здесь же происходит распознавание имен и защита:
- идентификация — распознавание имен
- аутентификация — проверка по паролю
- регистрация — присвоение полномочий
- Реализация того, какая из сторон осуществляет передачу информации и как долго это будет происходить.
- Расстановка контрольных точек в общем потоке данных для того, чтобы в случае потери какой-то части легко было установить, какая именно часть потеряна и следует отправить повторно.
- Сегментация — разбивка большого блока на маленькие пакеты.
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 каждый из них объединяет в себе несколько уровней.
- Прикладной (по OSI — прикладной, представления и сеансовый)
За данный уровень отвечают протоколы:- TELNET — удаленный сеанс связи в виде командной строки
- FTP — протокол передачи файлов
- SMTP — протокол пересылки почты
- POP3 и IMAP — приема почтовых отправлений
- HTTP — работы с гипертекстовыми документами
- Транспортный (по OSI то же самое) — это уже описанные выше TCP и UDP.
- Межсетевой (по OSI — сетевой) — это протокол IP
- Уровень сетевых интерфейсов (по OSI — канальный и физический)За работу этого уровня отвечают драйверы сетевых адаптеров.
Терминология при обозначении блока данных
- Поток — те данные, которыми оперируются на прикладном уровне
- Дейтаграмма — блок данных на выходе с UPD, то есть у которого нет гарантированной доставки.
- Сегмент — гарантированный для доставки блок на выходе с протокола TCP
- Пакет — блок данных на выходе с протокола IP. поскольку на данном уровне он еще не гарантирован к доставке, то тоже может называться дейтаграммой.
- Кадр — блок с присвоенными MAC адресами.
Спасибо! Не помогло