Руслан Рахметов, Security Vision
Мы живем в мире, где цифровые технологии важны как никогда. Любое новое усовершенствование в ИТ может стать существенным преимуществом для бизнеса, выделить эту компанию на общем фоне и принести большую прибыль. При этом есть сферы ИТ-инфраструктуры, которые из-за огромного legacy, которое накапливалось десятилетиями, развиваются не так быстро, как хотелось бы. В нашей статье мы хотим поговорить про сетевые технологии, а конкретно про инструменты мониторинга сетевой инфраструктуры.
В одной хорошей книжке есть хорошая шутка. Как изменилась консоль управления сетевого оборудования с 1995 года по 2020 год? Раньше подключение к оборудованию происходило по telnet (нешифрованный канал связи), теперь используется ssh (шифрованный канал связи). То есть большая часть сетевого оборудования в больших инфраструктурах управляется через CLI (command line interface – командная строка), что в современном мире выглядит очень странно. Пример CLI сетевого оборудования Cisco представлен на рис. 1.
Рисунок 1
В то время, как для большинства механизмов ИТ существует удобный графический интерфейс. Прогресс обошел стороной эту жизненно важную часть ИТ-инфраструктуры.
Одним из важных аспектов сети является мониторинг, который позволяет отслеживать актуальные параметры роутеров, коммутаторов, межсетевых экранов и т.д. Знание актуальных параметров сетевого оборудования позволяет нам понимать его нагрузку и правильность работы. Эта информация позволяет нам прогнозировать увеличение парка сетевых устройств и определять причины сбоев или «просадок» по производительности.
Рассмотрим, какие механизмы сбора данных с сетевого оборудования есть на текущий момент:
-
SNMP;
-
Syslog;
- Flows (NetFlow, sFlow и т.д.).
Рассмотрим каждый подробнее.
SNMP (англ. Simple Network Management Protocol — простой протокол сетевого управления) — стандартный интернет-протокол для управления и мониторинга устройств в IP-сетях. Первые официальные документы для SNMP появились в 1988 г., то есть более 30 лет назад. С тех пор появились версии 2 и 3, но при этом до сих пор технология сбора данных не поменялась. Что можно собрать с помощью SNMP - состояние оборудования:
-
Объем трафика в единицу времени;
-
Статус интерфейсов;
-
Задержки при отправке пакетов;
-
Нагрузка на процессор, оперативную память.
Syslog (англ. system log — системный журнал) — стандарт отправки и регистрации сообщений о происходящих в системе событиях (то есть создания событийных журналов), использующийся в компьютерных сетях, работающих по протоколу IP. Продолжительное время syslog использовался без каких-либо формальных спецификаций, из-за чего существовало множество вариантов, несовместимых друг с другом. Первые шаги по решению этой проблемы были предприняты в 2001 году — протокол syslog был описан в RFC 3164, то есть более 20 лет назад. Что можно собрать с помощью syslog - события о работе устройства:
-
Ошибки;
-
Предупреждения;
-
Информационные сообщения;
- Сообщения для разработчиков.
NetFlow — сетевой протокол, предназначенный для учёта сетевого трафика, разработанный компанией Cisco Systems. Существуют различные вариации данного протокола у других производителей, но состав данных и алгоритмы сбора похожие. NetFlow был разработан для роутеров Cisco в 1996 году, то есть более 25 лет назад. Что можно собрать с помощью NetFlow – информацию о трафике:
-
IP источника;
-
IP получателя;
-
TCP/UDP порт источника;
-
TCP/UDP порт получателя;
-
Исходящий интерфейс сетевого оборудования;
- Входящий интерфейс сетевого оборудования.
Все вышеперечисленные протоколы были разработаны 20-30 лет назад и проектировались под сетевую инфраструктуру совсем другого масштаба. Чтобы убедиться в этом, рассмотрим достаточно известный закон о скорости интернет-соединения Якоба Нильсена. Согласно этому закону, скорость интернет-соединения увеличивается ежегодно на 50%. Действие закона отслеживалось в период с 1983 по 2014-й г. Точки на графике обозначают различные скорости подключения к интернету. В 1984 экспериментатор использовал старый акустический модем со скоростью 300 бит в секунду, в 1996 подключился к линии ISDN, а в 2014 у него уже был высокоскоростной интернет со скоростью 120 Мбит/с. График представлен на рис. 2.
Рисунок 2
Чтобы добиться такого впечатляющего увеличения скорости, было спроектировано и внедрено огромное количество сетевого оборудования с постоянным увеличением производительности.
Главной особенностью таких сетей с точки зрения мониторинга является тот факт, что они генерируют огромное количество событий. При этом при использовании сама система мониторинга не должна создавать существенную дополнительную нагрузку на сетевое оборудование, которое и так сильно нагружено. Кроме того, сложная сервисная структура с получившими в последние годы широкое распространение overlay-сетями (например, VXLAN, EVPN, L3VPN) не поддерживается классическими протоколами мониторинга. Для мониторинга современного высокопроизводительного сетевого оборудования требуются новые подходы.
Рассмотрим набирающий популярность подход к сбору параметров сетевого оборудования Streaming Telemetry. Данную технологию поддерживают практически все производители современного сетевого оборудования: Cisco, Juniper, Arista (занимает более 70 процентов рынка).
Ключевое отличие между SNMP и Streaming Telemetry заключается в методе сбора данных. SNMP использует pull-модель, а Streaming Telemetry использует push-модель. Система мониторинга, которая работает по протоколу SNMP, получает информацию от сетевого оборудования через запросы, что может занимать от 5 до 10 минут (запрос - ответ), в том время как система мониторинга, которая будет работать с использованием новых возможностей Streaming Telemetry принимает данные по умолчанию без запросов. Такой подход позволяет собирать данные в режиме online, что обеспечивает их актуальность и ценность. Нет задержки в получаемых данных и можно отслеживать изменения в сети. Кроме того, состав получаемых данных значительно расширился, что обеспечивает поддержку overlay-сетей, а также обогащает имеющуюся информацию по ключевым протоколам, в частности bgp и ospf. Пример сравнения частоты сбора данных представлен на рис. 3.
Рисунок 3
На текущий момент системы мониторинга используют SNMP и в промежутках между запросами данных они практически слепы и могут только догадываться о том, что происходит с сетевым оборудованием. Такой временной gap недопустим для качественного сбора данных. Технология Streaming Telemetry позволит провайдерам, ЦОДам и крупным организациям решить назревшую проблему мониторинга.