麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

在軟件定義組網(SDN)系統中使用L4?L7報頭轉發沒有重組的分組片段的制作方法

文檔序號:11291002閱讀:486來源:國知局
在軟件定義組網(SDN)系統中使用L4?L7報頭轉發沒有重組的分組片段的制造方法與工藝

本發明的實施例涉及軟件定義組網(sdn)應用領域,并且更具體地說,涉及在sdn系統中交換ip分組片段。



背景技術:

軟件定義組網(sdn)系統的固有特性是控制和數據平面實體的物理分離。在此模型中,在網絡控制器頂部上運行的應用(或網絡服務)管理全網絡的策略,并且指令網絡控制器在網絡元件中主動或反應性(reactively)安裝轉發實體。所有網絡元件中轉發實體的集合形成網絡的轉發狀態。網絡控制器充當控制和管理這些可編程網絡元件并且提供程序接口到更高級網絡管理和控制應用的網絡操作系統。

例如服務鏈解決方案等sdn應用基于針對由sdn應用定義的流條目匹配分配報頭信息來轉發分組。openflow1.3規范(通用sdn網絡配置協議),支持來自第2層、第3層和第4層(也稱為l2-l4或第2-4層)的開放系統互連(osi)報頭的大多數字段的匹配。

在識別到鏈路(分組需要在其上傳送)的最大傳送單元(mtu)小于分組大小時,網絡元件可將ip分組分段。通常,僅數據報(數據報經常稱為“原始”分組)的第一片段攜帶所有報頭信息,包括l4-l7報頭,其中剩余片段僅包括l2和ip(l3)報頭。由于不是所有片段攜帶此信息,因此,諸如tcp端口號等取決于l4-l7報頭信息的任何轉發或服務機制將未能處理或不正確處理分段的分組。因此,ip分組片段造成了sdn應用的問題。

openflow描述用于處理片段的過程,但這些解決方案不是理想的,并且在許多情況下,甚至不是用于現實網絡設計的有效解決方案。一個方案是在處理任何一個片段前重組整個ip分組。那要求在處理第一片段前等待所有片段到達。這可降級網絡元件的性能,并且引入分組延時。另一方案是使用openflow1.3的非重組選項。然而,非重組選項可引起第一片段和非第一片段被給予不同的轉發行為,可能導致業務丟失。



技術實現要素:

公開了轉發沒有重組的因特網協議(ip)分組片段的軟件定義組網(sdn)系統的網絡元件。由一個或更多個網絡裝置實現的網絡元件接收分組,并且確定分組是否包含原始ip分組的片段,其中原始ip分組可被分段成至少兩個有序片段,其中僅第一片段包含與開放系統互連(osi)第4-7層關聯的一個或更多個字段。在確定分組包含原始ip分組的片段時,網絡元件確定分組是否包含原始ip分組的第一片段。在確定分組包含原始ip分組的第一片段時,網絡元件將條目添加到sdn系統的片段信息表。片段信息表條目與原始ip分組關聯,并且包括在與osi第4-7層關聯的一個或更多個字段中在第一片段中包含的數據。條目由網絡元件用于處理原始ip分組的非第一片段。在接收原始ip分組的所有片段前,網絡元件基于在與osi第4-7層關聯的一個或更多個字段中包含的數據,處理原始ip分組的第一片段。

公開了用于在sdn系統中處理分組的設備。設備包括處理器和存儲分組處理軟件的非暫時性機器可讀存儲媒體,軟件在由處理器執行時,使處理器轉發沒有重組的ip分組片段。處理器接收分組,并且確定分組是否包含原始ip分組的片段。原始ip分組可被分段成至少兩個有序片段,其中僅第一片段包含與osi第4-7層關聯的一個或更多個字段。在確定分組包含原始ip分組的片段時,處理器確定分組是否包含原始ip分組的第一片段。在確定分組包含原始ip分組的第一片段時,處理器將條目添加到片段信息表中。片段信息表條目與原始ip分組關聯,并且包括在與osi第4-7層關聯的一個或更多個字段中在第一片段中包含的數據,并且用于處理原始ip分組的非第一片段。在確定分組不是原始ip分組的第一片段(即,非第一片段)時,處理器在片段信息表中搜索與原始ip分組關聯的匹配條目,并且檢索在與匹配條目的osi第4-7層關聯的一個或更多個字段中的在第一片段中包含的數據。

處理器隨后基于在從片段信息表的匹配條目中檢索的數據和基于在識別的轉發表條目中的屬性,識別轉發表中的條目。處理器執行在識別的轉發表條目中指定的一個或更多個動作。

公開了存儲用于在網絡元件中處理分組的指令的非暫時性機器可讀存儲介質。非暫時性機器可讀存儲介質在由處理器執行時,使處理器執行在sdn系統的網絡裝置中實現的操作。處理器接收分組,并且確定分組是否包含原始ip分組的片段,其中原始ip分組可被分段成至少兩個有序片段,其中僅第一片段包含與osi第4-7層關聯的一個或更多個字段。在確定分組包含原始ip分組的片段時,處理器確定分組是否包含原始ip分組的第一片段。在確定分組包含原始ip分組的第一片段時,處理器將條目添加到片段信息表。片段信息表條目與原始ip分組關聯,并且包括在與osi第4-7層關聯的一個或更多個字段中包含的數據。條目由處理器用于處理原始ip分組的非第一片段。在接收原始ip分組的所有片段前,處理器基于在與osi第4-7層關聯的一個或更多個字段中包含的數據,處理原始ip分組的第一片段。

本發明的實施例使網絡元件能夠正確地轉發原始ip分組的片段,其中僅原始ip分組的第一片段包含與osi第4-7層關聯的一個或更多個字段。

附圖說明

通過參照下面的描述和用于示出本發明實施例的附圖,可最好地理解本發明。在圖中:

圖1是示出根據本發明的實施例的實現轉發分組片段的方法的網絡的框圖。

圖2是示出根據本發明的實施例的在片段信息表中的條目的框圖。

圖3是示出根據本發明的實施例的在轉發表143中的條目的框圖。

圖4是示出根據本發明的一個實施例的用于在sdn系統中的網絡元件處理ip分組片段的方法的流程圖。

圖5是示出根據本發明的一個實施例的用于在sdn系統中的網絡元件處理ip分組片段的另一方法的流程圖。

圖6是示出根據本發明的實施例的用于使用在第一ip片段中的ip分組報頭信息處理隨后ip分組片段的方法的流程圖。

圖7是示出根據本發明的實施例的分成片段的ip分組的圖形。

圖8a示出根據本發明的一些實施例的在示范網絡內的網絡裝置(nd)之間的連接性及nd的三個示范實現。

圖8b示出根據本發明的一些實施例的實現專用網絡裝置802的示范方式。

圖8c示出根據本發明的一些實施例的各種示范方式(在其中vne可被耦合)。

圖8d示出根據本發明的一些實施例的在圖8a的每個nd上帶有單個網絡元件的網絡和用于保持可達性和轉發信息(也稱為網絡控制)的集中方案。

圖8e示出根據本發明的一些實施例的每個nd800a-h實現單個ne870a-h(參見圖8d)的簡單情況,但集中控制平面876已提取不同nd中的多個ne(ne870a-c和g-h)到(以表示)圖8d的一個或更多個虛擬網絡892之一中的單個ne870i。

圖8f示出根據本發明的一些實施例的情況,其中多個vne(vne870a.1和vne870h.1)在不同nd(nd800a和nd800h)上實現并且相互耦合,并且其中集中控制平面876已提取這些多個vne,使得它們在圖8d的虛擬網絡892之一內顯得像單個vne870t。

具體實施方式

以下描述描述了用于使用與開放系統互連(osi)第4-7層報頭信息關聯的ip分組的信息字段轉發沒有重組的ip分組片段的方法和設備。在實施例中,ip分組的字段可以是報頭字段。

在下面的描述中,陳述了許多特定的細節(如系統組件的類型和相互關系,資源分區/共享/重復實現,邏輯實現、及邏輯分區/集成選擇)以便提供本發明更詳盡的理解。然而,本領域的技術人員將意識到,可無需此類特定細節而實踐本發明。其它實例中,控制結構、門級電路和全軟件指令序列未詳細示出以免模糊本發明。通過包括的描述,本領域技術人員將能夠在不進行過度實驗的情況下實現適當的功能性。

說明書中對“一個實施例”、“實施例”、“示例實施例”等的引用指示所描述的實施例可包括特定特征、結構或特性,但每個實施例可不一定包括特定特征、結構或特性。另外,此類短語不一定指同一實施例。此外,在結合實施例描述特定特征、結構或特性時,認為結合無論是否明確描述的其它實施例影響此類特征、結構或特性是在本領域技術人員的認知之內。

在下面的描述和權利要求中,可使用術語“耦合”和“連接”連同其衍生詞。應理解,這些術語無意做為彼此的同義詞。“耦合”用于指示可以或可以不相互直接物理或電接觸的兩個或更多個元件相互協作或交互。“連接”用于指示在相互耦合的兩個或更多個元件之間通信的建立。

電子裝置使用機器可讀媒體(也稱為計算機可讀媒體)存儲和傳送(在內部和/或通過網絡與其它電子裝置)代碼(由軟件指令組成,并且有時稱為計算機程序代碼或計算機程序)和/或數據,機器可讀媒體理如為機器可讀存儲媒體(例如,磁盤、光盤、只讀存儲器(rom)、閃速存儲器裝置、相變存儲器)和機器可讀傳送媒體(也稱為載體)(例如,電、光、無線電、聲或其它形式傳播信號-如載波、紅外信號)。因此,電子裝置(例如,計算機)包括硬件和軟件,如一個或更多個處理器集,其耦合到一個或更多個機器可讀存儲媒體以存儲代碼以便在處理器集上執行和/或存儲數據。例如,電子裝置可包括包含代碼的非易失性存儲器,因為即使在電子裝置關閉時(在電源消除時),非易失性存儲器能夠存留代碼/數據,并且在電子裝置開啟時,要由該電子裝置的一個或更多個處理器執行的該部分代碼通常從該電子裝置的更慢非易失性存儲器復制到易失性存儲器(例如,動態隨機存取存儲器(dram)、靜態隨機存取存儲器(sram))。典型的電子裝置也包括與其它電子裝置建立網絡連接(以使用傳播信號來傳送和/或接收代碼和/或數據)的一個或更多個物理網絡接口或其集合。本發明的實施例的一個或更多個部分可使用軟件、固件和/或硬件的不同組合來實現。

利用本發明的實施例的網絡環境

圖1是示出根據本發明的實施例的實現轉發分組片段的方法的網絡的框圖。網絡100包含網絡元件(ne)集合,并且由與應用集合對接的網絡控制器管理。

網絡元件執行在一個或更多個網絡裝置上實現的分組轉發。如果原始ip分組在到達網絡元件前被分段,則在網絡元件接收到的分組可只包括原始ip分組的片段。網絡元件單獨轉發業務流的每個傳入分組而不在網絡元件中將片段重組成完整的ip分組。網絡100示出包含來自源終端站(es)102,并且輸送到目的地終端站154以及通過ne122、124和126轉發的ip分組的業務流。注意,取決于實現,ip分組可以是ipv4或ipv6分組。

終端站可以是用戶裝置或服務器終端站。用戶裝置(有時稱為終端用戶裝置或訂戶裝置)可包括工作站、膝上型計算機、上網本、平板、掌上型計算機、移動電話、智能電話、多媒體電話、因特網協議上的語音(voip)電話、終端、便攜式媒體播放器、gps單元、可佩戴裝置、游戲系統、機頂盒、游戲系統、因特網使能的家用電器。服務器終端站可包括提供內容和/或服務,參與對等服務的裝置,并且例如可包括公共網頁(例如,免費內容、店面、搜索服務)、私人網頁(例如,提供電子郵件服務的用戶名/密碼訪問網頁)和/或通過vpn的企業網絡。

每個網絡元件可與管理網絡元件122-126的網絡管理器120進行通信。本文中下面討論了與圖8a-f有關,在應用、網絡控制器和網絡元件之間交互的細節。圖中示出根據本發明的一個實施例的ne124的功能框。參照圖1,網絡控制器120提供信息到ne124,其將信息放置在駐留在網絡元件內并且由其保持的轉發表143中的條目中。在實施例中,控制器可基于從應用142和144接收到的應用特定要求的全局網絡知識,確定要在轉發表條目中放置的信息。在網絡控制器120與網絡元件124之間的交互一般是在協調網絡元件124的分組轉發的控制路徑上,并且它們通過虛線表示。在網絡元件124內的交互一般是在直接對接收到的分組操作的數據路徑上,并且它們通過實線表示。

分組160由網絡元件接收,并且在分組處理模塊130中處理。分組160指在網絡元件作為單個數據包中的單元接收到的數據,并且可包含具有如從源es102發送的標識信息的完整原始ip分組,或者分組160可只包含來自源es102的原始ip分組的片段。在處理結束時,分組160被轉發到終端站、另一網絡元件、網絡控制器120或被丟棄。

分組處理模塊130的組件形成管道。在一個實施例中,分組處理模塊130包含四個組件:分組接收器131、分組報頭數據存儲/檢索132、轉發表條目匹配134及轉發表條目動作執行136。四個組件每個執行不同的功能,但在一些實施例中,它們可在一個或更多個集成實體中實現。

分組接收器131接收諸如ip分組的傳入分組。分組接收器131確定傳入分組160是否包含原始ip分組還是其片段。原始ip分組是由源es102發送并且尚未分段的分組。如果分組是完整(即,未分段的)的原始ip分組,則網絡元件將完整的ip分組轉發到轉發表條目匹配134。然而,如果分組160只是原始ip分組的片段,則可在分組報頭數據存儲/檢索132中執行另外的處理。在實施例中,分組接收器131也可接收來自包含延遲的分組集合的分組緩沖器133的分組。延遲的分組是先前接收的但尚未完全處理的分組。也就是說,如下面更全面描述的一樣,其處理已被延遲。在備選實施例中,可檢索延遲的分組以便在分組報頭數據存儲/檢索132中處理。

分組報頭數據存儲/檢索132確定原始ip分組的片段是原始ip分組的第一片段還是非第一片段。如果在分組160中包含的片段是第一片段,則從片段中提取/檢索第一片段的字段中的數據,如osi模型的l4-l7報頭信息。此數據可只在原始ip分組的第一片段中存在。隨后的片段可不包含此數據。檢索的數據可放置在片段信息表138的條目中,從中能夠檢索它以便處理包含非第一片段的隨后分組。

圖2是示出根據本發明的實施例的在片段信息表中的條目的框圖。片段信息表138包括用于由網絡元件接收到的原始ip分組的每個不同片段的條目210。每個條目210包括用于與傳入片段中的數據進行比較以選擇此條目作為匹配條目的關鍵字信息220。在一個實施例中,關鍵字220包括諸如原始ip分組標識241的信息和諸如源ip地址242(即,源es102的ip地址)、目的地ip地址243(即,目的地es154的ip地址)的流標識信息和/或協議類型244(例如,tcp,udp)。在一個實施例中,關鍵字220包括原始ip分組標識241、源ip地址242、目的地ip地址243及協議類型244全部。雖然關鍵字220只包括l3字段,但在一些實施例中,關鍵字可包括諸如mac地址和vlanid的l2字段或l2/l3字段的組合。片段信息表條目210也可包括由osi第4至7層用于在一個或更多個上層中處理的信息230。例如,片段信息表條目210包括一個或更多個端口號245,其可包括源端口和/或目的地端口,并且其可被利用于傳送分組。在片段信息表138中的條目中包含的數據也可用于確定如何處理第一片段(從其中檢索的數據)。注意,片段信息表138的條目可周期性地更新。例如,條目如果在某個時間期內未使用,則可被刪除。

如果傳入分組是除了第一片段外的任何片段(本文中稱為非第一片段),則非第一片段可不包含與osi第4-7層關聯的字段。在該情況下,在非第一片段的l2和/或l3字段中的信息(例如,報頭信息)可用于找到在片段信息表138中存儲的對應osi第4-7層報頭信息的匹配條目。在本發明的實施例中,通過匹配非第一片段中的目的地ip地址和可選地匹配識別流的源ip地址,以及匹配非第一片段中識別原始ip分組(被從其中片段被分段)的分組標識號,可識別片段信息表138中的對應條目。在流和分組標識信息匹配片段信息表138中條目中的關鍵字信息220時,檢索條目210中的osil4-l7報頭信息230。分組處理在轉發表條目匹配134中繼續,在其中分組

原始ip分組的分組片段可無序到達,并且具體而言,非第一片段可在第一片段之前被接收到。在原始ip分組的第一片段前接收到非第一片段時,在片段信息表138中可能尚未存在與非第一片段的原始ip分組關聯的匹配條目。在等待接收第一片段的同時,可延遲非第一片段的處理。

分組緩沖器133是用于延遲的分組片段的保留區域。在片段信息表138中有關聯條目前,可延遲片段。分組緩沖器可與計時器關聯,在超過計時器的延遲閾值情況下,分組片段被丟棄。在實施例中,延遲閾值可以是最大經過時間(elapsedtime)量(在其期間可延遲片段)。延遲閾值可配置成時間量(在其期間預期將添加關聯的片段信息表條目)。在實施例中,計時器可跟蹤每個片段等待被處理的時間量,并且計時器可周期性地與延遲閾值進行比較以確定延遲時間是否超過配置的延遲閾值。在實施例中,可將計時器初始化成倒數到零的延遲閾值的值,并且在計時器截止時發送通知。在備選實施例中,延遲閾值可以是找到所需片段信息表條目的嘗試的最大次數。延遲閾值可配置成是可為了匹配條目搜索片段信息表的最大次數。每次為了用于處理特定延遲的片段所需的條目而搜索表時,可遞增計數器值。在實施例中,在計數器值超過嘗試的配置的最大次數時,延遲閾值被超過。

在超過延遲閾值前所需表條目變得可用時,可重新處理(即,繼續處理)已延遲且在等待該條目的片段。

如果分組160是原始ip分組或其第一片段,則轉發表條目匹配134可只使用來自分組160的數據來匹配轉發表143中的條目。但如果分組是非第一片段,則轉發表條目匹配134另外使用從片段信息表138檢索的osil4-l7信息230來匹配轉發表143中的條目。

圖3是示出根據本發明的實施例的在轉發表143中的條目的框圖。轉發表143中的每個條目包括匹配屬性集合和動作集合。條目310-314分別包括匹配屬性320-324和動作330-334。在osil4-l7數據匹配表條目的匹配屬性320字段中的數據時,選擇轉發表條目310。在選擇轉發表條目時,動作數據用于確定如何處理分組160。在實施例中,動作數據可引導網絡元件將分組轉發到朝向目的地ip地址的靜態配置的下一網絡元件。例如,轉發表條目310可指示在分組包含目的地es154的目的地地址時,分組將被轉發到已知更靠近目的地es154的網絡元件126。在轉發表條目中可指定的其它動作包括:將分組發送到網絡控制器120以便進行另外的處理(條目314),放棄/丟棄分組或者在多個傳出接口上復制分組。如果無轉發表條目具有匹配分組160中數據的匹配屬性320,則可采取默認動作,如丟棄分組。在找到匹配轉發表條目時,處理在轉發表條目動作執行136中繼續。

轉發表條目動作執行136執行在轉發表條目中指定的動作。例如,如果動作要將分組發送到控制器,則轉發表條目動作執行136將發送分組到網絡控制器120。網絡控制器可確定要將分組轉發到的下一網絡元件或在決定要求高成本計算或在網絡元件中不可用的網絡的全局知識時的其它動作。例如,下一網絡元件(分組應向其轉發)可由網絡控制器120基于全局網絡信息動態確定(例如,通過考慮當前網絡業務而執行負載平衡)。網絡控制器120可通過有關轉發分組到何處的指令,將分組返回到網絡元件。轉發表條目動作執行136也可基于對網絡元件已知的實時環境,確定動態轉發地址。例如,網絡元件可知曉哪些網絡接口可用于轉發業務,并且實時選擇可用接口。如果動作要將分組發送到下一網絡元件,則轉發表條目動作執行136將發送分組到指定的網絡元件。也可在網絡元件丟棄分組。

過程流

圖4-6是示出處理分組片段的方法的流程圖。雖然圖中的流程圖示出本發明的某些實施例執行的操作的特定順序,但應理解,此類順序是示范的(例如,備選實施例可以以不同的順序執行操作,組合某些操作,重疊某些操作等)。此外,將參照諸如圖1和8的其它圖形的示范實施例,描述流程圖的操作。然而,應理解的是,流程圖的操作能夠通過與參照這些其它圖形所討論的那些實施例不同的本發明的實施例執行,并且參照圖這些其它圖形所討論的本發明的實施例能夠執行與參照流程圖所述的那些實施例不同的操作。

圖4是示出根據本發明的一個實施例的用于在sdn系統中的網絡元件處理ip分組片段的方法的流程圖。方法400可由sdn系統的網絡元件執行,更具體地說,由諸如圖1的分組處理模塊130等網絡元件的分組處理模塊執行。在一個實施例中,網絡元件是openflow交換機。在該情況下,openflow交換機的操作符合openflow規范。

在標號410,網絡元件接收分組。網絡元件由如本文中下面討論的一個或更多個網絡裝置實現。在標號420,網絡元件確定分組是否包含原始因特網協議(ip)分組的片段。在識別到鏈路(分組需要在其上傳送)的mtu小于分組大小時,將原始ip分組分段成多個有序片段。在分組片段中,僅多個有序片段的第一片段包含與開放系統互連第4-7層關聯的一個或更多個字段,其中一個或更多個字段可用于轉發第一片段。

在標號430,在確定分組包含原始ip分組的片段時,網絡元件確定分組是否包含原始ip分組的第一片段。如果分組包含第一片段,則在標號440,網絡元件將條目添加到sdn系統的片段信息表。如果片段信息表尚未設定,則網絡元件先設定片段信息表,并且隨后用條目填充片段信息表。該條目與原始ip分組關聯,并且包括在與開放系統互連第4-7層關聯的一個或更多個字段中在第一片段中包含的數據,并且該條目由網絡元件用于處理原始ip分組的非第一片段。片段信息表的一個實施例在圖2中示出。

返回參照圖4,在標號450,在接收原始ip分組的所有片段前,網絡元件基于在與開放系統互連第4-7層關聯的一個或更多個字段中的在第一片段中包含的數據來處理原始ip分組的第一片段。在一個實施例中,處理包括基于在與開放系統互連第4-7層關聯的一個或更多個字段中的在第一片段中包含的數據,將第一片段轉發到特定網絡元件。

方法400包括處理原始ip分組的第一片段的操作。在一個實施例中,方法400之后是方法500,其處理原始ip分組的非第一片段。

圖5是示出根據本發明的一個實施例的用于在sdn系統中的網絡元件處理ip分組片段的另一方法的流程圖。方法500包括處理原始分組的非第一片段的操作。方法500可由sdn系統的網絡元件執行,更具體地說,由諸如圖1的分組處理模塊130等網絡元件的分組處理模塊執行。方法500以假設片段信息表已經在網絡元件設定開始。

在標號510,在確定接收到的分組包含原始ip分組的非第一片段時,網絡元件為了與原始ip分組關聯的匹配條目而檢查片段信息表。在標號520,在未找到匹配條目時,網絡元件將原始ip分組的非第一片段的處理延遲一時間期。

隨后,可選地在標號530,網絡元件監視用于非第一片段的延遲閾值。延遲閾值可以是設置成在預確定而沒有找到匹配條目時截止的計時器,或設置成在網絡元件為了匹配條目而檢查片段信息表預確定的次數時重置的計數器。延遲閾值可對不同原始ip分組或原始ip分組的不同片段是不同的。在標號540,在延遲閾值超過時,網絡元件丟棄分組。

在標號550,在該時間期后,網絡元件繼續為了用于非第一片段的匹配條目而檢查片段信息表。如果未找到匹配條目,則流程可回到標號520。如果未找到匹配條目,并且延遲閾值未超過,則循環繼續進行。在延遲原始ip分組的非第一片段的處理該時間期的同時,在標號560,網絡元件接收包含原始分組的第一片段的隨后分組。網絡元件可根據方法400將條目添加到片段信息表。之后,網絡元件會能夠找到用于非第一片段的匹配條目。

在標號570,響應在片段信息表中找到與用于非第一片段的原始ip分組關聯的匹配條目,其中匹配條目包含來自原始ip分組的第一片段的數據,網絡元件基于匹配條目中的數據來處理原始ip分組的非第一片段。

圖6是示出根據本發明的實施例的用于使用在第一ip片段中的ip分組報頭信息處理隨后ip分組片段的方法的流程圖。方法600可由sdn系統的網絡元件執行,更具體地說,由諸如圖1的分組處理模塊130等網絡元件的分組處理模塊執行。

在標號680,網絡元件接收分段的分組,其是原始ip分組的片段。在標號610,網絡元件確定接收到的片段是否為原始ip分組的第一片段。如果確定接收到的片段是第一片段,則在標號670,網絡元件從第一片段的l4-l7報頭中提取數據,并且提取的數據存儲在為關聯的原始ip分組創建的片段信息表條目內。隨后,轉發接收到的第一片段。

如果在標號610,網絡元件確定接收到的片段不是第一片段(因此為非第一片段),則處理繼續到操作620,其中網絡元件確定在片段信息表中是否有匹配接收到的非第一片段的條目(即,與原始ip分組(該片段起源于其)關聯的條目)。如果匹配表條目存在,則流程轉到標號660,其中網絡元件檢索在匹配片段信息表條目中存儲的數據,并且使用該數據轉發接收到的非第一片段。

如果在標號620,網絡元件確定不存在匹配片段信息表條目,則處理繼續到標號630,其中網絡元件確定延遲閾值是否已超過。在非第一片段已等待被處理太久時,延遲閾值已超過。如果用于接收到的非第一片段的延遲閾值已超過,則在標號650,網絡元件丟棄該片段。在一個實施例中,除丟棄片段外,網絡元件也丟棄等待被處理的相同原始ip分組的其它非第一片段。

如果在標號630,網絡元件確定延遲閾值尚未超過,則在標號640,網絡元件延遲該片段的處理。例如,該片段可被置于圖1的分組緩沖器133中。在等待一時間期后,可在期望在等待時間期間第一片段可能已到達,并且需要的片段信息表條目已創建的情況下,通過在標號680的操作再次處理延遲的片段。

分組片段報頭

圖7是示出根據本發明的實施例的分成片段的ip分組的圖形。分組700是完整的ip分組,如原始ip分組。分組700包含諸如tcp報頭720或udp報頭(第4層)和ip報頭730(第3層)等幾個報頭。在實施例中,ip報頭可以是ipv4報頭。在備選實施例中,ip報頭可以是ipv6報頭。用于第5-7層的報頭也可與分組關聯,但未在圖7中明確示出。以下示例描述在圖7中示出的報頭中的可對sdn應用有用的數據。此數據和數據的位置提供的信息基于示例中顯示的特定報頭。通常,可使用任何報頭的任何字段中的任何數據。在ip分組被分段時,片段1(710)是第一片段,并且包含用于ip分組的所有報頭。諸如片段2(740)到片段n等其它段可只包含第2層(未示出)和第3層報頭,如(ipv4或ipv6)。使用分段1(710)中的tcp報頭720作為示例,可檢索并且存儲在片段信息表中的報頭中的字段可以是源端口(比特0-15)和目的地端口(比特16-31)及序列號(比特32-63)。

可在片段信息表中存儲的在第4層報頭中字段中的數據可包括源端口、目的地端口、序列號和/或確認號。可在片段信息表條目中存儲的在第3層報頭中字段中的數據可包括標識(比特32-47)、源ip地址(比特96-127)和目的地ip地址(比特128-159)。片段偏移(比特51到63)指定在原始ip分組(片段在其中開始)內的偏移,并且可用于確定在處理的片段是第一還是非第一片段。零的片段偏移指示片段是第一片段,并且任何非零偏移指示非第一片段。

實現本發明的實施例的系統和網絡裝置

網絡裝置(nd)是以通信方式將網絡上的其它電子裝置(例如,其它網絡裝置、最終用戶裝置)互連的電子裝置。一些網絡裝置是“多服務網絡裝置”,其為多個聯網功能(例如,路由選擇、橋接、交換、第2層聚合、會話邊界控制、服務質量和/或訂戶管理)提供支持和/或為多個應用服務(例如,數據、語音和視頻)提供支持。

圖8a示出根據本發明的一些實施例的在示范網絡內的網絡裝置(nd)之間的連接性及nd的三個示范實現。圖8a顯示nd800a-h和通過在a-b、b-c、c-d、d-e、e-f、f-g和a-g之間及在h與a、c、d和g每個之間的線路的其連接性。這些nd是物理裝置,并且在這些nd之間的連接性能夠是無線的或有線的(經常稱為鏈路)。從nd800a、e和f延伸的另外線路示出這些nd充當用于網絡的入口和出口點(并且因此這些nd有時稱為邊緣nd;而其它nd可稱為核心nd)。

在圖8a中的兩個示范nd實現是:1)使用定制專用集成電路(asic)和專有操作系統(os)的專用網絡裝置802;和2)使用通用現貨(cots)處理器和標準os的通用網絡裝置804。

專用網絡裝置802包括組網硬件810,其包括一個或更多個計算資源812(其通常包括一個或更多個處理器的集合)、一個或更多個轉發資源814(其通常包括一個或更多個asic和/或網絡處理器)和物理網絡接口(ni)816(有時稱為物理端口)及非暫時性機器可讀存儲媒體(具有存儲在其中的包括分組處理模塊(ppm)130的組網軟件820)818,本文中上面公開了模塊的操作。物理ni是nd中的硬件,通過它進行網絡連接(例如,以無線方式通過無線網絡接口控制器(winic)或者通過將電纜插入連接到網絡接口控制器(nic)的端口),如通過由在nd800a-h之間的連接性顯示的那些連接。在操作期間,組網軟件820可由組網硬件810執行,以例示一個或更多個組網軟件實例822的集合,包括分組處理模塊的實例(稱為分組處理實例或ppi)811a。一個或更多個組網軟件實例822的每個和執行該網絡軟件實例的組網硬件810的該部分(無論是專用于該組網軟件實例的硬件和/或該組網軟件實例與一個或更多個組網軟件實例822中的其它組網軟件實例暫時共享的硬件的時間片)形成單獨的虛擬網絡元件830a-r。一個或更多個虛擬網絡元件(vne)830a-r的每個包括控制通信和配置模塊832a-r(有時稱為本地控制模塊或控制通信模塊)、分組處理實例811a-r和一個或更多個轉發表834a-r,使得給定虛擬網絡元件(例如,830a)包括控制通信和配置模塊(例如,832a)、分組處理實例(例如,811a-r)和一個或更多個轉發表(例如,834a)的集合及執行虛擬網絡元件(例如,830a)的組網硬件810的該部分。

專用網絡裝置802經常在物理上和/或在邏輯上被視為包括:1)nd控制平面824(有時稱為控制平面),其包括執行控制通信和一個或更多個配置模塊832a-r的一個或更多個計算資源812;和2)nd轉發平面826(有時稱為轉發平面、數據平面或媒體平面),其包括利用一個或更多個轉發表834a-r的一個或更多個轉發資源814和物理ni816。通過示例,在nd是路由器(或在實現路由選擇功能性)的情況下,nd控制平面824(執行一個或更多個控制通信和配置模塊832a-r的一個或更多個計算資源812)通常負責參與控制如何路由數據(例如,分組)(例如,用于數據的下一跳和用于該數據的傳出物理ni)和在一個或更多個轉發表834a-r中存儲該路由選擇信息,并且nd轉發平面826負責在物理ni816上接收該數據和基于一個或更多個轉發表834a-r,將該數據轉發出物理ni816的適當一些。

圖8b示出根據本發明的一些實施例的實現專用網絡裝置802的示范方式。圖8b顯示包括卡838(通常可熱插拔)的專用網絡裝置。雖然在一些實施例中,卡838具有兩種類型[作為nd轉發平面826操作的一個或更多個卡(有時稱為線路卡)和操作以實現nd控制平面824的一個或更多個卡(有時稱為控制卡)],但備選實施例可組合功能性到單個卡上和/或包括另外的卡類型(例如,一個另外類型的卡稱為服務卡、資源卡或多應用卡)。服務卡能夠提供專業化處理[例如,第4層到第7層服務(例如,防火墻、因特網協議安全性(ipsec)(rfc4301和4309)、安全套接層(ssl)/傳輸層安全性(tls)、入侵檢測系統(ids)、對等(p2p))、ip上的語音(voip)會話邊界控制器、移動無線網關(網關通用分組無線電服務(gprs)支持節點(ggsn)、演進分組核心(epc)網關)]。通過示例,服務卡可用于終接ipsec隧道,并且執行參與者驗證(attendantauthentication)和加密算法。這些卡通過示為背板836的一個或更多個互連機制耦合在一起(例如,耦合線路卡的第一全網狀和耦合所有卡的第二全網狀)。

返回圖8a,通用網絡裝置804包括硬件840,其包括一個或更多個處理器842(經常是cots處理器)的集合、一個或更多個網絡接口控制器844(nic;也稱為網絡接口卡)(其包括物理ni846)及非暫時性機器可讀存儲媒體848(具有存儲在其上的包括分組處理模塊(ppm)130的軟件850)。在操作期間,一個或更多個處理器842執行軟件850以例示管理程序854(有時稱為虛擬機監視器(vmm))和由管理程序854運行的一個或更多個虛擬機862a-r,其總稱為一個或更多個軟件實例852。虛擬機是物理機器的軟件實現,其運行程序,就好像它們在物理的非虛擬化機器上執行一樣;并且與在“裸機”主機電子裝置上運行相對,應用一般不知道它們在虛擬機上運行,盡管一些系統提供準虛擬化(para-virtualization),其允許操作系統或應用知曉用于優化目的的虛擬化的存在。每個虛擬機862a-r和執行該虛擬機的硬件840的該部分(無論是專用于虛擬機的硬件和/或該虛擬機與一個或更多個虛擬機862a-r的其它虛擬機暫時共享的硬件的時間片)形成單獨的一個或更多個虛擬網絡元件860a-r。

一個或更多個虛擬網絡元件860a-r執行與一個或更多個虛擬網絡元件830a-r類似的功能性。例如,管理程序854可呈現虛擬操作平臺,該平臺對虛擬機862a顯得像組網硬件810一樣,并且虛擬機862a可用于實現與一個或更多個控制通信和配置模塊832a、分組處理實例811a-r和一個或更多個轉發表834a-r類似的功能性(硬件840的此虛擬化有時稱為網絡功能虛擬化(nfv))。因此,nfv可用于合并許多網絡設備類型到能夠位于數據中心、nd和客戶駐地設備(cpe)中的工業標準高容量服務器硬件、物理交換機和物理存儲裝置上。然而,本發明的不同實施例可以以不同方式實現一個或更多個虛擬機862a-r。例如,雖然本發明的實施例示出具有對應于一個vne860a-r的每個虛擬機862a-r,但備選實施例可在更精細級別粒度實現此對應關系(例如,線路卡虛擬機虛擬化線路卡,控制卡虛擬機虛擬化控制卡等);應理解的是,本文中參照虛擬機與vne的對應關系描述的技術也適用于使用此類更精細級別的粒度的實施例。

在某些實施例中,管理程序854包括與物理以太網交換機提供類似轉發服務的虛擬交換機。具體而言,此虛擬交換機在虛擬機與一個或更多個nic844之間及可選地在虛擬機862a-r之間轉發業務;另外,此虛擬交換機可在根據策略不允許相互進行通信的vne860a-r之間實行網絡隔離(例如,通過執行(honoring)虛擬局域網(vlan))。

在圖8a中的第三示范nd實現是混合網絡裝置806,其包括在單個nd中或在nd內的單個卡中的定制asic/專有os和cots處理器/標準os。在此類混合網絡裝置的某些實施例中,平臺vm(即,實現專用網絡裝置802的功能性的vm)能夠提供半虛擬化到在混合網絡裝置806中存在的組網硬件。

無論nd的上面示范實現如何,在考慮由nd實現的多個vne的單個vne(例如,僅vne其中之一是給定虛擬網絡的一部分)時,或者在僅單個vne當前由nd實現的情況下,縮略術語網絡元件(ne)有時用于指該vne。此外,在所有上面示范實現中,每個vne(例如,一個或更多個vne830a-r、vne860a-r和在混合網絡裝置806中的那些vne)接收在物理ni(例如,816、846)上的數據,并且將該數據轉發出物理ni(例如,816、846)的適當一些。例如,實現ip路由器功能性的vne基于ip分組中的一些ip報頭信息轉發ip分組;其中,ip報頭信息包括源ip地址、目的地ip地址、源端口、目的地端口(其中,“源端口”和“目的地端口”在本文中指協議端口,與nd的物理端口相對)、傳輸協議[例如,用戶數據報協議(udp)(rfc768、2460、2675、4113和5405)]、傳送控制協議(tcp)(rfc793和1180)及差分服務(dscp)值(rfc2474、2475、2597、2983、3086、3140、3246、3247、3260、4594、5865、3289、3290和3317)。

圖8c示出根據本發明的一些實施例的各種示范方式,在其中可耦合vne。圖8c顯示在nd800a中實現的vne870a.1-870a.p(并且可選地為vne870a.q-870a.r)和在nd800h中的vne870h.1。在圖8c中,vne870a.1-p彼此分隔,表現在它們能夠接收來自外部nd800a的分組,并且將分組轉發到nd800a外;vne870a.1與vne870h.1耦合,并且因此,它們在其相應nd之間傳遞分組;vne870a.2-870a.3可以可選地在它們之間轉發分組而不將它們轉發到nd800a外;并且vne870a.p可以可選地為在vne鏈中的第一vne,vne鏈包括vne870a.q,其之后為vne870a.r(這有時稱為動態服務鏈,其中vne系列中的每個vne提供不同服務-例如,一個或更多個第4-7層網絡服務)。雖然圖8c示出在vne之間的各種示范關系,但備選實施例可支持其它關系(例如,更多/更少vne、更多/更少動態服務鏈、帶有一些通用vne和一些不同vne的多個不同動態服務鏈)。

圖8a的nd例如可形成因特網或專用網絡的一部分;并且其它電子裝置(未顯示;如終端用戶裝置,包括工作站、膝上型計算機、上網本、平板、掌上型計算機、移動電話、智能電話、多媒體電話、因特網協議上的語音(voip)電話、終端、便攜式媒體播放器、gps單元、可佩戴裝置、游戲系統、機頂盒、游戲系統、因特網使能家用電器)可耦合到網絡(直接或通過諸如接入網等其它網絡),以通過網絡[例如,因特網或在因特網上覆蓋(例如,遂穿通過)的虛擬專用網(vpn)](直接或通過服務器)相互進行通信,和/或訪問內容和/或服務。此類內容和/或服務通常由屬于參與對等(p2p)服務的一個或更多個終端用戶站(未顯示)或服務/內容提供商提供,并且可例如包括公共網頁(例如,免費內容、店面、搜索服務)、私人網頁(例如,提供電子郵件服務的用戶名/密碼訪問網頁)和/或通過vpn的企業網絡。例如,終端用戶裝置可耦合[例如,通過耦合到接入網(以有線或無線方式)的客戶駐地設備]到邊緣nd,邊緣nd耦合(例如通過一個或更多個核心nd)到其它邊緣nd,其它邊緣nd耦合到充當服務器的電子裝置。然而,通過計算和存儲虛擬化,作為圖8a中nd操作的一個或更多個電子裝置也可托管一個或更多個此類服務器(例如,在通用網絡裝置804的情況下,一個或更多個虛擬機862a-r可作為服務器操作;相同內容會對混合網絡裝置806是成立的;在專用網絡裝置802的情況下,一個或更多個此類服務器也能夠在由一個或更多個計算資源812執行的管理程序上運行);在此情況下,服務器可說成是與該nd的vne位于一起。

虛擬網絡是提供網絡服務(例如,l2和/或l3服務)的物理網絡的邏輯抽象(如在圖8a中的物理網絡)。虛擬網絡能夠實現為覆蓋網絡(有時稱為網絡虛擬化覆蓋),其通過底層網絡[例如,l3網絡,如使用隧道(例如,常規路由選擇封裝(gre)、第2層隧穿協議(l2tp)、ipsec)形成覆蓋網絡的因特網協議(ip)網絡]提供網絡服務[例如,第2層(l2,數據鏈路層)和/或第3層(l3,網絡層)服務]。

網絡虛擬化邊緣(nve)位于底層網絡的邊緣,并且參與實現網絡虛擬化;nve的面向網絡側使用底層網絡向和從其它nve隧穿幀;nve的向外側向在網絡外的系統發送數據和從在網絡外的系統接收數據。虛擬網絡實例(vni)是在nve上虛擬網絡的特定實例(例如,在nd上的ne/vne、在nd上的ne/vne的一部分,其中該ne/vne通過仿真被分割成多個vne);一個或更多個vni能夠在nve上例示(例如,作為在nd上的不同vne)。虛擬接入點(vap)是在nve上用于連接外部系統到虛擬網絡的邏輯連接點;vap能夠是通過邏輯接口標識符(例如,vlanid)識別的物理或虛擬端口。

網絡服務的示例包括:1)以太網lan仿真服務(類似于因特網工程任務組(ietf)多協議標簽交換(mpls)或以太網vpn(evpn)服務的基于以太網的多點服務),其中外部系統通過底層網絡跨網絡由lan環境互連[例如,nve為不同的此類虛擬網絡提供單獨的l2vni(虛擬交換實例)和跨底層網絡的l3(例如,ip/mpls)隧穿封裝];和2)虛擬化ip轉發服務[從服務定義角度而言,類似于ietfipvpn(例如,邊界網關協議(bgp)/mplsipvpnrfc4364)],其中外部系統通過底層網絡跨網絡由l3環境互連[例如,nve為不同的此類虛擬網絡提供單獨的l3vni(轉發和路由選擇實例)和跨底層網絡的l3(例如,ip/mpls)隧穿封裝]。網絡服務也可包括服務質量能力(例如,業務分類標記,業務調節和調度)、安全性能力(例如,保護客戶駐地以防止網絡起源的攻擊,避免畸形路由通知的濾波器)和管理能力(例如,完全檢測和處理)。

圖8d示出根據本發明的一些實施例的在圖8a的每個nd上的帶有單個網絡元件的網絡和用于保持可達性和轉發信息(也稱為網絡控制)的集中方案。具體而言,圖8d示出帶有與圖8a的nd800a-h相同連接性的網絡元件(ne)870a-h。

圖8d示出使做出有關業務從將業務轉發到選擇的目的地的底層系統發送到何處的判定的系統去耦的集中方案874(也稱為軟件定義組網(sdn))。示出的集中方案874具有在集中控制平面876(有時稱為sdn控制模塊、控制器、網絡控制器、openflow控制器、sdn控制器、控制平面節點、網絡虛擬化機構或管理控制實體)中生成可達性和轉發信息的責任,并且因此鄰居發現和拓撲發現的過程被集中。集中控制平面876具有南向接口882,其帶有包括ne870a-h(有時稱為交換機、轉發元件、數據平面元件或節點)的數據平面880[有時稱為基礎設施層、網絡轉發平面或轉發平面(其不應與nd轉發平面混淆)]。集中控制平面876包括網絡控制器878,其包括確定網絡內的可達性并且通過南向接口882(可使用openflow協議)將轉發信息分布到數據平面880的ne870a-h的集中可達性和轉發信息模塊879。

網絡智能集中在通常與nd分離的電子裝置上執行的集中控制平面876中。例如,在專用網絡裝置802在數據平面880中使用的情況下,nd控制平面824的一個或更多個控制通信和配置模塊832a-r中的每個通常包括提供南向接口882的vne側的控制代理。在此情況下,nd控制平面824(執行一個或更多個控制通信和配置模塊832a-r的一個或更多個計算資源812)執行其責任以便參與控制如何通過與集中控制平面876進行通信的控制代理路由數據(例如,分組)(例如,用于數據的下一跳和用于該數據的傳出物理ni),以接收來自集中可達性和轉發信息模塊879的轉發信息(和在一些情況下的可達性信息)(應理解的是,在本發明的一些實施例中,除與集中控制平面876進行通信外,一個或更多個控制通信和配置模塊832a-r也可在確定可達性和/或計算轉發信息中起到一定的作用-盡管比在分布式方案的情況下更少;此類實施例一般被視為落在集中方案874下,但也可被視為混合方案)。

雖然上面示例使用專用網絡裝置802,但相同的集中方案874能夠通過通用網絡裝置804[例如,每個vne860a-r執行其責任以便通過與集中控制平面876進行通信,以接收來自集中可達性和轉發信息模塊879的轉發信息(和在一些情況下的可達性信息)而控制如何路由數據(例如,分組)(例如,用于數據的下一跳和用于該數據的傳出物理ni);應理解的是,在本發明的一些實施例中,除與集中控制平面876進行通信外,vne860a-r也可在確定可達性和/或計算轉發信息中起到一定的作用-盡管比在分布式方案的情況下更少]和混合網絡裝置806來實現。實際上,sdn技術的使用能夠增強通常在通用網絡裝置804或混合網絡裝置806實現中使用的nfv技術,因為nfv能夠通過提供基礎設施(sdn軟件能夠在其上運行)來支持sdn,并且nfv和sdn均旨在利用普通(commodity)服務器硬件和物理交換機。

圖8d也顯示集中控制平面876具有到應用層886(其中駐留有一個或更多個應用888)的北向接口884,應用888包括圖1的應用142-144。集中控制平面876具有形成用于一個或更多個應用888的虛擬網絡892[有時稱為邏輯轉發平面、網絡服務或覆蓋網絡(其中數據平面880的ne870a-h是底層網絡)]的能力。因此,集中控制平面876保持所有nd和配置的ne/vne的全局視圖,并且它有效地映射虛擬網絡到底層nd[包括在物理網絡通過硬件(nd,鏈路或nd組件)故障、添加或移除而更改時保持這些映射]。

雖然圖8d示出每個nd800a-h實現單個ne870a-h的簡單情況,但應理解的是,參照圖8d描述的網絡控制方案也對網絡起作用,在所述網絡中一個或更多個nd800a-h實現多個vne(例如,vne830a-r、vne860a-r、在混合網絡裝置806中的那些vne)。備選地或另外,網絡控制器878也可在單個nd中仿真多個vne的實現。具體而言,網絡控制器878可將在單個nd中vne/ne的實現呈現為在虛擬網絡892中的多個vne(全部在一個或更多個虛擬網絡892的相同的一個中,每個在一個或更多個虛擬網絡892的不同一些中或某一組合)而不是在單個nd中實現多個vne(或除此之外)。例如,網絡控制器878可使nd在底層網絡中實現單個vne(ne),并且隨后在邏輯上在集中控制平面876內劃分該ne的資源,以在一個或更多個虛擬網絡892中呈現不同的vne(其中,覆蓋網絡中的這些不同vne共享在底層網絡中在nd上單個vne/ne實現的資源)。

另一方面,圖8e和8f分別示出網絡控制器878可展示為虛擬網絡892的不同一些的部分的ne和vne的示范抽象。圖8e示出根據本發明的一些實施例的的簡單情況,其中每個nd800a-h實現單個ne870a-h(參見圖8d)但集中控制平面876已提取不同nd中的多個ne(ne870a-c和g-h)到(以表示)圖8d的一個或更多個虛擬網絡892之一中的單個ne870i。圖8e顯示在此虛擬網絡中,ne807i耦合到均仍耦合到ne870e的ne870d和870f。

圖8f示出根據本發明的一些實施例的情況,其中多個vne(vne870a.1和vne870h.1)在不同nd(nd800a和nd800h)上實現并且相互耦合,并且其中集中控制平面876已提取這些多個vne,使得它們在圖8d的虛擬網絡892之一內顯得像單個vne870t一樣。因此,ne或vne的抽象能夠跨多個nd。

雖然本發明的一些實施例將集中控制平面876實現為單個實體(例如,在單個電子裝置上運行的軟件的單個實例),但備選實施例可跨多個實體擴展功能性,以實現冗余和/或可縮放性目的(例如,在不同電子裝置上運行的軟件的多個實例)。

包括集中可達性和轉發信息模塊879的網絡控制器878可以以多種方式實現[例如,專用裝置、通用(例如,cots)裝置或混合裝置]。這些一個或更多個電子裝置會類似地包括一個或更多個計算資源、一個或更多個物理nic或其集合和非暫時性機器可讀存儲介質(具有存儲在其上的集中控制平面軟件)。

流可被定義為分組(其報頭匹配比特的給定模式)集合;在此意義上,傳統的ip轉發也是基于流的轉發,其中,流由例如目的地ip地址定義;然而,在其它實現中,用于流定義的比特的給定模式可包括在分組報頭中的更多字段(例如,10個或更多個)。數據平面880的不同nd/ne/vne可接收不同消息,并且因此接收不同轉發信息。數據平面880處理這些消息,并且在適當ne/vne的轉發表(有時稱為流表)中編程適當的流信息和對應動作,并且隨后ne/vne將傳入分組映射到轉發表中表示的流,并且基于在轉發表中的匹配轉發分組。

諸如openflow等標準定義用于消息的協議及用于處理分組的模型。用于處理分組的模型包括報頭解析、分組分類和進行轉發判定。報頭解析描述如何基于公知的協議集合來解釋分組。一些協議字段用于構建將在分組分類中使用的匹配結構(或關鍵字)(例如,第一關鍵字字段能夠是源媒體接入控制(mac)地址,并且第二關鍵字字段能夠是目的地mac地址)。

分組分類涉及在存儲器中執行查找,以通過基于轉發表條目的匹配結構或關鍵字來確定轉發表中哪個條目(也稱為轉發表條目或流條目)最佳匹配分組來將分組分類。可能在轉發表條目中表示的許多流能夠對應/匹配分組;在此情況下,系統通常配置成根據定義的方案(例如,選擇匹配的第一轉發表條目)從許多條目中確定一個轉發表條目。轉發表條目包括匹配準則的特定集合(值或通配符集合,或者應比較分組的哪些部分和如由匹配能力定義的用于分組報頭中的特定字段或用于某一其它分組內容的特定值/多個值/通配符的指示)和由數據平面在接收匹配分組時采取的一個或更多個動作的集合。例如,動作可以是將報頭推送到分組上,用于使用特定端口的分組,滿溢分組,或者只是丟棄分組。因此,用于帶有特定傳送控制協議(tcp)目的地端口的ipv4/ipv6分組的轉發表條目能夠包含指定應丟棄這些分組的動作。

進行轉發判定并且執行動作基于在分組分類期間識別的轉發表條目,通過在分組上執行在匹配的轉發表條目中識別的該動作集合而發生。

然而,在未知分組(例如,“缺失的分組”或如在openflow術語中使用的“匹配缺失”)到達數據平面880時,通常將分組(或分組報頭和內容的子集)轉發到集中控制平面876。集中控制平面876隨后將轉發表條目編程到數據平面880中以便容納(accommodate)屬于未知分組的流的分組。一旦特定轉發表條目已由集中控制平面876編程到數據平面880中,帶有匹配憑據的下一分組便將匹配該轉發表條目,并且采取與該匹配的條目關聯的動作集合。

網絡接口(ni)可以是物理或虛擬的;并且在ip的上下文中,接口地址是指派到ni的ip地址,而無論它是物理ni還是虛擬ni。虛擬ni可與物理ni,與另一虛擬接口關聯,或者自己獨立成立(例如,環回接口、點對點協議接口)。ni(物理或虛擬)可以被編號(帶有ip地址的ni)或未被編號(無ip地址的ni)。環回接口(及其環回地址)是經常用于管理目的的ne/vne(物理或虛擬)的特定類型的虛擬ni(和ip地址);其中,此類ip地址稱為節點環回地址。指派到nd的一個或更多個ni的一個或更多個ip地址被稱為該nd的ip地址;在更高粒度級別,指派到一個或更多個ni(其指派到在nd上實現的ne/nve)的一個或更多個ip地址能夠被稱為該ne/vne的ip地址。

每個vne(例如,虛擬路由器、虛擬橋[其可充當在虛擬專用lan服務(vpls)中的虛擬交換機實例(rfc4761和4762)]通常是獨立可管理的。例如,在多個虛擬路由器的情況下,每個虛擬路由器可共系統資源,但與關于其管理域、aaa(驗證、授權和計費)名稱空間、ip地址及一個或更多個路由選擇數據庫的其它虛擬路由器分開。在邊緣nd中可采用多個vne以便為服務的訂戶和/或內容提供商提供直接網絡接入和/或不同類的服務。

在某些nd內,獨立于物理ni的“接口”可配置為vne的一部分以提供更高層協議和服務信息(例如,第3層尋址)。aaa服務器中的訂戶記錄識別(除其它訂戶配置要求外)對應訂戶應在nd內綁定到哪個上下文(例如,哪個vne/ne)。如本文中使用的,綁定形成了在物理實體(例如,物理ni、信道)或邏輯實體[例如,諸如訂戶電路、邏輯電路(一個或更多個訂戶電路的集合)等電路]與上下文的接口[通過該接口為該上下文配置網絡協議(例如,路由選擇協議、橋接協議)]之間的關聯。在某一更高層協議接口已配置并與該物理實體關聯時,訂戶數據在物理實體上流動。

本發明的不同實施例可使用軟件、固件和/或硬件的不同組合實現。因此,圖中顯示的技術能夠使用一個或更多個電子裝置(例如,終端系統、網絡裝置)上存儲和執行的代碼和/或數據來實現。此類電子裝置使用計算機可讀媒體存儲和傳遞(在內部和/或通過網絡與其它電子裝置)代碼和數據,如非暫時性計算機可讀存儲媒體(例如,磁盤、光盤、隨機存取存儲器、只讀存儲器、閃存裝置、相變存儲器)和暫時性計算機可讀傳送媒體(例如,電、光、聲或其它形式傳播信號-如載波、紅外信號、數字信號)。另外,此類電子裝置通常包括耦合到諸如一個或更多個存儲裝置(非暫時性機器可讀存儲媒體)、用戶輸入/輸出裝置(例如,鍵盤、觸摸屏和/或顯示器)和網絡連接等一個或更多個其它組件的一個或更多個處理器的集合。該處理器集合與其它組件的耦合通常是通過一個或更多個總線和橋接器(也稱為總線控制器)。因此,給定電子裝置的存儲裝置通常存儲代碼和/或數據以便在該電子裝置的一個或更多個處理器的集合上執行。

雖然本發明已根據幾個實施例描述,但本領域的技術人員將認識到本發明不限于所描述的實施例,通過在隨附權利要求的精神和范圍內的修改和變化而能夠被實踐。描述因此要視為是說明性的而不是限制。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 大厂| 台南县| 永城市| 东乡县| 临澧县| 厦门市| 吉木萨尔县| 龙州县| 沧源| 望谟县| 绥棱县| 眉山市| 本溪| 崇仁县| 许昌市| 浪卡子县| 通河县| 临高县| 鄂温| 霍山县| 建始县| 万宁市| 得荣县| 大埔区| 砀山县| 屏南县| 阳新县| 新丰县| 元阳县| 江北区| 梓潼县| 宾川县| 祥云县| 房产| 宁城县| 鞍山市| 集安市| 虹口区| 上杭县| 罗山县| 苍南县|