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

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

Некоторые типичные варианты использования:

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

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

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

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

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

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

Основные принципы работы ЕРСПАН

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

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

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

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

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

Благодаря этим функциям вы можете понять, почему 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 указывает тип III ERSPAN.

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. Поэтому поле порядкового номера отображается в заголовке 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 и информация, специфичная для платформы: поля с информацией, специфичной для Platf, имеют разные форматы и содержимое в зависимости от значения идентификатора Platf.

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

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

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

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

Давайте рассмотрим пример использования технологии ERSPAN для визуализации сеанса 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 содержит ответное сообщение о потере пакета.

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

РДМА 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)

РДМА 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 является одним из незаменимых инструментов в современных сетях центров обработки данных, которые становятся все более крупными, со все более сложным сетевым трафиком и все более сложными требованиями к эксплуатации и обслуживанию сети.

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


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