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

Наиболее распространенным инструментом для мониторинга сети и устранения неполадок на сегодняшний день является Switch Port Analyzer (SPAN), также известный как Port Mirroring. Он позволяет нам контролировать сетевой трафик в обходном режиме, не мешая службам в активной сети, и отправляет копию контролируемого трафика на локальные или удаленные устройства, включая Sniffer, 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

Кроме того, поле Protocol Type в заголовке GRE также указывает внутренний тип ERSPAN. Поле Protocol Type 0x88BE указывает на ERSPAN Type II, а 0x22EB указывает на ERSPAN Type 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: Удаленный прямой доступ к памяти позволяет сетевому адаптеру сервера A считывать и записывать память сервера B с помощью интеллектуальных сетевых интерфейсных карт (inics) и коммутаторов, достигая высокой пропускной способности, низкой задержки и низкого использования ресурсов. Он широко используется в сценариях больших данных и высокопроизводительного распределенного хранения.

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, становятся популярными среди студентов O&M в области сетевого автоматического O&M. Использование gRPC в качестве базового протокола для отправки обратного зеркального трафика также имеет много преимуществ. Например, основанный на протоколе HTTP/2, он может поддерживать механизм потоковой передачи push в том же соединении. Благодаря кодировке ProtoBuf размер информации уменьшается вдвое по сравнению с форматом JSON, что делает передачу данных более быстрой и эффективной. Только представьте, если вы используете ERSPAN для зеркалирования заинтересованных потоков, а затем отправляете их на сервер анализа на gRPC, значительно ли это улучшит возможности и эффективность автоматической эксплуатации и обслуживания сети?


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