网工必须要了解BGP外部网关路由选择协议
首先它是邊界網關協議 BORDER GATEWAY PROTOCOL
TCP/IP中唯一的一款AS之間使用的協議 ,但我們使用靜態默認也可以去往外網,并且你使用bgp要接收外網的明系路由,15w條外網明系還會占用極大的內存空間,轉發數據負擔更大,查表延時也更加高。為啥要使用BGP?
bgp作為一個比較高級的協議不是所以廠商所有設備都能跑,
icmp重定向:當路由器收到數據包,發現該數據包需要從接收接口在轉發出去,所以在轉發第一個包文的同時,會給信源返還一個icmp重定向的包,告訴它我是一個次優路徑。
bgp的自動匯總:當通過network 和destribulist 來引入路由時 不繼承下一跳 和度量值
最大的特點:
通過bgp來傳遞路由,可以包含各種各樣的屬性。通過route-map來對他做一個修改,可以實現修路的特性。從內到外訪問外網從哪個邊界出,外到內通過哪條鏈路進。路徑矢量協議,可以知道接收到時的數據包始發哪個as,經過哪些as。因為有AS-path特性。
bgp的更新里包含路由。 是一個dv協議,即使是一個dv協議對路由器的消耗也非常大。 如果是ls我感覺 會直接癱掉。無類。
五種報文,交互報文需要tcp連接,因為bgp報文都是通過tcp來封裝的。tcp是一個點到點協議,只支持單播報文。bgp 179端口 建立bgp鄰居 會跟你完成tcp的三次握手 會發送目的端口為179目的端口為隨機的一股流量 。兩端都會發送,只會建立一條,誰先指對方為neighbor誰就會保留,后指的會被斷掉,響應對方的三次握手 會完成3次握手建立會話。
想要成為AS必須向IANA購買as號沒有只能是一個園區 0-65535, 0不能用。
公有:1-64511
私有:64512-65535
4134中國電信第一個
后期擴展32位的空間。
路由邏輯也跟igp不同,它關注的不是路由器本身。是AS .
對于bgp而言,as就是一臺邏輯的路由器。如果在一個as內下一跳是不變的。
只有當你把數據傳遞給其它as的時候,下一跳才會變更為這個路由器針對鄰居的更新源地址。
bgp沒有度量值的概念而是通過屬性修改一定是使用route map 。
希望成為穿越as可以運行BGP。
bgp支持的路由條目數量是最大的。isis才4萬條。這是算法的差距。2.運行bgp可以修改路由策略,通過修改策略可以完成選路,在igp中使用路由策略只能控制從哪個出口出。可以花式選路3.可擴展性比甚至isis還要強。通過多款AFI和SAFI。
可以基于ipv4的AFI來傳遞ipv4路由,可以基于ipv6的AFI來傳遞ipv6路由,可以基于vpn v4的AFI來傳遞vpn v4路由。AFI 策略只有本地意義。兩臺路由器建好鄰居,其實正常情況下,你告訴對方來激活哪一個AFI鄰居。
BGP允許不同的人來做策略,并不影響整體連通性。bgp特性:可靠的協議運行了tcp,tcp通過面向連接的機制,可靠 在路由器之間傳遞,不用擔心丟包,太快擁塞。總而言之tcp會通過一系列的可靠傳輸機制,來保證路由器之間正常交互報文。
bgp建鄰居和傳路由是兩碼事,igp鄰居建立的同時路由也就傳遞了,bgp不同。運行bgp的同時必須要先運行igp或者靜態,通過igp 學習到的路由導入到bgp里去。以bgp的形式在把路由發送走 ,bgp默認不會產生任何路由。 路由搬運工。要么通過重分發和宣告來實現 。
鄰居通過你學習到路由。它就能發送給他的鄰居。也能通過aggregatee來做匯總和聚合進而發送 。路由只傳一次,下一次v2的觸發更新。發完之后針對 路由修改屬性,修改完這條路由不會重新發送,也就是說修改的屬性他不會生效,需要清一下進程在重新給鄰居發送走。clear ip bgp * //軟重置 后加soft .
硬重置完三次握手會被斷除,要重新建立。但代價太大了,要斷網三分鐘。
軟重置鄰居還在,只會把某些/所以路由在向鄰居發送一次。
*號是正則表達式的術語代表全部。
華為:修改完調用了route policy之后 這個策略就生效 了。原因是因為bgp會自動的去做軟重置。只要策略起到了效果,華為路由器會瞬間的自動軟重置。
igp建立鄰居交互hello。bgp通過open的報文來建立鄰居,只交互一個,里面信息同步完成后。會通過60s的keepalive來保活。3倍down。
BGP的路徑屬性:
MED多出口?鑒別器 在cisco中會拿metric來替代它。把其它協議重分發進bgp的時候會做一個度量值繼承,把igp的度量值繼承到bgp的med屬性中去,各國各大運營商之間都是通過bgp來建立鄰居。
默認不支持等價負載均衡的協議、
假如一臺路由器又運行bgp和ospf ,當都通過他倆學到了相同路由,比管理距離小的加
IBGP 200 EBGP20 ibgp負責在as之間的邊界路由器建鄰居。 運行bgp的路由器就叫speak
三張表:
5種報文
ibgp 內部 鄰居關系: 兩臺路由器屬于同一個AS 傳遞的是ibgp路由
ebgp 外部 鄰居關系:不同as ,傳遞ebgp路由
ebgp鄰居只能使用直連接口地址來建立,ebgp報文的 ttl值為1,意味只能1跳。 因為沒辦法跟其它接口建立鄰居,建鄰居需要路由,又不能igp寫靜態多麻煩 。
bgp的鄰居叫對等體運用bgp的路由器叫speak.
下一跳邏輯:通過network產生路由,始發路由器的本地Bgp路由表就會先產生該BGP 路由,在給鄰居路由器發送走,本地路由表關于該下一跳有兩種可能 。
取決于被通告的路由原本在路由表中是否包含下一跳。
ibgp可以跨越路由器,在非直連的兩臺路由器之間來建立鄰居的
ibgp防環機制
對于始發路由器
通告給ibgp鄰居
通告給ebgp鄰居
下一跳一定會變更為本地針對鄰居的更新源地址
通過ibgp鄰居收到
路由下一跳的強行修改
在思科中 next-hop-shlf
華為:nest-hop-local
通過ebgp收到路由在傳遞給ibgp鄰居,要針對ibgp鄰居修改下一跳
Ebgp防環機制: AS-path:屬性,用來描述使發了哪個as,經過了哪了as最終到達本地
始發默認為空,發送ibgp鄰居的時候,as-path也為空,只有傳給ebp鄰居的時候,傳之前會把as號放在as-path里面發送走,每傳一條增加as信息。
一臺路由器如果收到ebgp路由,會檢查as-path 字段的。看是否包含自身的as號在里面。如果沒有包含代表這條路由從來沒有來過,這種路由可以接收并且轉發。as-path包含自身,會丟棄。
neighbor xxxx shutdown 暫停
特殊環境下bgp的修整:-臺路由器去往上游鄰居的下一-跳地址如何與其去往下-游跳鄰居的更新源地址的下一-跳在同- 一個IP子網段內
該路由器通過上游鄰居收到路由轉發給下游鄰居的時候會將路由的下一-跳設置為其去往上游鄰居更新源地址的下一-跳地址
總結
以上是生活随笔為你收集整理的网工必须要了解BGP外部网关路由选择协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 马克思趣味数学题用java_在马克思手稿
- 下一篇: 新年新气象——开篇