d具有較高優(yōu)先級,因此在可能時節(jié)點101使用隧道201b和201c來傳輸數(shù)據(jù)。如果通過隧道201b的連接失敗,那么節(jié)點101隨后開始使用隧道201c和201d來傳輸數(shù)據(jù)。通過隧道201b的連接可能由于各種原因失敗,例如通信量擁擠,隧道201b不具有足夠容量、不具有網(wǎng)絡(luò)覆蓋或設(shè)備發(fā)生故障?;蛘?,如果通過隧道201b的數(shù)據(jù)傳輸?shù)男阅茱@著退化,那么節(jié)點101停止使用隧道201b且開始使用隧道201c和201d來傳輸數(shù)據(jù)。
[0083]在另一實例中,隧道201a和201b屬于第二隧道組。節(jié)點101將最高優(yōu)先級指派給隧道201a且將最低優(yōu)先級指派給隧道201b。例如,節(jié)點101配置有預(yù)定義的配置以將最高優(yōu)先級指派給第二隧道組中的隧道201a,因為隧道201a通過衛(wèi)星網(wǎng)絡(luò)150建立。在另一實例中,節(jié)點101將最高優(yōu)先級指派給第二隧道組中的隧道201a,因為隧道201a具有最高吞吐量和最大覆蓋區(qū)域。如果通過隧道201a的連接失敗,那么節(jié)點101開始使用隧道201b來接收數(shù)據(jù)。通過隧道201a的連接可能由于各種原因失敗。例如,當衛(wèi)星調(diào)制解調(diào)器161在室內(nèi)移動時,其可以不直接指向衛(wèi)星網(wǎng)絡(luò)150且因此通過隧道201a的連接可能失敗。在另一實例中,用于通過隧道201a接收數(shù)據(jù)的網(wǎng)絡(luò)時延可能變得非常高并且連接可能由于高網(wǎng)絡(luò)時延而失敗。
[0084]根據(jù)一個或多個性能標準,將優(yōu)先級指派給隧道組中的隧道或者優(yōu)先級可以根據(jù)預(yù)定義的配置進行指派。預(yù)定義的配置可以由節(jié)點101的管理員或用戶經(jīng)由web接口、應(yīng)用程序編程接口(API)、命令行接口或控制臺輸入。
[0085]當根據(jù)性能標準指派優(yōu)先級時,節(jié)點101確定隧道組中的每個隧道的性能。例如,處理單元301可以將最高優(yōu)先級指派給第一隧道組中的隧道201b,因為隧道201b具有最高吞吐量和最低棄包率?;蛘?,處理單元301可以將最高優(yōu)先級指派給第一隧道組中的隧道201b,因為隧道201b具有最低使用價格。
[0086]在本發(fā)明的一個實施例中,當隧道組中的隧道的性能退化時,不將隧道從隧道組中移除,但是節(jié)點101確定不使用所述隧道。例如,當屬于第一隧道組的隧道(例如,隧道201b)的性能退化且變?yōu)椴环弦髸r,節(jié)點101停止使用隧道201b來傳輸數(shù)據(jù),直到隧道201b的性能變?yōu)橥瑯恿钊藵M意為止。隧道201b被標記為閑置的且節(jié)點101使用第一隧道組中的其它隧道(例如,隧道201c)來傳輸數(shù)據(jù)。節(jié)點101可以基于一個或多個性能標準確定隧道201b的性能已降低。例如,當通過隧道201b的數(shù)據(jù)傳輸?shù)臈壈室扬@著增加時,節(jié)點101停止使用隧道201b來傳輸數(shù)據(jù)。
[0087]在另一實例中,當屬于第二隧道組的隧道(例如,隧道201a)的性能退化且變?yōu)椴环弦髸r,節(jié)點101停止使用隧道201a來接收數(shù)據(jù),直到隧道201a的性能再次變?yōu)榱钊藵M意為止。隧道201a被標記為閑置的且節(jié)點101使用第二隧道組中的其它隧道(例如,隧道201d)來接收數(shù)據(jù)。節(jié)點101可以基于一個或多個性能標準確定隧道201a的性能已退化。例如,當隧道201a的時延顯著增加時,節(jié)點101停止使用隧道201a來接收數(shù)據(jù)。
[0088]不從隧道組移除性能已退化的隧道的益處包含節(jié)點101可在隧道的性能變?yōu)榱钊藵M意后再次開始使用所述隧道。處理單元301不需要再次確定所述隧道是否應(yīng)該屬于隧道組。
[0089]在一個實施例中,隧道可以屬于第一隧道組和第二隧道組兩者。例如,隧道201b屬于第一隧道組和第二隧道組兩者。隧道201b隨后由節(jié)點101用于分別將數(shù)據(jù)傳輸?shù)焦?jié)點102以及從節(jié)點102接收數(shù)據(jù)。第一隧道組包括隧道201b和201c,并且第二隧道組包括隧道201a和201b。節(jié)點101使用隧道201b和201c來傳輸數(shù)據(jù),以及隧道201a和201b來接收數(shù)據(jù)。換句話說,節(jié)點101僅使用隧道201c來傳輸數(shù)據(jù),僅使用隧道201a來接收數(shù)據(jù)以及使用隧道201b來傳輸和接收數(shù)據(jù)。處理單元301可以選擇隧道201b屬于第一隧道組和第二隧道組兩者,因為隧道201b具有非常好的性能,例如,高吞吐量、低棄包率、低時延、低使用價格或基于其它性能標準的良好性能。
[°09°]當節(jié)點101的處理單元301或節(jié)點102的處理單元401確定隧道離開或加入隧道組時,新的隧道管理消息由處理單元發(fā)送以告知另一處理單元是否應(yīng)該使用所述隧道以及如何使用所述隧道。
[0091]在一個變型例中,當隧道管理消息指示第一隧道組僅由節(jié)點101用于將數(shù)據(jù)傳輸?shù)焦?jié)點102時,不允許第一隧道組用于從節(jié)點101接收數(shù)據(jù)至節(jié)點102,即使已符合對應(yīng)條件。類似地,當隧道管理消息指示第二隧道組僅由節(jié)點101用于從節(jié)點102接收數(shù)據(jù)時,不允許第二隧道組用于將數(shù)據(jù)傳輸?shù)焦?jié)點102,即使已符合對應(yīng)條件?;蛘撸滤淼拦芾硐⒂晒?jié)點101或節(jié)點102發(fā)送,以更新第一隧道組和/或第二隧道組可以用于雙向通信?;蛘撸滤淼拦芾硐⒂晒?jié)點101或節(jié)點102發(fā)送,以更新第一隧道組和/或第二隧道組不再用于雙向通信且可以僅用于分別從節(jié)點101傳輸數(shù)據(jù)和/或通過節(jié)點101接收數(shù)據(jù)。
[0092]新的隧道管理消息的使用允許在已建立隧道之后改變第一隧道組和第二隧道組如何用于傳輸和接收數(shù)據(jù)的靈活性。在一個變型例中,新隧道管理消息用于管理一個或多個特定隧道,而不是隧道組。這允許隧道的更精細管理。
[0093]在一個變型例中,不需要在第一隧道組已用于將數(shù)據(jù)從節(jié)點102傳輸?shù)焦?jié)點101時傳輸隧道管理消息。這是因為以下事實:當數(shù)據(jù)已從第一隧道組到達節(jié)點101時,節(jié)點101能夠確定節(jié)點102已確定使用第一隧道組來傳輸數(shù)據(jù),而不需要隧道管理消息的協(xié)助。類似地,不需要在第二隧道組已用于將數(shù)據(jù)從節(jié)點101傳輸?shù)焦?jié)點102時傳輸隧道管理消息。
[0094]在一個變型例中,在節(jié)點101不再能夠或不確定通過第二隧道組或第二隧道組的一個隧道接收數(shù)據(jù)的情況下,例如,在處于覆蓋范圍之外的情況下,節(jié)點101將通過使用隧道管理消息告知節(jié)點102不通過第二隧道組或第二隧道組的一個隧道進一步傳輸數(shù)據(jù)。類似地,在節(jié)點102不再能夠或不確定通過第一隧道組或第一隧道組的一個隧道接收數(shù)據(jù)的情況下,例如,在重丟包率的情況下,節(jié)點102將通過使用隧道管理消息告知節(jié)點101不通過第一隧道組或第一隧道組的一個隧道進一步傳輸數(shù)據(jù)。
[0095]MN接口選擇
[0096]圖6A和圖6B是分別說明節(jié)點101將數(shù)據(jù)包傳輸?shù)焦?jié)點102以及從節(jié)點102接收數(shù)據(jù)包的本發(fā)明的一個實施例的兩個流程圖。
[0097]參考圖1,在步驟601中,節(jié)點101首先選擇節(jié)點101的第一個或多個WAN接口,例如,WAN接口 121a、121b 121c和121d。當在步驟602中,節(jié)點101從主機或連接到其LAN接口 122a和122b中的一個的節(jié)點接收數(shù)據(jù)包時,在步驟603中,所述節(jié)點將所述數(shù)據(jù)包封裝成一個或多個封裝包。本領(lǐng)域的普通技術(shù)人員將了解,封裝數(shù)據(jù)包的步驟允許數(shù)據(jù)包通過隧道發(fā)送。在一個變型例中,步驟601和步驟602可以調(diào)換,使得在已接收到數(shù)據(jù)包之后執(zhí)行WAN接口的選擇。所選擇的節(jié)點1I的第一個或多個WAN接口主要用于將數(shù)據(jù)包從節(jié)點1I傳輸?shù)焦?jié)點
102。在一個變型例中,節(jié)點102不通過節(jié)點101的第一個或多個WAN接口將數(shù)據(jù)包傳輸?shù)焦?jié)點1I。在一個變型例中,節(jié)點102通過節(jié)點1I的第一個或多個WAN接口將少量包傳輸?shù)焦?jié)點101,并且所述包用于管理目標,例如,連接到第一個或多個WAN接口的連接的狀態(tài)信息。
[0098]隨后在步驟604中,節(jié)點101通過在步驟601中選擇的第一個或多個WAN接口傳輸一個或多個封裝包。所述第一個或多個WAN接口可以連接到有線或無線網(wǎng)絡(luò)。
[0099]節(jié)點101還可以選擇主要用于從節(jié)點102接收數(shù)據(jù)包的第二個或多個WAN接口。來自節(jié)點102的數(shù)據(jù)包可以是封裝包。在一個變型例中,節(jié)點102僅通過節(jié)點101的第二個或多個WAN接口將數(shù)據(jù)包傳輸?shù)焦?jié)點1I,使得節(jié)點1I僅通過節(jié)點1I的第二個或多個WAN接口從節(jié)點102接收數(shù)據(jù)包。在一個變型例中,節(jié)點102通過節(jié)點1I的WAN接口(的確不屬于節(jié)點
1I的第二個或多個WAN接口)將少量包傳輸?shù)焦?jié)點101;所述包用于管理目標,例如,傳輸健康檢查包、連接到一個或多個WAN接口的連接的狀態(tài)信息。因此,節(jié)點1I僅通過節(jié)點1I的WAN接口(不屬于節(jié)點101的第二個或多個WAN接口)從節(jié)點102接收少量包。
[0100]在一個變型例中,節(jié)點101通過使用WAN接口管理消息發(fā)送第二個或多個WAN接口的節(jié)點102信息。在此情況下,所述信息包含節(jié)點101的WAN接口的標識,所述WAN接口對用于將數(shù)據(jù)包傳輸?shù)焦?jié)點101的節(jié)點102而言是優(yōu)選的。因此,節(jié)點102可以將封裝包的目標地址設(shè)定為節(jié)點101的優(yōu)選WAN接口的地址。在一個變型例中,所述信息用作節(jié)點102的指令。在一個變型例中,節(jié)點102還單獨確定節(jié)點101的哪些WAN接口應(yīng)該用于從節(jié)點102接收數(shù)據(jù)包至節(jié)點101。
[0101]WAN接口管理消息的使用包含:告知節(jié)點102如何使用節(jié)點101的WAN接口;告知節(jié)點102何時通過節(jié)點101的特定WAN接口傳輸數(shù)據(jù)包。在一個變型例中,節(jié)點101從節(jié)點102接收WAN接口管理消息,用于管理一個或多個WAN接口。因此,WAN接口管理消息的使用還包含:告知節(jié)點101如何使用WAN接口 ;告知節(jié)點101何時通過特定WAN接口傳輸數(shù)據(jù)包。
[0102]如圖6B所示,當在步驟611中,節(jié)點101通過WAN接口 121a、121b、121c和121d中的一個從節(jié)點102接收封裝包時,在步驟612中,節(jié)點101對封裝包進行解封裝以檢索數(shù)據(jù)包。隨后在步驟613中,節(jié)點101根據(jù)數(shù)據(jù)包的目標地址通過其LAN接口 122a和122b中的一個將數(shù)據(jù)包傳輸?shù)街鳈C或節(jié)點。
[0103]優(yōu)選的是,在步驟601處,節(jié)點101選擇連接到具有小于150毫秒的網(wǎng)絡(luò)時延的網(wǎng)絡(luò)的第一個或多個WAN接口。這允許封裝包快速到達節(jié)點102。因此,優(yōu)選地不選擇連接到衛(wèi)星網(wǎng)絡(luò)的WAN接口,因為衛(wèi)星往返時間通常大于150毫秒。
[0104]在一個變型例中,分別在步驟603和步驟612中,由節(jié)點101執(zhí)行的封裝和解封裝具體地允許數(shù)據(jù)通過一個或多個隧道傳輸?shù)焦?jié)點102以及從節(jié)點102接收到。一個或多個隧道可以經(jīng)由一對WAN接口建立,例如,WAN接口 121b和WAN接口 131b。
[0105]在一個優(yōu)選實施例中,節(jié)點102通過衛(wèi)星網(wǎng)絡(luò)(例如,通過隧道201a)將封裝包傳輸?shù)焦?jié)點101。盡管衛(wèi)星往返時間可以大于其它網(wǎng)絡(luò)的往返時間,但是由衛(wèi)星網(wǎng)絡(luò)提供的帶寬可以大于其它網(wǎng)絡(luò)的帶寬。此外,通過衛(wèi)星網(wǎng)絡(luò)將數(shù)據(jù)包和/或封裝包傳輸?shù)焦?jié)點101對節(jié)點102的管理員而言可能更經(jīng)濟。
[0106]在一個變型例中,節(jié)點102的處理單元401確定節(jié)點101的哪些WAN接口用于將封裝包從節(jié)點101傳輸?shù)焦?jié)點102。例如,節(jié)點102可以選擇節(jié)點101的WAN接口 121b。當節(jié)點102已做出WAN接口選擇決策時,其將關(guān)于所述決策的WAN接口管理消息發(fā)送到節(jié)點101。在不具有WAN接口管理消息的情況下,節(jié)點101將不能夠識別使用WAN接口 121b將封裝包傳輸?shù)焦?jié)點102的需要。
[0107]根據(jù)本發(fā)明的一個實施例,在步驟601中的WAN接口選擇決策和用于節(jié)點102確定哪個WAN接口用于傳輸和接收封裝包的WAN接口選擇決策,可以根據(jù)以下項確定:連接到WAN接口的網(wǎng)絡(luò)的網(wǎng)絡(luò)性能、條件、網(wǎng)絡(luò)覆蓋范圍、地理位置、網(wǎng)絡(luò)使用價格等。
[0108]圖6C是說明根據(jù)本發(fā)明的各種實施例的流程圖。節(jié)點101分別將數(shù)據(jù)包傳輸?shù)焦?jié)點102以及從節(jié)點102接收數(shù)據(jù)包。節(jié)點101和節(jié)點102—起執(zhí)行為連接到節(jié)點101的LAN接口122a和122b中的一個的主機或節(jié)點的代理服務(wù)器/網(wǎng)關(guān)。本領(lǐng)域的技術(shù)人員將了解,更新源地址、更新目標地址以及恢復原始目標地址的技術(shù)描述如下,一般來說由代理服務(wù)器或網(wǎng)關(guān)部署。
[0109]類似于圖6A中所說明的流程圖,在步驟631中,節(jié)點101首先選擇一個或多個WAN接口,例如,WAN接口 121a、121b 121c和121d。當在步驟632中,節(jié)點101從連接到其LAN接口122a和122b中的一個的主機或節(jié)點接收數(shù)據(jù)包時,在步驟633中,節(jié)點101將接收到的數(shù)據(jù)包的目標地址修改成節(jié)點102的WAN接口中的一個的地址。記錄數(shù)據(jù)包的原始目標地址并且在傳輸數(shù)據(jù)包之前,將所述原始目標地址發(fā)送到節(jié)點102。原始目標地址用于節(jié)點102以恢復目標地址。
[0110]隨后節(jié)點101通過在步驟634中選擇的一個或多個WAN接口傳輸具有修改的目標地址的數(shù)據(jù)包。當節(jié)點102接收包時,節(jié)點102將目標地址恢復成原始目標地址且將數(shù)據(jù)包的源地址修改成節(jié)點102的一個WAN接口的地址,并且隨后將數(shù)據(jù)包傳輸?shù)皆寄繕说刂??;謴驮寄繕说刂返哪繕嗽试S將數(shù)據(jù)包傳輸?shù)皆寄繕说刂?。將?shù)據(jù)包的源地址更新為節(jié)點102的一個WAN接口的地址的目標是允許原始目標地址的主機或節(jié)點能夠使用節(jié)點102的一個WAN接口的地址,而不是使用節(jié)點1I的一個WAN接口對所傳輸?shù)臄?shù)據(jù)包作出響應(yīng)。當節(jié)點
102接收所述響應(yīng)時,其通過修改IP包的目標地址而將所述響應(yīng)轉(zhuǎn)發(fā)到節(jié)點101的一個WAN接口,所述IP包保持對節(jié)點1I的WAN接口的地址的響應(yīng)。當節(jié)點1I接收保持所述響應(yīng)的IP包時,節(jié)點101將IP包的源地址修改成原始目標地址的地址。
[0111]在一個變型例中,由節(jié)點1I選擇的用于將數(shù)據(jù)包傳輸?shù)焦?jié)點102的節(jié)點1I的WAN接口以及由節(jié)點102選擇的用于從節(jié)點102接收數(shù)據(jù)包的節(jié)點1I的WAN接口可以相同或不同。例如,在步驟601中,節(jié)點101選擇WAN接口 121b來傳輸封裝包,并且節(jié)點102選擇WAN接口121 a來接收對封裝在封裝包中的數(shù)據(jù)包的封裝響應(yīng)。類似地,例如在步驟631中,節(jié)點1I選擇WAN接口 121c來傳輸數(shù)據(jù)包并且節(jié)點102選擇WAN接口 131c來將對數(shù)據(jù)包的響應(yīng)傳輸?shù)焦?jié)點 1010
[0112]圖7說明根據(jù)本發(fā)明的各種實施例的網(wǎng)絡(luò)配置。
[0113]節(jié)點702可以執(zhí)行為用于節(jié)點101的網(wǎng)關(guān)、VPN網(wǎng)關(guān)或代理服務(wù)器,使得例如節(jié)點101、主機103b、互連網(wǎng)絡(luò)117中的主機和節(jié)點以及主機103a可以通過節(jié)點702傳輸和接收數(shù)據(jù)。
[0114]根據(jù)本發(fā)明的一個實施例,節(jié)點101經(jīng)配置以使用第一個或多個WAN接口來將包發(fā)送到節(jié)點702以及使用第二個或多個WAN接口來從節(jié)點702接收包。例如,節(jié)點1I使用WAN接口 121b和121c來將數(shù)據(jù)包發(fā)送到