重點講解用目標和源屬性組建VPN屬性
重點講解用目標和源屬性組建VPN屬性,在向大家詳細介紹VPN屬性之前,首先讓大家了解下VPN屬性配置模式中相應參數,然后全面介紹共享上網,選擇使用寬帶路由器這種最簡單方案。
源VPN屬性
一個VPN-IPv4路由可以選擇性地通過源屬性與一個VPN屬性相關。這個屬性唯一地代表了一系列站點的集合,并代表了相應的來自于該集合的一個站點的路由。這個屬性的典型用途是表明了路由指向的站點的擁有者---某企業,或表明了該站點的內聯網。當然,還可能有其它用途。這個屬性可以象一個擴展的BGP群體屬性一樣來編碼。
當需要確定一路由的來源時,應當使用源屬性,而不是RD。如下文所述,這個屬性可以用于構建VPN屬性。更確切地說,這個屬性應稱為“源路由”屬性而不是“源VPN屬性屬性。它只確定路由來自于某一站點集合中的一個站點,并不關心這些站點是否組成一個VPN屬性。
用目標和源屬性組建VPN屬性
如果正確地設置了目標VPN和源VPN屬性,就可以組建各種不同的VPN。如果想組建一個包含特定站點集合的封閉用戶群CUG,可以用一個指定的目標VPN屬性值來代表該CUG。這個值應該與CUG中每個站點的轉發表,以及從CUG中每個站點中學習的路由相關聯。
任何有該目標VPN屬性的路由都應該重新分發,以到達每一個與CUG中任一站點相連的PE路由器。如果是想組建一種"hubandspoke"VPN,可以使用兩個目標屬性值,一個代表“Hub”,一個代表“Spoke”。從spoke發出的路由被分發到hub,但hub發出的路由并不被分發到spoke.
如果一些站點既在內聯網上也在外聯網上,而另一些站點只在內聯網上,那么,有一些內聯網和外聯網的路由具有代表全體站點的目標VPN屬性。那些有內聯網路由的站點只能過濾有“錯誤”源VPN屬性的路由。利用這兩個屬性,可以靈活地控制路由信息在不同站點集合間的分發,在VPN屬性的組建上也提供了很好的靈活性。
在主干網上的轉發
如果主干網上的中間路由對到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的路由。