BGP協議:
屬於公有協議,位於 OSI 第 7 層,套接字爲 TCP 179.
該協議自己不會產生路由,僅僅用來傳遞路由
通常應用於不一樣公司之間,能夠在長時間內穩定的傳輸
大量的路由條目。能夠賦予路由條目衆多屬性,從而能夠
實現路由條目的靈活控制。redis
有的時候也將其稱之爲「路徑矢量」,一樣存在自動彙總,
可是能夠人工關閉,由於BGP協議傳輸路由時,是有子網
掩碼的。數據庫
BGP的工做原理dom
一、創建鄰居表 router bgp 1 no auto-summary //關閉自動彙總功能; no synchronization //關閉BGP與IGP的同步功能 bgp router-id 1.1.1.1 // 設置 BGP 的 RID; neighbor 192.168.12.2 remote-as 1 //單播創建BGP鄰居 驗證命令; show ip bgp summary 標註一下每一個字段的意思; 二、同步數據庫(DB\Topology\LSDB\BGP Table) #路由宣告成功,就會進入到數據庫 在BGP中,BGP不會產生路由,僅僅傳遞路由 因此,要宣告進入到BGP中的路由,必須已經 存在於當前的路由表中。 -宣告:network + redistribute #R1: router bgp 1 network 10.10.1.0 mask 255.255.255.0 #R3: router bgp 2 no auto-summary no synchronization bgp router-id 3.3.3.3 neighbor 192.168.23.2 remote-as 1 redistribute connected 當路由被宣告進入到 BGP 數據庫時, 若是條目的狀態是 best,則進行如下動做: 一、嘗試着裝入到路由表;(成功或失敗) 二、發送給本身的BGP鄰居; 驗證命令: show ip bgp neighbor x.x.x.x adver //查看該路由器向鄰居xxxx發送了 哪些路由; show ip bgp //查看本地的 BGP 數據庫
三、建立路由表
全部的TCP協議的流量都是單波的
數據庫每變化一次,路由表版本routing table version增長1tcp
neighbor鄰居 也叫beer(對等體) BGP在傳遞路由的時候, 外:下->變 內:下->不變 next-hop-self通常在AS邊界 show ip route show ip route bgp
BGP在傳遞路由的過程當中,next-hop的變化:
一、外部鄰居之間傳路由,next-hop默認是變化的;
二、內部鄰居之間傳路由,Next-hop默認是不變的;ide
可是,一個AS的邊界路由器傳遞給內部BGP鄰居時,
若是不進行 next-hop的變化,則會致使內部BGP路由器
產生「下一跳」不可達的現象,因此該路由不可用。
爲了解決該問題,咱們在 AS 的邊界路由上,對內部鄰居
作「next-hop-self";
R2:
router bgp 1
neighbor 192.168.12.1 next-hop-selfoop
非直連的 BGP 鄰居關係:
爲了加強 BGP 鄰居關係的穩定性,才考慮經過非直連的
鏈路IP地址進行鄰居關係的創建(即經過loopback口創建)
另外,非直連創建鄰居時,務必須要考慮一個「更新源檢測機制」
的問題。若是更新源檢測不經過,則致使鄰居沒法創建。code
注意:
BGP中的 TCP 179 ,表示的僅僅是目標端口號。router
配置思路: 一、確保內網路由互通 經過RIP/OSPF等其餘IGP協議; 二、創建BGP鄰居關係 router bgp 1 no auto-summary no synchronization bgp router-id 1.1.1.1 neighbor 10.10.2.2 remote-as 1 #neighbor,表示的是單播創建鄰居; #10.10.2.2 &表示的是該設備主動向10.10.2.2 的TCP 179 發起鏈接; &表示的是該設備只接受10.10.2.2 發送過來的 BGP 鏈接請求; #remote-as ,指望對方發送過來的AS號爲1;
R1:BGP-TCP
neighbor 10.10.2.2
R1:randoam---TCP-----> 10.10.2.2 : 179ip
R2:BGP-TCP
neighbor 10.10.1.1
R2:randoam---TCP-----> 10.10.1.1 : 179路由
更新源檢測機制(非直連)
random隨機
TCP鏈接創建,是存在delay(延遲)的,
若是兩個設備之間的TCP 179鏈接都創建成功,
則最終僅僅會保留一個delay小的。
查看設備上已經創建的TCP鏈接:
show tcp brief
針對BGP鏈接而言,
隨機端口一方爲互動發起方,爲源。
什麼是直連檢測機制去往外部鄰居的IP地址時,使用的必須是直連路由;何時檢查直連檢測機制#創建外部鄰居的時候;#而且TTL值爲1的時候;因此,經過非直連創建EBGP鄰居關係的時候,都要「繞過」直連檢測機制:-修改EBGP鄰居之間發送的報文的TTL;router bgp 2neighbor x.x.x.x ebpg-multihop[value]-更新源檢測機制(經過非直連端口創建鄰居時)neighbor x.x.x.x update-source y.y.y.y-直連檢測機制(經過非直連端口創建EBGP鄰居時候)neighbor x.x.x.x ebgp-multihop[value]