TCP IP協議詳解卷1 第十章 動態選路協議

2021-03-31 08:56:29 字數 2807 閱讀 2573

第十章 動態選路協議

第九章講述的是乙個ip報發到網路中後,路由器是如何為它找到正確的路徑併發送到該到的地點。

路由器先查詢路由表裡的主機項,如果找到則直接發出。如果找不到,再到跟這個ip匹配的網路項,如果找到則發往這個網路,由這個網路的路由器負責**到正確的位置。如果網路項也找不到匹配的,就發往預設路由。預設路由一般有更多的路由表項,能查詢更多的目的地。如果預設路由也不能處理,它又把ip資料報發往它的預設路由。這個過程一直持續下去,直到找到正確的主機,或者收到乙個icmp錯誤「主機不可達」。正**資料報的過程中,路由器之間可能會發出icmp重定向報文,幫助形成更有效的傳輸路徑。

第十章更詳細地討論了路由資訊在路由器之間的傳遞。其實提到的協議有:ripv1, ripv2,ospf,bgp,cidr。

inter***是以一組自治系統(as,autonomous system)的方式組織的,每個自治系統通常由單個實體管理。

每個自治系統可以選擇該自治系統中各個路由器之間的選路協議。這種協議我們稱之為內部閘道器協議igp(interior gateway protocol)或域內選路協議(intradomain routing protocol)。

最常用的igp是路由資訊協議rip。一種新的igp是開放最短路徑優先ospf(open shortest path first)協議。它意在取代rip。

rip,即路由資訊協議(routing infromation protocol)。協議格式為:

+--20 bytes-+--8 bytes --+----------+

+ ip header + udp header + rip data +

+-----------+------------+----------+

整個rip資料報封裝在udp資料報中。

ripv1協議格式為:

0      7 8     15 16             31

+--------+--------+----------------+

+***mand +  ver   +       0        +

+--------+--------+----------------+ ---

+ addr type(2)    +       0        +

+-----------------+----------------+

+        ip addr (32 bits)         +

+----------------------------------+

+                 0                +

+----------------------------------+

+                 0                +

+----------------------------------+

+           metric(1..16)          +

+----------------------------------+ --- 20 bytes each

+ other 24 (up to) routing info    +

+----------------------------------+

***mand 命令分兩種:1為請求,2為應答。另有廢棄命令(3和4),非正式命令(5和6)。

ver 版本,v1為1,v2為2。

後面就是跟著具體的路由資訊,每個路由佔20位元組。

addr type 位址型別,ip位址為2。

從上面協議格式來看,每個報文最多可以攜帶25個路由資訊。因此如果路由表比較大,需要用多個報文來傳送。

限制每次只傳25個路由資訊的依據是資料報的總大小。如果全部用完,25*20+4=504 < 512。

使用過程:

每次啟動時向所有介面廣播請求路由資訊的報文。

附近的路由器接收到請求報文後,將自己的路由資訊傳送回去。

每隔30秒,路由器將自身路由表完整地廣播給其他路由器。

如果有乙個路由的度量(hop)發生了變化,只傳送這條路由資訊。

每條路由都有與之相關的定時器。如果執行rip的系統發現一條路由在3分鐘內未更新,就將該路由的度量設定成無窮大(16),並標註為刪除。這意味著已經在6個30秒更新時間裡沒收到通告該路由的路由器的更新了。再過60秒,將從本地路由表中刪除該路由,以保證該路由的失效已被傳播開。
rip包括的度量資訊以跳(hop)計算,每經過乙個路由器為1跳。當到達同一主機有多個路由資訊時,路由器選擇跳數最少的,而忽略其他。

規定16為跳數的上限,也就相當於「不可達」。因此在ripv1中,每條路由資訊最多可以是15跳。如果乙個as的範圍超個這個跳數,rip使用將有侷限。另外rip的路由資訊中沒有子網掩碼,因而不知道乙個位址是主機位址還是網路位址。如果鏈路發生故障,路由資訊需要較長時間才能穩定下來。在穩定的過程中,很有可能會形成路由環路,需要小心避免。

另乙個igp協議是開放最短路徑優先ospf,克服了rip協議的所有缺點,並有許多的優點,因此廣泛使用。基本思想是路由器主動檢查與鄰近路由器的鏈路狀態,並將狀態資訊傳送給其他的路由器,其他的路由器就可以根據這些資訊來建立完整的路由表。ospf直接使用ip協議。

bgp用於as自治系統的邊界,與其他的自治系統之間交換路由資訊。與rip不同的是,bgp使用tcp連線來交換路由資訊,並每隔30秒檢查一次連線狀態。如果有路由資訊更新,則立即通知其他路由器。

另一種用於自治系統邊界通訊的是cidr(無型別域間路由)。基本的思想是路由到子網路級,更具體的選路由子網解決。要求必須有子網掩碼,通過對子網掩碼的操作來決定具體的路由。這種方法可以減少路由資訊的數目。

TCP IP詳解,卷1 協議,第十章 動態選路協議

小結 靜態選路 在配置介面時,以預設方式生成路由表項 對於直接連線的介面 並通過route命令增加表項 通常從系統自引導程式檔案 或是通過icmp重定向生成表項 通常是在預設方式出錯的情況下 動態選路協議 用於路由間的通訊。igp interior gateway protocol,內部閘道器協議 ...

第十章 動態陣列

分類 陣列與指標的藝術2009 11 23 10 46 6542人閱讀 收藏舉報 儲存 程式設計演算法語言 當寫下這個題目的時候,筆者心裡其實非常犯難。因為從本質上來說,本章想闡述的內容與題目所宣示的概念,其實是不一樣的。在程式設計中,我們常常要處理一段長度未知的資料,而且,執行過程中長度可能會發生...

移動端 第十章 動畫

動畫屬性 animation animation name 動畫的名字 animation duration 動畫完成乙個週期所花費的時間 秒 毫秒 animation timing function 動畫的速度曲線 linear ease ease in ease out ease in out ...