1.一種多運營商接入情況下基于策略的多WAN口路由器的選路方法,其特征在于,包括如下步驟:
(S1)所述路由器接收內(nèi)網(wǎng)用戶發(fā)送的DNS解析請求,根據(jù)預設的策略路由規(guī)則為該DNS解析請求選定一WANx口作為出口,并發(fā)出該DNS解析請求,其中x為WAN口設定的編號;
(S2)所述路由器收到DNS服務器返回的DNS響應報文后,解析報文獲得域名對應的至少一個IP地址,并按IP地址與所述選定的WANx口對應的形式保存于配置在所述路由器內(nèi)的選路緩存模塊中,再將所述IP地址轉(zhuǎn)發(fā)至發(fā)送該DNS解析請求的用戶設備;
(S3)所述路由器接收所述用戶設備向所述任一IP地址發(fā)送的數(shù)據(jù)包,根據(jù)預設的策略路由規(guī)則判斷是否有指定的出口,若有且只有一個指定的出口,則選擇該WANx口作為數(shù)據(jù)包出口,若有兩個以上指定的出口,則跳轉(zhuǎn)到步驟(S5),若沒有指定的出口,則執(zhí)行步驟(S4);
(S4)根據(jù)路由器內(nèi)配置的ISP策略為數(shù)據(jù)包選擇出口:
(S4.1)根據(jù)所述數(shù)據(jù)包中攜帶的該用戶設備選定的目的IP地址判斷其是否歸屬于已知運營商ISP,若是,則確定該IP地址的歸屬并執(zhí)行步驟(S4.2),否則跳轉(zhuǎn)到步驟(S5);
(S4.2)判斷所述路由器接入的多運營商中是否有該IP地址歸屬的運營商ISP,若有,則選擇該運營商ISP對應的WANx口并執(zhí)行步驟(S4.3),否則跳轉(zhuǎn)到步驟(S5);
(S4.3)判斷該運營商ISP對應的WANx口是否唯一,若是,則選擇該WANx口作為數(shù)據(jù)包出口,否則執(zhí)行步驟(S5);
(S5)查詢所述選路緩存模塊中是否存在所述數(shù)據(jù)包中攜帶的該用戶設備選定的目的IP地址與選定WANx口的對應關(guān)系,若存在,則選擇該目的IP地址對應的WANx口作為數(shù)據(jù)包出口,若不存在,則執(zhí)行步驟(S6);
(S6)根據(jù)路由器內(nèi)配置的負載規(guī)則選擇數(shù)據(jù)包出口,若負載不均衡,則選擇負載低的WANx口作為數(shù)據(jù)包出口,若負載均衡,則隨機選擇一WANx口作為數(shù)據(jù)包出口。
2.根據(jù)權(quán)利要求1所述的一種多運營商接入情況下基于策略的多WAN口路由器的選路方法,其特征在于,所述預設的策略路由規(guī)則包括缺省策略和由用戶手動配置的手動策略,在根據(jù)預設的策略路由規(guī)則為DNS解析請求或數(shù)據(jù)包選擇出口時,優(yōu)先判斷是否存在所述手動策略,若存在,則選擇手動策略指定的WANx口作為出口,若不存在,則根據(jù)缺省策略選擇出口。
3.根據(jù)權(quán)利要求2所述的一種多運營商接入情況下基于策略的多WAN口路由器的選路方法,其特征在于,所述步驟(S1)中,當所述手動策略指定的WANx口有兩個以上時,根據(jù)所述路由器內(nèi)配置的負載規(guī)則選定所述DNS解析請求的指定出口,若負載不均衡,則在這些指定的WANx口中選擇負載低的一WANx口作為所述DNS解析請求的指定出口,若負載均衡,則在這些指定的WANx口中隨機選擇一WANx口作為所述DNS解析請求的指定出口;
所述步驟(S3)中,當所述手動策略指定的WANx口有兩個以上時,則跳轉(zhuǎn)到步驟(S5)。
4.根據(jù)權(quán)利要求2所述的一種多運營商接入情況下基于策略的多WAN口路由器的選路方法,其特征在于,所述缺省策略為負載均衡優(yōu)先策略、指定運營商ISP優(yōu)先策略和指定WAN口優(yōu)先策略中任一種;
所述步驟(S1)中,
當所述缺省策略為負載均衡優(yōu)先策略時,根據(jù)所述路由器內(nèi)配置的負載規(guī)則選定所述DNS解析請求的出口,若負載不均衡,則選擇負載低的一WANx口作為所述DNS解析請求的出口,若負載均衡,則隨機選擇一WANx口作為所述DNS解析請求的出口;
當所述缺省策略為指定運營商ISP優(yōu)先策略或指定WAN口優(yōu)先策略時,先判斷所述指定的運營商ISP對應的WANx口或所述指定的WAN口是否唯一,若是,則將該唯一的WANx口作為所述DNS解析請求的指定出口,否則根據(jù)所述路由器內(nèi)配置的負載規(guī)則選定所述DNS解析請求的出口;
所述步驟(S3)中,
當所述缺省策略為指定WAN口優(yōu)先策略時,先判斷所述指定的WAN口是否唯一,若是,則選擇該WANx口作為數(shù)據(jù)包出口,否則跳轉(zhuǎn)到步驟(S5);
當所述缺省策略為負載均衡優(yōu)先策略或指定運營商ISP優(yōu)先策略時,沒有指定的出口,執(zhí)行步驟(S4)。
5.根據(jù)權(quán)利要求1~4任一項所述的一種多運營商接入情況下基于策略的多WAN口路由器的選路方法,其特征在于,所述路由器內(nèi)配置的負載規(guī)則中負載均衡的判斷方法:
根據(jù)每個WANx口接入的運營商ISP的線路帶寬,預先配置每個WANx口的基準流量比例,實時檢測每個WANx口的流量,計算并對比所涉及的WANx口之間的當前實時流量比例與所配置的基準流量比例,當其比例一致時為負載均衡狀態(tài),當其比例不一致時當前實時流量比例最小的WANx口為負載低的出口。
6.根據(jù)權(quán)利要求5所述的一種多運營商接入情況下基于策略的多WAN口路由器的選路方法,其特征在于,所述負載均衡狀態(tài)時的比例一致,允許各WANx口的當前實時流量比例在相對于所配置的基準流量比例的占比的80%~120%范圍內(nèi)浮動。
7.根據(jù)權(quán)利要求1~4任一項所述的一種多運營商接入情況下基于策略的多WAN口路由器的選路方法,其特征在于,所述步驟(S2)中,當解析DNS響應報文獲得的IP地址在選路緩存模塊中存在時,則更新選路緩存模塊中IP地址對應的WANx口為最新確定的WANx口,并刷新該條記錄表項的保存時間。