История и настоящее системы Mylinking™ Network Visibility от ERSPAN

Наиболее распространенным инструментом для мониторинга и устранения неполадок в сети сегодня является анализатор портов коммутатора (SPAN), также известный как зеркалирование портов. Он позволяет отслеживать сетевой трафик в обходном режиме внеполосного доступа, не влияя на работу служб в рабочей сети, и отправляет копию отслеживаемого трафика на локальные или удаленные устройства, включая снифферы, системы обнаружения вторжений (IDS) или другие инструменты анализа сети.

Типичные примеры применения:

• Устранение неполадок в сети путем отслеживания управляющих/информационных кадров;

• Анализ задержки и дрожания сигнала путем мониторинга VoIP-пакетов;

• Анализ задержки путем мониторинга сетевых взаимодействий;

• Выявление аномалий путем мониторинга сетевого трафика.

Трафик SPAN может зеркалироваться локально на другие порты того же исходного устройства или удаленно зеркалироваться на другие сетевые устройства, расположенные рядом с уровнем 2 исходного устройства (RSPAN).

Сегодня мы поговорим о технологии удаленного мониторинга интернет-трафика, называемой ERSPAN (Encapsulated Remote Switch Port Analyzer), которая может передавать данные по трем уровням IP. Это расширение SPAN для инкапсулированного удаленного мониторинга.

Основные принципы работы ERSPAN

Для начала давайте рассмотрим возможности ERSPAN:

• Копия пакета с исходного порта отправляется на целевой сервер для анализа с помощью Generic Routing Encapsulation (GRE). Физическое местоположение сервера не ограничено.

• Благодаря функции определяемого пользователем поля (UDF) микросхемы, любое смещение от 1 до 126 байт выполняется на основе базового домена с использованием расширенного списка экспертного уровня, а ключевые слова сессии сопоставляются для визуализации сессии, например, трехстороннего рукопожатия TCP и сессии RDMA;

• Поддержка установки частоты дискретизации;

• Поддерживает длину перехвата пакетов (разделение пакетов), снижая нагрузку на целевой сервер.

Благодаря этим функциям становится понятно, почему ERSPAN является сегодня незаменимым инструментом для мониторинга сетей внутри центров обработки данных.

Основные функции ERSPAN можно свести к двум основным аспектам:

• Отображение сессий: Используйте ERSPAN для сбора всех созданных новых сессий TCP и RDMA (Remote Direct Memory Access) на серверную часть для отображения;

• Устранение неполадок в сети: перехват сетевого трафика для анализа неисправностей при возникновении проблем в сети.

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

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

Инкапсуляция пакетов ERSPAN

Анализ типа и формата упаковки ERSPAN

Пакеты ERSPAN инкапсулируются с использованием GRE и пересылаются в любой IP-адресуемый пункт назначения по Ethernet. В настоящее время ERSPAN в основном используется в сетях IPv4, а поддержка IPv6 станет обязательной в будущем.

Для описания общей структуры инкапсуляции ERSAPN ниже представлен зеркальный захват ICMP-пакетов:

структура инкапсуляции ERSAPN

Протокол ERSPAN разрабатывался в течение длительного времени, и по мере расширения его возможностей было создано несколько версий, называемых «типами ERSPAN». Различные типы имеют разные форматы заголовков кадров.

Это определяется в первом поле «Версия» заголовка ERSPAN:

версия заголовка ERSPAN

Кроме того, поле «Тип протокола» в заголовке GRE также указывает на внутренний тип ERSPAN. Поле «Тип протокола» 0x88BE указывает на тип ERSPAN II, а 0x22EB — на тип ERSPAN III.

1. Тип I

Кадр ERSPAN типа I инкапсулирует IP и GRE непосредственно поверх заголовка исходного зеркального кадра. Эта инкапсуляция добавляет 38 байт к исходному кадру: 14 (MAC) + 20 (IP) + 4 (GRE). Преимущество этого формата заключается в компактном размере заголовка и снижении стоимости передачи. Однако, поскольку поля GRE Flag и Version устанавливаются в 0, он не содержит дополнительных полей, и тип I не получил широкого распространения, поэтому нет необходимости в дальнейшем расширении.

Формат заголовка GRE для типа I выглядит следующим образом:

Формат заголовка GRE

2. Тип II

В типе II поля C, R, K, S, S, Recur, Flags и Version в заголовке GRE, за исключением поля S, равны 0. Поэтому в заголовке GRE типа II отображается поле Sequence Number. То есть, тип II обеспечивает порядок приема пакетов GRE, предотвращая большое количество пакетов GRE, поступивших не по порядку, которые не могут быть отсортированы из-за ошибки в сети.

Формат заголовка GRE для типа II выглядит следующим образом:

Формат заголовка GRE II

Кроме того, формат кадра ERSPAN Type II добавляет 8-байтовый заголовок ERSPAN между заголовком GRE и исходным зеркальным кадром.

Формат заголовка ERSPAN для типа II выглядит следующим образом:

Формат заголовка ERSPAN II

Наконец, сразу после исходного кадра изображения следует стандартный 4-байтовый код циклической избыточности (CRC) Ethernet.

КРК

Стоит отметить, что в данной реализации зеркальный кадр не содержит поля FCS исходного кадра; вместо этого новое значение CRC пересчитывается на основе всего ERSPAN. Это означает, что принимающее устройство не может проверить корректность CRC исходного кадра, и мы можем лишь предположить, что зеркалируются только неповрежденные кадры.

3. Тип III

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

Составной заголовок ERSPAN Type III включает обязательный 12-байтовый заголовок и опциональный 8-байтовый подзаголовок, специфичный для платформы.

Формат заголовка ERSPAN для типа III выглядит следующим образом:

Формат заголовка ERSPAN III

И снова, после исходного зеркального кадра следует 4-байтовая контрольная сумма (CRC).

КРК

Как видно из формата заголовка типа III, помимо сохранения полей Ver, VLAN, COS, T и Session ID, как в типе II, добавлено множество специальных полей, таких как:

• BSO: используется для обозначения целостности загрузки кадров данных, передаваемых через ERSPAN. 00 — хороший кадр, 11 — плохой кадр, 01 — короткий кадр, 11 — большой кадр;

• Метка времени: экспортируется из аппаратных часов, синхронизированных с системным временем. Это 32-битное поле поддерживает точность до 100 микросекунд;

• Тип кадра (P) и Тип кадра (FT): первый используется для указания того, передает ли ERSPAN кадры протокола Ethernet (кадры PDU), а второй — для указания того, передает ли ERSPAN кадры Ethernet или пакеты IP.

• Идентификатор оборудования (HW ID): уникальный идентификатор двигателя ERSPAN в системе;

• Gra (детализация временной метки): Задает детализацию временной метки. Например, 00B означает 100 микросекунд, 01B — 100 наносекунд, 10B — детализация по стандарту IEEE 1588, а 11B требует добавления подзаголовков, специфичных для платформы, для достижения более высокой детализации.

• Идентификатор платформы (Platf ID) против информации, специфичной для платформы: Поля, специфичные для платформы, имеют разные форматы и содержимое в зависимости от значения идентификатора платформы (Platf ID).

Индекс идентификаторов портов

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

Благодаря встроенным в ERSPAN заголовкам функций мы можем добиться более точного анализа сетевого трафика, а затем просто установить соответствующий список контроля доступа (ACL) в процессе ERSPAN, чтобы сопоставить его с интересующим нас сетевым трафиком.

ERSPAN внедряет функцию видимости сеансов RDMA.

Рассмотрим пример использования технологии ERSPAN для визуализации сеансов RDMA в сценарии RDMA:

РДМАТехнология Remote Direct Memory Access (DID) позволяет сетевому адаптеру сервера A считывать и записывать данные в память сервера B, используя интеллектуальные сетевые интерфейсные карты (INIC) и коммутаторы, обеспечивая высокую пропускную способность, низкую задержку и низкое потребление ресурсов. Она широко используется в сценариях обработки больших данных и высокопроизводительных распределенных хранилищ.

RoCEv2: RDMA поверх конвергентного Ethernet версии 2. Данные RDMA инкапсулируются в заголовок UDP. Номер порта назначения — 4791.

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

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

Определение поля для сопоставления списков на экспертном уровне:

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

• Ключевое слово UDF: UDF1... UDF8 Содержит восемь ключевых слов из области соответствия UDF.

• Базовое поле: определяет начальную позицию поля сопоставления пользовательской функции. Следующее

L4_header (применимо к RG-S6520-64CQ)

L5_header (для RG-S6510-48VS8Cq)

• Смещение: указывает смещение относительно базового поля. Значение варьируется от 0 до 126.

• Поле «Значение»: значение для сопоставления. Его можно использовать вместе с полем «Маска» для настройки конкретного значения, которое необходимо сопоставить. Допустимый бит составляет два байта.

• Поле маски: маска, допустимый бит равен двум байтам.

(Дополнение: Если в одном и том же поле сопоставления пользовательской функции используется несколько записей, поля «базовое значение» и «смещение» должны быть одинаковыми.)

Два ключевых пакета, связанных со статусом сессии RDMA, — это пакет уведомления о перегрузке (Congestion Notification Packet, CNP) и отрицательное подтверждение (Negative Acknowledgment, NAK):

Первый генерируется приемником RDMA после получения сообщения ECN, отправленного коммутатором (когда выходной буфер достигает порогового значения), и содержит информацию о потоке или QP, вызывающих перегрузку. Второй используется для индикации наличия сообщения ответа о потере пакета в передаче RDMA.

Давайте посмотрим, как сопоставить эти два сообщения, используя расширенный список экспертного уровня:

RDMA CNP

расширенный список доступа экспертов RDMA

permit udp any any any any eq 4791udf 1 l4_header 8 0x8100 0xFF00(Соответствует модели RG-S6520-64CQ)

permit udp any any any any eq 4791udf 1 l5_header 0 0x8100 0xFF00(Соответствует модели RG-S6510-48VS8CQ)

RDMA CNP 2

расширенный список доступа экспертов RDMA

permit udp any any any any eq 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(Соответствует модели RG-S6520-64CQ)

permit udp any any any any eq 4791udf 1 l5_header 0 0x1100 0xFF00 udf 2 l5_header 12 0x6000 0xFF00(Соответствует модели RG-S6510-48VS8CQ)

В качестве заключительного шага вы можете визуализировать сессию RDMA, интегрировав список расширений экспертов в соответствующий процесс ERSPAN.

Напишите в конце

ERSPAN — один из незаменимых инструментов в современных сетях центров обработки данных, характеризующихся постоянно растущими масштабами, все более сложным сетевым трафиком и все более высокими требованиями к эксплуатации и техническому обслуживанию сети.

С ростом степени автоматизации эксплуатации и технического обслуживания, такие технологии, как Netconf, RESTconf и gRPC, пользуются популярностью среди студентов, изучающих автоматическую эксплуатацию и техническое обслуживание сетей. Использование gRPC в качестве базового протокола для отправки зеркального трафика также имеет множество преимуществ. Например, на основе протокола HTTP/2 он может поддерживать механизм потоковой передачи данных в рамках одного соединения. Благодаря кодированию ProtoBuf размер информации уменьшается вдвое по сравнению с форматом JSON, что делает передачу данных быстрее и эффективнее. Только представьте, если использовать ERSPAN для зеркалирования интересующих потоков, а затем отправлять их на сервер анализа через gRPC, значительно ли улучшится возможности и эффективность автоматической эксплуатации и технического обслуживания сети?


Дата публикации: 10 мая 2022 г.