OSPF
OSPF協議僅在單一自治系統內部路由網際協議(IP)數據包,因此被分類為內部網關協議。該協議從所有可用的路由器中搜集鏈路狀態信息從而構建該網絡的拓撲圖,由此決定提交給網際層(Internet Layer)的路由表,最終路由器依據在網際協議數據包中發現的目的IP地址,結合路由表作出轉發決策。OSPF原生支持VLSM與CIDR。
本協議使用Dijkstra算法計算出到達每一網絡的最短路徑,並在檢測鏈路的變化情況(如鏈路失效)時執行該算法快速收斂到新的無環路拓撲。

具體如下:
a>.尋找鄰居

b>.建立鄰接關系

c>.鏈路狀態信息傳遞


d.路由計算


在今天的學習中,我們知道RIP使用UDP,OSPF使用IP,而BGP使用TCP,其中OSPF基於IP協議,端口號為89。
因為OSPF自身提供主從協商機制,可以保證可靠的傳輸,另外全網路由器保持着同樣的一個lsdb,當拓撲發生變化時,需要攜帶的變更信息較少,通過IP協議即可完成
RIP協議采用UDP是因為,rip每周期需全網組播路由信息,路由信息數目較大,故使用UDP協議可提高效率
BGP為邊界網關協議,因攜帶的路由信息較多,且可能跨不同網絡傳送路由信息,為保證可靠性,需使用TCP協議,可兼顧容量和可靠性
BGP
邊界網關協議(BGP)是運行於 TCP 上的一種自治系統的路由協議。 BGP 是唯一一個用來處理像因特網大小的網絡的協議,也是唯一能夠妥善處理好不相關路由域間的多路連接的協議。 BGP 構建在 EGP 的經驗之上。 BGP 系統的主要功能是和其他的 BGP 系統交換網絡可達信息。網絡可達信息包括列出的自治系統(AS)的信息。這些信息有效地構造了 AS 互聯的拓朴圖並由此清除了路由環路,同時在 AS 級別上可實施策略決策。
BGP session
BGP相鄰路由器之間的會話是建立在TCP協議之上的。TCP協議提供種可靠的傳輸機制,支持兩種類型的會話:
1、外部BGP(EBGP):是在屬於兩個不同的自治系統的路由器之間的會話。這些路由器是毗鄰的,共享相同的介質和子網。
2、內部BGP(IBGP):是在一個自治系統內部的路由器之間的會話。它被用來在自治系統內部協調和同步尋找路由的進程。BGP路由器可以在自治系統的任何位置,甚至中間可以相隔數個路由器。
BGP建立一個BGP會話的過程:
1、空閑狀態:BGP通常以空閑狀態開始。在該狀態下,它拒絕接收所有入連接。當一個開始時間出現的時候,BGP過程初始化所有的BGP資源,打開重試連接計時器、初始化到鄰居的TCP連接,接聽來自鄰居的TCP初始化消息並將它的狀態轉到接連狀態,開始事件是又一個操作者配置BGP的一個過程。
2、連接狀態:在這種狀態下,BGP過程會等到TCP連接完成以后再決定后續的動作。如果連接建立成功,BGP連接將ConnectRetry清零,完成初始化過程,給鄰居發送一個Open消息並轉移到發送Open消息狀態。如果TCP連接失敗,BGP過程會繼續監聽由鄰居發起的連接,重置ConnectRetry計時器並轉移到激活狀態。
3、激活狀態:在這個狀態下,BGP過程試圖與鄰居建立一個TCP連接。如果連接建立成功,BGP連接將ConnectRetry清零,完成初始化過程,給鄰居發送一個Open消息並轉移到發送Open消息狀態,如果在激活狀態時,ConnectRetry計時器超時,該過程回到連接狀態。
4、發送Open消息狀態:在這種狀態下,已經發送了Open消息,BGP正在等待從鄰居發來的Open消息。當收到一個Open消息后,檢查該消息所有的字段。如果發現了差錯,會給它鄰居發送一個Notification消息並且將狀態轉移到空閑。如果在接收到的Open消息中沒有發現差錯,BGP給鄰居發送一個Keepalive消息並且將Keepalive計時器置位。鄰居之間協商一個Hold時間,它們會選用較小的值。如果協商的Hold時間是0,則沒有啟動Hold和keepalive計時器。根據對等的AS號,決定該連接是內部的還是外部的,並且將狀態轉移到Open消息確認。
5、Open消息確認狀態:在這種狀態下,BGP過程會等待一個Keepalive或者Notification消息。如果收到了Keepalive消息,轉移到建立狀態,如果收到了Notification消息或者TCP斷開消息,轉移到空閑狀態。
6、建立狀態:在這種狀態之下,BGP對等之間的連接完全建立起來了。對等之間可以交換Update,Keepalive和Notification消息。如果收到了Update或Keepalive消息,重新啟動Hold計時器 ,如果收到Notification消息。狀態會轉移到空閑。


