
網絡能支持的基於網絡層的VPN數取決於歸屬該VPN的站點數及維護每個VPN站點的信息量。為了便於擴展,SP一般把VPN的功能放在骨幹網的邊路由器PE上,而VPN對骨幹網透明,骨幹網只是VPN隧道的傳輸通道,因此VPN業務不會對骨幹網產生任何影響,而只會對PE產生影響,所以基於網絡層的VPN擴展性完全取決於PE,與PE路由器的可擴展性有關主要有三個方面:虛擬路由器支持多個VPN環境的狀態數和路由實例、網絡管理系統支持每個VPN交換所需用的控制信息量的複雜度及VPN隧道在各PE直接的建立和維護。
基於網絡層的VPN的擴展性主要可從以下幾方面來衡量。
1.虛擬路由器
在PE路由器中實現IPVPN功能意味着為特定PE所支持的每個VPN創建獨立的環境。這個獨立的環境需為特定的VPN維護虛擬路由狀態,且有專用的虛擬路由轉發實例。通常將這些獨立的環境叫做虛擬路由器(VR)或虛擬路由轉發實例(VRC)。VR通常駐留在Internet邊界的PE設備上Internet骨幹網路由器並不知道VPN網絡的存在。因此很容易擴展VPN網絡只需在PE上添加VR即可。
PE可支持的VR的數目是VPN服務的可擴展性的關鍵參數。每個PE不僅要支持全局Internet路由轉發任務及運行全局路由協議,以支持非VPN的正常業務,還要支持每個VPN所需的VR虛擬路由轉發表。每個VR保護一個路由表,它對該VR隸屬VPN中節點至節點的可達信息做了描述。
由於每個PE路由器的內存容量和CPU處理能力是有限的,且PE還要維護大量的全局Internet路由轉發表,因此,若每個VR的路由轉發信息越少,則該PE路由器能支持的VR數就越多,VPN的可擴展性就越好。設計較差的用戶網絡有可能使VR維護大量的可達信息。這些大量的可達信息不僅要在直接相連的VR中維護,且顺利获得VR的路由信息交換。這些信息會分發到其他PE中同一VPN的VR中,所以設計良好、子網劃分恰當的用戶網絡會使PE中VR的可達信息較少,從而使PE路由器能支持更多的VPN,最終提高VPN的可擴展性。
更進一步,可考慮限制VR中的路由數,把可達信息概括或匯聚到相應VR中的少量路由中。或把多個VR連接到一個VR(叫做“骨幹VR”)上,然後再連接到骨幹網,由於骨幹VR允許VPN VR的聚合,所以當加入新的VPN節點時,骨幹網的配置可保持不變。
2.管理複雜性
影響VPN可擴展性的另一個重要因素是網絡管理的複雜性。實際上,每個PE需要知道同一VPN中的其他PE的情況。從理論上講,當要把一個隸屬特定VPN的新站點加到一個特殊PE上時,可把這個信息手工配置其他的PE。
對於有大量PE的大SP來說,這會使響應時間過長且易出錯。因此,大部分VPN模型用“自動發現”機制,顺利获得智能自動管理系統,或直接在PE間運行外部網關協議(BGP4)來實現配置。當添加一個新的VPN站點時只需配置這個新站點所附屬的PE,其他的PE顺利获得運行BGP-4協議交換路由信息,自動發現這個新站點。顺利获得路由協議傳播成員信息減少了手工參與的程度,提高了VPN的可擴展性。
3.VPN隧道的維護
除了須支持多個VPN環境和路由實例及網絡管理系統之外,與PE路由器的可擴展性有關的另一要考慮的問題是PE要和其他PE路由器共同建立和維護隧道。
在無連接網絡中,只在邊緣路由器PE中維護每個隧道的狀態,而與骨幹網無關,如 IPSec、GRE、IPin-P和L2TP中的情況。但是對於MPLSVPN要在支持特定連接的每個骨幹網路由器節點中引入標記狀態,這會給支持大量MPLS隧道的骨幹網帶來嚴重的可擴展性問題。為解決這一問題,需採用MPLS標記棧技術實現隧道復用,即把經過兩個特定PE間的多個MPLS隧道復用成這兩個PE間單一的MPLS管道。由此,骨幹網路由器只需為這些較少的MPLS管道維護標記狀態,只有PE路由器要為每個隧道維護隧道標記信息(對輸入的MPLS分組),每個VPN用一個MPLS標記(以下稱內部標記)PE將該標記壓入標記棧內,查找路由轉發表,找出骨幹網中的出口PE,並把對應這兩個PE間的管道標記壓入標記棧頂,在骨幹網中用新的棧頂管道標記標記交換。到達出口PE後,出口PE將管道標記彈出,用內部標記把MPLS分組轉發到相應的VPN子網中去。
