• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • RFC2547 BGP/MPLS VPNs

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    1.簡介 1.1虛擬專用網VirtualPrivateNetworks 與被稱為主干網的公共網相連的是一個“站點”集合。我們基于某些原則創建該集合的若干子集,并附加如下規則:只有當兩個站點都同在某個子集里時,兩者間才可能存在經由該主干網的IP互連。 我們創建的這些子集就

    1.簡介
    1.1虛擬專用網VirtualPrivateNetworks

    與被稱為主干網的公共網相連的是一個“站點”集合。我們基于某些原則創建該集合的若干子集,并附加如下規則:只有當兩個站點都同在某個子集里時,兩者間才可能存在經由該主干網的IP互連。

    我們創建的這些子集就是“虛擬專用網”(VPNs)。只有同屬某個VPN時,兩個站點間才存在經公共主干網的IP連接。不屬同一個VPN的兩個站點間沒有經主干網的連接。

    如果一個VPN中的所有站點都屬同一個企業,這個VPN就是一個公司“內聯網”。如果分屬不同企業,該VPN就是個“外聯網”。一個站點可在多個VPN中,如一個內聯網和多個外聯網中。內聯網和外聯網我們都視作VPN。一般而言,我們說的VPN并不區分內聯網或外聯網。

    我們主要考慮主干網為一個或多個服務提供商(SPs)所擁有的情況。站點為SP的用戶所有,決定某些站點是否屬于一個VPN的策略由用戶制定。有些用戶可能希望完全由SP負責這些策略的執行,有些用戶可能希望自己獨立承擔或與SP分擔這項任務。在本文中,我們主要討論這些策略的執行機制。這些機制既可以由SP單獨執行,也可以由VPN用戶與SP共同完成。這里,我們主要討論前者。

    本文中所討論的機制可用于多種策略的執行。如對給定的一個VPN,每個站點與其它所有站點都有直接連接(全連接),或者也可以限制某些站點間的直接連接(半連接)。

    本文中我們感興趣的是公共主干網提供IP服務的情況。我們關注于在一定契約條件下,一個服務提供商SP或多個SP為企業提供主干網的情形,而并非是基于公共Inte.net的VPN。

    下面,我們將詳細說明VPN應有的特性。本文的其余部分我們描述了一個具備所有這些特性的VPN模型。該模型可視作[4]中描述的框架結構的實例。

    1.2邊緣設備
    假定每個站點都有一個或多個用戶邊緣(CE)設備,并都通過某種數據連接方式(如PPP,ATM,ethernet,FrameRelay,GREtunnel等)與一個或多個供應商邊緣(PE)路由器相連。

    如果某個站點只有一個主機,這個主機可能就是CE設備。如果該站點有一個子網,CE設備可能是個交換機。一般而言,希望CE設備是路由器,我們稱之為CE路由器。

    如果一個PE路由器與某個VPN的一個CE設備相連,我們就說這個路由器與該VPN相連。同樣,如果一個PE路由器與某個站點的一個CE設備相連,則稱這個路由器與該站點相連。

    如果CE設備是一個路由器,它是其直接相連的PE的路由對等體,而不是其它站點上的CE路由器的路由對等體。不同站點上的路由器并不直接交換路由信息,它們甚至無需互相了解(除非因為安全的需要,見第9節)。因為簡化了每個站點的路由策略,可以支持大型的VPN(有大量站點的VPN)。

    重要的一點是要保持SP和其用戶間明晰的管理界限(cf.[4])。PE和P路由器僅由SP管理,SP用戶無權介入。CE設備僅由用戶管理(除非用戶把管理服務委托給了SP)。

    1.3有重疊地址空間的VPNs

    任何兩個不相交的VPN(如:無公共站點的VPN)可能有重疊的地址空間,而同一地址也可能用在不同VPN的不同系統中。只要端系統的地址在其所屬的VPN中是唯一的,該端系統無須對VPN有所了解。

    在這種模式下,VPN的擁有者無須管理一個主干網或一個虛擬主干網。SP也無須為每個VPN管理一個單獨的主干網或虛擬主干網。主干網中站點間的路由是最優化的(基于組建VPN的限制策略),并不受限于任何人工的隧道虛擬拓撲。

    1.4由不同路由到達同一系統的VPN

    一個站點可以在多個VPN中,但不同VPN到該站點中某一系統的路由無須相同。例如,假設一個內聯網中包含站點A、B、C,一個外聯網中包含A、B、C和一個外部站點D。若在站點A上有一個服務器,我們希望來自于B、C、D的客戶能使用該服務器。同時,在站點B上有一個防火墻,為了對來自外聯網的業務進行接納控制,所有站點D連到服務器的業務都要通過這個防火墻。而來自站點C的業務是內聯網的,無須經由該防火墻到達服務器。

    也就是說,到服務器有兩條路徑。站點B和C使用一條路徑直接通向站點A,站點D使用第二條路徑,先到達站點B的防火墻,如果防火墻允許該業務流通過,該業務就象從站點B發出的業務流一樣發往站點A。

    1.5PE上的轉發表

    每個PE路由器都要維護若干獨立的轉發表。每個與PE相連的站點必須對應于其中的一個轉發表。當從某個站點收取一個包時,需查找與該站點相應的轉發表以確定該包的轉發路徑。只有當路由的目標站點與站點S同在至少一個VPN中時,才產生站點S的轉發表,這可以防止兩個不在同一VPN的站點間的通信,而且,這樣兩個沒有公共站點的VPN也可以使用重疊的地址空間。

    1.6SP主干網路由器

    SP的主干網包括PE路由器和未直接與CE設備相連的其它路由器(P路由器)。

    如果SP主干網中的每個路由器都得為所有VPN維護路由信息,那么無疑這個模式的擴展能力很差,SP能支持的站點數取決于一個路由器上可保存的路由信息的數量。因此,一個重要的要求就是,一個VPN的路由信息只保存在與該VPN相連的PE路由器上,而P路由器無需保存任何VPN的路由信息。

    VPN可以跨越多個服務提供商。如果兩個服務提供商SP之間是相互信任的,那么它們的PE路由器間的通路可根據一個專用的對等協議穿越SP網絡間的邊界。特別是,每個提供商信任對方并把正確的路由信息和來源可靠的帶有標簽的包(在MPLS情況下[9])傳遞給對方。在此,我們假定標簽交換路徑可以穿越SP間的邊界。

    1.7安全Security

    即使不加密,一個VPN模型也應當提供相當于第二層主干網(如FrameRelay)的安全保證。也就是說,即使在誤配置或故意將不同VPN間互連的情況下,一個VPN的系統也不能進入另一個VPN的系統。

    同時,該模型應該也可以采用標準的安全措施。

    2.站點和CE

    從主干網的角度看,如果一系列IP系統相互連接且它們之間的通信無需主干網參與,則這些IP系統組成了一個站點。一般來說,一個站點由一些地理位置相近的系統組成,當然并非總是這樣。如果地理位置較遠的兩地間用一根運行OSPF的專線相連,也可以組成一個站點,因為兩地間的通信無須主干網的參與。

    一個CE設備常被視為在一個單獨的站點上(但一個站點可能由多個“虛擬站點”組成)。而一個站點可能在多個VPN中。

    一個PE路由器可能與多個站點中的CE設備相連,無論它們是否在同一個VPN中。出于魯棒性的考慮,一個CE設備也可能與多個PE路由器相連,這些路由器可能屬于同一個或不同的服務提供商。如果這個CE設備是路由器,則它與相連的PE路由器互為鄰接路由器。

    如果互連的基本單元是站點,這里描述的體系結構可以實現更為精細的互連控制粒度。例如,一個站點上的某個系統可能是一個內聯網的成員,同時也是一個或多個外聯網的成員,而該站點上的其它系統卻只限于是內聯網的成員。

    3.PE中基于站點的轉發表

    每個PE路由器維護一個或多個“站點轉發表”,與PE相連的每個站點都對應于其中的一個表。當從某站點接收到一個包時,從與該站點相應的轉發表中查找該包的目的地址。

    站點轉發表是如何產生的呢?如,PE1,PE2,PE3是三個PE路由器,CE1,CE2,CE3是三個CE路由器。PE1從CE1了解站點CE1可達的路由信息。如果PE2和PE3分別與CE2、CE3相連,且VPN V包括CE1、CE2、CE3,PE1用BGP向PE2、PE3分發它從CE1得到的路由信息。PE2,PE3使用這些路由信息產生與CE2、CE3相應的轉發表。來源于VPNV以外站點的路由不出現在這些轉發表中,也就是說,CE2,CE3發出的包不會發送到VPNV以外的站點。

    如果一個站點在多個VPN中,其對應的轉發表將包含其在所有VPN中的路由信息。

    一般,一個PE只為每個站點維護一個轉發表,即使它與該站點間有多個連接。如果幾個不同的站點共用相同的路由,它們共享同一個轉發表。

    假設一個PE路由器從一直接相連的站點收到一個包,但在相應的站點轉發表中找不到這個包的目的地址。如果SP在該站點處并不提供Internet接入服務,那么該包因為無法發送而被丟棄。否則,將會查詢PE的Internet轉發表。也就是說,即使提供Internet接入,一般每個PE也只需要維護一個Internet路由轉發表。

    要保持VPN間的隔離,重要的一點就是主干網中的路由器不接收來自于鄰接的非主干設備的帶標簽的包,除非
    1) 標簽棧頂的標簽是主干網路由器分配給該設備的;
    2) 主干網路由器能確定由于該標簽的使用,這個包在離開主干網之前,不會檢查IP包頭和標簽棧中的其余標簽。
    這些限制對于防止包進入其它VPN相當有必要。

    PE中的站點轉發表只用于那些從PE直接相連的站點發來的包,而不用于來自于SP主干網的包。因此,到同一系統可能有多個不同的路由,包從哪一個站點接入主干網,就由哪一個站點決定選用何種路由。如,你可以為由外聯網發往指定系統的包指定一個路由(通向防火墻),為內聯網發往同一系統的包(包括那些已經通過防火墻的包)指定另一路由。

    3.1虛擬站點

    有時,一個站點可能被用戶用VLAN分成幾個虛擬站點。每個虛擬站點可能是不同VPN的成員。PE要為每個虛擬站點維護一個獨立的轉發表。例,如果一個CE支持VLAN,并希望每個VLAN對應于一個獨立的VPN,PE與CE間發送的包可封裝在該站點的VLAN中。PE可以利用這一點,以及接收包的接口,把該包指定到某一虛擬站點。

    也可以把接口分成多個“子接口”(尤其是如果接口是FrameRelay或ATM),并根據包到達的子接口把包指定到一個VPN?;蛘吆唵涡?,每個虛擬站點使用不同的接口。無論何種情況,即使有多個虛擬站點,每個站點都只需一個CE路由器。當然,如果愿意,每個虛擬站點也可以使用不同的CE路由器。

    注意,無論哪種情況,控制業務流屬于何VPN的機制和策略都由用戶掌握。

    如果希望一個主機在多個虛擬站點上,那么主機必須確定,每個包對應于哪一個虛擬站點。例如,它可以在不同的VLAN的不同虛擬站點上通過不同的網絡接口發送包。

    這些并不要求CE支持MPLS。對于支持MPLS的CE如何支持多個虛擬站點,在第八節中有一個簡短的討論。

    4.用BGP分發VPN路由信息

    PE路由器使用BGP相互分發VPN路由信息(更確切地說,是引起路由信息的分發)。

    一個BGP傳播者只能安裝和分發一個路由到指定的地址前綴。我們允許每個VPN有各自的地址空間,也就是說,相同的地址可被若干VPN使用,而在每個VPN中這個地址代表不同的系統。因此,我們應該允許BGP為某個IP地址前綴安裝和分發多個路由。甚至于,如果BGP為某一IP地址前綴安裝了多個路由,我們必須確保在任何一個站點轉發表中只出現其中的一個。

    我們使用下面描述的新的地址族來實現上述目標。

    4.1VPN-IPv4地址族

    BGP多協議擴展[3]允許BGP攜帶來自多個“地址族”的路由。我們先介紹VPN-IPv4地址族的概念。一個VPN-IPv4地址長12字節,以8字節的“路由標記”RD開頭,后接一個4字節的IPv4地址。如果兩個VPN使用相同的地址前綴,PE可以把它們翻譯成不同的VPN-IPv4地址前綴。這樣,如果在兩個VPN中使用了相同的地址,也可以分別為每個VPN安裝與該地址對應的不同的路由。

    RD本身并沒什么特別的語義,它并不包含路由來源或向哪些VPN分發路由的信息。RD的目的僅在于可以對一普通的IPv4前綴產生一個與眾不同的路由,RD還可以用于決定路由的重新分發。(見4.2)

    RD還可以用于產生到同一系統的多個不同的路由。在第3節中,我們曾給出一個例子:從內聯網到某一服務器的路由必須與從外聯網的業務流路由不同。這可以通過產生兩個IPv4地址部分相同,但RD不同的VPN-IPv4路由來實現。這樣,BGP就可以安裝到同一系統的多個路由,還可以使用一定的策略(見第4.2.3節)來決定包的路由選擇。?

    RD的結構使得每個SP可以管理各自的“編號空間”(如,可以自主地指定RD),而不與其它SP的RD沖突。一個RD包括兩字節的類別域,一個管理者域,和一個指定號碼域。類別域的值決定了其它兩個域的長度和管理者域的語義。管理者域表明一個指定的授權號,指定號碼域包括由已鑒定的授權方出于某種目的指定的一個數字。如,一個RD的管理者域包含一個自治系統編號(ASN),IANA將這個ASN分配給一SP,4字節的號碼域包括的編號就是由該SP指定的。RD采用這種結構是為了確??梢蕴峁¬PN主干網的SP總可以在需要的時候產生一個唯一的RD。不過,這種結構并沒有其它語義。如果BGP比較這樣的兩個地址前綴時,它并不理會這種結構。

    如果VPN-IPv4地址的管理者域和指定編號域都是全0,則可以視作是與IPv4含義相同。尤其對BGP而言,這個VPN-IPv4地址與相應的IPv4地址被認為是類似的。而其它情況下,BGP不會認為兩者類似。

    一個站點轉發表中對任何一個IPv4地址前綴只有一個VPN-IPv4路由。當包的目標地址與一個VPN-IPv4路由匹配時,只需IPv4部分匹配即可。

    一個PE需要為通向某一CE的路由配置相應的RD??梢詾镻E中通向同一CE的所有路由配置同一個RD,也可以為通向同一CE的不同路由配置不同的RD。

    4.2控制路由分發

    在這一部分,我們討論控制VPN-IPv4路由分發的方法。

    4.2.1目標VPN屬性

    每個站點轉發表都與一個或多個“目標VPN”屬性相關。

    當一個PE路由器產生一個VPN-IPv4路由時,該路由就與一個或多個“目標VPN”屬性相關。這些信息作為路由屬性由BGP攜帶。

    任何與目標VPN T有關的路由都必須分發到每一個存有與目標VPNT有關的轉發表的PE路由器上。當一個PE路由器收到這樣一個路由時,應當將其安裝到每個與目標VPN T有關的站點轉發表中(實際是否安裝取決于BGP決定處理的結果)。

    一般來說,目標VPN屬性代表一系列站點。因為路由與某一目標VPN屬性相關,路由可置于站點轉發表中,為來自相應站點的業務流尋路。

    PE路由器用一個目標VPN屬性集合表明來自站點S的路由,用另一個目標VPN屬性集合來決定是否將一個從其它PE路由器接收到的路由信息加入到與站點S有關的轉發表中。這兩個集合是不一樣的,也無需相同。

    目標VPN屬性的功能類似于BGP群體屬性。不過,因為后者只有兩字節的編號空間,格式不夠多。擴展BGP群體屬性以提供一個更大的編號空間相當簡單,也是可能的,類似于我們對RD的描述(見4.1節),因此類別域定義了管理者域的長度,屬性的其余部分是一個從指定管理者的編號空間得到的編號。

    當一個BGP傳播者收到對同一VPN-IPv4地址前綴的兩條路由時,它根據BGP關于路由優先級的規則選擇其中的一個。

    注意一個路由只能有一個RD,但它可以有多個目標VPN。在BGP中,如果單一路由有多個屬性,可擴展性就得到了提高??梢酝ㄟ^產生更多路由(用更多的RD)的方法去掉目標VPN屬性,但擴展性就差了。

    PE如何確定哪個目標VPN屬性與一路由相關呢?有許多可能的方法。PE可以配置通向某一站點的所有路由都與某一目標VPN屬性相關,也可以配置通向某一站點的部分路由與一目標VPN屬性相關,其余的與另一目標VPN屬性相關。還可以由CE路由器在向PE分發路由時(見第6節),為每一路由指定一個或多個目標VPN屬性。后一方法把VPN策略執行機制的控制權從SP轉移到了客戶方。即使使用這種方法,也希望PE能根據自身的配置減少目標VPN屬性,或者/并且強制性地添加一些目標VPN屬性。

    更確切地說,應該稱這種屬性為“路由目標”屬性而不是“VPN目標”屬性。它只確定一些能使用該路由的站點,而并不關心這些站點是否組成了一個VPN。

    4.2.2用BGP在PE中分發路由
    如果一個VPN的兩個站點所連接的PE在同一自治系統中,PE可以通過它們之間的IBGP連接分發VPN-IPv4路由?;蛘?,它們可以分別與一個路由反射器RR有一個IBGP連接。

    如果VPN的兩個站點在不同的自治系統中(例如他們連接到不同的SP),那么一個PE路由器要使用IBGP把VPN-IPv4路由重新分發到一個自治系統邊界路由器ASBR或是以一ASBR為客戶的路由反射器RR上。ASBR使用EBGP把路由重新分發到另一自治系統的ASBR上。這樣,就可以連接到不同SP的不同VPN站點。不過,作為SP間互相信任協議的一部分,VPN-IPv4路由只能被專用對等點間的EBGP連接所接受。VPN-IPv4路由不能在公共Internet上分發或被公共Internet接受。

    如果許多VPN的站點連接在不同的自治系統中,不同自治系統間并不需要有一個存有所有VPN路由的ASBR,可以有多個ASBR,每個ASBR只保存VPN的部分路由。

    當一個PE路由器用BGP分發一個VPN-IPv4路由時,它使用自己的地址作為“BGP下一跳”地址,并指定和分發一個MPLS標簽(事實上,PE路由器分發的并不是VPN-IPv4路由,而是帶標簽的VPN-IPv4路由,參見[8])。當PE接收到一個標簽棧頂是MPLS標簽的包時,PE會彈出該標簽,直接把該包發送到路由指定的站點。這意味著它只把包發送到它學習路由的那個CE路由器。標簽也可以決定數據鏈路的封裝。

    一般,接收帶標簽的包的PE并不在轉發表中查找包的目的地址,而是利用另一PE指定的標簽把包直接發送到CE。當然PE指定的標簽也可能隱含地指定了某轉發表。這種情況下,PE接收到這個包后,會根據標簽到該轉發表中查找包的目的地址。在某些情況下這種方法很有用,但我們在本文中不做詳述。

    注意,這種方法分發的MPLS標簽只在安裝該路由的路由器和該路由的BGP下一跳之間存在標簽交換路徑LSP時才有用。我們不對標簽交換路徑LSP的建立過程做任何假定,LSP可能是預先建立,或是在需要時才建立。它可能是個“盡力而為”路由,也可能是個經過流量工程的路由。在某路由的一個PE路由器和它的BGP下一跳之間可能有一個或多個具有不同QoS特性的LSP。與VPN體系結構有關的是路由器及其BGP下一跳之間的一些LSP。

    使用路由反射器一般是為了提高可擴展性,如利用路由反射器的層次結構。使用時并不需要某個路由反射器掌握由主干網所支持的所有VPN的全部VPN-IPv4路由,可以使用若干分離的彼此間無通信的路由反射器,每個都只支持部分VPN。

    如果一個PE路由器不連接到一路由的任何一個目標VPN,它就不必接收那個路由。發送該路由給它的PE或路由反射器應該采取出口過濾措施以免繼續發送給它無用的路由。當然,如果一個PE路由器通過BGP接收了一個路由,但它并不連接到該路由的任何一個目標VPN,PE也應該對該路由采取入口過濾措施,不安裝也不進行重新分發。

    一個不連接到任何VPN的路由器,如一個P路由器,無需安裝任何VPN-IPv4路由。

    這樣的分發規則確保了沒有一個設備需要掌握主干網所支持的所有VPN-IPv4路由。因此,主干網支持的VPN-IPv4路由總數不受任何一個設備容量所限,也就可以不受限地增加。

    4.2.3.源VPN屬性

    一個VPN-IPv4路由可以選擇性地通過源屬性與一個VPN相關。這個屬性唯一地代表了一系列站點的集合,并代表了相應的來自于該集合的一個站點的路由。這個屬性的典型用途是表明了路由指向的站點的擁有者---某企業,或表明了該站點的內聯網。當然,還可能有其它用途。這個屬性可以象一個擴展的BGP群體屬性一樣來編碼。

    當需要確定一路由的來源時,應當使用源屬性,而不是RD。如下文所述,這個屬性可以用于構建VPN。

    更確切地說,這個屬性應稱為“源路由”屬性而不是“源VPN”屬性。它只確定路由來自于某一站點集合中的一個站點,并不關心這些站點是否組成一個VPN。

    4.2.4.用目標和源屬性組建VPN

    如果正確地設置了目標VPN和源VPN屬性,就可以組建各種不同的VPN。

    如果想組建一個包含特定站點集合的封閉用戶群CUG,可以用一個指定的目標VPN屬性值來代表該CUG。這個值應該與CUG中每個站點的轉發表,以及從CUG中每個站點中學習的路由相關聯。任何有該目標VPN屬性的路由都應該重新分發,以到達每一個與CUG中任一站點相連的PE路由器。

    如果是想組建一種"hubandspoke"VPN,可以使用兩個目標屬性值,一個代表“Hub”,一個代表“Spoke”。從spoke發出的路由被分發到hub,但hub發出的路由并不被分發到spoke.

    如果一些站點既在內聯網上也在外聯網上,而另一些站點只在內聯網上,那么,有一些內聯網和外聯網的路由具有代表全體站點的目標VPN屬性。那些有內聯網路由的站點只能過濾有“錯誤”源VPN屬性的路由。

    利用這兩個屬性,可以靈活地控制路由信息在不同站點集合間的分發,在VPN的組建上也提供了很好的靈活性。

    5.在主干網上的轉發

    如果主干網上的中間路由對到VPN的路由一無所知,數據包如何從VPN的一個站點轉發到另一個站點呢?

    這是利用MPLS的兩層標簽棧來實現的。

    PE路由器(和重新分發VPN-IPv4地址的ASBR)要在主干網的IGP路由表中插入/32地址前綴。這樣,在主干網的每一個網絡節點上,都可以用MPLS為到每個PE路由器的路由指定一個標簽。(在主干網上建立標簽交換路徑LSP的過程中不需要/32地址前綴)

    當PE從一個CE設備接收到一個包時,它選擇一個站點轉發表來查找包的目的地址。假設找到了匹配項。

    如果該包的目的地是連接在同一PE上的一個CE設備,就直接發送到該CE設備。

    如果該包的目的地不是連接在同一PE上,則找到該包的“BGP下一跳”和BGP下一跳為包的目的地址分配的標簽。先把標簽壓入包的標簽棧,成為棧底標簽。接著PE查找到BGP下一跳的IGP路由,確定IGP下一跳和IGP下一跳為BGP下一跳地址分配的標簽。這個標簽也被壓入包的標簽棧,成為棧頂標簽。然后這個包被轉發往IGP下一跳。(如果BGP下一跳就是IGP下一跳,第二個標簽就用不著入棧了。)

    由MPLS攜帶這個包經主干網到達適當的CE設備。也就是說,所有的P和PE路由器做出的轉發決定現在都以MPLS方式給出,直到包到達該CE設備,不需再查看包的IP包頭。最后的PE路由器將在把包發送到CE設備前從標簽棧中彈出最后的標簽,這樣,CE設備看到的仍是一個普通的IP包。(第8節將討論CE能接收帶標簽的包的情況)

    當一個包通過一個PE路由器從某站點進入主干網時,根據PE路由器中與該站點相關的轉發表內容決定包的路由。與包離開主干網的PE路由器中的轉發表是無關的。因此,到同一系統可以有多個路由,為包選擇哪一個路由取決于包從哪一個站點進入主干網。

    注意,兩層標簽的運用使保持所有VPN路由與P路由器的隔離成為可能,這對于保證該模型的擴展性相當重要。主干網甚至只需到PE的路由而無需到CE的路由。

    6.PE如何從CE學習路由

    與一VPN相連的PE路由器需要了解在該VPN的每個站點上有哪些地址。

    如果CE設備是一臺主機或一個交換機,地址集合一般被配置到連接該設備的PE路由器中。如果CE設備是一路由器,PE路由器可以通過多種方法獲得該地址集合。

    PE用設定的RD把這些地址翻譯成VPN-IPv4地址,把這些VPN-IPv4路由當作BGP的輸入。這些路由在任何情況下都不會泄露給主干網的IGP。

    實際上,PE/CE路由分發技術取決于該CE是否在一個“傳輸VPN”中。一個“傳輸VPN”包括一個從第三方(如,不在同一VPN中的且不是PE的一個路由器)接收路由,并重新分發到一個PE路由器的路由器。如果不是一個“傳輸VPN”,一個VPN則是一個“葉VPN”stubVPN。在此意義上,大多數VPN,包括幾乎所有企業網絡,都希望是后者。

    可能的PE/CE分發技術有:

    1.靜態路由(如,配置)(這只用于stubVPN)

    2.PE和CE路由器可能是RIP對等的,而且CE可以用RIP告訴PE路由器在CE路由器上的站點的可達地址前綴。當在CE中配置RIP時,要注意確保從其它站點來的地址前綴(如,CE路由器從PE路由器處學習來的地址前綴)不被廣告到PE。更確切地說,如果一個PE路由器,如PE1,接收到了一個VPN-IPv4路由R1,處理后以R2為路由名繼續向一個CE分發該IPv4路由,那么,R2不能被該CE的站點分發至一個PE路由器,如PE2,(這里,PE1和PE2可能是也可能不是同一路由器),除非PE2將R2映射為一個與R1不同的VPN-IPv4路由。(如,用一個不同的RD)

    3.PE和CE路由器可能是OSPF對等的。這時,站點應該是一個單獨的OSPF區,CE則是該區的ABR,而PE是不屬于該區的一個ABR。而且,PE應該只報告連接到同一站點上的CE的路由。(這個技術只能用于stubVPN)

    4.PE和CE路由器可能是BGP對等體,CE路由器可以用BGP(特別是EBGP)告訴PE路由器該CE路由器上的站點的可達地址前綴集合(這個技術既可用于stub VPN,也可用于傳輸VPN)。

    從純技術的角度來說,這是迄今而言最好的技術:

    a)不象IGP,它不要求PE為了與多個CE聯系而運行多個路由算法實例。

    b)BGP正是為了在不同管理系統之間傳遞路由信息而設計的

    c)如果站點包括“BGP后門”,如,路由器除了與PE路由器的連接外,還有與其它路由器的BGP連接,該過程也能正常工作。其它過程是否能正常工作,要看具體的環境。

    d)使用了BGP,CE可以更方便地把路由屬性傳遞給PE。例如,CE可以根據PE認可的路由目標屬性為每個路由提議一個特別的目標屬性。

    但另一方面,如果用戶本身不是一個ISP,BGP的使用對CE管理員來說是新的工作。注意,如果一個站點并不在個傳輸VPN中,它并不需要一個自治系統編號ASN。站點不在一個傳輸VPN中的CE都可以用同一個ASN。而該ASN可以從私有的ASN空間中選擇,PE將去掉這些ASN。使用源站點屬性可以防止路由環路(見下)。

    如果一站點集合組成了一個傳輸VPN,可以簡單地用一個BGP聯盟來代表它們,那么對該VPN以外的路由器而言,該VPN的內部結構就是不可見的。這樣,VPN中的每一個站點需要兩個到主干網的BGP連接,一個是到聯盟內的,一個是聯盟外的??紤]到主干網和站點可能采取不同的策略,一般聯盟內的處理程序會稍做修改。只在其中的一個連接上,主干網是聯盟的成員之一。這種技術允許作為用戶的ISP得從另一對等的ISP處得到VPN主干服務,所以該技術對作為VPN服務用戶的ISP而言可能有用。

    (如果一個VPN用戶自身是一個ISP,而且它的CE路由器支持MPLS,可以用一個更簡單的技術,此時把該ISP視作一stubVPN。見第8節)

    如果我們無需區分向PE通知某站點上的地址前綴的各種不同方法,我們只是簡單地說PE已從該站點學習了路由。

    在一個PE重新分發它從一個站點處學到的VPN-IPv4路由之前,它必須為該路由指定如下三個屬性:

    -源站點屬性
    該屬性唯一地標識出PE路由器從何站點學習到了此路由。從一個站點學習到的所有路由都應當指定同一個源站點屬性,即使該站點與一PE有多個連接或連接到多個PE。不同的源站點屬性必須為不同的站點使用。該屬性可以編碼為一個擴展的BGP群體屬性(4.2.1節)。

    -源VPN屬性(見4.2.1)

    -目標VPN屬性(見4.2.1)

    7.CE如何從PE學習路由

    本節中,我們假設CE設備是一個路由器。

    一般,一個PE會向CE分發在轉發表中用于路由來自該CE的包的所有路由,但不能把路由重新分發到該路由的源站點屬性表明的那個站點上的CE。

    在多數情況下,PE簡單地分發到CE的缺省路由就可以了。(在一些情況下,CE甚至可以只配置一條指向PE的缺省路由)。如果一站點無需自己向其它站點分發缺省路由,就可以采用這種方法(例,如果公司VPN中的一個站點接入了Internet,這個站點會向其它站點分發缺省路由,但不會分發回自己)。

    從CE向PE分發路由的任何方法都可以用來從PE向CE分發路由。

    8.CE支持MPLS

    如果CE支持MPLS,也同意從VPN中接收所有路由,PE可以向該CE為每個路由分發一個標簽。當PE從CE處收到一個有標簽的包時,PE會a)用從BGP學來的相應的標簽替換這個標簽,b)壓入一個對應于該路由BGP下一跳的相應標簽。

    8.1虛站點

    如果用BGP分發CE/PE路由,CE可以利用MPLS支持多個虛站點。CE會為每個虛站點維護一個獨立的轉發表,這個轉發表是根據它從PE得到的路由的源VPN和目標VPN屬性產生的。如果CE從PE得到了所有路由信息,PE就不用為來自CE的包查找地址?;蛘?,PE也可以為CE上的每一個VPN分配一個(有標簽)的缺省路由。如果PE從CE接收到一個帶標簽的包,它會知道應該查找哪一個轉發表,CE用為包加上的標簽表明包來自于哪一個虛站點。

    8.2用StubVPN表示ISPVPN

    如果一個VPN是一個ISP,而且CE路由器支持MPLS,可以把它視作一stubVPN。CE和PE路由器只需交換VPN內部的路由。PE路由器會向CE路由器為這些路由分別分發一個標簽。在VPN不同站點上的路由器是BGP對等體。當CE路由器查找一個包的目的地址時,先將它解析為一個內部地址,通常是包的BGP下一跳地址。CE為包加上標簽,再發送到PE。

    9.安全

    在下列情況下:

    a)主干網的路由器不接受來源不可信或不可靠的帶標簽的包,除非它確定這個包在離開主干網之前不檢查它的IP包頭或標簽棧里的低層標簽。

    b)不接受來源不可信或不可靠的帶標簽的VPN-IPv4路由

    這種體系結構提供的安全性與FrameRelay或ATM主干網提供的VPN的安全性相同。

    要注意的是,比起用IP-IP隧道方法,使用MPLS提供安全要簡單一些。除非滿足以上兩個條件之一,拒絕接受一個帶標簽的包是件簡單的事。如果那個包是送錯了的經IP-IP隧道封裝的包,要配置一個路由器拒絕接受這樣一個IP包相當困難。

    MPLS的使用也使得VPN能跨越多個SP,而無論域內IPv4路由信息如何分發。

    一個VPN用戶也可以利用IPSEC隧道模式[5]提高自身的安全性。這將在本節的后面討論。

    9.1.CE路由器間的點到點安全隧道

    一個注重安全VPN用戶可能想確保一些或所有穿越主干網的包能夠被授權或加密。目前標準的方法是在VPN的每一對CE路由器之間用IPSEC隧道模式建立一個“安全隧道”。

    而按我們到現在為止描述的方法,并不能讓傳輸包的CE路由器來決定下一個傳輸包的CE路由器。但使用IPSEC的隧道模式需要這個信息。所以我們要擴展這些方法以取得這個信息。

    [6]中建議了一種實現方法。每一個VPN-IPv4路由都有一個標識路由經過的下一CE路由器的屬性。如果這個信息提供給VPN中所有CE路由器,就可以用標準IPSEC隧道模式。

    如果CE和PE是BGP對等體,把這個信息作為一個BGP屬性是很自然的。

    每個使用IPSEC的CE還需被配置一系列地址前綴,以禁止發送不安全業務流到這些地址。這樣可以防止在CE因為某些原因無法得到必要的信息時,發送不安全業務流。

    當使用MPLS在一個IPSEC隧道的兩個端點傳遞包時,IPSEC的外部包頭并沒有任何作用。如果開發一種IPSEC隧道模式,使得在運用MPLS時忽略外部包,將是很有益處的。

    9.2.多方安全關聯

    如果建立一個單一的多方的安全關聯而不是在每一對CE路由器中建立一個安全隧道,是相當有益的。在多方安全關聯中,同一VPN中的所有CE路由器共享相同的安全參數(如,相同的秘密,相同的算法等)。入口CE并不知道下一個接收數據的是哪個CE,它只知道數據將流向哪個VPN。一個在多個VPN中的CE為每一個VPN配置不同的安全參數,這樣可以保護內聯網中的包不會暴露給外聯網。

    在這種情況下,因為無法向外部包頭的IP目的地址域填充,標準IPSEC隧道模式無法作用。而當使用MPLS轉發包時,外部包頭沒有什么用。PE路由器可以用MPLS把包送到隧道另一端而無需知道該端點的IP地址,它只需查看內部包頭的IP目的地址。

    這種結構的突出優點就是安全體系對路由的變化(尤其是,一個地址前綴的出口CE的變化)是透明的。這對由多個提供者支持的VPN來說相當重要,這時,因為路由變化信息的分發只需支持安全體系,增強了系統的可擴展性。

    另一個優點就是它用MPLS的封裝代替了外部IP包頭。

    10.服務質量

    盡管不是本文的重點,但QoS確實是VPN服務中的關鍵組成部分。利用MPLS中shim包頭中的“實驗”位[10],MPLS/BGPVPN可提供第三層QoS能力。如果主干網用的是ATM,也可以利用ATM的QoS特性。[1]中討論的流量工程方法也可以直接用在MPLS/BGPVPN中。還可以用流量工程方法在某些站點對之間建立帶有特定QoS屬性的LSP。如果MPLS/BGPVPN跨越多個SP,可以用[7]中描述的體系結構。一個SP還可以為某一VPN提供集成、區分服務能力。

    11.可擴展性

    我們已在本文中討論可擴展性的問題。在本節中,我們簡單地總結一下本模式在可擴展性方面的主要特性。

    服務提供商的主干網絡包括PE路由器,BGP路由反射器RR,P路由器(既不是PE也不是RR),如果VPN有多個提供商的話還有ASBR。

    P路由器不維護任何VPN路由。為了正確地轉發VPN流,P路由器只要維護到PE路由器和ASBR的路由。兩層標簽的使用使VPN路由得以獨立于P路由器。

    一個PE路由器只維護與它直接相連的VPN的路由。

    路由反射器RR和ASBR都只需維護服務提供商支持的部分VPN的路由。這樣,沒有一個RR或ASBR需要維護所有VPN的路由。

    因此,服務提供商網絡中沒有一個組件要維護所有VPN的所有路由。因此,網絡可以支持的VPN數量不受網絡單一組件容量的限制。

    12.版權事宜
     
    CiscoSystemsmayseekpatentorotherintellectualproperty
    protectionforsomeofallofthetechnologiesdisclosedinthis
    document.Ifanystandardsarisingfromthisdocumentareorbecome
    protectedbyoneormorepatentsassignedtoCiscoSystems,Cisco
    intendstodisclosethosepatentsandlicensethemonreasonableand
    non-discriminatoryterms.

    13.安全考慮
    安全方面的問題本文已有討論。

    14.致謝

    SignificantcontributionstothisworkhavebeenmadebyRavi
    Chandra,DanTappanandBobThomas.

    15.作者地址
    EricC.RosenCiscoSystems,Inc.250ApolloDriveChelmsford,MA,01824
    EMail:erosen@cisco.com

    YakovRekhterCiscoSystems,Inc.170TasmanDriveSanJose,CA,95134
    EMail:yakov@cisco.com

    16.參考文獻
    [1]Awduche,Berger,Gan,Li,Swallow,andSrinavasan,"Extensions
    toRSVPforLSPTunnels",WorkinProgress.
    [2]Bates,T.andR.Chandrasekaran,"BGPRouteReflection:An
    alternativetofullmeshIBGP",RFC1966,June1996.
    [3]Bates,T.,Chandra,R.,Katz,D.andY.Rekhter,"Multiprotocol
    ExtensionsforBGP4",RFC2283,February1998.
    [4]Gleeson,Heinanen,andArmitage,"AFrameworkforIPBased
    VirtualPrivateNetworks",WorkinProgress.
    [5]KentandAtkinson,"SecurityArchitecturefortheInternet
    Protocol",RFC2401,November1998.
    [6]Li,"CPEbasedVPNsusingMPLS",October1998,WorkinProgress.
    [7]Li,T.andY.Rekhter,"AProviderArchitectureforDifferentiatedServices
    andTrafficEngineering(PASTE)",RFC2430,October1998.
    [8]RekhterandRosen,"CarryingLabelInformationinBGP4",WorkinProgress.
    [9]Rosen,Viswanathan,andCallon,"MultiprotocolLabelSwitching
    Architecture",WorkinProgress.
    [10]Rosen,Rekhter,Tappan,Farinaclearcase/" target="_blank" >cci,Fedorkow,Li,andConta,"MPLS
    LabelStackEncoding",WorkinProgress.

    17.版權說明

    Copyright(C)TheInternetSociety(1999).AllRightsReserved.

    Thisdocumentandtranslationsofitmaybecopiedandfurnishedto
    others,andderivativeworksthatcommentonorotherwiseexplainit
    orassistinitsimplementationmaybeprepared,copied,published
    anddistributed,inwholeorinpart,withoutrestrictionofany
    kind,providedthattheabovecopyrightnoticeandthisparagraphare
    includedonallsuchcopiesandderivativeworks.However,this
    documentitselfmaynotbemodifiedinanyway,suchasbyremoving
    thecopyrightnoticeorreferencestotheInternetSocietyorother
    Internetorganizations,exceptasneededforthepurposeof
    developingInternetstandardsinwhichcasetheproceduresfor
    copyrightsdefinedintheInternetStandardsprocessmustbe
    followed,orasrequiredtotranslateitintolanguagesotherthan
    English.

    Thelimitedpermissionsgrantedaboveareperpetualandwillnotbe
    revokedbytheInternetSocietyoritssuccessorsorassigns.

    Thisdocumentandtheinformationcontainedhereinisprovidedonan
    "ASIS"basisandTHEINTERNETSOCIETYANDTHEINTERNETENGINEERING
    TASKFORCEDISCLAIMSALLWARRANTIES,EXPRESSORIMPLIED,INCLUDING
    BUTNOTLIMITEDTOANYWARRANTYTHATTHEUSEOFTHEINFORMATION
    HEREINWILLNOTINFRINGEANYRIGHTSORANYIMPLIEDWARRANTIESOF
    MERCHANTABILITYORFITNESSFORAPARTICULARPURPOSE.

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>