路由器可以通过距离矢量路由协议定时把本地路由表的副本传送到相邻的路由器,使得路由信息在整个网络中沟通,最终达到一致。距离矢量路由协议的核心算法为Bellman-Ford算法。常用的距离矢量路由协议为路由信息协议——RIP。目前RIP协议有两个版本,称为版本1和版本2,即RIPv1和RIPv2。对路由器来说,RIP协议生成的路由可靠性较低,其管理距离为120。图2-16RIP协议获得的路由表......
2023-11-17
(1)距离矢量算法及RIP 工作原理
距离矢量算法要求路由器周期地与邻居路由器交换距离矢量表,每当接收到邻居路由器发来的距离矢量表时,路由器就重新计算到每个目的结点的距离,并更新自己的路由表。距离矢量表中只包含到所有目的结点的距离,距离的度量可以是延迟、物理距离或其他参数。
RIP(Routing Information Protocol)是一种基于距离矢量算法实现的路由选择协议。它规定了“距离”的确切含义和更新路由表的具体步骤。在RIP 协议中,每个路由器都维护一个从它自己到其他每个目的网络的距离记录。每项记录至少包含“目的网络、距离、下一跳路由器”三个关键数据。RIP 规定,从一个路由器到直接相连的网络距离定义为“1”,从一个路由器到非直接相连的网络距离定义为所经过路由器数加“1”。RIP 认为,好的路由就是它通过的路由器的数目少,即“距离短”。RIP 允许一条路径最多只能包含15 个路由器。因此,“距离”等于16 时,即相当于不可达。可见,RIP 只适用于小型互联网。
根据距离矢量算法,对每个相邻路由器发送过来的RIP 报文,路由表更新步骤为:
①对地址为X 的相邻路由器发来的RIP 报文,先修改此报文中的所有项目:将“下一跳”字段中的地址都改为X,并将所有的“距离”字段值加“1”,即:到目的网络N,距离是d,下一跳路由器是X。
②对修改后的RIP 报文中的每一个项目,进行如下步骤:
若原来的路由表中没有目的网络N,则将该项目添加到路由表中。否则,若下一跳路由器地址为X,则将原路由表中的项替换为收到的项目。否则,若收到的项目中的距离d 小于路由表中的距离,则进行更新,否则,什么也不做。
③若3 min 还没有收到相邻路由器的更新路由表,则将此相邻路由器记为不可达的路由器,即将距离设置为“16”。
下面以一个实例来说明RIP 协议的路由选择过程。
【例7.1】已知一个路由器A 的路由表(表7.4),现收到相邻路由器B 发来的路由更新信息,见表7.5。试用RIP 协议更新路由器A 的路由表。
表7.4 路由器A 的路由表
表7.5 路由器B 发来的更新信息
【解析】根据RIP 路由协议路由表的更新步骤,先将表7.5 中的距离都加“1”,并把下一跳路由器都改为“B”,得出表7.6。
将此表的每一项与表7.4 进行比较。
第一项在表7.4 中没有,则将这一项添加到表7.4 中。
第二项在表7.4 中有,且下一跳不同,则需要比较距离。新的表项的距离2 不小于原来表中的距离2,那么,什么也不做。
第三项在表7.4 中有,且下一跳不同,则需要比较距离。新的表项的距离4 小于原来表中的距离7,那么,要进行更新。
第四项在表7.4 中有,且下一跳相同,那么,要进行更新。
这样,得出更新后的路由器A 的路由表见表7.7。
表7.6 修改后的表7.5
表7.7 更新后路由器A 的路由表
RIP 协议的要点如下:
①RIP 协议是定期与相邻的路由器交换信息,并进行自学习后得出可用的路由信息的。假设路由器A 接收到相邻路由器B 发来报文的某一项为“N2,1,C”,意思是,B 到目的网络N2的距离为“1”,下一跳为“C”,则路由器A 进行自学习后,可得出的信息是“我可以通过相邻路由器B 到目的网络N2,且距离为2”。
②RIP 协议是以最新的信息为准作为路由选择的依据。例如,在例7.1 中,本路由器没有到网络N5 的路由,那么在路由表中就要添加所得来的项;当到达目的网络N4 的下一跳与原来相同时,则不管原来路由表中的项是什么,都要以最新的信息修改路由表。
③路由器是经过固定的时间间隔(如30 s)交换路由信息的,当网络拓扑发生变化时,路由器也能够及时向相邻的路由器通告拓扑变化后的路由信息。
(2)RIP 存在的问题(www.chuimin.cn)
RIP 存在的一个问题:当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。可以用图7.7 的简单例子来解释这种情况。在图7.7 中,有三个网络通过两个路由器连接起来,并且都建立了自己的路由表。这里,只给出能够说明问题的关键表项。路由器R1 中的“1,1,直连”表示“到网1 的距离是1,直接交付”;路由器R2 中的“1,2,R1”表示“到网1 的距离是2,下一跳是R1”。
图7.7 RIP 协议的“坏消息传播得慢”缺点
现在假定路由器R1 到网1 的链路出了故障,R1 无法到达网络1。于是,路由器R1 将到网1 的距离改为“16”,这样,R1 的路由表中相应的表项变为“1,16,直连”。但是,很可能要经过30 s 后R1 才能将更新信息发送给R2,然而,R2 可能已经将自己的路由表发给了R1,其中有“1,2,R1”这一项。R1 收到R2 的更新报文后,误认为可经过R2 到达网1,于是将收到的路由信息更改为“1,3,R2”。同理,R2 接着又更新自己的路由表,这样的更新一直继续下去,直到R1 和R2 到网1 的距离都增大到16 时,两个路由器才知道网络1 是不可达的。RIP 的这个特点称为:好消息传播得快,坏消息传播得慢。这是这个协议的最主要缺点,但如果一个路由器发现了更短的路由,那么这种更新信息就传播得很快。
为了解决这个问题,可以采取多种措施,例如,让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口反方向传送。
目前常用的RIP 版本是1998年11月公布的RIP2。RIP2 可以支持变长子网掩码和CIDR,使用组播方式更新报文,并采用触发更新机制来加速路由收敛(路由变化即发送更新报文,不需要等待更新周期时间)。RIPv2 还使用经过散列的口令字来限制更新信息的传播(即支持认证)。
总之,RIP 最大的优点就是实现简单,开销小。但缺点也很多:首先,它限制了网络的规模,能够使用的最大距离即为“15”(16 表示不可达);其次,路由器之间交换的路由信息是完整的路由表,网络上所需要传输的数据量较大,开销增加;最后,“坏消息传播得慢”,算法的收敛时间过长。
(3)RIP 协议基本配置
在Cisco 路由器上,RIP 协议的基本配置非常简单,每个路由器只需要在启动RIP 路由协议后,发布与自己相关的直连网信息即可。各个路由器会根据RIP 协议的工作过程自动交换报文信息,并更新路由表。
RIP 的命令如下:
Router(config)#router rip
Router(config-router)#network x.x.x.x
Router(config-router)#exit
说明:在RIP 协议的配置中,不能使用子网掩码。
例如,对于图7.3 的网络拓扑,除了采用静态路由使非直连网数据包可以处理外,还可以使路由器启用RIP 协议,自动学习并更新路由表,来获得路由表的表项。在路由器中采用RIP协议的相关配置命令如下:
1)R0 路由器配置RIP 的命令
Router(config)#router rip
Router(config-router)#network 192.168.0.0
Router(config-router)#network 192.168.1.0
Router(config-router)#exit
2)R1 路由器配置RIP 的命令
Router(config)#router rip
Router(config-router)#network 192.168.2.0
Router(config-router)#network 192.168.1.0
Router(config-router)#exit
在路由器R0 上查看路由表信息,显示的结果如图7.8所示。
图7.8 配置RIP 协议后R0 的路由表项
其中,“R”表示使用动态路由协议RIP 自动生成的路由表项。
有关计算机网络技术的文章
路由器可以通过距离矢量路由协议定时把本地路由表的副本传送到相邻的路由器,使得路由信息在整个网络中沟通,最终达到一致。距离矢量路由协议的核心算法为Bellman-Ford算法。常用的距离矢量路由协议为路由信息协议——RIP。目前RIP协议有两个版本,称为版本1和版本2,即RIPv1和RIPv2。对路由器来说,RIP协议生成的路由可靠性较低,其管理距离为120。图2-16RIP协议获得的路由表......
2023-11-17
如图7-6所示,Hausdorff距离表征了两个点集之间的最大不相似程度。因为Hausdorff距离的适用形式限制在有限点集内,所以非常适合度量特征点集的相似性。而角点点集经过主分量法处理后,消除了其对尺寸、位置、方位的依赖性,就可以作为Hausdorff距离的匹配元素,对这些元素的相似性进行度量并将此度量值作为目标与原型相似性的依据,如此一来,大大降低了算法的运算复杂度,并减少了噪声对识别效果的影响。......
2023-06-28
如图2.18所示为在光纤中传播光线的示意图。图2.17光缆及光纤构成图2.18光线在光纤中的传播实际上,光线在传输中以任何大于临界值角度入射,在不同介质的边界都将按全反射的方式在介质内传播,而且不同频率的光线在介质内部将以不同的反射角传播。一般地,单模光纤的纤芯直径为8 ~10 μm,包层直径为125 μm,使用的光波波长为1 310 nm、1 550 nm;多模光纤的纤芯直径为50 ~200 μm,使用的光波波长为850 nm、1 310 nm。......
2023-10-19
防火墙是近年来保护计算机网络安全的重要技术性措施之一。目前,防火墙已经得到广泛的应用。防火墙具有“阻止”和“允许”两个功能。图10.4防火墙在互联网中的位置防火墙的种类根据防火墙的工作原理一般可以将防火墙分为包过滤防火墙、状态检测防火墙、应用层防火墙等。目前,大多数较低档的硬件防火墙和具备ACL 功能的路由器属于包过滤防火墙,较高档的硬件防火墙属于状态检测防火墙。......
2023-10-19
分析各种典型问题的算法,可以归纳整理出算法中的基本操作集合。一般来说,算法中的基本操作包含如下几种类型:数据传送:从某个内存单元中取出数值放于某个寄存器中;把某个寄存器中的数值放于某个内存单元中。例如,计算两个二进制数乘积pro=x*y问题,图3-1给出了两个二进制数相乘的方法,根据图3-1所示的方法,可以编写出用基本操作表示的处理该问题的算法。......
2023-11-18
机器学习一般根据处理的数据是否存在人为标注可分为监督学习和无监督学习。因此,监督学习的根本目标是训练机器学习的泛化能力。总之,机器学习就是计算机在算法的指导下,能够自动学习大量输入数据样本的数据结构和内在规律,给机器赋予一定的智慧,从而对新样本进行智能识别,甚至实现对未来的预测。机器学习的一般流程如图6-1所示。......
2023-06-28
当把算法用于人类和计算机之间传递智能时,文字形式算法的主要缺点是表示方法不规范,不同的人描述的相同的算法在用词和语句上有很大差异。又例如,计算机在执行每条语句前,需要首先“识别”出每条语句,C语言程序中每条语句结束后增加的语句结束标记符号“;”,表示当前的一条语句到此结束,这样的标识就方便了计算机对程序语句的“识别”。......
2023-11-18
关于互联网网络层安全,主要内容是IP 安全体系结构和IPSec 协议族即IP 安全协议。IPSec 为了保证网络的安全需求,首先需要制定能够满足安全通信的数据报格式,然后根据这些数据报的首部信息完成安全需求。IPSec 最重要的两个协议是:鉴别首部AH协议和封装安全有效载荷ESP协议。隧道方式采用隧道技术对整个IP 分组提供安全保护。这种数据处理方式,可对AH 和ESP 首部的后一部分及内层IP 分组进行加密。......
2023-10-19
相关推荐