摘要:
>>>
預備知識
網路層提供兩種服務:
虛電路服務
資料報服務
...
>>>
預備知識
網路層提供兩種服務:
虛電路服務與資料報服務的對比
對比的方面
|
虛電路服務
|
資料報服務
|
思路
|
可靠通訊由網路保證
|
可靠通訊由終系統保證
|
連線的建立
|
必須有
|
不需要
|
終點地址
|
僅在連線建立階段使用,每個分組使用短的虛電路號
|
每個分組都有終點的完整地址
|
分組的轉發
|
屬於同一條虛電路的分組均按照同一路由進行轉發
|
每個分組獨立選擇路由進行轉發
|
當結點出故障
|
所有通過出故障的結點的虛電路均不能工作
|
出故障的結點可能會丟失分組,一些路由可能發生變化
|
分組的順序
|
按傳送順序
|
不按傳送順序
|
端到端的差錯處理和流量控制
|
可由網路負責,也可由終系統負責
|
由終系統負責
|
因資料報服務在分組轉發時,每個分組獨立選擇路由進行轉發,從而引出路由選擇協議
。
路由選擇協議的核心是路由演算法
。
理想路由演算法特點:
-
演算法必須是正確的和完整的
-
演算法在計算上應簡單
-
演算法應能適應通訊量和網路拓撲結的變化,要有自適應性
-
演算法應具有穩定性
-
演算法應是公平的
-
演算法應是最佳的
路由演算法依據自適應性來劃分為:
-
靜態路由選擇策略(非自適應路由選擇)
-
動態路由選擇策略(自適應路由選擇)
由於網際網路的規模非常大,以及各單位的保密需求,網際網路採用分層次的路由選擇協議
。為此,將網際網路分為許多較小的自治系統(AS)
,AS是在單一技術管理下的一組路由器。一個AS對其他AS表現出的是一個單一的和一致的路由選擇策略
。
路由選擇協議分類:
一)內部閘道器協議IGP
自治系統內部的路由選擇叫做域內路由選擇
二)外部閘道器協議EGP
自治系統之間的路由選擇叫做域間路由選擇
RIP
中文名:路由資訊協議
RIP是一種分散式
的基於距離向量的路由選擇協議
距離的定義:也稱“跳數(hop count)”,
從一路由器到直接連線的網路的距離定義為 1。從一路由器到非直接連線的路由器的距離定義為所經過的路由器數加 1。
RIP允許一條路徑最多包含 15 個路由器,即“距離”等於 16 時不可達。
RIP選擇一條具有最少路由器的路由(最短路由),哪怕還存在另一條高速但路由器較多的路由。
特點:每一個路由器都要不斷地和其他路由器交換路由資訊。
-
僅和相鄰路由器
交換資訊
-
路由器交換的資訊是當前本路由器所知道的所有信息,即當前的路由表
-
按固定時間間隔
交換路由資訊
路由器剛開始工作時,路由表是空的,但經過若干次的更新後,所有的路由器最終都會知道到達本自治系統中任何一個網路的最短距離和下一跳路由器的地址。以上過程,叫 “收斂
”,收斂是在AS中所有結點都得到正確的路由選擇資訊的過程。
路由表中最主要的資訊:到某個網路的距離(最短距離
),經過的下一跳地址。
為了找出最短距離,由此引出 距離向量演算法——
距離向量演算法
此演算法的基礎是Bellman-Ford演算法
,這種演算法的要點是:
設 X 是結點 A 到 B 的最短路徑上的一個結點。若把路徑 A到B 拆成兩段路徑 A到X 和 X到B,則每段路徑 A到X 和 X到B 也都分別是結點 A到X 和結點 X到B 的最短路徑。
對每一個相鄰路由器傳送過來的RIP報文,進行以下步驟:
1)對地址為 X 的相鄰路由器發來的RIP報文,先修改此報文的所有專案:把“下一跳”欄位中的地址都改為 X ,並把所有的“距離”欄位值加 1''' 假設從位於 X 的相鄰路由器發來RIP報文的某一專案是:“Net2,3,Y”,意思是“我經過路由器Y到網路Net2的距離是3”,那麼本路由器可推斷出“我經過路由器X到網路Net2的距離是3+1=4”,於是將收到的RIP報文的這一專案修改為:“Net2,4,X”,作為下一步和路由表中原有專案進行比較時使用(比較後確定是否更新)'''
每一個專案都有三個關鍵資料,即:到目的的網路 N ,距離 d ,下一跳路由器 X 。
2)對修改後的RIP報文中的每個專案,執行以下步驟:
if (原來的路由表中沒有目的網路N):
把該專案新增到路由表中 '''本路由表中沒有到目的網路Net2的路由,那麼路由表中就要加入新的專案“Net2,4,X” '''
在路由表中由目的網路N,檢視下一跳路由器地址;elif(下一跳路由器地址是 X):
把收到的專案替換原路由表中的專案'''不管原來路由表中專案時“Net2,3,X”還是“Net2,5,X”,都要更新為“Net2,4,X” '''
這個專案滿足,到目的網路N,但下一跳路由器不是X;elif(收到的專案中的距離 d 小於路由表中的距離):
更新'''若路由表中已有專案“Net2,5,P”,就更新為“Net2,4,X”
else:
無動作'''若距離更大了,顯然不應更新;若距離不變,也不更新'''
3)若三分鐘還沒收到相鄰路由器的更新路由表,則把此相鄰路由器記為不可到達的路由器,即“距離”為 16。
4)return
RIP協議讓AS中所有路由器都和自己相鄰路由器定期交換路由資訊,並不斷更新路由表,使得每個路由器到每個目的網路的路由都是最短的
(跳數最少)。