Сетевые уровни: протоколы и уровни взаимодействия / Skillbox Media
Содержание
Сетевая модель OSI. Разбираем все 7 уровней
Для обеспечения единого представления данных в сетях, в которых используются различные конфигурации серверов, устройства и программы, была разработана базовая эталонная сетевая модель – OSI. Она является своеобразным сводом правил и процедур передачи данных в самых разных сетевых средах.
Содержание:
- Уровни
- Заключение
Модель OSI насчитывает 7 уровней, каждый из которых не зависит от функционирования других. Каждый уровень несет определенное количество данных. Часть информации – это служебные данные. Вторая часть – это полезная нагрузка, носящая название PDU (Protocol Data Unit).
Вертикальная модель OSI состоит из следующих уровней: физического, канального, сетевого, транспортного, сеансового, представительского и прикладного. Каждому уровню модели OSI соответствует определенный операнд. Так, на физическом уровне используются биты, на канальном – кадры, на сетевом – пакеты, на транспортном – сегменты. На сеансовом, представительском и прикладном уровне в качестве операндов используются сообщения.
Содержание:
Физический уровень
Первый уровень модели OSI – физический. В нем содержатся только лишь единицы и нули. Других систем измерения он не знает. На физическом уровне выполняется исключительно передача информации. На данном уровне используются сетевые адаптеры и концентраторы.
Канальный уровень
Этот уровень модели OSI отвечает за адресацию. Его главная задача – доставка кадров адресату в целости и сохранности. К задачам data link можно отнести обнаружение и коррекцию ошибок при отправке данных. Этот уровень также отвечает за обеспечение согласованного доступа к разделяемой среде.
На канальном уровне обычно функционирует протокол ARP. Стоит добавить, что адресация канального уровня работает исключительно в пределах одного сегмента сети.
Сетевой уровень
Сетевой уровень модели OSI необходим для определения пути передачи информации. Он отвечает за определение подходящих маршрутов, выявление неполадок в работе сети, маршрутизацию, коммутацию, а также за преобразование логических сетевых адресов в соответствующие им физические.
Транспортный уровень
На данном уровне осуществляется управление передачей данных по сети. Транспортный уровень также отвечает за обеспечения подтверждения передачи. На этом уровне появляются протоколы TCP и UDP, отвечающие за надежность доставки данных. Так, протокол TCP может запрашивать повторную передачу информации в том случае, если важные данные не были корректно приняты. У TCP также есть возможность изменения скорости передачи информации. Такая возможность актуальна в том случае, если адресат не успевает принять все данные.
Сеансовый уровень
Сеансовый уровень модели OSI обеспечивает поддержку взаимодействия между удаленными процессами. Именно он предназначен для обеспечения взаимодействия различных сетевых программ на протяжении длительного времени. В перечень задач этого уровня также входит создание и завершение сеанса, определение права на передачу, поддержка сеанса в случае неактивности сетевых программ и т.д.
Представительский уровень
Уровень представления модели OSI преобразовывает данные в общий формат, в котором они будут передаваться по сети. Presentation layer – это промежуточный протокол, предназначенный для преобразования данных из соседних сетевых программ. С его помощью между собой обмениваются сетевые программы, которые функционируют в разнородных компьютерных системах. Этот уровень форматирует и преобразовывает код для обеспечения гарантии поступления данных, понятных приложению.
Прикладной уровень
Данный уровень модели OSI считается наиболее многочисленным и разнообразным. Именно здесь выполняются все высокоуровневые протоколы – HTTP, RDP, POP и т.д. Прикладной уровень обеспечивает взаимодействие таких сетевых приложений, как Skype, службы электронной почты, веб приложения и т. д. Простыми словами, на этом уровне обеспечивается доступ ко всем необходимым сетевым службам.
Заключение
Используя сетевую модель OSI можно достаточно быстро найти, проанализировать и устранить любые проблемы в работе сети. Эта модель позволяет абстрагироваться от других уровней и найти ошибку в работе именно проблемной части.
Модели сетевого взаимодействия — Веб-платформа — Дока
Кратко
Скопировано
На заре создания компьютерных сетей были разработаны модели взаимодействия сетевых устройств, которые описывали программную и аппаратную реализации. Среди разработанных моделей наибольшее распространение получили:
- Сетевая модель OSI (Open Systems Interconnection).
- Модель DOD (Семейство TCP/IP).
- Модель SPX/IPX.
Сетевая модель — это описание принципов работы протоколов сетевого взаимодействия, спецификация которых закреплена в стандартах связи и используется для передачи данных в цифровом виде.
Сетевая модель OSI
Скопировано
Для того чтобы корректно описать совместную работу сетевых устройств необходимо рассмотреть разные аспекты организации связи между ними. Модель OSI разбивает систему построения связи между сетевыми устройствами на уровни:
- Физический.
- Канальный.
- Сетевой.
- Транспортный.
- Сеансовый.
- Представления.
- Прикладной.
Первые три уровня описывают среду передачи данных.
Физический уровень
Скопировано
Физический уровень (physical layer) отвечает за аппаратную реализацию передачи битов информации, то есть обеспечивает работу физических устройств: сетевых адаптеров, концентраторов, повторителей, медиаконвертеров (устройств для преобразования сигнала при переходе из сети с одной средой передачи данных в сеть с другой средой).
На физическом уровне рассматривают среды передачи данных: последовательный или параллельный порт, коаксиальный кабель, витая пара, радиоканал, оптоволокно, спутниковый интернет и т. д. Для передачи данных на физическом уровне существуют свои протоколы, то есть правила, по которым должен быть преобразован и передан сигнал с данными. Вы наверняка встречались с такими протоколами: IEEE 802.15 (Bluetooth), 802.11 Wi-Fi, GSM, DSL.
Канальный уровень
Скопировано
Канальный уровень (data link layer) используется для организации передачи данных по сети между устройствами и для контроля ошибок целостности данных. Если на физическом уровне обеспечивается передача битов информации, то на канальном — передача кадров (фреймов).
Каждый кадр позволяет передать 1446 байтов информации и содержит кроме служебной информации контрольную сумму кадра — хэш-сумма, которая рассчитывается по данным перед передачей и после передачи позволяет проверить сохранность данных. После получения хэш-сумма вновь рассчитывается по пришедшим данным и должна совпасть с той, которая передаётся в кадре. Если совпадает, можно считать, что данные переданы верно.
Сетевой уровень
Скопировано
Сетевой уровень (network layer) позволяет прокладывать путь данных по сети от одного сетевого устройства к другому, то есть определяет маршрут.
Маршрутизация — важная составляющая работы сети. Существуют даже специальные устройства — маршрутизаторы. Наиболее известный разработчикам протокол сетевого уровня — это IP (Internet Protocol). Он позволяет переправить пакеты от одного сетевого устройства к другому. Пакеты — это контейнеры для данных, реализованные уже не на физическом уровне, как кадры, а на программном. Протокол IP не гарантирует соответствия порядка при доставке пакетов изначальному порядку во время отправки, не гарантирует он и то, что пакеты будут доставлены или не будут продублированы. За это отвечают протоколы более высоких уровней.
Создатели интернета спроектировали работу сетевых устройств как распределённой системы. Работу такой системы очень сложно парализовать. Путь внутри сети определяется для каждого пакета отдельно. Такая архитектура системы сложна, но обеспечивает устойчивое взаимодействие устройств, которые соединены любым образом в единую сеть.
Транспортный уровень
Скопировано
Транспортный уровень (transport layer) обеспечивает необходимую целостность данных и выстраивает пакеты в правильный порядок.
Веб-разработчикам чаще всего приходится сталкиваться с протоколами TCP и UDP. TCP используется для данных, целостность и порядок которых должны быть гарантированы. UDP — для данных, целостность которых важна только в конкретный момент времени внутри небольшого блока.
Вы наверняка знакомы с подёргиванием видео или небольшими прерываниями звука, если пользовались потоковыми сервисами (например, YouTube, Apple Music, Spotify и другими), которые используют под капотом в основном UDP. Зато, когда загружается страничка какого-то сайта, потерь нет. Это как раз проверка целостности на уровне протокола TCP.
Сеансовый уровень
Скопировано
Сеансовый уровень (session layer) позволяет организовать сеанс связи между устройствами сети. Это необходимо для работы приложений.
Вы можете знать протокол RPC (Remote Procedure Call Protocol — удалённый вызов процедур), если пользовались API на его основе (например, JSON-RPC, GraphQL или gRPC). Однако более распространённый протокол PPTP (Point-to-Point Tunneling Protocol) менее известен широкой аудитории, при этом используется он, например, для организации работы VPN (Virtual Private Network), обеспечивая туннель между компьютером и локальной сетью, имеющей подключение к интернету.
Уровень представления
Скопировано
Уровень представления (presentation layer) служит для организации преобразования данных (кодирования и декодирования), преобразования протоколов и прочих служебных задач высокого уровня.
С помощью протоколов этого уровня данные в форматах, которые используются на более низких уровнях, преобразуются к формату, который подходит для работы приложений. На этом уровне появляются абстракции представления данных — форматы и структуры данных, что позволяет подготовить данные к пересылке по сети и произвести обратное преобразование.
Например, преобразование изображений от битов, которые путешествуют по сети, к форматам типа JPEG или TIFF происходит именно на этом уровне.
Прикладной уровень
Скопировано
Прикладной уровень (application layer) — уровень приложений, то есть уровень, который обеспечивает максимальный уровень абстракции данных.
Протоколы прикладного уровня вам наверняка знакомы: HTTP, SMTP, POP3, FTP, SIP, TELNET и другие. Использование сетевых служб (доступ к файлам и базам данных, пересылка электронной почты) позволяет приложениям на разных сетевых устройствах взаимодействовать друг с другом.
Другие модели
Скопировано
Безусловно модель OSI очень сложна и не раз подвергалась критике. В то же время эта модель предоставляет наиболее полное представление о том, как передаются данные по сети — от физической среды для передачи данных до особенностей организаций данных в специальные структуры, форматы и системы.
Иногда из модели OSI выделяют несколько уровней или отдельные семейства протоколов, которые могут использоваться для конкретных практических задач на программном уровне, в отрыве от конкретной на уровне аппаратной реализации. Примером могут служить модели DOD, IPX/SPX или AppleTalk. Но это удобно лишь с практической точки зрения: отсечь всё лишнее, чтобы вести разработку программного обеспечения наиболее эффективным способом.
Модель TCP/IP разрабатывалась для описания протоколов передачи данных в распределённых сетях и использовалась при проектировании оборудования и создания программного обеспечения для прообраза современного интернета. Четыре уровня этой модели соответствуют семи уровням модели OSI следующим образом:
- Уровень сетевого доступа TCP/IP (Network Access Layer) включает:
- Физический уровень OSI.
- Канальный уровень OSI.
- Межсетевой уровень TCP/IP (Internet Layer) соответствует:
- Сетевому уровню OSI.
- Транспортный уровень TCP/IP (Transport Layer) соответствует:
- Транспортному уровню OSI.
- Транспортному уровню OSI.
- Прикладной уровень TCP/IP (Application layer) включает:
- Прикладной уровень OSI.
- Представления уровень OSI.
- Сеансовый уровень OSI.
Модель IPX/SPX была разработана изначально для организации сетей в операционной системе DOS. Протоколы IPX для маршрутизации и SPX для передачи данных были широко распространены в 90-х годах прошлого века, а потом уступили пальму первенства стеку TCP/IP, поскольку не обладали достаточной эффективностью при передаче данных в глобальных сетях. Сейчас количество операционных систем, в которых реализован стек протоколов IPX/SPX стремительно сокращается. Модель IPX/SPX использует три уровня, аналогичных модели OSI:
- Сетевой.
- Транспортный.
- Сеансовый.
На практике
Скопировано
Игорь Коровченко советует
Скопировано
Мониторинг пакетов
Скопировано
Существуют специальные утилиты, которые позволяют просматривать пакеты в сетевом трафике, что позволяет разобраться с работой того или иного сетевого устройства. В Linux и большинстве Unix-подобных систем есть консольная утилита tcpdump, есть и кросс-платформенная утилита Wireshark с графическим интерфейсом. Эти две утилиты в основном и используются для мониторинга пакетов.
Wireshark
Скопировано
Утилиту Wireshark можно скачать и установить с официального сайта. Она опенсорсная и имеет графический интерфейс, который состоит из трёх частей (сверху вниз):
- список пакетов, пересылаемых по сети;
- пакет, представленный в текстовом виде;
- пакет, представленный в бинарном виде.
Вы можете получить подробную информацию о каждом пакете, нужно лишь выбрать его из списка. Пакеты можно фильтровать по различным признакам. Существуют фильтры захвата и показа. Первый тип фильтров используется для захвата пакетов в реальном времени, сбора информации и статистики по ним. Фильтры показа (дисплейные фильтры) позволяют оперировать с уже захваченными пакетами. Захват пакетов с выбранного сетевого интерфейса осуществляется с момента нажатия кнопки «Начать захват пакетов» (Start capturing packets) и до нажатия кнопки «Остановить захват пакетов» (Stop capturing packets). Захват пакетов — это сбор информации о пакетах.
В Wireshark есть предустановленные фильтры, но можно формировать и собственные с помощью мастера или вручную в строке фильтрации в самом верху окна. Утилита Wireshark поможет веб-разработчику детально разобраться с пакетами, которые отправляются серверу или приходят от сервера. Если веб-сервер установлен на компьютере с Wireshark, можно посмотреть, как пользователи работают с сайтом.
Мониторинг пакетов также может помочь выявить аномальный трафик и проанализировать безопасность компьютера с точки зрения его работы с сетью. Данные можно сохранять в текстовый файл для последующего анализа в Wireshark или любым другим способом.
Tcpdump
Скопировано
Если графический интерфейс не доступен, например, вы настраиваете удалённый сервер, можно использовать tcpdump. Чтобы просмотреть трафик, надо набрать команду:
tcpdump
tcpdump
Не забывайте, что на некоторых операционных системах, утилиту необходимо запускать от имени администратора.
Пока вы не прервёте работу утилиты сигналом SIGINT
, нажав сочетание клавиш Ctrl C, в терминал будет выводиться информация о пакетах. Прочитайте статью «Управление процессами», чтобы узнать больше о сигналах. Как работать с терминалом описано в статье «Интерфейс командной строки».
Пакеты можно фильтровать. Например, чтобы вывести пакеты, которые приходят на 80-й порт по протоколам транспортного уровня TCP или UDP, нужно выполнить команду:
tcpdump udp port 80 or tcp port 80
tcpdump udp port 80 or tcp port 80
Информацию можно выводить в файл, а не в терминал. Для этого нужно указать соответствующий ключ:
tcpdump -w out.pcap
tcpdump -w out.pcap
Чтобы прочитать этот файл, можно использовать Wireshark, который поддерживает данные в формате PCAP, или тот же tcpdump:
tcpdump -r out.pcap
tcpdump -r out.pcap
Сетевой уровень В модели OSI: универсальное руководство
Чтобы данные были готовы к передаче по сетевому каналу, важно предоставить данные с адресной информацией об источнике и получателе для процесса маршрутизации. Эту задачу выполняет «сетевой уровень модели OSI».
В этой статье «Сетевой уровень в модели OSI» мы рассмотрим части, связанные с работой и функциями сетевого уровня.
Что такое сетевой уровень?
Сетевой уровень является третьим уровнем в модели OSI и отвечает за разбиение сегментов данных на пакеты данных, а также за их повторную сборку на стороне получателя.
Этот уровень также гарантирует, что пакеты передаются по наилучшему маршруту к системе назначения, управляемому интернет-протоколами.
Теперь давайте перейдем к работе сетевого уровня в модели OSI.
Работа сетевого уровня
Поток данных между сетевым уровнем и другими уровнями модели OSI, т.е. для начала сетевой уровень будет получать данные от транспортного уровня модели OSI.
Сетевой уровень обрабатывает эти пакеты данных, интегрируя их с адресами источника и назначения. Он также интегрирует сетевые протоколы для правильной передачи по сетевому каналу на канальный уровень.
Функции сетевого уровня
Для работы сетевого уровня в модели OSI необходимы несколько сетевых функций, а именно:
1. Сетевая адресация
- Сетевой уровень выполняет задачу добавления адреса источника и получателя в заголовок сетевого канала.
- Сетевая адресация выполняется для идентификации устройства, на котором данные передаются по каналу.
2. Межсетевое взаимодействие
- Одной из основных задач сетевого уровня является управление сетевым соединением между несколькими устройствами в канале.
- Эта задача применяет несколько протоколов, доступных на сетевом уровне модели OSI, для стабильного сетевого подключения.
3. Маршрутизация пакетов
- Установление пути маршрутизации для пакета данных является одной из основных функций сетевого уровня в сетевой модели.
- Сетевой уровень отвечает за выбор наиболее подходящего пути маршрутизации из всех доступных сетевых каналов.
4. Обработка пакетов:
- Эта функция сетевого уровня предназначена для обработки данных, полученных от верхних уровней модели OSI.
- Сетевой уровень преобразует полученные данные в пакеты данных для совместного использования по каналу связи.
Теперь давайте начнем с обязанностей сетевого уровня в модели OSI.
Обязанности сетевого уровня
Сетевой уровень отвечает за следующие задачи в сетевом канале в канале связи:
- Отвечает за обработку кратчайшего маршрута для пакета данных в сетевом канале.
- Сетевой уровень преобразует полученные данные в пакеты данных для передачи.
- Обрабатывает протоколы сетевого уровня, отвечающие за поддержание сетевого трафика в канале.
На этом мы подошли к концу статьи «Сетевой уровень в модели OSI». В случае возникновения каких-либо вопросов, сообщите нам об этом в разделе комментариев ниже.
Получите помощь в том, чтобы стать профессионалом, готовым к работе в отрасли, записавшись в уникальную программу Advanced Executive Program в области кибербезопасности. Получите ценную информацию от лидеров отрасли и улучшите свои навыки прохождения собеседований. Запишитесь СЕГОДНЯ!
Заключение
В этой статье «Сетевой уровень в модели OSI» мы узнали о важности интеграции адреса получателя и адреса отправителя в заголовки пакетов данных для бесперебойной передачи по сетевому каналу.
Если вы хотите узнать больше о протоколе сетевого уровня и функциях, связанных с сетевым уровнем, вы можете обратиться к курсу Simplilearn для экспертов по кибербезопасности. После прохождения этого экспертного курса вы познакомитесь с терминами, используемыми на сетевом уровне сетевой модели.
У вас есть вопросы по этой статье «Сетевой уровень в модели OSI». Если да, не стесняйтесь упоминать их в разделе комментариев внизу этой страницы. Наша команда экспертов поможет вам решить ваши вопросы в кратчайшие сроки.
Сетевая архитектура Windows и модель OSI — драйверы Windows
Редактировать
Твиттер
Фейсбук
Электронная почта
- Статья
В этом разделе обсуждается сетевая архитектура Windows и то, как сетевые драйверы Windows реализуют нижние четыре уровня модели OSI.
Для получения общей информации обо всех семи уровнях модели см. модель OSI.
Операционные системы Microsoft Windows используют сетевую архитектуру, основанную на семиуровневой сетевой модели, разработанной Международной организацией по стандартизации (ISO).
Эталонная модель взаимодействия открытых систем (OSI) ISO, представленная в 1978 году, описывает сеть как «ряд протокольных уровней с определенным набором функций, назначенных каждому уровню. Каждый уровень предлагает определенные услуги более высоким уровням, защищая эти уровни от детали того, как сервисы реализованы. Четко определенный интерфейс между каждой парой смежных уровней определяет сервисы, предлагаемые нижним уровнем более высокому, и то, как эти сервисы доступны».
Следующая диаграмма иллюстрирует модель OSI.
Сетевые драйверы Microsoft Windows реализуют четыре нижних уровня модели OSI.
Физический уровень
Физический уровень — это самый нижний уровень модели OSI. Этот уровень управляет приемом и передачей неструктурированного необработанного битового потока через физическую среду. Он описывает электрические/оптические, механические и функциональные интерфейсы с физической средой. Физический уровень несет сигналы для всех более высоких уровней.
В Windows физический уровень реализуется сетевой картой (NIC), ее приемопередатчиком и носителем, к которому подключена NIC.
Канальный уровень отправляет кадры между физическими адресами и отвечает за обнаружение и устранение ошибок, возникающих на физическом уровне.
Канальный уровень подразделяется Институтом инженеров по электротехнике и электронике (IEEE) на два подуровня: управление доступом к среде (MAC) и управление логическим каналом (LLC).
MAC
Подуровень MAC управляет доступом к физическому уровню, проверяет ошибки кадров и управляет распознаванием адресов полученных кадров.
В сетевой архитектуре Windows подуровень MAC реализован в сетевой карте. NIC управляется программным драйвером устройства, называемым драйвером минипорта. Windows поддерживает несколько вариантов драйверов минипорта, включая драйверы минипорта WDM, диспетчеры вызовов минипорта (MCM) и промежуточные драйверы минипорта.
ООО
Подуровень LLC обеспечивает безошибочную передачу кадров данных от одного узла к другому. Нижний уровень LLC устанавливает и завершает логические связи, управляет потоком кадров, упорядочивает кадры, подтверждает кадры и повторно передает неподтвержденные кадры. Нижний уровень LLC использует подтверждение кадра и повторную передачу, чтобы обеспечить практически безошибочную передачу по каналу на уровни выше.
В Windows подуровень LLC реализован программным драйвером, известным как драйвер протокола.
Сетевой уровень
Сетевой уровень управляет работой подсети. Этот уровень определяет физический путь, по которому должны проходить данные, исходя из следующего:
Сетевые условия
Приоритет обслуживания
Другие факторы, такие как маршрутизация, управление трафиком, фрагментация и повторная сборка кадров, преобразование логических адресов в физические и учет использования
Сетевой уровень реализуется драйвером протокола.
Транспортный уровень
Транспортный уровень гарантирует, что сообщения доставляются без ошибок, последовательно, без потерь или дублирования. Этот уровень освобождает протоколы более высокого уровня от заботы о передаче данных своим партнерам.
Минимальный транспортный уровень требуется в стеках протоколов, которые включают в себя надежную сеть или подуровень LLC, обеспечивающий возможность виртуального канала.