深入講解VPN配置實例中關(guān)于虛擬站點屬性
深入講解VPN配置實例中關(guān)于虛擬站點屬性,向大家介紹VPN配置實例的方法,可能好多人還不了解VPN配置實例是如何的,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
控制路由分發(fā)
在這一部分,我們討論控制VPN-IPv4路由分發(fā)的方法。
目標VPN配置實例屬性
每個站點轉(zhuǎn)發(fā)表都與一個或多個“目標VPN”屬性相關(guān)。當一個PE路由器產(chǎn)生一個VPN-IPv4路由時,該路由就與一個或多個“目標VPN配置實例”屬性相關(guān)。這些信息作為路由屬性由BGP攜帶。任何與目標VPN配置實例 T有關(guān)的路由都必須分發(fā)到每一個存有與目標VPN配置實例有關(guān)的轉(zhuǎn)發(fā)表的PE路由器上。
當一個PE路由器收到這樣一個路由時,應(yīng)當將其安裝到每個與目標VPN配置實例有關(guān)的站點轉(zhuǎn)發(fā)表中(實際是否安裝取決于BGP決定處理的結(jié)果)。一般來說,目標VPN配置實例屬性代表一系列站點。因為路由與某一目標VPN配置實例屬性相關(guān),路由可置于站點轉(zhuǎn)發(fā)表中,為來自相應(yīng)站點的業(yè)務(wù)流尋路。
PE路由器用一個目標VPN配置實例屬性集合表明來自站點S的路由,用另一個目標VPN配置實例屬性集合來決定是否將一個從其它PE路由器接收到的路由信息加入到與站點S有關(guān)的轉(zhuǎn)發(fā)表中。這兩個集合是不一樣的,也無需相同。目標VPN屬性的功能類似于BGP群體屬性。
不過,因為后者只有兩字節(jié)的編號空間,格式不夠多。擴展BGP群體屬性以提供一個更大的編號空間相當簡單,也是可能的,類似于我們對RD的描述(見4.1節(jié)),因此類別域定義了管理者域的長度,屬性的其余部分是一個從指定管理者的編號空間得到的編號。
當一個BGP傳播者收到對同一VPN-IPv4地址前綴的兩條路由時,它根據(jù)BGP關(guān)于路由優(yōu)先級的規(guī)則選擇其中的一個。注意一個路由只能有一個RD,但它可以有多個目標VPN配置實例。在BGP中,如果單一路由有多個屬性,可擴展性就得到了提高。
可以通過產(chǎn)生更多路由(用更多的RD)的方法去掉目標VPN配置實例,但擴展性就差了。PE如何確定哪個目標VPN屬性與一路由相關(guān)呢?有許多可能的方法。PE可以配置通向某一站點的所有路由都與某一目標VPN屬性相關(guān),也可以配置通向某一站點的部分路由與一目標VPN屬性相關(guān),其余的與另一目標VPN屬性相關(guān)。
還可以由CE路由器在向PE分發(fā)路由時(見第6節(jié)),為每一路由指定一個或多個目標VPN屬性。后一方法把VPN策略執(zhí)行機制的控制權(quán)從SP轉(zhuǎn)移到了客戶方。即使使用這種方法,也希望PE能根據(jù)自身的配置減少目標VPN配置實例。
或者/并且強制性地添加一些目標VPN屬性。更確切地說,應(yīng)該稱這種屬性為“路由目標”屬性而不是“VPN目標”屬性。它只確定一些能使用該路由的站點,而并不關(guān)心這些站點是否組成了一個VPN配置實例。
用BGP在PE中分發(fā)路由
如果一個VPN的兩個站點所連接的PE在同一自治系統(tǒng)中,PE可以通過它們之間的IBGP連接分發(fā)VPN-IPv4路由?;蛘撸鼈兛梢苑謩e與一個路由反射器RR有一個IBGP連接。如果VPN的兩個站點在不同的自治系統(tǒng)中(例如他們連接到不同的SP)。
那么一個PE路由器要使用IBGP把VPN-IPv4路由重新分發(fā)到一個自治系統(tǒng)邊界路由器ASBR或是以一ASBR為客戶的路由反射器RR上。ASBR使用EBGP把路由重新分發(fā)到另一自治系統(tǒng)的ASBR上。這樣,就可以連接到不同SP的不同VPN站點。
不過,作為SP間互相信任協(xié)議的一部分,VPN-IPv4路由只能被專用對等點間的EBGP連接所接受。VPN-IPv4路由不能在公共Internet上分發(fā)或被公共Internet接受。如果許多VPN配置實例的站點連接在不同的自治系統(tǒng)中,不同自治系統(tǒng)間并不需要有一個存有所有VPN路由的ASBR,可以有多個ASBR,每個ASBR只保存VPN的部分路由。
當一個PE路由器用BGP分發(fā)一個VPN-IPv4路由時,它使用自己的地址作為“BGP下一跳”地址,并指定和分發(fā)一個MPLS標簽(事實上,PE路由器分發(fā)的并不是VPN-IPv4路由,而是帶標簽的VPN-IPv4路由,參見[8])。
當PE接收到一個標簽棧頂是MPLS標簽的包時,PE會彈出該標簽,直接把該包發(fā)送到路由指定的站點。這意味著它只把包發(fā)送到它學(xué)習(xí)路由的那個CE路由器。標簽也可以決定數(shù)據(jù)鏈路的封裝。一般,接收帶標簽的包的PE并不在轉(zhuǎn)發(fā)表中查找包的目的地址,而是利用另一PE指定的標簽把包直接發(fā)送到CE。
當然PE指定的標簽也可能隱含地指定了某轉(zhuǎn)發(fā)表。這種情況下,PE接收到這個包后,會根據(jù)標簽到該轉(zhuǎn)發(fā)表中查找包的目的地址。在某些情況下這種方法很有用,但我們在本文中不做詳述。注意,這種方法分發(fā)的MPLS標簽只在安裝該路由的路由器和該路由的BGP下一跳之間存在標簽交換路徑LSP時才有用。
我們不對標簽交換路徑LSP的建立過程做任何假定,LSP可能是預(yù)先建立,或是在需要時才建立。它可能是個“盡力而為”路由,也可能是個經(jīng)過流量工程的路由。在某路由的一個PE路由器和它的BGP下一跳之間可能有一個或多個具有不同QoS特性的LSP。
與VPN配置實例體系結(jié)構(gòu)有關(guān)的是路由器及其BGP下一跳之間的一些LSP。使用路由反射器一般是為了提高可擴展性,如利用路由反射器的層次結(jié)構(gòu)。使用時并不需要某個路由反射器掌握由主干網(wǎng)所支持的所有VPN的全部VPN-IPv4路由,可以使用若干分離的彼此間無通信的路由反射器,每個都只支持部分VPN。
如果一個PE路由器不連接到一路由的任何一個目標VPN,它就不必接收那個路由。發(fā)送該路由給它的PE或路由反射器應(yīng)該采取出口過濾措施以免繼續(xù)發(fā)送給它無用的路由。當然,如果一個PE路由器通過BGP接收了一個路由,但它并不連接到該路由的任何一個目標VPN,PE也應(yīng)該對該路由采取入口過濾措施,不安裝也不進行重新分發(fā)。
一個不連接到任何VPN配置實例的路由器,如一個P路由器,無需安裝任何VPN-IPv4路由。這樣的分發(fā)規(guī)則確保了沒有一個設(shè)備需要掌握主干網(wǎng)所支持的所有VPN-IPv4路由。因此,主干網(wǎng)支持的VPN-IPv4路由總數(shù)不受任何一個設(shè)備容量所限,也就可以不受限地增加。