本发明涉及网络通信技术领域,尤其涉及ospf协议在窄带链路控制更新报文发送的方法和设备。
背景技术:
随着网络技术的发展,以ip为基础的数据业务在网络中的比重也越来越大。未来的网络将是一种以ip为核心的宽带的融合网络。但是在一些窄带链路如卫星链路仍要支持多种ip业务的应用需求,因此需要进行ip路由选择的能力。
路由协议为ip数据包提供选路功能,其选路过程实现的好坏直接影响整个网络的效率。其中,开放最短路径优先(openshortestpathfirst,ospf)是基于链路状态的协议,作为主用单播路由协议,ospf路由器之间要先建立邻接关系。在建立邻接关系时,会涉及以下五种报文类型。
1.hello报文:主要用于建立和维护ospf邻居关系。路由器周期性地使用组播地址224.0.0.5发送hello报文给邻居路由器。
2.dd报文(databasedescriptionpacket,dd),链路状态数据库描述信息,描述链路状态数据库中的链路状态通告(linkstateadvertisement,lsa)头部信息。相邻路由器之间相互发送dd报文,通知对方自己所拥有的lsa。dd报文这样做是为了减少路由器之间报文交互量。
3.请求报文:链路状态请求报文(linkstaterequestpacket,lsr),向邻居请求本地没有或者比本地新的lsa。
4.更新报文(linkstateupdatepacket,lsu),lsu报文主要是链路状态更新的内容,用于向对方路由器发送所需要的lsa,内容可以是一条或多条lsa。
5.确认报文(linkstateacknowledgmentpacket,lsack),lsack报文主要用于对lsu进行确认。报文的内容是待确认的lsa的头部信息。
其工作原理如下:将自治系统划分为骨干区域和非骨干区域,采用区域号进行标识。图1为自治系统区域示意图在自治系统中每一台运行ospf的路由器收集各自的接口、邻接信息形成链路状态通告,通过泛洪算法在同一个区域同步各自的链路状态,使得在同一个区域维护相同的链路状态数据库。路由器以自己为根,根据链路状态数据库,生成最短路径树,从而计算出自己到区域内部各可达网络的最佳路由。
要想使在窄带链路上运行ospf需要进行必要改进。ospf协议在邻接关系建立过程中,通过dd报文、lsr报文、lsu报文和lsack报文交互完成链路状态数据库同步。当路由节点和路由条目过多且邻居之间路由差异较大的时候,大量的lsa被封装成更新报文在具备邻接关系的路由节点之间进行报文交互,这样可能导致链路设备拥塞,而链路拥塞又引起ospf协议不能正常交互、路由不收敛等问题。因此,如何使ospf协议在不影响其他业务数据的情况下运行在窄带链路成为目前急需解决的问题。
技术实现要素:
针对上述问题,本发明提出了一种窄带链路上控制更新报文发送的方法,应用于ospf路由协议,且路由设备之间通过窄带链路设备进行互联,实现本发明的控制方法包括:
路由设备与链路设备通过自定义协议进行交互,获取链路设备的数据传输速率;
在创建ospf接口时,为该接口建立一个更新报文队列,用于缓存更新报文;
根据获取的链路设备的数据传输速率和该接口最大传输单元(maximumtransmissionunit,mtu),计算该接口下链路设备所允许的最大报文发送个数;
发送更新报文时通过链路设备允许的最大报文发送个数控制更新报文发送数量,并依据上个周期更新报文发送的成功率动态调整报文发送速率,通过对更新报文发送流量进行平滑,调节报文发送流量有效避免报文在链路设备拥塞;
一种窄带链路控制更新报文发送的设备,该设备包括协商模块、计算模块、统计模块和发送模块,其中:
协商模块,用于动态获取窄带链路设备的数据传输速率;
计算模块,用于计算链路设备所允许发送的最大报文个数;
统计模块,统计更新报文发送的成功率;
发送模块,对更新报文发送流量进行平滑,调节报文发送流量;
本发明的有效技术成果是在不影响现有组网的情况下,通过控制ospf协议的更新报文,将报文错峰发送,避免报文量瞬间达到窄带链路设备的峰值引起链路拥塞的问题,有效保证协议报文收发和业务数据正常转发。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一个简单地介绍。
图1、自治系统示意图;
图2、窄带链路组网示意图;
图3、模块关系图;
图4、处理流程图;
图5、路由设备与链路设备自定义报文格式。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,参照附图对本发明进一步详细说明。
本发明提供的方法包括:路由设备通过自定义协议获取链路设备的数据传输速率,然后根据数据传输速率和与链路设备互连的接口mtu,计算链路设备所允许的最大报文发送个数,控制ospf协议每次发送的更新报文数量,避免报文在瞬间达到链路设备的峰值从而引起链路拥塞,同时根据上个周期更新报文发送的成功率调整更新报文的发送速率将报文错行发送。采用本发明的技术在不影响路由协议功能基础上,能够增强路由协议在窄带链路的稳定性,避免链路拥塞。
下面对上述方法进行详细描述,图4为本发明实施提供的方法流程图,该方法可以包括以下步骤:
1.链路设备在接入路由设备时,主动发送“识别请求消息”。路由设备的协商模块在接收到“识别请求消息”后,路由设备从该消息中提取链路设备的ip地址、链路设备数据传输速率等信息。并发送“识别确认消息”进行应答。在相关信息获取后,后续利用周期性消息来维持设备之间的关系,实时获取链路设备数据传输速率。具体报文格式如图5所示;
2.协商模获取到链路设备的数据传输速率后,同时获取到与该链路设备互连接口mtu,将这两个信息通知给计算模块;
3.计算模块在获取到这两个信息后,计算出该接口的所允许的最大发送报文个数;
4.计算模块将计算的最大发送报文个数通知给ospf模块;
5.ospf协议运行过程中,若接口启动ospf协议则创建更新报文队列,用于对更新报文进行流量控制。在邻接建立过程中进行初始同步和增量同步发送更新报文时,从接口更新报文队列获取报文,若发送的报文个数大于该接口的最大发送报文个数,按照接口所能允许的最大报文个数发送更新报文,然后启动一个新的工作队列在下一个发送周期内继续发送剩余报文,直到发送完所有报文;否则,在该周期内将更新报文从接口上发送出去;
6.根据上个周期内报文发送的成功率,动态调整报文发送速率,目的将报文错行发送,避免瞬间报文量达到链路设备的峰值从而引起链路拥塞。具体处理是统计本接口下所有邻居的重传列表的重传个数,若重传个数大于预先设置的最大阈值,则增大报文发送时间间隔;否则,减少报文发送时间间隔;
相应的,本发明还提供了一种窄带链路控制更新报文的设备,该设备包括协商模块、计算模块、统计模块和发送模块,其中:
协商模块,用于动态获取窄带链路设备的数据传输速率;
计算模块,用于计算链路设备所允许发送的最大报文个数;
统计模块,统计更新报文发送的成功率;
发送模块,对更新报文发送流量进行平滑,调节报文发送流量。