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

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

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

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

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

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

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

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

오늘은 IP의 세 계층을 통해 전송될 수 있는 원격 인터넷 트래픽 모니터링 기술인 ERSPAN(Encapsulated Remote Switch Port Analyzer)에 대해 알아보겠습니다. ERSPAN은 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. 유형 I

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

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

GRE 헤더 형식 I

2. 유형 II

Type II에서는 GRE 헤더의 C, R, K, S, S, Recur, Flags, Version 필드가 S 필드를 제외하고 모두 0입니다. 따라서 Type II의 GRE 헤더에는 Sequence Number 필드가 표시됩니다. 즉, Type II는 수신 GRE 패킷의 순서를 보장할 수 있으므로, 네트워크 장애로 인해 순서가 잘못된 많은 GRE 패킷이 정렬되지 않는 것을 방지할 수 있습니다.

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

GRE 헤더 형식 II

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

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

ERSPAN 헤더 형식 II

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

CRC

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

3. 유형 III

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

ERSPAN Type III 복합 헤더에는 필수 12바이트 헤더와 선택 사항인 8바이트 플랫폼별 하위 헤더가 포함되어 있습니다.

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

ERSPAN 헤더 형식 III

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

CRC

Type III의 헤더 포맷에서 볼 수 있듯이, Type II의 기반이 되는 Ver, VLAN, COS, T, Session 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 인덱스

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

ERSPAN의 고유한 기능 헤더를 사용하면 네트워크 트래픽을 보다 세부적으로 분석할 수 있으며, 관심 있는 네트워크 트래픽과 일치하도록 ERSPAN 프로세스에 해당 ACL을 간단히 마운트할 수 있습니다.

ERSPAN, RDMA 세션 가시성 구현

RDMA 시나리오에서 RDMA 세션 시각화를 달성하기 위해 ERSPAN 기술을 사용하는 예를 살펴보겠습니다.

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

RoCEv2: RDMA over 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_header (RG-S6520-64CQ에 적용 가능)

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

• 오프셋: 기본 필드를 기준으로 한 오프셋을 나타냅니다. 값 범위는 0~126입니다.

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

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

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

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

전자는 스위치가 전송한 ECN 메시지를 수신한 후(eout 버퍼가 임계값에 도달했을 때) RDMA 수신기에서 생성되는데, 이 메시지에는 혼잡을 유발하는 흐름 또는 QP에 대한 정보가 포함되어 있습니다. 후자는 RDMA 전송에 패킷 손실 응답 메시지가 있음을 나타내는 데 사용됩니다.

전문가 수준의 확장 목록을 사용하여 두 메시지를 일치시키는 방법을 살펴보겠습니다.

RDMA CNP

전문가 액세스 목록 확장 RDMA

udp any any any any eq 4791 허용udf 1 l4_헤더 8 0x8100 0xFF00(RG-S6520-64CQ와 일치)

udp any any any any eq 4791 허용udf 1 l5_헤더 0 0x8100 0xFF00(RG-S6510-48VS8CQ와 일치)

RDMA CNP 2

전문가 액세스 목록 확장 RDMA

udp any any any any eq 4791 허용udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(RG-S6520-64CQ와 일치)

udp any any any any eq 4791 허용udf 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일