스위치 엔지니어로서 VxLAN 공부 중 궁금한 점이 있었고, 이를 다음과 같이 정리하였다,
1. 다음과 같이 Underlay Network을 구성한다. 무난한 일자형 통신 구조다. 모든 VTEP간의 통신은 정상적으로 동작한다.
2. 이때, VxLAN Tunnel을 생성하여 Overlay Network를 구성하는데, Full Mesh로 생성한다.
말 그대로, [VTEP1과 VETP2] / [VTEP1과 VTEP3] / [VTEP2과 VTEP3]으로 모든 VTEP 간에는 VxLAN Tunnel을 생성하는 것이다.
3. 그러면, 다음과 같이 VxLAN Tunneling 구조가 Loop 구조인데, 이런 구성이여도 Overlay Network의 안정성에 영향이 없을까에 대한 궁금증이다.
결론은 Loop 문제는 발생하지 않는다.
이유는 다음과 같다.
1. Control Plane 기반의 MAC 주소 학습
VTEP 간 BGP-EVPN 혹은 Multicast 기반으로 MAC 주소 정보를 교환하는데, 각 VTEP은 자신이 관리하는 네트워크의 MAC 주소를 다른 VTEP와 교환하며, 트래픽을 정확하게 전달할 수 있는 MAC-to-VTEP 매핑 정보를 보유/유지한다.
MAC 주소 | 학습된 장치의 MAC 주소 |
VTEP IP | MAC 주소가 속한 VTEP의 IP 주소 |
VNI | MAC 주소가 속한 VxLAN Network Identifier |
Local/Remote 정보 | 해당 MAC 주소가 로컬 혹은 리모트 VTEP를 통해 학습되었는지 |
MAC-to-VTEP 확인 방법
VTEP 스위치 명령어 확인
= show bgp l2vpn evpn (BGP EVPN을 통해 학습한 MAC-to-VTEP 정보를 표시)
= show nve vni (특정 VNI와 관련된 상태 정보를 표시)
2. Split-Horizon Rule
VxLAN에서는 별도의 설정을 하지 않아도 Split-Horizon Rule이 적용된다. 이 Rule이 적용되어 Loop가 발생하지 않는 것인데, 의미는 VxLAN 캡슐화가 된 트래픽은 다시 VxLAN Tunnel로 전송되지 않는다는 의미다.
위의 구성에서 살펴보자. VTEP 1에서 VXLAN 캡슐화된 트래픽을 VTEP 2로 보냈다면, VTEP 2는 이를 디캡슐화하여 로컬 네트워크로만 전달하고, 다시 VXLAN 터널로 전송하지 않는다. 이 Rule이 VxLAN에서 Loop를 방지하는 핵심 메커니즘이다.
3. BUM 트래픽 처리의 복제 메커니즘
BUM는 Broadcast / Unicast / Multicat를 축약하여 부르는 통신방식이다. 단말 측에서 다른 영역에 존재하는 단말과 통신하고자 할 때, 발생되는 트래픽이다.
Broadcast | ARP 요청 등 네트워크 내 모든 장치로 전달해야 하는 트래픽. |
Unknown Unicast | 대상 MAC 주소를 학습하지 못한 상태에서 발생하는 트래픽. |
Multicast | 특정 Multicast 그룹에 가입한 장치들에게 전달되는 트래픽. |
2번에서 설명한 Rule의 연장선으로, 위 구성을 풀어서 설명하면 이렇게 설명할 수 있다.
VTEP1의 하단 단말에서 발생한 BUM 트래픽을 Overlay Network(VxLAN Tunnel)를 통하여, VTEP2 하단 PC로 통신하는 과정이다. 그래서, BUM트래픽을 송신하고자 하는 VTEP1은 해당 BUM 트래픽을 복제하여 VTEP2로 전달해야한다, 복제 방식은 Static / BGP-EVPN / Multicast 방식을 사용한다. 복제한다는 의미는 BUM 트래픽을 전달하는 방법으로 이해하면 된다. 전달하는 방법이 정해졌다면, L2 트래픽을 Underlay 기반(L3)에서 전달하기 위해, VxLAN 헤더(VNI를 포함)를 추가하여 VxLAN Tunnel를 통해 VTEP2로 전달하는 것이다.
* 복제 방식 메커니즘 설정 옵션
VTEP의 가상 인터페이스인 [Interface nve] 에서 설정
1. Static 방식
interface nve1
no shutdown
source-interface Loopback0
member vni 10000 <-VNI 10000의 트래픽을 nve1 인터페이스에 연결. VXLAN 캡슐화에 VNI 10000을 사용.
ingress-replication protocol static
peer-ip 192.168.1.2
2. BGP 방식
interface nve1
no shutdown
source-interface Loopback0
member vni 10000
ingress-replication protocol bgp
3. Multicast 방식
interface nve1
no shutdown
source-interface Loopback0
member vni 10000 mcast-group 239.1.1.1
4. Underlay 와 Overlay 분리 네트워크
당연한 이야기였다. VxLAN은 Underlay 네트워크와 Ovelay 네트워크를 분리하여 동작한다. Underlay 네트워크에서 발생할 수 있는 Loop는 일반적인 Layer 3 라우팅 프로토콜(OSPF, BGP 등)이 해결하고, Overlay 네트워크는 VXLAN 자체 메커니즘으로 Loop를 방지한다.
5. 결론
VxLAN의 Loop는 Split-Horizon Rule과 다양한 이유로 발생하지 않는다. 단순한 궁금증으로 다양한 관점으로 공부할 수 있어서 매우 만족스럽다. 엉뚱한 상상을 자주 해보자.
'IT > ㄴ SDN' 카테고리의 다른 글
[정리] SD-WAN 간단 시나리오 및 전체 구성도 (0) | 2025.01.07 |
---|---|
[정리] MP-BGP AFI / SAFI 정리 (0) | 2025.01.07 |
[정리] VxLAN with BGP-EVPN 비교표 (Cisco ACI) (0) | 2025.01.07 |
[정리] VXLAN with BGP-EVPN 비교표 (None BGP) (0) | 2025.01.07 |