Сегодня наиболее распространенным инструментом для мониторинга сети и устранения неполадок является анализатор портов коммутатора (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 инкапсулируются с использованием GRE и пересылаются в любой пункт назначения с IP-адресацией через Ethernet. В настоящее время ERSPAN в основном используется в сетях IPv4, а поддержка IPv6 станет обязательным требованием в будущем.
Для общей структуры инкапсуляции ERSAPN следующим образом является зеркальный захват пакетов ICMP:
Кроме того, поле «Тип протокола» в заголовке 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 следующий:
2. Тип II
В типе II все поля C, R, K, S, S, Recur, Flags и Version в заголовке GRE имеют значение 0, за исключением поля S. Поэтому поле порядкового номера отображается в заголовке GRE типа II. То есть тип II может обеспечить порядок приема пакетов GRE, так что большое количество пакетов GRE, находящихся не в порядке, не может быть отсортировано из-за сбоя сети.
Формат заголовка GRE типа II следующий:
Кроме того, формат кадра ERSPAN Type II добавляет 8-байтовый заголовок ERSPAN между заголовком GRE и исходным зеркальным кадром.
Формат заголовка ERSPAN для типа II следующий:
Наконец, сразу за исходным кадром изображения находится стандартный 4-байтовый код циклического избыточного кода Ethernet (CRC).
Стоит отметить, что в реализации зеркальный кадр не содержит поля FCS исходного кадра, вместо этого пересчитывается новое значение CRC на основе всего ERSPAN. Это означает, что принимающее устройство не может проверить правильность CRC исходного кадра, и мы можем только предполагать, что зеркалируются только неповрежденные кадры.
3. Тип III
Тип III представляет более крупный и гибкий составной заголовок для решения все более сложных и разнообразных сценариев мониторинга сети, включая, помимо прочего, управление сетью, обнаружение вторжений, анализ производительности и задержек и многое другое. Этим сценам необходимо знать все исходные параметры рамки зеркала и включать те, которых нет в самой исходной рамке.
Составной заголовок ERSPAN Type III включает обязательный 12-байтовый заголовок и дополнительный 8-байтовый подзаголовок, зависящий от платформы.
Формат заголовка 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 содержит ответное сообщение о потере пакета.
Давайте посмотрим, как сопоставить эти два сообщения, используя расширенный список экспертного уровня:
расширенный список экспертного доступа 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
разрешить 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 г.