Что обеспечивает протоколы сетевого уровня
Перейти к содержимому

Что обеспечивает протоколы сетевого уровня

  • автор:

Сетевые протоколы: базовые понятия и описание самых востребованных правил

Рассказываем о самых часто используемых правилах взаимодействия устройств в сети.

Эта инструкция — часть курса «Как работают сетевые протоколы».

Смотреть весь курс

Изображение записи

В мире существует более 7 000 протоколов, и их число продолжает расти. Рассказываем о самых часто используемых правилах взаимодействия устройств в сети.

Понятие протокола сети

Сетевой протокол — это набор правил, определяющий принципы взаимодействия устройств в сети. Чтобы отправка и получение информации прошли успешно, все устройства-участники процесса должны принимать условия протокола и следовать им. В сети их поддержка встраивается или в аппаратную часть (в «железо»), или в программную часть (в код системы), или и туда, и туда.

Для взаимодействия протоколов между собой существует модель OSI, или Open Systems Interconnection. Дословно название переводится как «взаимодействие открытых систем».

OSI — эталонная модель взаимодействия устройств в сети

Модель OSI — это модель, позволяющая разным системам связи коммуницировать между собой по общепринятым стандартам. Ее можно сравнить с английским, то есть глобальным, универсальным языком в мире сетей.

Модель основана на принципе разделения коммуникационной системы на семь отдельных уровней. Подробнее о ней вы можете прочитать здесь.

семь уровней модели OSI

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

Модель OSI является эталонным стандартом, но на данный момент она устарела, поскольку современные протоколы работают сразу на нескольких уровнях модели OSI. На смену модели OSI пришла модель TCP/IP, на основе которой работает большая часть устройств в современном мире.

TCP/IP — модель, на которой работает сеть Интернет

Модель TCP/IP помогает понять принцип работы и взаимодействия узлов в сети Интернет. Ее название включает в себя два основных протокола, на которых построен интернет. TCP/IP расшифровывается как Transmission Control Protocol/Internet Protocol, или протокол управления передачей (данных)/интернет-протокол.

Модель используется во всем современном интернете, новые сетевые протоколы разрабатываются с опорой на модель TCP/IP. Например, подключаясь к сайту Selectel, вы используете протоколы IP, TCP и HTTPS, которые работают в рамках упомянутой модели.

сравнение моделей

Подробнее о модели TCP/IP можно прочитать в блоге.

Далее мы рассмотрим основные протоколы межсетевого, транспортного уровней, а также уровня приложений. Именно с ними мы сталкиваемся чаще всего, анализируя какие-либо проблемы в сети или на сервере.

Протоколы транспортного уровня: краткое описание

Интернет-протокол и IP-адреса

Internet Protocol (IP) — это наиболее простой протокол, объединивший отдельные компьютеры в глобальную сеть. Главной его задачей является маршрутизация дейтаграмм — определение маршрута следования пакетов по узлам сети. Каждое устройство — ваш ПК, принтер и т.д. — имеет IP-адрес, чтобы данные попадали к нужному адресату. Так, например, отправленный на печать файл не окажется вместо принтера в личном ПК вашего коллеги.

В качестве минусов протокола можно отметить низкую надежность. Он не определяет факт передачи пакета и не контролирует целостность данных. IP просто осуществляет пересылку.

Для пересылки пакетов необходимо определить, на какой порт отправить пакет. Для этого протокол имеет свою систему адресации. В качестве адресов выступает 32-битные (IPv4) или 128-битные (IPv6) адреса. Перед отправкой пакета в него добавляются header (заголовок) и payload (данные для доставки).

IPv4 является 32-разрядной системой, состоящей из четырех разделов (123.123.123.123). Он поддерживает до 4 294 967 296 адресов и является протоколом по умолчанию. Основным его преимуществом является простота. В недостатках — ограниченное адресное пространство, также называемое «исчерпанием адресов».

IPv6, напротив, — 128-битное адресное пространство, которое обеспечивает приблизительно 2^128 степени адресов. Формат записи состоит из восьми разделов, в каждый из которых записывается четыре 16-ричных цифры. Недостаток протокола — в сложности сетевого администрирования. При аренде сервера или виртуальной машины в Selectel выдается IPv4, однако можно запросить и IPv6-адреса, в облаке на базе VMware выдаются только IPv4-адреса.

Один из основных протоколов, который работает поверх IP, — это протокол TCP, из-за чего его часто обозначают как TCP/IP. Но это не единственный протокол, который является частью интернет-протокола.

TCP — протокол обмена сообщениями в сети Интернет

TCP помогает устройствам в сети обмениваться сообщениями. Он работает на четвертом, транспортном, уровне модели OSI.

Для передачи информации происходит дробление исходного файла на части, которые передаются получателю, а далее собираются обратно. Например, человек запрашивает веб-страницу, далее сервер обрабатывает запрос и высылает в ответ HTML-страницу при помощи протокола HTTP. Он, в свою очередь, запрашивает уровень TCP для установки требуемого соединения и отправки HTML-файла. TCP конвертирует данные в блоки, передавая их на уровень TCP пользователя, где происходит подтверждение передачи.

Свойства протокола TCP:

структура пакета

  1. Система нумерации сегментов (Segment Numbering System). TCP отслеживает передаваемые или принимаемые сегменты, присваивая номера каждому из них. Байтам данных, которые должны быть переданы, присваивается определенный номер байта, в то время как сегментам присваиваются порядковые номера.
  2. Управление потоком. Эта функция ограничивает скорость, с которой отправитель передает данные. Это делается для обеспечения надежности доставки. Получатель постоянно сообщает отправителю о том, какой объем данных может быть получен.
  3. Контроль ошибок. Данная функция реализуется для повышения надежности путем проверки байтов на целостность.
  4. Порт источника и порт назначения. Протокол TCP использует специальные порты для связи различных протоколов. Например протокол SSH использует 22й порт, HTTP — 80, HTTPS — 443, Gopher — 70. Все порты делятся на три диапазона — общеизвестные (0—1023), зарегистрированные (1024—49151) и динамические (49152—65535).

UDP — аналог TCP: описание отличий в поведении протокола в сети

В отличие от протокола ТСР User Datagram Protocol обеспечивает передачу данных без получения подтверждения от пользователя о результате действия. Благодаря этому достигается большая скорость работы и передачи данных в ущерб надежности и безопасности.

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

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

заголовок UDP

Протокол UDP любят злоумышленники при организации DDOS — или DOS-атак. Из-за того, что данный протокол не требует подтверждения от сервера, открывается возможность просто «залить» сервер запросами. Стандартная атака подразумевает отправку большого количества дейтаграмм. Это заставляет сервер отвечать на каждый из них, расходуя вычислительные мощности.

SCTP — протокол передачи управления потоком

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

SCTP аналогичен протоколам UDP и TCP, которые обеспечивают функции транспортного уровня для некоторых интернет-приложений. Так как преимущество протокола SCTP — в быстром переключении между интерфейсами, на него переходят только компании, для которых критична недоступность приложений. SCTP работает поверх бесконтактной пакетной сети, такой как IP, и поддерживает передачу данных в случаях с одним или несколькими IP.

RTP — транспортный протокол реального времени

Real-time Transfer Protocol — это протокол, который используется при передаче потокового аудио и видео и применяется при передаче голоса преимущественно в IP-телефонии. RTP применяется в совокупности с протоколом управления RTCP. Когда RTP транслирует медиа, RTCP применяется при анализе статистик QoS (Quality of Service) и обеспечивает синхронизацию разных потоков. RTP отправляется и принимается с помощью четных номеров портов, а RTCP использует нечетные номера.

Также протокол считают главным стандартом, применяемым при передаче аудио и видео по IP-сети. Поскольку RTP может осуществлять ее нескольким конечным адресатам одновременно при помощи многоадресной IP-рассылки.

Протоколы межсетевого уровня: краткое описание

ICMP — протокол управляющих сообщений в сети

Задача протокола — диагностика проблем при взаимодействии устройств. Он определяет, достигли ли данные места назначения или нет.

Основная цель ICMP — сообщать об ошибках. Если какие-либо данные не попали по назначению, ICMP генерирует ошибки для обмена с отправляющим устройством. Например, если объем передаваемых данных слишком велик для маршрутизатора, маршрутизатор отбросит пакет и отправит ICMP-сообщение исходному источнику данных.

Как и в случае UDP, протокол ICMP можно использовать для сетевых атак, таких как ICMP flood и ping of death, где главный прием — генерация большого количества ICMP-сообщений.

OSPF — протокол маршрутизации состояния канала сети

Open Shortest Path First используется для поиска наилучшего пути между исходным и конечным маршрутизатором. Работает на межсетевом уровне модели OSI.

После настройки OSPF будет анализировать соседние маршрутизаторы и собирать все доступные данные о состоянии канала для построения топологической карты всех доступных путей в своей сети. Затем он сохранит информацию в своей базе данных топологии, также известной как База данных состояния канала (LSDB).

На основе собранной информации он вычислит наилучший кратчайший путь к каждой доступной подсети/сети, используя алгоритм под названием Shortest Path First (SFP).

Протоколы прикладного уровня: краткое описание

FTP — протокол передачи данных в сети

FTP — это клиент-серверный протокол, который использует два канала для передачи данных: командный, управляющий процессом передачи, и транспортный, непосредственно передающий информацию. Для FTP-протокола устройство конечного пользователя называется локальным хостом, а второй компьютер — удаленным хостом, играющим роль сервера. Для работы протокола требуется его правильная настройка со стороны хоста и специальный клиент на локальном хосте.

Описание работы протокола в сети Интернет

Пользователю нужно войти на FTP-сервер. Здесь нужно учитывать, что некоторые серверы разрешают доступ к части или всем своим данным без авторизации. Это называется «анонимным FTP». При этом файлы с сервера можно будет только передавать на компьютер клиента.

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

FTP-сессии работают в двух режимах — активном и пассивном:

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

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

DNS — справочник сети Интернет

Браузеры взаимодействуют между собой через IP-адреса. Люди, пытаясь подключиться к сайту, используют его доменное имя — например, https://selectel.ru/. Domain Name System преобразует домены в IP-адреса, чтобы сделать возможной загрузку интернет-ресурса через браузер. Каждому устройству в сети назначается свой IP-адрес, который используется другими устройствами для подключения к нему, а DNS-сервер позволяет людям не запоминать их.

На данный момент существуют четыре основных DNS-сервера, которые участвуют в загрузке веб-страниц:

  • DNS recursor — своеобразный справочник, отвечающий за прием запросов от компьютеров пользователей, например, приложений браузеров;
  • Root nameserver, или корневой сервер, является первым в процессе конвертации имени хоста в IP-адрес и позволяет получить список DNS-серверов.
  • TLD nameserver — следующий шаг при поиске IP; хранит информацию про все доменные имена с общим расширением (.ru, .com и т.д.);
  • Authoritative nameserver дает окончательные ответы на запросы о DNS.

Бесплатный DNS-хостинг от Selectel

Размещайте домены и записи на наших DNS-серверах. Запуск за несколько минут.

HTTP(S) — протокол передачи гипертекста

HTTP является основой интернета и используется для загрузки веб-страниц с использованием гипертекстовых ссылок. Относится к прикладным протоколам и работает поверх других уровней стека сетевых протоколов.

Обычно принцип передачи данных по протоколу HTTP включает в себя компьютер клиента (например, ваш ПК), отправляющий запрос на сервер, который затем возвращает ответ. Каждый HTTP-запрос включает в себя ряд закодированных данных, содержащих различную информацию, в том числе:

  • версию HTTP,
  • URL-адрес,
  • метод HTTP-запроса — указание на ожидание запроса от сервера (например, PUT- и GET-запросы),
  • заголовок — он передает основную информацию о запросе и содержит пары ключ-значение,
  • тело запроса (опционально, это любая отправляющаяся информация).

После получения запроса сервер должен дать ответ. В его стандартную структуру входят: код состояния, заголовок и тело ответа.

Код состояния HTTP-запроса — это трехзначные коды, которые, как правило, указывают на успешность его выполнения. Они разбиваются на пять основных блоков:

  1. 1xx* Информация (Informational),
  2. 2хх Успешность выполнения (Success),
  3. 3хх Перенаправление (Redirection),
  4. 4xx Ошибка клиента (Client Error),
  5. 5xx Ошибка сервера (Server Error),

*ХХ обозначают цифры от 00 до 99.

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

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

SSH — основное средство подключения к серверам

SSH, или Secure Shell, — это защищенный протокол, который используется как основное средство подключения к серверам. С помощью него при подключении к серверу пользователь входит в уже существующую учетную запись, где выполняются все отправленные команды.

Данное соединение реализовано по схеме «клиент-сервер». Для его создания на удаленном устройстве должна быть запущена программа, называемая демоном. Демон выполняет подключение к определенному сетевому порту, проверяет подлинность запросов на подключение и создает соответствующую среду, если пользователь вводит правильные учетные данные. Также со стороны клиента должно быть установлено соответствующее ПО.

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

Устаревшие протоколы: Telnet, Gopher, FTP

На сегодняшний день существует более 7 000 тысяч различных протоколов. Сеть постоянно развивается, поэтому некоторые протоколы устаревают — например, Gopher, FTP, Telnet. Последний рассмотрим подробнее.

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

Заключение

В данной статье мы рассмотрели популярные протоколы взаимодействия устройств и программ в сети. В реальной жизни на одном только вашем ПК используются сотни протоколов, поскольку каждый выполняет определенные задачи. Узнать о задачах и принципах работы протокола можно в специальном документе, который называется RFC-стандартом.

�� Протокол сетевого уровня — IP

Протокол IP — основной протокол стека протоколов TCP/IP и основной протокол сетевого уровня. Именно он отвечает за передачу информации по сети и между отдельными сетями (подсетями). В его основе заложен дейтаграммный метод, который не гарантирует доставку пакета.

Функции протокола IP определены в стандарте RFC-791 следующим образом:

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

Протокол IP является ненадежным протоколом без установления соединения. Это означает, что протокол IP не подтверждает доставку данных, не контролирует целостность полученных данных и не производит операцию квитирования (handshaking) – обмена служебными сообщениями, подтверждающими установку соединения с узлом назначения и его готовность к приему данных.

Протокол IP обрабатывает каждую дейтаграмму как независимую единицу, не имеющую связи ни с какими другими дейтаграммами в Интернет.

После того, как дейтаграмма отправляется в сеть, ее дальнейшая судьба никак не контролируется отправителем (на уровне протокола IP). Если дейтаграмма не может быть доставлена, она уничтожается. Узел, уничтоживший дейтаграмму, может оправить по обратному адресу ICMP-сообщение о причине сбоя.

Гарантию правильной передачи данных предоставляют протоколы вышестоящего уровня (например, протокол TCP или сервисы прикладного уровня), которые имеют для этого необходимые механизмы.

Одна из основных задач, решаемых протоколом IP, – маршрутизация дейтаграмм, т.е. определение пути следования дейтаграммы от одного узла сети к другому на основании адреса получателя.

Общий сценарий работы модуля IP на каком-либо узле сети, принимающего дейтаграмму из сети, не зависимо от конкретной реализации, то-есть операционной системы, таков:

  • с одного из интерфейсов уровня доступа к среде передачи (например, с Ethernet-интерфейса) в модуль реализующий протокол IP поступает дейтаграмма;
  • модуль IP анализирует заголовок дейтаграммы;
  • если пунктом назначения дейтаграммы является данный компьютер:
    • если дейтаграмма является фрагментом большей дейтаграммы, ожидаются остальные фрагменты, после чего из них собирается исходная большая дейтаграмма;
    • из дейтаграммы извлекаются данные и направляются на обработку одному из протоколов вышележащего уровня (какому именно – указывается в заголовке дейтаграммы);
    • если ретрансляция разрешена, то-есть узел выполняет маршрутизирующие функции, то определяются следующий узел сети, на который должна быть переправлена дейтаграмма для доставки ее по назначению, и интерфейс нижнего уровня, после чего дейтаграмма передается на нижний уровень этому интерфейсу для отправки; при необходимости может быть произведена фрагментация дейтаграммы;
    • если же дейтаграмма ошибочна или по каким-либо причинам не может быть доставлена, она уничтожается; при этом, как правило, отправителю дейтаграммы отсылается ICMP-сообщение об ошибке.

    При получении данных от вышестоящего уровня для отправки их по сети IP-модуль формирует дейтаграмму с этими данными, в заголовок которой заносятся адреса отправителя и получателя (также полученные от транспортного уровня) и другая информация; после чего выполняются следующие шаги:

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

    Формат заголовка дейтаграммы IP (v4):

     
    Октет 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    0 Версия IHL Тип обслуживания Длина пакета
    4 Идентификатор Флаги Смещение фрагмента
    8 Время жизни (TTL) Протокол Контрольная сумма заголовка
    12 IP-адрес отправителя
    16 IP-адрес получателя
    20 Параметры (от 0 до 10-и 32-х битных слов)
    Данные
    • Версия — для IPv4 значение поля должно быть равно 4.
    • IHL — (Internet Header Length) длина заголовка IP-пакета в 32-битных словах (dword). Именно это поле указывает на начало блока данных (англ. payload — полезный груз) в пакете. Минимальное корректное значение для этого поля равно 5.
    • Тип обслу́живания (Type of Service, акроним TOS) — байт, содержащий набор критериев, определяющих тип обслуживания IP-пакетов. Поле в заголовке пакета IPv4, которое с годами приобретало различные цели, и описывалось почти в пяти RFC. В настоящее время TOS поле имеет 6 bit поля DiffServ Code Point (DSCP) и 2-bit поля Explicit Congestion Notification.Тип обслуживания позволяет приоритизировать IP-трафик на сетевых маршрутизаторах, с целью обеспечения высокого качества передачи данныхБайт побитно (0 – старший, 7 – младший):
      • 0-2 — приоритет (precedence) данного IP-сегмента
      • 3 — требование ко времени задержки (delay) передачи IP-сегмента (0 — нормальная, 1 — низкая задержка)
      • 4 — требование к пропускной способности (throughput) маршрута, по которому должен отправляться IP-сегмент (0 — низкая, 1 — высокая пропускная способность)
      • 5 — требование к надежности (reliability) передачи IP-сегмента (0 — нормальная, 1 — высокая надежность)
      • 6-7 — ECN — явное сообщение о задержке (управление IP-потоком).

      �� Похожие статьи на сайте

      • Протокол обмена управляющими сообщениями ICMP
      • DSL — высокоскоростная цифровая линия до пользователя (Digital Subscriber Line)
      • Протокол транспортного уровня — UDP
      • Основные сведения о DNS. Зоны и серверы DNS.
      • Общие принципы функционирования NAT
      • Протокол сетевого уровня — IP
      • Сетевой уровень модели OSI. Общие понятия.
      • Основные понятия DHCP
      • Виртуальная локальная сеть — VLAN (Virtual Local Area Network)
      • Устройства канального уровня модели OSI (L2)
      • Канальный уровень модели OSI. Общие понятия.
      • Физический уровень модели OSI
      • Что такое QoS?
      • Файлы и записи зон DNS
      • Открытые DNS сервера
      • Основные сведения о DNS. Введение.
      • Коды ответа сервера по протоколу HTTP
      • Модели OSI и TCP/IP
      • Протоколы ARP и RARP
      • Основные понятия WWW
      • Что такое CSS?
      • WebDAV

      Сетевая модель OSI для чайников: устройство, уровни, протоколы

      Семиуровневая модель OSI в настоящее время широко известна, как основа для построения сетевого взаимодействия во всех компьютерных системах. Несмотря на десятилетия развития ИТ и Интернета, эта технология все еще остается крайне актуальной.

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

      Содержание:

        • Что такое модель OSI
        • Как работает модель OSI
        • Уровни модели OSI
        • Преимущества модели OSI
        • Недостатки модели OSI
        • Модель OSI и защита от DDoS

        Что такое модель OSI

        Модель взаимодействия открытых систем OSI (Open Systems Interconnection) — концептуальная модель, которая выстраивает логическую схему взаимодействия между компьютерными системами, которые могут беспрепятственно взаимодействовать с другими подобными системами.

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

        История появления

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

        Модель OSI разрабатывали исследователи из Франции, Великобритании и США, объединенные в 2 крупных проекта — Международную организацию по стандартизации или IOS (International Organization for Standardization) и Международный консультативный комитет по телеграфу и телефону или CCITT (International Telegraph and Telephone Consultative Committee).

        Каждый из этих органов подготовил документ, в котором делась попытка стандартизировать то, как протоколы компьютерных сетей будут формироваться в будущем. В 1983 году эти документы объединили, а в 1984 году Международная организация по стандартизации (ISO) опубликовала их в виде единого фреймворка под названием Базовая эталонная модель взаимодействия открытых систем (Basic Reference Model for Open Systems Interconnection) или сокращенно OSI.

        Модель OSI предоставила стандартизированный язык для сетевого анализа и коммуникации, позволяющий различным устройствам и сетям беспрепятственно передавать данные. Он стал признанным международным стандартом (ISO 7498) на многие последующие годы, соперничающим по популярности с главным отраслевым стандартом среди производителей сетевого оборудования — моделью TCP/IP.

        Различия моделей OSI и TCP/IP

        Основной альтернативой эталонной модели OSI является модель TCP/IP, разработанная специалистами Министерства обороны США в 1970-х годах. Свое название модель TCP/IP получила по двум основным используемым в ней протоколам — TCP или Transmission Control Protocol («Протокол управления передачей») и IP или Internet Protocol («Протокол Интернета»).

        Главное различие между моделями TCP/IP и OSI заключается в количестве уровней. OSI включает семь уровней, тогда как TCP/IP объединяет уровни 5-7 OSI в один прикладной уровень, а уровни 1-2 OSI в уровень сетевого интерфейса.

        Модель TCP/IP точно моделирует работу коммуникационных протоколов, поэтому хорошо подходит для общедоступных сетей. OSI — гораздо более общая модель. Она не относится к каким-либо конкретным протоколам, а описывает сетевое взаимодействие в целом.

        TCP/IP больше ориентирована на практические операции — все ее уровни используются соответствующими приложениями. В модели OSI приложения могут использовать только несколько уровней, а для передачи данных критически важны лишь уровни 1-3.

        Как работает модель OSI

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

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

        Для любого начального числа N, представляющего уровень, который передает сообщение, модель OSI может объяснять путь данных с помощью пары ключевых понятий:

        • Блоки данных протокола (Протокольные блоки данных) или PDU (Protocol Data Units) — одиночные блоки информации, передаваемые межу равнозначными объектами сети. Они состоят из протоколо-зависимых и пользовательских данных, включая полезную нагрузку (Protocol body / payload), заголовки (Protocol header) и метки конца или трейлеры (Protocol trailer).
        • Блоки сервисных данных или SDU (Service Data Units) отражают содержание блоков PDU смежного верхнего уровня при их переносе на более низкий уровень сети. Их содержание эквивалентно полезной нагрузке.

        При каждом последующем переходе с некоторого уровня N на некоторый уровень N-1 PDU уровня N становится новым SDU N-1. Эта полезная нагрузка помещается в PDU уровня N-1 с соответствующими заголовками и трейлерами. На противоположном конце данные проходят вверх по цепочке, разворачиваясь на каждом соответствующем этапе, пока не станут просто полезной нагрузкой, которую может использовать соответствующее устройство уровня N.

        Уровни модели OSI и их функции

        Модель OSI делит сеть на семь отдельных этапов или «уровней абстракции», объединенных общим стеком протоколов (о которых подробнее поговорим ниже). При этом, содержимое каждого уровня составляют не определенные программы, а общие руководства и правила, упрощающие разработку и эксплуатацию сетевых технологий.

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

        Уровни в модели OSI описывают этапы прохождения идеализированного пакета данных через систему связи. Обычно данные передаются от Прикладного уровня L-7 OSI вниз на Физический уровень L-1 OSI, а затем обратно вверх на уровень L-7 OSI, где их могут использовать получатели. Каждый этап в семиуровневой модели имеет дело со «слоями» непосредственно выше и ниже, создавая аккуратную цепочку действий.

        Кстати. Помимо разделения на семь основных сетевых уровней в модели OSI существует еще одна группировка — на уровни среды (Media Layers) и уровни хоста (Host Layers). В первую группу входят уровни с L-1 по L-3, которые предназначены для передачи данных с помощью разнообразных сетевых устройств, типа маршрутизаторов, сетевых мостов и кабелей. Во вторую включены уровни с L-4 по L-7, отвечающие за передачу информации непосредственно на устройствах — серверах, компьютерах или мобильных.

        Прикладной уровень L-7 OSI

        Назначение: обеспечить доступ пользователя к ресурсам сети.
        Формат передачи данных (PDU): сообщение.
        Основные протоколы Прикладного уровня: Hypertext Transfer Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), Telnet, Secure Shell (SSH), File Transfer Protocol (FTP), Simple Network Management Protocol (SNMP), Domain Name System (DNS).

        На Прикладном уровне (Application Layer) пользователи взаимодействуют с данными. L-7 позволяет принимать данные для использования программным обеспечением или выполнять подготовку перед отправкой данных по цепочке уровней модели OSI.

        Логический уровень не включает все приложения на границе сети – почтовые клиенты или приложения для видеоконференций, например, не входят в L-7 OSI. Вместо этого Прикладной уровень модели OSI включает в себя программное обеспечение, которое позволяет работать сетевым приложениям.

        Важные функции L-7 OSI
        • Работа с протоколами и инструментами форматирования данных.
        • Сетевой виртуальный терминал.
        • FTAM (File Transfer Access & Management) — доступ к передаче файлов и управление ими.
        • Почтовые службы.
        • Службы каталогов.

        Уровень представления L-6 OSI

        Назначение: перевод, шифрование и сжатие данных.
        Формат передачи данных (PDU): сообщение.
        Основные протоколы Уровня представления: MPEG Media Transport Protocol (MMTP), Asymmetric Synchronous Channel Hopping (ASCH), Multipurpose Internet Mail Extensions (MIME), Transport Layer Security (TLS).

        Уровень представления (Presentation Layer) обрабатывает данные до того, как их сможет использовать Прикладной уровень OSI. Этот слой «представляет» необработанные данные — превращает его из битового потока во что-то, что приложения могут декодировать и использовать.

        Уровень представления важен в контексте безопасности. На этом этапе данные шифруются и сжимаются (или расшифровываются и распаковываются), что обеспечивает их безопасную передачу. Сжатие позволяет сетям передавать больше данных на более высоких скоростях.

        Важные функции L-6 OSI
        • Преобразование данных. Например, из ASCII в EBCDIC.
        • Шифрование/дешифрование данных с помощью значения ключа.
        • Сжатие — уменьшение числа битов, передаваемых по сети.

        Сеансовый уровень L-5 OSI

        Назначение: открытие, управление и закрытие сессии.
        Формат передачи данных (PDU): сообщение.
        Основные протоколы Сеансового уровня: Network Basic Input/Output System (NetBIOS) и Session Announcement Protocol (SAP).
        Устройство: сетевой шлюз.

        Когда два устройства «договариваются» о создании сеанса при передаче данных в компьютерной сети, L-5 OSI определяет правила того, как эти данные будут передаваться и аутентифицироваться. Он истекает, когда передача завершена.

        Сеансовый уровень (Session Layer) отвечает за начало связи между устройствами. Он определяет, как долго длятся сеансы, и проверяет точность передачи данных. Обычно это связано с использованием контрольных точек данных или точек синхронизации данных. Контрольные точки разбивают данные на более мелкие сегменты. Каждый сегмент проверяется на достоверность перед закрытием сеанса.

        Важные функции L-5 OSI
        • Обеспечение эффективной передачи данных с минимальным использованием ресурсов.
        • Синхронизация данных с помощью контрольных точек.
        • Контроллер диалога — две системы могут начать связь в полудуплексном или дуплексном режиме.
        • Обеспечение безопасности — сеансы должны быстро закрываться и включать системы аутентификации для идентификации источников данных и получателей.
        Инструменты Сеансового уровня OSI

        Во многих приложениях Сеансовый уровень объединен с Уровнем представления и Уровнем приложений — все они управляются как единое целое. Поэтому не существует общих инструментов для Сеансового уровня или любого из более высоких уровней.

        Вместо этого пользователи могут применять инструментарий приложений. Например, FTP-приложение FileZilla предоставляет журналы и меню отладки, помогающие решать проблемы с FTP-подключением на уровне сеанса.

        Транспортный уровень L-4 OSI

        Назначение: передача данных от процесса на исходном компьютере к процессу на целевом компьютере.
        Формат передачи данных (PDU): фрагмент.
        Основные протоколы Транспортного уровня: Transmission Control Protocol (TCP) и User Datagram Protocol (UDP).
        Устройство: сетевой брандмауэр (файрвол).

        Транспортный уровень модели OSI (Transport Layer) включает в себя настройку прямой связи между подключенными устройствами. Он должен обеспечивать процесс непрерывности состояния при передаче данных, чтобы они отправлялись и поступали в одном и том же состоянии.

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

        Важные функции L-4 OSI
        • Сегментация и повторная сборка — L-4 OSI принимает сообщение от вышестоящего (Сеансового) уровня, разбивая его на более мелкие блоки. Каждый из созданных сегментов имеет связанный с ним заголовок. В пункте назначения фрагменты повторно собираются в сообщение.
        • Адресация точки обслуживания — для обеспечения доставки сообщения нужному процессу заголовок L-4 OSI включает тип адреса, называемый адресом точки обслуживания (service point address) или адресом порта (port address).
        • Контроль ошибок с помощью оценки пакетов данных на принимающем устройстве. Если данные поступили в ненадлежащем качестве, сервисные службы L-4 OSI запросят повторную передачу.
        Инструменты Транспортного уровня OSI

        Для Linux не существует универсального инструмента мониторинга транспортного уровня. Вместо этого существуют отдельные решения для определенных протоколов. Для TCP существует утилита tcptrack, отображающая список текущих сеансов. Инструмент не предустановлен, поэтому для использования tcptrack следует установить с помощью команды apt:

        sudo apt install tcptrack

        Чтобы увидеть все активные соединения интерфейса, нужно использовать параметр «-i» и имя интерфейса.

        sudo tcptrack -i eth0

        Еще один полезный инструмент для L-4 OSI — анализатор пакетов tcpdump, позволяющий осуществлять мониторинг исходящих и входящих пакетов на определенном интерфейсе. Атрибут «-i» указывает интерфейс для прослушивания. Интерфейс eth0 используется по умолчанию. tcpdump может также отслеживать пакеты UDP на более низких уровнях, чем Транспортный, а другой вариант позволяет пользователям просматривать заголовки Ethernet.

        sudo tcpdump

        Сетевой уровень L-3 OSI

        Назначение: передача данных с одного хоста на другой в разных сетях.
        Формат передачи данных (PDU): пакет.
        Основные протоколы Сетевого уровня: Internet Protocol (IP), Border Gateway Protocol (BGP), Open Shortest Path First (OSPF), Multiprotocol Label Switching (MPLS), Internet Control Message Protocol (ICMP), Internet Group Management Protocol (IGMP).
        Устройство: маршрутизатор (роутер).

        Сетевой уровень OSI (Network Layer) отвечает за передачу данных между подключенными устройствами. Это делает его объектом повышенного внимания сетевых инженеров и одним из наиболее важных узлов в модели OSI.

        Роль L-3 OSI заключается в создании и поддержании стабильных сетевых соединений. Данные разбиваются на пакеты, готовые к передаче по сети. Затем эти пакеты объединяются на принимающей стороне передачи, восстанавливая исходные данные.

        Важные функции L-3 OSI
        • Маршрутизация — аппаратные и программные средства на Сетевом уровне OSI определяют оптимальный путь передачи данных между различными сетями.
        • Логическая адресация — Сетевой уровень определяет схему адресации для каждого уникального устройства в сети, размещая IP-адреса отправителя и получателя в заголовке.
        Инструменты Сетевого уровня OSI

        Команда ip очень полезна при проблемах сетевого уровня. Например, варианнт команды ip addr show отображает IP-адрес, связанный с каждым интерфейсом:

        ip addr show

        Команды ping и traceroute могут определить, достижим ли пункт назначения, а также отследить путь, по которому пакет идет к нему. Их можно использовать либо с именем маршрутизатора, либо с IP-адресом.

        ping wikipedia.org

        Чтобы просмотреть содержимое системной таблицы маршрутизации, можно использовать команду ip route show .

        ip route show

        Также при построении маршрутизации могут быть полезны команды ip neighbour show (список записей о соседних хостах) и ip nexthop show (куда будут отправлены данные при следующем переходе).

        Канальный уровень L-2 OSI

        Назначение: организовывать биты в кадры для обеспечения локальной передачи данных.
        Формат передачи данных (PDU): кадр.
        Основные протоколы Канального уровня: Rapid Assessment of Physical Activity (RAPA), Point-to-Point Protocol (PPP), Frame Relay (FR), Asynchronous Transfer Mode (ATM), оптоволоконный кабель.
        Устройство: сетевой мост (переключатель).

        Уровень канала передачи данных (Data Link Layer) или Канальный уровень модели OSI тесно связан с Сетевым уровнем, но обычно относится к связи между локально подключенными устройствами. Например, L-2 OSI может моделировать соединения между локальными рабочими станциями и маршрутизаторами.

        На Канальном уровне данные принимаются и разбиваются на кадры. Кадры подходят для локальной передачи и взаимодействуют с двумя подуровнями уровня L-2 OSI:

        1. Уровень управления доступом к среде или MAC (Media Access Control) — подключает соответствующие локальные устройства и управляет скоростью потока в сети.
        2. Уровень управления логическим каналом или LLC (Logical Link Control) — устанавливает логическую основу для локальной передачи данных.

        Канальный уровень регулирует потоки между локальными устройствами, аналогично Сетевому. Поэтому два уровня L-3 и L-2 OSI часто анализируются вместе при оценке сетевых проблем.

        Важные функции L-2 OSI
        • Кадрирование — функция, дающая возможность передать определенный набор данных с помощью прикрепления заданных комбинаций битов к началу и концу кадра.
        • Физическая адресация — L-2 OSI добавляет к заголовкам созданных кадров MAC-адреса отправителя и/или получателя.
        • Мехаизм контроля ошибок — при обнаружении ошибки L-2 OSI повторяет передачу содержащих их кадров.
        • Управление скоростью передачи данных — чтобы обеспечить доставку данных в неповрежденном виде, L-2 OSI равномерно распределяет потоки информации, в соответствии с возможностями принимающей и отправляющей стороны.
        • Контроль доступа — эта функция L-2 OSI определяет, какое из устройств, одновременно использующих канал связи имеет приоритет управления в данное время.
        Инструменты Канального уровня OSI

        Для полного анализа кадров следует использовать инструменты захвата пакетов, такие как Wireshark. Однако многие команды Linux позволяют пользователям просматривать статистику интерфейса на предмет данных пакетов и ошибок. Например, команда ip link отображает информацию о сетевых интерфейсах на сервере. Выходные данные команды включают состояние, MTU и MAC-адрес канала.

        ip link show

        Еще один полезный инструмент для L-2 OSI — пакетная утилита nast, которую можно использовать для анализа трафика локальной сети. Она не предустановлена, поэтому пользователя сперва потребуется установить nast с помощью команды apt :

        sudo apt install nast

        Далее нужно запустить команду с правами суперпользователя и указать интерфейс для прослушивания с помощью параметра «-i»:

        sudo nast -i eth0

        Чтобы просмотреть конфигурацию и возможности каждого сетевого интерфейса, нужно использовать команду:

        ip netconf

        Физический уровень L-1 OSI

        Назначение: предоставлять механические и электрические средства для передачи битов в сетях.
        Формат передачи данных (PDU): бит.
        Основные протоколы Физического уровня: Recommended Standard 232 (RS232/EIA232), 100BaseTX, Integrated Services Digital Network (ISDN), 11.
        Устройства: концентратор, повторитель (репитер), модем, кабели, радиочастотные каналы, регуляторы напряжения и устройства маршрутизации.

        Физический уровень сетевой модели OSI (Physical Llayer) охватывает всю физическую инфраструктуру и оборудование, необходимые для передачи данных. L-2 OSI преобразует данные в цифровой битовый поток, сформированный из 1 и 0 на физическом уровне. Форма этого битового потока согласовывается двумя устройствами перед передачей, что позволяет реконструировать данные на принимающей стороне.

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

        Важные функции L-1 OSI
        • Синхронизация битов отправителя и получателя.
        • Контроль скорости передачи данных — количества битов, отправляемых в секунду.
        • Определение физических топологий сетевых устройств.
        • Выбор режима передачи данных, включая: симплексный, полудуплексный и дуплексный.
        Инструменты Физического уровня OSI

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

        Межуровневые функции

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

        • Инструменты управления безопасностью для настройки и мониторинга обмена данными между сетевыми устройствами.
        • Многопротокольная коммутация по меткам или MPLS (Multi-protocol label switching) для передачи кадров данных между сетями.
        • Протоколы для преобразования IP-адресов в MAC-адреса, работающие на канальном и сетевом уровнях.
        • Службы поиска системы доменных имен (DNS).
        • Общая архитектура безопасности, рекомендованная стандартом ITU x.800.

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

        Кстати. Для запоминания всех уровней модели OSI с седьмого по первый можно использовать англоязычный акроним APSTNDP (All People Seem To Need Data Processing, «Похоже, всем людям нужна обработка данных»).

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

        • L-7 OSI. Клиент веб-браузера взаимодействует с протоколом приложения на Прикладном уровне. Запрос пользователя преобразуется в сообщение HTTP или HTTPS. Протокол DNS используется для преобразования доменного имени в IP-адрес.
        • L-6 OSI. Если используется HTTPS, Уровень представления шифрует исходящий запрос с помощью сокета TLS. При необходимости данные кодируются или переводятся в другой набор символов.
        • L-5 OSI. На Сеансовом уровне устанавливается сеанс для отправки и получения сообщений HTTP/HTTPS. В большинстве случаев Сеансовый уровень открывает сеанс TCP, поскольку просмотр веб-страниц требует надежной передачи. Однако некоторые потоковые приложения могут выбрать сеанс UDP.
        • L-4 OSI. Протокол TCP Транспортного уровня инициирует соединение с целевым сервером. Когда сеанс работает, он передает пакеты в их первоначальном порядке и обеспечивает их отправку и получение. UDP отправляет все пакеты самым простым способом — без необходимости прямого подключения и ожидания подтверждений. При необходимости пакеты данных сегментируются на более мелкие части. Транспортный протокол перенаправляет все исходящие пакеты на Сетевой уровень.
        • L-3 OSI. На Сетевом уровне протоколы маршрутизации решают, какой выходной интерфейс использовать на основе адреса назначения. Данные, включая адресную информацию, инкапсулируются внутри IP-пакета. Затем пакет пересылается на Канальный уровень.
        • L-2 OSI. Канальный уровень преобразует IP-пакеты в кадры, что может привести к их дальнейшей фрагментации. Кадры строятся на основе используемого протокола канала передачи данных.
        • L-1 OSI. На физическом уровне кадры преобразуются в поток битов и передаются на носитель.

        Преимущества модели OSI

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

        Маркетинг. Модель уровня OSI позволяет поставщикам программного и аппаратного обеспечения описывать функции продуктов. Маркетологи могут четко объяснить покупателям, какое место их продукты занимают в иерархии OSI. Покупатели могут понять, как эти продукты впишутся в архитектуру сети.

        Разработка программного обеспечения. Модель OSI помогает разработчикам на этапах планирования и написания кода. Разработчики могут моделировать, как приложения будут работать на определенных уровнях. Модель уровня определяет, как приложения будут взаимодействовать с другими сетевыми компонентами и с инструментами других поставщиков.

        Кибербезопасность. Система OSI позволяет ИБ-специалистам эффективно выявлять уязвимости в системе безопасности. Классифицируя риски в соответствии с уровнями OSI, они могут определить, где находятся данные в сетевой иерархии, и выбрать подходящие средства защиты. Эта концепция также помогает организовать безопасную миграцию в облако.

        Недостатки модели OSI

        Модель OSI полезна как инструмент для понимания работы сетей, однако и она имеет ряд недостатков.

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

        В 7-уровневой модели также могут быть избыточные элементы. Например, Сеансовый уровень (L-5 OSI) и Уровень представления (L-6 OSI) могут не иметь практического значения в реальных сетях.

        Модель не отражает реальную структуру сети. Некоторые сетевые функции охватывают разные уровни OSI, создавая ненужную путаницу.

        Модель OSI и защита от DDoS

        Сетевая модель OSI — это основа для формирования противодействия таким серьезным угрозам кибербезопасности, как распределенные атаки типа «отказ в обслуживании» или DDoS. В зависимости от уровня OSI, будут различаться разновидности DDoS-атак перечень мер по борьбе с ними. Например:

        • L-7 OSI. Популярные виды DDoS: HTTP(S) GET/POST-флуд, взлом протокола BGP, атака «медленными сессиями». Методы защиты: мониторинг приложений и отслеживание атак «нулевого дня» и кибернападений на данном уровне OSI.
        • L-6 OSI. Популярные виды DDoS: отправка ложных или искаженных SSL-запросов. Методы защиты: фильтрация, очистка и маршрутизация SSL-трафика.
        • L-5 OSI. Популярные виды DDoS: атаки через уязвимости в сетевых протоколах для терминальных интерфейсов (например, Telnet). Методы защиты: ограничивать доступ к сетевому оборудованию, регулярно обновлять версии ПО.
        • L-4 OSI. Популярные виды DDoS: SYN-флуд (TCP/SYN), UDP-флуд, SMURF-атаки. Методы защиты: фильтрация и ограничение числа подключений от конкретных источников.
        • L-3 OSI. Популярные виды DDoS: ICMP-флуд (пинг-флуд), POD («пинг смерти»), SMURF-атаки. Методы защиты: фильтрация и перенаправление ложного трафика с помощью эвристических алгоритмов.
        • L-2 OSI. Популярные виды DDoS: нарушение стандартного потока сетевых данных между устройствами с помощью манипуляции данными в полях SRC/MAC и DST/MAC. Методы защиты: использование современных управляемых коммутаторов.
        • L-1 OSI. Популярные виды DDoS: физическое повреждение или нарушение функциональности оборудования. Методы защиты: использование системы ограничения и контроля доступа к оборудованию.

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

        Клиенты не могут войти на сайт из-за DDoS? Хватит терпеть убытки! Подключите интеллектуальную DDoS-защиту CyberFlow и забудьте о проблемах!

        Что обеспечивает протоколы сетевого уровня

        5. ПОНЯТИЕ «ОТКРЫТАЯ СИСТЕМА». МОДЕЛЬ OSI

        5.2. Уровни модели OSI

        Физический уровень ( Physical layer ) имеет дело с передачей битов по физическим каналам связи, таким, например, как коаксиальный кабель, витая пара, оптоволо­конный кабель или цифровой территориальный канал. К этому уровню имеют отношение характеристики физических сред передачи данных, такие как полоса пропускания, помехозащищенность, волновое сопротивление и другие. На этом же уровне определяются характеристики электрических сигналов, передающих диск­ретную информацию, например, крутизна фронтов импульсов, уровни напряже­ния или тока передаваемого сигнала, тип кодирования, скорость передачи сигналов. Кроме этого, здесь стандартизуются типы разъемов и назначение каждого контакта. Функции физического уровня реализуются во всех устройствах, подключен­ных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом.

        Канальный уровень ( Data Link layer ). На физическом уровне просто пересылаются биты. При этом не учитывается, что в некоторых сетях, в которых линии связи используются (разделяются) поперемен­но несколькими парами взаимодействующих компьютеров, физическая среда пе­редачи может быть занята. Поэтому одной из задач канального уровня является проверка доступности среды передачи. Другой задачей канального уровня является реализация механизмов обнаружения и коррекции ошибок. Для этого на канальном уровне биты группируются в наборы, называемые кадрами ( frames ). Канальный уровень обеспечивает корректность передачи каждого кадра, помещая специальную последовательность бит в начало и конец каждого кадра, для его выделения, а также вычисляет контрольную сумму, обрабатывая все байты кадра определенным способом и добавляя контрольную сумму к кадру. Когда кадр приходит по сети, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой из кадра. Если они совпада­ют, кадр считается правильным и принимается. Если же контрольные суммы не совпадают, то фиксируется ошибка и этот кадр уничтожается. Канальный уровень может не только обнаруживать ошибки, но и исправлять их за счет повторной передачи поврежденных кадров.

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

        В локальных сетях протоколы канального уровня используются компьютерами, мостами, коммутаторами и маршрутизаторами . В компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов.

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

        Сетевой уровень ( Network layer ) служит для образования единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать совершенно различные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связей. Функции сетевого уровня достаточно разнообразны. Начнем их рассмотрение на примере объединения локальных сетей.

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

        Сети соединяются между собой специальными устройствами, называемыми маршрутизаторами . Маршрутизатор — это устройство, которое собирает инфор­мацию о топологии межсетевых соединений и на ее основании пересылает пакеты сетевого уровня в сеть назначения. Чтобы передать сообщение от отправителя, находящегося в одной сети, получателю, находящемуся в другой сети, нужно совершить некоторое количество транзитных передач между сетями, или хопов (от hop — прыжок), каждый раз выбирая подходящий маршрут. Проблема выбора наилучшего пути называется маршрутизацией, и ее решение является одной из главных задач сетевого уровня.

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

        Сообщения сетевого уровня принято называть пакетами ( packets ). При организации доставки пакетов на сетевом уровне используется понятие «номер сети». В этом случае адрес получателя состоит из старшей части — номера сети и млад­шей — номера узла в этой сети. Все узлы одной сети должны иметь одну и ту же старшую часть адреса, поэтому «сеть» на сетевом уровне — это совокупность узлов, сетевой адрес которых содержит один и тот же номер сети.

        На сетевом уровне определяются два вида протоколов. Первый вид — сетевые протоколы ( routed protocols ) — реализуют продвижение пакетов через сеть. А также протоколы обмена маршрутной информацией или просто протоколами маршрутизации ( routing protocols ). С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений.

        На сетевом уровне работают протоколы еще одного типа, которые отвечают за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов — Address Resolution Protocol , ARP .

        Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell .

        На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Транспортный уровень ( Transport layer ) обеспечивает приложениям или верхним уровням стека — прикладному и сеансовому — передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное — способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

        Как правило, все протоколы, начиная с транспортного уровня и выше, реализу­ются программными средствами конечных узлов сети — компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно при­вести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell .

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

        Сеансовый уровень ( Session layer ) обеспечивает управление диалогом: фиксирует, какая из сторон является активной в настоящий момент, предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней конт­рольной точке, а не начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоко­лов, хотя функции этого уровня часто объединяют с функциями прикладного уровня и реализуют в одном протоколе.

        Представительный уровень ( Presentation layer ) имеет дело с формой представле­ния передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной си­стемы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или же различия в кодах символов, например, кодов ASCII и EBCDIC. На этом уровне может выполняться шифрование и де­шифрование данных, благодаря которому секретность обмена данными обеспечи­вается сразу для всех прикладных служб. Примером такого протокола является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сооб­щениями для протоколов прикладного уровня стека TCP/IP.

        Прикладной уровень ( Application layer ) — это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают до­ступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например, с помо­щью протокола электронной почты. Единица данных, которой оперирует приклад­ной уровень, обычно называется сообщением ( message ).

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *