MPLS ×××的做用
在上述拓撲圖中,Internet邊緣鏈接着多個用戶網絡,各類用戶網絡均使用私有網段在內部進行通訊,若是要實現各個私有網絡經過Internet進行 通訊,其中一個辦法能夠在Internet網絡中運行MPLS,由於運行了MPLS的網絡要進行通訊時,是查看標籤而不是查看IP包頭的,因此經過這種方 法咱們能夠輕鬆地實現用戶網絡與用戶網絡間跨Internet進行通訊。
下面介紹在實施MPLS ×××時所涉及到的一些問題及解決辦法:
一、RD—路由區分符
前面說過,咱們能夠經過MPLS ×××來實現用戶網絡間經過Internet進行相互通訊,可是這裏有一個問題,數據在MPLS網絡中傳輸只查看標籤進行傳輸這是沒有問題的,但最終數據 是要離開MPLS網絡最後進入用戶網絡的,若是這些數據到達邊緣路由器時,該路由器仍是沒法區分用戶私有網絡時(由於用戶私有網絡地址是重疊的),那麼這 時通訊就會產生問題..............
要解決上述問題,辦法就是讓邊緣路由器可以擁有正確的用戶私有網絡的路由,而且能夠區分它們。
想讓邊緣路由器擁有用戶私有網絡的路由,經過BGP就能夠實現,只要核心網絡運行的MPLS保證BGP的鄰居地址可達就行!邊緣路由器擁有了用戶網絡的私 有路由後,因爲用戶網絡的地址不少是重疊的,還須要邊緣路由器能夠區分這些路由,要區分這些路由是經過在用戶私有網絡中添加RD來實現的,在用戶私有網絡 進行BGP時,就爲它加入額外的標記RD這樣就能夠實現BGP區分不一樣的用戶私有網絡。要讓BGP支持RD額外標記的傳遞,須要使用MP-BGP。
原來的用戶網絡地址爲32Bit,再加上96bit的RD地址,共96Bit,這樣的地址稱爲***v4地址。
RD標記的格式分爲如下兩種:
(1)ASN:nn,ASN表示的是BGP的區域號碼
(2)ip address:nn
好比一個網段是10.1.1.0/24,那麼它的RD爲100:1:10.1.1.0/24
二、VRF—虛擬路由表
使用MP-BGP可使邊緣路由器擁有用戶網絡的私有網絡路由,僅僅這樣是不能實現***功能的。若是有一臺邊緣路由器鏈接兩個或者兩個以上的用戶網絡, 並且這些用戶網絡使用的都是同一段的私有地址,那麼當有遠程用戶須要用其中的一個用戶網絡進行通訊時,邊緣路由器如何正確轉發這個數據呢?
好比在上述拓撲圖中,當左上角的紅色用戶網絡要與左下角紅色網絡進行通訊時,邊緣路由器是如何正確地把數據轉發到左下角的紅色網絡而不是轉發到藍色網絡呢?
要解決這個問題,辦法是在邊緣路由器上建立多個路由表,這個路由表只保存須要通訊的用戶網絡。好比在邊緣路由器中建立路由表,只保存紅色網絡的地址,這樣 就能夠實現紅色網絡數據的正確轉發;若是還要轉發藍色網絡的數據,那麼只須要再另外建立一個路由表保存藍色網絡的路由便可!因而可知,一個邊緣路由器若是 鏈接多個用戶網絡,則邊緣路由器須要建立多個路由表,建立的這個路由表咱們稱爲VRF虛擬路由表。
三、RT—路由對象
前面咱們經過RD來讓邊緣路由器區分不一樣的用戶網絡、VRF爲須要通訊的用戶網絡建立虛擬路由表。這裏又出現一個問題,那就是如何保證邊緣路由器只會將須要通訊的網絡放入VRF中,而不會將錯誤的路由放入到VRF中呢?
要解決這個問題,方法是在將用戶網絡放入到BGP中時,咱們會爲它添加額外的RD標記,這時能夠經過爲須要通訊的紅色網絡標記爲相同的RD,好比 100:1,而將藍色的網絡標記爲100:2,這樣咱們能夠控制只將標記爲100:1的放入到VRF中,若是藍色的網絡須要通訊,咱們能夠再建立一個 VRF並把標記爲100:2的放入到藍色網絡中的VRF中,這樣咱們就能夠有效地控制哪些網絡須要放到VRF中了。控制虛擬路由表只能進入什麼樣的路由或 者只能出去什麼樣的路由,稱爲RT(路由對象)。
經過以上描述,能夠看到若是想讓標記爲同一RD值的路由(好比RD爲100:2)進行通訊的話,能夠經過RT來進行控制。方法是將VRF的RT設置爲100:2;若是網絡中存在多個不一樣RD值的網絡(好比100:二、100:3)須要進行通訊時,該如何解決呢?
要解決這個問題,方法是經過在用戶各自的VRF中設置多個RT值,這樣就能夠實現多個不一樣RD的用戶網絡進行相互通訊。
從上面拓撲圖中顯示,紅色網絡中的R1和藍色網絡中的R2,默認狀況下,他們是不能通訊的,由於紅色網絡的VRF只容許RD爲100:1的路由條目進入, 而藍色網絡的VRF只容許RD爲100:2的路由條目進入,可是配置爲你們的VRF都同時容許RD爲100:1和100:2進入,最後兩個VRF中都有了 對方的路由,也就實現了互通。
MP-BGP

在以上拓撲中,LAN1鏈接Internet,LAN2也鏈接着Internet,要讓LAN1與LAN2能夠相互通訊,只須要在中間運行MPLS ***便可。中間運行MPLS的路由器稱爲P,在覈心網邊緣與用戶網相連的稱爲PE,用戶網與核心網相連的稱爲CE,用戶網內部的路由器稱爲C。 用戶網絡進入 PE時,BGP會爲其添加上RD標籤,添加了RD的路由稱爲***v4,這時BGP會將***v4路由放入MP-BGP,而後MP-BGP會將其發送給對端的MP-BGP鄰居,爲了保證對端鄰居收到這些***v4路由後還能認識***v4的RD,那麼BGP必須爲***v4添加額外的標籤,對方BPG看到這個標籤後,就能根據RD將其放入到相應的VRF中,將數據發往CE。正由於BGP要對***v4添加額外的標籤,因此要使用MP-BGP。 在MPLS中,數據包能夠被打上多個標籤,而LSR在轉發時,只看頂部的標籤,也就是說在數據包的多個標籤中,只有頂部這一個標籤會被使用和修改,因此MP-BGP在給***v4加入標籤時,只要加在頂部標籤的下面,這樣數據包在MPLS中傳輸時,就不會被修改了,因此對端BGP鄰居可以正確識別數據包的相應RD,這也是爲何MPLS_×××中數據包須要使用兩個標籤的理由。 MP-BGP規則 普通的BGP經過額外配置address-family以後,就能夠實現MP-BGP的功能,普通的BGP只是可以傳遞普通IPv4的路由,因此這樣也會有個默認address-family,稱爲ipv4,可是由於IP分爲單播和多播,因此這種默認的address-family就是ipv4 unicast,若是要讓BGP支持ipv4多播,那address-family就是ipv4 multicast。 若是要支持IPv6的單播和多播,那麼address-family就分別爲ipv6 unicast和ipv6 multicast。 在這裏,以上的都不是咱們要用到的address-family,由於咱們要傳遞的即不是ipv4單播,也不是ipv4多播,更不是ipv6,咱們要傳遞的是***v4,因此就要開啓MP-BGP支持***v4,要支持***v4,也須要建立相應的***v4的address-family。而且須要建立相應的VRF,這樣相應的***4就和相應的VRF相關聯起來。全部多協議的BGP在運行以前,應該保證普通的BGP鄰居是正常的。MP-BGP在爲***v4通告標籤時,而且全部信息要看成團體屬性帶出去,要手工指定。 PE-CE間的路由 不一樣用戶網絡間要經過MPLS ×××進行通訊,PE上則須要有用戶網絡的路由,而後PE再將這些路由發送到對端MP-BGP鄰居。 在將用戶網絡發送到對端MP-BGP鄰居時,PE首先要得到用戶網絡的路由,PE得到這些路由信息的方法可使用靜態路由或者是動態路由協議。若是使用動態路由協議,那麼PE和CE間必需要運行某一種路由協議。PE得到用戶網絡路由後,須要將這些路由信息重分佈進MP-BGP,再發送到對端MP-BGP鄰居;同時CE也須要知道遠程用戶網絡的路由信息,方法是將MP-BGP重分佈進PE與CE間的路由協議中。 PE和CE間支持的協議有: 靜態路由 RIPV2 OSPF EIGRP IS-IS 各類協議的配置方法: 一、靜態路由 (1)PE上直接對某個VRF寫靜態路由 ip route 0.0.0.0 0.0.0 14.1.1.4 (2)在PE上將靜態路由重分佈進MP-BGP router bgp 100 address-famile ipv4 vrf ***1 redidstribute static exit (3)CE上要有指向PE的默認路由 ip route 0.0.0.0 0.0.0.0 14.1.1.1 二、RIPV2 (1)在PE上運行RIP V2 router rip version 2 no auto-summary address-family ipv4 vrf ***1 no auto-summary network 14.0.0.0 redistribute bgp 100 metric 1 (2)PE上將RIP重分佈進MP-BGP router bgp 100 address-family ipv4 vrf ***1 redistribute rip exit (3)在CE上正常配置RIPV2 router rip version 2 no auto-summary network 14.0.0.0 network 10.0.0.0 exit 三、OSPF (1)在PE上配置OSPF router ospf 100 vrf ***1 router-id 3.3.3.3 network 36.1.1.3 0.0.0.0 area 0 redistribute bgp 100 subnets (2)在PE上將OSPF重分佈進MP-BGP router bgp 100 address-family ipv4 vrf ***1 redistribute ospf 100 exit (3)在CE上正常運行OSPF rotuer ospf 100 router-id 6.6.6.6 network 36.1.1.6 0.0.0.0 area 0 network 192.168.1.6 0.0.0.0 area 0 exit 四、EIGRP (1)在PE上運行EIGRP router eigrp 1 no auto-summary address-family ipv4 vrf ***2 no auto-su network 83.1.1.3 0.0.0.0 autonomous-system 1 redistribute bgp 100 metric 10000 1000 255 1 1500 (2)將EIGRP重分佈進MP-BGP router bgp 100 address-family ipv4 vrf ***2 redistribute eigrp 1 (3)在CE上正常運行EIGRP router eigrp 1 no auto-su network 172.16.1.8 0.0.0.0 network 83.1.1.8 0.0.0.0 exit