国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種用于軟件定義協議網絡節(jié)點的系統和方法與流程

      文檔序號:11142877閱讀:393來源:國知局
      一種用于軟件定義協議網絡節(jié)點的系統和方法與制造工藝

      本申請要求于2014年1月21日遞交的發(fā)明名稱為“一種用于軟件定義協議網絡節(jié)點的系統和方法”的第14/160,146號美國非臨時申請案的在先申請的權益,該在先申請的內容以引入的方式并入本文。

      技術領域

      本發(fā)明通常涉及數字通信,尤其涉及一種用于軟件定義網絡(software designed networking,SDN)網絡節(jié)點的系統和方法。



      背景技術:

      當前網絡數據平面協議是基于端到端7層協議棧的。每一層具有獨立的過程,且各獨立層之間通過層間原語進行交互。在所述網絡中,端到端數據平面過程的多個功能與低層每條鏈路數據過程的功能共存。所述當前協議棧被固定于會話中,且被預配置,因而無法適應于網絡狀態(tài)的改變。所述當前協議棧設計提供有限個選項,所述有限個選項使所述當前協議棧設計避免和每項應用體驗質量(quality of experience,QoE)的配置緊密匹配。所述當前協議棧設計不考慮所述軟件定義網絡(software designed networking,SDN)概念,從而無法完全挖掘出SDN的益處。所述當前協議棧對所有端到端主機同等對待,但一些新型的和/或未來的服務和/或應用,如機器對機器(machine-to-machine,M2M)通信,可能會要求定制協議棧。



      技術實現要素:

      本發(fā)明的示例實施例提供了一種用于軟件定義網絡(software designed networking,SDN)網絡節(jié)點的系統和方法。

      本發(fā)明一示例實施例提供了軟件定義協議(software designed protocol,SDP)網絡節(jié)點。所述SDP網絡節(jié)點包括接收器以及與所述接收器可操作地耦合的處理器。所述接收器接收指令和接收報文。所述處理器依據所述已接收指令更新所述SDP網絡節(jié)點的配置,并處理所述已接收報文。

      本發(fā)明另一示例實施例提供了一種用于操作軟件定義協議(software designed protocol,SDP)網絡節(jié)點的方法。所述方法包括所述SDP網絡節(jié)點接收處理指令,以及所述SDP網絡節(jié)點接收第一報文。所述方法還包括所述SDP網絡節(jié)點依據所述第一報文中的標識信息來對所述第一報文進行分類,以及所述SDP網絡節(jié)點依據所述處理指令處理所述第一報文。

      本發(fā)明另一示例實施例提供了軟件定義協議(software designed protocol,SDP)網絡節(jié)點。所述SDP網絡節(jié)點包括接收器以及與所述接收器可操作地耦合的處理器。所述接收器接收處理指令和接收報文。所述處理器依據標識所述報文中的標識信息來對所述報文進行分類,以及依據所述處理指令處理所述報文。

      實施例的一個優(yōu)點是數據平面的靈活性得到提高,例如,設備安裝后可添加和/或修改協議,可能實現更細的協議特性,等等。

      實施例的另一個優(yōu)點是數據平面的效率得到提高,例如,可以移除不必要的功能等。

      附圖說明

      為了更完整地理解本發(fā)明及其優(yōu)點,現在參考下文結合附圖進行的描述,其中:

      圖1示出了所述示例實施例中SDP和SDN交互以及數據平面處理功能癱瘓的示例;

      圖2示出了所述示例實施例中通信系統的示例;

      圖3a和3b示出了所述示例實施例中承載元協議報文格式的第一示例以及承載元協議報文格式的第二示例;

      圖4示出了所述示例實施例中SDP網絡節(jié)點示例的構架;

      圖5示出了所述示例實施例中軟件協議引擎第一示例的構架;

      圖6示出了所述示例實施例中軟件協議引擎第二示例的構架;

      圖7示出了所述示例實施例中當軟件協議引擎處理報文時,所述軟件協議引擎中進行的操作的示例流程圖;

      圖8a示出了所述示例實施例中提供報文流優(yōu)先級排序使用單片處理的軟件協議引擎中進行的操作的示例流程圖;

      圖8b示出了所述示例實施例中提供報文流優(yōu)先級排序使用分層處理的軟件協議引擎中進行的操作的示例流程圖;

      圖9示出了所述示例實施例中VNN示例的構架;

      圖10示出了所述示例實施例中VNN管理器中進行的操作的示例流程圖;

      圖11示出了所述示例實施例中當SDP網絡節(jié)點升級和/或安裝軟件時,所述SDP網絡節(jié)點中進行的操作的示例流程圖。

      具體實施方式

      以下詳細論述當前示例實施例的操作和其結構。但應了解,本發(fā)明提供的許多適用發(fā)明概念可實施在多種具體環(huán)境中。所論述的具體實施例僅僅說明本發(fā)明的具體結構以及用于操作本發(fā)明的具體方式,而不應限制本發(fā)明的范圍。

      本發(fā)明的一個實施例涉及SDN網絡節(jié)點。例如,軟件定義協議(software designed protocol,SDP)網絡節(jié)點接收指令和接收報文。所述SDP網絡節(jié)點還依據所述已接收指令更新所述SDP網絡節(jié)點的配置,并處理所述已接收報文。

      本發(fā)明描述特定環(huán)境中的示例實施例,即軟件定義網絡。本發(fā)明可適用于標準的SDN以及非標準的SDN。

      未來的網絡通常會將流量和多種類型或性質的服務相結合(例如視頻流量和M2M流量)。為了優(yōu)化所述網絡性能以及為多種共存的服務質量(quality of service,QoS)等級提供服務,未來網絡可能會要求采用軟件定義網絡(software designed networking,SDN)技術來進行集中管理,以實現所述網絡的所有QoS目標。但是,即使采用SDN,所述網絡的性能仍然受限于所述網絡的底層協議。

      圖1示出了軟件定義協議(software designed protocol,SDP)和SDN交互100以及數據平面處理功能癱瘓的示例。存在不同處理數據功能能力的多種類型節(jié)點。集中SDP管理器控制從數據源端到數據宿端以及網絡邊緣間的所述端到端等的數據平面處理。SDN和SDP之間有緊密互動。

      圖2示出了通信系統200的示例。通信系統200可以為SDN通信系統。通信系統200包括SDN管理器205、SDP管理器207,和多個SDP網絡節(jié)點,例如SDP網絡節(jié)點209-215。SDN管理205可以確定路徑(即從源端至目的地的針對業(yè)務流的SDP網絡節(jié)點序列),且可以提供信息來配置轉發(fā)信息庫(forwarding information base,FIB),所述轉發(fā)信息庫用于轉發(fā)報文至所述業(yè)務流路徑上的SDP網絡節(jié)點中的虛擬網絡節(jié)點。所述FIB可以被存儲在所述SDP網絡節(jié)點中,例如FIB 217。

      SDP管理器207可以確定針對所述業(yè)務流的協議,且可以沿所述路徑建立SDP網絡節(jié)點來實現所述協議。如果所述SDP網絡節(jié)點的其中一個還未支持針對所述業(yè)務流的所述協議,SDP管理器207可以提供處理指令到所述SDP網絡節(jié)點,包括:針對實現所述指令的軟件描述、工作流順序描述、報文流標識和協議等。SDP管理器207可以提供所述處理指令給所述路徑中的每一個所述SDP網絡節(jié)點。

      SDP網絡節(jié)點,例如SDP網絡節(jié)點209,可以實現一個或多個虛擬網絡節(jié)點(virtual network node,VNN),例如VNN 219。VNN可以為虛擬化的SDP網絡節(jié)點,且可以包括協議信息庫(protocol information base,PIB)221和一種或多種協議,例如協議223。每一個VNN都可以實現虛擬專用網(virtual private network,VPN)要求的協議。例如,如果一個VNN支持2種協議,所述SDP網絡節(jié)點可以包括至少2個VNN。如圖2所示,SDP網絡節(jié)點209支持3種協議,且包括3個VNN,包括VNN 219。所述SDP網絡節(jié)點也可以實現SDP管理器所提供的協議的軟件描述。所述SDP網絡節(jié)點可以應用所述協議的所述軟件描述來接收報文。所述SDP網絡節(jié)點也可以接收報文流標識和/或協議,其中,所述報文流標識可以與所述協議相關聯。

      源端225可以將報文229添加到通信系統200。報文229可以包含數據等。報文229由SDP網絡節(jié)點209接收,且由VNN 219處理,所述報文229根據PIB 221采用協議棧實施223進行處理。例如,協議棧實施223的處理是添加頭部P1和P2(統一圖示為頭部231)到報文229。SDP網絡節(jié)點211接收由SDP網絡節(jié)點209修改的報文229。例如,SDP網絡節(jié)點211中的VNN的處理是添加頭部P3 233到報文229。SDP網絡節(jié)點213接收由SDP網絡節(jié)點211修改的報文229。例如,SDP網絡節(jié)點213中的VNN的處理是將頭部P3從報文229中移除,保留頭部P1和P2(統一圖示為頭部231)。SDP網絡節(jié)點215接收由SDP網絡節(jié)點213修改的報文229。SDP網絡節(jié)點215中的VNN的處理是將頭部P1和P2從報文229中移除,保留數據等。例如,將報文229提供給目的地227。

      根據一示例實施例,SDP管理器,例如SDP管理器207,可以保持數據庫SDP網絡節(jié)點的能力和狀態(tài)信息。所述數據庫SDP網絡節(jié)點能力可以包含以下信息:處理速度、處理器的數量、更新協議軟件的能力、各類型支持協議的操作(例如系統操作系統、硬件版本等)等。所述SDP網絡節(jié)點狀態(tài)信息數據可以包含已測處理速度、負荷和協議等狀態(tài)信息(例如窗口尺寸、緩沖尺寸、延時、錯誤率等)。所述SDP管理器可以在虛擬網絡中管理SDP網絡節(jié)點,或者所述SDP網絡節(jié)點可以根據移動性和/或電源狀態(tài)往返。

      存儲在所述數據庫中的所述信息可以由所述通信系統的運營商輸入,盡管這可能因為數量關系變得不可行??刹捎脛討B(tài)發(fā)現機制,以支持動態(tài)變化的通信系統。作為一個說明性示例,所述SDP管理器可以發(fā)送探測消息來查詢SDP網絡節(jié)點的能力和/或狀態(tài)。作為一個可選的說明性示例,所述SDP網絡節(jié)點可以周期性地(或者事件發(fā)生時,例如能力和/或狀態(tài)的改變)發(fā)送信息的所述能力和/或狀態(tài)。

      根據一示例實施例,所述SDP管理器可以為數據處理配置軟件SDP網絡節(jié)點。所述SDP管理器可以發(fā)送協議軟件更新給所述SDP網絡節(jié)點(如果SDP網絡節(jié)點有所述硬件能力但沒有軟件能力,或者一般更新)。所述SDP管理器可以確保所述軟件版本協議和路徑中的所有SDP網絡節(jié)點一致。所述SDP管理器可以確定哪一個SDP網絡節(jié)點應該實現針對哪一條端到端流的哪一種軟件協議棧。所述SDP管理器可以建立轉發(fā)表將流標識映射到軟件定義協議棧。所述SDP管理器可以通過發(fā)送關于協議棧配置,包括原子協議層、層排序、協議參數(例如最大窗口尺寸、最小窗口尺寸等)等的指令來建立所述協議棧。

      根據一示例實施例,所述SDP管理器可以傳輸各種格式的消息。所述消息可以是二進制格式、純文本格式、可擴展標記語言(extensible markup language,XML)格式等。作為一個說明性示例,用于軟件升級和/或安裝的來自所述SDP管理器中的消息可以包括:所述軟件更新中的協議列表;所述SDP管理器的數字簽名,用于核實所述SDP管理器;加密散列,用于核實所述軟件更新;二進制格式、字節(jié)碼格式,或文本腳本形式的軟件等。作為另一個說明性示例,用于建立新報文流的來自所述SDP管理器的消息可以包括:報文流標識;報文流優(yōu)先級;應用于報文流順序(即工作流)的協議列表;用于讀取所述協議子標簽的指令等。作為又一說明性實施例,用于拆除報文流的來自所述SDP管理器的消息可以包括報文流標識等。

      根據一示例實施例,SDP網絡節(jié)點,例如SDP網絡節(jié)點209,可以從所述SDP管理器接收消息,并根據所述消息指示實現數據平面。數據平面協議可以利用元承載協議。作為一個說明性示例,所述SDP網絡節(jié)點進行協議處理時,可采用運用順序或分層協議處理來支持多種協議大規(guī)模并行處理的硬件構架。也可能通過以下方式實現混合處理:調度一些報文流以進行按順序(筒倉)處理,調度一些報文流以進行并行和/或分層處理。作為另一說明性示例,跨層信息交換和跨層協議處理可以由使用共享協議數據庫的機制支持。具有連接特性的共享數據庫可被每一層訪問。作為又一說明性實施例,可以將一些協議層實施安裝在SDP網絡節(jié)點中,包括原子操作(包括有序傳送、可靠傳送、擁塞控制、壓縮、加密等)、復雜操作(包括有序可靠傳送、帶擁塞控制的有序可靠傳送等)、網絡服務(例如防火墻、流會聚等)和內容處理(例如視頻流壓縮等)。協議優(yōu)先級排序可以由所述SDP網絡節(jié)點中的隊列調度和資源分配支持。

      根據一示例實施例,承載元協議可以包含所述SDP網絡節(jié)點中報文處理的信息。作為一示例,所述協議信息用于標識報文流以及報文流的協議處理工作流。圖3a和3b示出了承載元協議報文格式300的第一示例,以及承載元協議報文格式350的第二示例。虛擬網絡標識(virtual network identifier,VN ID)字段305和355可以包含用于標識虛擬網絡的標識(所述VN ID)。所述VN ID可以是不依賴于流ID字段307和357中包含的流標識(flow identifier,flow ID)的獨立值,或者所述VN ID可以被引入或者嵌入所述流ID中,因而可以允許省略VN ID字段305和355。流ID字段307和357可用于標識端到端連接和/或服務。在接收到第一報文之前,所述SDN管理器可以建立使用所述流ID的虛擬電路。標識的示例可用作所述流ID,且可以包括基于五元組的互聯網協議、應用和/或服務標識、虛擬LAN(virtual LAN,VLAN)網絡標簽、多協議標記交換(multiprotocol label switching,MPLS)標簽、專用虛擬網絡標簽(8比特、16比特、32比特等)、磁鏈路(例如通用資源定位符(universal resource locator,URL)的整數散列值)和這些已加密和/或已壓縮和/或散列值中的任何一組組合等。需要說明的是,報文可以在沒有檢查所述頭部的情況下被轉發(fā)到旁路協議處理中。

      承載元協議報文格式300也可以包括攜帶有所述報文流協議工作流中協議組合信息的承載協議頭字段309。承載元協議報文格式300也可以包括所述承載協議棧的狀態(tài)信息,例如存儲在乘客協議頭和數據字段311中的信息。承載元協議報文格式350也可以包括攜帶有所述報文流協議工作流中協議組合信息的承載協議頭字段359。承載元協議報文格式350也可以包括增強分層能力的不同子協議的獨立頭部,例如在子協議ID字段361、子協議頭字段363、子協議ID字段365和子協議頭字段367中的獨立頭部。通常,子協議ID包含適用于所述報文流的原子子協議標識,且子協議頭包含由所述子協議ID標識的所述協議信息。乘客協議頭和數據字段369可以攜帶有所述報文流的所述協議工作流的附加信息。子協議ID和子協議頭可以被推入(添加),或者從報文所在的每一跳中被彈出(移除)。子協議頭可以標識棧中協議,或者,標簽可以標識棧中協議。

      圖4示出了SDP網絡節(jié)點400示例的構架。SDP網絡節(jié)點400包括接收和發(fā)送報文的多個網絡接口(network interface,NIC),例如NIC 405。SDP管理器可以指示所述NIC,例如,針對報文的轉發(fā)和處理。作為一示例,一些報文可以被傳送以進行進一步的協議處理,而其他報文可以被轉發(fā)到另一個NIC。通常,在單個SDP網絡節(jié)點中的NIC可以支持多個類型的有線或無線協議,例如以太網、IEEE 802.3、IEEE 802.11、IEEE 802.16、第三代合作伙伴計劃(Third Generation Partnership,3GPP)長期演進(Long Term Evolution,LTE)、3GPP LTE-Advanced等。NIC,例如NIC 405,可以包括網絡端口407和存儲已接收報文的快速數據存儲器411。所述網絡端口407允許連接至通信系統和中央處理器(central processing unit,CPU)409以提供處理能力。所述NIC可應與報文相關聯的FIB的指示,傳送所述報文至協議處理存儲器413。一些SDP網絡節(jié)點可能沒有FIB,因此,所有報文都被傳送至協議處理存儲器413。

      存儲器413可以使用隨機存取存儲器(random access memory,RAM)來實現,且可以存儲:報文和協議狀態(tài)415;報文處理軟件和/或暫時存儲器417;軟件419等。SDP網絡節(jié)點400也可以包括多個通用CPU,例如通用CPU 421,所述通用CPU提供處理能力來處理使用存儲器413的報文。所述通用CPU可以組合成全局處理單元(global processing unit,GPU)。可選地,所述通用CPU可能使用獨立存儲器和/或高速鏈路或總線。SDP網絡節(jié)點400可采用跨流(即垂直并行處理)、跨層(即水平并行處理),或者兩者相結合來支持并行處理。特殊專用集成電路(application specific integrated circuit,ASIC),例如特殊ASIC 423,可以為特殊處理提供處理能力。作為一示例,三態(tài)內容尋址內存(ternary content addressable memory,TCAM)可以提供快速地址查找,或者數字信號處理器(digital signal processor,DSP)內核可以提供無線信號處理。

      圖5示出了軟件協議引擎500第一示例的構架。軟件協議引擎500以單片處理為特點。軟件協議引擎500可以是虛擬機或者被多個報文流共享。軟件協議引擎500可以被多個VNN或者多個VNN報文流共享。軟件協議引擎500包括PIB 505,所述PIB 505可用于確定怎樣傳送一些已接收報文以進行協議處理,且可用于發(fā)送一些已接收報文至其他SDP網絡節(jié)點。已傳送的所述已接收的待進行協議處理的報文可以被存儲在入報文隊列507中,其中,以等待進行協議處理。協議庫509包括由軟件協議引擎500支持的協議,然而,并非所有被支持的協議都是活動的。協議棧511包括所述活動協議的棧。分發(fā)器513可以將存儲在入報文隊列507中的報文分發(fā)至所述報文對應的協議棧511的協議筒倉中的協議,以進行協議處理。協議處理的結果可以被存儲在協議狀態(tài)數據庫517,且需要繼續(xù)發(fā)往目的地的報文可以被放入出報文隊列519,以等待隨后發(fā)送至其他SDP網絡節(jié)點。協議配置數據庫521可以存儲針對軟件協議引擎500支持的協議的軟件、指令、參數等。協議配置庫521也可以存儲針對還未在軟件協議引擎500中實現的協議的軟件、更新、升級等。軟件協議引擎500也可以包括SDP節(jié)點管理單元523。SDP節(jié)點管理單元523可以從SDP管理器接收指令,并依據來自所述SDP管理器中的所述指令配置軟件引擎500等,其中一些指令可能涉及報文流與協議棧之間的關聯,另一些協議可能涉及分發(fā)器513中的流的優(yōu)先級排序和/或協議本身的優(yōu)先級排序。SDP節(jié)點管理單元523可以和PIB 505、協議配置數據庫521,以及分發(fā)器513可操作地耦合。

      根據一示例實施例,當所述SDP網絡節(jié)點接收到新報文流的通知時,所述協議筒倉可以動態(tài)地被建立。所述協議筒倉可以包含用于實現協議棧511中每一種協議的功能的有序表。協議與報文流之間的映射可以被存儲在PIB 505中。協議使用協議狀態(tài)數據庫517來跟蹤協議狀態(tài),以確保層級之間共享。存儲在協議狀態(tài)數據庫517中的信息的示例包括:報文序列號、可用報文信用、安全密鑰、隊列長度、窗口尺寸、頭端(head of line,HOL)延遲、排隊報文類型等。

      根據一示例實施例,分發(fā)器513管理并協調資源。作為一示例,分發(fā)器513可以選擇某個報文進行處理,并選擇CPU和/或ASIC服務于所述已選擇報文。分發(fā)器513可以為已選擇的報文調用已分配的協議筒倉。分發(fā)器513可以將報文從入報文隊列507切換到CPU(圖示為活動操作),并將報文從CPU切換到出報文隊列519。分發(fā)器513可以通過調度入報文隊列507和出報文隊列519中的報文來應用流優(yōu)先級,所述分發(fā)器513也可以分配處理器(CPU和/或ASIC)來區(qū)分協議優(yōu)先級。如果軟件協議引擎500被共享,分發(fā)器513可以包括虛擬機管理程序。如果以共享方式操作,分發(fā)器513可以考慮根據虛擬機網絡標識進行調度。

      圖6示出了軟件協議引擎600第二示例的構架。軟件協議引擎600具有分層處理的特點。軟件協議引擎600包括PIB 605,所述PIB 605可用于確定怎樣傳送一些已接收報文以進行協議處理,且可用于發(fā)送一些已接收報文至其他SDP網絡節(jié)點。已傳送的所述已接收的待進行協議處理的報文可以被存儲在入報文隊列607中,以等待進行協議處理。協議庫609包括由軟件協議引擎600支持的協議,然而,并非所有被支持的協議都是活動的。工作隊列611包括所述活動協議的隊列。分發(fā)器613可以將存儲在入報文隊列607中的報文分發(fā)至所述報文對應的工作隊列611的工作隊列中的協議,以進行協議處理。報文可逐層被處理。對于每一層,分發(fā)器613可以選擇可用的CPU(圖示為活動操作,例如活動操作615)。協議處理的結果可以被存儲在協議狀態(tài)數據庫617,且需要繼續(xù)發(fā)往目的地的報文可以被放入出報文隊列619,以等待隨后發(fā)送至其他SDP網絡節(jié)點。協議配置數據庫621可以存儲針對軟件協議引擎600支持的協議的軟件、指令、參數等。協議配置數據庫621也可以存儲針對還未在軟件協議引擎600中實現的協議的軟件、更新、升級等。

      在當前層的處理完成之后,分發(fā)器613可以使用協議配置數據庫621以動態(tài)地確定處理下一層。通常,分發(fā)器613管理并協調資源。作為一示例,分發(fā)器613可以使用流優(yōu)先級排序來選擇某個報文進行處理,分發(fā)器613可以使用所述報文優(yōu)先級來選擇某個工作隊列來放置所述報文,分發(fā)器613可以通過使用所述協議頭或通過參考PIB 605來調用所述報文中的已分配協議。作為另一示例,分發(fā)器613可以調度CPU對每一個報文進行處理,每一條報文流的每個協議層都采用一條處理線程。作為又一示例,分發(fā)器613可以將報文從工作隊列611切換到CPU,再切換回工作隊列611,也可以將報文從CPU切換到出報文隊列619。軟件協議引擎600也可以包括SDP節(jié)點管理單元623。SDP節(jié)點管理單元623可以從SDP管理器接收指令,并依據來自所述SDP管理器的所述指令配置軟件引擎600等,其中一些指令可能涉及報文流與協議棧之間的關聯,另一些協議可能涉及分發(fā)器613中的流的優(yōu)先級排序和/或協議本身的流優(yōu)先級排序。SDP節(jié)點管理單元623可以和PIB 605、協議配置數據庫621,以及分發(fā)器613可操作地耦合。

      根據一示例實施例,通過分配更多的CPU至負載較重層和分配較少的CPU到負載較輕層,水平并行處理可以較好地實現負載平衡。分發(fā)器613可以通過調度入報文隊列607和出報文隊列619來應用流優(yōu)先級排序。分發(fā)器613也可以分配CPU來區(qū)分協議優(yōu)先級。分發(fā)器613也可以包括虛擬機管理程序。

      圖7示出了當軟件協議引擎處理報文時,所述軟件協議引擎中進行的操作700的示例流程圖。當軟件協議引擎處理報文時,操作700可以指示在SDP網絡節(jié)點的軟件協議引擎,例如軟件協議引擎500或軟件協議引擎600,中進行的操作。

      操作700可以由所述軟件引擎接收報文處理指令(方塊705)開始。所述軟件協議引擎(或者此處的SDP節(jié)點管理單元)可以從SDP管理器接收所述報文處理指令。所述軟件協議引擎可以一次一條報文流地接收所述報文處理指令。所述軟件協議引擎可以等待報文到達所述SDP網絡節(jié)點的NIC中(方塊707)。所述軟件協議引擎可以等待所述NIC接收所述報文(方塊709)。

      所述軟件協議引擎可以讀取所述報文的所述流標識(flow identifier,ID)(方塊711)。通常,所述軟件協議引擎解析所述報文的至少部分頭部來確定所述報文是否進行協議處理,且讀取所述流標識是一個技術示例,所述軟件協議引擎可以使用所述技術示例來確定所述報文是否進行協議處理。所述軟件協議引擎可以進行檢查以確定所述報文是否將由所述SDP網絡節(jié)點處理,即所述報文是否進行協議處理(方塊713)。方塊711和713可以統稱為流分類(方塊715)。

      如果所述報文將由所述SDP網絡節(jié)點處理,所述軟件協議引擎可以傳送所述報文至存儲器,例如RAM(方塊717)。當所述報文被傳送至所述存儲器,所述軟件協議引擎可以應用優(yōu)先級排序到所述報文中。方塊717也可以被稱為流優(yōu)先級排序(方塊719)。

      所述軟件協議引擎可以為所述報文確定,例如選擇,VNN并傳送所述報文至所述VNN(方塊721)。所述軟件協議引擎可以確定,例如選擇,協議棧以應用于所述報文中(方塊723)。對于每一個協議棧(方塊725),所述軟件協議引擎可以應用所述協議到所述報文中,并更新所述協議棧(方塊727)以及更新所述報文中的協議頭(方塊729)。所述協議引擎可以檢查以確定是否有新協議報文生成(方塊731)。如果有新協議報文生成,所述軟件協議引擎可以返回到方塊725,以進行進一步的協議處理。方塊721-731可以統稱為協議處理(方塊733)。

      如果不需要生成所述新協議報文,對于每一個已處理或已生成的報文(方塊735),所述軟件協議引擎可以確定所述報文的目的地(方塊737),查找轉發(fā)NIC(方塊739),以及發(fā)送所述報文至所述轉發(fā)NIC(方塊741)。

      如果所述報文不會由所述SDP網絡節(jié)點處理(方塊713),所述軟件協議引擎可以確定所述報文的目的地(方塊737),查找轉發(fā)NIC(方塊739),以及發(fā)送所述報文至所述轉發(fā)NIC(方塊741)。

      如前所論,單片處理可以采用單條線程來處理報文流的所有協議。對于單片處理,如果所述協議之間沒有依賴關系,在多個CPU上分配協議處理是有可能的。對于分層協議處理,所述協議按順序被處理,因此,允許所述協議序列的干擾。單隊列可用于每一條報文流,或者單隊列可用于每一種協議,從而簡化流優(yōu)先級排序或者協議優(yōu)先級排序。

      報文流優(yōu)先級排序可以通過報文處理優(yōu)先級排序來實現。對于單片工作流,可以在所述入報文隊列中進行優(yōu)先級排序;而對于分層處理,可以在工作流隊列中進行進一步的優(yōu)先級排序??蛇\用多種報文調度原則,包括權重輪詢和最早截止期優(yōu)先等。報文流優(yōu)先級也可以通過分配更多CPU被實現。分層方法中,分配更多CPU意味著單報文流中多于一個報文可以同時被處理,賦予一些報文流更高的處理吞吐量。類似地,所述相同類型協議中多于一個報文可以同時被處理,賦予一些協議更高的處理吞吐量。

      圖8a示出了提供使用單片處理的報文流優(yōu)先級排序的軟件協議引擎中進行的操作800的示例流程圖。當軟件協議引擎提供使用單片處理的報文流優(yōu)先級排序時,操作800可以指示在SDP網絡節(jié)點的軟件協議引擎,例如軟件協議引擎500或軟件協議引擎600,中進行的操作。

      操作800可以由所述SDP網絡節(jié)點接收報文以及所述軟件協議引擎將所述報文放入共享隊列中(方塊805)開始。所述軟件協議引擎可以傳送所述報文至協議筒倉中(方塊807)。所述軟件協議引擎(例如分發(fā)器)可以調度所述報文至CPU和/或ASIC中進行處理(方塊809)。所述報文可以使用所述協議棧來處理(方塊811),且所述處理結果可用于更新所述協議數據庫(方塊813)。所述軟件協議引擎可以傳送所述報文至所述出報文隊列中(方塊815)。

      圖8b示出了提供使用分層處理的報文流優(yōu)先級排序的軟件協議引擎中進行的操作850的示例流程圖。當軟件協議引擎提供使用分層處理的報文流優(yōu)先級排序時,操作850可以指示在SDP網絡節(jié)點的軟件協議引擎,例如軟件協議引擎500或軟件協議引擎600,中進行的操作。

      操作850可以由所述SDP網絡節(jié)點接收報文以及所述軟件協議引擎將所述報文放入共享隊列中(方塊855)開始。所述軟件協議引擎可以傳送所述報文至工作隊列中(方塊857)。所述軟件協議引擎(例如分發(fā)器)可以調度所述報文至CPU和/或ASIC中進行處理(方塊859)。對于所述報文流中的每一種協議(方塊861),所述軟件協議引擎可以將所述報文從所述工作隊列中移除(方塊863),且可以通過使用所述CPU和/或ASIC的協議功能來處理所述報文(方塊865)。所述軟件協議引擎可以傳送所述報文返回到所述工作隊列或者下一協議隊列中(方塊867),并更新所述協議數據庫(方塊869)。如果所述工作隊列中有更多報文,所述軟件協議引擎可以返回到方塊863。所述軟件協議引擎可以傳送所述報文至所述出報文隊列中(方塊871)。

      根據一示例實施例,虛擬化允許單個SDP網絡節(jié)點上同時有多個VNN共存。一個使用VNN的示例,SDP網絡節(jié)點的每一個VNN可以屬于單個虛擬網絡供應商,以允許安全與信息相分離。SDP網絡節(jié)點的硬件由多個VNN共享。VNN可以在所述SDP網絡節(jié)點上的虛擬機中被實現。虛擬網絡可以被分配給特定SDP網絡節(jié)點中的一個VNN。多個VNN可以被分配給特定SDP網絡節(jié)點中的一個虛擬網絡。

      根據一示例實施例,VNN管理器可以駐留在所述SDP網絡節(jié)點中。通過策略規(guī)則集或者特定命令,所述VNN管理器可以由SDP管理器指示VNN與虛擬網絡之間的映射(例如將報文流從第一VNN傳送至第二VNN,將虛擬網絡從第一VNN傳送至第二VNN等)。所述VNN管理器可以在VNN之間傳送虛擬網絡內容和/或流上下文。所述VNN管理器也可以分配硬件資源給所述VNN,例如CPU、ASIC、存儲器等。

      共享虛擬網絡節(jié)點(shared virtual network node,S-VNN)允許不同的虛擬網絡之間共享硬件資源。通常,可能針對沒有虛擬化的物理部件設置單個S-VNN。在沒有獨立存儲的所述虛擬網絡或報文流之間,可以提供盡力而為的硬件資源。

      專用虛擬網絡節(jié)點(dedicated virtual network node,D-VNN)可以允許分配硬件資源給虛擬網絡,例如通過使用虛擬機。D-VNN可以提供硬件資源的硬共享,例如CPU、ASIC、存儲器等。SDP網絡節(jié)點管理程序可以再平衡所述硬件資源的使用,以實現服務質量(quality of service,QoS)要求。D-VNN可以為虛擬網絡或報文流之間提供完全獨立存儲。

      圖9示出了VNN 900示例的構架。到達與VNN 900相關聯的SDP節(jié)點的報文可以被入報文隊列905接收。報文分類器907可以分配虛擬資源(例如VNN)來處理所述報文。報文分類器907可以使用存儲在虛擬網絡和/或流表909中的信息來分配所述虛擬資源給所述報文。虛擬網絡和/或流表909包含報文流與虛擬網絡之間的映射信息,所述虛擬網絡具有可選的網絡標識。報文分類器907可以將所述報文分類并分配所述報文給所述VNN。所述虛擬資源可以包括被虛擬機管理器911控制的S-VNN 913和多個D-VNN,例如D-VNN 915。硬件資源調度器917可以為CPU和/或ASIC分配所述虛擬資源。所述報文可以被傳送至存儲器919,可以被使用一個或多個所述CPU(例如CPU 921)和/或一個或多個ASIC(例如ASIC 923)的所述虛擬資源處理,并被傳送回到存儲器919或者出報文隊列925。被傳送到出報文隊列925的報文可以被調度,以實現時間期限、QoS要求等。

      圖10示出了在VNN管理器中的進行的操作1000的示例流程圖。操作1000可以指示在VNN管理器中進行的操作。操作1000示出了由策略導向和指示的操作,以及由所述VNN管理器導向和指示的自主操作。

      在由策略導向的操作中,操作1000可以由所述VNN管理器從SDP管理器接收VNN策略指令(方塊1005)開始。所述VNN管理器可以管理VNN性能(方塊1007)。作為一示例,所述VNN管理器可以管理CPU占用率、網絡負荷、流動性等。所述VNN管理器可以進行檢查以確定VNN傳輸性能的變化是否符合所述VNN策略指令(方塊1009)。如果性能變化符合所述VNN策略指令,如有需要,所述VNN管理器可以啟動新VNN(方塊1011),并將新VNN流上下文中的報文流轉發(fā)表安裝至所述新VNN(方塊1013)。所述VNN管理器可以改變所述虛擬網絡表的表項來將流量導向所述新VNN(方塊1015),并等待所述舊VNN完成處理(清空)所有受影響的報文(方塊1017)。所述VNN管理器可以從所述舊VNN的所述報文流轉發(fā)表中刪除舊報文流轉發(fā)表項(方塊1019)。如果所述舊VNN的所述報文流轉發(fā)表的表項為空,所述VNN管理器可以刪除所述舊VNN,并重新分配其資源(方塊1021)。

      在由策略指示的操作中,操作1000可以由所述VNN管理器從所述SDP管理器接收VNN轉發(fā)表改變消息(方塊1025)開始。如有需要,所述VNN管理器可以啟動新VNN(方塊1011),并將新VNN流上下文中的報文流轉發(fā)表安裝至所述新VNN(方塊1013)。所述VNN管理器可以改變所述虛擬網絡表的表項來將流量導向所述新VNN(方塊1015),并等待所述舊VNN完成處理(清空)所有受影響的報文(方塊1017)。所述VNN管理器可以從所述舊VNN的所述報文流轉發(fā)表中刪除舊報文流轉發(fā)表項(方塊1019)。如果所述舊VNN的所述報文流轉發(fā)表的表項為空,所述VNN管理器可以刪除所述舊VNN,并重新分配其資源(方塊1021)。

      在自主操作中,操作1000可以由所述VNN管理器管理VNN性能(方塊1030)開始。作為一示例,所述VNN管理器可以管理CPU占用率、網絡負荷、流動性等。所述VNN管理器可以決定某條報文流應該去向某個VNN(方塊1032)。如有需要,所述VNN管理器可以啟動新VNN(方塊1011),并將新VNN流上下文中的報文流轉發(fā)表安裝至所述新VNN(方塊1013)。所述VNN管理器可以改變所述虛擬網絡表的表項來將流量導向所述新VNN(方塊1015),并等待所述舊VNN完成處理(清空)所有受影響的報文(方塊1017)。所述VNN管理器可以從所述舊VNN的所述報文流轉發(fā)表中刪除舊報文流轉發(fā)表項(方塊1019)。如果所述舊VNN的所述報文流轉發(fā)表的表項為空,所述VNN管理器可以刪除所述舊VNN,并重新分配其資源(方塊1021)。

      根據一示例實施例,當SDP管理器發(fā)送導向指令至所述VNN管理器,所述VNN管理器可以移動報文流或者虛擬網絡。作為一示例,所述SDP管理器可以指定虛擬網絡列表和針對舊VNN和新VNN的報文流。當所述SDP管理器發(fā)送策略至所述VNN管理器時,所述VNN管理器可以移動報文流或者虛擬網絡。作為一示例,策略可以是體驗質量(quality of experience,QoE)、QoS、CPU負載、存儲負載等的閾值集合。此外,當UE移動所述通信系統時,策略可以指定怎樣移動所述報文流。此外,策略可以是基于安全要求的,例如不安全的報文流被移動至共享虛擬機。所述VNN管理器可以移動報文流,或者移動虛擬網絡以使SDP管理器自主地移動報文流,以實現優(yōu)化目標。作為一示例,所述移動可以優(yōu)化資源的使用。如果共享資源的使用超出指定的數量,閾值可以從所述共享資源移至專用資源。類似地,如果專用資源的使用到達指定的值,閾值可用于從所述專用資源移至共享資源,且所述專用資源可以被消除。

      圖11示出了當SDP網絡節(jié)點升級和/或安裝軟件時,所述SDP網絡節(jié)點中進行的操作1100的示例流程圖。當SDP網絡節(jié)點升級和/或安裝軟件時,操作1100可以指示在SDP網絡節(jié)點,例如SDP網絡節(jié)點209,中進行的操作。

      操作1100可以由所述SDP網絡節(jié)點等待軟件更新(方塊1105)開始。需要說明的是,當所述SDP網絡節(jié)點等待所述軟件更新時,所述SDP網絡節(jié)點可以進行其他操作。所述SDP網絡節(jié)點可以根據所述SDP管理器標識接收所述軟件更新(方塊1107)。所述SDP網絡節(jié)點可以驗證所述SDP管理器標識(方塊1109)。所述SDP管理器可以使用數字證書被標識。作為一示例,中央認證中心可以被使用,或者所述證書可以是來自早期使用的緩存。如果所述SDP管理器標識被驗證,所述SDP網絡節(jié)點可以驗證更所述軟件更新的完整性(方塊1111)。作為一示例,所述軟件更新的完整性可以由校驗和散列(例如使用散列功能,如md5、sha-256等)來檢查。虛擬機管理程序可以協助認證所述軟件更新。需要說明的是,如果所述更新是針對所述SDP網絡節(jié)點的所有協議,或者是針對所述SDP網絡節(jié)點的全部軟件,則可以只進行SDP管理器識別。如果某一具體協議被更新,所述更新可以包括所述被更新協議的標識或者在目的PIB的更新之后將被使用的所述已更新協議的新標識。如果所述軟件更新的完整性被驗證,所述SDP網絡節(jié)點可以安裝所述軟件更新并更新所述SDP網絡節(jié)點的能力表(方塊1113)。安裝的協議可以存儲在數據庫中,并將其名稱映射成二進制地址或者功能,以便在所述協議被調用時進行參考。所述協議可以被安裝在共享存儲中,因此,所述協議可以被多個VNN以類似對象庫共享Linux的方式使用。作為一示例,可以使用類似組件對象模型(component object model,COM)注冊表項或者動態(tài)鏈接庫(dynamically linked library,DLL)功能表的數據庫。如果驗證所述SDP管理器標識或者所述軟件更新的安全性失敗,所述SDP網絡節(jié)點可以拒絕所述軟件更新(方塊1115),并等待進一步的更新(方塊1105)。

      雖然已詳細地描述了本發(fā)明及其優(yōu)點,但是應理解,可以在不脫離如所附權利要求書所界定的本發(fā)明的精神和范圍的情況下對本發(fā)明做出各種改變、替代和更改。

      當前第1頁1 2 3 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1