Difference between the RD and RT
RD與RT的區別
The Route-Distinguisher (RD) & Route-Target (RT) are two different concepts that are both used in an MPLS VPN. The RD is used to keep all prefixes in the BGP table unique, and the RT is used to transfer routes between VRF’s/VPNS. Let’s take a look at an example.
RD與RT盡管都用在MPLS VPN中(譯者注:EVPN中也有用到),但它們是兩種不同的概念。RD用于確保BGP表中路由前綴的唯一性,RT則用于在VRFs/VPNs之間傳遞路由條目。參考如下示例。
In the diagram below, the orange = customer A, and the red = customer B. The ISP is creating a VPN for Customer A’s sites between Cambridge and Birmingham, and also creating a VPN between Customer B’s sites in Cambridge and Birmingham.
如圖所示,橙色代表用戶A,紅色代表用戶B。ISP為用戶A位于劍橋和伯明翰的兩個站點間創建了VPN,同樣也為用戶B在這兩地間創建了VPN。
RD
The problem here, is that in Birmingham, Customer A and Customer B are using the same prefixes (10.1.0.0/24 & 10.2.0.0/24). So how is PE2 going to keep the prefixes in the BGP table unique? The answer is, PE2 needs to create a separate RD for each customer. An RD is a 64 bit value that gets prepended in front of the 32 bit IP address in order to make a globally unique 96 bit address. On PE2 if we configure Customer A to use an RD of 1:1, and Customer B with an RD of 2:2, then in the BGP vpnv4 unicast table we will see the following entries:
那么問題來了:在伯明翰的站點,用戶A和B使用了相同的IP前綴(10.1.0.0/24 & 10.2.0.0/24),那么PE2路由器如何確保BGP表中IP前綴的唯一性呢?答案是PE2為每位用戶分配單獨的RD。RD長度為64位,再通過添加32位的IP地址后綴,共同組成一個唯一的96位地址。若在PE2上配置用戶A使用RD 1:1,用戶B使用RD 2:2,那么在BGP VPNV4單播表中我們可以看到如下的路由條目:
1:1:10.1.0.0/24
1:1:10.2.0.0/24
2:2:10.1.0.0/24
2:2:10.2.0.0/24
RT
So by pre-pending an RD in front of the route, we have created a globally unique set of BGP prefixes in the vpnv4 BGP table that can be shared between peers. The next question is, how does PE1 know which of these routes belong to Customer A, and which of these routes belong to Customer B? All we’ve done so far is just ensure the routes are globally unique in the vpnv4 BGP table. The table currently contains 4 entries that are literally just considerd prefixes (although it’s very wierd to look at). So the answer is; by using a route-target. A route target is kind of like a little tag that is attached to a route. So PE2 may add, let’s say 100:100 to routes from Customer A in Birmingham, then when PE1 checks the vpnv4 BGP table he can choose to pick out (import) routes that have this 100:100 value and put them into a separate Virtual Routing & Forwarding (VRF) table for Customer A. The configuration regarding RD’s and RT’s is displayed below.
通過在路由條目前添加RD前綴,在BGP VPNV4表中創建了全局唯一的BGP前綴,以此實現BGP對等體之間交換路由條目。接踵而來的問題是: PE1如何知道哪些路由條目屬于用戶A,哪些路由條目屬于用戶B?通過設置RD,我們僅僅確保了路由條目在BGP VPNV4表中的唯一性。當前BGP表中存在的4條路由,看上去僅僅就是前綴信息(盡管看上去很奇怪)。問題的答案是:使用RT。RT類似于添加在路由條目上的標簽。PE2 為用戶A在伯明翰的路由條目添加RT 100:100;當 PE1檢視BGP VPNV4表時,挑出擁有100:100標簽的路由條目,寫入用戶A的VRF中。關于RD,RT的配置示例如下。
**PE2**
vrf definition CustomerA
rd 1:1
route-target import 100:100
route-target export 100:100
int fa0/0
description connection to Customer A Birmingham Site
ip vrf forwarding CustomerA
So from the output, you can see that Customer A routes are made unique by prepending an RD of 1:1 to each prefix. Each route is assigned a route-target of 100:100 because of the VRF association with the interface. PE2 then exports this route target so that each of the routes will have 100:100 attached in the RT field within the BGP extended community attribute as they are sent to PE1. PE1 can then import the route-target of 100:100 so that it can associate those routes tagged with this value with the Customer A VRF.
從上述輸出中可見,用戶A的路由都添加RD 1:1的前綴,每條路由都制定了100:100的RT值。PE2 通過BGP的擴展屬性,在導出用戶A的路由時都會在RT字段填充100:100,然后發送至PE1。 PE1 通過設置導入RT值100:100,確保了擁有相同RT值的路由條目能被導入用戶A的VRF。
Summary
The RD is used purely for the purpose of ensuring routes are unique per VPN. So 10 different VPN’s could use 10.0.0.0/24, and each instance of this prefix would be globally unique. The route-target is used to identify a subset of routes within the BGP vpnv4 unicast table that should be used in a VRF for a particular customer.
RD值純用于確保每個VPN下路由條目(在BGP表中)的唯一性。因此,10個不同的VPN都能擁有10.0.0.0/24網段的路由,并且(在BGP表中)每個10.0.0.0/24網段的路由條目都是全局唯一的。RT值則用于識別BGP VPNV4表中的每條路由條目具體屬于哪個用戶的哪個VRF。