본문 바로가기
네트워크/VRF

Introduction to VRF, RD, RT

by 최개미의 세계 2024. 6. 18.

1. Introduction to VRF(Virtual Routing and Forwarding)

1) Introduction to VRF

  • 'VRF'는 MPLS VPN을 구성할 때 사용하는 용어
  • 'VRF-Lite'는 MPLS를 사용하지 않고 VRF만 단독으로 구성할 때 사용하는 용어
    • 본 글에서는 편의를 위하여 'VRF-Lite'를 'VRF'로 통일하여 사용
  • 'Global Network'는 VRF를 사용하지 않는 일반적인 네트워크를 가리키는 용어

 

  • VRF는 네트워크 장비의 Table(ARP, Routing, FIB 등)을 분리하는 기술
    • 즉, VRF를 지정하지 않은 Table은 Global에 해당
  • Table을 분리하는 기술이므로 서로 다른 VRF에 동일한 Network Address가 있어도 기술적으로 문제없이 통신 가능

 

  • 보통 인터넷에서는 VRF를 '라우터 가상화' 기술이라고 소개하지만, 이는 잘못된 설명
    • Resource(CPU 및 Memory)는 VRF 별로 할당되지 않고 Global에서 관리
    • IPv4 VRF로 지정한 인터페이스로 IPv6 데이터가 수신되면 VRF가 아닌 Global로 인식

 

2) Introduction to VRF Leaking

  • VRF Table과 Global Table 또는 서로 다른 VRF Table 사이에 Route 정보를 알려주는 것을 의미
  • VRF Leaking을 이용하여 VRF↔Global 및 서로 다른 VRF 간에 통신이 가능
  • VRF Leaking 방법은 Policy, Static, Dynamic(BGP 사용)이 존재
  • Cisco 장비는 서로 다른 VRF 간에 통신을 하려면 반드시 Global을 지나야 가능

VRF→Global Leaking
Global→VRF Leaking
VRF→VRF Leaking

 

 

2. Introduction to RD(Route Distinguisher)

1) Introduction to RD

  • 본 글에서 RD(Route Distinguisher) 및 RT(Route Target)를 정확하게 정의하고 넘어가야 VRF Leaking 또는 MPLS VPN을 학습할 때 쉽게 이해 가능
  • RD란, 하나의 라우터에서 여러 VRF를 식별하는 문자
    • 즉, VRF는 각 라우터에서만 의미가 있는 것
    • RD는 BGP Route Selection에도 사용이 되지만 현재는 위 내용만 알고 넘어가는 것이 이해하기에 편리하다고 판단
  • RD가 존재하므로 서로 다른 RD를 사용하는 VRF는 동일한 Network Address 사용 가능
  • VRF에 RD를 설정해야 VRF 사용 가능
  • 한 개의 인터페이스에 오직 하나의 VRF에만 소속 가능
  • 한 개의 Route에 하나의 RD만 보유 가능
  • VRF 인터페이스로 수신한 데이터들은 해당 VRF에서만 처리
  • 어떤 Route를 Leaking(VRF↔VRF 및 VRF↔Global) 할지는 RT가 결정하며 RD는 아무 역할이 없음

 

2) RD Format

  • RD(Route Distinguisher)는 3개의 Field를 포함
  • RD(Route Distinguisher)는 3개의 Type으로 구분
  • Nokia 7750 SR-12 TiMOS-C-21.10.R1은 세 가지 Type의 RD를 지원하며 기본적으로 Type 0으로 동작
Type Administrator Field Assigned Number Field
Type 0 (2Byte) ❍ 2byte
❍ Value : 2byte AS Number(ASN)
❍ Private AS Number 사용을 지양할 것을 권고
❍ 4byte
Value : 서비스 Provider가 지정한 번호
Type 1 (2Byte) ❍ 4byte
Value :  IP Address
❍ Private IP 대역 사용을 지양할 것을 권고
❍ 2byte
Value : 서비스 Provider가 지정한 번호
Type 2 (2Byte) ❍ 4byte
Value : 4byte AS Number(ASN)
❍ Private AS Number 사용을 지양할 것을 권고
❍ 2byte
Value : 서비스 Provider가 지정한 번호

 

 

  • RD Format Example
Type Example
Type 0 ❍ IPv4 Address 192.168.1.0/24의 경우 VPN-IPv4 Address는 0:65000:100:192.168.1.0/24
 - 65000은 AS Number
 - 100은 Assigned Number
Type 1 ❍ IPv4 Address 192.168.1.0/24의 경우 VPN-IPv4 Address는 1:10.10.10.10:100:192.168.1.0/24
 - 10.10.10.10은 IP Address
 - 100은 Assigned Number
Type 2 ❍ IPv4 Address 192.168.1.0/24의 경우 VPN-IPv4 Address는 2:65000:100:192.168.1.0/24
 - 65000은 4byte AS Number
 - 100은 Assigned Number

 

 

3. Introduction to RT(Route Target)

1) Introduction to RT

  • Route Target은 VRF Leaking 할 때 사용
  • VRF Leaking 없이 VRF 사용 시, Route Target 없이 사용
  • Route Target을 설정하면 MP-BGP Update Message의 Community라는 Attribute를 이용하여 전달
  • ‘VRF→MP-BGP’ 또는 ‘MP-BGP→VRF’로 설치할 NLRI를 식별하는 데 사용
  • 하나의 NLRI에 하나의 RD만 보유할 수 있지만 RT는 여러 개 보유 가능
  • Static Route 및 PBR을 사용하여 VRF Leaking을 사용할 경우, MP-BGP 구성 가능
  • 각 Route Target은 8byte
  • Route Target에 대해 이해가 힘들다면 VRF에 대한 기본 개념과 BGP Community Attribute을 선행 학습을 하는 것을 권장

 

 

4. Introduction to MP-BGP(Multiprotocol BGP)

1) Introduction to MP-BGP

  • 앞에서 다루었던 BGPv4는 IPv4 Unicast Prefix만 광고 가능
  • MP-BGP를 사용하여 여러 종류의 Address 전달 가능
    • IPv4 Unicast / Multicast
    • IPv6 Unicast / Multicast
    • VPNv4 Unicast / Multicast
    • VPNv6 Unicast / Multicast
    • Ethernet

 

2) MP-BGP Format

  • MP-BGP를 이용하여 12byte인 VPN-IPv4 Prefix 전송 가능
    • VPNv4 Prefix는 8byte의 RD와 4byte의 IPv4 Prefix로 구성
  • VPN-IPv4는 Customer의 IPv4 Prefix가 고유하도록 RD라는 식별자를 포함
  • VPN-IPv4를 통해 BGP는 동일한 Prefix를 보유하고 있어도 서로 다른 고객의 정보라고 인식