亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

將分組拆分成各層以供修改且之后將層拼接的方法及裝置的制造方法_2

文檔序號(hào):9527608閱讀:來源:國知局
[0078] ?以太網(wǎng)、IPV4、ICMP
[0079] ?以太網(wǎng)、IPV4、IGMP
[0080] 唯一分組標(biāo)識(shí)符
[0081] 在一些實(shí)施例中,網(wǎng)絡(luò)交換機(jī)支持17個(gè)協(xié)議和八個(gè)協(xié)議層。因此有817個(gè)可能協(xié) 議層組合。圖1圖示分組的示例協(xié)議層組合。例如分組可以包括三協(xié)議層組合比如以太網(wǎng)、IPv4和ICMP。對(duì)于另一示例,分組可以包括七協(xié)議層組合比如以太網(wǎng)、IPv4、UDP、VxLAN、 以太網(wǎng)和ARP。
[0082] 雖然有817個(gè)可能協(xié)議層組合,但是這些層中的僅一些公知組合出現(xiàn)。所有已知協(xié) 議層組合被唯一地標(biāo)識(shí)和翻譯成稱為分組標(biāo)識(shí)符(PktID)的唯一編號(hào)。在網(wǎng)絡(luò)交換機(jī)的存 儲(chǔ)器中存儲(chǔ)的協(xié)議表被編程為包括每個(gè)已知協(xié)議層組合的每層的層信息。在實(shí)踐中,本地 協(xié)議表包括少于256個(gè)協(xié)議層組合。在一些實(shí)施例中,這一本地表包括212個(gè)已知協(xié)議層 組合。本地表被編程為包括或多或少協(xié)議層組合。
[0083] 圖2圖示根據(jù)本發(fā)明的一些實(shí)施例的本地協(xié)議表200的示例結(jié)構(gòu)。在本地表200 中的使用PktID索引的每個(gè)協(xié)議層組合包括用于該協(xié)議層組合的每個(gè)協(xié)議層的信息,該信 息被示出為層〇信息、層1信息和層N信息。通過對(duì)PktID進(jìn)行索引,可以訪問或者獲取用 于分組的所有N層的信息。
[0084] 用于每個(gè)協(xié)議層的信息至少包括以下信息:層類型、層數(shù)據(jù)偏移和雜項(xiàng)信息。然 而,更多信息可以被存儲(chǔ)在本地表200中。簡言之,層類型是指協(xié)議層的關(guān)聯(lián)協(xié)議(例如 IP/TCP/UDP/以太網(wǎng)),層數(shù)據(jù)偏移提供協(xié)議層中的層數(shù)據(jù)的開始位置,并且雜項(xiàng)信息包括 比如校驗(yàn)和和長度數(shù)據(jù)之類的數(shù)據(jù)。
[0085] 通常,解析器引擎能夠標(biāo)識(shí)在網(wǎng)絡(luò)交換機(jī)處接收的傳入的分組的PktID。重寫引擎 使用PktID作為至協(xié)議表的關(guān)鍵字,該協(xié)議表向重寫引擎提供為了使用于修改的分組的每 個(gè)協(xié)議層一般化而需要的所有信息。換而言之,重寫引擎使用PktID從協(xié)議表訪問或者獲 取用于分組中的協(xié)議層中的每個(gè)協(xié)議層的信息,而不是從解析器引擎接收解析結(jié)果。
[0086] 層類型。層類型和對(duì)分組的一個(gè)或者多個(gè)字段的哈希的唯一組合向重寫引擎提供 用于每個(gè)協(xié)議層的"通用格式"。在一些實(shí)施例中,這一唯一組合指定在存儲(chǔ)器中存儲(chǔ)的協(xié) 議的通用格式的由軟件定義的映射中的一個(gè)映射。通用格式由重寫引擎用來擴(kuò)展協(xié)議層并 且使用軟件命令來修改協(xié)議層。這一信息也向重寫引擎告知每個(gè)協(xié)議層在分組內(nèi)何處開 始。
[0087] 層數(shù)據(jù)偏移。重寫引擎使用數(shù)據(jù)修改傳入報(bào)頭層。這一數(shù)據(jù)可以在分組中任何處 被擴(kuò)展。由于層大小可以變化,所以向重寫引擎在修改期間需要使用的數(shù)據(jù)的偏移可以變 化,這限制對(duì)重寫引擎可以從何處拾取什么數(shù)據(jù)的硬件靈活性。
[0088] 以分層方式布置來自傳入的分組報(bào)頭的提取的數(shù)據(jù)。布置提取的數(shù)據(jù)結(jié)構(gòu),使得 層數(shù)據(jù)結(jié)構(gòu)的開始偏移每PktID是唯一的。每層的層數(shù)據(jù)偏移用來標(biāo)識(shí)用于修改的提取的 數(shù)據(jù)的位置。由于通過分組的PktID標(biāo)識(shí)在分組內(nèi)的層的結(jié)構(gòu)和來自層的提取的數(shù)據(jù)的位 置,所以軟件和硬件使用相同唯一標(biāo)識(shí)符來管理提取的數(shù)據(jù),這簡化重寫引擎中的命令。
[0089] 雜項(xiàng)信息。比如校驗(yàn)和和長度數(shù)據(jù)之類的信息向重寫引擎告知對(duì)于關(guān)聯(lián)協(xié)議層的 特殊處置要求,比如校驗(yàn)和重新計(jì)算以及報(bào)頭長度更新。
[0090] 分組一般化方案允許軟件定義通用命令的小集合,該集合完全地基于給定的協(xié)議 層并且獨(dú)立于在這一協(xié)議層之前或者之后的層。分組一般化方案也提供硬件靈活性以使自 身針對(duì)協(xié)議改變和添加而不會(huì)過時(shí)。
[0091] 圖3圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的示例方法300。網(wǎng)絡(luò)交換機(jī)通 常包括解析器引擎和重寫引擎。
[0092] 在步驟305,解析器引擎檢查傳入的分組以標(biāo)識(shí)分組的PktID。在一些實(shí)施例中, 解析器引擎向重寫引擎?zhèn)鬟fPktID,而不是向重寫引擎?zhèn)鬟f分組的解析的數(shù)據(jù)。
[0093] 在步驟310,重寫引擎參考協(xié)議表,該協(xié)議表定義網(wǎng)絡(luò)交換機(jī)接收的分組的不同分 組結(jié)構(gòu)。重寫引擎使用PktID作為至協(xié)議表的關(guān)鍵字,以提取修改所必需的用于分組的每 個(gè)協(xié)議層的信息。
[0094] 在步驟315,重寫引擎基于在協(xié)議表中存儲(chǔ)的數(shù)據(jù)修改分組。通常,重寫引擎在修 改分組之前擴(kuò)展分組的每個(gè)協(xié)議層。協(xié)議層擴(kuò)展和修改在別處討論。
[0095] 圖4圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的另一示例方法400。網(wǎng)絡(luò)交換 機(jī)通常包括存儲(chǔ)器和至少一個(gè)傳入端口。
[0096] 在步驟405,在存儲(chǔ)器中存儲(chǔ)協(xié)議表。協(xié)議表定義分組的不同分組結(jié)構(gòu)。分組結(jié) 構(gòu)中的每個(gè)分組結(jié)構(gòu)由PktID進(jìn)行索引。分組結(jié)構(gòu)中的每個(gè)分組結(jié)構(gòu)表示協(xié)議層組合并且 包括協(xié)議層組合的每個(gè)協(xié)議層的層信息。協(xié)議表可以被更新以添加表示新協(xié)議的新分組結(jié) 構(gòu)。協(xié)議表也可以被更新以響應(yīng)于協(xié)議的改變來修改分組結(jié)構(gòu)。
[0097] 在步驟410,在傳入端口處接收分組。
[0098] 在步驟415,標(biāo)識(shí)分組的PktID。在一些實(shí)施例中,解析器引擎標(biāo)識(shí)分組的PktID。
[0099] 在步驟420,訪問用于分組的每個(gè)協(xié)議層的信息。通常,信息位于協(xié)議表中。在一 些實(shí)施例中,信息被用來根據(jù)用于對(duì)應(yīng)協(xié)議的通用格式使分組的協(xié)議報(bào)頭一般化。通用格 式在存儲(chǔ)器中由軟件定義。
[0100] 如別處說明的那樣,經(jīng)一般化的協(xié)議報(bào)頭可以通過將至少一個(gè)命令應(yīng)用于經(jīng)一般 化的協(xié)議報(bào)頭來修改。在一些實(shí)施例中,通過使用信息確定用來修改經(jīng)一般化的協(xié)議報(bào)頭 的數(shù)據(jù)的位置,由此修改經(jīng)一般化的協(xié)議報(bào)頭。網(wǎng)絡(luò)交換機(jī)的重寫引擎通常使協(xié)議報(bào)頭一 般化并且修改經(jīng)一般化的協(xié)議報(bào)頭。
[0101] 通用格式
[0102] 如以上簡要地說明的那樣,重寫引擎以對(duì)應(yīng)協(xié)議特有的通用格式表示分組的每個(gè) 協(xié)議報(bào)頭,以實(shí)現(xiàn)分組的可編程修改,從而產(chǎn)生在修改分組報(bào)頭時(shí)的硬件和軟件靈活性。
[0103] 圖5圖示根據(jù)本發(fā)明的一些實(shí)施例的將傳入的分組的層進(jìn)行報(bào)頭擴(kuò)展成通用格 式的圖500。在圖5中,傳入的分組包括八個(gè)協(xié)議層。每個(gè)協(xié)議層具有用于相應(yīng)協(xié)議的報(bào) 頭。更多或者更少協(xié)議層如以上指示的那樣是可能的。重寫引擎能夠如圖5中所示從協(xié)議 報(bào)頭中的任何協(xié)議報(bào)頭檢測(cè)缺失字段并且將每個(gè)協(xié)議報(bào)頭擴(kuò)展成它的通用格式。規(guī)范層是 指已經(jīng)擴(kuò)展成它的通用格式的協(xié)議層。簡言之,每個(gè)規(guī)范層包括位矢量,該位矢量具有對(duì)于 無效字段標(biāo)注為〇的位和對(duì)于有效字段標(biāo)注為1的位。
[0104] 圖6A-8C圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫引擎如何對(duì)以太網(wǎng)協(xié)議工作的示 例。圖6A-8C中所示示例證明,重寫引擎能夠?qū)Ρ热缫蕴W(wǎng)協(xié)議之類的協(xié)議的不同變體工 作。每個(gè)示例舉例說明以太網(wǎng)協(xié)議的傳入報(bào)頭及其對(duì)應(yīng)通用格式。雖然未討論其它協(xié)議, 但是注意重寫引擎對(duì)其它協(xié)議相似地工作。
[0105] 圖6A圖示傳入的分組的示例以太網(wǎng)分組報(bào)頭的格式600。以太網(wǎng)分組報(bào)頭600是 22字節(jié)并且包括五個(gè)字段:源地址(SA)字段、目的地地址(DA)字段、服務(wù)VLAN標(biāo)記字段、 客戶VLAN標(biāo)記字段和以太類型字段。SA字段和DA字段各自為6字節(jié)。服務(wù)VLAN標(biāo)記字 段和客戶VLAN標(biāo)記字段各自為4字節(jié)。以太類型字段為2字節(jié)。具有以太網(wǎng)分組報(bào)頭600 的分組是以太網(wǎng)分組的最大變體并且具有最大大小22字節(jié)。
[0106] 重寫引擎處理以太網(wǎng)分組報(bào)頭600并且確定沒有任何字段從以太網(wǎng)分組報(bào)頭 600缺失。以太網(wǎng)分組報(bào)頭600的通用格式因此與以太網(wǎng)分組報(bào)頭600的通用格式相 同,因?yàn)橐蕴W(wǎng)分組報(bào)頭600包含所有可能字段。圖6B圖示表示圖6A的以太網(wǎng)分組報(bào) 頭600的位矢量605。位矢量605的每個(gè)位對(duì)應(yīng)于以太網(wǎng)分組報(bào)頭600的22字節(jié)的一 個(gè)字節(jié)。位矢量605包含所有1,因?yàn)橐蕴W(wǎng)分組報(bào)頭600的所有字段由于字段在以太 網(wǎng)分組報(bào)頭600中存在而都為有效或者具有值。因而,以太網(wǎng)分組報(bào)頭600由通用格式 {22'bllllll_llllll_llll_llll_ll}表示。
[0107] 圖7A圖示傳入的分組的另一示例以太網(wǎng)分組報(bào)頭的格式700。以太網(wǎng)分組報(bào)頭 700為18字節(jié)并且僅包括四個(gè)字段:SA字段、DA字段、客戶VLAN標(biāo)記字段和以太類型字段。 以太網(wǎng)分組報(bào)頭700缺失服務(wù)VLAN標(biāo)記字段。具有以太網(wǎng)分組報(bào)頭700的分組是以太網(wǎng) 分組的另一變體。
[0108] 重寫引擎處理以太網(wǎng)分組報(bào)頭700,并且確定服務(wù)VLAN標(biāo)記字段從以太網(wǎng)分組 報(bào)頭700缺失,并且通過在以太網(wǎng)分組報(bào)頭700的通用格式的適當(dāng)位置處包括缺失的服務(wù) VLAN標(biāo)記字段來將以太網(wǎng)分組報(bào)頭700擴(kuò)展成它的最大大小22字節(jié)。圖7B圖示擴(kuò)展的 以太網(wǎng)分組報(bào)頭的通用格式700'。擴(kuò)展的以太網(wǎng)分組報(bào)頭700'包括以太網(wǎng)協(xié)議的包括缺 失的服務(wù)VLAN標(biāo)記字段的所有可能字段。在擴(kuò)展的以太網(wǎng)分組報(bào)頭700'中的有效字段是 SA字段、DA字段、客戶VLAN標(biāo)記字段和以太類型字段,因?yàn)樗鼈冊(cè)谝蕴W(wǎng)分組報(bào)頭700中 存在。在擴(kuò)展的以太網(wǎng)分組報(bào)頭700'中的無效字段是服務(wù)VLAN標(biāo)記字段,因?yàn)樗谝蕴?網(wǎng)分組報(bào)頭700中不存在、而是被添加在擴(kuò)展的以太網(wǎng)分組報(bào)頭700'中。
[0109] 圖7C圖示表示圖7B的擴(kuò)展的以太網(wǎng)分組報(bào)頭700'的位矢量705。位矢量705的 每個(gè)位對(duì)應(yīng)于擴(kuò)展的以太網(wǎng)分組報(bào)頭700'的22字節(jié)中的一個(gè)字節(jié)。位矢量705包含用于 所有有效字段的1,這些字段是SA字段、DA字段、客戶VLAN標(biāo)記字段和以太類型字段。位 矢量705包含用于所有無效字段的0,這些字段僅為服務(wù)VLAN標(biāo)記字段。因而,以太網(wǎng)分組 報(bào)頭 700 由通用格式{22'bllllll_llllll_0000_llll_ll}表示。
[0110] 圖8A圖示傳入的分組的另一示例以太網(wǎng)分組報(bào)頭的格式800。以太網(wǎng)分組報(bào)頭 800為14字節(jié)并且僅包括三個(gè)字段:SA字段、DA字段和以太類型字段。以太網(wǎng)分組報(bào)頭 800缺失服務(wù)VLAN標(biāo)記字段和客戶VLAN標(biāo)記字段。具有以太網(wǎng)分組報(bào)頭800的分組是以 太網(wǎng)分組的最小變體。
[0111] 重寫引擎處理以太網(wǎng)報(bào)頭800,并且確定服務(wù)VLAN標(biāo)記字段和客戶VLAN標(biāo)記字段 從以太網(wǎng)分組報(bào)頭800缺失,并且通過在以太網(wǎng)分組報(bào)頭800的通用格式的適當(dāng)位置處包 括缺失的服務(wù)VLAN標(biāo)記字段和缺失的客戶VLAN標(biāo)記字段來將以太網(wǎng)分組報(bào)頭800擴(kuò)展成 它的最大大小22字節(jié)。圖8B圖示擴(kuò)展的以太網(wǎng)分組報(bào)頭的通用格式800'。擴(kuò)展的以太 網(wǎng)分組報(bào)頭800'包括以太網(wǎng)協(xié)議的包括缺失的服務(wù)VLAN標(biāo)記字段和缺失的客戶VLAN標(biāo) 記字段的所有可能字段。在擴(kuò)展的以太網(wǎng)分組報(bào)頭800'中的有效字段是SA字段、DA字段 和以太類型字段,因?yàn)樗鼈冊(cè)谝蕴W(wǎng)分組報(bào)頭800中存在。在擴(kuò)展的以太網(wǎng)分組報(bào)頭800' 中的無效字段是服務(wù)VLAN標(biāo)記字段和客戶VLAN標(biāo)記字段,因?yàn)樗鼈冊(cè)谝蕴W(wǎng)分組報(bào)頭800 中不存在、而是被添加在擴(kuò)展的以太網(wǎng)分組報(bào)頭800'中。
[0112] 圖8C圖示表示圖8B的擴(kuò)展的以太網(wǎng)分組報(bào)頭800'的位矢量805。位矢量805的 每個(gè)位對(duì)應(yīng)于擴(kuò)展的以太網(wǎng)分組報(bào)頭800'的22字節(jié)中的一個(gè)字節(jié)。位矢量805包含用于 所有有效字段的1,這些字段是SA字段、DA字段和以太類型字段。位矢量805包含用于所 有無效字段的0,這些字段是服務(wù)VLAN標(biāo)記字段和客戶VLAN標(biāo)記字段。因而,以太網(wǎng)分組 報(bào)頭 800 由通用格式{22'bllllll_llllll_0000_0000_ll}表示。
[0113] 如圖6A-8C中所示,無論傳入以太網(wǎng)報(bào)頭的變化如何,一旦執(zhí)行將以太網(wǎng)報(bào)頭擴(kuò) 展成通用格式,字段偏移與最大大小
當(dāng)前第2頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1