BGP

公有AS:0-64511

私有AS:64512-65535

它是一個路徑矢量協議

IGP是以路由器爲一個節點的,也就是hop-by-hop

BGP是以AS號爲一個節點,as-by-as


特點:

1、基於TCP 端口爲179,可靠的更新機制

2、觸發更新機制

3、keepalive 每60秒發送一次,holdtime是180秒

  IGP中hello的作用:

  1、就是建立鄰居

  2、和keepalive一樣的作用

  BGP發送OPEN報文,建立鄰居,之後週期發送keepalive報文

4、具有更多的屬性

5、設計用於大型網絡


BGP有三張表:

1、鄰居表  show ip bgp summary

2、BGP表   show ip bgp

3、路由表  show ip route b


IBGP的AD爲200 EBGP的AD爲20


BGP的報文類型:

1、open報文

2、keepalive報文

3、update報文

4、Notification報文:發送錯誤的時候


Peers=neighbors    speeker就是運行BGP的路由器


EBGP:AS之間建立的BGP鄰居關係

IBGP:一個AS內建立的BGP關係

爲什麼需要有IBGP呢?

   很簡單,位於一個AS內的兩個運行BGP協議的路由器不運行IBGP的話,兩者之間是沒有辦法交互BGP更新的。


問題:路由控制層面已經通了,爲什麼數據層面不通呢?

     那是因爲控制層面進行交互的時候,傳送報文的源目IP地址都是變化的,每經過一跳,都是有

直連路由來轉發報文的。

     而數據層面的轉發的源目IP地址都不是不變的,所以不是直達的路由,從而因爲缺乏必要的路

由轉發而失敗。


解決的辦法:

1、添加物理鏈路

2、BGP鄰居的full mesh

3、將bgp重分佈到IGP中,只能在實驗室環境

4、MPLS,AS邊界之間運行BGP,而AS內的路由器之間根據標籤進行轉發


EBGP的水平分隔:通過AS號來防環,到一個AS就記錄一個AS號,如果接受到的報文中含有自己的

AS號,說明產生環路

IBGP的水平分隔:從IBGP鄰居學習到IBGP路由,不會通告給其他的BGP鄰居

wKioL1NzarLA4xxvAAEZKnFx-fM620.jpg

將R2上的2.2.2.0 /24通告出去

IGP的network的作用:

1、發送hello數據包,建立鄰居

2、通告路由

而在BGP中是分開實現的

1、neighbor 建立鄰居

2、network 通告本地有的路由

R2:

 router bgp 2

 bgp router-id 2.2.2.2

 network 2.2.2.0 mask 255.255.255.0

 show ip bgp

R2(config-router)#do show ip bgp

BGP table version is 2, local router ID is 2.2.2.2

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

             r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete


  Network          Next Hop            Metric LocPrf Weight Path

*> 2.2.2.0/24       0.0.0.0                  0         32768 i

*代表可用 >代表最優的路由   next hop 0.0.0.0 代表是自己通告的

R3(config)#do show ip bgp

BGP table version is 1, local router ID is 3.3.3.3

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

             r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete


  Network          Next Hop            Metric LocPrf Weight Path

* i2.2.2.0/24       12.1.1.2                 0    100      0 2 i

說明這個不是跳最優的路由

1、不能放入路由表

2、不會傳遞給其他BGP鄰居


優化該類路由的條件:

1、同步,通過IBGP學習到IBGP路由不能用,除非通過IGP學習到該路由

  所以no synchronization 也就是關閉同步就好了

2、下一跳不達,通過使用next-hop-self告知對端用自己爲下一跳

  R1:

    router bgp 1

    neighbor 3.3.3.3 next-hop-self

R3(config)#do show ip bgp

BGP table version is 2, local router ID is 3.3.3.3

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

             r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete


  Network          Next Hop            Metric LocPrf Weight Path

*>i2.2.2.0/24       1.1.1.1                  0    100      0 2 i

看到了吧,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章