[Network] VXLAN(Virtual eXtention LAN) MAC 주소 학습 방법 (Multicast & BGP) & ARP 동작 방식
본문 바로가기
IT 이야기/공부합시다

[Network] VXLAN(Virtual eXtention LAN) MAC 주소 학습 방법 (Multicast & BGP) & ARP 동작 방식

by 찬찬이 아빠 2023. 6. 28.
반응형

개인적으로 네트워크 공부를 위해 정리한 내용들입니다.
함께 공부하자는 취지로 내용을 공유합니다.


1. VXLAN (Virtual eXtention LAN) MAC 주소 학습 방법

  • Remote HOST의 MAC주소를 학습하는 방법
    • Multicast 기반으로 VXLAN Flood & Learn 수행하는 방법
    • Unicast 기반(VXLAN with MP-BGP EVPN)으로 수행하는 방법

(1) VXLAN Flood and Learn Multicast-Based (1세대)

  • Multicast를 사용하여 Remote VTEP과 HOST정보를 학습하는 것

① Multicast 사용 목적

  • Broadcast, Unkown Unicast, Multicast (BUM) 트래픽 전송
  • Remote VTEP 발견
  • Remote-HOST MAC 주소를 학습하고 VXLAN Segment 마다 MAC to VTEP 맵핑
  • Multicast를 사용하면 Layer 2 Flooding 범위를 감소 시킬 수 있음
    • VNI와 Multicast를 맵핑을 통해 BUM Traffic이 발생하면 멀티캐스트 그룹으로만 트래픽을 전송

② 특징

  • 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 대응이 어려움)

③ 동작 방식

  • VTEP 장비가 패킷을 받으면 Local Table을 먼저 참조 하고 없을 경우 Multicast Group으로 전달함
  • Multicast Group에 속해 있는 모든 장비에게 패킷이 전달(Flooding)되고, 특정 VTEP에서 해당 패킷에 대해 회신
  • 해당 과정을 통해 Remote VTEP & Remote MAC 주소를 학습하고 최종적으로는 VTEP 사이 Unicast 통신 수행

End SYSTEM A와 End SYSTEM B 사이 통신 과정

  1. End System A는 ARP Request 패킷을 생성하여 End System B의 MAC 주소를 요청 합니다.
  2. ARP Request 패킷이 VTEP#1에 도달하고 Local Table을 먼저 탐색 합니다.
  3. 요청한 MAC 주소를 알지 못할 경우 ARP 요청 패킷을 VXLAN으로 캡슐화하고, VNI에 맵핑 된 멀티캐스트 주소로 전송 합니다.
  4. Multicast RP가 해당 패킷을 수신하고  멀티캐스트 주소를 확인 후 해당 주소에 참여하고 있는 모든 VTEP에게 패킷을 전달 합니다.
  5. VTEP은 VXLAN 패킷을 받고 캡슐화 해제를 수행하고 원본 이더넷 프레임을 참조하여 End System A의 MAC 주소와 Remote VTEP 주소를 학습 합니다. 
  6. 각각의 VTEP 장비들은 ARP Request 메시지를 Local Network로 전달 합니다.
  7. 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로 전달 합니다. 
  8. VTEP#1 장비는 수신한 패킷을 캡슐화 해제를 수행하고 ARP Reply 메시지를 End System A 에게 전달 합니다. 
  9. MAC 주소 학습이 수행 될 때 해당 MAC과 연관이 있는 VTEP의 정보도 같이 학습이 됩니다. 
  10. Remote VTEP이 가진 HOST 정보를 식별한 뒤에는 Unicast를 사용하여 통신을 하게 됩니다. 

(2) VXLAN Flood and Learn Unicast-Based with BGP (2세대)

  • BGP를 이용하여 VTEP은 자신의 정보를 BGP RR(Route-Reflector)에게 전달하고 RR은 해당 정보를 VTEP들에게 전파

① BGP 사용 목적

BGP

  • BGP를 사용하여 VXLAN Control Plane 역할을 수행하며 결과적으로 불필요한 Flooding을 최소화 시킴
  • BGP를 사용하여 Neighbor 관계를 생성하고, 정보 전파를 용이하게 함

② 특징

  • 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을 수행 시 별도의 외부 라우터 필요없음

③ 동작방식

BGP 동작방식

1) VTEP들은 호스트 정보 (IP + MAC) 정보를 iBGP RR로 광고

2) BGP가 모든 호스트 정보들을 다른 VTEP 장비들에게 전파

3) VTEP장비들은 Remote Host 정보들을 습득하게 되고 Routing Table 및 Forwarding Table에 저장


2. VXLAN With BGP 환경에서의 ARP 동작 방식

  • VTEP이 ARP정보를 알고 있는경우 VTEP이 ARP 요청에 응답(ARP Suppression)
  • VTEP이 ARP정보를 모르는 경우 VTEP이 ARP 요청을 네트워크로 Flooding 하고 ARP 정보를 학습

(1) ARP Suppression

  • ARP 패킷이 발생하면 VTEP 장비가 해당 ARP 패킷에 응답하는 기술
  • ARP Suppression 기능을 통해 불필요한 Broadcast가 감소하는 효과를 얻을 수 있음

ARP Suppression

 

(2) ARP Flooding

ARP Flooding

1) 호스트 A가 IP_B의 물리적인 주소를 획득하기 위해 ARP 정보를 발생

2) 호스트 A가 연결된 VTEP#1는 IP_B에 대한 ARP 정보가 없기 때문에 ARP 패킷을 네트워크로 Flooding을 수행(BUM 트래픽 전달은 멀티캐스트로 수행 함)

ARP Flooding

3) 호스트 B가 ARP 패킷을 받고 VTEP#2에게 응답

4) VTEP#2는 해당 정보를 BGP RR에게 전달하고 순차적으로 모든 VTEP에게 전파


3. 정보 출처

https://white-polarbear.tistory.com/85

 

VXLAN (Virtual eXtention LAN) MAC 주소 학습 방법 (Multicast & BGP)

● VXLAN (Virtual eXtention LAN) MAC 주소 학습 방법 Remote HOST의 MAC주소를 학습하는 방법은 Multicast 기반으로 VXLAN Flood & Learn 수행하는 방법과 Unicast 기반(VXLAN with MP-BGP EVPN)으로 수행하는 방법이 가장 널

white-polarbear.tistory.com

https://white-polarbear.tistory.com/108

 

VXLAN (Virtual eXtention LAN) ARP 동작 방식

● VXLAN With BGP 환경에서의 ARP 동작 - VTEP이 ARP정보를 알고 있는경우 VTEP이 ARP 요청에 응답하고 이를 ARP Suppression 이라고 합니다. - VTEP이 ARP정보를 모르는 경우 VTEP이 ARP 요청을 네트워크로 Flooding

white-polarbear.tistory.com

반응형

댓글