MPLS IP VPN路由發布過程
在基本BGP/MPLSIPVPN組網中,VPN路由信息的發布涉及CE和PE,P路由器只維護骨干網的路由,不需要了解任何VPN路由信息。PE路由器也只維護與它直接相連的VPN的路由信息,不維護所有VPN路由。因此,BGP/MPLSIPVPN網絡具有良好的可擴展性。
VPN路由信息的發布過程包括三部分:本地CE到入口PE、入口PE到出口PE、出口PE到遠端CE。完成這三部分后,本地CE與遠端CE之間將建立可達路由,VPN私網路由信息能夠在骨干網上發布。下面分別對這三部分進行介紹。
1.本地CE到入口PE的路由信息交換
CE與直接相連的PE建立鄰接關系后,把本站點的VPN路由發布給PE。
CE與PE之間可以使用靜態路由、RIP、OSPF、IS-IS或BGP。無論使用哪種路由協議,CE發布給PE的都是標準的IPv4路由。
通常情況下,靜態路由只用于stubVPN的CE與PE間交換路由。
如果一個VPN接收本VPN以外的、非PE發布的路由,并將這些路由發布給PE,這類VPN稱為過渡VPN(transitVPN)。只接收本VPN路由以及PE發布的路由的VPN稱為stubVPN。
2.入口PE到出口PE的路由信息交換
PE從CE學到VPN路由信息后,為這些標準IPv4路由增加RD和VPNTarget屬性,形成VPN-IPv4路由,存放到為CE創建的VPN實例中。
入口PE通過MP-BGP把VPN-IPv4路由發布給出口PE。出口PE根據VPN-IPv4路由的ExportTarget屬性與自己維護的VPN實例的ImportTarget,決定是否將該路由加入到VPN實例的路由表。PE之間通過IGP來保證內部的連通性。
3.出口PE到遠端CE的路由信息交換
遠端CE有多種方式可以從出口PE學習VPN路由,包括靜態路由、RIP、OSPF、IS-IS和BGP。與本地CE到入口PE的路由信息交換相同。
4.BGP的AS號替換
在BGP/MPLSIPVPN中,如果PE和CE之間運行EBGP,由于BGP使用AS號檢測路由環路,為保證路由信息的正確發送,需要為物理位置不同的節點分配不同的AS號。
如果物理分散的CE復用相同的AS號,則PE上應配置BGP的AS號替換功能。此功能是BGP的出口策略,在發布路由時有效。
使能了BGP的AS號替換功能后,當PE向指定對等體中的CE發布路由時,如果路由的AS_PATH中有與CE相同的AS號,將被替換成PE的AS號后再發布。
在上圖中,CE1和CE2都使用AS號800,在PE2上使能針對CE2的AS號替換功能。當CE1發來的Update信息從PE2發布給CE2時,PE2發現AS_PATH中存在與CE2相同的AS號800,就把它替換為自己的AS號100,這樣,CE2就可以正確接收CE1的路由信息。
對于PE使用不同接口連接多個CE的情況,如上圖中的CE2和CE3,也可以使用BGP的AS號替換功能。
對于CE連接到多個PE的情況(Multi-homedCE),單獨使用BGP的AS號替換功能將可能導致路由環路,需要配合SOO(Site-of-Origin)特性一起使用。
【編輯推薦】