對于IGRP路由協議的深入剖析
在路由協議方面,我們都知道RIP路由協議是這里面的最早的一個版本。隨著網絡結構的復雜化,以及企業的不斷升高的標準。RIP協議已經逐漸退出了歷史舞臺。隨之,我們提出了IGRP路由協議。與RIP協議不同的是,IGRP路由協議使用IP層的端口號9來進行報文交換(RIP是使用的520端口,UDP)
IGRP路由協議使用了一個稱為自主系統(AutonomousSystem)的概念。自主系統可以定義為一個路由選擇域(RoutingDomain),也可以定義為一個進程域(processDomain)。IGRP路由協議自主系統是一個進程域-----一組使用IGRP路由協議作為共同的路由選擇協議的路由器。通過定義和跟蹤多個自主系統,IGRP路由協議允許在一個IGP環境里面運行多個進程域,這樣可以把一個域內部的通信和另一個域內部的通信孤立起來。域間的通信量可以通過路由重新分配(Redistribution)!關于這些數字的定義,例如AS10igrp10igrp30IGRP路由協議內,兩個自主系統號10和30是IGRP的兩個進程域,就此處而言,進程域10和30是通過和這兩個進程域都相連的一臺路由器來進行通信的。AS10則是指路由選擇域。在IGRP更新報文中,IGRP路由協議把路由條目分成3類:內部路由(InteriorRoute)、系統路由(SystemRoute)、和外部路由(exteriorRoute),每個IGRP路由協議的路由條目都屬于這3個類別中的一個。
內部路由--------是指到達屬于某個主網絡的子網地址的路徑,這里的主網絡是指正在廣播這條路由更新的數據鏈路的主網絡地址。換句話說,作為內部路由被通告的子網對于通告路由器和接收路由器共同相連的主網絡來說是“本地”的。
系統路由---------是指到達在網絡邊界路由器上被匯總的網絡地址的路徑。
外部路由---------是到達被標記成缺省網絡(DefaultNetwork)的路徑。對于缺省網絡,路由器將直接發送所有的數據包而不對具體的目的網絡進行查找匹配。例:由于沒辦法把圖發上來,故省略了……
IGRP路由協議的定時器和穩定性
IGRP路由協議的更新周期是90S。為了防止更新計時器的同步,IGRP路由協議針對每一個更新時間減掉一個***為其20%的隨機抖動變量。因此,每個更新周期所需要的時間將在72~90S之間變化。當一條路由***被學到時,這條路由的無效計時器就會被設置成270s,即更新周期時間的3倍長。同時,刷新定時器設置成630s,即更新周期時間的7倍長。每次接收路由器收到該路由的更新報文后,這些計時器都將被重新初始化。如果在收到一條更新報文之前無效計時器的計時超時了,這條路由就會標記成不可到達。但是,在路由器的刷新計時器超時前,這條路由還會被保留在路由選擇表中,并且作為不可達的路由通告出去,如果刷新計時器超時了,這條路由才會從路由選擇表中刪除掉。
重復一下RIP的定時器RIP的路由更新定時器30秒路由器無效定時器90秒刷新定時器240秒在Cisco的IOS中運行的Rip協議還會有一個超時計時器,默認為180s如果一條路由的更新在180s(6個更新周期)內還沒有收到,那么這條路由的跳數將變成16,也就是標記為不可到達的路由。如果一條路由的目的地址變為不可達的,或下一跳路由器增大了到達目的地址的度量以至于引起一個觸發更新的話,那么這條路由將會進入一個280s(3倍的更新周期加上10s)的抑制時間狀態。直到抑制計時器超時之前,有關這個目的地址新的信息都不會被路由器接受。IGRP路由協議的抑制特性可以用命令nometricholddown來禁止,在一個沒有路由環路的網絡拓樸中,抑制特性沒有實際的意義,禁止掉這個特性將有助于減少IGRP路由協議的收斂時間。缺省的計時器可以用下面的命令來改變:
Timersbasicupdateinvalidholddownflush[sleeptime]除了sleeptime選項,這條命令曾在改變RIP協議的計時器時使用過。Sleeptime是一個周期性的毫秒(ms)級的計時器,在收到一條觸發更新后,它被用來延遲一個正常的路由更新。計時器的缺省值應當只在網絡發生了明顯的問題,并且仔細考慮了更改計時器所帶來的后果之后才能加以改變。
IGRP路由協議的度量
默認情況下,IGRP路由協議選用路由協議的鏈路帶寬和時延作為度量值。鏈路的另外兩個特性----負載和可靠性只有在路由器上進行人工配置后才會被應用??梢酝ㄟ^命令showinterface來觀察一個特定接口上相關IGRP路由協議的復合度量的值大小。
帶寬(Bandwidth)------帶寬用Kbit/s單位來表示,它在計算鏈路的度量值時僅作為一個靜態的值,沒有必要反映出鏈路實際使用的帶寬,也就是說,帶寬不需要動態地去度量,例如,不論和串行接口相連的鏈路是T1還是56K的,串行接口的缺省帶寬都是1544Kbit/s。這個缺省的帶寬值可以通過bandwidth命令來更改。IGRP路由協議的更新報文使用3個8bit字節來表示IGRP“帶寬”。在這里用BWigrp表示,它是用因子10的7次方除以帶寬得來的,因此,如果接口的帶寬是1544,那么BWigrp=107/1544=6476或者是0x00194C
時延(delay)-----時延,像帶寬一樣,也是一個靜態特征的度量值,不需要動態地去量度,時延可以通過showinterface命令顯示的DLY參數來表示,單位是(微秒)一個接口的缺省時延可以通過delay進行更改,并以10微秒作為命令配置的最小計量單位。DLYigrp=DLY/10IGRP通過設定DLYigrp=0xFFFFFF來標識一條不可到達的路由路徑,這個數值大約為167.8s,因此,一條IGRP路由協議的路由端——端的***時延是167s。
可靠性(Reliability)------可靠性是一個動態量度的度量參數,它使用一個8位數字來表達,255表示100%的可靠鏈路,而1表示***可靠的鏈路。在命令showinterface。