ERSPAN의 Mylinking™ 네트워크 가시성의 과거와 현재

오늘날 네트워크 모니터링 및 문제 해결에 가장 널리 사용되는 도구는 SPAN(Switch Port Analyzer)으로, 포트 미러링이라고도 합니다. SPAN을 사용하면 실제 네트워크 서비스에 영향을 주지 않고 대역 외 모드에서 네트워크 트래픽을 모니터링할 수 있으며, 모니터링된 트래픽의 복사본을 스니퍼, IDS 또는 기타 네트워크 분석 도구를 포함한 로컬 또는 원격 장치로 전송할 수 있습니다.

일반적인 사용 사례는 다음과 같습니다.

• 제어/데이터 프레임을 추적하여 네트워크 문제를 해결합니다.

• VoIP 패킷을 모니터링하여 지연 시간과 지터를 분석합니다.

• 네트워크 상호 작용을 모니터링하여 지연 시간을 분석합니다.

• 네트워크 트래픽을 모니터링하여 이상 징후를 감지합니다.

SPAN 트래픽은 동일한 소스 장치의 다른 포트로 로컬 미러링되거나 소스 장치의 레이어 2에 인접한 다른 네트워크 장치로 원격 미러링될 수 있습니다(RSPAN).

오늘은 IP 3계층을 통해 전송할 수 있는 원격 인터넷 트래픽 모니터링 기술인 ERSPAN(Encapsulated Remote Switch Port Analyzer)에 대해 이야기해 보겠습니다. 이는 SPAN을 확장하여 캡슐화된 원격(Encapsulated Remote) 기능을 제공하는 기술입니다.

ERSPAN의 기본 작동 원리

먼저 ERSPAN의 기능을 살펴보겠습니다.

• 소스 포트에서 전송된 패킷의 사본이 GRE(Generic Routing Encapsulation)를 통해 파싱을 위해 대상 서버로 전송됩니다. 서버의 물리적 위치는 제한되지 않습니다.

• 칩의 사용자 정의 필드(UDF) 기능을 활용하면, 전문가 수준의 확장 목록을 통해 기본 도메인을 기반으로 1~126바이트의 임의의 오프셋을 수행하고 세션 키워드를 매칭하여 TCP 3방향 핸드셰이크 및 RDMA 세션과 같은 세션 시각화를 구현할 수 있습니다.

• 샘플링 속도 설정 지원;

• 패킷 가로채기 길이(패킷 슬라이싱)를 지원하여 대상 서버의 부하를 줄입니다.

이러한 기능들을 통해 ERSPAN이 오늘날 데이터 센터 내부 네트워크 모니터링에 필수적인 도구인 이유를 알 수 있습니다.

ERSPAN의 주요 기능은 크게 두 가지 측면으로 요약할 수 있습니다.

• 세션 가시성: ERSPAN을 사용하여 백엔드 서버에 생성된 모든 새로운 TCP 및 원격 직접 메모리 액세스(RDMA) 세션을 수집하여 표시합니다.

• 네트워크 문제 해결: 네트워크 문제가 발생했을 때 오류 분석을 위해 네트워크 트래픽을 캡처합니다.

이를 위해 소스 네트워크 장치는 방대한 데이터 스트림에서 사용자에게 필요한 트래픽을 필터링하고, 복사본을 만들고, 각 복사본 프레임을 수신 장치로 정확하게 라우팅하는 데 필요한 추가 정보를 담은 특수 "슈퍼프레임 컨테이너"에 캡슐화해야 합니다. 또한 수신 장치가 모니터링 대상 원본 트래픽을 추출하고 완벽하게 복구할 수 있도록 해야 합니다.

수신 장치는 ERSPAN 패킷의 캡슐화 해제를 지원하는 다른 서버일 수 있습니다.

ERSPAN 패킷 캡슐화

ERSPAN 유형 및 패키지 형식 분석

ERSPAN 패킷은 GRE를 사용하여 캡슐화되고 이더넷을 통해 IP 주소 지정이 가능한 모든 목적지로 전달됩니다. ERSPAN은 현재 주로 IPv4 네트워크에서 사용되며, 향후 IPv6 지원이 필수 요건이 될 것입니다.

ERSAPN의 일반적인 캡슐화 구조에 대한 ICMP 패킷의 미러 패킷 캡처는 다음과 같습니다.

ERSAPN의 캡슐화 구조

ERSPAN 프로토콜은 오랜 기간에 걸쳐 개발되었으며, 기능이 향상됨에 따라 "ERSPAN 유형"이라고 불리는 여러 버전이 만들어졌습니다. 각 유형은 서로 다른 프레임 헤더 형식을 가지고 있습니다.

이는 ERSPAN 헤더의 첫 번째 버전 필드에 정의되어 있습니다.

ERSPAN 헤더 버전

또한 GRE 헤더의 프로토콜 유형 필드는 내부 ERSPAN 유형을 나타냅니다. 프로토콜 유형 필드 0x88BE는 ERSPAN 유형 II를 나타내고, 0x22EB는 ERSPAN 유형 III를 나타냅니다.

1. 제1형

ERSPAN의 I형 프레임은 IP와 GRE 정보를 원래 미러 프레임의 헤더에 직접 캡슐화합니다. 이 캡슐화로 인해 원래 프레임에 38바이트(MAC 14바이트 + IP 20바이트 + GRE 4바이트)가 추가됩니다. 이 형식의 장점은 헤더 크기가 작아 전송 비용을 절감할 수 있다는 것입니다. 그러나 GRE 플래그 및 버전 필드를 0으로 설정하기 때문에 확장 필드를 포함하지 않으며, I형 프레임은 널리 사용되지 않으므로 더 이상 확장할 필요가 없습니다.

GRE I 헤더 형식은 다음과 같습니다.

GRE 헤더 형식 I

2. 제2형

타입 II에서는 GRE 헤더의 C, R, K, S, Recur, Flags, Version 필드가 S 필드를 제외하고 모두 0입니다. 따라서 타입 II의 GRE 헤더에는 시퀀스 번호 필드가 표시됩니다. 즉, 타입 II는 수신된 GRE 패킷의 순서를 보장하여 네트워크 오류로 인해 순서가 뒤바뀐 GRE 패킷이 대량으로 발생하는 문제를 방지할 수 있습니다.

GRE II형 헤더 형식은 다음과 같습니다.

GRE 헤더 형식 II

또한 ERSPAN Type II 프레임 형식은 GRE 헤더와 원래 미러링된 프레임 사이에 8바이트 ERSPAN 헤더를 추가합니다.

ERSPAN II 유형 헤더 형식은 다음과 같습니다.

ERSPAN 헤더 형식 II

마지막으로, 원본 이미지 프레임 바로 뒤에는 표준 4바이트 이더넷 순환 중복 검사(CRC) 코드가 있습니다.

CRC

구현 과정에서 미러 프레임에는 원본 프레임의 FCS 필드가 포함되지 않고, 대신 전체 ERSPAN을 기반으로 새로운 CRC 값이 재계산된다는 점에 유의해야 합니다. 즉, 수신 장치는 원본 프레임의 CRC 정확성을 검증할 수 없으며, 손상되지 않은 프레임만 미러링된다고 가정할 수밖에 없습니다.

3. 제3형

타입 III는 네트워크 관리, 침입 탐지, 성능 및 지연 분석 등을 포함하되 이에 국한되지 않는 점점 더 복잡하고 다양한 네트워크 모니터링 시나리오에 대응하기 위해 더 크고 유연한 복합 헤더를 도입했습니다. 이러한 시나리오에서는 미러 프레임의 모든 원본 매개변수를 알아야 하며, 원본 프레임 자체에는 없는 매개변수까지 포함해야 합니다.

ERSPAN Type III 복합 헤더는 필수 12바이트 헤더와 선택적 8바이트 플랫폼별 서브헤더를 포함합니다.

ERSPAN 유형 III 헤더 형식은 다음과 같습니다.

ERSPAN 헤더 형식 III

다시 말해, 원래 미러 프레임 다음에는 4바이트 CRC가 있습니다.

CRC

타입 III의 헤더 형식에서 볼 수 있듯이, 타입 II를 기반으로 Ver, VLAN, COS, T 및 세션 ID 필드를 유지하는 것 외에도 다음과 같은 여러 특수 필드가 추가되었습니다.

• BSO: ERSPAN을 통해 전송되는 데이터 프레임의 로드 무결성을 나타내는 데 사용됩니다. 00은 양호한 프레임, 11은 불량 프레임, 01은 짧은 프레임, 11은 큰 프레임을 나타냅니다.

• 타임스탬프: 시스템 시간과 동기화된 하드웨어 클록에서 내보낸 값입니다. 이 32비트 필드는 최소 100마이크로초 단위의 타임스탬프 정밀도를 지원합니다.

• 프레임 유형(P) 및 프레임 유형(FT): 전자는 ERSPAN이 이더넷 프로토콜 프레임(PDU 프레임)을 전송하는지 여부를 지정하는 데 사용되고, 후자는 ERSPAN이 이더넷 프레임 또는 IP 패킷을 전송하는지 여부를 지정하는 데 사용됩니다.

• HW ID: 시스템 내 ERSPAN 엔진의 고유 식별자;

• Gra(타임스탬프 세분성): 타임스탬프의 세분성을 지정합니다. 예를 들어, 00B는 100마이크로초 세분성, 01B는 100나노초 세분성, 10B는 IEEE 1588 세분성을 나타내며, 11B는 더 높은 세분성을 구현하기 위해 플랫폼별 하위 헤더가 필요합니다.

• 플랫폼 ID와 플랫폼별 정보: 플랫폼별 정보 필드는 플랫폼 ID 값에 따라 형식과 내용이 다릅니다.

포트 ID 인덱스

위에서 지원하는 다양한 헤더 필드는 원래의 트렁크 패키지와 VLAN ID를 유지하면서 오류 프레임이나 BPDU 프레임을 미러링하는 등 일반 ERSPAN 애플리케이션에서도 사용할 수 있다는 점에 유의해야 합니다. 또한, 미러링 중에 각 ERSPAN 프레임에 주요 타임스탬프 정보 및 기타 정보 필드를 추가할 수 있습니다.

ERSPAN 자체의 기능 헤더를 사용하면 네트워크 트래픽을 더욱 세밀하게 분석할 수 있으며, 관심 있는 네트워크 트래픽에 해당하는 ACL을 ERSPAN 프로세스에 간단히 마운트할 수 있습니다.

ERSPAN은 RDMA 세션 가시성을 구현합니다.

RDMA 환경에서 ERSPAN 기술을 사용하여 RDMA 세션을 시각화하는 예를 살펴보겠습니다.

RDMA원격 직접 메모리 접근(RDM)은 지능형 네트워크 인터페이스 카드(INIC)와 스위치를 사용하여 서버 A의 네트워크 어댑터가 서버 B의 메모리를 읽고 쓸 수 있도록 하는 기술로, 높은 대역폭, 낮은 지연 시간, 낮은 리소스 사용률을 제공합니다. 이 기술은 빅데이터 및 고성능 분산 스토리지 환경에서 널리 사용됩니다.

RoCEv2RDMA는 Converged Ethernet 버전 2를 사용합니다. RDMA 데이터는 UDP 헤더에 캡슐화됩니다. 목적지 포트 번호는 4791입니다.

RDMA의 일상적인 운영 및 유지 관리에는 많은 양의 데이터 수집이 필요하며, 이는 일일 수위 기준선 및 이상 경보를 수집하고 이상 문제 발생 위치를 파악하는 데 기초 자료로 사용됩니다. ERSPAN과 결합하면 대규모 데이터를 신속하게 수집하여 마이크로초 단위의 전송 품질 데이터와 스위칭 칩의 프로토콜 상호 작용 상태를 얻을 수 있습니다. 데이터 통계 및 분석을 통해 RDMA의 종단 간 전송 품질을 평가하고 예측할 수 있습니다.

RDAM 세션 시각화를 구현하려면 트래픽 미러링 시 RDMA 상호 작용 세션에 대한 키워드를 일치시키기 위해 ERSPAN이 필요하며, 전문가 확장 목록을 사용해야 합니다.

전문가 수준의 확장 목록 일치 필드 정의:

UDF는 UDF 키워드, 기본 필드, 오프셋 필드, 값 필드, 마스크 필드의 다섯 가지 필드로 구성됩니다. 하드웨어 입력 용량에 따라 최대 8개의 UDF를 사용할 수 있습니다. 하나의 UDF는 최대 2바이트에 대응할 수 있습니다.

• UDF 키워드: UDF1... UDF8에는 UDF 일치 도메인의 키워드 8개가 포함되어 있습니다.

• 기본 필드: UDF 일치 필드의 시작 위치를 식별합니다. 다음은 그 예입니다.

L4_헤더(RG-S6520-64CQ에 적용)

L5_헤더(RG-S6510-48VS8Cq용)

• 오프셋: 기준 필드를 기준으로 한 오프셋 값을 나타냅니다. 값의 범위는 0에서 126까지입니다.

• 값 필드: 일치 값. 마스크 필드와 함께 사용하여 일치시킬 특정 값을 구성할 수 있습니다. 유효 비트는 2바이트입니다.

• 마스크 필드: 마스크, 유효 비트는 2바이트입니다.

(추가: 동일한 UDF 일치 필드에 여러 항목이 사용되는 경우 기준 필드와 오프셋 필드는 동일해야 합니다.)

RDMA 세션 상태와 관련된 두 가지 핵심 패킷은 혼잡 알림 패킷(CNP)과 부정 확인 응답(NAK)입니다.

전자는 스위치가 보낸 ECN 메시지를 수신한 후(eout 버퍼가 임계값에 도달했을 때) RDMA 수신기가 생성하는 메시지로, 혼잡을 유발하는 흐름 또는 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와 호환됨)

마지막 단계로, 전문가 확장 목록을 해당 ERSPAN 프로세스에 마운트하여 RDMA 세션을 시각화할 수 있습니다.

마지막에 쓰세요

ERSPAN은 오늘날 점점 더 규모가 커지는 데이터 센터 네트워크, 점점 더 복잡해지는 네트워크 트래픽, 그리고 점점 더 정교해지는 네트워크 운영 및 유지 관리 요구 사항에 없어서는 안 될 필수 도구 중 하나입니다.

운영 및 유지보수(O&M) 자동화 수준이 높아짐에 따라 Netconf, RESTconf, gRPC와 같은 기술들이 네트워크 자동 O&M 분야에서 O&M 전공 학생들 사이에서 인기를 얻고 있습니다. 미러링된 트래픽을 전송하는 데 gRPC를 기본 프로토콜로 사용하는 것은 여러 가지 장점이 있습니다. 예를 들어, HTTP/2 프로토콜을 기반으로 동일 연결 내에서 스트리밍 푸시 메커니즘을 지원할 수 있습니다. 또한 ProtoBuf 인코딩을 사용하면 JSON 형식에 비해 정보 크기가 절반으로 줄어들어 데이터 전송 속도와 효율성이 향상됩니다. ERSPAN을 사용하여 관심 있는 스트림을 미러링한 후 gRPC를 통해 분석 서버로 전송한다면 네트워크 자동 운영 및 유지보수의 능력과 효율성이 크게 향상될 것이라고 상상해 보십시오.


게시 시간: 2022년 5월 10일