Chinaunix首页 | 论坛 | 博客
  • 博客访问: 122484
  • 博文数量: 21
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 235
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-10 11:25
个人简介

及时行乐

文章分类

全部博文(21)

文章存档

2014年(21)

我的朋友

分类: 网络与安全

2014-07-10 14:26:19

转自:http://blog.163.com/rat_.mouse/blog/static/10540024320099822947986/

首先我们先来看看RIP协议的4组定时器:

 

Update timer(定期更新时间,默认时间是30s)这个没什么可说的,就是RIP启动之后每隔一定时间从启动rip协议的接口不断发出响应消息(Response Message)并且通过广播255.255.255.255或者组播224.0.0.9发送定期更新(RIPv1使用广播RIPv2使用组播)。

  1. *Mar 19 08:08:00.359: RIP: sending v1 update to 255.255.255.255 via Serial1/0 (20.1.1.1)

  2. *Mar 19 08:08:00.359: RIP: build update entries

  3. *Mar 19 08:08:00.359: network 1.0.0.0 metric 2

  4. *Mar 19 08:08:00.359: network 10.0.0.0 metric 1

  5. *Mar 19 08:08:28.467: RIP: sending v1 update to 255.255.255.255 via Serial1/0 (20.1.1.1)

  6. *Mar 19 08:08:28.467: RIP: build update entries

  7. *Mar 19 08:08:28.467: network 1.0.0.0 metric 2

  8. *Mar 19 08:08:28.467: network 10.0.0.0 metric 1

Invalid timer(失效时间定时器,默认时间是180s)从每个路由条目被建立的时候RIP就为它建立一个180s的计时器,如果在这个时间内没有收到更新则路由跳数自动变成16跳,就认为是route invalid

  1. 显示为:x.x.x.x is possiblely down

  2. R 1.0.0.0/8 [120/1] via 10.1.1.1, 00:02:59, Serial2/0

  3. 20.0.0.0/24 is subnetted, 1 subnets

  4. C 20.1.1.0 is directly connected, Serial1/0

  5. 10.0.0.0/24 is subnetted, 1 subnets

  6. C 10.1.1.0 is directly connected, Serial2/0

  7. R 1.0.0.0/8 is possibly down, routing via 10.1.1.1, Serial2/0

  8. 20.0.0.0/24 is subnetted, 1 subnetsC 20.1.1.0 is directly connected, Serial1/0

  9. 10.0.0.0/24 is subnetted, 1 subnets

  10. C 10.1.1.0 is directly connected, Serial2/0

Holdown timer(抑制时间,默认时间是180s)这是本次的重点也是大家容易混的地方,它是从Invalid timer完毕之后开始计时的,在这个时间里即不接受也不发送任何关于该条目的更新信息,也就是说在这段时间内把自己和外界隔离开来。但是问题出来了,180s的Invalid timer之后只有60s时间Flush timer就到期删除路由条目了,但是又有180s的时间是不能接受更新的于是这个时间变得毫无意义

经过查看一些资料后才发现其实这个时间是Cisco IOS的一个stability feature也就是Cisco自己加进来的,书上写的是180s但是实际实验发现大概只有30s左右,主要用途是防止环路

例如下面的情形:

C路由器的s2接口因为某种原因断了,B路由器接收不到前往C的路由更新,该路由条目经过180s变为不可用,但是恰好在这个时候A路由器路由定期更新了从B那里学到的前往C的条目,如果这时候B接受了这个更新则B以为可以从A到达C于是环路就形成了。

所以Cisco设定了这个holdown timer,于是B路由器Invalid timer 180s后进入holdown timer,这时候A路由器关于到达C的路由条目更新被无视,差不多30s左右的时间里A路由器到C的条目也进入了Invalid timer状态,就不会向B发送更新了。

当无效计时器走完180s后 进入保持计时器60s 在这期间 路由条目不会被清除 而是始终保持possibly down的状态 这时即使收到同源的正常更新信息 路由条目也会保持possibly down的状态;如果此时收到更优的路由条目 会增加新的路由条目 而那possibly down状态的路由条目继续保持possibly down状态。

  1. R1

  2. R1(config-router)#no passive-interface s1/0

  3. R2

  4. R 1.0.0.0/8 is possibly down, routing via 10.1.1.1, Serial2/0

  5. 20.0.0.0/24 is subnetted, 1 subnets

  6. C 20.1.1.0 is directly connected, Serial1/0

  7. 10.0.0.0/24 is subnetted, 1 subnets

  8. C 10.1.1.0 is directly connected, Serial2/0

Flush timer(刷新时间,默认时间是240s)一般和Invalid timer同时初始化,Cisco IOS初始化为240s,比Invalid timer长60s。在该计时器到时间后将此路由条目从router table中删除

  1. 20.0.0.0/24 is subnetted, 1 subnets

  2. C 20.1.1.0 is directly connected, Serial1/0

  3. 10.0.0.0/24 is subnetted, 1 subnets

  4. C 10.1.1.0 is directly connected, Serial2/0

阅读(1311) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~