● VXLAN (Virtual eXtention LAN) MAC 주소 학습 방법
Remote HOST의 MAC주소를 학습하는 방법은 Multicast 기반으로 VXLAN Flood & Learn 수행하는 방법과 Unicast 기반(VXLAN with MP-BGP EVPN)으로 수행하는 방법이 가장 널리 사용되는 방법 입니다.
○ VXLAN Flood and Learn Multicast-Based (1세대)
- Multicast를 사용하여 Remote VTEP과 HOST정보를 학습하는 것을 1세대 VXLAN이라고 합니다.
1. Multicast 사용 목적
- Broadcast, Unkown Unicast, Multicast (BUM) 트래픽 전송
- Remote VTEP 발견
- Remote-HOST MAC 주소를 학습하고 VXLAN Segment 마다 MAC to VTEP 맵핑
- Multicast를 사용하면 Layer 2 Flooding 범위를 감소 시킬 수 있음
- VNI와 Multicast를 맵핑을 통해 BUM Traffic이 발생하면 멀티캐스트 그룹으로만 트래픽을 전송
2. 특징
- VXLAN에서는 VNI에 맵핑 된 Multicast에 IGMP를 이용하여 특정 Multicast 그룹에 참여하고 해당 그룹에 대한 Multicast Distribution Tree는 VTEP을 기반으로 하여 Tree가 구성 됨.
- Multicast를 통해 Broadcast, Unkown Unicast, Multicast Traffic (BUM Traffic)이 전송되며 트래픽이 전달되는 범위는 Multicast Group으로 제한
- 서로 다른 VNI 사이 라우팅을 위해 외부 라우터 필요하며 이는 Haripin Traffic을 발생 시킴
- VTEP 사이 인증기능이 없어 보안에 문제가 발생할 가능성이 존재함. (= Rogue VTEP 대응이 어려움)
3. 동작 방식
- VTEP 장비가 패킷을 받으면 Local Table을 먼저 참조 하고 없을 경우 Multicast Group으로 전달 함.
- Multicast Group에 속해 있는 모든 장비에게 패킷이 전달(Flooding)되고, 특정 VTEP에서 해당 패킷에 대해 회신.
- 해당 과정을 통해 Remote VTEP & Remote MAC 주소를 학습하고 최종적으로는 VTEP 사이 Unicast 통신 수행
End SYSTEM A와 End SYSTEM B 사이 통신 과정
- End System A는 ARP Request 패킷을 생성하여 End System B의 MAC 주소를 요청 합니다.
- ARP Request 패킷이 VTEP#1에 도달하고 Local Table을 먼저 탐색 합니다. 요청한 MAC 주소를 알지 못할 경우 ARP 요청 패킷을 VXLAN으로 캡슐화하고, VNI에 맵핑 된 멀티캐스트 주소로 전송 합니다.
- Multicast RP가 해당 패킷을 수신하고 멀티캐스트 주소를 확인 후 해당 주소에 참여하고 있는 모든 VTEP에게 패킷을 전달 합니다.
- VTEP은 VXLAN 패킷을 받고 캡슐화 해제를 수행하고 원본 이더넷 프레임을 참조하여 End System A의 MAC 주소와 Remote VTEP 주소를 학습 합니다.
- 각각의 VTEP 장비들은 ARP Request 메시지를 Local Network로 전달 합니다.
- End System B가 ARP Reply 메시지를 발생 시키고 VTEP#2가 수신하고 Local Table에서 System A's MAC 주소를 찾습니다. System A's MAC 주소가 VTEP#1에 있다는 것을 확인하고 VTEP#2는 ARP Reply 메시지를 VXLAN 헤더를 추가하여 VTEP#1에게 Unicast로 전달 합니다.
- VTEP#1 장비는 수신한 패킷을 캡슐화 해제를 수행하고 ARP Reply 메시지를 End System A 에게 전달 합니다.
- MAC 주소 학습이 수행 될 때 해당 MAC과 연관이 있는 VTEP의 정보도 같이 학습이 됩니다.
- Remote VTEP이 가진 HOST 정보를 식별한 뒤에는 Unicast를 사용하여 통신을 하게 됩니다.
○ VXLAN Flood and Learn Unicast-Based with BGP (2세대)
- BGP를 이용하여 VTEP은 자신의 정보를 BGP RR(Route-Reflector)에게 전달하고 RR은 해당 정보를 VTEP들에게 전파 합니다.
1. BGP 사용 목적
- BGP를 사용하여 VXLAN Control Plane 역할을 수행하며 결과적으로 불필요한 Flooding을 최소화 시킴.
- BGP를 사용하여 Neighbor 관계를 생성하고, 정보 전파를 용이하게 함
2. 특징
- Leaf Node에서 MP-BGP를 이용하여 호스트 / 서브넷 경로 및 외부 연결 정보를 배포
- 경로 정보를 식별하기 위해 RD (Route Distinguisher)와 RT (Route Target) 정보 활용
- RD와 RT값은 BGP Extended Community 옵션을 활용하여 전달 됨
- iBGP를 사용하며 iBGP의 제약사항 (iBGP로 받은 정보는 iBGP로 광고할 수 없음)을 극복하기 위해 Route Reflector 사용하여 확장성이 용이해짐.
- VTEP의 정보를 모든 VTEP에게 전달해야 함 (Head End Replication)
- 다른 VNI간 통신을 위해 L3 Routing을 수행 시 별도의 외부 라우터 필요없음.
3. 동작방식
1) VTEP들은 호스트 정보 (IP + MAC) 정보를 iBGP RR로 광고
2) BGP가 모든 호스트 정보들을 다른 VTEP 장비들에게 전파
3) VTEP장비들은 Remote Host 정보들을 습득하게 되고 Routing Table 및 Forwarding Table에 저장
참고 URL
https://support.huawei.com/enterprise/en/doc/EDOC1100086966
'네트워크 > Overlay Network' 카테고리의 다른 글
VXLAN (Virtual eXtention LAN) ARP 동작 방식 (1) | 2023.02.19 |
---|---|
VXLAN (Virtual eXtention LAN) High Availability & Anycast Gateway (1) | 2022.06.10 |
VXLAN (Virtual eXtention LAN) Gateway (중앙화 & 분산화) (1) | 2022.06.08 |
VXLAN (Virtual eXtention LAN) 네트워크 모델 (feat. VTEP & VNI) (1) | 2022.06.07 |
VXLAN (Virtual eXtention LAN) 기술 소개 (1) | 2022.06.07 |