基本的路由選擇協議
目錄:
1. 分組轉發和路由選擇區別?
2. AS(Autonomous System)自治系統
3. 常用路由選擇協議
1)RIP協議
2)OSPF(Open Shortest Path First)協議
3)BGP協議
1. 分組轉發和路由選擇區別?
分組轉發是路由器根據路由表,選擇適當出口將分組送出去,而路由選擇是根據路由選擇算法來更新路由表信息。可以簡單理解為路由選擇算法--更新-->路由表--供-->路由器分組轉發時使用。
2. AS(Autonomous System)自治系統
自治系統是在單一技術管理體系下的多個路由器的集合,在自治系統內部使用內部網關協議(IGP)和通用參數來決定如何路由數據包,在自治系統間則使用AS間路由協議來路由數據包。
1)AS內部使用IGP(Interior Gateway Protocol)協議進行自我相互之間更新路由表信息。
2)不同AS之間使用EGP(External Gateway Protocol)協議進行AS之間的路由信息更新。
3. 常用路由選擇協議
IGP:RIP和OSPF
1)RIP協議
IGP協議的一種,只和相鄰路由器,在固定時間間隔中,交換各自整個路由表。基於UDP協議進行數據報發送。
RIP協議的距離:實際就是值經過多少個路由器可到達網絡,即跳數。一條路徑最大只能是15,16表示不可達。
優點:收斂速度快,剛剛開始路由器只知道於自己直連的路由信息,但是通過定時與相鄰路由器交換路由表,可以快速在AS中達到收斂。
缺點:好消息傳播快,壞消息傳播慢。因為壞消息有可能需要經過多次更新后直到距離達到16才會被AS中其它路由都發現。
RIP1和RIP2區別:
RIP1不發送子網掩碼,RIP2發送掩碼,支持VLSN(可變長子網掩碼)
RIP1不支持認證,RIP2支持認證。
RIP協議更新路由表算法:
路由條目格式:<net-id,distance,next-hop,...>
令當前路由器路由表為CurT
a. 收到相鄰路由器R的路由表T信息后,將下一跳全部改為R,每項距離都加1。
b. for each x in T loop
if CurT don't contain x.net-id then
CurT.addItem(x);
else
y = CurT.getItemByNetID(x.net-id)
if x.next-hop == y.next-hop then
update y.distance = x.distance;//更新路由項距離
else
y = x.distance < y.distance ? x : y;//選擇距離小的對y進行更新
endif
endif
endloop
c. 如果在規定的時間中沒有收到相鄰路由器R的路由信息,則標記該路由器不可達即設置距離為16。
2)OSPF(Open Shortest Path First)協議
使用洪泛法(即向所有其它路由器)發送更新信息,基於IP數據報進行信息發送。
3)BGP協議
是AS系統之間進行路由信息交換的協議,BGP協議的一種。
原理:每個AS系統指派一個或者多個系統內的代表作為該AS的發言人,不同AS之間通過發言人之間進行信息交流,然后在由各自的更新算法,根據收到的其它AS的路由信息,來更新自身的路由信息。
BGP協議是唯一個使用TCP協議進行路由更新的協議。
4. 總結
RIP是應用層IGP路由選擇協議,使用UDP進行路由信息更新。
OSPF是網絡層IGP路由選擇協議,直接使用IP協議發送更新數據。
BGP是應用層EGP路由選擇協議,使用TCP協議更新路由信息。
