講述VPN配置實(shí)例中用用BGP分發(fā)路由信息
講述VPN配置實(shí)例中用用BGP分發(fā)路由信息,使用無線路由器時(shí),經(jīng)常出現(xiàn)VPN配置實(shí)例等問題,還有VPN配置實(shí)例設(shè)置問題以及上網(wǎng)經(jīng)常掉線,這里將介紹VPN配置實(shí)例所涉及到的很多問題的解決方法。
有時(shí),一個(gè)站點(diǎn)可能被用戶用VLAN分成幾個(gè)虛擬站點(diǎn)。每個(gè)虛擬站點(diǎn)可能是不同VPN配置實(shí)例的成員。PE要為每個(gè)虛擬站點(diǎn)維護(hù)一個(gè)獨(dú)立的轉(zhuǎn)發(fā)表。例,如果一個(gè)CE支持VLAN,并希望每個(gè)VLAN對(duì)應(yīng)于一個(gè)獨(dú)立的VPN配置實(shí)例,PE與CE間發(fā)送的包可封裝在該站點(diǎn)的VLAN中。
PE可以利用這一點(diǎn),以及接收包的接口,把該包指定到某一虛擬站點(diǎn)。也可以把接口分成多個(gè)“子接口”(尤其是如果接口是FrameRelay或ATM),并根據(jù)包到達(dá)的子接口把包指定到一個(gè)VPN配置實(shí)例?;蛘吆?jiǎn)單些,每個(gè)虛擬站點(diǎn)使用不同的接口。無論何種情況,即使有多個(gè)虛擬站點(diǎn),每個(gè)站點(diǎn)都只需一個(gè)CE路由器。
當(dāng)然,如果愿意,每個(gè)虛擬站點(diǎn)也可以使用不同的CE路由器。注意,無論哪種情況,控制業(yè)務(wù)流屬于何VPN配置實(shí)例的機(jī)制和策略都由用戶掌握。如果希望一個(gè)主機(jī)在多個(gè)虛擬站點(diǎn)上,那么主機(jī)必須確定,每個(gè)包對(duì)應(yīng)于哪一個(gè)虛擬站點(diǎn)。例如,它可以在不同的VLAN的不同虛擬站點(diǎn)上通過不同的網(wǎng)絡(luò)接口發(fā)送包。這些并不要求CE支持MPLS。對(duì)于支持MPLS的CE如何支持多個(gè)虛擬站點(diǎn),在第八節(jié)中有一個(gè)簡(jiǎn)短的討論。
用BGP分發(fā)VPN路由信息
PE路由器使用BGP相互分發(fā)VPN配置實(shí)例路由信息(更確切地說,是引起路由信息的分發(fā))。一個(gè)BGP傳播者只能安裝和分發(fā)一個(gè)路由到指定的地址前綴。我們?cè)试S每個(gè)VPN有各自的地址空間,也就是說,相同的地址可被若干VPN配置實(shí)例使用,而在每個(gè)VPN配置實(shí)例中這個(gè)地址代表不同的系統(tǒng)。
因此,我們應(yīng)該允許BGP為某個(gè)IP地址前綴安裝和分發(fā)多個(gè)路由。甚至于,如果BGP為某一IP地址前綴安裝了多個(gè)路由,我們必須確保在任何一個(gè)站點(diǎn)轉(zhuǎn)發(fā)表中只出現(xiàn)其中的一個(gè)。我們使用下面描述的新的地址族來實(shí)現(xiàn)上述目標(biāo)。
VPN-IPv4地址族
BGP多協(xié)議擴(kuò)展[3]允許BGP攜帶來自多個(gè)“地址族”的路由。我們先介紹VPN-IPv4地址族的概念。一個(gè)VPN-IPv4地址長(zhǎng)12字節(jié),以8字節(jié)的“路由標(biāo)記”RD開頭,后接一個(gè)4字節(jié)的IPv4地址。如果兩個(gè)VPN配置實(shí)例使用相同的地址前綴,PE可以把它們翻譯成不同的VPN-IPv4地址前綴。
這樣,如果在兩個(gè)VPN配置實(shí)例中使用了相同的地址,也可以分別為每個(gè)VPN配置實(shí)例安裝與該地址對(duì)應(yīng)的不同的路由。RD本身并沒什么特別的語義,它并不包含路由來源或向哪些VPN配置實(shí)例分發(fā)路由的信息。RD的目的僅在于可以對(duì)一普通的IPv4前綴產(chǎn)生一個(gè)與眾不同的路由,RD還可以用于決定路由的重新分發(fā)。
RD還可以用于產(chǎn)生到同一系統(tǒng)的多個(gè)不同的路由。在第3節(jié)中,我們?cè)o出一個(gè)例子:從內(nèi)聯(lián)網(wǎng)到某一服務(wù)器的路由必須與從外聯(lián)網(wǎng)的業(yè)務(wù)流路由不同。這可以通過產(chǎn)生兩個(gè)IPv4地址部分相同,但RD不同的VPN-IPv4路由來實(shí)現(xiàn)。
這樣,BGP就可以安裝到同一系統(tǒng)的多個(gè)路由,還可以使用一定的策略(見第4.2.3節(jié))來決定包的路由選擇。RD的結(jié)構(gòu)使得每個(gè)SP可以管理各自的“編號(hào)空間”(如,可以自主地指定RD),而不與其它SP的RD沖突。
一個(gè)RD包括兩字節(jié)的類別域,一個(gè)管理者域,和一個(gè)指定號(hào)碼域。類別域的值決定了其它兩個(gè)域的長(zhǎng)度和管理者域的語義。管理者域表明一個(gè)指定的授權(quán)號(hào),指定號(hào)碼域包括由已鑒定的授權(quán)方出于某種目的指定的一個(gè)數(shù)字。
如,一個(gè)RD的管理者域包含一個(gè)自治系統(tǒng)編號(hào)(ASN),IANA將這個(gè)ASN分配給一SP,4字節(jié)的號(hào)碼域包括的編號(hào)就是由該SP指定的。RD采用這種結(jié)構(gòu)是為了確??梢蕴峁¬PN主干網(wǎng)的SP總可以在需要的時(shí)候產(chǎn)生一個(gè)唯一的RD。
不過,這種結(jié)構(gòu)并沒有其它語義。如果BGP比較這樣的兩個(gè)地址前綴時(shí),它并不理會(huì)這種結(jié)構(gòu)。如果VPN-IPv4地址的管理者域和指定編號(hào)域都是全0,則可以視作是與IPv4含義相同。尤其對(duì)BGP而言,這個(gè)VPN-IPv4地址與相應(yīng)的IPv4地址被認(rèn)為是類似的。而其它情況下,BGP不會(huì)認(rèn)為兩者類似。
一個(gè)站點(diǎn)轉(zhuǎn)發(fā)表中對(duì)任何一個(gè)IPv4地址前綴只有一個(gè)VPN-IPv4路由。當(dāng)包的目標(biāo)地址與一個(gè)VPN-IPv4路由匹配時(shí),只需IPv4部分匹配即可。一個(gè)PE需要為通向某一CE的路由配置相應(yīng)的RD??梢詾镻E中通向同一CE的所有路由配置同一個(gè)RD,也可以為通向同一CE的不同路由配置不同的RD。