欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

將分組修改成通用格式用于實(shí)現(xiàn)可編程修改的方法及裝置的制造方法_5

文檔序號:9567087閱讀:來源:國知局
的起始位置(即層0),設(shè)置為16的層指針1,運(yùn)是在分組內(nèi)的用于W太網(wǎng)報(bào)頭的起始位置 (即層1),設(shè)置成36的層指針2,運(yùn)是在分組內(nèi)的用于IPv4報(bào)頭的起始位置(即層2),設(shè) 置成48的層指針3,運(yùn)是在分組內(nèi)的用于UDP報(bào)頭的起始位置(即層3),W及設(shè)置成56的 層指針4,運(yùn)是用于重寫引擎不修改的報(bào)頭的剩余部分的起始位置。在一些實(shí)施例中,重寫 引擎計(jì)算報(bào)頭的大小并且將報(bào)頭大?。此袌?bào)頭的總大?。┰O(shè)置成223。
[0187] 通過使用層指針,重寫引擎如W上討論的那樣一般化前四個協(xié)議層(即專用報(bào) 頭、W太網(wǎng)、IPv4、UD巧W供修改。在修改之后,重寫引擎通過去除所有無效字節(jié)來壓縮修 改的協(xié)議報(bào)頭。通常,在修改協(xié)議報(bào)頭之后更新層指針。
[0188] 層指針形成尾指針。尾指針與報(bào)頭大小一起與報(bào)頭的正文關(guān)聯(lián),該正文是報(bào)頭的 未修改的并且向前輸送的用于隨后拼接的部分。在執(zhí)行所有修改并且壓縮修改的協(xié)議報(bào)頭 之后,修改的層指針用來將修改的報(bào)頭與報(bào)頭的正文拼接回到一起。 陽189] 重寫引擎可W限于重寫引擎可W修改的層數(shù)。在一些實(shí)施例中,重寫引擎也可W限于重寫引擎可W將任何給定的協(xié)議層擴(kuò)展成多少。在運(yùn)樣的實(shí)施例中,重寫引擎通過將 兩個相鄰層指針相減來提取協(xié)議層的大小。如果層大小超過重寫引擎的硬件能力,則重寫 引擎簡單地使用先前的層指針并且智能地形成正文。
[0190] 假設(shè)協(xié)議層不能被擴(kuò)展多于40字節(jié),但是關(guān)聯(lián)協(xié)議的最大變體是64字節(jié)。在一 些實(shí)施例中,重寫引擎將報(bào)頭協(xié)議擴(kuò)展成最大40字節(jié)W供修改。在修改之后,使用層指針, 重寫引擎能夠相似地將剩余字節(jié)拼接到修改的字節(jié)。 陽191] 使用層指針顯著地減少硬件邏輯和復(fù)雜性,因?yàn)樗鼉H需應(yīng)對一個給定的協(xié)議層。 硬件命令的范圍限于給定的層。由于命令引擎對先前層和在它之后的層無依賴性,所W如 果每層需要更多命令則可W用多通過方式使用命令硬件。換而言之,由于命令沒有與命令 關(guān)聯(lián)的內(nèi)部狀態(tài),所W可W并行地使用多個命令。相似地,可W并行地修改多層。 陽192]圖21圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫引擎的又一方法2100。重寫引擎是網(wǎng) 絡(luò)交換機(jī)的部分并且在分組從網(wǎng)絡(luò)交換機(jī)被發(fā)送出之前修改它們。在步驟2105,針對每個 分組維護(hù)指針結(jié)構(gòu)。指針結(jié)構(gòu)包括層指針和分組的所有報(bào)頭的總大小。層指針中的每個層 指針對應(yīng)于分組中的關(guān)聯(lián)層的開始位置。 陽193]指針結(jié)構(gòu)包括N+1個層指針。重寫引擎修改分組的N個層。層指針形成尾指針。 有總大小的尾指針指示報(bào)頭的正文。報(bào)頭的正文是報(bào)頭的未被重寫引擎修改的部分。
[0194] 在步驟2110,基于層指針拆分分組的層W供層修改。檢測從分組的協(xié)議報(bào)頭的缺 失字段?;跈z測,將協(xié)議報(bào)頭擴(kuò)展成用于對應(yīng)協(xié)議的通用格式。通用格式包括協(xié)議的所 有可能字段。無論協(xié)議報(bào)頭對應(yīng)于協(xié)議的哪個變體,字段中的每個字段都具有相同偏移。每 個經(jīng)一般化的協(xié)議報(bào)頭包括位矢量,該位矢量具有對于無效字段被標(biāo)注為不可用或者0的 位和對于有效字段被標(biāo)注為可用或者1的位。使用來自通用命令集合的至少一個命令來修 改經(jīng)一般化的協(xié)議報(bào)頭。通常,在修改之后更新位矢量。
[01巧]在步驟2115,基于層修改來更新層指針。 陽196] 在步驟2120,基于經(jīng)更新的層指針將層拼接回到一起。 陽197] 圖22圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法2200。在步驟2205, 在網(wǎng)絡(luò)交換機(jī)的傳入端口處接收分組。
[0198] 在步驟2210,使用指針結(jié)構(gòu)來分離分組的協(xié)議層。指針結(jié)構(gòu)包括指向分組的N+1 個位置的N+1個層指針和分組的所有報(bào)頭的總大小。位置包括協(xié)議層的起始定位?;诜?組的解析的數(shù)據(jù)來初始化指針結(jié)構(gòu)。
[0199] 在步驟2215,使經(jīng)分離的協(xié)議層一般化W進(jìn)行修改。對于每層,提取層的大小W確 定該大小是否超過用于修改該層的硬件能力。通過將在指針結(jié)構(gòu)中的兩個相鄰層指針相減 來提取該大小?;谠摯_定,使用兩個相鄰層指針中的第一層指針并且形成正文。 陽200] 在步驟2220,基于修改來更新指針結(jié)構(gòu)。 陽201] 在步驟2225,使用經(jīng)更新的指針結(jié)構(gòu)來智能地將經(jīng)修改的協(xié)議層拼接回到一起W形成新協(xié)議報(bào)頭。 陽202] 在步驟2230,經(jīng)由網(wǎng)絡(luò)交換機(jī)的傳出端口發(fā)送出具有新協(xié)議報(bào)頭的分組。 陽203] 本領(lǐng)域普通技術(shù)人員將認(rèn)識到,也存在其它使用和優(yōu)點(diǎn)。盡管已經(jīng)參照許多具體 細(xì)節(jié)描述本發(fā)明,但是本領(lǐng)域普通技術(shù)人員將認(rèn)識到,可W在其它具體形式中體現(xiàn)本發(fā)明 而不脫離本發(fā)明的精神實(shí)質(zhì)。因此,本領(lǐng)域普通技術(shù)人員將理解到,本發(fā)明不受前述示例細(xì) 節(jié)限制,而是將由所附權(quán)利要求限定。
【主權(quán)項(xiàng)】
1. 一種重寫引擎的方法,所述方法包括: 從傳入的分組的協(xié)議報(bào)頭檢測缺失分組;以及 基于所述檢測,將所述協(xié)議報(bào)頭擴(kuò)展成用于對應(yīng)協(xié)議的通用格式。2. 根據(jù)權(quán)利要求1所述的方法,其中所述通用格式包括所述協(xié)議的所有可能字段,其 中無論所述協(xié)議報(bào)頭對應(yīng)于所述協(xié)議的哪個變體,所述字段中的每個字段都具有相同偏 移。3. 根據(jù)權(quán)利要求1所述的方法,其中擴(kuò)展所述協(xié)議報(bào)頭包括: 針對經(jīng)擴(kuò)展的協(xié)議報(bào)頭維護(hù)位矢量,其中所述位矢量包括針對所述經(jīng)擴(kuò)展的協(xié)議報(bào)頭 的每個字節(jié)的每字節(jié)的位; 針對每個有效字段的每個字節(jié),將位標(biāo)注為可用,其中每個有效字段是在所述傳入的 分組的所述協(xié)議報(bào)頭中存在的字段;以及 針對每個無效字段的每個字節(jié),將位標(biāo)注為不可用,其中每個無效字段是在所述傳入 的分組的所述協(xié)議報(bào)頭中不存在的字段。4. 根據(jù)權(quán)利要求1所述的方法,其中對于所述傳入的分組的每個協(xié)議層,執(zhí)行檢測缺 失字段以及基于所述檢測擴(kuò)展所述協(xié)議報(bào)頭。5. -種重寫引擎的方法,所述方法包括: 將分組的每個協(xié)議報(bào)頭轉(zhuǎn)換成通用格式,其中所述通用格式包括對應(yīng)協(xié)議可以具有的 所有可能字段; 針對每個經(jīng)轉(zhuǎn)換的協(xié)議報(bào)頭維護(hù)位矢量,其中所述位矢量包括針對所述經(jīng)轉(zhuǎn)換的協(xié)議 報(bào)頭的每個字節(jié)的每字節(jié)的位; 基于所述經(jīng)轉(zhuǎn)換的協(xié)議報(bào)頭的每個字段的每個字節(jié)的有效性,標(biāo)注所述位矢量的每個 位; 修改所述經(jīng)轉(zhuǎn)換的協(xié)議報(bào)頭;以及 基于所述經(jīng)轉(zhuǎn)換的協(xié)議報(bào)頭的所述修改來更新所述位矢量。6. 根據(jù)權(quán)利要求5所述的方法,其中轉(zhuǎn)換每個協(xié)議報(bào)頭包括參考協(xié)議的通用格式的由 軟件定義的映射的集合。7. 根據(jù)權(quán)利要求5所述的方法,其中更新所述位矢量包括基于所述經(jīng)修改的協(xié)議報(bào)頭 的每個字段的每個字節(jié)的有效性來標(biāo)注所述經(jīng)更新的位矢量的每個位。8. 根據(jù)權(quán)利要求5所述的方法,其中所述通用格式允許使用對在所述協(xié)議層內(nèi)的具體 字段無知的命令。9. 一種網(wǎng)絡(luò)交換機(jī)的方法,所述方法包括: 在所述網(wǎng)絡(luò)交換機(jī)的傳入端口處接收分組; 根據(jù)用于對應(yīng)協(xié)議的通用格式來使所述分組的協(xié)議報(bào)頭一般化; 通過向所述經(jīng)一般化的協(xié)議報(bào)頭應(yīng)用至少一個命令來修改所述經(jīng)一般化的協(xié)議報(bào) 頭; 去除經(jīng)修改的協(xié)議報(bào)頭的所有無效字節(jié)以形成新報(bào)頭;以及 經(jīng)由所述網(wǎng)絡(luò)交換機(jī)的傳出端口發(fā)送出具有所述新報(bào)頭的所述分組。10. 根據(jù)權(quán)利要求9所述的方法,其中所述網(wǎng)絡(luò)交換機(jī)包括被配置為使所述協(xié)議報(bào)頭 一般化的重寫引擎。11. 根據(jù)權(quán)利要求10所述的方法,其中使協(xié)議報(bào)頭一般化包括: 所述重寫引擎從所述分組的所述協(xié)議報(bào)頭檢測缺失字段;以及 基于所述檢測,所述重寫引擎將所述協(xié)議報(bào)頭擴(kuò)展成所述通用格式。12. 根據(jù)權(quán)利要求9所述的方法,其中修改所述協(xié)議報(bào)頭包括:基于所述傳出端口的出 口端口類型,向命令表進(jìn)行索引以確定所述至少一個命令。13. 根據(jù)權(quán)利要求9所述的方法,在接收傳入的分組之前還包括: 允許協(xié)議的通用格式的由軟件定義的映射;以及 在所述網(wǎng)絡(luò)交換機(jī)的存儲器中存儲所述由軟件定義的映射。14. 一種網(wǎng)絡(luò)交換機(jī)的方法,所述方法包括: 配置所述網(wǎng)絡(luò)交換機(jī)以包括協(xié)議的通用格式的由軟件定義的映射; 在所述網(wǎng)絡(luò)交換機(jī)的傳入端口處接收分組; 基于所述由軟件定義的映射中的一個映射來使所述分組的協(xié)議報(bào)頭一般化;以及 針對經(jīng)一般化的協(xié)議報(bào)頭維護(hù)位矢量,其中所述位矢量包括針對所述經(jīng)一般化的協(xié)議 報(bào)頭的每個字節(jié)的每字節(jié)的位。15. 根據(jù)權(quán)利要求14所述的方法,其中所述由軟件定義的映射被存儲在所述網(wǎng)絡(luò)交換 機(jī)的存儲器中。16. -種網(wǎng)絡(luò)交換機(jī),包括: 輸入端口和輸出端口,用于接收和發(fā)送分組; 存儲器,用于存儲協(xié)議的通用格式的由軟件定義的映射的集合;以及 重寫引擎,對所述分組執(zhí)行報(bào)頭一般化過程,以基于對應(yīng)協(xié)議特有的所述由軟件定義 的映射中的一個映射來使所述分組中的每個分組的每個協(xié)議報(bào)頭一般化。17. 根據(jù)權(quán)利要求16所述的網(wǎng)絡(luò)交換機(jī),其中對協(xié)議的不同變體使用所述報(bào)頭一般化 過程。18. 根據(jù)權(quán)利要求16所述的網(wǎng)絡(luò)交換機(jī),其中對不同協(xié)議使用所述報(bào)頭一般化過程。19. 根據(jù)權(quán)利要求16所述的網(wǎng)絡(luò)交換機(jī),其中在所述分組中的每個分組由所述重寫引 擎處理之后,所述分組包括規(guī)范化的協(xié)議層。20. 根據(jù)權(quán)利要求19所述的網(wǎng)絡(luò)交換機(jī),其中所述規(guī)范化的協(xié)議層中的每個協(xié)議層是 根據(jù)該協(xié)議的對應(yīng)通用格式擴(kuò)展的協(xié)議層。21. 根據(jù)權(quán)利要求20所述的網(wǎng)絡(luò)交換機(jī),其中所述經(jīng)擴(kuò)展的協(xié)議報(bào)頭包括位矢量,所 述位矢量具有針對無效字段而被標(biāo)注為〇的位和針對有效字段而被標(biāo)注為1的位。22. 根據(jù)權(quán)利要求16所述的網(wǎng)絡(luò)交換機(jī),其中所述重寫引擎是靈活的并且在可編程基 礎(chǔ)上操作。23. 根據(jù)權(quán)利要求16所述的網(wǎng)絡(luò)交換機(jī),其中所述重寫引擎基于所述輸出端口的出口 端口類型向命令表進(jìn)行索引,所述命令表向所述重寫引擎告知將向每個分組的每個報(bào)頭應(yīng) 用的一個或者多個命令。24. 根據(jù)權(quán)利要求23所述的網(wǎng)絡(luò)交換機(jī),其中所述存儲器存儲命令集合,其中在所述 命令集合中包括所述一個或者多個命令。25. 根據(jù)權(quán)利要求16所述的網(wǎng)絡(luò)交換機(jī),還包括解析器引擎,其中所述解析器引擎標(biāo) 識所述分組的內(nèi)容。26. 根據(jù)權(quán)利要求25所述的網(wǎng)絡(luò)交換機(jī),其中所述解析器引擎是靈活的并且在可編程 基礎(chǔ)上操作。27. 根據(jù)權(quán)利要求25所述的網(wǎng)絡(luò)交換機(jī),其中所述解析器引擎也能夠執(zhí)行報(bào)頭一般化 過程。28. -種網(wǎng)絡(luò)交換機(jī),包括: 輸入端口,用于接收分組,其中所述分組包括正文和協(xié)議棧; 輸出端口,用于發(fā)射經(jīng)修改的分組; 存儲器,用于存儲協(xié)議的通用格式的由軟件定義的映射的集合和通用修改命令集合; 以及 重寫引擎,用于: 基于來自所述由軟件定義的映射的集合中的一個映射,將所述協(xié)議棧的每個協(xié)議報(bào)頭 轉(zhuǎn)換成通用格式; 針對每個經(jīng)轉(zhuǎn)換的協(xié)議報(bào)頭維護(hù)位矢量; 使用所述通用修改命令集合來修改每個經(jīng)轉(zhuǎn)換的協(xié)議報(bào)頭; 在修改每個位矢量之后更新所述位矢量,以由此形成新協(xié)議棧;以及 向所述新協(xié)議棧附著所述正文以經(jīng)由所述輸出端口發(fā)射。
【專利摘要】本公開涉及將分組修改成通用格式用于實(shí)現(xiàn)可編程修改的方法及裝置。用于修改分組報(bào)頭的裝置的實(shí)施例涉及重寫引擎,重寫引擎以該協(xié)議特有的通用格式表示分組的每個協(xié)議報(bào)頭,以實(shí)現(xiàn)分組的可編程修改,從而產(chǎn)生在修改分組報(bào)頭時的硬件和軟件靈活性。軟件在用于各種協(xié)議的硬件表中對通用格式進(jìn)行編程。重寫引擎能夠從協(xié)議報(bào)頭檢測缺失字段并且能夠?qū)f(xié)議報(bào)頭擴(kuò)展成最大大小,從而協(xié)議報(bào)頭包含該協(xié)議的所有可能字段。無論協(xié)議報(bào)頭對應(yīng)于協(xié)議的哪個變體,字段中的每個字段都具有相同偏移。在位矢量中,所有新添加的字段被標(biāo)注無效(由0表示),而所有現(xiàn)有字段被標(biāo)注有效(由1表示)。軟件修改命令允許替換、去除和插入數(shù)據(jù)。
【IPC分類】H04L12/935
【公開號】CN105323192
【申請?zhí)枴緾N201510276588
【發(fā)明人】C·辛格, V·阿南德, T·丹尼爾, G·施密特
【申請人】凱為公司
【公開日】2016年2月10日
【申請日】2015年5月26日
【公告號】EP2958288A1, US20150373155
當(dāng)前第5頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
皋兰县| 洛南县| 耒阳市| 阳高县| 两当县| 张掖市| 溧水县| 宜宾市| 临夏县| 吴忠市| 新疆| 山西省| 穆棱市| 永丰县| 大余县| 吴忠市| 资阳市| 大渡口区| 深水埗区| 石棉县| 福海县| 福清市| 自治县| 铁岭县| 澄江县| 分宜县| 卢氏县| 临夏市| 岳阳市| 清远市| 江阴市| 绥宁县| 太仆寺旗| 青河县| 务川| 腾冲县| 永安市| 宁武县| 北流市| 明光市| 逊克县|