详解如何更新路由表

R I P为每个目的地只记录一条路由的事实要求R I P积极地维护路由表的
完整性。通过要求所有活跃的R I P路由器在固定时间间隔广播其路由表内容至相邻的R I P路由器来做到这一点,所有收到的更新自动代替已经存储在路由表中的信息。R I P依赖3个计时器来维护路由表:更新计时器路由超时计时器路由刷新计时器 更新计时器用于在节点一级初始化路由表更新。每个R I P节点只使用一个更新计时器。相反的,路由超时计时器和路由刷新计时器为每一个路由维护一个。 如此看来,不同的超时和路由刷新计时器可以在每个路由表项中结合在一起。这些计时器一起能使R I P节点维护路由的完整性并且通过基于时间的触发行为使网络从故障中得到恢复。 1. 初始化表更新R I P路由器每隔3 0秒触发一次表更新。更新计时器用于记录时间量。一旦时间到, R I P节点
就会产生一系列包含自身全部路由表的报文。 这些报文广播到每一个相邻节点。因此,每一个R I P路由器大约每隔3 0秒钟应收到从每个相邻R I P节点发来的更新。 注意在更大的基于R I P的自治系统中,这些周期性的更新会产生不能接受的流量。因此,一个节点一个节点地交错进行更新更理想一些。R I P自动完成更新,每一次更新计时器会被复位,一个小的、任意的时间值加到时钟上。 如果更新并没有如所希望的一样出现,说明互联网络中的某个地方发生了故障或错误。故障可能是简单的如把包含更新内容的报文丢掉了。故障也可能是严重的如路由器故障,或者是介于这两个极端之间的情况。显然,采取合适的措施会因不同的故障而有很大区别。由于更新报文丢失而作废一系列路由是不明智的(记住, R I P更新报文使用不可靠的传输协议以最小化开销)。因此,当一个更新丢失时,不采取更正行为是合理的。为了帮助区别故障和错误的重要程度,R I P使用多个计时器来标识无效路由。2. 标识无效路由有两种方式使路由变为无效:路由终止。路由器从其他路由器处学习到路由不可用。在任何一种情形下, R I P路由器需要改变路由表以反映给定路由已不可达。一个路由如果在一个给定时间之内没有收到更新就中止。比如,路由超时计时器通常设为1 8 0秒。当路由变为活跃或被更新时,这个时钟被初始化。 1 8 0秒是大致
估计的时间,这个时间足以令一台路由器从它的相邻路由器处收到6个路由表更新报文(假设
它们每隔3 0秒发送一次路由更新),如果1 8 0秒消逝之后, R I P路由器没收到关于那条路由的更新, R I P路由器就
认为那个目的I P地址不再是可达的。因此,路由器就会把那条路由表项标记为无效。通过设置它的路由度量值为1 6来实现,并且要设置路由变化标志。这个信息可以通过周期性的路由表更新来与其相邻路由器交流。 注意:对于R I P节点而言,1 6等于无穷。因此,简单的设置耗费度量值为1 6能作废一条路由。接到路由
新的无效状态通知的相邻节点使用此信息来更新它们自己的路由表。这是路由变为无效的第二种方式。无效项在路由表中存在很短时间,路由器决定是否应该删除它。即使表项保持在路由表中,报文也不能发
送到那个表项的目的地址: R I P不能把报文转发至无效的目的地。3. 删除无效路由一旦路由器认识到路由已无效,它会初始化一个秒计时器:路由刷新计时器。因此,在最后一次超时计时器初始化后1 8 0秒,路由刷新计时器被初始化。这个计时器通常设为9 0秒。 如果路由更新在2 7 0秒之后仍未收到( 1 8 0秒超时加上9 0秒路由刷新时间),就从路由表中移去此路由(也就是刷新)。而为了路由刷新递减计数的计时器称为路由刷新计时器。这个计时器对于R I P从网络故障中恢复的能力绝对必要。 主动和被动站点 注意到为了使R I P互联网络正常工作,网络中的每一个网关必须参与进去这一点很重要。参与可以是主动参与也可以是被动参与,但所
有的网关必须参与。主动节点是那些主动地进行共享路由信息的节点。它们从相邻者处接收更新,并且转发它们的路由表项拷贝至那些相邻节点。 被动站点从相邻者处接收更新,并且使用那些更新来维护它们的路由表。然而被动节点不主动地发布它们自己路由表项的拷贝。 被动维护路由表的能力在硬件路由器出现之前的日子里是特别有用的特性,那时路由是一个运行在U N I X处理器下的后台程序,这样会使U N I X主机上的路由开销达到最小。

时间: 2024-09-20 00:32:00

详解如何更新路由表的相关文章

Masonry自动布局详解二:动画更新约束

Masonry自动布局详解二:动画更新约束 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万大量代码的冗余,对维护和开发的效率都很低. 笔者在这里介绍纯代码自动布局的第三方库:Masonry.这个库使用率相当高,在全世界都有大量的开发者在使用,其star数量也是相当高的. 支持原创,请阅读原文 效果图 本节详解Masonry的以动画的形式更新约束的基本

推送技术实现动态更新页面的内容详解

动态|详解|页面 一.什么是动态内容 大多数热门Web网站都从在线广告业务获利.Web页面中的广告空间是有限的,为了让广告投资物有所值,广告客户不仅必须在很小的广告空间内塞入大量的信息,而且还要保证广告能够吸引用户的注意力.在当前的大多数网站上,放入Web页面的横幅广告一般由服务器在构造页面的同时生成,我们无法把新的广告动态地插入到已经发送出去的页面. 如果要显示新的广告,唯一的办法就是重新刷新页面.我们可以用编程的方法刷新页面,例如: 使用浏览器窗口对象的setTimeOut函数定期地刷新页面

Android App增量更新详解及实例代码_Android

Android App增量更新实例--Smart App Updates        介绍 你所看到的,是一个用于Android应用程序增量更新的开源库. 包括客户端.服务端两部分代码. 原理 自从 Android 4.1 开始,Google引入了应用程序的增量更新. Link: http://developer.android.com/about/versions/jelly-bean.html Smart app updates is a new feature of Google Pla

Masonry自动布局详解四:整体动画更新约束

Masonry自动布局详解四:整体动画更新约束 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万大量代码的冗余,对维护和开发的效率都很低. 笔者在这里介绍纯代码自动布局的第三方库:Masonry.这个库使用率相当高,在全世界都有大量的开发者在使用,其star数量也是相当高的. 效果图 本节详解Masonry的以动画的形式更新约束的基本用法,先看看效果图

详解WordPress中用于更新和获取用户选项数据的PHP函数_php技巧

update_user_option()函数 update_user_option()函数作用利用全局博客权限更新用户选项. 用户选项类似于用户元数据,唯一的不同之处在于用户选项支持全局博客选项.如果'global'参数为False(默认情况下),update_user_option会预先将WordPress表前缀改成选项名称. [函数使用] <?php update_user_option( $user_id, $option_name, $newvalue, $global ) ?> [函

Android xUtils更新到3.0后的基本使用规则详解_Android

 说实话,对于xUtils,是我最近才用到的开发框架(也是刚接触),对于其功能不得不说,简化了很多的开发步骤,可以说是非常好的开发工具,但是其最近更新到3.0也没有解决加载自定义ImageView报错的问题. xUtils简介 xUtils 包含了很多实用的android工具. xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls 最低兼容android 2.2 (api level 8) 我总是喜欢

Android更新UI的四种方法详解_Android

前言 相信每位Android开发者们都知道更新UI只能在主线程中进行,若是在子线程执行任务后需要更新UI,则需要借助handler跳转到主线程中.以下介绍几种操作UI的方法. 一.使用Handler的handleMessage() Handler的构造 public Handler() { this(null, false); } public Handler(Callback callback, boolean async) { if (FIND_POTENTIAL_LEAKS) { fina

无惊喜有改变 Android 4.1.2系统更新内容详解

Android 4.1.2系统更新内容详解(1)本周谷歌刚刚发布了最新版本的Android 4.1.2系统,我们也在第一时间上手试用并为大家带来了这篇介绍文章.如果你想要知道4.1.2中的新变化那你来对地方了.说实话其实可供介绍的方面并不多,从版本号上仅0.0.1的的变化就可以看出这次并不是一次重大更新.不过我依然仔细遍历了所有164个系统软件,下面就是所有能为大家介绍的内容.首先,可能大家也都听说过了,就是单手指通知栏展开以及终于学会了旋转的桌面.至于那些有关bug修复的更新内容我就无法测试了

详解Android中实现热更新的原理_Android

这篇文章就来介绍一下Android中实现热更新的原理. 一.ClassLoader 我们知道Java在运行时加载对应的类是通过ClassLoader来实现的,ClassLoader本身是一个抽象来,Android中使用PathClassLoader类作为Android的默认的类加载器,PathClassLoader其实实现的就是简单的从文件系统中加载类文件.PathClassLoade本身继承自BaseDexClassLoader,BaseDexClassLoader重写了findClass方法