<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

使用連續字節來表示通用格式報頭的方法及其裝置的制造方法

文檔序號:9455874閱讀:622來源:國知局
使用連續字節來表示通用格式報頭的方法及其裝置的制造方法
【技術領域】
[0001] 本發明涉及分組報頭修改。更具體地,本發明涉及一種使用連續字節來表示通用 格式報頭的方法及其裝置。
【背景技術】
[0002] 網絡分組經由因特網使用的協議、比如傳輸控制協議/網際協議/以太網協議 (TCP/IP/以太網)承載數據。典型交換機能夠在向目的地或者向另一交換機發送出分組之 前修改傳入的分組的各種字段。出于各種原因而修改傳入的分組,比如分組將被轉發到何 處、目的地支持的協議、分組的優先級、協議報頭的傳入格式等。由于網絡協議正在演變,協 議報頭的一個或者多個字段可以是可任選的,這使交換機的硬件變復雜,因為在協議報頭 內的給定的字段可能不總是處于固定的偏移。
[0003] 在分組的修改期間,現有技術的交換機線性地處理分組中的每個協議層。這樣的 處理會產生與網絡有關的性能問題,包括時延,這可能使實現方式過度提供處理資源。

【發明內容】

[0004] 用于修改分組報頭的裝置的實施例涉及重寫引擎,重寫引擎以該協議特有的通用 格式表不分組的每個協議報頭,以實現分組的可編程修改,從而產生在修改分組報頭時的 硬件和軟件靈活性。軟件在用于各種協議的硬件表中對通用格式進行編程。重寫引擎能夠 從協議報頭檢測缺失字段并且能夠將協議報頭擴展成最大大小,使得協議報頭包含該協議 的所有可能字段。無論協議報頭對應于協議的哪個變體,字段中的每個字段都具有相同偏 移。擴展的協議報頭由獨立于協議報頭的大小的數據結構表示。
[0005] 在一個方面中,提供一種重寫引擎的方法。該方法包括從傳入的分組的協議報頭 檢測缺失字段。基于檢測,該方法也包括將協議報頭擴展成用于對應協議的通用格式。通 用格式包括對應協議可以具有的所有可能字段。該方法也包括針對擴展的協議報頭維護數 據結構。數據結構包括第一字段和第二字段,其中第一字段指示從擴展的協議報頭的開始 起的連續有效字節的數目,而第二字段是指示在擴展的協議報頭中的連續有效字節之后的 每個字節的有效性的位矢量。
[0006] 在一些實施例中,維護數據結構包括:針對在連續有效字節之后的每個無效字段 的每個字節,將位矢量的位標注為不可用,以及針對在連續有效字節之后的每個有效字段 的每個字節,將位矢量的位標注為可用。
[0007] 在另一方面中,提供一種表示擴展的協議報頭的方法。該方法包括獲得擴展的協 議報頭。擴展的協議報頭是根據用于對應協議的通用格式而被一般化的傳入的分組的協議 報頭。
[0008] 在一些實施例中,重寫引擎通過從協議報頭檢測缺失字段以及基于檢測根據通用 格式擴展協議報頭來使協議報頭一般化。
[0009] 在一些實施例中,通用格式包括協議的所有可能字段,其中無論協議報頭對應于 協議的哪個變體,字段中的每個字段都具有相同偏移。
[0010] 該方法也包括維護擴展的協議報頭的表示。表示是包括第一字段和第二字段的數 據結構。在一些實施例中,第一字段是連續_字節字段,而第二字段是位矢量字段。
[0011] 該方法也包括:將第一字段設置成從擴展的協議報頭的開始起的連續有效字節 的數目,針對在連續有效字節之后的每個無效字段的每個字節將第二字段的位標注為不可 用,其中每個無效字段是在傳入的分組的協議報頭中不存在的字段,以及針對在連續有效 字節之后的每個有效字段的每個字節將第二字段的位標注為可用,其中每個有效字段是在 傳入的分組的協議報頭中存在的字段。
[0012] 在又一方面中,提供一種網絡交換機的方法。該方法包括:在網絡交換機的傳入端 口處接收分組,以及根據用于對應協議的通用格式來使分組的協議報頭一般化。
[0013] 在一些實施例中,網絡交換機包括被配置為使協議報頭一般化的重寫引擎。
[0014] 在一些實施例中,使協議報頭一般化包括:重寫引擎從分組的協議報頭檢測缺失 字段;以及基于檢測,重寫引擎將協議報頭擴展成通用格式。
[0015] 該方法也包括在獨立于協議報頭的大小的數據結構中表示經一般化的協議報頭。 在一些實施例中,數據結構包括連續_字節字段和位矢量字段,其中連續_字節字段表示從 協議報頭的開始起的連續有效字節的數目,而位矢量字段是協議報頭的每字節的位表示。
[0016] 在一些實施例中,該方法還包括:通過向經一般化的協議報頭應用至少一個命令 來修改經一般化的協議報頭,去除修改的協議報頭的所有無效字節以形成新報頭,以及經 由網絡交換機的傳出端口發送出具有新報頭的分組。在一些實施例中,修改協議報頭包括 基于傳出端口的出口端口類型向命令表進行索引以確定至少一個命令。
[0017] 在一些實施例中,該方法還包括從經一般化的協議報頭提取至少一個字段。
[0018] 在一些實施例中,該方法在接收傳入的分組之前還包括:允許協議的通用格式的 由軟件定義的映射;以及在網絡交換機的存儲器中存儲由軟件定義的映射。
[0019] 在又一方面中,提供一種網絡交換機。網絡交換機包括:輸入端口和輸出端口,用 于接收和發送分組;存儲器,用于存儲協議的通用格式的由軟件定義的映射的集合;以及 重寫引擎,對分組執行報頭一般化過程以根據對應協議特有的由軟件定義的映射之一來使 分組中的每個分組的每個協議報頭一般化。通常,在獨立于協議報頭的大小的數據結構中 表不經一般化的協議報頭。
[0020] 可以在協議的不同變體上使用報頭一般化過程。相似地,可以在不同協議上使用 報頭一般化過程。
[0021] 在一些實施例中,在分組中的每個分組由重寫引擎處理之后,分組包括規范化的 協議層。規范化的協議層中的每個規范化的協議層是根據該協議的對應通用格式擴展的協 議層。在一些實施例中,數據結構包括連續_字節字段和位矢量字段,其中連續_字節字段 表示從協議報頭的開始起的連續有效字節的數目,而位矢量字段是協議報頭的每字節的位 表不。
[0022] 在一些實施例中,重寫引擎是靈活的并且在可編程基礎上操作。重寫引擎基于輸 出端口的出口端口類型向命令表進行索引,命令表向重寫引擎告知將向每個分組的每個報 頭應用的一個或者多個命令。存儲器存儲命令集合,其中在命令集合中包括該一個或者多 個命令。
[0023] 在一些實施例中,網絡交換機也包括解析器引擎。解析器引擎標識分組的內容。解 析器引擎是靈活的并且在可編程基礎上操作。
【附圖說明】
[0024] 前文將從如附圖中所示本發明的示例實施例的以下更具體描述中變清楚,在附圖 中,相似標號貫穿不同視圖指代相同部分。附圖未必按比例、代之以著重于圖示本發明的實 施例。
[0025] 圖1圖示分組的示例協議層組合。
[0026] 圖2圖示根據本發明的一些實施例的本地協議表的示例結構。
[0027] 圖3圖示根據本發明的一些實施例的網絡交換機的示例方法。
[0028] 圖4圖示根據本發明的一些實施例的網絡交換機的另一示例方法。
[0029] 圖5圖示根據本發明的一些實施例的將傳入的分組的層進行報頭擴展成通用格 式的圖。
[0030] 圖6A-6B圖不根據本發明的一些實施例的協議報頭的不例一般化。
[0031] 圖7A-7C圖不根據本發明的一些實施例的協議報頭的另一不例一般化。
[0032] 圖8A-8C圖示根據本發明的一些實施例的協議報頭的又一示例一般化。
[0033] 圖9A-9F圖示根據本發明的一些實施例的協議報頭的示例修改。
[0034] 圖10A-10E圖示根據本發明的一些實施例的協議報頭的另一示例修改。
[0035] 圖11圖示根據本發明的一些實施例的重寫引擎的方法。
[0036] 圖12圖示根據本發明的一些實施例的網絡交換機的又一方法。
[0037] 圖13圖示根據本發明的一些實施例的網絡交換機的又一方法。
[0038] 圖14圖示根據本發明的一些實施例的網絡交換機的又一方法。
[0039] 圖15圖示根據本發明的一些實施例的網絡交換機的又一方法。
[0040] 圖16圖示根據本發明的一些實施例的重寫引擎的另一方法。
[0041] 圖17圖示根據本發明的一些實施例的網絡交換機的又一方法。
[0042] 圖18圖示根據本發明的一些實施例的重寫引擎的又一方法。
[0043] 圖19圖示根據本發明的一些實施例的網絡交換機的又一方法。
[0044] 圖20圖示根據本發明的一些實施例的層結構的示例圖。
[0045] 圖21圖示根據本發明的一些實施例的重寫引擎交換機的又一方法。
[0046] 圖22圖示根據本發明的一些實施例的網絡交換機的又一方法。
【具體實施方式】
[0047] 在以下描述中,出于說明的目的而闡述許多細節。然而,本領域普通技術人員將認 識到,可以在不使用這些具體細節的情況下實施本發明。因此,本發明并不旨在于限于所示 實施例,而是將被賦予與這里描述的原理和特征一致的最廣范圍。
[0048] 引言
[0049] 網絡設備、比如網絡交換機能夠切換/路由網絡流量。網絡交換機包括用于接收 和發送分組的至少一個輸入/傳入端口和至少一個輸出/傳出端口。在一些實施例中,網 絡交換機也包括解析器和重寫器。解析器可以包括用于標識網絡分組的內容的一個或者多 個解析器引擎,并且重寫器可以包括用于在分組從網絡交換機被發送出之前修改它們的一 個或者多個重寫引擎。解析器引擎和重寫引擎是靈活的并且在可編程基礎上操作。
[0050] 網絡交換機也包括用于存儲網絡交換機使用的數據的存儲器。例如存儲器存儲通 用命令集合。簡言之,通用命令通常被用來修改協議報頭。對于另一示例,存儲器也存儲協 議的通用格式的由軟件定義的映射。簡言之,根據對應協議特有的由軟件定義的映射中的 一個映射表示每個協議報頭。如將變得清楚的那樣,這些映射可以被用在協議的不同變體 上以及用在包括新協議的不同協議上。對于又一示例,存儲器也存儲協議表。簡言之,協議 表包括被編程到協議表中的每個協議層組合的每個協議層的層信息。對于又一示例,存儲 器也存儲計數器和統計量。
[0051] 在以太網中,分組包括多個協議層。每個協議層承載不同信息。公知層的一些示 例是:
[0052] ?以太網
[0053] · PBB 以太網
[0054] · ARP
[0055] · IPV4
[0056] · IPV6
[0057] · MPLS
[0058] · FCOE
[0059] · TCP
[0060] · UDP
[0061] · ICMP
[0062] · IGMP
[0063] · GRE
[0064] · ICMPv6
[0065] · VxLAN
[0066] · TRILL
[0067] · CNM
[0068] 在理論上,協議層可以按照任何順序出現。然而,這些層的僅一些公知組合出現。 這些層的有效組合的一些示例是:
[0069] ?以太網
[0070] ?以太網、ARP
[0071] ?以太網、CNM
[0072] ?以太網、FCoE
[0073] ?以太網、IPV4
[0074] ?以太網、IPV4、ICMP
[0
當前第1頁1 2 3 4 5 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影