一种动态选择出口路径的方法

文档序号:7953506阅读:281来源:国知局
专利名称:一种动态选择出口路径的方法
技术领域
本发明涉及数据通信领域,具体的说涉及到达某一目的网络具有多条出口路径时地路径选择方法。
背景技术
在数据通信网络中的交换节点——路由器上,一般采用报文逐跳转发的机制,路由器使用路由表来保存各目的网络的可达路径信息。当一个数据报文到达后,路由器根据数据报文的目的地址,查找路由器的路由表,找出对应的路由表项,然后将数据报文发往该路由表项描述的下一跳网络。如果一条路由项下具有多个网络出口或者多个下一条地址,即到一个目的网络存在不止一条可用路径,这种情况下,路径的选择常用以下几种处理方法
第一种是随机选择其中的一条路由,将数据报文进行转发。这种方法可能导致某条链路负载过重,形成拥塞,但另外其它可用链路非常空闲,资源浪费。
第二种是按数据报文的负载均衡,在指向目的网络的路由项下的所有出口或下一跳中,按照一定的顺序循环选择,将数据报文依次发送。这种方法可能将属于同一条流的数据报文沿多个路径上发送,在路径的延迟不一样时,很可能出现到达目的端乱序的情况。
第三种是按流的负载均衡,在指向目的网络的路由项下的所有出口或下一跳中,随即或顺序选择一个,将同一条流(源、目的地址,协议号,源、目的端口相同的五元组报文)的数据始终从此出口发送。这种方法虽然解决了按包负载均衡会产生乱序的问题,但是仍没有达到按照优化路径发送的要求,有可能让一条流始终经过一条延迟较大的路径。

发明内容
本发明的目的在于克服以上技术的缺点,在多广域口负载均衡的网络系统中,提供一种动态选择最优网络路径的方法,使得当数据报文有多条路径可达目的网络的时候,能够准确的选择延迟最小的最优的路径。
为实现上述目的,本发明提供一种动态选择出口路径的方法,用于多广域口负载均衡的网络系统中,包括如下步骤
系统根据待发送报文的目的地址,首先查找路由表,如果对应单一出接口路径,则将该报文按照路由表中对应接口转发出去;否则再查找动态出口缓存表,如果动态出口缓存表中有对应表项,则将该报文按照对应表项中的出接口转发出去,否则在所述缓存表中创建一表项记录当前目的地址,并探测延迟最小的出接口,将其存入该表项,并设置当前表项的老化时间,在老化时间内,系统按照动态出口缓存表发送所有到同一目的地址的数据报文。
进一步的,以上所述创建表项到达老化时间后开始失效,并在规定时间内等待更新。
进一步的,如果该表项没有在规定时间内得到更新,则从动态出口缓存表中删除该表项。
进一步的,以上所说的更新表项是指重新探测到达该表项中目的地址的延迟最小的出接口。
进一步的,以上所述动态出口缓存表至少包括目的地址和出接口两个字段。
进一步的说,所述探测延迟最小的出接口包括如下步骤
a.发送探测报文到所有负载均衡出接口;
b.记录最早收到匹配的回应报文的出接口;
c.确定b中记录的出接口为延迟最小出接口。
进一步的,以上步骤a所述探测报文是TCP报文或者UDP报文或者ICMP报文。
进一步的,以上步骤a所述探测报文是非TCP或者UDP或者ICMP的IP报文。
进一步的,以上步骤b中所述回应报文是指对探测报文的确认报文。
进一步的,以上步骤b包括系统丢掉从其它出接口收到的回应报文。
本发明的有益效果是,通过第一次对路由表中所有出接口路径进行延迟探测,记录返回最快的路径,在一定时间内将到同一目的地址的数据报文按照探测的最优出接口进行转发,该方法简单实用,效率高且结果准确,特别适用于多ISP接入的路由器。


图1本发明基本流程图。
图2是本发明实施方式网络示意图。
具体实施例方式
下面结合实施例,详细描述本发明的技术方案。
某企业使用路由器接入因特网,为增加带宽并备份带宽,同时选择了两个ISP作为接入服务供应商。两个服务供应商提供的接入链路分别连接在企业接入路由器的两个以太接口上,如ISPA的网络通过路由器以太口f0接入,ISP B的网络通过路由器以太口f1接入,路由器以太口f2连接企业内部网络。当企业内部某个应用需要访问外部位于ISPA网络中的地址为10.10.10.10的服务器时,数据报文从接口f2进入路由器,系统首先查找路由表,发现到目的地址10.10.10.10可以通过f0到达,也可以通过f1到达,则在动态出口缓存表中查找含有目的地址10.10.10.10的记录项,如果没有找到,则将该访问连接请求的数据报文作为探测报文;同时发向f0和f1两个接口。在路由器动态出口缓存表中添加一条记录项
目的地址10.10.10.10
出接口空白
时间当前时间
并同时记录探测报文信息源、目的地址、协议号,如果探测报文是UDP报文,还应该记录源端口和目的端口;如果探测报文是TCP报文,还记录源端口、目的端口、序列号,这些信息用来判断回应报文。由于目的地址为10.10.10.10的服务器位于ISPA的网络上,所以通过ISPA网络访问该服务器要快得多,当通过f0发送的探测报文的回应报文先到达路由器时,系统查找动态出口缓存表,查找到目的地址为10.10.10.10的记录项后,将f0接口填入出接口字段,探测过程完成。以后内部网络访问10.10.10.10的所有数据报文均由出接口f0发送。当后续系统从f1接口收到前述探测报文的回应报文的时候,系统检查动态出口缓存表,发现10.10.10.10已经有出接口,将该回应报文丢弃。
本发明根据动态出口缓存表中每一条记录的时间项来项设定是否达到老化时间,一般可以设定老化时间为30分钟,老化时间从记录创建时开始计时。当动态出口缓存表中目的地址为10.10.10.10的记录到达老化时间后,出接口失效,并启动一定时器。在规定的时间内,如果内网没有发出任何到达10.10.10.10报文,该记录会彻底删除;通过定时删除机制,可以避免路由器动态出口缓存表中出现过多的无用记录,导致内存的耗费。如果在定时器超时前,内网又发出访问10.10.10.10的数据报文,由于出接口已经失效,会再次触发探测机制,并且将该访问报文作为探测报文,再次从f0和f1发出,最快收到回应报文的接口会作为新的出接口,并重新计算老化时间。利用记录老化刷新机制,实现了出接口随网络环境改变而更新的功能。
在发出探测报文,并等待回应报文过程中,当路由器又从内网收到访问地址为10.10.10.10服务器的报文时,判断如果该报文是TCP探测报文的重传报文,仍然从多个接口发出该报文;否则,为了避免增加网络负担,不再进行报文多接口发送的动作,而是由选路程序,根据本地带宽、流量等因素选择一个接口发出,此时即是使用常规的负载均衡技术,直到收到了回应报文,更新出接口,这样发往目的地10.10.10.10的数据报文就按照动态出口缓存表中的出接口进行转发。
权利要求
1.一种动态选择出口路径的方法,其特征在于,包括以下步骤系统根据待发送报文的目的地址,首先查找路由表,如果对应单一出接口路径,则将该报文按照路由表中对应接口转发出去;否则再查找动态出口缓存表,如果动态出口缓存表中有对应表项,则将该报文按照对应表项中的出接口转发出去,否则在所述缓存表中创建一表项记录当前目的地址,并探测延迟最小的出接口,将其存入该表项,并设置当前表项的老化时间,在老化时间内,系统按照动态出口缓存表发送所有到同一目的地址的数据报文。
2.根据权利要求1所述动态选择出口路径的方法,其特征在于所述创建表项到达老化时间后开始失效,并在规定时间内等待更新。
3.根据权利要求2所述动态选择出口路径的方法,其特征在于如果该表项没有在规定时间内得到更新,则从动态出口缓存表中删除该表项。
4.根据权利要求2或3所述动态选择出口路径的方法,其特征在于所述更新表项是指重新探测到达该表项中目的地址的延迟最小的出接口。
5.根据权利要求1所述动态选择出口路径的方法,其特征在于所述动态出口缓存表至少包括目的地址和出接口两个字段。
6.根据权利要求1所述的动态选择出口路径的方法,其特征在于,所述探测延迟最小的出接口包括如下步骤
a.发送探测报文到所有负载均衡出接口;
b.记录最早收到匹配的回应报文的出接口;
c.确定b中记录的出接口为延迟最小出接口。
7.根据权利要求6所述动态选择出口路径的方法,其特征在于所述步骤a中,所述探测报文是TCP报文或者UDP报文或者ICMP报文。
8.根据权利要求6所述动态选择出口路径的方法,其特征在于所述步骤a中,所述探测报文是非TCP或者UDP或者ICMP的IP报文。
9.根据权利要求6所述的动态选择出口路径的方法,其特征在于所述步骤b中,所述回应报文是指对探测报文的确认报文。
10.根据权利要求6所述的动态选择出口路径的方法,其特征在于所述步骤b中,包括以下步骤,系统丢掉从其它出接口收到的回应报文。
全文摘要
一种动态选择出口路径的方法,涉及数据通信领域。用于多广域口负载均衡的网络系统中,包括如下步骤系统根据待发送报文的目的地址,首先查找路由表,如果对应多个出接口路径,则再查找动态出口缓存表中,按照动态出口缓存表中对应的表项转发数据报文,如无对应表项则探测延迟最小的出接口,将其存入动态出口缓存表,并设置当前表项的生存时间,在生存时间失效之前,系统按照动态出口缓存表发送所有到同一目的地址的数据报文。本发明通过第一次对路由表中所有出接口路径进行延迟探测,在一定时间内将到同一目的地址的数据报文按照探测的最优出接口进行转发,该方法简单实用,效率高且结果准确。
文档编号H04L29/06GK1829197SQ20061002071
公开日2006年9月6日 申请日期2006年4月14日 优先权日2006年4月14日
发明者黄居贵, 徐放, 付盛, 刘奇志, 舒弋, 杜勇 申请人:迈普(四川)通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1