基本概念:
1.BGP 是路徑矢量協議,是自治系統間的路由協議
2.BGP采用TCP 179號端口,BGP路由器之間基於TCP建立BGP會話
3.運行BGP的路由器稱為BGP Spearker,他們之間建立對等體關系后(鄰居關系)才可以交換路由,進行路由學習
4.BGP具有大量豐富的路徑屬性和強大的策略工具
自治系統:
1.我們通常使用AS號來表示不同的自治系統
2.在同一個自治系統內,一般使用相同內部路由協議——IGB協議(OSPF、IS-IS等)
3.自治系統間使用外部路由協議——通常是BGP協議
4.一台路由器只能運行在同一個AS內
AS號有兩種表示方法:
1.使用2子節來表示AS號 范圍為1~65535 其中64512~65535是私有AS號(類似私有IP地址)
2.使用3子節來表示AS號 范圍為1~4294967295 (目前是這種給方式)
BGP對等體概述:
名詞解釋:
BGP Speakers 運行BGP的路由器
BGP Peers/Neighbors BGP對等體/鄰居
基本概念:
1.要想建立對等體關系,前提是TCP對等體之間的TCP連接建立成功
2.BGP的對等體之間無需直連,只需要IP可達就可以——一般使用IGP連使得IP可達,最后在使用BGP協議建立對等體
3.對等體建立關系需要手動配置——例如:Peer 鄰居IP地址
4.BGP的對等體關系建立后,不會周期性的更新,只發增量更新或者觸發更新
對等體類型:
EBGP 不同AS間建立鄰居——一般通過物理真實接口建立EBGP對等體關系
IBGP AS內建立鄰居 ——一般通過回環口來建立IBGP對等體關系
建立對等體關系的條件:
1.鄰居地址可達
2.自己配置的AS號 = 鄰居聲明的AS號
3.數據包的源IP(更新源) = 對方配置的鄰居IP
影響對等體建立的因素:
1.對等體本地地址不可達
2.更新源的問題------使用回環接口建立IBGP鄰居時有此問題,此時需要手動將更新源改為環回接口
3.eBGP跳數問題-----eBGP建立eBGP鄰居時的跳數為1,如果使用環回口建立eBGP鄰居關系,則需要增加跳數
4.BGP版本號不一致
5.AS號不一致--------怎對與iBGP鄰居的建立
6.Router ID沖突
7.BGP認證失敗
8.TCP 的179號端口阻塞
BGP對等體6種鄰居狀態:
注意:在TCP來凝結建立過程中,主動端為更新源大的
Idle 嘗試建立TCP連接-初始狀態 先查找對方的ip,然后嘗試三次握手
Connect 發送TCP包 正在進行tcp連接,等待完成中。認證都是在tcp建立期間完成的,連接不起進入Active狀態
Active 發送TCP包 tcp三次握手建立不成功,反復嘗試tcp連接
Opensent 發送Open包 連接建立成功,發送open包,open包攜帶參數協商對等體的建立
Openconfim 發送KeepLive包 參數,能力特征協商成功,自己發送keepalive包,等待對方發送keep alive包
Established 發送Update包 雙方特性一致,通告路由信息 路徑屬性
BGP一致呆在Active的原因:
- 數據源地址不匹配
- 鄰居與錯誤的地址建立了對等體關系
- 不存在該路由器的鄰居聲明(即對端沒有配置)
- AS號配置錯誤