AS自治系統(tǒng)
一個AS是一組共享相似的路由策略并在單一管理域中運行的路由器
AS 的范圍:1-65535 其中私用范圍為64512-65535
BGP發(fā)展過程 路徑矢量路由
EGP3 BGP4
AS 類型:
1 單宿主自治系統(tǒng)
配置
使用靜態(tài)配置
使用IGP
使用BGP
注:這三種方法并不需要用戶與其服務提供商運行BGP
2 多宿主非渡越自治系統(tǒng)
優(yōu)點,對路由傳播和過濾的高度控制能力
3 多宿主渡越自治系統(tǒng)
IBGP概念 當BGP在一個AS中運行
EBGP概念 當BGP在AS之間運行
渡越路由器概念
邊界路由器概念
BGP更新 TCP協(xié)議 端口號179
RIP更新 UDP協(xié)議 端口號520
OSPF不使用4層協(xié)議
BGP繼承了TCP的可靠性和面向連接性。
為了確保無環(huán),BGP根據(jù)BGP鄰居之間交換的信息來建立一張自治系統(tǒng)圖。
BGP概念:邊界網(wǎng)關(guān)協(xié)議
自治系統(tǒng)之內(nèi)使用IGP IGP宣告網(wǎng)絡的可達性及鏈路的開銷
自治系統(tǒng)之間使用EGP BGP宣告可達的AS的路徑信息
什么情況下使用BGP
允許某個AS做穿越AS,允許數(shù)據(jù)包穿越到別的AS
一個AS有多條連接到達另一個AS.
需要對進入和離開某AS的流量進行路由策略
什么情況下不使用BGP
只有單個到達INTERNET或別的AS的連接(建議使用默認路由)
路由器內(nèi)存和CPU 資源過低(現(xiàn)在世界上大概的BGP條目有12萬條,占資源很大,占內(nèi)存110多M)
缺乏對BGP路由策略的理解
AS之間的鏈路帶寬過低(BGP更新數(shù)據(jù)比較大,現(xiàn)實情況中AS之間鏈路不會過低)
BGP特性
增強型的路徑矢量路由協(xié)議
1 可靠的路由更新機制,BGP運行于TCP,使用TCP端口號179 (OSPF通過LSACK,RSS中利用PSNP或者SNP來保證可靠性)
2 觸發(fā)式增量更新(有變化才更新,而且增量只是變化的部分)
3 周期性的KEEPALIVE信息保證TCP的連接是否存活. IBGP 5S EBGP 60S
4 更強大的METRIC標準屬性.
5 使用于大型網(wǎng)絡
BGP的三張表
鄰居表 列舉BGP鄰居信息
BGP轉(zhuǎn)發(fā)表 列舉從每個BGP中學來的路徑,可能有多條路徑,每條路徑都有屬性
IP路由表 列舉到達網(wǎng)絡的最佳路徑
BGP信息類型
1 OPEN包 包括holdtime和BGP的RID(ospf中有也RID)
2 KEEPALIVE
3 UPDATE (路由更新TCP 179) 每條路徑信息 包含BGP屬性和網(wǎng)絡信息
4 NOTIFICATION 當檢測到錯誤后發(fā)出;當notification信息發(fā)送后,BGP關(guān)閉
BGP術(shù)語 對等體(PEER) (OSPF兩兩連接關(guān)系叫鏈接)
BGP對等體,也叫BGP鄰居,代表和本地BGP路由器建立了鄰居關(guān)系的BGP路由器。
BGP分為兩種(私有64512-65535)
1 EBGP (外部BGP)當形成鄰居關(guān)系的兩臺路由器分別位于不同的AS,這種BGP就叫EBGP
EBGP對等體之間默認需要直連
2 IBGP (內(nèi)部BGP)當形成鄰居關(guān)系的兩臺路由器分別位于相同的AS
IBGP對等體之間不是必須直連
IBGP的水平分割原則 IBGP防止環(huán)路
默認情況下,通過IBGP鄰居學到的路由不會再傳給別的IBGP鄰居(IBGP路由信息只傳一跳)
BGP同步
如果一個AS要提供到達別的AS的穿越服務的話,BGP是不會宣告路由的,除非
BGP路由器不會把那些通過IBG鄰居學到的BGP路由宣告給自己的EBGP鄰居,除非自己的IGP路由表中存在這些路由,才可以向EBGP鄰居宣告這些路由。
如下情況中可以關(guān)閉同步
1 不想讓某個AS提供到別的AS的穿越服務
2 AS內(nèi)的所有穿越路由器都運行BGP
BGP下一跳屬性(NEXT_HOP)
描述了宣告到達某個目標地址的路徑上,下一跳路由器的IP地址
在一般的網(wǎng)絡環(huán)境中,對于EBGP而言,下一跳為它的EBGP鄰居的IP地址
對于多路訪問網(wǎng)絡環(huán)境中,必須注意
對于NBMA網(wǎng)絡環(huán)境中,必須注意
BGP ORIGIN(起源)屬性
1 IGP 網(wǎng)絡層路由信息(NLRI)是通過IGP學到的 優(yōu)先級最高 通過NETWORK發(fā)布的
2 EGP NLRI通過EGP學習到的,優(yōu)先級次高
3 INCOMPLETE NLRI通過別的方式學習到的,比如路由的再發(fā)布,優(yōu)先級最低
BGP AS_PATH屬性
使用AS號的順序組合來決定AS間的路徑。
EBGP通過AS號來防止路由環(huán)路。
只有EBGP的AS號才會被加入AS_PATH中
BGP 下一跳屬性(NEXT_HOP)
需要注意多路訪問網(wǎng)絡環(huán)境和NBMA網(wǎng)絡環(huán)境
BGP LOCAL_PREE屬性(多個出口在相同個AS之中,與源也在同一個AS中)
只是用于IBGP之間
包含在路由更新中,默認為100
只是在本地AS之間,不會傳輸?shù)紼BGP中去。
BGP MED屬性(多個出口在相同的AS之中,與源不在同一個AS中,值越低越優(yōu)先)
定義到達相同目標網(wǎng)絡,AS之間的多條路由的優(yōu)先級(值越低的優(yōu)先級越高)值默認為0。
與本地優(yōu)先級不同的是MED屬性是在AS之間交換的,但是進入一個AS里的MED屬性,是不會再離開該AS的,既帶有一個特定MED屬性的BGP路由更新,要發(fā)送到其它的AS的時候,MED屬性值就被重置為默認的值0,除非使用BGP ALWAYS-COMPARE-MED.
BGP管理權(quán)重(CISCO私有的屬性管理權(quán)重)私有屬性 (值越高的優(yōu)先級越高)
只對本地BGP路由器生效,本地BGP路由器產(chǎn)生的路由管理權(quán)重默認為32768,從其它路由器所產(chǎn)生的路由管理權(quán)重默認值為0
BGP選路策略
1 管理權(quán)重 cisco私有屬性 越高越優(yōu)先
2 本地優(yōu)先級屬性 越高越優(yōu)先
3 AS PATH屬性 路徑越短越優(yōu)先
4 ORIGIN屬性 IGP最高 EBGP茨高 重分發(fā)最低
5 MED屬性 越低越優(yōu)先
6 離自己最近的IGP鄰居
7 選擇RID 越低越優(yōu)先
BGP基本配置
1啟動BGP進程
router(config)#route bgp {AS-number} 一臺路由器只能指定一個AS
2指定BGP鄰居(通常為對方接口地址)
router(config-router)#neighbor{ip-address}remote-a s{AS-number}
3定義要宣告的網(wǎng)絡
router(config-router)#network{network-number}[mask ]
關(guān)閉BGP同步特性
router(config-router)#no synchronization
使用回環(huán)接口建立BGP鄰居關(guān)系
1定制跳數(shù)TTL,默認為255
router(config-router)#neighbor{ip-address}ebgp-mul tihop [ttl]
2使用回環(huán)接口建立TCP會話
router(config-router)#neighbor{ip-address}update-s ource loopback{number}
注意靜態(tài)路由配置,因為下一跳是否可達不確認,需要通過靜態(tài)路由來確認
使用回環(huán)接口建立BGP鄰居關(guān)系注意事項:
1使用回環(huán)接口建立BGP鄰居關(guān)系,對于EBGP,要指定多跳關(guān)系ebgp-multihop
2要確保本地BGP路由器的IGP路由表中有到達鄰居回環(huán)接口的路由(必須下一條可達)
3為了防止路由環(huán)路,如果到達多條對等體的路由是默認路由,鄰居關(guān)系是不會建立。
更改BGP的下一跳
router(config-router)#neighbor{ip-address} next-hop-self
注意:不是在本機上該,而且在下一跳的機器上指定我是你的下一跳。
BGP的路由匯總
1關(guān)閉BGP路由的自動匯總特性
router(config-router)#no auto-summary
2BGP手動的路由匯總,當使用了關(guān)鍵字summary-only后,本地BGP的細致路由全部被抑制,并且在BGP表中以S進行標記;
router(config-router)Eggregate-address {ip-address}{mask}[summary-only][route-map map-name]
BGP的管理權(quán)重 越高越優(yōu)先
router(config-router)#neighbor{ip-address}weight{w eight}
neighbor 1.1.1.1 weight 100
neighbor 2.2.2.2 weight 200
這時候會選2.2.2.2
配置BGP的本地優(yōu)先級 同一個AS多個出口 越高越優(yōu)先
router(config-router)#bgp default local-perference number
配置BGP的MED屬性(值越低越優(yōu)先) 同一個AS有不同AS的出口,
router(config-router)#default-metric{metric}
router(config-router)#bgp always-compare-med 在不同AS之中比較MED,必須加上這句
BGP對等體組
一組享有相同路由策略的鄰居的結(jié)合
router(config-router)#neighbor name peer-group
router(config-router)#neighbor{ip-address} peer-group name
驗證BGP對等體信息
show ip bgp summary
show ip bgp
show ip bgp neighbors 關(guān)注 Bgp state=established
IBGP keepalive 5s EBGP keepalive 60s