BGP存在的意義以及IGP對它的作用

2021-08-17 00:05:42 字數 2613 閱讀 1260

為什麼要有ibgp,原因如下: 

1、igp的能力限制,igp處理路由的條目有限,而目前internet上核心路由器的路由表已經超過10萬條。假如沒有ibgp,那麼這些路由只能採取重分發的方式直接匯入到igp中,這樣做的缺點很明顯:第一,igp協議的作者並沒有打算讓igp來處理如此大量的路由,igp本身也無法處理這樣大的路由數量;第二,如果非要讓igp來處理,那麼根據igp的處理原則,假如這10萬路由中任何一條路由發生變化,那麼執行igp的路由器就不得不重新計算路由,更為嚴重的是,假如其中某一條路由出現路由抖動的情況,例如埠反覆up/down,這會導致所有的igp路由器每時每刻都不得不把10萬條路由重新計算一遍,這種計算量對於絕大多數路由器來說是無法負擔的。另外對於執行rip v1的路由器來說,10萬條路由的定期更新,這根本就是無法接受的事情,除去頻寬佔用率不談,我想,也只有少量高階的gsr以及tsr能夠有這樣的效能吧。很顯然,我們不可能讓網路中所有的路由器都是gsr和tsr,如果真是這樣,那麼cisco、juniper以及華為等廠家就要偷笑了。例如:as100----as200---as300,假定as100/200/300各有100臺路由器,而as100中有1w條路由要傳遞要as300中,而as200的路由器不需要學習as100的路由。如果沒有ibgp的話,那麼這1w條路由都必須被重分發到as200的igp中去,這樣的話,相當於as200中所有的100臺路由器都增加了1w條路由。如果利用ibgp的話,那麼as200中只有執行ibgp的路由器會學習到這1w條路由,其它執行igp的路由器都不會學習到這1w條路由。並且由於bgp的路由控制能力大大強於igp的路由控制能力,因此執行ibgp的路由器比執行igp的路由器能更好的對這1w條路由做一些路由策略的處理,從而保證整個as內部的路由器學習到的路由數目可以控制在可接受的範圍之內。 

2、路由環路的問題。bgp是靠路由屬性來防止路由環路的,例如as_path屬性,假如說沒有ibgp協議,那麼當所有bgp路由重分發到igp中後,路由屬性必然丟失,這就破壞了bgp的路由環路防止機制,產生了路由環路的隱患。 

那麼引申一下,既然ibgp能夠傳送所有的路由字首,為什麼還需要igp? 

1、ibgp之間是tcp連線,也就意味著ibgp鄰居採用的是邏輯連線的方式,兩個ibgp連線不一定存在實際的物理鏈路。所以需要有igp來提供路由,以完成bgp路由的遞迴查詢。 (igp相當於為bgp鋪好路,bgp相當於貨車)

2、bgp協議本身實際上並不發現路由,bgp將路由發現的工作全部移交給了igp協議,它本身著重於路由的控制。因此,如果沒有igp,那麼bgp也就毫無用處了。 

ibgp――內部bgp協議(ibgp)的主要作用是向你的內部路由器提供更多資訊。ibgp路由器必須以全網狀結構相連,以防止路由環迴。如果使用了路由反射器或路由聯盟,那麼ibgp網狀結構可能遭遇收斂問題,而導致路由黑洞。

ebgp與ibgp的區別:

1、路由環路的避免措施不一樣,ibgp強制規定ibgp speaker不允許把從乙個ibgp鄰居學習到的字首傳遞給其它ibgp鄰居,因此ibgp要求邏輯全連線。ebgp沒有這樣的要求,ebgp對路由環路的避免是通過as_path屬性來實現的。

2、使用的bgp屬性不同,例如ibgp可以傳遞local_pref(本地優先屬性),而ebgp不行。

3、ibgp有同步的要求,而ebgp沒有同步的要求

4、ibgp不需要ibgp鄰居之間有物理連線,只需要邏輯連線即可,而ebgp下一般情況下都要求ebgp鄰居之間存在物理連線。

其實igp和bgp的區別很大,igp主要是為了方便路由的傳輸,igp就是interior gateway protocol,只適合內部小型網路,所以呢,對比於靜態路由,確實很方便對吧。

就說rip和ospf,rip獲取路由的方式是鄰居直接通告路由,ospf的方式是,域內的路由我們由lsa1,2以自己為根計算出來。

可是bgp呢,它實際上不僅僅是為了路由,在一些stub,例如我們的一些小公司,我們只有乙個出口,直接在出口寫個預設路由,所有到外網的資料報丟給isp就行了,而isp只要寫一條回程路由,這就搞定乙個業務了。

但是這家公司如果很大呢,例如谷歌,裡面有很多臺路由器,連線n個分公司,而又希望每個資料能盡快的傳輸,因為美國有很多isp,所以有的isp去墨西哥速度比較快,有的去英國比較快,那麼bgp就是乙個很好的控制協議。

還有就是isp裡面用得bgp,我們都知道,目前internet的路由匯聚起來了也有三十八萬條,你在裡面執行個ospf,一條路由抖動不就要重新計算spf了嗎,那還得了,而且每個路由器都要spf計算,而且igp也承受不了那麼多路由條目,這時候只能用bgp了。

bgp最大的優勢在於沒有路由選擇演算法,只有選路規則。是在as(自治系統)間直接提取別的路由選擇協議如ospf、isis等計算的結果來用。用於as之間的路由。因為沒有演算法,所以每條路由條目占用系統資源和頻寬資源較小,適合全球網際網路使用。

ebgp在網路中起什麼作用?這個題目太大了,ebgp我認為是在不同的as之間提供路由的傳遞以及路由的控制,你了解了bgp屬性的用法,也就了解了ebgp的作用。

關於在同乙個as裡面同時存在igp/ibgp/ebgp的路由的時候,首先我們知道,ibgp的ad為200,大於所有igp,因為在同乙個as內,肯定選擇igp(bpg選路消耗資源大)。而ebgp的ad 為20,小於所有igp,因為到往其他as,那肯定直接選擇ebgp的路由,而不是在igp裡面兜兜轉轉再發給ebgp,更加不會選ibgp(實際上bgp的ttl值只有1,第二跳的時候會失效,所以不可能會ibgp)。

PHP的異常以及異常存在的意義

php的try catch與其它語言的try catch相比有許多不同,而且用起來相對比較不爽。php中,如果你製作的站點相對較大,同時模組化,並且在錯誤處理機制上有一套自己的處理機制,可以嘗試使用try catch,否則,可以考慮不使用它。php的try catch是捕獲異常,但它卻無法捕獲php...

HTTP 協議的通用頭域via 的意義以及作用

via 值為 下面是一些demo wtp 1.1 gdsz ps gw010 wap05.gd.chinamobile.com nokia wap gateway 4.0 cd3 ecd13 c nwg4.0 cd3 ecd13 c 4.1.03 下面是解釋 列出從客戶端到 ocs 或者相反方向的響...

HTTP 協議的通用頭域via 的意義以及作用

今天在群傷看見有人討論相關的東西,用google下沒發現有相關的資訊,我順便記錄下來,方便後來的朋友查閱 via 值為 下面是一些demo wtp 1.1 gdsz ps gw010 wap05.gd.chinamobile.com nokia wap gateway 4.0 cd3 ecd13 c...