新四季網

集成的異構的軟體定義的網絡的製作方法

2023-04-27 03:24:46

集成的異構的軟體定義的網絡的製作方法
【專利摘要】本發明的一個實施例提供了一種在軟體定義的網絡中的交換機。該交換機包括至少一個埠、流管理模塊、以及轉發電路。該埠能夠接收屬於軟體定義的數據流的幀以及屬於普通數據流的幀。該流管理模塊邏輯地劃分該埠,以用於將屬於軟體定義的數據流的幀與屬於普通數據流的幀分開。該轉發電路基於本地流表中的流定義來轉發屬於軟體定義的數據流的幀。該流定義指示軟體定義的數據流在軟體定義的網絡中如何被處理。
【專利說明】集成的異構的軟體定義的網絡

【技術領域】
[0001]本公開內容涉及網絡管理。更具體地說,本公開內容涉及一種促進軟體定義的網絡與傳統網絡之間的高效集成的方法和系統。

【背景技術】
[0002]網際網路的指數增長已經使它成為用於異構數據流的普及的遞送媒介。這種異構性已經導致了對帶寬的與日俱增的需求。作為結果,裝備供應商爭相構建具有多功能能力(諸如使用軟體來定義數據流)的更大且更快的交換機,以高效地移動更多流量。然而,交換機的複雜度不能無限地增長。提出幾個因素地說,它受限於物理空間,功耗、以及設計複雜性。此外,具有更高和更多多功能能力的交換機通常更加複雜和昂貴。
[0003]軟體定義的流是數據通信網絡中的一種新範式。支持軟體定義的流的任何網絡能夠被稱為軟體定義的網絡。軟體定義的網絡的一種示例能夠是OpenFlow網絡,其中網絡管理員能夠基於流定義來配置交換機如何表現,這些流定義能夠跨越網絡協議的不同層而被定義。軟體定義的網絡將控制個體網絡設備(例如,路由器和交換機)所需要的智能分離,並且將控制機制卸載至遠程控制器設備(通常是獨立伺服器或終端設備)。因此,軟體定義的網絡提供了在網絡中管理數據流中的完整的控制和靈活性。
[0004]儘管對於軟體定義的流的支持為網絡帶來許多合意的特徵,但是在促進異構軟體定義的網絡中的對數據流的集成供應和管理方面,一些問題仍然未解決。


【發明內容】

[0005]本發明的一個實施例提供了一種在軟體定義的網絡中的交換機。該交換機包括至少一個埠、流管理模塊、以及轉發電路。該埠能夠接收屬於軟體定義的數據流的幀以及屬於普通數據流的幀。該流管理模塊邏輯地劃分該埠,以用於將屬於軟體定義的數據流的幀與屬於普通數據流的幀分開。該轉發電路基於本地流表中的流定義來轉發屬於軟體定義的數據流的幀。該流定義指示了軟體定義的數據流在軟體定義的網絡中如何被處理。
[0006]在對這個實施例的一種變型中,該轉發電路基於本地轉發表來轉發屬於普通數據流的幀。
[0007]在對這個實施例的一種變型中,該軟體定義的網絡是啟用OpenFlow的網絡。
[0008]在對這個實施例的一種變型中,該流管理模塊基於以下各項中的一項或多項來邏輯地劃分該埠:虛擬區域網(VLAN)標籤或標識符、幀的類型、以及所接收的幀的頭部的
O
[0009]在對這個實施例的一種變型中,該流管理模塊將該埠的帶寬分為多個邏輯分區。在這些邏輯分區之中,至少一個邏輯分區被分配用於軟體定義的數據流。
[0010]本發明的一個實施例提供了一種在軟體定義的網絡中的交換機。該交換機包括轉發電路和仲裁管理模塊。在操作期間,該轉發電路基於以下各項中的一項或多項來處理屬於軟體定義的數據流的幀:轉發表中的轉發信息以及本地流表中的流定義。該流定義指示了軟體定義的數據流在軟體定義的網絡中如何被處理。該仲裁管理模塊對該幀應用仲裁策略。該仲裁策略規定該交換機是否以及以何種順序使用該流表、轉發表、或兩者用於處理該幀。
[0011]在對這個實施例的一種變型中,該轉發信息包括以下各項中的一項或多項:層2轉發信息以及層3路由和轉發信息。
[0012]在對這個實施例的一種變型中,該仲裁策略基於與該軟體定義的數據流相關聯的優先級。該優先級的值規定了該交換機使用該流表、轉發表、或兩者用於處理該幀的順序。
[0013]在對這個實施例的一種變型中,該軟體定義的網絡是啟用OpenFlow的網絡。
[0014]在對這個實施例的一種變型中,該交換機還包括流管理模塊,該流管理模塊使用軟體定義的數據流用於提供以下各項中的一項或多項:備份轉發、基於策略的路由、網絡管理、以及服務。該服務包括以下各項中的一項或多項:防火牆、負載平衡、網絡訪問控制、入侵檢測/保護、網絡分析、以及網絡虛擬化。
[0015]在對這個實施例的一種變型中,該交換機還包括信息管理模塊,該信息管理模塊促進向該軟體定義的網絡的控制器輪詢網絡狀態信息。該網絡狀態信息包括以下各項中的一項或多項:拓撲發現信息、流量統計、以及鏈路狀況信息。

【專利附圖】

【附圖說明】
[0016]圖1A根據本發明的一個實施例圖示了示例性的集成的異構的軟體定義的網絡。
[0017]圖1B根據本發明的一個實施例,連同圖1A中的示例,圖示了混合的軟體可定義的交換機中的混合埠的示例性邏輯劃分。
[0018]圖2根據本發明的一個實施例呈現了一個流程圖,該流程圖圖示了混合的軟體可定義的交換機轉發經由經邏輯劃分的混合埠所接收的數據的過程。
[0019]圖3A根據本發明的一個實施例圖示了具有綜合查找能力的示例性的混合的軟體可定義的交換機。
[0020]圖3B根據本發明的一個實施例,連同圖3A中的示例,圖示了利用與轉發表相關聯的更好優先級的示例性綜合查找。
[0021]圖3C根據本發明的一個實施例,連同圖3A中的示例,圖示了利用與流表相關聯的更好優先級的示例性綜合查找。
[0022]圖4根據本發明的一個實施例呈現了一個流程圖,該流程圖圖示了基於轉發表和流表的混合的軟體可定義的交換機的綜合查找過程。
[0023]圖5根據本發明的一個實施例圖示了具有操作為網絡管理模塊的控制器的集成的異構的軟體定義的網絡。
[0024]圖6根據本發明的一個實施例圖示了集成的異構的軟體定義的網絡中的示例性的軟體可定義的交換機。
[0025]在這些圖中,相似的參考標號指代相同的圖元素。

【具體實施方式】
[0026]以下描述被提出以使得本領域的技術人員能夠製造和使用本發明,並且在特定的應用及其要求的背景中被提供。對所公開的各實施例的各種修改對本領域的技術人員將容易是明顯的,並且不背離本發明的精神和範圍,本文中定義的一般原理可以被應用至其他實施例和應用。因此,本發明不局限於所示出的這些實施例,而是將符合與權利要求相一致的最寬範圍。
[0027]概沭
[0028]在本發明的各實施例中,通過以下各項來解決將軟體定義的網絡架構與傳統網絡架構相集成的問題:(1)通過邏輯地劃分用於流的埠,使用相同的埠來處理軟體定義的流和普通流(即,非軟體定義的流);以及(2)除了流表之外還使用本機轉發表用於軟體定義的流。
[0029]控制器(其通常是獨立設備)通過生成包括規則和對應動作的流定義(諸如使用OpenFlow所定義的那些流定義)而在軟體定義的網絡中提供轉發智能(即,控制平面)。軟體定義的網絡中的交換機通常是基於這些流定義來操作的被動實體。因為軟體定義的流重新定義了傳統的數據流管理,所以軟體定義的流與當前網絡架構的共存可能是挑戰性的。利用已有的技術,交換機通常只支持軟體定義的流或者普通流。一些交換機被劃分為兩個邏輯分區用於支持普通流和軟體定義的流。作為結果,屬於軟體定義的流的數據流量能夠僅由與軟體定義的流相關聯的邏輯分區來處理。此外,交換機中的本機轉發表不被用於對軟體定義的流做出轉發決定。結果,當交換機接收到不具有對應流定義的軟體定義的流的幀時,交換機丟棄該幀,即使是在本機轉發表包括用於該幀的轉發信息時。
[0030]本文所描述的對上述問題的解決方案是雙重的。首先,在軟體定義的網絡中,混合的軟體可定義的交換機(其能夠處理經由相同埠所接收的軟體定義的流和普通流兩者)能夠針對各流而邏輯地劃分埠。基於該邏輯劃分,交換機使用流表或轉發表用於處理相應的幀,由此無需劃分交換機而支持軟體定義的流和普通流兩者。其次,交換機能夠使用流表、轉發表、或兩者用於處理軟體定義的流的幀。交換機對該幀應用仲裁策略。這種仲裁策略規定交換機是否以及以何種順序使用流表、轉發表、或兩者用於處理該幀。以這種方式,除了流表中的流定義之外,交換機還能夠使用轉發表中的轉發信息用於更高效的轉發。
[0031]在本公開內容中,術語「軟體定義的網絡」指代一種網絡,該網絡通過在流定義中指定與流相關聯的動作來促進對相應數據流的控制。耦合至軟體定義的網絡的控制器(其能夠是伺服器)向軟體定義的網絡中的相應交換機提供流定義。流定義能夠包括優先級值、指定流的規則、以及用於該流的動作(例如,轉發埠或「丟棄」)。流定義的規則能夠指定,例如,{輸入埠,虛擬區域網(VLAN)標識符,介質訪問控制(MAC)源和目的地地址,乙太網類型,網際網路協議(IP)源和目的地地址,網際網路協議,傳輸控制協議(TCP)源和目的地埠}的十元組中的任何值組合。其他分組頭部欄位也能夠被包括在流規則中。取決於它的特異性,流規則能夠對應於網絡中的一個或多個流。一經將相應分組匹配至一種規則,軟體定義的網絡中的交換機就採取對應流定義中所包括的動作。軟體定義的網絡的一種不例包括但不限於,在 http://www.0penflow.0rg/documents/openflow-spec-vl.1.0.pdf可得到的,如 Open Networking Foundat1n(ONF)規範「OpenFlow Switch Specificat1n」中所描述的OpenFlow,其通過引用併入本文。
[0032]在本公開內容中,在軟體定義的網絡中並且能夠處理軟體定義的流的交換機被稱為「軟體可定義的」交換機。這樣的軟體可定義的交換機能夠包括能夠處理軟體定義的流和常規分組轉發(例如,層2/乙太網交換,或IP路由)的埠,常規分組轉發在本公開內容中被稱為「普通流」。流定義通常包括一個或多個軟體可定義的輸入埠,該定義適用於這些輸入埠。
[0033]在一些實施例中,軟體定義的網絡是結構交換機,並且軟體定義的網絡中的相應交換機是該結構交換機的成員交換機。該結構交換機能夠是乙太網結構交換機。在乙太網結構交換機中,以任意拓撲耦合的任何數量的交換機可以邏輯地操作為單個交換機。任何新交換機可以無需任何手動配置而以「即插即用」模式加入或離開結構交換機。結構交換機對終端設備表現為單個邏輯交換機。
[0034]儘管使用基於OpenFlow的示例來提出當前的公開內容,但是本發明的實施例不限於使用OpenFlow所定義的網絡或者特定的開放系統互聯參考模型(0SI參考模型)層。在本公開內容中,術語「軟體定義的網絡」在通用的意義上被使用,並且能夠指代基於軟體定義的規則來促進數據流交換的任何網絡。術語「流定義」也在通用的意義上被使用,並且能夠指代識別屬於具體流的數據幀和/或規定交換機應當如何處理幀的任何規則。
[0035]術語「終端設備」能夠指代主機、常規的層2交換機、或任何其他類型的網絡設備。另外,終端設備能夠耦合至更遠離網絡的其他交換機或主機。終端設備也能夠是用於多個網絡設備進入網絡的聚集點。
[0036]術語「消息」指代能夠跨網絡一起被傳輸的一組比特。「消息」不應當被解釋為將本發明的實施例限制於任何具體的網絡層。「消息」能夠由指代一組比特的其他術語取代,諸如「幀」、「分組」、「信元」、或「數據報」。術語「巾貞」在通用的意義上被使用,並且不應當被解釋為將本發明的實施例限制於層2網絡。「幀」能夠由指代一組比特的其他術語取代,諸如「分組」、「信元」、或「數據報」。
[0037]術語「交換機」在通用的意義上被使用,並且它能夠指代操作在任何網絡層中的任何獨立交換機或結構交換機。「交換機」不應當被解釋為將本發明的實施例限制於層2網絡。能夠將流量轉發給終端設備的任何設備能夠被稱為「交換機」。「交換機」的示例包括但不限於:層2交換機、層3路由器、多鏈路透明互連(TRILL)路由橋(RBridge)、FC路由器、或者FC交換機。
[0038]術語「服務」在通用的意義上被使用,並且能夠指代向在任何網絡層中操作的獨立交換機或結構交換機提供具體功能的任何操作或操作組。由交換機所需要的任何功能能夠被稱為「服務」。
[0039]術語「乙太網結構交換機」指代多個互連的物理交換機,它們形成單個可擴展的邏輯交換機。在結構交換機中,任何數量的交換機能夠以任意拓撲而被連接,並且整組的交換機一起用作一個單個邏輯交換機。這個特徵使得有可能使用許多更小的不昂貴的交換機來構造大的結構交換機,從外部看,該大的結構交換機能夠被視為單個邏輯交換機。
[0040]網絡架構
[0041]圖1A根據本發明的一個實施例圖示了示例性的集成的異構的軟體定義的網絡。異構的軟體定義的網絡100包括普通交換機101和104。也被包括的是混合的軟體可定義的交換機102、103、105和106,它們能夠處理軟體定義的流和普通流兩者。控制器120邏輯地耦合至網絡100中的相應軟體可定義的交換機。注意,控制器120能夠物理地耦合至交換機的僅一個子集。在這個示例中,控制器120分別經由物理鏈路122和124而耦合至交換機103和106。終端設備112經由軟體可定義的交換機105而耦合至網絡100。
[0042]軟體可定義的交換機102包括一個或多個混合埠。交換機102使用它的混合埠來控制(例如,轉發、應用策略、流量丟棄等)軟體可定義的流的幀。此外,交換機102也使用這些混合埠來接收和轉發普通流的幀。類似地,軟體可定義的交換機103、105和106也使用它們各自的混合埠來處理軟體可定義的流和普通流兩者的數據流量。交換機102也包括僅處理普通流的普通埠。在操作期間,控制器120將流定義發送給交換機102、103、104和105。一經接收到流定義,交換機102、103、104和105使用數據結構(例如,鍊表)來存儲該流定義。在硬體中(例如,在內容可尋址存儲器(CAM)中),流定義通常基於該流定義的相應優先級而被存儲。
[0043]在一些實施例中,如果交換機102經由混合埠來接收普通流的幀,則交換機102使用交換機102中的轉發表來轉發該流量。另一方面,如果交換機102經由相同埠來接收軟體定義的流的幀,則交換機102基於交換機102中的流定義來控制該流量。以這種方式,交換機102使用相同物理埠用於處理屬於軟體定義的流和普通流兩者的幀。類似地,交換機103、105和106使用相同的物理埠用於處理屬於軟體定義的流和普通流兩者的幀。以這種方式,交換機102、103、105和106無需邏輯地劃分這些交換機而支持軟體定義的兩者。
[0044]圖1B根據本發明的一個實施例,連同圖1A中的示例,圖示了混合的軟體可定義的交換機中的混合埠的示例性邏輯劃分。在這個示例中,混合的軟體可定義的交換機105包括普通埠 152和154,以及混合埠 156和158。當交換機105從控制器120接收到流定義時,交換機105將該流定義存儲在流表164中。流表164能夠是數據結構(例如,鍊表)、硬體模塊(例如,CAM)、或兩者。混合埠 156被分為兩個邏輯分區172和174分別用於軟體定義的流和普通流。混合埠 156能夠基於以下各項中的一項或多項而被分為邏輯分區=VLAN標籤或標識符、幀類型、頭部中的標誌、以及幀中的任何其他可區分的特徵。
[0045]類似地,混合埠 158也被分為兩個邏輯分區176和178分別用於軟體定義的流和普通流。在一些實施例中,混合埠 156和158能夠被分為多個邏輯分區。將埠分為多個邏輯分區在名稱為 「Method and System for Facilitating Applicat1n-OrientedQuality of Service in a Fibre Channel Network」的美國專利公開N0.2009/0316721 中具體說明,它的公開內容以其整體併入本文。
[0046]在一些實施例中,交換機105將邏輯分區172和176專用於VLAN184,VLAN 184與網絡100中的軟體定義的流相關聯。在操作期間,交換機105接收屬於VLAN 184的幀。結果,交換機105將所接收的幀識別為軟體定義的流的一部分,並且基於流表164中的流定義來控制該幀。例如,當交換機105經由埠 156接收到幀時,交換機105識別該幀中的與VLAN 184相關聯的標籤,並且將該幀辨識為軟體定義的流的一部分。作為結果,交換機105使用流表164中的流定義來將該幀轉發給交換機106。
[0047]另一方面,交換機105將邏輯分區174和178專用於網絡100中除了 VLAN 184之外的所有VLAN,諸如VLAN 182和186。當交換機105經由埠 156接收到屬於VLAN 186的幀時,交換機105識別該幀中的與VLAN 186相關聯的標籤。因為該幀中的VLAN標籤不對應於VLAN 184,所以交換機105將該幀考慮為普通流的一部分。作為結果,交換機105使用轉發表162來將該幀轉發給終端設備112。類似地,當交換機105經由埠 158接收到屬於VLAN 182的幀時,交換機105識別該幀中的與VLAN 182相關聯的標籤,並且將該幀辨識為普通流的一部分。作為結果,交換機105使用轉發表162來將該幀轉發給交換機104。
[0048]帔處理
[0049]在圖1B中的示例中,交換機105基於幀是否屬於軟體定義的流來轉發經由混合埠所接收的相應數據幀。圖2根據本發明的一個實施例呈現了一個流程圖,該流程圖圖示了混合的軟體可定義的交換機轉發經由經邏輯劃分的混合埠所接收的數據的過程。在操作期間,該交換機經由本地混合埠來接收幀(操作202)。該交換機然後檢查該幀是否屬於軟體定義的流(操作204)。在一些實施例中,該交換機檢查以下各項中的一項或多項:VLAN標籤或標識符、幀類型、以及所接收的幀中的頭部中的標誌,以決定該幀是否屬於軟體定義的流。
[0050]如果該幀屬於軟體定義的流,則該交換機識別與該幀相對應的流表中的流定義(操作212)。該交換機然後基於該流定義來控制該幀(操作214)。控制該幀包括:將該幀傳輸給由所識別的流所指定的埠。控制該幀進一步包括:當由所識別的流定義指定或者當該交換機沒有找到對應於該幀的任何流定義時,丟棄該幀。以這種方式,控制器能夠經由該交換機來提供服務(例如,通過指定哪些流要丟棄的防火牆服務)。
[0051]如果該幀不屬於軟體定義的流(例如,屬於普通流),則該交換機在本機轉發表中執行針對該幀的查找(操作206)。這個轉發表能夠是層2交換表、轉發信息庫(FIB)、路由信息庫(RIB)、或者它們的組合。如果該交換機是層2設備,則該轉發表能夠通過得知MAC地址而被填充。另一方面,如果該交換機是層3設備,則該轉發表能夠通過運行路由協議而被填充。在該查找之後,該交換機基於該查找來識別輸出埠(操作208)。在一些實施例中,該交換機是結構交換機的成員,其中該交換機也能夠基於該查找來識別該結構交換機的下一跳成員交換機。該交換機然後將該幀傳輸給所識別的埠(操作210)。以這種方式,該交換機能夠使用相同的混合埠來處理可能屬於普通流或者軟體定義的流的幀。
[0052]綜合杳找
[0053]在圖1B中的示例中,交換機105不能使用本機轉發表162用於為軟體定義的流做出轉發決定。結果,交換機105可以丟棄在流表164中不具有任何對應流定義的軟體定義的流的幀,即使是在轉發表162包括用於該幀的轉發信息時。為了解決這一問題,交換機105能夠實施對流表164和轉發表162的綜合使用,用於處理軟體定義的流。圖3A根據本發明的一個實施例圖示了具有綜合查找能力的示例性的混合的軟體可定義的交換機。異構的軟體定義的網絡300包括混合的軟體可定義的交換機302、304和306,它們能夠處理軟體定義的流和普通流兩者。網絡300中的相應的軟體可定義的交換機邏輯地耦合至控制器。
[0054]在圖3A中的示例中,當交換機302從控制器接收到流定義時,交換機302將該流定義存儲在流表364中。流表364能夠是數據結構(例如,鍊表)、硬體模塊(例如,CAM)、或兩者。交換機302也包括轉發表362,轉發表362能夠是層2交換表、FIB、RIB、或它們的組合。交換機302包括普通埠 352和352以及混合埠 356和358,它們能夠無需任何分區而接收屬於軟體定義的流和普通流的數據流量。交換機302實施對流表364和轉發表362的綜合查找。在綜合查找中,交換機302能夠使用流表364、轉發表362、或兩者,用於對軟體定義的流的幀做出轉發決定。
[0055]在網絡300中,VLAN 384與軟體定義的流相關聯。另一方面,網絡300中除了 VLAN384之外的所有VLAN(諸如VLAN 382)與普通流量相關聯。在操作期間,交換機302經由埠 356來接收屬於VLAN 382的幀,並且識別該幀中的與VLAN 382相關聯的標籤。因為該幀中的VLAN標籤不對應於VLAN 384,所以交換機302將該幀考慮為普通流的一部分。作為結果,交換機302使用本機轉發表362來轉發該幀。
[0056]另一方面,如果交換機302經由埠 356接收到幀中具有與VLAN384相關聯的標籤的幀,則交換機302將該幀辨識為軟體定義的流的一部分。交換機302然後應用仲裁策略340,仲裁策略340規定交換機302是否以及以何種順序使用流表364、轉發表362、或兩者用於處理該幀。在一些實施例中,仲裁策略指定了指示該順序的優先級值。例如,假設轉發表362指定了與VLAN 384相關聯的流的普通轉發,並且流表364中的流定義指定了用於該流的備份轉發(即,經由備份路徑來轉發)。仲裁策略340指定,對於該具體的流,轉發表362具有比流表364更好的優先級(其能夠更高或更低)。以這種方式,交換機302能夠首先使用轉發表362中可用的轉發信息,並且然後使用流表364,用於控制該流的幀。
[0057]圖3B根據本發明的一個實施例,連同圖3A中的示例,圖示了具有與轉發表相關聯的更好優先級的示例性綜合查找。在這個示例中,轉發表362指定了軟體定義的流320的普通轉發,並且流表364中的流定義指定了流320的備份轉發。在一些實施例中,流表364中的多個流定義指定了流320的備份轉發以用於提供冗餘。在操作期間,交換機302經由埠 356來接收流320的幀322。交換機302發現對於流320轉發表362具有比流表364更好的優先級。因此,交換機302基於轉發表362來執行針對幀322的查找,識別埠 354作為輸出埠,並且經由埠 354來傳輸幀322。
[0058]然而,在經由埠 354的轉發路徑不可用(例如,歸因於與圖3A中的交換機306相關聯的鏈路或結點失效)的失效場景中,交換機302能夠使用在流表364 (使用虛線表示)中指定了用於流320的備份轉發的流定義。在一些實施例中,一經檢測到失效,交換機302就改變與流表364相關聯的優先級並且向流表364指配比轉發表362更好的優先級值。以這種方式,交換機302能夠使用流表364加上轉發表362的綜合查找以用於轉發幀322。作為結果,交換機302能夠通過容易地使用用於流320的備份轉發而無需計算對應的備份路徑並且等待網絡匯集,來無縫地改變流320的供應。
[0059]圖3C根據本發明的一個實施例,連同圖3A中的示例,圖示了具有與流表相關聯的更好優先級的示例性綜合查找。在這個示例中,轉發表362指定了軟體定義的流330的普通轉發,並且流表364中的流定義指定了用於交換機302的服務。服務的示例包括但不限於:防火牆、負載平衡、網絡訪問控制、入侵檢測/保護、網絡分析、以及網絡虛擬化。在一些實施例中,流表364中的流定義指定了一種策略,用於交換機302中的基於策略的轉發。假設在圖3C中的示例中,流表364中的一個或多個流定義指定了用於交換機302的防火牆服務。這些流定義能夠指定應當被交換機302丟棄的一個或多個流。因此,交換機302需要在轉發表362之前基於流表364來處理幀。
[0060]在操作期間,交換機302經由埠 356來接收流330的幀332。交換機302發現流表364具有比轉發表362更好的優先級。因此,交換機302使用流表364來檢查指定防火牆服務的一個或多個流定義是否適用於幀332。如果幀332匹配指定防火牆服務的流定義中的任何流定義,則交換機302丟棄該流(利用虛線表示)。否則,交換機302基於轉發表362來執行針對幀332的查找,識別埠 354作為輸出埠,並且經由埠 354來傳輸幀332。
[0061]圖4根據本發明的一個實施例呈現了一個流程圖,該流程圖圖示了基於轉發表和流表的混合的軟體可定義的交換機的綜合查找過程。在操作期間,該交換機經由本地混合埠來接收數據幀(操作402)。該交換機然後檢查該幀是否為軟體定義的流(操作404)。在一些實施例中,該交換機檢查以下各項中的一項或多項:VLAN標籤或標識符、巾貞類型、以及所接收的幀中的頭部中的標誌,以決定該幀是否屬於軟體定義的流。如連同圖3A所描述的,如果該幀不屬於軟體定義的流(即,屬於普通流),則該交換機繞過任何仲裁策略在轉發表中執行針對該幀的查找(操作422)。這個轉發表能夠是層2交換表、FIB、RIB、或它們的組合。在該查找之後,該交換機基於該查找來識別用於處理該幀的輸出埠(操作424)。在一些實施例中,該交換機是結構交換機的成員,其中該交換機也能夠基於該查找來識別該結構交換機的下一跳成員交換機。
[0062]如果該幀屬於軟體定義的流(操作404),則該交換機針對該幀應用用於轉發信息順序的仲裁策略(操作406)。該轉發信息順序指定了該交換機是否以及以何種順序使用流表、轉發表、或兩者,用於處理該巾貞。在一些實施例中,該交換機關聯優先級值來確定該轉發信息順序。該交換機然後檢查仲裁策略是否已經選擇了流表(操作408)。如果不是(即,如果該仲裁已經選擇了轉發表),則該交換機在轉發表中執行針對該幀的查找(操作432)。如連同圖3B所描述的,基於仲裁策略,該交換機能夠可選地識別流表中的對應於該幀的流定義(操作434)。
[0063]如果仲裁策略已經選擇了流表,該交換機識別流表中的對應於該幀的流定義(操作410)。如連同圖3C所描述的,基於仲裁策略,該交換機能夠可選地在轉發表中執行針對該幀的查找(操作412)。在轉發表中執行查找(操作412)或識別流定義(操作434)之後,該交換機基於該查找和/或所識別的流定義來為該幀做出轉發決定(操作438)。例如,如果該交換機在轉發表中執行查找(操作432)之後不檢查流表(操作434),則該交換機僅基於該查找來做出轉發決定。在做出轉發決定(操作438)或者識別用於轉發的輸出埠(操作424)之後,該交換機對該幀應用該轉發決定(操作440)。
[0064]網絡管理
[0065]在一些實施例中,軟體定義的流能夠被用來管理軟體定義的網絡。控制器能夠從該網絡輪詢信息並且使用這種數據用於動態供應和管理。圖5根據本發明的一個實施例圖示了具有操作為網絡管理模塊的控制器的示例性的集成的異構的軟體定義的網絡。軟體定義的網絡500包括混合的軟體可定義的交換機501、502、503、504和505,它們能夠處理軟體定義的流和普通流兩者。控制器520邏輯地耦合至網絡500中的相應的軟體可定義的交換機。注意,控制器520能夠物理地耦合至交換機的僅一個子集。在這個示例中,控制器520分別經由物理鏈路522和524而耦合至交換機503和505。
[0066]在操作期間,控制器520輪詢交換機501、502、503、504和505,以收集網絡500的網絡狀態信息590。在一些實施例中,控制器520向交換機501、502、503、504和505發送查詢消息,以從網絡500中的相應交換機發起信息輪詢。一經接收到這些查詢消息,網絡500中的相應交換機就開始向控制器520發送網絡狀態信息590。在一些實施例中,網絡狀態信息590包括拓撲發現信息592、流量統計594、以及鏈路狀況信息596。
[0067]在一些實施例中,利用簡單網絡管理協議(SNMP)陷阱(trap)來配置網絡500中的相應交換機,SNMP陷阱允許該交換機提供與本地鏈路狀況有關的未被請求的信息。控制器520能夠通過輪詢這些陷阱來收集鏈路狀況信息596。在一些實施例中,控制器520使用發現協議用於獲得拓撲發現信息592。發現協議的示例包括但不限於:鏈路層發現協議(LLDP)。網絡500中的相應交換機能夠被配置為,向控制器520發送包括拓撲發現信息592的消息。在一些實施例中,控制器520從網絡500中的相應交換機收集流量統計594。
[0068]控制器520使用狀態信息590來高效地管理網絡500。例如,控制器520使用所收集的流量統計594來計算鏈路負載並且遍及網絡500而平衡這些鏈路負載。以這種方式,控制器520能夠建立用於軟體定義的流的高效路徑。此外,如連同圖3B所描述的,控制器520能夠利用網絡狀態信息590用於冗餘,並且無縫地改變網絡500中的軟體定義的流的供應。基於網絡狀態信息590,控制器520能夠確保用於軟體定義的流的服務質量。此外,控制器520能夠使用軟體定義的流來提供服務,諸如基於策略的路由、網絡訪問控制、安全性(例如,入侵檢測和保護)、以及防火牆。這些功能能夠使得控制器520能夠操作為網絡管理模塊。作為結果,當交換機501、502、503、504和505裝備有連同圖1B和3A所描述的能力和功能時,控制器520能夠促進綜合的架構來支持供應、數據收集、冗餘管理、網絡管理、基於策略的控制、以及網絡服務。
[0069]示例件奪換機
[0070]圖6根據本發明的一個實施例圖示了集成的異構的軟體定義的網絡中的示例性的軟體可定義的交換機。在這個示例中,交換機600包括多個通信埠 602、轉發引擎620、流管理模塊630、分組處理器610、處理器651、以及存儲設備650。通信埠 602中的至少一個通信埠是混合埠,混合埠能夠接收屬於軟體定義的流的幀和屬於普通流的幀。交換機600能夠具有與軟體定義的網絡中的控制器的邏輯連接。在一些實施例中,該軟體定義的網絡是啟用OpenFlow的網絡。可以以軟體、硬體或它們的組合來實施流管理模塊630。例如,能夠以存儲在存儲設備650中的指令集來實施流管理模塊630,並且當這些指令被處理器651執行時,促使處理器651執行一組操作。也能夠以硬體晶片(諸如ASICS和FPGA)來實施流管理模塊630。
[0071]在操作期間,交換機600經由該混合埠來接收幀。流管理模塊630基於該幀屬於軟體定義的流還是普通流來邏輯地劃分該埠。流管理模塊630能夠基於以下各項中的一項或多項來邏輯地劃分該埠:該幀中的VLAN標識符、該幀的類型、以及該幀的頭部中的標誌。如果該幀屬於軟體定義的流,則轉發引擎620(其能夠包括用於轉發幀的電路)基於本地流表中的流定義來轉發該幀。另一方面,如果該幀屬於普通流,則轉發引擎620基於本地轉發表來轉發該幀。如連同圖1B所描述的,在一些實施例中,流管理模塊630將該埠的帶寬分為多個邏輯分區。在這些邏輯分區之中,至少一個邏輯分區被分配用於軟體定義的數據流。
[0072]在一些實施例中,如連同圖3A所描述的,交換機600能夠執行綜合查找,並且包括仲裁系統640。在這樣的場景下,如果所接收的幀屬於軟體定義的流,則轉發引擎620能夠基於轉發表中的轉發信息、本地流表中的流定義、或兩者來處理該幀。轉發表中的轉發信息能夠包括層2轉發信息和/或層3路由和轉發信息。仲裁系統640對該幀應用仲裁策略。在一些實施例中,該仲裁策略基於與該軟體定義的數據流相關聯的優先級。優先級的值規定了該交換機以何種順序使用流表、轉發表、或兩者用於處理該幀。
[0073]此外,流管理模塊630能夠使用該軟體定義的數據流用於提供以下各項中的一項或多項:訪問控制、備份轉發、基於策略的路由、網絡管理、以及服務。該服務包括以下各項中的一項或多項:防火牆、負載平衡、網絡訪問控制、入侵檢測/保護、網絡分析、以及網絡虛擬化。在一些實施例中,交換機630包括信息管理模塊632,信息管理模塊632促進向軟體定義的網絡的控制器輪詢交換機600的網絡狀態信息。如連同圖5所描述的,網絡狀態信息包括以下各項中的一項或多項:拓撲發現信息、流量統計、以及鏈路狀況信息。此外,可以以軟體、硬體或它們的組合來實施信息管理模塊632。例如,能夠以存儲在存儲設備650中的指令集來實施信息管理模塊632,並且當這些指令被處理器651執行時,促使處理器651執行一組操作。也能夠以硬體晶片(諸如ASICS和FPGA)來實施信息管理模塊632。
[0074]注意,能夠以硬體以及以軟體來實施上面所提到的模塊。在一個實施例中,能夠以存儲在存儲器中的計算機可執行指令來具體化這些模塊,該存儲器耦合至交換機600中的一個或多個處理器。當被執行時,這些指令促使該(些)處理器執行前面提及的功能。
[0075]總之,本發明的實施例提供了一種用於使用轉發表、流表、或兩者用於轉發屬於軟體定義的流的流量的交換機和方法。在一個實施例中,該交換機包括至少一個埠、流管理模塊、以及轉發電路。該埠能夠接收屬於軟體定義的數據流的幀和屬於普通數據流的幀。該流管理模塊邏輯地劃分該埠,以用於將屬於軟體定義的數據流的幀與屬於普通數據流的幀分開。該轉發電路基於本地流表中的流定義來轉發屬於軟體定義的數據流的幀。流定義指示了軟體定義的數據流在軟體定義的網絡中如何被處理。
[0076]本文所描述的方法和過程能夠被具體化為代碼和/或數據,該代碼和/或數據能夠被存儲在計算機可讀的非瞬態存儲介質中。當計算機系統讀取和執行存儲在該計算機可讀的非瞬態存儲介質上的該代碼和/或數據時,該計算機系統執行被具體化為數據結構和代碼並且被存儲在該介質內的這些方法和過程。
[0077]本文所描述的方法和過程能夠由硬體模塊或裝置執行和/或被包括在硬體模塊或裝置中。這些模塊或裝置可以包括但不限於:專用集成電路(ASIC)晶片、現場可編程門陣列(FPGA)、在特定時間執行特定軟體模塊或一段代碼的專門的或共享的處理器、和/或現在已知的或者以後開發的其他可編程邏輯設備。當這些硬體模塊或裝置被激活時,它們執行包括在它們中的這些方法和過程。
[0078]對本發明的各實施例的前述描述僅為了舉例說明和描述的目的而已經被提出。它們不意圖為是窮盡的或者限制本公開內容。因此,許多修改和變型對本領域的技術人員將是明顯的。本發明的範圍由所附權利要求來定義。
【權利要求】
1.一種交換機,包括: 埠,能夠接收屬於軟體定義的數據流的幀以及屬於普通數據流的幀; 流管理模塊,可操作為邏輯地劃分所述埠,以用於將屬於所述軟體定義的數據流的所述幀與屬於所述普通數據流的所述幀分開;以及 轉發電路,可操作為基於本地流表中的流定義來轉發屬於所述軟體定義的數據流的所述幀,其中所述流定義指示所述軟體定義的數據流在軟體定義的網絡中如何被處理。
2.根據權利要求1所述的交換機,其中所述轉發電路進一步可操作為基於本地轉發表來轉發屬於所述普通數據流的所述幀。
3.根據權利要求1所述的交換機,其中所述軟體定義的網絡是啟用的網絡。
4.根據權利要求1所述的交換機,其中所述流管理模塊基於以下各項中的一項或多項來邏輯地劃分所述埠: 虛擬區域網〈VI燦0標籤或標識符; 幀的類型;以及 所接收的幀的頭部中的標誌。
5.根據權利要求1所述的交換機,其中所述流管理模塊進一步可配置為將所述埠的帶寬分為多個邏輯分區,其中至少一個邏輯分區被分配用於所述軟體定義的數據流。
6.一種交換機,包括: 轉發電路,可操作為基於以下各項中的一項或多項來處理屬於軟體定義的數據流的幀: 轉發表中的轉發信息; 本地流表中的流定義,其中所述流定義指示所述軟體定義的數據流在軟體定義的網絡中如何被處理; 仲裁系統,可配置為對所述幀應用仲裁策略,其中所述仲裁策略規定所述交換機是否以及以何種順序使用所述流表、轉發表、或兩者用於處理所述幀。
7.根據權利要求6所述的交換機,其中所述轉發信息包括以下各項中的一項或多項:層2轉發信息以及層3路由和轉發信息。
8.根據權利要求6所述的交換機,其中所述仲裁策略基於與所述軟體定義的數據流相關聯的優先級,其中所述優先級的值規定所述交換機使用所述流表、轉發表、或兩者用於處理所述幀的順序。
9.根據權利要求6所述的交換機,其中所述軟體定義的網絡是啟用01361^10?的網絡。
10.根據權利要求6所述的交換機,進一步包括:流管理模塊,可配置為使用所述軟體定義的數據流用於提供以下各項中的一項或多項: 訪問控制; 備份轉發; 基於策略的路由; 網絡管理;以及 服務,其中所述服務包括以下各項中的一項或多項:防火牆、負載平衡、網絡訪問控制、入侵檢測/保護、網絡分析、以及網絡虛擬化。
11.根據權利要求1所述的交換機,進一步包括:信息管理模塊,可配置為促進向所述軟體定義的網絡的控制器輪詢網絡狀態信息,其中所述網絡狀態信息包括以下各項中的一項或多項:拓撲發現信息、流量統計、以及鏈路狀況信息。
12.—種方法,包括: 經由埠接收屬於軟體定義的數據流的幀以及屬於普通數據流的幀; 邏輯地劃分所述埠,以用於將屬於所述軟體定義的數據流的所述幀與屬於所述普通數據流的所述幀分開;以及 基於本地流表中的流定義來轉發屬於所述軟體定義的數據流的所述幀,其中所述流定義指示所述軟體定義的數據流在軟體定義的網絡中如何被處理。
13.根據權利要求12所述的方法,進一步包括:基於本地轉發表來轉發屬於所述普通數據流的所述幀。
14.根據權利要求12所述的方法,其中所述軟體定義的網絡是啟用的網絡。
15.根據權利要求12所述的方法,其中所述埠基於以下各項中的一項或多項而被邏輯地劃分: 虛擬區域網〈VI燦0標籤或標識符; 幀的類型;以及 所接收的幀的頭部中的標誌。
16.根據權利要求12所述的方法,進一步包括:將所述埠的帶寬分為多個邏輯分區,其中至少一個邏輯分區被分配用於所述軟體定義的數據流。
17.—種方法,包括: 基於以下各項中的一項或多項來處理屬於軟體定義的數據流的幀: 轉發表中的轉發信息; 本地流表中的流定義,其中所述流定義指示所述軟體定義的數據流在軟體定義的網絡中如何被處理; 對所述幀應用仲裁策略,其中所述仲裁策略規定所述交換機是否以及以何種順序使用所述流表、轉發表、或兩者用於處理所述幀。
18.根據權利要求17所述的方法,其中所述轉發信息包括以下各項中的一項或多項:層2轉發信息以及層3路由和轉發信息。
19.根據權利要求17所述的方法,其中所述仲裁策略基於與所述軟體定義的數據流相關聯的優先級,所述優先級的值規定所述交換機使用所述流表、轉發表、或兩者用於處理所述幀的順序。
20.根據權利要求17所述的方法,其中所述軟體定義的網絡是啟用的網絡。
21.根據權利要求17所述的方法,進一步包括使用所述軟體定義的數據流用於提供以下各項中的一項或多項: 訪問控制; 備份轉發; 基於策略的路由; 網絡管理;以及 服務,其中所述服務包括以下各項中的一項或多項:防火牆、負載平衡、網絡訪問控制、入侵檢測/保護、網絡分析、以及網絡虛擬化。
22.根據權利要求17所述的方法,進一步包括:促進向所述軟體定義的網絡的控制器輪詢網絡狀態信息,其中所述網絡狀態信息包括以下各項中的一項或多項:拓撲發現信息、流量統計、以及鏈路狀況信息。
23.一種交換機,包括: 處理器;以及 存儲指令的非瞬態存儲設備,所述指令在由所述處理器執行時促使所述處理器: 邏輯地劃分埠,以用於將屬於軟體定義的數據流的幀與屬於普通數據流的幀分開;以及 基於本地流表中的流定義來轉發屬於所述軟體定義的數據流的所述幀,其中所述流定義指示所述軟體定義的數據流在軟體定義的網絡中如何被處理。
24.一種交換機,包括: 處理器;以及 存儲指令的非瞬態存儲設備,所述指令在由所述處理器執行時促使所述處理器: 基於以下各項中的一項或多項來處理屬於軟體定義的數據流的幀: 轉發表中的轉發信息;以及 本地流表中的流定義,其中所述流定義指示所述軟體定義的數據流在軟體定義的網絡中如何被處理;以及 對所述幀應用仲裁策略,其中所述仲裁策略規定所述交換機是否以及以何種順序使用所述流表、轉發表、或兩者用於處理所述幀。
【文檔編號】H04L12/70GK104303467SQ201380022808
【公開日】2015年1月21日 申請日期:2013年5月20日 優先權日:2012年5月23日
【發明者】E·S·P·欽塞拉帕蒂, N·韋德亞 申請人:博科通訊系統有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀