账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
路由器(Router)演算法探讨
 

【作者: 張士皇】2000年02月01日 星期二

浏览人次:【6134】

前言


上一期的讨论中(编按︰68期),笔者介绍了静态路由与动态路由、距离向量与连结状态等协定,本篇就让我们继续探讨RIP(Routing Information Pro-tocol,路由资讯协定) ,以及实务上会遇到的问题和解决方式。



RIP路由资讯协定


RIP系属于「内部闸道协定」(Interior Gateway Protocol),定义于RFC 1058。它是由全录公司(Xerox)所发展,做为「网际网路资料段协定」(Internet Datagram Protocol)的路由演算法,并且在1988年正式被IAB(Internet Architecture Board,公布各类网际网路标准及监督TCP/IP协定之维护的团体)所采用。它原本没有打算被做为TCP的路由演算法,但是当RIP被加入Berkeley Software Distribution (BSD) UNIX作业系统内称做「routed」后,就被广泛的接受与应用。



使用RIP协定,任一台路由器都可以知道从每一台邻近路由器到目的地端的最短路径,然而这路径不一定是最佳的,因为RIP只知道Hop跨越数目。举例来说,某台路由器到目的端有两条路径,其中一条通过两段T1,有三个Hop跨越数,但另一条到达目的地的是两个Hop跨越的128K速率专线;RIP会选择两个Hop跨越数的128K专线这条路径,因为它是Hop跨越数最少也最短的路径。RIP的封包传输是使用UDP(User Datagram Protocol,使用者资料段协定)埠号520上操作,最大长度512Bytes。 (图一)是RIP封包的格式︰




《图一 RIP封包格式》



各位读者可以看到,IP address一栏,是4 octets,所以这也就是最大Metric有16的限制。但其值为16,表示该网路是无法到达的。



RIP在实务上有两种存在模式,即主动与被动。当其为主动(Active)模式时,RIP会倾听(Listen)来自其他路由器的RIP广播并建立自己的路由表,而且会送出广播去回应来自其他路由器与机器的要求。在被动模式(Passive),这时候RIP只倾听RIP更新资讯;可能建立自己的路由表也可能不会建立。如果有建立自己的路由表,那么在有需要的时候,就不必向其他的路由器要求资讯。



使用RIP被动模式时,路由器会自己维护一个通往其他网路最短路径(即最少Hop跨越数)的路由表,并且标示出由哪一路由器作转送,这时候就会占用RAM空间来储存这些资讯;如果没有Passive被动模式,那路由器就需要一个预设闸道器(Default Gateway)的资料,来指明当有资料封包要传送到目的地端时,路由器该把资料封包交给预设闸道器(Default Gateway)处理。



在TCP/IP网路上,有一种预设路由(Default Route)的观念,预设路由会在两个地方:路由器与使用TCP/IP的电脑中;在路由表中「0.0.0.0」就是表示预设路由,这是为了当路由器接收到资料封包,而该资料封包的目的地不在路由表中,它就根据预设的路由,将资料封包转往另一台路由器。



RIP的问题


介绍了RIP的运作后,让我们看看它会产生的问题和缺陷。首先,当路由器在RIP协定运作下,收到来自邻近路由器更新的路由表资讯,那么,如果其中一台在更新路由表资讯的时候,发生了一项运算错误,则网路上所有的路由器都会收到这项错误的结果资讯。其次,路由表可能会相当庞大,RIP协定每隔30秒对网路广播一次(为255.255.255.255,也就是资料链结层的位址栏都为FF)。第三,如前述所提到,RIP是以到达目的地端最少Hop跨越数、最短距离为基础,并没有考虑到路径的传送效能。第四是RIP限制了传送到其他网路的Hop跨越数极限是15,一旦该值为16就会被认为无法到达,所以使得RIP在实务上无法适用在大型网路上。



接下来,我们来看看另一范围的问题,请参阅(图二):




《图二 路由器运作架构示意图》



各位读者可以看到,路由器A连接网路1,发布它自己连往网路1的跨越是1,路由器B收到之后,将跨越值加1,更新它自己到达网路1的跨越数是2 ,接着路由器B广播到网路1的跨越是2,路由器C收到之后,将跨越数加1,更新自己的路由表到网路1的跨越是3。



请各位读者注意,路由器A在网路1,但路由器B为何仍广播可到达网路1的讯息给路由器A?这不是会困惑路由器A该网路1是不是本地的呢?请读者要认知的是︰RIP只在当跨越数比路由表里头的值更低、倾听到的是最新的或是当路径中下一路由器改变了到目的地的跨越数时,才会去更新自己的路由表。



这样一来,当路由器A与网路1断线了,这时候的RIP会产生一个很严重的问题;这时路由器A会更新自己的路由表,设定通往网路1的跨越值为16(16表示无法到达),但是要等到每隔30秒广播一次的更新时,将这讯息广播出去,但是如果路由器B在路由器A之前广播它的路由表资讯,那么这时候路由器A会注意到路由器B有一个到达网路1的较短路径,因为这时候路由器B的路由表资讯到达网路1跨越值为2,而路由器A是16,于是路由器A会更改自己的路由表,把通往网路1的跨越数从路由器B学来加上1,变成跨越数3,这就形成了路由器A和路由器B之间的「回圈」(loop),而在这个例子中,一个目的地为1的封包会在路由器A与路由器B之间传送,直到TTL值被减为0为止。而清除掉失效的路径,让其他路由器知道路由器A到网路1是无法到达的,这样一个过程称为「收敛时间」(Convergence Time)。



RIP问题解决之道


为了解决这样的问题,RIP中加入有四种解决方法:



范围分割(Split Horizo​​n):


这个解决方式是路由器不必对收到路由资讯的通讯埠,于网路上再发布这条路径。所以,路由器B不会广播到达网路1的资料给路由器A,防止「回圈」(loop)的发生。



压制计时器(Hold-down Timer):


这解决方式是一旦路由器收到有关某网路已经断线无法到达,它必须忽略路由表更新,实务上通常达60秒之久。但并非所有厂牌路由器都支援该功能,若该路由器没支援,另一路由器也不支援,则「回圈」(loop)问题仍然存在。



普以松反转(Poison Reverse):


它规定一旦路由器侦测到某个网路断线或连结失效,该路由器会保持现存的路由表,先行广播该网路的跨越值为16无法到达。



触发更新(Triggered Update):


与普以松反转都是帮助缩短「收敛时间」的规则,触发更新规定路由器在收到某网路断线不通的资讯后,则立刻广播它自己的路由表。



结语


限于篇幅关系,笔者将于下次接着介绍IGRP(Interior Gateway Routing Protocol),它是由Cisco于1980年所提出,于1990年发展了Enhanced IGRP,也属于「距离向量协定」的一种。另外亦将介绍在实务运作上蛮艰深的OSPF(Open Shortest Path First),它属于「连结状态协定」的一种,支援IP的TOS(Type of Service),可同时维护八个路由表(Routing Tables) ,在此谢谢IBM公司提供资讯。



(作者任职于将萌公司卫生医疗资讯事业部)



备注


感谢在世界先进积体电路公司服务的洪婉菁小姐校稿,以及部门内行政助理陈芬卿和廖育茹两位小姐帮忙整理打字,让笔者在建置http://www.hicare.net网站百忙中,得以顺利完成本篇。



相关文章
软性显示器的技术与发展关键
简介新一代网络电话标准SIP
创造「​​知识经济」最有效的武器─专利
网络设备趋势:汇流、安全、服务高质量
探究SVG的发展现况
comments powered by Disqus
相关讨论
  相关新闻
» NETGEAR引进Wi-Fi 7无线路由器 发挥AI平台最大效益
» 【COMPUTEX】经济部携手明泰、光宝、联发科 推出「O-RAN基站」三频全产品线
» 宏正AI创新连结浸体验 於COMPUTEX 2024展示赋能应用方案
» 欧盟规划6G计画主席来台 与经济部签约合作跨国研发
» 经部领军台厂重回MWC 秀5G电信与系统商最隹夥伴实力


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK88F1DCC52STACUKT
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw