一句話總結BGP特性
阿新 • • 發佈:2018-11-14
由器 pre 一次 community 通過 _id 完成 客戶機 組成 一、 BGP使用的是TCP的179端口建立連接,不使用組播IP,而是單播建立鄰居,所以它無法自動發現鄰居,需要手工配置鄰居的更新地址。
二、 數據包:
二、 數據包:
- open: 用來建立鄰居關系
- update:用來發送NLRI
- keepalive:用來維護鄰居關系,每60秒發送一次。
- notification:路由器檢查到差錯後,用來中斷鄰居關系
- Route-refresh:請求對等體重新發送路由。
三、狀態機 - idel:初始狀態,不接受鄰居發送的連接請求
- connect:等待BGP連接的完成;如果TCP連接成功,則向鄰居發送open報文,進入opensent狀態;如果TCP連接不成功,則轉入Active狀態。
- active: BGP進程會嘗試與其鄰居初始化TCP連接。如果連接成功,BGP向對等體發送Open報文,關閉連接重傳定時器,並轉至OpenSent狀態。 如果TCP連接失敗,那麽BGP停留在Active狀態。如果連接重傳定時器超時,BGP仍沒有收到BGP對等體的響應,那麽BGP將轉入Connect狀態。
- opensent:在此狀態下,BGP等待對等體的Open報文,接到到Open報文後,會對接收到的AS號、版本號、認證碼進行檢查。如果接收到的Open報文正確,那麽BGP發送KeepAlive報文,並轉到Openconfirm狀態;如果接收到的Open報文有誤,那麽BGP發送Notification報文給對等體,並轉到Idle狀態。
- openconfirm:BGP等待Keepalive或者Notification報文。如果收到Keepalive則轉入Establish狀態,如果收到Notification報文,則轉到Idle狀態。
- establish:已經建立了鄰居關系,BGP可以和對等體交換Update、Keepalive、Route-refresh、Notification報文。如果收到正確的Update和Keepalive,將保持BGP連接。 如果收到錯誤的Update和Keepalive,那麽BGP將發送Notification報文對知對端,並進入Idle狀態。如果收到Notification或TCP拆除連接的通知,那麽也會轉入Idle狀態。
- 公認可遵:所有路由器都要識別,並且必須包含在Update包中的屬性。這些屬性有:Origin、Next_hop、AS_Path
- 公認必遵:所有路由器都要識別,但不一定要包含在Update包中的屬性。這些屬性有:Local-Pref
- 可選傳遞:BGP路由器可以不識別這個屬性,但它仍然會接收這類屬性,並通知給其他對等體。這些屬性有Community
- 可選非傳遞:BGP設備可以不識別此類屬性,如果BGP設備不識別此類屬性,則會忽略該屬性,不會通告給對等體。這些屬性有:MED、Originator_ID、Cluster_list
五、選路原則: 見 http://blog.51cto.com/liu008qing/2298895
六、RR: - 路由反射器,它打破了IBGP的水平分割。非客戶機與非客戶機之間不能傳遞路由。從客戶端學到的路由傳遞給客戶端和非客戶端;從非客戶端學到的路由傳遞給客戶端;從EBGP學習到的路由傳遞給客戶端和非客戶端。
- Cluster:RR和它的客戶端組成一個Cluster,同一個Cluster有相同的Cluster_ID。
- Cluster_List:當一條路由被RR反射以後,就會形成一個Cluster_list,當即RR接收到一條更新的路由時,會檢查Cluster_list,如果已經有本地的Cluster_list,則會丟棄這條路由;如果收到的路由沒有本地的Cluster ID,則會將其加入Cluster_list,並反射該路由。
- Originator_ID:Originator_ID用來標識路由的發起者,當一條路由第一次被反射的時候,RR將這個屬性加入這條路由。如果一條路由已經有了Originator ID,則不會再添加了。當設備接收到這條路由時,會將Originator_id與Router_ID進行比較,如果相同則不接收這條路由。
- 雖然RR打破了IBGP的水平分割,但它通過自己的Cluster_list和Originator_ID來防止環路的產生。
- 兩臺路由之間可以互為RR客戶端。
七、 聯盟: - 聯盟是將一個AS劃分為更多的子AS的技術。
- 每個子AS建立全互聯的鄰居關系
- 子AS之間建立EBGP連接關系。
- 在配置時,BGP進程處起的是子AS的AS號,全局的AS號將成為聯盟ID。
- 需要配置confed peer-as,這些AS指的是同一個全局AS內的其他的子AS號。
八、同步:BGP路由器不應該使用或向EBGP鄰居通告從IBGP鄰居那裏學習到的BGP路由信息,除非該路由是本地的或者該路由存在於IGP數據庫,即該路由也能從IGP學習到。
九、 最優:只有最優的路由才能傳遞給對等體。最優的前提條件:1. 關閉同步 2. 下一跳可達。
十、 有效: 不通告BGP的更新源做為業務網段
十一、防環:從IBGP學習到的路由不能再通告給IBGP,也就是說IBGP的路由只能傳一跳。
一句話總結BGP特性