IGRP (Interior Gateway Routing Protocol)是一种动态距离向量路由协议,它由Cisco公司八十年代中期设计。使用组合用户配置尺度,包括延迟、带宽、可靠性和负载。
IGRP 是Cisco 开发的私有协议,是为了弥补RIP 不足的地方而开发的.它的治理距离AD 为100,它有着和RIP 类似的特性,比如都是距离矢量(distance vector)路由协议,都通过广播的方式周期性的广播完整的路由表(除了被水平分割法则抑制的路由以外.并且它也会在网络的边界上进行路由汇总。不像RIP 是使用UDP 520 端口,IGRP 是直接通过IP 层进行IGRP 信息交换,协议号为9.IGRP 还使用AS 的概念.如下图:
AS 10 中有2 个进程域(process domain),分别是IGRP 20 和IGRP 30,(分别定义的是AS 20 和AS 30).这样就起到一个隔离通信量的作用,AS 20 和AS 30 之间可以通过路由的再发布(redistribute)来进行通信
在IGRP 的update 包里,把路由条目分为了3 个类别,如下:
1.内部路由(interior route):被宣告的路由条目是本地化的
2.系统路由(system route):到达被边界路由器汇总的网络地址的路由
3.外部路由(exterior route):来自外部,比如其他的AS 的路由
IGRP Timers and Stability Features
IGRP 的update 包发送周期为90 秒,是RIP 的3 倍,但是为防止timer 的同步,一般这个期为72 到90 秒之间的随机数
当一条路由初次被学习到以后,这条路由的invalid timer 就设置为270 秒(RIP 的3倍).flush timer 被设置为630 秒(update 发送周期的7 倍).每次接收到该路由的update包以后,这些timer 都会重新的初始化.假如在invalid timer 超出,仍然没接收到该路由的update,那么该路由就标记为不可达,但是该路由仍然会保存在路由表中,并且以目标不可达的方式宣告出去,直到flush timer 超出,该路由就被彻底从路由表中删除.
IGRP 使用了3 倍于RIP 的timer, 优点是节约了链路的带宽, 但是缺点是收敛(convergence)慢于RIP.比如当一台路由器出问题down 掉了IGRP 要用3 倍于RIP 的时间才能检测到该路由器状态的变化
当一条路由标记为不可达的时候,或者下一跳的路由器增大了到达目标地址的metric 并引起触发更新(triggered update),那么该路由将进入holddown 状态,并且holddowntimer 的长度为3 倍update 发送时间再加10 秒(280 秒).这个时候,关于目标地址的任何新的信息都不会被接受直到holddown timer 超出.可以使用命令no metric holddown来关闭这个holddown 特性,一般在一个无环路的网络拓扑里,holddown 特性是没什么用的,关闭这一特性有助于加快收敛时间
各种timer 的修改命令如下:
timers basic {update} {invalid} {holddown} {flush} [sleeptime]
参数sleeptime 的单位是毫秒(ms),用来在接收到一个triggered update 以后,延迟普通的路由update
当你要调整这些timer 的时候,应该注重的是整个AS 内要统一的调整。
缺省情况下,IGRP每90秒发送一次路由更新广播,在3个更新周期内(即270秒),没有从路由中的第一个路由器接收到更新,则公布路由不可访问。在7个更新周期即630秒后,Cisco IOS 软件从路由表中清除路由。
1. 有关命令
注:1、autonomous-system可以随意建立,并非实际意义上的autonomous-system,但运行IGRP的路由器要想交换路由更新信息其autonomous-system需相同。
2.举例
Router1:
router igrp 200
network 192.200.10.0
network 192.20.10.0
!
Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...
07-05
Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...
07-05
KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...
07-05
Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...
07-05