1、RIP overview:
1. rip是tcp/ip协议开发的第一个路由选择标准;是一个distance
vector协议,协议号为17;利用UDp来封装数据,用520端口发
送接受更新。
2. rip适用于小型网络,路由器数目不大于15台(默认16台不可
达),广播更新。
3. 发送和接收的更新为路由表条目,并且每个更新包最多携带25
条路由条目。
4. 基本原理:每个启动RIP协议的端口发出目标为
255.255.255.255的广播(RIP Request message),其邻居路由
器收到后发送他所知道的路由表信息(Response message),
同时在发出后出端口的时候将hop count加1(如果路由表中显
示的跳数为“1”则表示通告路由器是与自己直连的)以上过程
周期性执行(默认30秒一次);当接收方收到更新后就作如下
处理:
⑴更新信息是自己没有的,则加入路由表。
⑵更新信息的目标是自己有的,则比较跳数,如果比自己原有的小
则更新路由表;
如果跳数比较大或为不可达(跳数大于15),则看更新信息的源地址(即为自己
去往目标的下一跳),是否与自己原来的下一跳一样,如果不一样则丢弃此更新;
如果一样,这时为了防止有不断变化的产生会启动抑制计时器(Holddown timer)
默认180秒,同时将该路由设为不可达,如果在180秒后还收到同样的更新消息
则接受。
⑶对于接受的更新在加入路由表的同时会附加一个无效计时器
(Invalidation timer)
默认180秒,即在180秒后还没收到相关更新信息则认为不可达设跳数为16,如
果在过60秒(一共240秒)还没收到则从路由表中删除该条路由(刷新计时器
(flush timer))。
这样做的好处是防止了路由黑洞
⑷为了防止同时发更新造成广播风暴,随机设置一个25.5~30秒的数值以实
现不同
时送更新,这就是debug时看到的更新间隔不为30秒的原因。
5. 产生的问题和解决:
⑴环路问题:A-B-C-①:设网络收敛后,ABC为三台路由器,①为一个网段如
果该网段发生故障,则C可以知道,其将①设为不可达(hop=16)然后等待下一
次更新时间去向B发送更新,但是如果B先更新,C会收到这样一条消息说:“B
可以去①跳数为2跳,那么C比较后(比16小)更新路由表;问题产生了当有数
据发向①时,B将数据转给C,C在将数据给B不断循环直到TTl=0。
※解决1:split horizion:只进不出(从某一端口收到的更新不在从此端口发出)
※解决2:reverse router:从某一端口收到的更新在从此端口出去时跳数设为为16
※解决3:采用触发更新(全路由表更新)
⑵同上问题如果ABC成环路则上述方法就时效了,所以采用最大跳数16,即大于
15跳即表示不可达。
(出现此问题的现象是一开始正常,但逐渐变得越来越慢)
⑶路由黑洞:对于接受的更新在加入路由表的同时会附加一个无效计时器
(Invalidation timer)默认180秒,即在180秒后还没收到相关更新信息则认为不可
达设跳数为16,如果在过60秒(一共240秒)还没收到则从路由表中删除该条路
由这个为刷新计时器(flush timer)。
6. V1和V2的边界路由器X支持v1,v2;v1通过他向其他路由器更
新,v2也同样,但是,当X转发某以版本的更新后下一跳不是
指向X而是要求转发路由器。
7. 路由表中next hop 0.0.0.0表示源地址为下一跳。
2、RIP V1
1. 只支持等价负载均衡(对于跳数相同的多条路径),最大支
持6条的负载均衡,默认为 4条。
2. 以跳数为度量值
3. 每30秒更新路由表一次,广播更新
4. 有类路由(classful),no vlsm
5. 无认证功能,所以要实现安全可通过passive-interface和neihbor
来实现。
6. 主网络号相同,sm相同的子网叫做连续子网,当为连续子网
时RIP可传送子网信息(实际上是通过接口上的sm来实现
的),当同一网络号时会发送带子网信息的ip号而不是主网络
号,接受方收到后会将此ip号与自己的接受接口的sm与,如
果主机位不为0(即说明两个掩码不同)则会认为这是一条主
机路由加入路由表sm为/32此时可通过升级为V2来更正。
7. 对于不连续子网他们之间传送网络号而不传送子网信息,这
样就产生了问题,可采用辅助ip地址加以解决。
ip add 192.168.0.1 255.255.255.0 secondary
8. 对于RIP V1的有类路由当需要寻址时先检查网络号有的化在
看有无子网,有的化在检查子网决定转发或丢弃,无子网则
可直接转发给网络号。
3、RIP V2
1. defind in rfc 1721,1222,2453
2. 无类路由,更新时发送sm,支持vlsm
3. 组播更新(22
4.0.0.9)
4. 支持手动路由汇总
5. 支持md5验证
4、相关配置
1. 基本配置:
router rip 进入配置
network 主网络号发布端口
version <1,2> rip版本设置(默认为1)
no version恢复默认值发送v1接受v1,v2
no auto-summary 关闭自动汇总
sh ip protocol查看当前路由器的所有启动的协议
sh ip route查看路由表
sh ip route rip 查看rip的路由表
sh ip rip database查看rip数据库
2. passive-interface 接口号 当发布范围过广时可以在rip配置
内加入命令:表示被动接受,不发送rip
3. neighbor 目标接口ip地址表示以单播发送rip更新(如对端
口做了passive后)
4. 增大跳数:如增加了一条串口链路作为冗余备份,但发现跳数
小于主线路,则可用命令增加其跳数:access-list 1 permit
10.33.0.0 0.0.0.0
router rip
net 。
net 。
offset-list 1 in 2 serial 0
检查从S0口进入的rip通告有符合条件的就将跳数加大2跳。
同样在另一边也要设置偏移列表
5. 协调低速和高速路由器之间的延迟问题:output-deal
<8~50ms> (缺省为0)
6. 接口上的特定设置:ip rip send version <1,2,1 2>
ip rip receive version <1,2,1 2>
no ip split-horzion关闭水平分割
ip summary-address rip <ip+sm>手动汇总
7. ip classless无类路由(缺省启动),只有在无类的情况下
缺省路由才有效
8. 计时器的更改:timers basic <update,invalid,
holddown,flush>
5、RIP的排错注意事项
1. sm是否一致,是否有不连续子网
2. rip域中的计时器必须一致,更新时间等是否过长等,可通过
时sh ip protocol查看,同时也可查看接口的rip版本。
有类别路由选择小结:
1.基本特征:在通告目的的地址时不能随之一起通告它的地址掩码,因此,有类别路由协议必匹配一个与该目的对应于A;B;C
的主网络号。
2.如果目的地址是一个和路由器直接相连的主网络成员,那么该网络的路由器接口上配置的掩码将被用来确定目的地址的子网。
因
此,在那个主网络中必自始自终地系统的使用这个相同的子网掩
码。
3.如果目的地址不是一个和路由器直接相连的主网络成员,那么,路由器将仅仅尝试支匹配该目的地址对应于A,B,C,的主网络
号。
4.
a111
b2
c
10.33.5.1/20
10.33.32.1/20
5. 路由器B会认为它有两条等价路径到同一网络,将在链路上进行负载均衡,因而,路由只有50%的机会到正确子网。
(如果目的
地址不是一个和路由器直接相连的主网络成员,如:不连续的
子网,采用辅助ip地址加以解决。
ip add 192.168.0.1
255.255.255.0 secondary,在AB;BC;之间配置辅助址
a的配置:interface e0
Ip ad 192.168.1.1 255.255.255.0
Ip ad 10.33.55.1 255.255.255.0 second)
b的配置:interface e0
Ip ad 192.168.1.2 255.255.255.03
Ip ad 10.33.55.1 255.255.255.0 second)
b的配置:interface e1
Ip ad 192.168.2.1 255.255.255.0
Ip ad 10.33.75.1 255.255.255.0 second)
c的配置:interface e1
Ip ad 192.168.2.2 255.255.255.0
Ip ad 10.33.75.2 255.255.255.0 second)
6.。