IGRP 的metric 是復合性的,4 個要素分別是帶寬(bandwidth,BW),延遲(delay),可靠性(reliability)和負載(load).默認IGRP 的metric 只以BW 和delay 作為標準.其他的2 個要素可以通過命令,配置成metric 的要素的一部分.有一點要注重的是,雖然IGRP 的metric 不使用最大傳輸單元(maximum transmission unit,MTU)作為要素,但是IGRP仍然會對每條路徑上最小的MTU 進行跟蹤,如下:
Newz#sh interface fddi0
(略)
MTU 4470 bytes, BW 100000 Kbit, DLY 100 usec, rely 255/255, load 1/255
(略)
BW 的單位是Kilobit.無論是串行鏈路是T1 線路還是56Kbps 的,這個串行接口的BW 默認都是1544Kbps.BW 可以通過命令bandwidth {BW}來修改
IGRP 的update 包中使用24bit 的值來表示BW 的值,它是一個靜態的值,這里寫成
BW(IGRP)
BW(IGRP)=1000,0000/BW
因此假如接口的BW 是1544Kbps
BW(IGRP)=1000,0000/1544=6476
延遲單位是微秒,要修改接口默認的延遲使用命令delay {DLY},參數DLY 最小為10 微秒IGRP 的update 包中使用24bit 的值來表示延遲的值,它也是一個靜態的值,這里寫成
DLY(IGRP)
DLY(IGRP)=DLY/10
因此假如接口的DLY 是50 微秒,那么
DLY(IGRP)=50/10=5
IGRP 通過設置DLY(IGRP)=0xFFFFFF 來標記一條不可達的路由,這個值為167.8 秒,因此IGRP 路由的最大延遲約為167 秒
可靠性是一個動態衡量的值得,長8bit,255 表示100%可靠,1 為可靠性最低,在showinterface 命令里輸出顯示的是255 的分數,比如235/255
負載也是一個8bit 長的值,1 表示負載最小,255 表示負載為100%,在show interface 命令里輸出顯示的是255 的分數,比如1/255
可靠性和負載是5 分鐘時間常數的指數加權平均計算出的,它們沒5 秒被更新一次
IGRP 的metric 的衡量公式如下:
metric=[k1*BW(IGRP)+k2*BW(IGRP)/(256-load)+k3*DLY(IGRP)]*[k5/(RELY+k4)]
在這個公式里.BW(IGRP)是取到目標地址所經的出口接口的最小的BW(IGRP),而DLY(IGRP)是沿途的DLY(IGRP)的總和 k1,k2,k3,k4 和k5 是可配置的加權(weight),默認這些值是k1=k3=1,k2=k4=k5=0
可以通過下面的命令進行修改:
metric weights {tos k1 k2 k3 k4 k5}
tos 的值設置為0
假如k5 設置為0,那么公式就簡化為:
metric=k1*BW(IGRP)+k2*BW(IGRP)/(256-load)+k3*DLY(IGRP)
假如k1 到k5 是使用默認的值,那么公式簡化為:
metric=k1*BW(IGRP)+k3*DLY(IGRP)