控制路由更新报文产生的方法及网络设备的制作方法

文档序号:7749069阅读:144来源:国知局
专利名称:控制路由更新报文产生的方法及网络设备的制作方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种控制路由更新报文产生的方法及网络设备。
背景技术
路由信息协议(Routing Information Protocol ;简称为RIP)是一种广泛应用 于小型网络中的路由协议。RIP路由协议采用距离向量算法,是一种距离向量协议。RIP 路由协议通过定时器来控制路由信息的更新。在RIP路由协议中,有4种常用的定时器, 分别是RIP路由信息更新定时器(Update Timer ;简称为UT)、路由信息超时失效定时器 (Invalid Timer ;简称为IT)、保持定时器(Holddown Timer ;简称为HT)和失效路由信息 清除定时器(Flush Timer ;简称为=FT)。其中,UT用于RIP路由器定期往外发送本机RIP路由信息,通常UT的定时时间 为30秒。IT用于决定一个时间长度,即路由器在认定一个路由成为无效路由之前所需要 等待的时间。即如果路由器在IT定时时间结束后仍未收到关于某个指定路由的任何更 新消息,则将认为这个路由失效,并将对该路由进行失效处理,例如将这些路由的路由度 (metric)设置成16,同时对外发送一个更新消息以通知该路由已经无效。通常IT的定时 时间是UT的6倍,即180秒。换言之,当RIP路由器在180秒内没有收到该指定路由的更 新信息,则要将该没有更新的路由信息进行失效处理。在HT的定时时间内,失效的路由信 息不能被接收到的新路由信息所更新,要等到HT定时结束,才能被新路由信息更新。FT用 于设置某个路由成为无效路由并将它从路由表中删除的时间间隔。通常FT的定时时间是 UT的9倍,即270秒。即若路由器在270秒(180秒超时时间加上90秒保持时间)之后仍 未收到失效路由的路由更新信息,将从路由表中移去失效路由(即路由表刷新)。当网络拓扑发生变化时,RIP路由器通过上述定时器对路由信息进行更新操作,最 终让所有RIP路由器对整个网络拓扑达成一致认识,该过程即为基于RIP路由协议的网络 收敛过程。当网络路由收敛后,各个路由器设置自己UT的定时时间为30秒,并在UT定时 到后在启动RIP协议的所有接口上发送自己路由表中所有的路由信息,以实现路由信息的 更新。但是,当路由器启用RIP协议的接口较多,且路由表信息比较大时,定期发送的路 由更新报文的数目将会很大,这将给路由器的处理性能和网络带宽带来很大的负面影响。 例如,如果一个RIP路由器要在100个接口上发送路由更新报文,路由表信息有100个更新 报文,则当UT超时,路由器需要发送100*100 = 100000个路由更新报文,这将对路由器的 处理性能造成瞬间的冲击;同时这种报文是以广播(RIP版本1)或组播(RIP版本2)的形 式在网络上传播,也将对网络带宽造成严重浪费。现有一种解决方法是通过减少发送周期内单位时间发送的路由更新报文数量来 减少对路由器的冲击和缓解网络瞬间流量冲击。比如,将各接口由原来在发送周期内每1 秒发送60个路由更新报文减少为每1秒发送30个路由更新报文。但是这会导致RIP路由收敛速度变慢。甚至有可能在一个更新周期内,路由更新报文还没有发送完,下一个更新周期又启动了。这将导致一部分路由更新报文一直无法发送,造成所有邻居路由器对该部分 路由持续不能收敛。另一种解决方法是将需要发送路由更新报文的接口分为多个组,每个组关联一个 UT,各个UT依次到时。当一个UT到时,将路由更新报文在该UT关联的接口上发送。这种方 法错开了各个接口发送路由更新报文的时间,对路由器的性能起到了一定的改善作用。但 是当接口较多时,导致关联的UT也变多,将使各个UT的定时间隔无法得到合理的设置。在 极端情况下,也将会出现在一个更新周期内,每个接口都在持续发送路由更新报文。另外, 将集中在某个时段发送的路由更新报文均摊到一个较长的时间内发送,这种持续发送路由 更新报文的方法仍会挤占大量的链路带宽。

发明内容
本发明提供一种控制路由更新报文产生的方法及网络设备,用以解决现有技术在 网络路由收敛时发送大量路由更新报文影响网络设备性能和浪费网络带宽的问题,降低更 新路由信息的代价。本发明提供一种控制路由更新报文产生的方法,包括网络设备监测网络的路由状态;当所述网络设备监测到所述网络的路由处于收敛状态时,将本地路由信息更新定 时器的定时时间设置为预设更新定时时间,重新开始定时,以抑制产生并发送路由更新报 文。本发明提供一种网络设备,包括监测模块,用于监测网络的路由状态;处理模块,用于在所述监测模块监测到所述网络的路由处于收敛状态时,将本地 路由信息更新定时器的定时时间设置为预设更新定时时间,重新开始定时,以抑制产生并 发送路由更新报文。本发明提供的控制路由更新报文产生的方法及网络设备,在网络的路由处于收敛 状态时,网络设备通过将本地路由信息更新定时器的定时时间设置为更新定时时间,即对 路由信息更新定时器进行更新使之在定时结束之前重新开始定时,以抑制产生和发送路由 更新报文,解决了在网络的路由信息不变时各网络设备发送大量路由更新报文的问题,降 低了发送大量路由更新报文对网络设备造成的冲击和对网络带宽的浪费,有效降低了更新 路由信息的代价。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。图1为本发明实施例一提供的控制路由更新报文产生的方法的流程图;图2为本发明实施例二提供的控制路由更新报文产生的方法的流程图3为本发明实施例三提供的控制路由更新报文产生的方法的流程图;图4为本发明实施例三的选举报文的示意图;图5为本发明实施例三的TCP报告报文或TCP应答报文的示意图;图6A为本发明实施例四基于的网络拓扑结构示意图;图6B为本发明实施例四提供的控制路由更新报文产生的方法的流程图;图7为本发明实施五提供的一种网络设备的结构示意图;图8为本发明实施例五提供的又一种网络设备的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一图1为本发明实施例一提供的控制路由更新报文产生的方法的流程图,如图1所 示,本实施例的控制路由更新报文产生的方法包括步骤1,网络设备监测网络的路由状态;其中,网络是由多个配置有RIP路由协议的网络设备所构成,而网络设备通常是 指具有路由功能的设备,通常指路由器。在本步骤1中网络设备监测所在网络的路由状态, 即监测所在网络的各个网络设备之间的路由信息。网络设备可能监测到网络的路由信息在 变化,例如可能监测到其有端口生效(UP)或有端口失效(Down),又或监测到有网络设备 加入网络,或有网络设备退出网络等;也可能在某段时间内监测到网络的路由信息不再变 化,各个网络设备对路由信息达成了共识,即网络的路由处于收敛状态。步骤2,当网络设备监测到网络的路由处于收敛状态时,将本地路由信息更新定时 器的定时时间设置为预设更新定时时间,重新开始定时,以抑制产生并发送路由更新报文。具体的,现有RIP路由协议通过路由信息更新定时器设定定时时间,并在定时结 束后发送路由更新报文,而不关心网络的路由是否已经收敛。而当网络的路由信息不再变 化时,各网络设备发送的路由更新报文中的信息将不再变化,即路由更新报文中未包括新 的路由信息,因此,发送这种未包括新的路由信息的路由更新报文是一种资源浪费,不仅影 响网络设备本身的性能,还会浪费网络带宽。而本步骤2用于在网络的路由处于收敛状态 时,通过在本地路由信息更新定时器定时结束之前将路由信息更新定时器的定时时间重新 设置为预设的更新定时时间,使路由信息更新定时器重新开始定时,达到了抑制路由更新 报文产生和发送的目的。其中,更新定时时间可以根据具体情况自行设定,优选的可以设置 为RIP路由协议中常用的30秒。本实施例的控制路由更新报文产生的方法,通过监测网络的路由状态,并当监测 到网络的路由处于收敛状态时,在路由信息更新定时器定时结束之前将路由信息更新定时 器的定时时间重新设置为更新定时时间,使之重新开始定时,以抑制产生和发送路由更新 报文。该技术方案解决了现有技术在网络的路由处于收敛状态时,网络设备仍发送大量路 由更新报文(未包括新路由信息的路由更新报文)的问题,在网络的路由信息不再变化时,不产生和发送路由更新报文,既降低了大量路由更新报文对网络设备的冲击,又节约了网 络带宽。上述技术方案中,网络设备可以采用现有技术判断网络的路由状态,并在判断出网络的路由处于收敛状态时,执行步骤2。本实施例提供一种网络设备监测网络的路由状态 的实施方式,具体为网络设备监测本地路由表信息;在监测到本地路由表信息在预设监 测周期内未发生变化时,确定网络的路由处于收敛状态;反之,当监测到本地路由表信息在 预设监测周期内有变化时,确定网络的路由尚未处于收敛状态,需要进行下一轮的监测。具 体的,网络设备接收其他网络设备发送的路由更新报文,并根据接收到的路由更新报文中 的路由信息对本地路由表进行更新。若网络的路由处于收敛状态,则接收到的路由更新报 文中不会携带新的路由信息,网络设备将不对其路由表进行更新,因此,通过监测路由表信 息在预设监测周期内是否发生变化,可以获知网络的路由状态。其中,预设监测周期可以根 据网络拓扑和网络大小进行设定,通常设置为网络的路由达到收敛状态所需的最大时间。在上述步骤2中,并未限制网络设备将本地路由信息更新定时器的定时时间重新 设置为更新定时时间的具体方式。例如当各个网络设备的定时器同步时,可以根据与网络 中各个网络设备预先约定好的定时时间(具体可以通过另一定时器实现)触发更新路由信 息更新定时器(即将路由信息更新定时器的定时时间重新设置为更新定时时间)的操作。 在该方式中,各个网络设备自行进行路由信息更新定时器的更新操作,不受其他网络设备 的控制,但是该方式对各网络设备的时钟同步要求较高。而在网络的路由处于收敛状态时, 通过一台控制设备统一向各网络设备发送指示信息,以触发各网络设备更新路由信息更新 定时器的操作是一种简单易行的方式。其中,各网络设备分别根据接收到的控制设备发送 的指示信息将路由信息更新定时器的定时时间设置为更新定时时间,使之重新开始定时, 以达到抑制产生和发送路由更新报文的目的。控制设备可以是从网络中预先设定或选举出 的一台网络设备,负责在网络的路由收敛时控制管理各个网络设备(包括自己)对其路由 信息更新定时器的更新。本发明以下各实施例将以网络设备根据控制设备发送的指示信息,更新路由信息 更新定时器为例详细说明本发明技术方案,并将控制设备称之为网络监察器。实施例二图2为本发明实施例二提供的控制路由更新报文产生的方法的流程图,本实施例 的执行主体为网络中的各个网络设备,且本实施例可以基于实施例一实现,如图2所示,本 实施例的方法包括以下步骤步骤101,网络设备监测到网络的路由处于收敛状态时,向网络中的网络监察器发 送连接请求,以与网络监察器建立连接;具体的,网络设备监测网络的路由状态的过程详见实施例一中的描述,在此不再 赘述。在由多个配置有RIP路由协议的网络设备形成的网络中,当网络路由收敛之后(即 各个网络设备的路由表信息不再变化,对整个网络拓扑达成了一致认识),网络设备向网络 监察器发起传输控制协议(TransmissionControl Protocol ;简称为TCP)连接请求或用 户数据包协议(User DatagramProtocol ;简称为UDP)连接请求,以与网络监察器建立TCP 连接或UDP连接形成邻居关系,并与网络监察器进行直接交互。其中,网络监察器可以为网络中的一台网络设备,是由网络中的所有网络设备根据一定的选举方法选举出来的或者由网络管理员预先配置的,用于向各个非网络监察器的 网络设备发送各种指示信息,以控制各个网络设备进行路由更新报文的发送。步骤102,网络设备根据网络监察器发送的第一指示信息将本地路由信息更新定 时器的定时时间设置为预设更新定时时间,使本地路由信息更新定时器重新开始定时,以 抑制产生并发送路由更新报文。在本实施例中,预设更新定时时间通常为30秒,即路由信息更新定时器定时30秒结束后,即发送路由更新报文,而本步骤在路由信息更新定时器定时时间到达30秒之前将 路由信息更新定时器更新使其重新开始定时,抑制路由更新报文的发送。其中,网络监察器 可以获知网络的路由状态。例如可以通过监测本地路由表(当网络监察器为网络中的网络 设备时)获知网络的路由状态;也可以通过与网络设备之间的交互信息获取网路的路由状 态;例如网络设备可以在初始监测到网络的路由处于收敛状态时,向网络监察器发送网络 收敛告知信息;又例如网络监察器可以根据网络设备发起的连接请求(预先约定只有在 初始监测到网络的路由处于收敛状态时发起连接请求)获知网络的路由处于收敛状态。在本实施例中,为了解决现有技术中各个网络设备在网络的路由收敛以后,仍定 时发送大量路由更新报文的问题,网络监察器通过与各网络设备建立的TCP连接或UDP连 接,直接向各网络设备发送第一指示信息,可以同时触发各个网络设备将各自路由信息更 新定时器的定时时间设置为预设更新定时时间,使之重新开始定时。由于路由信息更新定 时器定时未结束,因此,各个网络设备不会产生并发送路由更新报文,克服了发送大量路由 更新报文导致的缺陷,降低了持续发送路由更新报文对网络设备性能造成的负面影响,同 时也解决了大量路由更新报文挤占网络带宽的问题。进一步,当网络设备根据网络监察器发送的第一指示信息,将本地路由信息更新 定时器的定时时间设置为更新定时时间之后,还会继续监测网络的路由状态,其一方面通 过监测本地路由表信息的变化情况,另一方面通过监测网络设备本身各个端口或网络拓扑 等的变化情况以对路由状态进行监测。当网络设备在网络的路由处于收敛状态之后继续监 测到网络的路由仍处于收敛状态时,向网络监察器发送路由不变通告信息,并接收网络监 察器根据路由不变通告信息生成并发送的第一指示信息,且根据该第一指示信息继续对本 地路由信息定时更新定时器进行更新。在此值得说明的是,此时网络设备监测网络的路由 状态的监测周期应该小于路由信息更新定时器的定时时间,即预设的更新定时时间,以达 充分抑制路由更新报文的产生和发送的目的。其中,网络监察器通过TCP报文或UDP报文 以单播的方式直接将第一指示信息提供给网络设备,加速了网络设备接收第一指示信息的 速度,保证网络设备能够及时对路由信息更新定时器进行更新。另外,网络监察器发送的第一指示信息的数量将影响本实施例抑制发送的路由更 新报文的数量,抑制发送的路由更新报文的数量越多,则越能降低发送路由更新报文对网 络设备性能的影响和对网络带宽的浪费。因此,在上述技术方案中,网络设备通过控制发送 路由不变通告信息的频率,控制本实施例中网络监察器发送第一指示信息的数量,以达到 对路由更新报文的最佳抑制。网络设备发送路由不变通告信息的时间间隔(即网络设备此 时监测网络的路由状态的监测周期)应在预设的更新定时时间之内。但是,若设置的发送 间隔过短,则发送的路由不变通告信息就频繁,浪费资源;若设置的发送间隔过长,则发送 的路由不变通告信息就少,监测网络邻居丢失就比较慢。因此,本实施例优选为在路由信息更新定时器定时到预设更新定时时间的一半时发送路由不变通告信息。通过上述方法网络监察器可以向网络设备定时发送第一指示信息,以在网络的路 由收敛的整个过程中,抑制路由更新报文的发送,避免发送路由更新报文对网络设备的影 响,同时节约网络带宽资源。

进一步,当网络的路由信息发生变化时,例如当有新的网络设备加入网络拓扑 时,或者邻居网络设备丢失,又或者第一网络设备中的某个接口 down或up时,就需要重新 发送路由更新报文,以对网络的路由信息进行更新。基于此,本实施例技术方案还包括网 络设备根据网络监察器发送的第二指示信息在路由信息更新定时器定时结束时,产生并发 送路由更新报文,以对网络的路由信息进行更新。其中,网络监察器以广播或组播方式同时向网络中所有的网络设备发送第二指示 信息,各网络设备接收第二指示信息。该第二指示信息不是指示网络设备对路由信息更新 定时器进行更新操作,而是用于指示网络设备在路由信息更新定时器定时结束时产生并发 送路由更新报文,以对网络的路由信息进行更新。其中,可以通过对网络的路由状态变化规 律进行估计,预先获取网络的路由状态变化周期,网络监察器根据该变化周期定时发送第 二指示信息。该变化周期是根据实际网络状态获取的经验值,即通过对网络的路由状态进 行估计,获知网络的路由由收敛到不再收敛的平均时间间隔。由于网络的路由变化情况较为复杂,为了进一步保证网络监察器能在网络的路由 信息发生变化时及时准确的发送第二指示信息,本实施例提供另一种实现方式。该实现方 式具体为网络设备在产生并发送路由更新报文之前,向网络监察器发送路由变化通告信 息,并接收网络监察器根据路由变化通告信息生成并发送的第二指示信息。其中,当网络设 备监测到网络路由信息发生变化(主要基于对路由表信息的监测)时,向网络监察器发送 路由变化通告信息;网络监察器接收到路由变化通告信息后,获知网络的路由信息发生变 化(即网络路由不再处于收敛状态),并根据路由变化通告信息生成并以广播或组播形式 发送第二指示信息,指示网络设备产生并发送路由更新报文。其中,以广播或组播的方式 可以同时向所有网络设备发送该第二指示信息,以便于所有网络设备均对路由信息进行更 新。且在本实施例中,由于网络设备与网络监察器直接连接,因此第二指示信息可以同时到 达各个网络设备,使各网络设备及时对路由表信息进行更新,进而加速网络的路由信息再 次收敛的速度。在上述技术方案的基础上,当网络监察器为一台网络设备时,其本身也具有监测 网络的路由状态的能力,因此,网络监察器除了根据接收到的网络设备发送的路由变化通 告信息发送第二指示信息时,还可以在自己监测到网络的路由发生变化(例如网络监察器 某个端口 down)时,生成并向所有网络设备发送第二指示信息。进一步,为了避免网络设备 和网络监察器之间的连接链路出现问题时,导致收不到网络设备发送的路由变化通告信息 或者路由不变通告信息,因此,本实施例还包括当网络监察器在预定信息发送周期结束后 未收到某个网络设备的路由不变通告信息或路由变化通告信息时,认为网络的路由发生变 化,此时网络监察器产生并向所有网络设备发送第二指示信息,以对网络的路由信息进行 更新。其中,在本实施例中预定信息发送周期为网络设备发送两个通告信息的间隔,即(1 个UT时间),但并不限于此,本领域技术人员可以结合网络的实际情况和其他各种时间进 行设置。
通过上述技术方案,可以在网络的路由信息发生变化时,进行网络路由信息的更 新。且网络设备通过向网络监察器发送路由变化通告信息,只有在网络的路由信有变化时 才进行路由更新报文的发送,保证不发送无用的路由更新报文。在实现对网络路由信息进 行更新的同时,降低对网络设备或网络性能的负面影响。在此需要说明的是,本发明实施例基于RIP路由协议实现,该协议通常联合使用 四个定时器实现对路由信息的更新,因此,在采用本发明技术方案将路由信息更新定时器 的定时时间设置为预设更新定时时间重新开始定时时,还应将对应的路由信息超时失效定 时器、路由信息保持定时器和失效路由信息清除定时器的定时时间分别设置为预设失效定 时时间、预设保持定时时间和预设清除定时时间以重新开始定时。通常,预设失效定时时间 为预设更新定时时间的6倍,为180秒;预设保持定时时间为预设更新定时时间的3,为90 秒;预设清除定时时间为预设更新定时时间的9倍,为270秒。上述时间关系为本领域常用 的时间值或比例关系,本实施例并不限于此。进一步,在实施本发明上述实施例的技术方案之前还包括选择网络监察器。其 中,网络监察器可以由网络管理员进行人工配置,即先选中网路中的一台网络设备,将其 作为网络监察器;然后,对网络中的每台网络设备进行配置,例如将网络监察器的网际协 议(Internet Protocol ;简称为IP)地址和所用端口号等信息配置到网络中其他网络设备 中,以使各网络设备根据所配置的IP地址和端口信息与网络监察器建立TCP连接或UDP连 接,进而继续执行上述实施例的技术方案。为了使配置网络监察器变得更加灵活、易行,且减轻网络管理员的工作负担,本实 施例提供一种自动选举网络监察器的方法。自动选举网络监察器的原理为网络设备根据 用于选举网络监察器的选举报文中的标识信息从网络中的网络设备中确定网络监察器。首 先,每台网络设备均向网路中的其他网络设备发送选举报文,同时接收网络中其他网络设 备发送的选举报文,各选举报文中携带有选举网络监察器所需的标识信息;然后,网络设备 根据选举报文(包括发送的选举报文和接收的选举报文)中的标识信息从各网络设备中确 定网络监察器。其中,由于基于IP协议的网络,其通常通过IP地址唯一标识或区分各路由 器,因此,本实施例中将网络设备对应的IP地址信息作为标识信息,其具有易于实现的优 点,但并不限于此,还可以域名系统(Domain Name System ;简称为DNS)名称作为标识信 息,或者通过给各网络设备自行定义能够唯一区别它们的标识信息。其中,当以网络设备对应的IP地址信息作为标识信息时,各网络设备均在各自对 应的所有选举报文(包括自己发送的选举报文和接收到的其他网络设备的选举报文)中的 IP地址信息中,确定最大或最小IP地址信息对应的网络设备为网络监察器。但是,并不仅 仅限于最大或最小IP地址信息,其他值的IP地址信息也可以,只是最大或最小IP地址信 息易于判断,在实施时更加简单。在此需要说明的是,本实施例的网络监察器具有网络设备的功能,其还具有在网 络的路由初始处于收敛状态或者在接收到网络设备发送的路由不变通告信息时,向网络设 备发送第一指示信息,以使网络设备根据第一指示信息将路由信息更新定时器的定时时间 重新设置为更新定时时间,使之重新开始定时以抑制产生和发送路由更新报文的功能;同 时,还具有在收到网络设备发送的路由变化通告信息时,产生并向所有网络设备发送第二 指示信息,以使各个网络设备对网络的路由信息进行更新的功能。
本实施例的上述技术方案,在网络的路由处于收敛状态时,各个网络设备不发送 路由更新报文,而在网络的路由信息变化时,发送路由更新报文,以发送最少的路由更新报 文实现对网络的路由信息的更新,降低了对网络设备自身性能的影响,同时节约了网络带 宽资源。以上从网络设备的角度对本分明技术方案进行了介绍,下面将结合整个网络以及 具体应用环境(以路由器为例)对本发明技术方案做进一步说明。实施例三图3为本发明实施例三提供的控制路由更新报文产生的方法的流程图,本实施例 可基于上述实施例一或实施例二实现,如图3所示,本实施例的控制路由报文产生的方法 包括以下步骤步骤200,整个网络启动,即各个路由器(包括网络监察器)开启自己的RIP路由 协议,当各个路由器均处于准备工作状态时,执行步骤201 ;步骤201,网络中的各个路由器判断网络的路由是否收敛;具体的,在RIP网络中,所有开启RIP路由协议的路由器通过配置命令启动UT抑 制功能。开启了 UT抑制功能的路由器以每个UT为间隔,监测自己路由表是否有变化,当在 连续预定个数(例如6个)UT间隔内,监测到的路由表都没有变化时,路由器认为网络路由 已经收敛。当路由收敛时,转去执行步骤203 ;反之,若网络路由未收敛,则执行步骤202。其中,监测网络是否收敛的监测周期(即预定个数的UT间隔,在本实施例中具体 指6个UT间隔)可以根据网络拓扑及网络大小(即网络设备的数量)自行设置。结合RIP 网络只能支持15跳路由的自身特点,可知在最坏的情况下,监测周期可能达到18个UT间 隔。例如12台路由器依次直连,后3台路由器成环,成环的路由器最优链路失效,这时,这 个路由更新传播到第一台路由器需要的时间是HT加上12个UT,而一个HT通常为6个UT, 因此最坏情况为18个UT,即9分钟。本实施例仅提供一种举例,并不对各个时间进行限制。步骤202,等待一个监测周期,并继续执行步骤201,以继续判断网络路由是否收 敛。步骤203,在RIP网络中自动选举网络监察器,且所有路由器与网络监察器分别建 立TCP连接形成邻居关系;继续执行步骤204具体的,各路由器在所有开启RIP路由协议的接口上,每隔预先约定的时间间隔 (例如5秒),发送网络监察器选举报文。其中,选举报文可由RIP路由协议中的协议报文 改造而成,其可以为UDP报文,且该报文对应的目的端口号为520,该端口号即为RIP路由 协议所采用的端口号。具体的,选举报文格式如图4所示通过将RIP路由协议报文中的命 令(Command)字段取值为1或2以外的数字,本实施例取值为6 (不限于此),表示这个报文 是选举报文;版本字段取值为本RIP的版本号,IP地址字段(IP Address)则为该路由器上 所有开启RIP的接口最大的IP地址,比如路由器有2个接口开启RIP,一个配置IP地址 1. 1. 1. 1/24,一个配置IP地址2. 2. 2. 2/24,则选择的IP地址则为2. 2. 2. 2/24。本实施例提供一种选举网络监察器的具体方法,其包括以下步骤步骤2031,路由器在所有开启RIP路由协议的接口上,每隔5秒,发送选举报文,选 举报文中携带路由器的IP地址;步骤2032,路由器接收其他路由器发送的选举报文,进行IP地址对比,从选举报文中选择IP地址最大的作为下一个选举报文中的IP地址,同时记录这个最大的IP地址 值;步骤2033,循环上述步骤2031和步骤2032直到选举结束,此时,所有路由器已经对网络中最大IP地址值达成共识,并将该最大IP地址值对应的路由器作为网络监察器。其 中,选举算法中,最坏的情况是15个路由器依次连接,这时需要经过14个选举周期才能选 出IP地址最大的路由器。本实施例将以最坏的情况为例,即经过14个选举周期后选举出 网络监察器。在选举出网络监察器后,所有路由器通过发送TCP连接请求和这个网络监察器建 立TCP连接,形成邻居关系。路由器发出的TCP连接报文中,源IP地址是路由器上开启RIP 接口最大的IP地址,目的IP地址则是选举出来的网络监察器的IP地址,目的端口号为 36660,源端口号不做限定,具体由发出TCP连接请求的路由器自行设置。其中,TCP连接由 非网络监察器的路由器发起,TCP报文中的目的端口号可以协商设置,即各个路由器和网络 监察器达成一致即可,本实施例以目的端口号36660为例,但并不限于此。由于目的端口号 1-1024为保留的端口号,因此本实施例从1024-65535中选择一个(例如36660)作为目的 端口号,即作为网络监察器的服务端口号。步骤204,每个邻居路由器向网络监察器定期报告自己路由表的变化情况,网络监 察器根据各个路由器提供的路由表变化情况判断网络路由信息是否发生变化,并决定是否 更新邻居路由器的路由信息更新定时器;当判断出路由信息没有变化时,执行步骤205 ;反 之,执行步骤206。在此需要说明的是,网络监察器同样监测到本地路由表信息,并当监测到 路由表信息有变化时,同样需要执行步骤206。其中,汇报路由表变化情况的间隔小于路由 信息更新定时器的定时时间。步骤205,网络监察器通知所有路由器(包括自己),对UT更新,以抑制产生并发 送路由更新报文,并转去执行步骤204 ;步骤206,网络监察器通知所有路由器(包括自己),取消对UT的更新,让路由器 恢复产生并发送路由更新报文,以达到网络的再次收敛,即转去执行步骤201。上述步骤204-步骤206具体为每个邻居路由器在UT/2周期内,向网络监察器报 告自己的路由变化情况。报告消息可以通过图5所示的TCP报告报文来实现,如图5所示, 该TCP报告报文中各字段的意义如下C-Command字段标识路由器对本地路由变化的报告情况,取值为0表示路由信息 没有变化,在UT/2周期触发即发送报告消息;取值为1表示路由信息有变化,该路由器立刻 触发,即发送报告消息。当非网络监察器的路由器发出TCP报告报文时,S-Command字段取值为65535,具 体该值可以自行设置,只要网络中的路由器和网络监察器进行统一即可,其表示路由器向 网络监察器发送报告报文。保留字段,为未被使用字段,用于实现其它功能和目的。网络监察器根据路由器发给自己的TCP报告报文,发送TCP应答报文,其中TCP应 答报文和TCP报告报文的格式相同,如图5所示,其区别在于取值和意义不同,该TCP应答 报文的取值如下C-Command字段复制路由器的TCP报告报文中的取值,即取值0表示路由信息没有变化;取值1表示路由信息有变化。S-Command字段根据路由器的TCP报告报文中的取值,做出相应处理即当 C-Command字段取值为O时,该S-Command字段取值为0,表示通知所有路由器(包括自 己),将UT更新(UT更新意味着不发送路由更新报文);当C-Command字段取值为1时,该 S-Command字段取值为1,表示通知所有路由器(包括自己),取消对UT的更新,这说明至少 有一台路由器的路由发生变化,需要通知所有路由器,取消对UT的更新,让RIP路由器恢复 产生并发送路由更新报文,以达到网络的再次收敛。另外,当网络监察器超过预设时间段(例如1个UT周期)后,没有收到某个邻居路由器的TCP报告报文或监测到某个邻居路由器的TCP连接断开时,也认为网络拓扑发生 变化,需要向所有存在的路由器发送网络拓扑变化的TCP应答报文,通知目前存在的邻居 路由器取消对UT和与之相关联的IT,HT, FT的更新,开始进行路由收敛过程。实施例四图6A为本发明实施例四基于的网络拓扑结构示意图,图6B为本发明实施例四提 供的控制路由更新报文产生的方法的流程图。本实施例可基于实施例三实现,具体结合图 6A所示的网络拓扑结构说明控制路由更新报文产生的方法的实施过程。其中,图6A中的第一路由器、第二路由器和第三路由器分别配置RIP路由协 议,并构成RIP协议网络。且第一路由、第二路由器和第三路由器配置的IP地址分别为 1. 1. 1. 1/8-2. 1. 1. 1/8,2. 1. 1. 2/8-3. 1. 1. 12/8 和 3. 1. 1. 2/8-4. 1. 1. 1/8。其实施过程如图 6B所示,具体包括以下步骤步骤501,第一路由器、第二路由器和第三路由器在经过2个UT周期后网络路由达 到收敛。步骤502,第一路由器、第二路由器和第三路由器选举网络监察器,经过2次选举, 选举出第三路由器为网络监察器,其IP地址为4. 1. 1. 1/8。步骤503,第一路由器通过IP地址2. 1. 1. 1和第三路由器的IP地址4. 1. 1. 1.建 立TCP连接,且第二路由器通过IP地址3. 1. 1. 1和第三路由器的IP地址4. 1. 1. 1建立TCP连接。步骤504,当网络路由在收敛状态时,第一路由器和第二路由器每经过UT/2周期 向第三路由器发送C-Command = 0,S-Command = 65535的TCP报告报文,第三路由器向第 一路由器和第二路由器返回C-Command = 0,S-Command = O的TCP应答报文。步骤505,第一路由器和第二路由器将自己的UT和与之关联的IT、HT、FT进行更 新,取消对路由更新报文的发送。步骤506,假设第一路由器的IP地址1. 1. 1. 1/8所在的接口失败(down),第一路 由器立即向第三路由器发送C-Command = 1,S-Command = 65535的TCP报告报文,第三路 由器向第一路由器和第二路由器返回C-Command = 1,S-Command = 1的TCP应答报文,通 知第一路由器和第二路由器取消对UT和与之关联的IT、HT、FT的限制,开始进网络路由的 重新收敛过程。本实施例通过具体实例说明本发明技术方案,本发明技术方案通过选举网络监察 器,并由网络监察器控制对各个路由器的路由信息更新定时器进行更新,以在网络路由处 于收敛状态时,不发送路由更新报文,在网络路由变化时,发送路由更新报文对路由信息进行更新。与现有只能缓解而不能消除发送大量路由更新报文的技术方案相比,本发明技术 方案彻底解决了在路由收敛时,RIP路由协议中路由器周期性发送路由更新报文更新路由 信息,对路由器处理性能和网络带宽利用带来的负面影响。实施例五图7为本发明实施例五提供的网络设备的结构示意图,如图7所示,本实施例的 网络设备包括监测模块61和处理模块62。其中,监测模块61用于监测网络的路由状态。 处理模块62分别与路由信息更新定时器和监测模块61连接,用于在监测模块61监测到网 络的路由处于收敛状态时,将本地路由信息更新定时器的定时时间设置为预设更新定时时 间,重新开始定时,以抑制产生并发送路由更新报文。
本实施例提供的网络设备配置有RIP路由协议,工作在由多台配置有RIP路由协 议的网络设备构成的网络中。具体可以是各种具有路由功能的设备,例如交换机、路由器 等,也可以作为独立的设备,而与各种路由设备(例如路由器)进行连接,以向路由设备提 供路由更新报文产生和发送的控制功能。本实施例的网络设备,可以用于执行本发明实施例提供的控制路由更新报文产生 的方法,具体通过监测网络的路由状态,并在监测到网络的路由处于收敛状态时,在本地路 由信息更新定时器定时结束之前将本地路由信息更新定时器的定时时间重新设置为预设 更新定时时间,使之重新开始定时,以达到抑制产生并发送路由更新报文的目的。在网路的 路由信息不变时,网络设备不必发送路由更新报文,从而克服了发送大量路由更新报文导 致的缺陷,降低了发送大量路由更新报文对网络设备自身性能的负面影响,且节约了网络 带宽。进一步,如图8所示,本实施例的网络设备中的监测模块61包括监测单元611和 判决单元612。其中,监测单元611,用于监测本地路由表信息。具体的网络设备接收到其 他网络设备发送的路由更新报文时,会根据路由更新报文中的路由信息对本地路由表进行 更新,但是当路由更新报文中未携带新的路由信息(即网络的路由处于收敛状态)时,网络 设备将不对其路由表进行更新,因此通过监测本地路由表信息是否有变化可以监测网络的 路由状态,其监测结果包括网络的路由处于收敛状态或未处于收敛状态,并将上述监测结 果提供给判决单元612。判决单元612用于当监测单元611监测到本地路由表信息在预设 监测周期内未发生变化时,确定网络的路由处于收敛状态。其中,判决单元612还用于当监 测单元611监测到本地路由表信息在预设监测周期内有变化时,确定网络的路由未处于收 敛状态。其中,判决单元612与处理模块62连接,用于将确定网络的路由处于收敛状态的 判决结果提供给处理模块62,触发处理模块62执行将本地路由信息更新定时器60的定时 时间设置为预设更新定时时间,重新开始定时,以抑制产生并发送路由更新报文的操作。例 如通过触发定时时间为预先与其他网络设备约定的定时器,当定时器定时结束时执行更新 操作。其中,该定时器可以设置于处理模块62内,也可以处理模块62之外的定时器。但该 方式对网络设备时钟同步要求较高。针对本发明方法实施例中对路由信息更新定时器进行更新的优选方式,本实施例 的处理模块62可以根据控制设备发送的指示信息,执行上述对路由信息更新定时器进行 更新的操作。本实施例中将控制设备称之为网络监察器,其可以是网络中任何一台网络设备,且具有网络设备所有功能。基于上述采用网络监察器的技术方案,本实施例的处理模块62与网络监察器连 接,处理模块62将本地路由信息更新定时器60的定时时间设置为预设更新定时时间具体 为处理模块62根据网络监察器发送的第一指示信息,将本地路由信息更新定时器60的定 时时间设置为更新定时时间。其中第一指示信息用于告知处理模块62对路由信息更新定 时器60进行更新,抑制产生和发送路由更新报文。其中,网络监察器可以分别与各网络设 备的处理模块62连接,用于直接且及时地向各个网络设备的处理模块62发送各种指示信 息,提高各个网络设备根据指示信息执行操作的速度。在上述包含网络监察器的技术方案的基础上,本实施例的网络设备还包括连接 模块63,用于向网络监察器发送连接请求,以与网络监察器建立TCP连接或UDP连接。进一 步还包括选举模块64,用于在与网络监察器建立连接之前,根据用于选举网络监察器的 选举报文中的标识信息从所网络中的网络设备中确定网络监察器。具体的,网络设备向网 路中的其他网络设备发送选举报文,同时接收网络中其他网络设备发送的选举报文,各选 举报文中携带有选举网络监察器所需的标识信息;选举模块64根据所有选举报文中的标 识信息从所有网络设备中确定网络监察器。本实施例中将网络设备对应的IP地址信息作 为标识信息,其具有易于实现的优点,但并不限于此,还可以DNS作为标识信息,或者通过 给各网络设备自行定义能够唯一区别它们的标识信息。其中,当以网络设备对应的IP地址信息作为标识信息时,各网络设备的选举模块 64均在各自所有选举报文(包括自己发送的选举报文和接收到的其他网络设备的选举报 文)中的IP地址信息中,确定最大或最小IP地址信息对应的网络设备为网络监察器。但 是,并不仅仅限于最大或最小IP地址信息,其他值的IP地址信息也可以,只是最大或最小 IP地址信息易于判断,在实施时更加简单。进一步,本实施例的网络设备还包括第一发送接收模块65、产生发送模块66和第 二发送接收模块67。其中,第一发送接收模块65分别与监测模块61、处理模块62和网络监 察器连接,用于在处理模块62根据网络监察器发送的第一指示信息,将本地路由信息更新 定时器60的定时时间设置为更新定时时间之后,根据监测模块61继续监测本地路由表获 取的网络的路由仍处于收敛状态的监测结果向网络监察器发送路由不变通告信息,并接收 网络监察器根据路由不变通告信息生成并发送的第一指示信息。同时,第一发送接收模块 65将接收到的第一指示信息提供给处理模块62,使处理模块62继续对本地路由信息更新 定时器60进行更新操作。其中,第一发送接收模块65发送路由不变通告信息的时间间隔, 即为监测模块61在监测到网络的路由处于收敛状态后继续监测本地路由表的监测周期, 该监测周期小于监测网络的路由状态是否收敛时的预设监测周期,可以为更新定时时间的 几分之几。本实施例优选在路由信息更新定时器定时到更新定时时间的一半时,向网络监 察器发送路由不变通告信息,即可保证路由不变通告信息发送不过于频繁,又可保证较快 监测到网络邻居的丢失情况。当监测模块61监测到路由表信息有变化时,即网络的路由不再处于收敛状态时, 需要对网络的路由信息进行更新。本实施例的网络设备中的产生发送模块66根据网络监 察器发送的第二指示信息,在本地路由信息更新定时器60结束时,产生并发送路由更新报 文,以对网络的路由信息进行更新。其中,第二发送接收模块67用于在产生发送模块66产生并发送路由更新报文之前,向网络监察器发送路由变化通告信息,并接收网络监察器根据路由变化通告信息生成并发送的第二指示信息;同时,第二发送接收模块67将第二指示 信息提供给产生发送模块66,使产生发送模块66根据该第二指示信息继续产生并发送路 由更新报文。本实施例的网络设备采用RIP路由协议,由RIP路由协议常采用四个相互关联的 定时器,因此,本实施例在对路由信息更新定时器(UT)进行更新的同时,需要对与之关联 的IT、HT和FT也进行更新,具体的本实施例通过定时器更新模块68将路由信息更新定时 器对应的IT、HT和FT的定时时间分别设置为预设失效定时时间、预设保持定时时间和预设 清除定时时间,以实现对路由信息超时失效定时器、路由信息保持定时器和失效路由信息 清除定时器的更新。更进一步,本实施例的网络设备还包括指示模块69,与选举模块64连接,用于当 网络设备被选举为或者被管理员人工设置为网络监察器时,使网络设备执行网络监察器的 操作,即在网络的路由处于收敛状态或者在接收到网络中的其他非网络监察器的网络设备 发送的路由不变通告信息时,向其他非网络监察器的网络设备发送第一指示信息;或者在 接收到其他非网络监察器的网络设备发送的路由变化通告信息时,向其他非网络监察器的 网络设备发送第二指示信息。具体第一指示信息和第二指示信息功能详见本发明前面的描 述,在此不再赘述。进一步,本实施例的网络设备包括上述模块,可进一步执行本发明各实施例提供 的控制路由更新报文产生的方法的流程,本实施例的网络设备可以在网络的路由信息变化 时,产生并发送路由更新报文,在网络的路由收敛时,抑制产生并发送路由更新报文,其在 实现对路由信息更新的基础上,抑制无用路由更新报文的发送,既减轻了网络设备自身的 负担,也节约了网络带宽资源。在此需要说明的是,本实施例仅以一个网络设备的结构进行说明,是为了与网络 中其他网络设备进行区分,本领域技术人员可以理解,网络中的各个网络设备都可以具有 本发明实施例网络设备的结构和功能,且与本发明实施例的网络设备具有对等关系。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种控制路由更新报文产生的方法,其特征在于,包括网络设备监测网络的路由状态;当所述网络设备监测到所述网络的路由处于收敛状态时,将本地路由信息更新定时器的定时时间设置为预设更新定时时间,重新开始定时,以抑制产生并发送路由更新报文。
2.根据权利要求1所述的控制路由更新报文产生的方法,其特征在于,所述网络设备 监测网络的路由状态,具体为所述网络设备监测本地路由表信息;在监测到本地路由表信息在预设监测周期内未发生变化时,确定所述网络的路由处于 收敛状态。
3.根据权利要求1所述的控制路由更新报文产生的方法,其特征在于,将本地路由信 息更新定时器的定时时间设置为预设更新定时时间,具体为 所述网络设备根据网络监察器发送的第一指示信息,将本地路由信息更新定时器的定 时时间设置为所述更新定时时间。
4.根据权利要求3所述的控制路由更新报文产生的方法,其特征在于,所述网络设备 根据网络监察器发送的第一指示信息,将本地路由信息更新定时器的定时时间设置为所述 更新定时时间之前包括所述网络设备根据用于选举所述网络监察器的选举报文中的标识信息从所述网络中 的网络设备中确定所述网络监察器;所述网络设备向所述网络监察器发送连接请求,以与所述网络监察器建立TCP连接或 UDP连接。
5.根据权利要求4所述的控制路由更新报文产生的方法,其特征在于,所述网络设备 根据网络监察器发送的第一指示信息,将本地路由信息更新定时器的定时时间设置为所述 更新定时时间之后还包括所述网络设备向所述网络监察器发送路由不变通告信息,并接收所述网络监察器根据 所述路由不变通告信息生成并发送的所述第一指示信息。
6.根据权利要求5所述的控制路由更新报文产生的方法,其特征在于,所述网络设备 在所述路由信息更新定时器定时到所述更新定时时间的一半时发送所述路由不变通告信 肩、ο
7.根据权利要求4所述的控制路由更新报文产生的方法,其特征在于,还包括所述网络设备根据所述网络监察器发送的第二指示信息,在本地路由信息更新定时器 定时结束时,产生并发送所述路由更新报文,以对所述网络的路由信息进行更新。
8.根据权利要求7所述的控制路由更新报文产生的方法,其特征在于,所述网络设备 在产生并发送所述路由更新报文之前包括所述网络设备向所述网络监察器发送路由变化通告信息;所述网络设备接收所述网络监察器根据所述路由变化通告信息生成并发送的所述第 二指不信息。
9.一种网络设备,其特征在于,包括监测模块,用于监测网络的路由状态;处理模块,用于在所述监测模块监测到所述网络的路由处于收敛状态时,将本地路由信息更新定时器的定时时间设置为预设更新定时时间,重新开始定时,以抑制产生并发送 路由更新报文。
10.根据权利要求9所述的网络设备,其特征在于,所述监测模块包括监测单元,用于监测本地路由表信息;判决单元,用于在监测到所述本地路由表信息在预设监测周期内未发生变化时,确定 所述网络的路由处于收敛状态。
11.根据权利要求9所述的网络设备,其特征在于,所述处理模块将本地路由信息更新 定时器的定时时间设置为预设更新定时时间具体为所述处理模块根据网络监察器发送的第一指示信息,将本地路由信息更新定时器的定 时时间设置为所述更新定时时间。
12.根据权利要求11所述的网络设备,其特征在于,还包括选举模块,用于根据用于选举所述网络监察器的选举报文中的标识信息从所述网络中 的网络设备中确定所述网络监察器;连接模块,用于向所述网络监察器发送连接请求,以与所述网络监察器建立TCP连接 或UDP连接。
13.根据权利要求12所述的网络设备,其特征在于,还包括第一发送接收模块,用于在所述处理模块根据所述网络监察器发送的第一指示信息, 将本地路由信息更新定时器的定时时间设置为所述更新定时时间之后,向所述网络监察器 发送路由不变通告信息,并接收所述网络监察器根据所述路由不变通告信息生成并发送的 所述第一指示信息。
14.根据权利要求13所述的网络设备,其特征在于,所述第一发送接收模块在所述路 由信息更新定时器定时到所述更新定时时间的一半时发送所述路由不变通告信息。
15.根据权利要求12所述的网络设备,其特征在于,还包括产生发送模块,用于根据所述网络监察器发送的第二指示信息,在本地路由信息更新 定时器定时结束时,产生并发送所述路由更新报文,以对所述网络的路由信息进行更新。
16.根据权利要求15所述的网络设备,其特征在于,还包括第二发送接收模块,用于在所述产生发送模块产生并发送所述路由更新报文之前,向 所述网络监察器发送路由变化通告信息,并接收所述网络监察器根据所述路由变化通告信 息生成并发送的所述第二指示信息。
17.根据权利要求11-16任一项所述的网络设备,其特征在于,还包括指示模块,用于当所述网路设备被选举为所述网络监察器时,在所述网络的路由处于 收敛状态或者在接收到所述网络中的其他网络设备发送的路由不变通告信息时,向所述其 他网络设备发送所述第一指示信息;或者在接收到所述其他网络设备发送的路由变化通告 信息时,向所述其他网络设备发送所述第二指示信息。
全文摘要
本发明提供一种控制路由更新报文产生的方法及网络设备,方法包括网络设备监测网络的路由状态;当所述网络设备监测到所述网络的路由处于收敛状态时,将本地路由信息更新定时器的定时时间设置为预设更新定时时间,重新开始定时,以抑制产生并发送路由更新报文。本发明的控制路由更新报文产生的方法及网络设备,在网络的路由处于收敛状态时,通过将本地路由信息更新定时器的定时时间设置为更新定时时间,使之在定时结束之前重新开始定时,以抑制产生和发送路由更新报文,降低了发送大量路由更新报文对网络设备造成的冲击和对网络带宽的浪费,有效降低了更新路由信息的代价。
文档编号H04L12/56GK101848157SQ20101017602
公开日2010年9月29日 申请日期2010年5月14日 优先权日2010年5月14日
发明者杨敬民 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1