系列TCP/IP協議-動態IP選路協議(008)

1、引言

前一章已經說過了IP數據包是如何分發的。爲啥這一章還要說這個問題?在網絡很小、只有單個鏈接點、沒有多餘的路由的時候,使用靜態選路是能夠的。可是一旦網絡變大一點就會出現各類問題。在大網絡中的網絡選路將在該節說明。   動態選路協議用於路由器間的通訊。該章主要介紹3種動態選路協議:RIP,OSPF,BGP。在Internet這樣的大型的網絡系統中,將這些主機劃分若干個系統(分組)中,一臺主機只屬於一個系統(組)中,如將一個公司或學校定一個爲一個系統(組),這些系統(組)叫作自治系統(AS,Autonomous System).正如其名同樣。每個AS一般由單個實體管理。一組AS組織成Internet。在同一AS中在該系統下的全部路由器選擇同一種選路協議。咱們稱這種路由協議爲IGP(Interior Gateway Protocol,內部網關協議);在不一樣的AS中的路由器的選路協議咱們稱爲EGP(Exterier Gateway Protocol,外部網關協議)。經常使用的IGP協議有RIP與OSPF,經常使用的EGP協議有BGP。微信

2、RIP協議

RIP(Routing Infromation Protocol 路由信息協議)數據包包含在UDP數據包中。RIP協議如今總共分兩個版本RIP-1與RIP2,RIP經常使用UDP端口號是520.網絡

1. RIP-1協議

RIP-1數據包以下: 測試

圖1.RIP1數據包頭部

  • 命令:長度一個字節。1-請求,2-應答,3/4-捨棄不用,5-輪詢,6-輪詢表項;
  • 版本字段:長度一個字節。RIP-1協議爲1,RIP-2協議爲2;
  • 一條路由項:長度20個字節。
    • 地址系列: 2個字節,指明是何種地址。值爲2表示IP地址。
    • 度量:路由器跳轉數,直連爲1,最大爲16

2.運行流程

  • 初始化:在啓動路由守護程序,先判斷有哪些網絡端口,而且在每個接口上發送一個RIP請求數據包。對於點對點的網絡中,直接發給鏈接主機。若是是網絡,這種請求是以廣播的形式發送出去的。這種請求報文的命令字段爲 1,但地址系列字段設置爲 0,而度量字段設置爲 16。這是一種要求另外一端完整路由表的特殊請求報文。
  • 接收請求:若是這個請求是剛纔提到的特殊請求,那麼路由器就將完整的路由表發送給請求者。就處理請求中的每個表項:若是有鏈接到指明地址的路由,則將度量設置成咱們的值,不然將度量置爲16(度量爲16是一種稱爲「無窮大」的特殊值,它意味着沒有到達目的的路由)。而後發回響應。
  • 接收到的響應:使響應生效,可能會更新路由表。可能會增長新表項,對已有的表項進行修改,或是將已有表項刪除。
  • 按期選路更新:每過30秒,全部或部分路由器會將其完整路由表發送給相鄰路由器。發送路由表能夠是廣播形式的(如在以太網上),或是發送給點對點鏈路的其餘終點的。
  • 觸發更新:每當一條路由的度量發生變化時,就對它進行更新。不須要發送完整路由表,而只須要發送那些發生變化的表項。

3.RIP-2協議

RIP-2協議是對RIP-1協議的擴充,該協議不改變RIP-1協議內容,只是全部的填充0區域利用上了。 code

圖2. RIP-2數據包

  • 路由域:一個選路守護程序的標識符,它指出了這個數據報的全部者。在一個Unix實現中,它能夠是選路守護程序的進程號。該域容許管理者在單個路由器上運行多個RIP實例,每一個實例在一個選路域內運行。
  • 路由標記:爲了支持外部網關協議而存在的。它攜帶着一個 EGP和BGP的自治系統號。
  • 32位子網掩碼:每一個表項的子網掩碼應用於相應的IP地址上。

3、OSPF協議

OSPF(Open Shortest Path First 開放式最短路徑優先)是除RIP外的另外一個IGP協議。它克服了RIP的全部限制。   與採用距離向量的 R I P協議不一樣的是, O S P F是一個鏈路狀態協議。距離向量的意思是,R I P發送的報文包含一個距離向量(跳數)。每一個路由器都根據它所接收到鄰站的這些距離向量來更新本身的路由表。   在一個鏈路狀態協議中,路由器並不與其鄰站交換距離信息。它採用的是每一個路由器主動地測試與其鄰站相連鏈路的狀態,將這些信息發送給它的其餘鄰站,而鄰站將這些信息在自治系統中傳播出去。每一個路由器接收這些鏈路狀態信息,並創建起完整的路由表。 參考連接:kalng.blog.51cto.com/3145815/829…cdn

4、BGP協議

BGP(Border Gateway Protocol 邊界網關協議)是一種不一樣自治系統的路由器之間進行通訊的EGP協議。   BGP與RIP和OSPF的不一樣之處在於BGP使用TCP做爲其傳輸層協議。兩個運行BGP的系統之間創建一條TCP鏈接,而後交換整個BGP路由表。從這個時候開始,在路由表發生變化時,再發送更新信號。   BGP是一個距離向量協議,可是與(通告到目的地址跳數的)RIP不一樣的是,BGP列舉了到每一個目的地址的路由(自治系統到達目的地址的序列號)。這樣就排除了一些距離向量協議的問題。採用16 bit 數字表示自治系統標識。   BGP經過按期發送keepalive數據包給其鄰站來檢測 TCP鏈接對端的鏈路或主機失敗。兩個報文之間的時間間隔建議值爲30秒。blog

都看到這裏了,要不要掃二維碼關注一下微信公衆號林灣村龍貓接口

微信公衆號rudy_tan_home
相關文章
相關標籤/搜索