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)
推荐阅读
- 忽略MOSPFLSA包
- PPP-PAP原理与配置
- 不拿离婚协议可以办离婚吗
- MPLS 多协议标志交换基本原理(续)
- PPP协议:关于在点到点链路上进行多协议包传送的建议
- AAL5多协议封装
- PPPOE协议简介
- SMTP协议通讯模型
- 1 TCP/IP协议数据报结构详解
- IPv4与IPv6协议的服务质量有什么区别?