網路基礎CCNP篇|BGP(概念與運用)

kissjz發表於2018-02-03

BGP (border gateway protocol)

什麼是BGP:

連線進網際網路的一種方式。

適用的規模:

如果你用了BGP,你就和電信,聯通是一個級別了

如果你用到了BGP,那麼你得向RIR要一個PI網段,同時會給你一個AS號

解釋一下AS :

可執行多種路由協議
一個AS可看成一個ISP

一個AS即一個管理域

AS欄位 16bit

公有0~64531
私有64532~65535

BGP與其他協議比較:

可把BGP看作一種另類的距離向量路由協議
傳遞域間路由

OSPF,EIGRP無埠號,即沒有傳輸層,但是有確保機制,就是ACK。

RIP基於UDP所以有傳輸層即520

BGP的特點:

  1. BGP埠號為179,即有傳輸層,傳輸層應用的協議是TCP協議。
  2. 增量的觸發更新
  3. 週期性傳送keppalive保活報文來保持TCP會話
  4. 豐富的屬性
  5. 專門為超大型網路設計的一個協議,例如internet

思科有關BGP的show操作:

show tcp brief檢視本地的TCP連線

誰先發起neighbor所指向的路由器TCP用的之上的埠就是179

show ip bgp summary 檢視BGP鄰居概括

show ip bgp neighbors 檢視BGP鄰居

show ip bgp 檢視BGP路由表,可檢視weight

Show ip route bgp 檢視路由表裡的BGP,BGP有路由但是不一定加入路由表裡

show run | s bgp 檢視關於BGP的指令

具體操作:

conf#router bgp 100(AS號)

conf-router#neighbor 10.0.12.2 remote-as 100 手工指定鄰居(鄰居的AS號)

conf-router#neighbor 10.0.12.1 remote-as 100 需要相互指定鄰居才會起來

IBGP與EBGP的區別:

如果建立BGP鄰居的兩個裝置AS是一致的,那麼該鄰居關係就叫做IBGP鄰居,intra BGP

如果建立BGP鄰居的兩個裝置AS不一致,那麼該鄰居關係就叫做EBGP鄰居,external BGP

AS內部的所有裝置之間都需要建立IBGP鄰居關係,否則就會出現路由黑洞(自行百度)

這裡區別一下IGP:

IGP(裡面包括各種路由協議)可以在一個AS內相互傳遞路由

BGP的路由兩種產生方式

1.network宣告,如果宣告,這宣告的那個路由相會公佈於所有BGP的鄰居內
2.redistribute重分佈,network只能宣告路由表裡面有的路由

建立鄰居:

AS內一般用環回介面做鄰居:
一般在AS內用環回介面建鄰居,如果用物理介面,容易壞,如果是虛擬介面,那麼裝置會通過IGP找到另外一跳路通道目的路由器,如果是單介面,固定只有一個路由,壞了鄰居關係就斷了,所以不好。

建立鄰居要注意點:

源IP介面預設是用離目的最近的IP地址
Conf-if#router bgp 100
解決方案:
conf-router#neighbor 2.2.2.2 remote-as 100
Conf-router neighbor 2.2.2.2 upate-source loopback0指定源地址
先後順序要一致,亂了就錯了。

BGP宣告自己的網段給其他鄰居:

Conf#router bgp 100
Conf-router#network 1.1.1.0 mask 255.255.255.0

應用router-map到路由器BGP鄰居上:

conf-router#neighbor 10.0.14.4 router-map R4-route in
IBGP的AD值為200,且環回介面掩碼正常;與OSPF的環回介面IP不同,其為32位掩碼。

在router-map中匹配ACL,並設定匹配成功後執行的動作:

conf-route-map#match IP address yourname
conf-route-map#set weight 99999設定weight為9999

因為去往1.1.1.0/24

的路由是1.1.1.1(代表鄰居的名字)

這個鄰居傳來的,所以IBGP的路由表1.1.1.0/24

網段的下一跳是1.1.1.1(代表鄰居的名字)

今天先介紹到這裡,下一站,將介紹什麼是路由黑洞以及BGP的協議內容屬性


相關文章