Минуле та сьогодення ERSPAN: видимість мережі Mylinking™

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

Деякі типові способи використання:

• Вирішення проблем мережі шляхом відстеження кадрів керування/даних;

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

• Аналізуйте затримку, моніторячи мережеві взаємодії;

• Виявляти аномалії шляхом моніторингу мережевого трафіку.

Трафік SPAN може бути локально відображений на інші порти на тому ж пристрої-джерелі або віддалено відображений на інші мережеві пристрої, що прилягають до рівня 2 пристрою-джерела (RSPAN).

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

Основні принципи роботи ERSPAN

Спочатку давайте розглянемо особливості ERSPAN:

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

• За допомогою функції User Defined Field (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». Різні типи мають різні формати заголовків кадрів.

Він визначений у першому полі Version заголовка 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 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 типу II додає 8-байтовий заголовок ERSPAN між заголовком GRE та оригінальним дзеркальним кадром.

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

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

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

КПК

Варто зазначити, що в реалізації дзеркальний кадр не містить поля FCS оригінального кадру, натомість нове значення CRC перераховується на основі всього ERSPAN. Це означає, що приймальний пристрій не може перевірити правильність CRC оригінального кадру, і ми можемо лише припустити, що дзеркально відображаються лише непошкоджені кадри.

3. Тип III

Тип III впроваджує більший та гнучкіший композитний заголовок для вирішення дедалі складніших та різноманітніших сценаріїв моніторингу мережі, включаючи, але не обмежуючись, управління мережею, виявлення вторгнень, аналіз продуктивності та затримки тощо. Ці сцени повинні знати всі вихідні параметри дзеркального кадру та включати ті, яких немає в самому вихідному кадрі.

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

Формат заголовка ERSPAN для типу III такий:

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

Знову ж таки, після оригінального кадру дзеркала йде 4-байтовий CRC.

КПК

Як видно з формату заголовка Type III, окрім збереження полів Ver, VLAN, COS, T та Session ID на основі Type 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 вимагає специфічних для платформи підзаголовків для досягнення вищої гранулярності.

• Ідентифікатор платформи проти інформації, специфічної для платформи: поля інформації, специфічної для платформи, мають різні формати та вміст залежно від значення ідентифікатора платформи.

Індекс ідентифікатора порту

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

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

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

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

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

RoCEv2RDMA через конвергентний Ethernet версії 2. Дані RDMA інкапсульовані в заголовку UDP. Номер порту призначення — 4791.

Щоденна експлуатація та обслуговування RDMA вимагає збору великої кількості даних, які використовуються для збору щоденних контрольних ліній рівня води та аномальних сигналів тривоги, а також є основою для виявлення аномальних проблем. У поєднанні з ERSPAN, величезні обсяги даних можуть бути швидко зібрані для отримання мікросекундних даних про якість пересилання та стану взаємодії протоколу комутаційного чіпа. За допомогою статистики та аналізу даних можна отримати оцінку та прогнозування якості пересилання RDMA від початку до кінця.

Щоб досягти візуалізації сеансу RDAM, нам потрібно, щоб ERSPAN зіставляв ключові слова для сеансів взаємодії RDMA під час дзеркалювання трафіку, і нам потрібно використовувати розширений список експертів.

Визначення поля зіставлення розширеного списку експертного рівня:

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

• Ключове слово UDF: UDF1... UDF8 Містить вісім ключових слів домену відповідності UDF

• Базове поле: визначає початкову позицію поля відповідності UDF. Наступне

L4_заголовок (стосується RG-S6520-64CQ)

L5_заголовок (для RG-S6510-48VS8Cq)

• Зсув: вказує зсув відносно базового поля. Значення може змінюватися від 0 до 126

• Поле значення: значення, що відповідає. Його можна використовувати разом із полем маски для налаштування конкретного значення, яке потрібно зіставити. Дійсний біт — це два байти

• Поле маски: маска, дійсний біт — два байти

(Додано: Якщо в одному полі відповідності UDF використовується кілька записів, базове та зсувне поля мають бути однаковими.)

Два ключові пакети, пов'язані зі статусом сеансу RDMA, це пакет сповіщення про перевантаження (CNP) та негативне підтвердження (NAK):

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

Давайте розглянемо, як зіставити ці два повідомлення за допомогою розширеного списку експертного рівня:

RDMA CNP

розширений rdma експертного списку доступу

дозвіл udp будь-який будь-який будь-який будь-який екв. 4791udf 1 l4_header 8 0x8100 0xFF00(Сумісно з RG-S6520-64CQ)

дозвіл udp будь-який будь-який будь-який будь-який екв. 4791udf 1 l5_header 0 0x8100 0xFF00(Сумісно з RG-S6510-48VS8CQ)

RDMA CNP 2

розширений rdma експертного списку доступу

дозвіл udp будь-який будь-який будь-який будь-який екв. 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(Сумісно з RG-S6520-64CQ)

дозвіл udp будь-який будь-який будь-який будь-який екв. 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, він може підтримувати механізм потокової передачі даних в межах одного з'єднання. Завдяки кодуванню ProtoBuf розмір інформації зменшується вдвічі порівняно з форматом JSON, що робить передачу даних швидшою та ефективнішою. ​​Тільки уявіть, якщо ви використовуєте ERSPAN для дзеркалювання зацікавлених потоків, а потім надсилаєте їх на сервер аналізу на gRPC, чи значно покращить це можливості та ефективність автоматичної роботи та обслуговування мережі?


Час публікації: 10 травня 2022 р.