背景技術:
1、計算機“網絡”是可以通過交換數據和通過共享資源而彼此通信的經互連或互鏈接的計算設備集。網絡包括任何數目的端點。這些端點經由任何數目的交換機彼此連接。一個端點(例如,“源端點”)可以以“分組”的形式向另一端點(例如,“目的地端點”)發(fā)送信息。
2、可以是多個分組共享公共特性的情況。作為這些分組共享這些公共特性的結果,這些分組可能最終會沿著相同路徑通過網絡。術語“路徑”指代被用于通過網絡來路由分組的一組一個或多個特定交換機和鏈路(例如,多個鏈路可以連接交換機對)。當具有類似特性的分組集最終遵循相同路徑時,該分組集可以被稱為“流”。屬于相同tcp/ip會話的分組被包括在流中,并且通常(盡管不總是)是這些分組遵循通過網絡的相同路徑的情況。
3、有時,網絡中的流彼此沖突。例如,第一流可以沿著包括交換機“c”的第一路徑。第二流可以沿著也包括交換機“c”的第二路徑。如果交換機“c”的帶寬容量不夠高,則交換機“c”可能變得擁塞。附加地或備選地,擁塞可以作為通過網絡的次優(yōu)路徑選擇的結果而發(fā)生。鏈路過量訂購也可能導致擁塞問題。不論原因如何,擁塞可能對網絡產生有害影響,諸如分組時延或甚至分組丟棄。因為流通常彼此沖突(例如,通過過量訂購共同使用的交換機或鏈路),所以期望實現能夠幫助減少網絡中的擁塞和沖突的系統。
4、本文所要求保護的主題不限于解決任何缺點或僅在諸如上述環(huán)境的環(huán)境中操作的實施例。而是,提供該背景僅用于例示可以實踐本文中所描述的一些實施例的一個示例性技術領域。
技術實現思路
1、本文所公開的實施例涉及用于觸發(fā)流遵循新路徑來通過網絡的系統、網絡、設備和方法。網絡被配置為提供從一個端點到另一端點的多個路徑。流包括具有類似特性的多個網絡分組。結果,網絡中的交換機通過相同路徑來路由這些網絡分組。通過觸發(fā)流遵循新路徑,嘗試減少網絡中的擁塞。如本文所使用的,對“交換機”的引用還可以包括對該交換機的輸出端口和/或鏈路的引用。因此,術語“交換機”應被廣義地解釋為包括交換機本身,并且附加地或備選地包括交換機的輸出端口以及可能甚至包括到交換機或來自交換機的鏈路。
2、一些實施例標識穿過網絡的多個流。實施例分析網絡反饋數據,以確定流彼此沖突并且使網絡的一個或多個鏈路擁塞。實施例選擇要被重映射的特定流。因此,特定流將從遵循第一路徑來通過網絡轉換為遵循第二路徑來通過網絡。在一些實施例中,選擇特定流的過程基于重映射概率函數,重映射概率函數基于針對流的相對擁塞水平來確定要重映射哪個流。
3、針對特定流的重映射過程包括,針對特定流中的每個新網絡分組,執(zhí)行多個操作。一個操作包括選擇每個新網絡分組的報頭內的字段。另一操作包括修改所選字段中的值。在修改值之后,另一操作包括對報頭中的字段值(包括上述經修改的值)執(zhí)行哈希,以生成針對每個新網絡分組的哈希值。又一操作包括將哈希值索引到針對每個新網絡分組的可用路徑中,其中可用路徑是第二路徑。實施例然后使特定流的新網絡分組遵循經重映射的第二路徑來穿過網絡。
4、提供本
技術實現要素:
來以簡化形式介紹將在以下具體實施方式中進一步描述的一些概念。本發(fā)明內容不旨在標識所要求保護的主題的關鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
5、附加的特征和優(yōu)點將在下面的描述中闡述,并且部分地將從描述中顯而易見,或者可以通過實踐本文的教導而獲知。本發(fā)明的特征和優(yōu)點可以通過所附權利要求中特別指出的部件和組合來實現和獲得。本發(fā)明的特征將從以下描述和所附權利要求中變得更完全地明顯或者可以通過如下文所闡述的本發(fā)明的實踐來獲知。
1.一種用于觸發(fā)流遵循新路徑來通過網絡的方法,其中所述流包括具有類似特性的多個網絡分組,使得所述網絡中的交換機通過相同路徑來路由所述多個網絡分組,其中,通過觸發(fā)所述流遵循所述新路徑,所述網絡中的擁塞被嘗試減少,所述方法包括:
2.根據權利要求1所述的方法,其中,所述網絡反饋數據包括以下一項或多項:針對網絡分組的往返時延、網絡分組上的顯式擁塞通知(ecn)標記、有效吞吐量度量、緩沖狀態(tài)、或擁塞通知分組(cnp)度量。
3.根據權利要求1所述的方法,其中,選擇所述特定流基于重映射概率函數,所述重映射概率函數基于針對所述多個流的相對擁塞水平來確定要重映射所述多個流中的哪個流。
4.根據權利要求1所述的方法,其中,所述方法是可重復的,直到收斂閾值被滿足為止。
5.根據權利要求1所述的方法,其中,所選擇的所述字段包括源端口值。
6.根據權利要求1所述的方法,其中,對所述報頭中的所述字段值執(zhí)行所述哈希包括對以下字段中的值執(zhí)行所述哈希:因特網協議(ip)字段、入口接口字段、源地址字段、以及目的地地址字段。
7.根據權利要求6所述的方法,其中,所述源地址字段包括源端口值。
8.根據權利要求1所述的方法,其中,修改所選擇的所述字段中的所述值包括修改特定值,所述特定值的修改將不會引起關于所述特定流被傳遞到的位置的改變。
9.根據權利要求1所述的方法,其中,所述第二路徑與所述第一路徑的不同在于:所述第二路徑包括在所述第一路徑中未包括的至少一個交換機。
10.根據權利要求1所述的方法,其中,所述第一路徑和所述第二路徑兩者都對將所述特定流從源端點路由到目的地端點可用,并且其中第三路徑也對將所述特定流從所述源端點路由到所述目的地端點可用。
11.根據權利要求1所述的方法,其中,當所述特定流被重映射時,存儲由所述特定流用來穿過所述網絡的先前路徑的記錄被避免。
12.根據權利要求1所述的方法,其中,所述網絡反饋數據從所述網絡中的交換機被接收。
13.根據權利要求1所述的方法,其中,所述端點是所述網絡中的多個端點中的一個端點,并且其中全局可見性未針對所述多個端點而被提供。
14.根據權利要求1所述的方法,其中,在所選擇的所述字段中的所述值被修改之后,對所述報頭中的所述字段值執(zhí)行所述哈希引起所述第二路徑的隨機生成,使得所述第二路徑不是預先選擇的路徑。
15.根據權利要求1所述的方法,其中,在所述特定流的所述新網絡分組被使得遵循經重映射的所述第二路徑之后,新網絡反饋數據被接收并且被用于確定所述網絡是否仍擁塞。