Открыть сервисСервис

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

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

Основные функции

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

Логическая адресация

На сетевом уровне каждому устройству (или интерфейсу) присваивается уникальный логический адрес, который не зависит от физического расположения и аппаратной реализации. Наиболее распространённым примером является IP-адрес (Internet Protocol) в версиях IPv4 и IPv6. Этот адрес состоит из двух частей: номера сети (префикса) и номера узла (хоста). Такая структура позволяет маршрутизаторам эффективно агрегировать информацию о сетях и принимать решения о пересылке пакетов.

Маршрутизация

Маршрутизация — это процесс определения наилучшего пути передачи данных от отправителя к получателю через сеть, состоящую из множества узлов. Маршрутизаторы, работающие на сетевом уровне, анализируют адрес назначения в заголовке пакета и, используя таблицы маршрутизации, выбирают следующий транзитный узел. Таблицы маршрутизации могут быть статическими (настраиваются администратором вручную) или динамическими (обновляются автоматически с помощью протоколов маршрутизации, таких как OSPF, BGP или RIP).

Фрагментация и сборка

Разные сети могут иметь разные максимальные размеры передаваемого блока данных (MTU, Maximum Transmission Unit). Если пакет, поступающий на сетевой уровень, превышает MTU следующей сети, он разбивается на более мелкие фрагменты. Каждый фрагмент содержит заголовок с информацией о его принадлежности к исходному пакету и его порядковом номере. На стороне получателя фрагменты собираются в исходный пакет. Эта функция критически важна при передаче данных между разнородными сетями (например, из Ethernet в ATM).

Управление перегрузками

Сетевой уровень может реализовывать механизмы для предотвращения или снижения перегрузок сети. Например, маршрутизаторы могут отбрасывать пакеты при переполнении буферов (явное уведомление о перегрузке, ECN) или отправлять управляющие сообщения (ICMP Source Quench — устаревший механизм). В современных сетях управление перегрузками чаще реализуется на транспортном уровне (TCP), но сетевой уровень может предоставлять для этого сигналы.

Протоколы сетевого уровня

На сетевом уровне работает множество протоколов, наиболее известные из которых — IP, ICMP, ARP, IGMP и протоколы маршрутизации.

Internet Protocol (IP)

IP — основной протокол сетевого уровня в стеке TCP/IP. Он обеспечивает негарантированную доставку пакетов (дейтаграмм) без установления соединения. Существует две версии: IPv4 (с 32-битными адресами) и IPv6 (с 128-битными адресами). IP-пакет состоит из заголовка (содержит адреса отправителя и получателя, длину, TTL и другие поля) и полезной нагрузки (данных вышестоящего уровня, например, TCP-сегмента).

Internet Control Message Protocol (ICMP)

ICMP используется для передачи служебных сообщений об ошибках и диагностики сети. Например, команда ping отправляет ICMP Echo Request и получает ICMP Echo Reply, а сообщение «Destination Unreachable» (пункт назначения недоступен) информирует отправителя о невозможности доставить пакет.

Address Resolution Protocol (ARP)

ARP — протокол, работающий на стыке канального и сетевого уровней. Он служит для сопоставления логического IP-адреса с физическим MAC-адресом устройства в пределах одной локальной сети. Хотя ARP часто относят к сетевому уровню, он напрямую не участвует в маршрутизации, а обеспечивает работу IP поверх Ethernet.

Internet Group Management Protocol (IGMP)

IGMP используется для управления групповой (multicast) рассылкой. Хосты сообщают маршрутизаторам о своём желании получать трафик для определённой multicast-группы.

Протоколы маршрутизации

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

  • Дистанционно-векторные (Distance-Vector): RIP, IGRP (устаревшие). Маршрутизаторы обмениваются таблицами маршрутизации с соседями.
  • Состояния каналов (Link-State): OSPF, IS-IS. Каждый маршрутизатор строит полную карту сети и вычисляет кратчайшие пути.
  • Протоколы внешней маршрутизации (EGP): BGP — основной протокол маршрутизации между автономными системами в Интернете.

Устройства сетевого уровня

Основным устройством, работающим на сетевом уровне, является маршрутизатор. Он принимает решения о пересылке пакетов на основе таблицы маршрутизации. В отличие от коммутаторов (уровень 2), маршрутизаторы анализируют IP-адреса и могут соединять сети с разными технологиями канального уровня (например, Ethernet, Wi-Fi, PPP). Также к устройствам сетевого уровня можно отнести многоуровневые коммутаторы (Layer 3 switches), которые совмещают функции коммутации и маршрутизации.

Сравнение с другими уровнями

Сетевой уровень занимает центральное место в модели OSI. Он находится между канальным уровнем (уровень 2), который обеспечивает передачу в пределах одного сегмента, и транспортным уровнем (уровень 4), который обеспечивает сквозную надёжную передачу данных между приложениями. Транспортный уровень (например, TCP) полагается на сетевой уровень для доставки сегментов, но не заботится о том, через какие маршрутизаторы они проходят. Сетевой уровень, в свою очередь, не знает о содержании передаваемых данных (портах, приложениях) — его задача — доставить пакет по адресу.

Примеры работы

  1. Отправка веб-запроса: Пользователь вводит URL в браузере. DNS-запрос (уровень приложений) преобразует доменное имя в IP-адрес сервера. Браузер формирует HTTP-запрос, который инкапсулируется в TCP-сегмент (транспортный уровень), а затем в IP-пакет (сетевой уровень). Маршрутизаторы на пути от компьютера пользователя до сервера, используя таблицы маршрутизации, пересылают этот пакет от одного узла к другому, пока он не достигнет сети назначения.
  2. Фрагментация: Если компьютер в сети Ethernet (MTU 1500 байт) отправляет данные серверу через VPN-туннель, который добавляет свой заголовок и уменьшает MTU до 1400 байт, то маршрутизатор на границе туннеля разобьёт исходный IP-пакет на два фрагмента по 1400 байт. Получатель соберёт их обратно.

Интересные факты

  • Изначально в модели OSI сетевой уровень был разработан для протокола CLNP (Connectionless Network Protocol), но в реальности доминирующим стал протокол IP из стека TCP/IP.
  • В IPv4 адресация делится на классы (A, B, C, D, E), но в современных сетях используется бесклассовая адресация (CIDR), позволяющая более гибко распределять адресное пространство.
  • Протокол BGP (Border Gateway Protocol), используемый для маршрутизации между автономными системами, является основой глобального Интернета.

Источники

  • Э. Таненбаум, Д. Уэзеролл. «Компьютерные сети» (5-е издание).
  • Дж. Куроуз, К. Росс. «Компьютерные сети: нисходящий подход».
  • RFC 791 — Internet Protocol (IPv4).
  • RFC 8200 — Internet Protocol, Version 6 (IPv6).
  • RFC 792 — Internet Control Message Protocol (ICMP).
  • Стандарт ISO/IEC 7498-1:1994 — модель OSI.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru