Прошлое и настоящее ERSPAN в сфере видимости сети Mylinking™

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

Некоторые типичные применения:

• Устранять неполадки в сети путем отслеживания кадров управления и данных;

• Анализируйте задержку и джиттер, контролируя пакеты VoIP;

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

• Обнаружение аномалий путем мониторинга сетевого трафика.

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

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

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

Сначала давайте рассмотрим особенности ERSPAN:

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

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

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

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

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

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

• Видимость сеанса: используйте ERSPAN для сбора всех созданных новых сеансов TCP и удаленного прямого доступа к памяти (RDMA) на внутреннем сервере для отображения;

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

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

Приемным устройством может быть другой сервер, поддерживающий декапсуляцию пакетов 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 установлены в 0, он не содержит расширенных полей, а тип I не получил широкого распространения, поэтому нет необходимости в дальнейшем расширении.

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

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

2. Тип II

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

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

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

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

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

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

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

КПР

Стоит отметить, что в данной реализации зеркальный кадр не содержит поле 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, сохраняя при этом исходный пакет Trunk и идентификатор VLAN. Кроме того, во время зеркалирования к каждому кадру ERSPAN можно добавлять ключевую информацию о временных метках и другие информационные поля.

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

ERSPAN реализует видимость сеанса RDMA

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

RDMA: Удалённый прямой доступ к памяти (Direct Memory Access) позволяет сетевому адаптеру сервера A читать и записывать данные в память сервера B, используя интеллектуальные сетевые интерфейсные карты (INIC) и коммутаторы, обеспечивая высокую пропускную способность, низкую задержку и низкое потребление ресурсов. Этот метод широко используется в сценариях обработки больших данных и высокопроизводительных распределённых хранилищ.

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

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

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

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

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

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

• Базовое поле: определяет начальную позицию поля сопоставления UDF. Ниже перечислены

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

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

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

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

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

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

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

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

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

RDMA CNP

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

разрешить udp любой любой любой любой eq 4791udf 1 l4_header 8 0x8100 0xFF00(Соответствует RG-S6520-64CQ)

разрешить udp любой любой любой любой eq 4791udf 1 l5_header 0 0x8100 0xFF00(Соответствует RG-S6510-48VS8CQ)

RDMA CNP 2

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

разрешить udp любой любой любой любой eq 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(Соответствует RG-S6520-64CQ)

разрешить udp любой любой любой любой eq 4791udf 1 l5_header 0 0x1100 0xFF00 udf 2 l5_header 12 0x6000 0xFF00(Соответствует RG-S6510-48VS8CQ)

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

Напишите в последний раз

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

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


Время публикации: 10 мая 2022 г.