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

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

文檔序號(hào):9527608閱讀:來(lái)源:國(guó)知局
有效字節(jié)之后的每個(gè)無(wú)效字段的每個(gè)字節(jié),將位矢量字 段的位標(biāo)注為不可用。每個(gè)無(wú)效字段是在傳入的分組的協(xié)議報(bào)頭中不存在的字段。
[0147] 在步驟1425,針對(duì)在連續(xù)有效字節(jié)之后的每個(gè)有效字段的每個(gè)字節(jié),將位矢量字 段的位標(biāo)注為可用。每個(gè)有效字段是在傳入的分組的協(xié)議報(bào)頭中存在的字段。
[0148] 圖15圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法1500。在步驟1505, 在網(wǎng)絡(luò)交換機(jī)的傳入端口處接收分組。
[0149] 在步驟1510,根據(jù)用于對(duì)應(yīng)協(xié)議的通用格式使分組的協(xié)議報(bào)頭一般化。通常,重寫 引擎被配置為使協(xié)議報(bào)頭一般化。
[0150] 在步驟1515,在獨(dú)立于協(xié)議報(bào)頭的大小的數(shù)據(jù)結(jié)構(gòu)中表示經(jīng)一般化的協(xié)議報(bào)頭。 在一些實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)包括連續(xù)_字節(jié)字段和位矢量字段,其中連續(xù)_字節(jié)字段表示從 協(xié)議報(bào)頭的開(kāi)始起的連續(xù)有效字節(jié)的數(shù)目,而位矢量字段是協(xié)議報(bào)頭的每字節(jié)的位表示。
[0151] 這一數(shù)據(jù)結(jié)構(gòu)有助于使用于各種協(xié)議層的表示一般化并且去除對(duì)協(xié)議報(bào)頭層的 大小的依賴性。位矢量的緊湊表示有利地減少硬件成本。
[0152] 用于報(bào)頭修改的通用命令
[0153] 修改使用向擴(kuò)展的協(xié)議報(bào)頭應(yīng)用的通用命令的集合。所有命令因此通用,因?yàn)檫@ 些命令獨(dú)立于傳入報(bào)頭(例如大小和協(xié)議)。
[0154] 表1列舉重寫引擎用于協(xié)議報(bào)頭修改的通用命令。通用命令的這一小集合被用于 報(bào)頭修改,無(wú)論傳入的分組報(bào)頭(例如大小、協(xié)議)如何,因?yàn)樵谛薷闹胺纸M報(bào)頭被一般 化。通常,通用命令表現(xiàn)為軟件編程的微代碼。
[0155]表1
[0156]
[0158] DELETE命令通過(guò)使在當(dāng)前經(jīng)一般化的協(xié)議層內(nèi)的從Start定位開(kāi)始的Size個(gè)字 節(jié)無(wú)效來(lái)刪除這些字節(jié)。標(biāo)注表示那些字節(jié)的位矢量的位為〇。
[0159] COPY命令從Source的SourceOffset向當(dāng)前經(jīng)一般化的報(bào)頭層的 DestinationOffset復(fù)制Size個(gè)字節(jié)的數(shù)據(jù)。COPY命令根據(jù)數(shù)據(jù)的有效性在Source中是 否有效來(lái)使得對(duì)應(yīng)目的地字節(jié)有效或者無(wú)效。將表示無(wú)效字節(jié)的位矢量的位標(biāo)注為0。將表 示有效字節(jié)的位矢量的位標(biāo)注為1。COPY命令也可以使用Bitmask用于位掩碼操作。COPY 命令也可以使用copyConstantBitMask和copyConstantData。如果copyConstantBitMask 在位位置處包含" 1",則在對(duì)應(yīng)定位處將來(lái)自copyConstantData中的對(duì)應(yīng)定位的字節(jié)復(fù)制 到當(dāng)前經(jīng)一般化的報(bào)頭層中。在一些實(shí)施例中,在表中存儲(chǔ)常數(shù)數(shù)據(jù)。在一些實(shí)施例中,常 數(shù)數(shù)據(jù)是由軟件定義的。
[0160] MOVE命令將當(dāng)前經(jīng)一般化的協(xié)議層內(nèi)的Size個(gè)字節(jié)從StartOffset移動(dòng)到 DestinationOffset。MOVE命令根據(jù)數(shù)據(jù)的有效性在Source中是否有效來(lái)使對(duì)應(yīng)目的地字 節(jié)有效或者無(wú)效,并且使源字節(jié)無(wú)效。將表示無(wú)效字節(jié)的位矢量的位標(biāo)注為0。將表示有效 字節(jié)的位矢量的位標(biāo)注為1。
[0161] 通過(guò)使用至少一個(gè)計(jì)數(shù)器,針對(duì)執(zhí)行的所有操作,對(duì)添加或者刪除的字節(jié)的數(shù)目 進(jìn)行計(jì)數(shù)。至少一個(gè)計(jì)數(shù)器是硬件計(jì)數(shù)器。備選地,至少一個(gè)計(jì)數(shù)器是軟件計(jì)數(shù)器。至少一 個(gè)計(jì)數(shù)器出于統(tǒng)計(jì)目的和出于其它原因而保持跟蹤計(jì)數(shù)。在一些實(shí)施例中,重寫引擎對(duì)兩 個(gè)位矢量執(zhí)行X0R操作一一原有的位矢量和修改的位矢量一一以向硬件告知多少位改變, 這用于考慮刪除或者添加的字節(jié)的數(shù)目。
[0162] 圖16圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫引擎的另一方法1600。重寫引擎是網(wǎng) 絡(luò)交換機(jī)的部分并且在分組從網(wǎng)絡(luò)交換機(jī)被發(fā)送出之前修改它們。在步驟1605,根據(jù)用于 分組的每個(gè)協(xié)議報(bào)頭的通用格式使該協(xié)議報(bào)頭一般化。通用格式包括協(xié)議的所有可能字 段。這樣,無(wú)論協(xié)議報(bào)頭對(duì)應(yīng)于協(xié)議的哪個(gè)變體,字段中的每個(gè)字段都具有相同偏移。每個(gè) 經(jīng)一般化的協(xié)議報(bào)頭包括位矢量。位矢量包括針對(duì)經(jīng)一般化的協(xié)議報(bào)頭的每個(gè)字節(jié)的每字 節(jié)的位。位矢量包括對(duì)于無(wú)效字段而被標(biāo)注為0的位和對(duì)于有效字段而被標(biāo)注為1的位。 這里,無(wú)效字段是在接收的分組的協(xié)議報(bào)頭中不存在的字段,而有效字段是在接收的分組 的協(xié)議報(bào)頭中存在的字段。
[0163] 在步驟1610,使用來(lái)自在網(wǎng)絡(luò)交換機(jī)的存儲(chǔ)器中存儲(chǔ)的通用命令集合的至少一個(gè) 命令以修改至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭。對(duì)至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭的修改是基于 網(wǎng)絡(luò)交換機(jī)的傳出端口的出口端口類型。對(duì)至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭的修改造成位矢 量被更新。
[0164] 由于不管傳入的分組報(bào)頭如何,通用命令集合都被用于報(bào)頭修改,所以通用命令 集合可以被用來(lái)修改協(xié)議的第一變體的分組報(bào)頭和修改協(xié)議的第二變體的分組報(bào)頭。相似 地,通用命令集合可以被用來(lái)修改第一協(xié)議的分組報(bào)頭和修改第二協(xié)議的分組報(bào)頭。
[0165] 圖17圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法1700。在步驟1705, 在網(wǎng)絡(luò)交換機(jī)的存儲(chǔ)器中維護(hù)通用命令集合。
[0166] 在步驟1710,在網(wǎng)絡(luò)交換機(jī)的傳入端口處接收分組。
[0167] 在步驟1715,根據(jù)用于分組的每個(gè)協(xié)議報(bào)頭的通用格式使該協(xié)議報(bào)頭一般化。檢 測(cè)從分組的協(xié)議報(bào)頭的缺失字段?;跈z測(cè),通過(guò)包括缺失字段來(lái)將協(xié)議報(bào)頭擴(kuò)展成通用 格式。每個(gè)經(jīng)一般化的協(xié)議報(bào)頭包括位矢量,該位矢量具有對(duì)于無(wú)效字段被標(biāo)注為0的位 和對(duì)于有效字段被標(biāo)注為1的位。這里,無(wú)效字段是在接收的分組的協(xié)議報(bào)頭中不存在的 字段,而有效字段是在接收的分組的協(xié)議報(bào)頭中存在的字段。
[0168] 在步驟1720,通過(guò)向經(jīng)一般化的協(xié)議報(bào)頭中的至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭應(yīng)用 來(lái)自通用命令集合的至少一個(gè)命令,來(lái)修改經(jīng)一般化的協(xié)議報(bào)頭,由此更新位矢量。
[0169] 在步驟1725,基于更新的位矢量,形成新協(xié)議報(bào)頭。
[0170] 在步驟1730,經(jīng)由網(wǎng)絡(luò)交換機(jī)的傳出端口發(fā)射具有新協(xié)議報(bào)頭的分組。在一些實(shí) 施例中,在發(fā)射具有新協(xié)議報(bào)頭的分組之前,針對(duì)執(zhí)行的所有操作,對(duì)添加或者刪除的字節(jié) 的數(shù)目進(jìn)行計(jì)數(shù)。
[0171] 使用位矢量來(lái)使經(jīng)修改的協(xié)議報(bào)頭塌縮
[0172] 重寫引擎不僅使用用于每個(gè)協(xié)議報(bào)頭的位矢量來(lái)允許修改基于通用格式的協(xié)議 報(bào)頭的擴(kuò)展,重寫引擎也使用位矢量來(lái)允許將協(xié)議報(bào)頭從通用格式塌縮成"規(guī)則"報(bào)頭。通 常,在位矢量中的每個(gè)位表示經(jīng)一般化的協(xié)議報(bào)頭的字節(jié)。在位矢量中被標(biāo)注為〇的位對(duì) 應(yīng)于無(wú)效字節(jié),而在位矢量中被標(biāo)注為1的位對(duì)應(yīng)于有效字節(jié)。重寫引擎使用位矢量來(lái)去 除在已經(jīng)對(duì)經(jīng)一般化的協(xié)議報(bào)頭操作所有命令之后的所有無(wú)效字節(jié),以由此形成新協(xié)議報(bào) 頭。重寫引擎因此使用位矢量來(lái)允許分組的協(xié)議報(bào)頭的擴(kuò)展和塌縮,由此通過(guò)使用通用命 令集合而實(shí)現(xiàn)分組的靈活修改。
[0173] 例如回顧假設(shè)1,圖9Ε的位矢量920表示在已經(jīng)向圖9Β的經(jīng)一般化的協(xié)議報(bào)頭 905應(yīng)用刪除命令之后的圖9D的修改的協(xié)議報(bào)頭915。在這一假設(shè)1中,刪除客戶VLAN標(biāo) 記,由此使客戶VLAN標(biāo)記的四個(gè)字節(jié)無(wú)效。這樣,將位矢量920中的與客戶VLAN標(biāo)記對(duì)應(yīng) 的位標(biāo)注為0。在已經(jīng)操作所有命令、即在假設(shè)1中的刪除命令之后,重寫引擎使用位矢量 920來(lái)去除所有無(wú)效字節(jié),由此使位矢量920塌縮?;谒s的位矢量形成新協(xié)議報(bào)頭。圖 9F圖示在去除所有無(wú)效字節(jié)之后的新協(xié)議報(bào)頭925。經(jīng)由傳出以太網(wǎng)端口發(fā)送出具有新報(bào) 頭925的在假設(shè)1中的分組。
[0174] 對(duì)于另一示例,回顧假設(shè)2,圖10D的位矢量1015表示在已經(jīng)向圖10A的協(xié)議報(bào)頭 1000應(yīng)用刪除命令之后的圖10C的修改的協(xié)議報(bào)頭1010。在這一假設(shè)2中,刪除服務(wù)VLAN 標(biāo)記和客戶VLAN標(biāo)記,由此使服務(wù)VLAN標(biāo)記的四個(gè)字節(jié)和客戶VLAN標(biāo)記的四個(gè)字節(jié)無(wú) 效。這樣,將位矢量1015中的與服務(wù)VLAN標(biāo)記和客戶VLAN標(biāo)記對(duì)應(yīng)的位標(biāo)注為0。在已 經(jīng)操作所有命令、即在假設(shè)2中的兩個(gè)刪除命令之后,重寫引擎使用位矢量1015來(lái)去除所 有無(wú)效字節(jié),由此使位矢量1015塌縮?;谒s的位矢量形成新協(xié)議報(bào)頭。圖10E圖示在 去除所有無(wú)效字節(jié)之后的新協(xié)議報(bào)頭1020。經(jīng)由傳出以太網(wǎng)端口發(fā)送出具有新報(bào)頭1020 的在假設(shè)2中的分組。
[0175] 圖18圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫引擎的又一方法1800。重寫引擎是網(wǎng) 絡(luò)交換機(jī)的部分并且在分組從網(wǎng)絡(luò)交換機(jī)被發(fā)送出之前修改它們。在步驟1805,針對(duì)每個(gè) 經(jīng)一般化的協(xié)議報(bào)頭維護(hù)位矢量。經(jīng)一般化的協(xié)議報(bào)頭是擴(kuò)展成通用格式的分組的協(xié)議報(bào) 頭。通用格式包括協(xié)議的所有可能字段。無(wú)論協(xié)議報(bào)頭對(duì)應(yīng)于協(xié)議的哪個(gè)變體,字段中的每 個(gè)字段都具有相同偏移。位矢量包括針對(duì)經(jīng)一般化的協(xié)議報(bào)頭的每個(gè)字節(jié)的每字節(jié)的位。
[0176] 在步驟1810,基于對(duì)至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭的修改來(lái)更新位矢量。該修改 使用來(lái)自在網(wǎng)絡(luò)交換機(jī)的存儲(chǔ)器中存儲(chǔ)的通用命令集合的至少一個(gè)命令來(lái)修改至少一個(gè) 經(jīng)一般化的協(xié)議報(bào)頭。
[0177] 在步驟1815,使用經(jīng)更新的位矢量來(lái)壓縮至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭。在一些 實(shí)施例中,在步驟1815之前,對(duì)位矢量和更新的位矢量執(zhí)行X0R操作以確定多少位改變,這 允許重寫引擎考慮刪除和添加的字節(jié)。
[0178] 圖19圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法1900。在步驟1905, 在網(wǎng)絡(luò)交換機(jī)的傳入端口處接收分組。
[0179] 在步驟1910,根據(jù)用于分組的每個(gè)協(xié)議報(bào)頭的通用格式使該協(xié)議報(bào)頭一般化。檢 測(cè)從分組的協(xié)議報(bào)頭的缺失字段?;跈z測(cè),通過(guò)包括缺失字段來(lái)將協(xié)議報(bào)頭擴(kuò)展成通用 格式。
[0180] 在步驟1915,針對(duì)每個(gè)經(jīng)一般化的協(xié)議報(bào)頭維護(hù)位矢量。位矢量包括對(duì)于無(wú)效字 段而標(biāo)注為〇的位和對(duì)于有效字段而標(biāo)注為1的位。
[0181] 在步驟1920,修改經(jīng)一般化的協(xié)議報(bào)頭中的至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭,由此 更新位矢量。該修改使用來(lái)自在網(wǎng)絡(luò)交換機(jī)的存儲(chǔ)器中存儲(chǔ)的通用命令集合的至少一個(gè)命 令以修改至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭。對(duì)至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭的修改是基于網(wǎng) 絡(luò)交換機(jī)的傳出端口的出口端口類型。
[0182] 在步驟1925,通過(guò)移位經(jīng)更新的位矢量來(lái)去除在經(jīng)更新的位矢量中的標(biāo)注為0的 每個(gè)位,由此使經(jīng)更新的位矢量塌縮。
[0183] 在步驟1930,基于塌縮的位矢量形成緊湊協(xié)議報(bào)頭。經(jīng)由網(wǎng)絡(luò)交換機(jī)的傳出端口 發(fā)射至少具有緊湊協(xié)議報(bào)頭的分組。在一些實(shí)施例中,在發(fā)射分組之前,對(duì)針對(duì)執(zhí)行的所有 操作而添加或者刪除的字節(jié)數(shù)目進(jìn)行計(jì)數(shù)。
[0184] 指針結(jié)構(gòu)
[0185] 指針結(jié)構(gòu)可以被用來(lái)提取在用于經(jīng)一般化的傳入的分組內(nèi)的不同協(xié)議層并且在 協(xié)議層的修改之后重建分組。指針結(jié)構(gòu)包括N+1個(gè)層指針和分組的所有報(bào)頭的總大小。通 常,指針結(jié)構(gòu)初始地用如下數(shù)據(jù)來(lái)更新,該數(shù)據(jù)由解析器引擎提供以供重寫引擎用來(lái)將分 組拆分成各個(gè)層并且隨后智能地將它們拼接回到一起。在分組被拆分成各個(gè)層之后,重寫 引擎使協(xié)議報(bào)頭一般化、修改經(jīng)一般化的協(xié)議報(bào)頭并且通過(guò)去除所有無(wú)效字段來(lái)壓縮經(jīng)一 般化的協(xié)議報(bào)頭。層指針在每個(gè)層被修改之后由重寫引擎更新。這些更新的層指針被用來(lái) 在從網(wǎng)絡(luò)交換機(jī)發(fā)送出分組之前將不同協(xié)議層拼接回到一起。
[0186] 圖20圖示根據(jù)本發(fā)明的一些實(shí)施例的層結(jié)構(gòu)的示例圖2000。假設(shè)傳入的分組包 括以下協(xié)議層:專有報(bào)頭、以太網(wǎng)、IPv4、UDP、VxLAN和以太網(wǎng)。也假設(shè)網(wǎng)絡(luò)交換機(jī)的解析器 引擎能夠解析上至八層而重寫引擎僅能修改前N個(gè)、比如N= 4個(gè)協(xié)議層(因?yàn)檐浖?和/或硬件能力)。在一些實(shí)施例中,解析器引擎向重寫引擎提供數(shù)據(jù),諸
當(dāng)前第4頁(yè)1 2 3 4 5 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1