mpls vpn為啥要使用MP-bgp?
發(fā)布時間:2020-11-09作者:小編閱讀:0
使用vpnv4來封裝所以用MPbgp,使用vpnv4來封裝的原因是因為有可能存在對端不同vrf表內(nèi)相同的路由條目 所以通過rd加ip的vpnv4格式進行區(qū)分。那么前綴本身community屬性攜帶的rt值已經(jīng)足夠區(qū)分到底該條目屬于哪個vrf了啊 ,為啥還要使用mp-bgp呢?
BGP是路由協(xié)議,對嗎?
是的,但是在我眼里它更是一個數(shù)據(jù)庫技術(shù)。
BGP,發(fā)送端(SendingPeer)分享自己的數(shù)據(jù)庫表項,接收端(Receiving Peer)負責(zé)接收,問題來了:接收端是否要接收?
如果按照題主的假設(shè),只要比較數(shù)據(jù)庫表項(路由表條目)的community 攜帶的RT,與本地配置的RT是否相同。
如果相同,接收。否則,不接收。這聽起來是一個很不錯的主意。
如果接收端支持1000+個客戶(VRF),有的客戶是IPv4、有的客戶是IPv6、有的客戶是Ethernet,有的兼而有之,試問需要多少個RT可以區(qū)分他們?
至少要幾千個RT,對嗎?
意味著每一條路由需要匹配幾千次,才能決定是否接收,不是嗎?
舉例
一個路由10.1.1.0/24(RT=10000)過來,至少要匹配幾千次才能有結(jié)果。
如果過來1萬條路由呢,意味著幾千萬次的匹配查找。這都是純路由器CPU計算。
據(jù)我所知,一個運營商PE路由器有幾百萬、甚至上千萬條路由,則意味著幾十億次的匹配計算,這個計算負擔(dān)并不輕松。
怎么做可以實現(xiàn)更高效的匹配查找呢?
很簡單,分級(二級)查找。
而要實現(xiàn)數(shù)據(jù)庫分級查找,需要定義一級關(guān)鍵字、二級關(guān)鍵字。關(guān)鍵字在數(shù)據(jù)庫里叫鍵(Key)。
一級鍵(業(yè)務(wù)分類)
BGP目前能夠承載的業(yè)務(wù),可以細分為:
IPv4、IPv6、VPNv4、VPNv6、EVPN、MVPN
每一種業(yè)務(wù)使用獨一無二的ID來區(qū)分,這個ID就是AddressFamily + Sub Address Family。這樣可以大大縮小的查找的范圍。
一級查找的次數(shù) = 路由條目的總數(shù) *6
6代表業(yè)務(wù)種類的數(shù)量。一級鍵代表業(yè)務(wù)分類,那么二級鍵代表的就是客戶分類。
二級鍵(客戶分類)
二級鍵代表不同的客戶,每一個客戶使用獨一無二的ID,這個ID就是大名鼎鼎的RT值。通俗地說,RT就相當(dāng)于媽媽桑手機里的電話本:小胖子老李,丑八怪老王。維護的是客戶名單。
二級查找的次數(shù) = 路由條目的總數(shù)* 客戶總數(shù)
分級查找的總次數(shù) = 一級查找的次數(shù) + 二級查找的次數(shù)
= 路由條目的總數(shù) *6 + 路由條目的總數(shù)* 客戶總數(shù)
不分級的查找總次數(shù) = 業(yè)務(wù)種類 * 路由條目的總數(shù)* 客戶總數(shù)
很顯然,分級查找效率更快!
而實現(xiàn)分級查找的正是MP-BGP,當(dāng)MP-BGP協(xié)商握手建立連接時,會通過capability來告知彼此,自己配置的address-family,那么一旦連接建立。對方只會將自己支持的address-family的表項傳輸過來,至于其它的,壓根不會傳輸過來,這樣的效率是不是更高呢?
分類查找這種技術(shù)就在我們身邊,我們一直沒有注意到它的存在。
一艘萬噸貨輪上運輸N多客戶的貨物,貨物的種類有M種,有鞋子、襪子、衣服,巧克力等等。
你是將這些貨物不分青紅皂白混裝在一起,還是將不同種類的貨物分別裝在不同的集裝箱里?
到目的地又是誰的分揀效率高呢?
答案自然是后者!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,請聯(lián)系站長郵箱:shawn.lee@eliancloud.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。
標題:mpls vpn為啥要使用MP-bgp?
TAG標簽:MPLS
地址:http://www.dangdangload.com/article/20201109161542.html