RIP中4个定时器

①updata timer(组播定期更新时间):默认每30s/次,组播地址224.0.0.9

②invalid timer(失效时间):默认是180s

③flush timer(刷新时间):cisco默认为240s

④holddown timer(死亡时间):默认180s

每个路由条目建立后每30s组播更新一次,并且开始180s invalid timer倒计时,如果如果这个时间内没有收到更新,则该路由条目自动变成16跳,即不可达(失效)

x.x.x.x is possibly down

flush timer计时器比invalid timer 多60s,也就是说:

如果一个路由条目180s内没收到更新那么它就失效了,updata timer这个表停了,flush timer 继续计时,如果又过了60秒都没收到更新,则路由条目从路由表中***;如果在这时间内收到更新了,则2个计时器同时被初始化。

holddown timer 这个时间一直感觉比较神奇,它是从 invalid timer 完毕之后开始计算的,在这个时间里他不接受也不发送任何关于该条目的更新信息,但是问题出来了:
180s的 invalid timer 后只有60秒时间 flush timer 就到期,但是又有180s时间是不能接收更新的,于是这个时间变得毫无意义。

后来查过一些资料后才发现,其实这个时间是cisco自己加进来的,cisco书上写的是180s,但是实验发现大概只有30s左右。主要用途是防止环路,举例如下:

(C) s2<----X---->s1 (A) s2<----->s1 (B)

路由器C的s2接口挂了,A收不到前往C的路由更新,该路由条目180s后失效,但这时候B路由定期组播了先前从A那里学来的前往C的条目,若A接受了,则A以为可以从B到达C,于是环路就形成了。

所以cisco设定了这个holddown timer。该路由条目180s后失效后进入holddown timer,B关于到达C的路由条目更新被无视,差不多30s左右的时间里,B路由表中到C的路由条目invalid timer也到期了,进入不可用状态,就不会向A发送更新。

这个holddown timer就是用来缓冲邻居路由器进入invalid的时间上的不同,防止环回。

以下是对于holddown timer的进一步解释:

抑制定时器,作用是在路由条目不可达后一定时间内不允许被响应(Response)报文更新。

它的思想是保证每台路由器都收到路由不可达信息之前,不可达路由不会被收到的响应(Response)报文更新。因为收到的响应(Response)报文中该路由条目的信息有可能就是自己原先通告出去的。

RIP中4个定时器,布布扣,bubuko.com

时间: 2024-10-10 16:37:57

RIP中4个定时器的相关文章

【网络协议】TCP中的四大定时器

前言 对于每个TCP连接,TCP一般要管理4个不同的定时器:重传定时器.坚持定时器.保活定时器.2MSL定时器. 重传定时器 非常明显重传定时器是用来计算TCP报文段的超时重传时间的(至于超时重传时间的确定,这里涉及到一大堆的算法,书上有说,我这里不细谈了).每发送一个报文段就会启动重传定时器,假设在定时器时间到后还没收到对该报文段的确认,就重传该报文段,并将重传定时器复位,又一次计算:假设在规定时间内收到了对该报文段的确认,则撤销该报文段的重传定时器. 坚持定时器 上篇文章中已经提到了,主要是

iOS中的三大定时器

iOS开发中定时器经常会用到,iOS中常用的定时器有三种,分别是NSTime,CADisplayLink和GCD. NSTimer 方式1 // 创建定时器 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(test) userInfo:nil repeats:YES]; // 停止定时器 [timer invalidate]; 方式2 // 创建定时器 NSTime

ASP.NET中设置一个定时器来定时更新 转

asp.net 定时器 比较少用,  中国红木网这是一个相当实用的功能,有了RSS博客镜像,就不需要在多处同时发布博客日志了.比如你同时在新浪上有自己的博客,又同时有自己的个人博客站点,那么你只需要在新浪上发布博客日志,而个人博客站点通过RSS博客镜像功能将新浪博客上发布的新日志自动更新到站点中.我们在ASP.NET的,至于asp,由于其天生的局限性,可能无法直接在Web应用程序中完成这一功能,而需要额外的Windows应用程序的支持.1. 管理RSS博客镜像首先我们需要在RSS博客镜像,需要管

单片机中的软定时器

因单片机中常有一些控制与延时关联,这些操作并不需要特别高的精度,为了少敲点字,故做了这个单片机软定时器,不足之处,欢迎指正. timer.h 1 #ifndef __SOFT_TIMER_H__ 2 #define __SOFT_TIMER_H__ 3 4 //#define TIMEBASE_FREQ 1000 5 // 6 #define ONESHOT_TIMER 0 7 #define PERIODIC_TIMER 1 8 9 //time vector size ,可同时使用的最大定时

关于js中两种定时器的设置及清除

1.JS中的定时器有两种: window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成定时器停止(但是定时器还在,只不过没用了); window.setInterval([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成,定时器

iOS 中三种定时器的用法NSTimer、CADisplayLink、GCD

一.NSTimer 1. 创建方法 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(action:) userInfo:nil repeats:NO]; TimerInterval : 执行之前等待的时间.比如设置成1.0,就代表1秒后执行方法 target : 需要执行方法的对象. selector : 需要执行的方法 repeats : 是否需要循环 2.

[转]iOS 中几种定时器 - 控制了时间,就控制了一切

这篇文章是转载内容,原文地址:http://www.cocoachina.com/ios/20150519/11857.html?utm_source=tuicool 这里的知识点,其实在我们日常开发中还是比较常见的,例如本人之前写过的两篇随笔: NSTimer 的使用:178实现满天飞雪效果 CADisplayLink 的使用:156 UIImageView 和 CADisplayLink 实现 Tom 汤姆猫动画效果的区别(扩展知识:分组(黄色文件夹)和文件夹引用(蓝色文件夹)区别) ---

Qt中两种定时器用法

在Qt中使用定时器有两种方法,一种是使用QObiect类的定时器:一种是使用QTimer类.定时器的精确性依赖于操作系统和硬件,大多数平台支持20ms的精确度. 1.QObject类的定时器 QObject是所有Qt对象的基类,它提供了一个基本的定时器.通过QObject::startTimer(),可以把一个一毫秒为单位的时间间隔作为参数来开始定时器,这个函数返回一个唯一的整数定时器的标识符.这个定时器开始就会在每一个时间间隔"触发",直到明确的使用这个定时器的标识符来调用QObje

js中setTimeout/setInterval定时器用法示例

js中setTimeout(定时执行一次)和setInterval(间隔循环执行)用法介绍. setTimeout:在指定的毫秒数后调用指定的代码段或函数:setTimeout示例代码 function timedMsg() { setTimeout("alert('7 seconds!')",5000)//5秒后弹出信息 } setTimeout("timedMsg()",2000);//2秒后执行方法 timedMsg setInterval:在指定的时间间隔内