知識卡片|最全RIP動態路由協議技術詳解

知識卡片|最全RIP動態路由協議技術詳解

前言算法

上一章節咱們介紹了靜態路由協議,如何經過靜態路由實現負載分擔和主備路由?|內附知識卡片總結。安全

今天咱們一塊兒來看下RIP動態協議,其實無論時靜態路由協議仍是動態路由協議,他們最終的目的都是生成路由,路由器根據各類協議產生的路由選擇最優路由加入路由表,用於指導數據包轉發。網絡

其實RIP基本上在現網中基本已經淘汰了,那麼爲何還要花一章節介紹呢?ide

一、RIP是一種比較簡單的動態路由協議,經過學習方便理解動態路由協議,有助於後續其餘動態路由協議的學習和理解;學習

二、按照RIP、OSPF、ISIS、BGP的學習順序學習,方便在學習的過程當中進行對比,能夠由淺入深學習;測試

三、目前考試認證還會涉及到RIP路由協議。加密

正文3d

1 什麼是RIP協議code

路由信息協議RIP(Routing Information Protocol),是一種比較簡單的內部網關協議(IGP),它是一種基於距離矢量(Distance-Vector)算法的協議,使用了基於距離矢量的貝爾曼-福特算法(Bellman-Ford)來計算到達目的網絡的最佳路徑,使用跳數做爲度量來衡量到達目的網絡的距離。orm

幾個概念:

一、IGP:

IGP(內部網關協議)是在一個自治網絡內網關(主機和路由器)間交換路由信息的協議。

IGP協議包括RIP、OSPF、IS-IS。

二、距離矢量算法:

距離矢量協議根據距離的遠近來決定最好的路徑。距離可能用跳數來表明一個距離值。

三、跳數:

數據包通過一臺路由器就是一跳,通過的路由器數量,就是它的跳數。

2 RIP協議的工做原理:

路由器啓動時,路由表中只會包含直連路由。

運行RIP以後:

一、路由器會發送Request報文,用來請求鄰居路由器的RIP路由。

二、運行RIP的鄰居路由器收到該Request報文後,會根據本身的路由表,生成Response報文進行回覆。

三、路由器在收到Response報文後,會將相應的路由添加到本身的路由表中。

RIP網絡穩定之後,每一個路由器會週期性地向鄰居路由器通告本身的整張路由表中的路由信息,默認週期爲30秒。鄰居路由器根據收到的路由信息刷新本身的路由表。

RIP協議度量——跳數

RIP使用跳數做爲度量值來衡量到達目的網絡的距離。

在RIP中,路由器到與它直接相連網絡的跳數爲0,每通過一個路由器後跳數加1。爲限制收斂時間,RIP規定跳數的取值範圍爲0~15之間的整數,大於15的跳數被定義爲無窮大,即目的網絡或主機不可達。

路由更新原則:

路由器從某一鄰居路由器收到路由更新報文時,將根據如下原則更新本路由器的RIP 路由表:

一、對於本路由表中已有的路由項,當該路由項的下一跳是該鄰居路由器時,不論度量值將增大或是減小,都更新該路由項(度量值相同時只將其老化定時器清零。

路由表中的每一路由項都對應了一個老化定時器,當路由項在 180 秒內沒有任何更新時,定時器超時,該路由項的度量值變爲不可達)。

二、當該路由項的下一跳不是該鄰居路由器時,若是度量值將減小,則更新該路由項。

三、對於本路由表中不存在的路由項,若是度量值小於16,則在路由表中增長該路由項。

四、某路由項的度量值變爲不可達後,該路由會在 Response 報文中發佈四次(120 秒),而後從路由表中清除。

3 RIPV1和RIPv2版本對比:
RIP包括RIPv1和RIPv2兩個版本。

  • RIPv1爲有類別路由協議,不支持VLSM和CIDR。

    RIPv2爲無類別路由協議,支持VLSM,支持路由聚合與CIDR。
  • RIPv1使用廣播發送報文;

    RIPv2有兩種發送方式:廣播方式和組播方式,缺省是組播方式。

RIPv2的組播地址爲224.0.0.9。組播發送報文的好處:

一、在同一網絡中那些沒有運行RIP的網段能夠避免接收RIP的廣播報文;

二、組播發送報文還可使運行RIPv1的網段避免錯誤地接收和處理RIPv2中帶有子網掩碼的路由。

RIPv1不支持認證功能,

RIPv2支持明文認證和MD5密文認證。

4 RIP協議的報文頭

RIPv1報文格式:

知識卡片|最全RIP動態路由協議技術詳解

RIP協議經過UDP交換路由信息,端口號爲520。

RIPv1以廣播形式發送路由信息,目的IP地址爲廣播地址255.255.255.255。

報文格式中每一個字段的值和做用:

一、Command:表示該報文是一個請求報文仍是響應報文,只能取1或者2。1表示該報文是請求報文,2表示該報文是響應報文。

二、Version:表示RIP的版本信息。對於RIPv1,該字段的值爲1。

三、Address Family Identifier(AFI):表示地址標識信息,對於IP協議,其值爲2。

四、IP address:表示該路由條目的目的IP地址。這一項能夠是網絡地址、主機地址。

五、Metric:標識該路由條目的度量值,取值範圍1-16。

一個RIP路由更新消息中最多可包含25條路由表項,每一個路由表項都攜帶了目的網絡的地址和度量值。整個RIP報文大小限制爲不超過504字節。若是整個路由表的更新消息超過該大小,須要發送多個RIPv1報文。

RIPv2報文格式

知識卡片|最全RIP動態路由協議技術詳解

RIPv2在RIPv1基礎上進行了擴展,但RIPv2的報文格式仍然同RIPv1相似。

其中不一樣的字段以下所示:

一、AFI:地址族標識除了表示支持的協議類型外,還能夠用來描述認證信息。

二、Route tag:用於標記外部路由。

三、Subnet Mask:指定IP地址的子網掩碼,定義IP地址的網絡或子網部分。

四、Next Hop:指定通往目的地址的下一跳IP地址。

RIPv2–認證報文格式:

RIPv2支持對協議報文進行認證,認證方式有明文認證和MD5認證兩種。

知識卡片|最全RIP動態路由協議技術詳解

RIPv2的認證功能是一種過濾惡意路由信息的方法,該方法根據key值來檢查從有效對端設備接收到的報文。這個key值是每一個接口上均可以配置的一個顯示密碼串,相應的認證類型(Authentication Type)的值爲2。

早期的RIPv2只支持簡單明文認證,安全性低,由於明文認證密碼串能夠很輕易地截獲。隨着對RIP安全性的需求愈來愈高,RIPv2引入了加密認證功能,開始是經過支持MD5認證(RFC 2082)來實現,後來經過支持HMAC-SHA-1認證(RFC 2082)進一步加強了安全性。

5 RIP-環路問題

當網絡發生故障時,RIP網絡有可能產生路由環路。

本示例介紹了RIP網絡上路由環路的造成。

知識卡片|最全RIP動態路由協議技術詳解

如圖所示,RIP網絡正常運行時,RTA會經過RTB學習到10.0.0.0/8網絡的路由,度量值爲1。一旦路由器RTB的直連網絡10.0.0.0/8產生故障,RTB會當即檢測到該故障,並認爲該路由不可達。此時,RTA尚未收到該路由不可達的信息,因而會繼續向RTB發送度量值爲2的通往10.0.0.0/8的路由信息。

RTB會學習此路由信息,認爲能夠經過RTA到達10.0.0.0/8網絡。

此後,RTB發送的更新路由表,又會致使RTA路由表的更新,RTA會新增一條度量值爲3的10.0.0.0/8網絡路由表項,從而造成路由環路。這個過程會持續下去,直到度量值爲16。

解決方法:

一、定義一個最大值:

如上所述,路由環路造成時,A和B路由器相互不斷更新到10.0.0.0網絡的路由表時,跳數不斷增長,網絡一直沒法收斂。因此給跳數定義一個最大值,當跳數達到這個最大值時,則10.0.0.0網絡被認爲是不可達的。可是定義最大值不能避免環路產生,並且最大跳數不能定義太大,否則耗費大量時間進行收斂,也不能定義過小,若是過小則只侷限於一個小型的網絡中。RIP容許跳數的最大數爲15.

二、水平分割(splithorizon):

看看路由環路產生得緣由,B從A那收到到達10.0.0.0網絡的路由信息,接着又把該信息發給A網絡,從而引發相互不斷的更新,而水平分割就是不容許路由器將路由更新信息再次傳回到傳出該路由信息的端口,即B從A收到路由信息後,B不能把該信息再次回傳給A,這就在必定程度上避免了環路的產生。

三、抑制時間/保持關閉(holddown timer)

一條路由信息無效以後,一段時間內這條路由都處於抑制狀態,即在必定時間內再也不接收關於同一目的地址的路由更新.若是路由器從一個網段上得知一條路徑失效,而後,當即在另外一個網段上得知這個路由有效,這個有效的信息每每是不正確的,抑制計時避免了這個問題,並且當一條鏈路頻繁起停時,抑制計時減小了路由的浮動,增長了網絡的穩定性.

四、路由中毒(poison reverse)

路由中毒即在網絡故障或接口復位時,讓相應的路由項中毒,即將路由項的度量值設爲無窮大,表示該路由項已經失效,而且當接收到一個路由中毒時,它會發送一箇中毒反轉的更新.返回產生路由中毒的發送方.通常在這個時候都會同時啓動抑制時間。

舉個例子,好比上面的10.0.0.0網絡出現故障,則B路由器到10.0.0.0網絡的路由表的度量值會被設置爲最大,表示10.0.0.0網絡已經不可達,而且啓動抑制時間.此時B路由器發送更新到A,該路由的跳數設置爲16。利用這種方式,能夠清除對方路由表中的無用路由。

五、觸發更新(trigger update)

缺省狀況下,一臺RIP路由器每30秒會發送一次路由表更新給鄰居路由器。

當本地路由信息發生變化時,觸發更新功能容許路由器當即發送觸發更新報文給鄰居路由器,來通知路由信息更新,而不須要等待更新定時器超時,從而加速了網絡收斂。

回顧下路由環路產生的緣由,B路由器接收到10.0.0.0網絡故障信息後,等待更新週期的到來後再通知A路由器,結果A的更新週期提前到來,結果掩蓋了10.0.0.0網絡的故障信息,從而造成環路。

觸發更新的機制正是用來解決這個問題,在收到故障信息後,不等待更新週期的到來,當即發送路由更新信息。可是仍是有個問題,若是在觸發更新剛要啓動時卻收到了來自A的更新信息,就會進行錯誤的更新。能夠將抑制時間和觸發更新相結合,當收到故障信息後,當即啓動抑制時間,在這段時間內,不會輕易接受路由更新信息,這個機制就能夠確保觸發信息有足夠的時間在網絡中傳播。

6 RIP協議的優缺點:

優勢:

對於小型網絡,RIP就所佔帶寬而言開銷小,易於配置、管理和實現。

缺點:

一、RIP也有明顯的不足,即當有多個網絡時會出現環路問題。

二、若採用RIP協議,其網絡內部所通過的鏈路數不能超過15,這使得RIP協議不適於大型網絡。

7 RIP協議的應用場景:

最初的RIP協議開發時間較早,因此在帶寬、配置和管理方面要求也較低,所以,RIP主要適合於規模較小的網絡中。

8 實戰:RIP協議配置和抓包分析

RIPV1配置實例:

知識卡片|最全RIP動態路由協議技術詳解

R2配置:

#

interface Ethernet0/0/0

ip address 192.168.1.1 255.255.255.0

#

interface GigabitEthernet0/0/0

ip address 10.1.1.1 255.255.255.252

#

rip 1

network 192.168.1.0

network 10.0.0.0

#

R1配置:

#

interface GigabitEthernet0/0/0

ip address 10.1.1.2 255.255.255.252

#

interface GigabitEthernet0/0/1

ip address 10.1.2.1 255.255.255.252

#

rip 1

network 10.0.0.0

#

R3配置:

#

interface Ethernet0/0/0

ip address 192.168.2.1 255.255.255.0

#

interface GigabitEthernet0/0/0

ip address 10.1.2.2 255.255.255.252

#

rip 1

network 10.0.0.0

network 192.168.2.0

#

查看R1的路由表:

知識卡片|最全RIP動態路由協議技術詳解

查看R2的路由表:

知識卡片|最全RIP動態路由協議技術詳解

查看R3的路由表:

知識卡片|最全RIP動態路由協議技術詳解

Ping測試:

知識卡片|最全RIP動態路由協議技術詳解

在R1接口G0/0/0接口抓包:

知識卡片|最全RIP動態路由協議技術詳解

對報文進行分析:

一、R2發送Request報文,用來請求鄰居路由器的RIP路由;

知識卡片|最全RIP動態路由協議技術詳解

二、R1收到該Request報文後,會根據本身的路由表,生成Response報文進行回覆。

知識卡片|最全RIP動態路由協議技術詳解

RIPV2配置實例:

基亍前面的配置,只需在RIP子規圖模式下配置version 2便可。

[R1]rip 1
[R1-rip-1]version 2
[R2]rip 1
[R2-rip-1]version 2
[R3]rip 1
[R3-rip-1]version 2

在R1接口G0/0/0接口抓包:

知識卡片|最全RIP動態路由協議技術詳解

分析:

一、R1發送Request報文,用來請求鄰居路由器的RIP路由

知識卡片|最全RIP動態路由協議技術詳解

二、R2收到該Request報文後,會根據本身的路由表,生成Response報文進行回覆。
知識卡片|最全RIP動態路由協議技術詳解

總結

知識卡片|最全RIP動態路由協議技術詳解

相關文章
相關標籤/搜索