Метрики (сетевые)
Метрики (нем. Metriken) в телекоммуникационных и компьютерных сетях — это числовой показатель, определяющий качество соединения при использовании определённого маршрута. Значение метрики может быть получено как путём оценки, так и с помощью измерений.
Под качеством обычно понимаются факторы, влияющие на выбор маршрута. Наиболее часто метрика отражает доступную скорость передачи данных, качество соединения или связанные с ним денежные затраты. Также могут учитываться задержка, нагрузка, максимальная передаваемая единица MTU, надёжность и число переходов (hop count). Конкретная интерпретация метрики определяет, как соотносится высокий или низкий числовой показатель с качеством маршрута. Например, если метрика отражает скорость передачи данных, будут предпочтительнее высокие значения; если же метрика отражает стоимость маршрута, желательны низкие значения. При наличии нескольких возможных маршрутов до цели с помощью значений метрик определяется, какой из них будет использоваться для соединения.
Категории
По способу вычисления
Сетевые метрики различаются главным образом по способу вычисления итогового значения метрики вдоль всего пути на основе отдельных метрик для каждого сегмента. Различают аддитивные, мультипликативные и конкавные метрики.
Пусть — метрика для соединения между сетевыми узлами и , а — путь между узлами и . Тогда метрики определяются следующим образом:
- Аддитивная: (например, , количество переходов (Hop Count))[1]
- Мультипликативная: (например, )
- Конкавная: (например, , нагрузка (Load), надёжность (Reliability), MTU)[1]
Джиттер требует статистического усреднения, однако вдоль пути может вычисляться и аддитивно[2][3]. Составная метрика протокола EIGRP представляет собой аддитивную комбинацию пропускной способности и задержки[4]. Опциональный атрибут AIGP в протоколе BGP, предназначенный для передачи метрик IGP, также накапливается строго аддитивно[5][6].
В квантовых сетях применяются специфические метрики: точность (Fidelity), использующая рекурсивную композицию, и сквозная скорость передачи (End-to-end rate), вычисляемая мультипликативно[7].
По характеру измерений
По характеру измерений сетевые метрики разделяются на статические и динамические. Статические метрики задаются конфигурацией (например, настройки интервала запуска, количества пакетов или задержки между отправкой). Динамические метрики измеряются в реальном времени; к ним относятся джиттер, процент потери пакетов и пинг[8].
Маршрутная таблица
Примером применения метрик являются маршрутные таблицы, которые используются для поиска путей при маршрутизации. На основании значения метрики выбирается одно из нескольких возможных соединений. В зависимости от используемой метрики предпочтение может отдаваться либо наименьшему (например, задержка передачи), либо наибольшему (например, пропускная способность) значению.
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 91.198.174.2 192.168.0.254 255.255.255.255 UGH 3 0 0 eth0 91.198.174.2 172.16.0.254 255.255.255.255 UGH 6 0 0 wlan0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 172.16.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlan0 0.0.0.0 172.16.0.254 0.0.0.0 UG 0 0 0 wlan0
В этом примере приведены две сетевые интерфейсные карты (столбец «Iface»): eth0 (проводная) и wlan0 (беспроводная сеть). Для IP-адреса 91.198.174.2 определены два специальных хост-маршрута. Такие хост-маршруты указывают путь к одному компьютеру, в то время как сетевые маршруты определяют маршрут к целой подсети — то есть к группе компьютеров. Первая строка с метрикой 3 означает: если требуется путь к IP-адресу 91.198.174.2, попытаться отправить пакеты данных через интерфейс eth0 (проводная связь). Вторая строка с метрикой 6 указывает посылать пакеты через интерфейс wlan0 (беспроводная связь). Таким образом, существуют две записи, различающиеся только значением метрики, которые описывают возможные пути к одной и той же цели. На основе значения метрики выбирается интерфейс, который будет использоваться приоритетно для отправки. В этом примере все пакеты, не предназначенные для одной из двух локальных сетей (третья и четвёртая строки), будут перенаправлены по беспроводной сети на шлюз по умолчанию (последняя строка), за исключением целевого адреса 91.198.174.2 — в этом случае сначала будет предпринята попытка использовать проводное соединение, поскольку метрика меньше.
Команда для добавления маршрута с метрикой 1:
ip route add 91.198.172.2 via 192.168.0.254 metric 1 dev eth0
(в GNU/Linux; в современных ОС Windows используется утилита route, например: route add 10.0.0.0 mask 255.255.255.0 192.168.1.254 metric 5, или командлет PowerShell New-NetRoute, например: New-NetRoute -DestinationPrefix "10.0.0.0/24" -InterfaceAlias "Ethernet" -NextHop "192.168.1.254" -RouteMetric 100)[9][10]
Диапазон допустимых значений метрики может сильно различаться, поскольку для выбора наилучшего маршрута важны только относительные величины. Например, в протоколе маршрутизации EIGRP метрика может принимать значения от 0 до (4 294 967 295), тогда как в современных ОС Windows диапазон значений ограничен от 0 до 65 535[10].
Алгоритм выбора лучшего пути (Best Path Selection) при наличии нескольких маршрутов к одной цели состоит из следующей последовательности проверок:
- Совпадение длины префикса (Longest Prefix Match): в первую очередь выбирается маршрут с наиболее специфичным префиксом назначения (самой длинной маской подсети).
- Административное расстояние (Administrative Distance): если длины префиксов совпадают, предпочтение отдаётся маршруту с наименьшим значением административного расстояния, определяющим степень доверия к источнику маршрута.
- Метрика: если маршруты имеют одинаковое административное расстояние, сравниваются их метрики, и выбирается путь с наименьшим значением.
- Балансировка нагрузки: если префикс, административное расстояние и метрика полностью совпадают, маршрутизатор может установить несколько равнозначных маршрутов и выполнять балансировку нагрузки между ними[11].
В современных сетевых операционных системах значения метрик хранятся в базе данных маршрутизации (RIB), которая содержит полную информацию о маршрутах. На этапе переноса данных в базу пересылки (FIB) происходит выбор лучших маршрутов, поэтому в FIB передаётся исключительно результат выбора: лучшие маршруты, вычисленные исходящие интерфейсы и разрешённые адреса следующего перехода (next-hop), без сохранения самих метрик[12][13].
Мониторинг и управление качеством
В современных сетях, таких как SD-WAN, метрики производительности играют ключевую роль в динамическом выборе пути на основе непрерывного мониторинга состояния сети. Алгоритмы маршрутизации используют одностороннюю задержку (latency) для направления чувствительного трафика (голос, видео) по оптимальным маршрутам, вариацию задержки (jitter) — для предотвращения искажений в приложениях реального времени, а потерю пакетов (packet loss) — для проверки соответствия соглашениям об уровне обслуживания (SLA) и перенаправления трафика на более стабильные каналы[14]. Для сбора метрик применяются различные методы мониторинга: активный (генерация тестового трафика), пассивный (анализ реального пользовательского трафика) и гибридный, объединяющий оба подхода[15][16]. В качестве основных протоколов сбора данных используются SNMP для получения базовых метрик, NetFlow для глубокого анализа потоков трафика, а также OpenTelemetry, применяемый для распределённой трассировки[17][18]. На уровне управления качеством обслуживания (QoS) метрики и маркировка трафика применяются для приоритизации данных. Классификация пакетов с помощью кодов DSCP позволяет сетевому оборудованию помещать чувствительный к задержкам видео-трафик в приоритетные очереди. Для интерактивного видео чаще всего применяется маркировка DSCP AF41, что гарантирует минимальную задержку и защиту от потери пакетов при перегрузках[19][20]. В концепции сетей на основе намерений (Intent-Based Networking, IBN) метрики используются для контроля SLA и автоматического управления инфраструктурой. Собранные данные непрерывно сравниваются с целевыми показателями, и при выявлении отклонений система автоматически запускает замкнутый цикл управления для изменения конфигурации сети[21][22]. Кроме того, для управления трафиком применяются прогнозные метрики на основе искусственного интеллекта, которые выступают в качестве опережающих индикаторов и позволяют предсказывать будущее состояние сети[23].