一种多运营商接入情况下基于策略的多WAN口路由器的选路方法与流程

文档序号:11878462阅读:901来源:国知局
一种多运营商接入情况下基于策略的多WAN口路由器的选路方法与流程

本发明涉及网络通信技术领域,具体地讲,是涉及一种多运营商接入情况下基于策略的多WAN口路由器的选路方法。



背景技术:

随着网络普及和运用越来越广泛,用户的网络使用的规模越来越大,对带宽的要求也越来越高。随着我国网络建设的发展,入门低带宽的宽带接入日益普及,成本低廉。但商用高带宽接入的成本依然高昂。因而,使用多个低带宽的同时接入,来改善整网带宽,成为了中小企业广泛采用的另一种性价比极高的替代解决方案。

在这种需求的推动下,标准单Wan口的宽带路由器设备已经无法满足,多Wan口宽带路由器设备应运而生。

和单Wan口设备相比,由于多个同权WAN口的存在,给设备在转发数据报文时,对指定出口有了可选择性。只有合理的选择出口并正确的建立数据连接,能够尽可能的提升多个WAN口带来的整网效率提升。

因此,多Wan口路由设备在出口选路上需要一套完整成熟的机制。这不仅是多Wan口路由设备转发性能,访问正确性的保证,更是衡量多Wan口路由设备品质的重要指标。

如果在出口的选择上没有有效的策略,会造成很多网络应用出现错误。

比如:根据TCP/IP协议特性,多个数据报文之间以连接会话为单位划分。同一个连接会话中,IP地址、端口等基本特征必须相同。路由设备的转发都是以网络连接为基本单位的,只在新建连接时会有指定出口的选择动作。同一连接内的数据报文必须遵从相同的选路结果进行转发,不能用不同的WAN口进行传输。

现在很多网络应用,由于安全性的考虑,会采用多重加密认证。在认证过程中,可能存在多次网络跳转,会有多次连接会话建立和关闭动作。如果在这多个连接中,采用了不同的WAN口地址作为出口,就可能会产生认证失败的情况。用户的直接体验就是网站无法访问或连接掉线。

采用多个Wan口接入的用户,有很大几率是同时使用多个不同宽带运营商的服务。由于我国的特殊原因,各运营商之间的互联互通问题仍旧凸显。从早期的“北网通、南电信”发展到网通、联通合并;再随着4G时代的来临,移动整合铁通后逐渐发展为以电信、联通、移动三大接入为首,教育网以及各地广电网等二级运营商并存的局面。从正确的运营商接入,对指定的地址进行网络访问,是多WAN口路由设备的基本规则。

为应对不同运营商并存的现状,各大门户网站以及有一定规模的内容服务商,都积极准备了多个不同归属的网络地址,以供不同从不同运营商接入的用户能够有良好的体验。在这种情况下,多运营商同时接入时,DNS解析也会存在运营商的选择问题。不同的运营商都有着自己的DNS服务器,对同一个域名的解析请求,会优先响应符合自己归属的网络地址。因此,多WAN口路由设备,在DNS解析请求时候的选路策略,必须与后续的数据访问连接的选路有着相关性。否则会造成通过一个运营商DNS服务器解析回来的属于该运营商的网络地址,在数据访问的时候,却使用了另一个运营商的接入进行。这样很大几率会由于互联互通的瓶颈,造成网络访问的卡顿,无法达到更好的网络体验。



技术实现要素:

针对上述现有技术的不足,本发明提供一种多运营商接入情况下基于策略的多WAN口路由器的选路方法。

为了实现上述目的,本发明采用的技术方案如下:

一种多运营商接入情况下基于策略的多WAN口路由器的选路方法,包括如下步骤:

(S1)所述路由器接收内网用户发送的DNS解析请求,根据预设的策略路由规则为该DNS解析请求选定一WANx口作为出口,并发出该DNS解析请求,其中x为WAN口设定的编号;

(S2)所述路由器收到DNS服务器返回的DNS响应报文后,解析报文获得域名对应的至少一个IP地址,并按IP地址与所述选定的WANx口对应的形式保存于配置在所述路由器内的选路缓存模块中,再将所述IP地址转发至发送该DNS解析请求的用户设备;

(S3)所述路由器接收所述用户设备向所述任一IP地址发送的数据包,根据预设的策略路由规则判断是否有指定的出口,若有且只有一个指定的出口,则选择该WANx口作为数据包出口,若有两个以上指定的出口,则跳转到步骤(S5),若没有指定的出口,则执行步骤(S4);

(S4)根据路由器内配置的ISP策略为数据包选择出口:

(S4.1)根据所述数据包中携带的该用户设备选定的目的IP地址判断其是否归属于已知运营商ISP,若是,则确定该IP地址的归属并执行步骤(S4.2),否则跳转到步骤(S5);

(S4.2)判断所述路由器接入的多运营商中是否有该IP地址归属的运营商ISP,若有,则选择该运营商ISP对应的WANx口并执行步骤(S4.3),否则跳转到步骤(S5);

(S4.3)判断该运营商ISP对应的WANx口是否唯一,若是,则选择该WANx口作为数据包出口,否则执行步骤(S5);

(S5)查询所述选路缓存模块中是否存在所述数据包中携带的该用户设备选定的目的IP地址与选定WANx口的对应关系,若存在,则选择该目的IP地址对应的WANx口作为数据包出口,若不存在,则执行步骤(S6);

(S6)根据路由器内配置的负载规则选择数据包出口,若负载不均衡,则选择负载低的WANx口作为数据包出口,若负载均衡,则随机选择一WANx口作为数据包出口。

其中具体地,所述预设的策略路由规则包括缺省策略和由用户手动配置的手动策略,在根据预设的策略路由规则为DNS解析请求或数据包选择出口时,优先判断是否存在所述手动策略,若存在,则选择手动策略指定的WANx口作为出口,若不存在,则根据缺省策略选择出口。

进一步地,所述步骤(S1)中,当所述手动策略指定的WANx口有两个以上时,根据所述路由器内配置的负载规则选定所述DNS解析请求的指定出口,若负载不均衡,则在这些指定的WANx口中选择负载低的一WANx口作为所述DNS解析请求的指定出口,若负载均衡,则在这些指定的WANx口中随机选择一WANx口作为所述DNS解析请求的指定出口;

所述步骤(S3)中,当所述手动策略指定的WANx口有两个以上时,则跳转到步骤(S5)。

进一步地,所述缺省策略为负载均衡优先策略、指定运营商ISP优先策略和指定WAN口优先策略中任一种;

所述步骤(S1)中,当所述缺省策略为负载均衡优先策略时,根据所述路由器内配置的负载规则选定所述DNS解析请求的出口,若负载不均衡,则选择负载低的一WANx口作为所述DNS解析请求的出口,若负载均衡,则随机选择一WANx口作为所述DNS解析请求的出口;

当所述缺省策略为指定运营商ISP优先策略或指定WAN口优先策略时,先判断所述指定的运营商ISP对应的WANx口或所述指定的WAN口是否唯一,若是,则将该唯一的WANx口作为所述DNS解析请求的指定出口,否则根据所述路由器内配置的负载规则选定所述DNS解析请求的出口;

所述步骤(S3)中,当所述缺省策略为指定WAN口优先策略时,先判断所述指定的WAN口是否唯一,若是选择该WANx口作为数据包出口,否则跳转到步骤(S5);

当所述缺省策略为负载均衡优先策略或指定运营商ISP优先策略时,没有指定的出口,执行步骤(S4)。

更具体地,所述路由器内配置的负载规则中负载均衡的判断方法:

根据每个WANx口接入的运营商ISP的线路带宽,预先配置每个WANx口的基准流量比例,实时检测每个WANx口的流量,计算并对比所涉及的WANx口之间的当前实时流量比例与所配置的基准流量比例,当其比例一致时为负载均衡状态,当其比例不一致时当前实时流量比例最小的WANx口为负载低的出口。

其中,所述负载均衡状态时的比例一致,允许各WANx口的当前实时流量比例在相对于所配置的基准流量比例的占比的80%~120%范围内浮动。

为了提高选路效率,所述步骤(S2)中,当解析DNS响应报文获得的IP地址在选路缓存模块中存在时,则更新选路缓存模块中IP地址对应的WANx口为最新确定的WANx口,并刷新该条记录表项的保存时间。

与现有技术相比,本发明具有以下有益效果:

(1)本发明通过选路缓存模块的设置,提高了并发访问同一服务的处理效率,可使得选路查询直接选择出口,避免了路由器大量进行重复操作而消耗性能,同时通过ISP策略的配置,有效地解决了国内不同运营商线路间相互访问会出现域名解析失败、响应长等缺点,真正做到访问那个运营商的服务,就从那个运营商线路出口发送,并且本发明针对性强,应用性好,网络使用灵活,负载更加人性化,具有广泛的应用前景,适合推广应用。

(2)本发明有效地解决了一内网接入多条运营商线路的问题,尤其是这多条线路不太相同时,本发明通过ISP策略从根源上做到按线路选路,解决互访瓶颈,保证访问线路选择的确定无误。

附图说明

图1为本发明中DNS解析请求的选路流程示意图。

图2为本发明中数据包的选路流程示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。

实施例

如图1至图2所示,该多运营商接入情况下基于策略的多WAN口路由器的选路方法,包括如下步骤:

(S1)所述路由器接收内网用户发送的DNS解析请求,根据预设的策略路由规则为该DNS解析请求选定一WANx口作为出口,并发出该DNS解析请求,其中x为WAN口设定的编号。

其中具体地,所述预设的策略路由规则包括缺省策略和由用户手动配置的手动策略,在根据预设的策略路由规则为DNS解析请求或数据包选择出口时,优先判断是否存在所述手动策略,若存在,则选择手动策略指定的WANx口作为出口,若不存在,则根据缺省策略选择出口。

所述步骤(S1)中,当所述手动策略指定的WANx口有两个以上时,根据所述路由器内配置的负载规则选定所述DNS解析请求的指定出口,若负载不均衡,则在这些指定的WANx口中选择负载低的一WANx口作为所述DNS解析请求的指定出口,若负载均衡,则在这些指定的WANx口中随机选择一WANx口作为所述DNS解析请求的指定出口。

所述缺省策略为负载均衡优先策略、指定运营商ISP优先策略和指定WAN口优先策略中任一种;

当所述缺省策略为负载均衡优先策略时,根据所述路由器内配置的负载规则选定所述DNS解析请求的出口,若负载不均衡,则选择负载低的一WANx口作为所述DNS解析请求的出口,若负载均衡,则随机选择一WANx口作为所述DNS解析请求的出口;

当所述缺省策略为指定运营商ISP优先策略或指定WAN口优先策略时,先判断所述指定的运营商ISP对应的WANx口或所述指定的WAN口是否唯一,若是,则将该唯一的WANx口作为所述DNS解析请求的指定出口,否则根据所述路由器内配置的负载规则选定所述DNS解析请求的出口。

(S2)所述路由器收到DNS服务器返回的DNS响应报文后,解析报文获得域名对应的至少一个IP地址,并按IP地址与所述选定的WANx口对应的形式保存于配置在所述路由器内的选路缓存模块中,再将所述IP地址转发至发送该DNS解析请求的用户设备。

为了提高选路效率,所述步骤(S2)中,当解析DNS响应报文获得的IP地址在选路缓存模块中存在时,则更新选路缓存模块中IP地址对应的WANx口为最新确定的WANx口,并刷新该条记录表项的保存时间。

(S3)所述路由器接收所述用户设备向所述任一IP地址发送的数据包,根据预设的策略路由规则判断是否有指定的出口,若有且只有一个指定的出口,则选择该WANx口作为数据包出口,若有两个以上指定的出口,则跳转到步骤(S5),若没有指定的出口,则执行步骤(S4);具体如下:

所述步骤(S3)中,当所述手动策略指定的WANx口有两个以上时,则跳转到步骤(S5);

当所述缺省策略为指定WAN口优先策略时,先判断所述指定的WAN口是否唯一,若是选择该WANx口作为数据包出口,否则跳转到步骤(S5);

当所述缺省策略为负载均衡优先策略或指定运营商ISP优先策略时,没有指定的出口,执行步骤(S4)。

(S4)根据路由器内配置的ISP策略为数据包选择出口:

(S4.1)根据所述数据包中携带的该用户设备选定的目的IP地址判断其是否归属于已知运营商ISP,若是,则确定该IP地址的归属并执行步骤(S4.2),否则跳转到步骤(S5);

(S4.2)判断所述路由器接入的多运营商中是否有该IP地址归属的运营商ISP,若有,则选择该运营商ISP对应的WANx口并执行步骤(S4.3),否则跳转到步骤(S5);

(S4.3)判断该运营商ISP对应的WANx口是否唯一,若是,则选择该WANx口作为数据包出口,否则执行步骤(S5);

(S5)查询所述选路缓存模块中是否存在所述数据包中携带的该用户设备选定的目的IP地址与选定WANx口的对应关系,若存在,则选择该目的IP地址对应的WANx口作为数据包出口,若不存在,则执行步骤(S6);

(S6)根据路由器内配置的负载规则选择数据包出口,若负载不均衡,则选择负载低的WANx口作为数据包出口,若负载均衡,则随机选择一WANx口作为数据包出口。

更具体地,所述路由器内配置的负载规则中负载均衡的判断方法:

根据每个WANx口接入的运营商ISP的线路带宽,预先配置每个WANx口的基准流量比例,实时检测每个WANx口的流量,计算并对比所涉及的WANx口之间的当前实时流量比例与所配置的基准流量比例,当其比例一致时为负载均衡状态,当其比例不一致时当前实时流量比例最小的WANx口为负载低的出口。

进一步地,所述负载均衡状态时的比例一致,允许各WANx口的当前实时流量比例在相对于所配置的基准流量比例的占比的80%~120%范围内浮动。

上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而作出的变化,均应属于本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1