BGP小結

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路由發生變化時,數據庫和
路由表反映的很慢,爲了可以快速看到現象,咱們能夠
手動的清除 BGP 的數據庫,分爲軟清和硬清兩種類型。
clear ip bgp soft --> 軟清,從新進行數據庫的請求
clear ip bgp
-->硬清,會直接斷開創建好的BGP鄰居
關係。必須慎重,現實工做盡可能不用。

非直連的 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鏈接而言,
隨機端口一方爲互動發起方,爲源。

EBGP鄰居關係:
在創建外部BGP鄰居關係時,必須使用直連鏈路,也叫做:必須遵照「直連檢測機制」
直連檢測機制:
即,任何兩個創建外部BGP鄰居關係的路由器,在創建鄰居時,使用的必須都得是「直連路由」。
所爲的「直連鏈路」,在數據包層面是經過IP頭部中的TTL值等於1來指定的。
只有當BGP鄰居關係是外部,而且TTL值爲1的時候,纔會進行「直連檢測機制」的檢查;
而,默認狀況下,外部BGP鄰居關係之間發送的全部的BGP報文,TTL值都是1;

什麼是直連檢測機制去往外部鄰居的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]

相關文章
相關標籤/搜索