본문 바로가기
Routing/VXLAN-EVPN

[EVPN] EVPN 구성 필수 요소 (RD, RT, MP-BGP)

by chan10 2025. 12. 27.

Route Distinguisher (RD)

RD(Route Distinguisher) 는 EVPN(VPN) 환경에서 경로(Route)를 고유하게 구분하기 위한 값입니다. EVPN은 여러 테넌트(고객)가 동일한 MAC 주소 또는 IP 주소를 사용할 수 있기 때문에, 단순히 MAC/IP만으로는 경로를 구분할 수 없습니다. 따라서 RD를 붙여서 ‘고유한 경로’로 만들고, 다른 테넌트의 경로와 충돌하지 않도록 합니다.

EVPN은 BGP를 확장하여 사용하는데, RD는 일반적으로 `ASN:번호` 또는 `IP:번호` 형식의 8바이트(64비트)로 구성됩니다. 각 `VRF` 및 `EVI(EVPN Instance)` 별로 RD를 할당되며 동일한 IP 주소라도 다른 RD를 가지면 BGP에서는 서로 다른 경로로 인식하게 됩니다.

 

RD는 크게 두 가지 타입으로 구성할 수 있습니다.

  • Type 0 (Administrator: 2byte, Assigned Number: 4byte)
    예: `65000:100` (AS번호: 65000, 로컬 번호: 100)
  • Type 1 (Administrator: 4byte, Assigned Number: 2byte)
    예: `192.168.1.1:200` (IPv4 주소 기반)

 

EVPN이 MP-BGP를 통해 MAC/IP 경로를 광고할 때, 해당 경로 앞에 RD를 붙여서 EVPN 경로로 변환합니다.

예를 들어, 같은 MAC 주소 `aa:bb:cc:dd:ee:ff` 가 Tenant A 와 Tenant B 에서 동시에 존재한다고 가정합니다.

테넌트 MAC 주소 RD 최종 경로 (고유 식별자)
Tenant A aa:bb:cc:dd:ee:ff 65000:100 65000:100:aa:bb:cc:dd:ee:ff
Tenant B aa:bb:cc:dd:ee:ff 65000:200 65000:200:aa:bb:cc:dd:ee:ff

RD 덕분에 두 MAC이 서로 충돌하지 않고, 각각 별도의 경로로 구분됩니다.

 

EVPN 환경에서 RD는 각 VPN 인스턴스를 고유하게 식별하기 위한 값으로 단순히 ‘구분자’ 역할만 합니다. 여러 고객(테넌트)이 같은 MAC/IP 주소를 사용할 때, RD를 붙여줌으로써 글로벌 네트워크에서 고유한 경로로 구분할 수 있습니다.

예를 들어, 같은 이름을 가진 학생이 두 명 있다면, RD는 학번처럼 ‘고유 번호’를 붙여주는 것과 같습니다.

 

Route Target (RT)

  • RT(Route Target) BGP Extended Community 값으로 표현되는 64비트 식별자로, 네트워크 경로의 가져오기(Import) 및 내보내기(Export) 정책을 결정하는 데 사용됩니다.
  • EVPN에서 MP-BGP를 통해 전송되는 MAC/IP 경로에는 `RD + RT` 가 붙습니다.
  • RD가 "경로를 유일하게 구분"하는 역할이라면, RT는 “누가 이 경로를 가져갈지”를 결정하는 역할입니다.

RT 동작 방식

  • Import RT는 해당 VNI에 적용할 수 있는 외부 경로를 결정하며, Export RT는 외부로 내보내는 경로에 할당됩니다.
  • EVPN 인스턴스(EVI)에서 경로를 광고할 때, 해당 경로에 특정 RT 값을 붙여서 Export합니다.
  • 다른 VTEP/EVI에서 이 경로를 수신할 때, 자신이 설정한 Import RT와 일치하는 값이 있으면 그 경로를 수용합니다.
  • 이를 통해 데이터센터 또는 다양한 네트워크 패브릭 간에 멀티테넌시와 네트워크 분리 및 연결이 가능해집니다.

RD가 ‘학번’이라면, RT는 ‘어느 반에서 수업을 같이 들을 수 있는지’를 정하는 규칙과 같습니다.

  • `Export RT`: 내 경로에 ‘라벨’을 붙여서 다른 EVPN 인스턴스가 가져갈 수 있도록 공유
  • `Import RT`: 특정 ‘라벨’이 붙은 경로만 내 인스턴스로 받아옴

 

MP-BGP (Multiprotocol BGP)

MP-BGP(Multiprotocol BGP)는 BGP의 확장 버전으로, IPv4 유니캐스트 경로 정보만 교환할 수 있는 기존 BGP의 한계를 극복하기 위해 개발되었습니다. MP-BGP는 다양한 네트워크 프로토콜 및 주소 체계에 대한 라우팅 정보를 전달할 수 있도록 해줍니다.

 

MP-BGP의 주요 특징

  • 다양한 주소 체계 지원: MP-BGP는 IPv4 유니캐스트 외에도 IPv6 유니캐스트, IPv4/IPv6 멀티캐스트, 그리고 MPLS VPN에 사용되는 VPN-IPv4/VPN-IPv6와 같은 특수한 주소 체계의 경로 정보를 전달할 수 있습니다.
  • AFI / SAFI: MP-BGP는 `AFI`와 `SAFI`라는 새로운 필드를 BGP 업데이트 메시지에 추가합니다.
    • `AFI(Address Family Identifier)`
      • IPv4, IPv6 등과 같은 주소 체계의 종류를 식별하는 2바이트 필드입니다.
      • 즉, 어떤 네트워크 계층 프로토콜에 대한 경로 정보인지를 나타냅니다.
      • 예: IPv4=1, IPv6=2, 25=L2VPN (EVPN 포함)
    • `SAFI(Subsequent Address Family Identifier)`
      • 유니캐스트, 멀티캐스트, VPN 등과 같은 주소 체계 내의 특정 유형을 식별하는 1바이트 필드입니다.
      • AFI만으로는 경로의 용도를 완전히 구분할 수 없기 때문에 SAFI가 필요합니다.
      • 예: Unicast=1, Multicast=2, VPNv4=128, EVPN=70
    • 이 두 필드를 통해 BGP는 각기 다른 네트워크 유형의 경로를 구분하여 처리할 수 있습니다.

MP-BGP는 AFI와 SAFI의 조합을 사용하여 라우팅 정보를 정교하게 분류하고 교환합니다.

이 조합은 BGP 피어 간 피어링을 맺을 때 Capability Negotiation 과정에서 협상되며, 서로 어떤 종류의 경로를 주고받을지 결정합니다.

AFI SAFI 설명 예시
1 1 IPv4 유니캐스트 일반적인 IPv4 라우팅 경로
2 1 IPv6 유니캐스트 IPv6 라우팅 경로
1 128 VPNv4 MPLS L3 VPN 경로
25 70 L2VPN EVPN EVPN MAC/IP 경로

 

MP-BGP는 기존 BGP가 IP 라우팅 정보를 교환하던 기능을 확장해, MAC 주소, IP 주소, IP Prefix, VETP 정보 등을 전달할 수 있도록 합니다.

BGP가 단순히 “도로 지도(라우팅 테이블)”를 교환하는 역할이었다면, MP-BGP는 “도로 지도 + 건물 주소(MAC/IP) + 서비스 구역 정보(VLAN/VNI)”까지 같이 교환하는 역할을 합니다.

 

 

[참고 사이트]

https://www.youtube.com/watch?v=hRnpvRB-qDw