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

使用通用修改指令來實(shí)現(xiàn)分組的靈活修改的方法及其裝置的制造方法

文檔序號(hào):9527607閱讀:286來源:國(guó)知局
使用通用修改指令來實(shí)現(xiàn)分組的靈活修改的方法及其裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及分組報(bào)頭修改。更具體地,本發(fā)明涉及一種使用通用修改指令來實(shí)現(xiàn) 分組的靈活修改的方法及其裝置。
【背景技術(shù)】
[0002] 網(wǎng)絡(luò)分組經(jīng)由因特網(wǎng)使用的協(xié)議、比如傳輸控制協(xié)議/網(wǎng)際協(xié)議/以太網(wǎng)協(xié)議 (TCP/IP/以太網(wǎng))承載數(shù)據(jù)。典型交換機(jī)能夠在向目的地或者向另一交換機(jī)發(fā)送出分組 之前修改傳入的分組的各種字段。出于各種原因而修改傳入的分組,比如分組將被轉(zhuǎn)發(fā)到 何處、目的地支持的協(xié)議、分組的優(yōu)先級(jí)、協(xié)議報(bào)頭的傳入的格式等。由于網(wǎng)絡(luò)協(xié)議正在演 變,協(xié)議報(bào)頭的一個(gè)或者多個(gè)字段可以是可任選的,這使交換機(jī)的硬件變復(fù)雜,因?yàn)樵趨f(xié)議 報(bào)頭內(nèi)的給定的字段可能不總是處于固定的偏移。
[0003] 在分組的修改期間,現(xiàn)有技術(shù)的交換機(jī)線性地處理分組中的每個(gè)協(xié)議層。這樣的 處理會(huì)產(chǎn)生與網(wǎng)絡(luò)有關(guān)的性能問題,包括時(shí)延,這可能使實(shí)現(xiàn)方式過度提供處理資源。

【發(fā)明內(nèi)容】

[0004] 用于修改分組報(bào)頭的裝置的實(shí)施例涉及通過向經(jīng)一般化的協(xié)議報(bào)頭應(yīng)用命令來 對(duì)分組進(jìn)行可編程修改。以該協(xié)議特有的通用格式表示傳入的分組的每個(gè)協(xié)議報(bào)頭以實(shí)現(xiàn) 對(duì)分組報(bào)頭的修改。檢測(cè)從協(xié)議報(bào)頭的缺失字段,并且將協(xié)議報(bào)頭擴(kuò)展成最大大小,使得協(xié) 議報(bào)頭包含該協(xié)議的所有可能字段、包括缺失字段。無論協(xié)議報(bào)頭對(duì)應(yīng)于協(xié)議的哪個(gè)變體, 字段中的每個(gè)字段都具有相同偏移。修改使用向擴(kuò)展的協(xié)議報(bào)頭應(yīng)用的命令集合。所有命 令因此通用,因?yàn)檫@些命令獨(dú)立于傳入的報(bào)頭(例如大小和協(xié)議)。
[0005] 在一個(gè)方面中,提供一種網(wǎng)絡(luò)設(shè)備的重寫引擎的方法。該方法包括根據(jù)用于分組 的每個(gè)協(xié)議報(bào)頭的通用格式來使該協(xié)議報(bào)頭一般化。通用格式包括協(xié)議的所有可能字段。 這樣,無論協(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ì)無效字段而被標(biāo)注為〇的位和針對(duì)有效字段而被標(biāo)注為1的位。這里, 無效字段是在接收的分組的協(xié)議報(bào)頭中不存在的字段,而有效字段是在接收的分組的協(xié)議 報(bào)頭中存在的字段。
[0006] 該方法也包括使用來自在網(wǎng)絡(luò)交換機(jī)的存儲(chǔ)器中存儲(chǔ)的通用命令集合的至少一 個(gè)命令來修改至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭。至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭的修改是基于 網(wǎng)絡(luò)交換機(jī)的傳出端口的出口端口類型。至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭的修改造成位矢量 被更新。在一些實(shí)施例中,該方法也包括對(duì)位矢量和更新的位矢量執(zhí)行X0R操作以確定多 少位被改變。
[0007] 由于通用命令集合被用于報(bào)頭修改,而不管傳入的分組的報(bào)頭如何,所以通用命 令集合可以被用來修改協(xié)議的第一變體的分組報(bào)頭和修改協(xié)議的第二變體的分組報(bào)頭。相 似地,通用命令集合可以被用來修改協(xié)議的第一變體的分組報(bào)頭和修改協(xié)議的第二變體的 分組報(bào)頭。
[0008] 在另一方面中,提供一種網(wǎng)絡(luò)交換機(jī)的方法。該方法包括在網(wǎng)絡(luò)交換機(jī)的存儲(chǔ)器 中維護(hù)通用命令集合。在一些實(shí)施例中,在通用命令集合中的每個(gè)通用命令表現(xiàn)為軟件編 程的微代碼。
[0009] 在一些實(shí)施例中,通用命令集合包括刪除命令,其中刪除命令的參數(shù)包括起始 Start和大小Size。刪除命令通過將位矢量中的與經(jīng)一般化的協(xié)議報(bào)頭內(nèi)的從Start定位 起的Size個(gè)字節(jié)對(duì)應(yīng)的位標(biāo)注為零來刪除這些字節(jié)。
[0010] 在一些實(shí)施例中,通用命令集合包括復(fù)制命令,其中復(fù)制命令的參數(shù)包括源 Source、源偏移SourceOffset、大小Size、目的地DestinationOffset、位掩碼Bitmask、復(fù) 制常數(shù)位掩碼copyConstantBitMask和復(fù)制常數(shù)數(shù)據(jù)copyConstantData。復(fù)制命令從經(jīng) 一般化的協(xié)議報(bào)頭的Source的SourceOffset向DestinationOffset復(fù)制Size個(gè)字節(jié) 的數(shù)據(jù)。在一些實(shí)施例中,復(fù)制命令使用Bitmask用于位掩碼操作。在一些實(shí)施例中,在 copyConstantBitMask在位位置處包含"1"時(shí),在對(duì)應(yīng)定位處向經(jīng)一般化的協(xié)議報(bào)頭中復(fù) 制來自copyConstantData中的對(duì)應(yīng)定位的字節(jié)。在一些實(shí)施例中,copyConstantData被 存儲(chǔ)在存儲(chǔ)器中并且由軟件定義。對(duì)應(yīng)目的地字節(jié)的有效性依賴于在Source中的數(shù)據(jù)的 有效性,其中將位矢量中的表示無效字節(jié)的位標(biāo)注為〇,并且將位矢量中的表示有效字節(jié)的 位標(biāo)注為1。
[0011] 在一些實(shí)施例中,通用命令集合包括移動(dòng)命令,其中移動(dòng)命令的參數(shù)包括起始偏 移StartOffset、目的地偏移DestinationOffset和大小Size。移動(dòng)命令將經(jīng)一般化的協(xié) 議報(bào)頭內(nèi)的Size個(gè)字節(jié)從StartOffset移動(dòng)到DestinationOffset。對(duì)應(yīng)目的地字節(jié)的有 效性依賴于在Source中的數(shù)據(jù)的有效性,其中對(duì)應(yīng)源字節(jié)變成無效,其中將位矢量中的表 示無效字節(jié)的位標(biāo)記為〇,并且將位矢量中的表示有效字節(jié)的位標(biāo)記為1。
[0012] 該方法也包括在網(wǎng)絡(luò)交換機(jī)的傳入端口處接收分組并且根據(jù)用于分組的每個(gè)協(xié) 議報(bào)頭的通用格式來使協(xié)議報(bào)頭一般化。使每個(gè)協(xié)議報(bào)頭一般化包括:檢測(cè)從分組的協(xié)議 報(bào)頭的缺失字段;以及基于檢測(cè),通過包括缺失字段來將協(xié)議報(bào)頭擴(kuò)展成通用格式。每個(gè)經(jīng) 一般化的協(xié)議報(bào)頭包括位矢量,該位矢量具有針對(duì)無效字段而被標(biāo)注為〇的位和針對(duì)有效 字段而被標(biāo)注為1的位。
[0013] 該方法也包括通過向經(jīng)一般化的協(xié)議報(bào)頭中的至少一個(gè)經(jīng)一般化的協(xié)議報(bào)頭應(yīng) 用來自通用命令集合的至少一個(gè)命令來修改經(jīng)一般化的協(xié)議報(bào)頭,由此更新位矢量。
[0014] 該方法也包括:基于更新的位矢量來形成新協(xié)議報(bào)頭;以及經(jīng)由網(wǎng)絡(luò)交換機(jī)的傳 出端口發(fā)射具有新協(xié)議報(bào)頭的分組。在一些實(shí)施例中,在發(fā)射具有新協(xié)議報(bào)頭的分組之前, 對(duì)針對(duì)執(zhí)行的所有操作而添加或者刪除的字節(jié)的數(shù)目進(jìn)行計(jì)數(shù)。
[0015] 在又一方面中,提供一種網(wǎng)絡(luò)交換機(jī)。網(wǎng)絡(luò)交換機(jī)包括用于接收和發(fā)送分組的輸 入端口和輸出端口。
[0016] 網(wǎng)絡(luò)交換機(jī)也包括用于存儲(chǔ)通用命令集合的存儲(chǔ)器。通用命令集合被用于報(bào)頭修 改,而不管傳入的報(bào)頭如何。在一些實(shí)施例中,通用命令集合包括刪除命令、復(fù)制命令和移 動(dòng)命令。
[0017] 網(wǎng)絡(luò)交換機(jī)也包括重寫引擎,用于處理分組以使分組中的每個(gè)分組的每個(gè)協(xié)議報(bào) 頭一般化,以便通過使用來自通用命令集合的至少一個(gè)命令來進(jìn)行修改。
[0018] 在一些實(shí)施例中,每個(gè)協(xié)議報(bào)頭根據(jù)對(duì)應(yīng)協(xié)議特有的由軟件定義的映射中的一個(gè) 映射被一般化。在一些實(shí)施例中,每個(gè)經(jīng)一般化的協(xié)議報(bào)頭包括位矢量,該位矢量具有針對(duì) 無效字節(jié)而被標(biāo)注為0的位和針對(duì)有效字節(jié)而被標(biāo)注為1的位。
【附圖說明】
[0019] 前文將從如附圖中所示本發(fā)明的示例實(shí)施例的以下更具體描述中變清楚,在附圖 中,相似標(biāo)號(hào)貫穿不同視圖指代相同部分。附圖未必按比例、代之以著重于圖示本發(fā)明的實(shí) 施例。
[0020] 圖1圖示分組的示例協(xié)議層組合。
[0021] 圖2圖示根據(jù)本發(fā)明的一些實(shí)施例的本地協(xié)議表的示例結(jié)構(gòu)。
[0022] 圖3圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的示例方法。
[0023] 圖4圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的另一示例方法。
[0024] 圖5圖示根據(jù)本發(fā)明的一些實(shí)施例的將傳入的分組的層進(jìn)行報(bào)頭擴(kuò)展成通用格 式的圖。
[0025] 圖6A-6B圖不根據(jù)本發(fā)明的一些實(shí)施例的協(xié)議報(bào)頭的不例一般化。
[0026] 圖7A-7C圖不根據(jù)本發(fā)明的一些實(shí)施例的協(xié)議報(bào)頭的另一不例一般化。
[0027] 圖8A-8C圖示根據(jù)本發(fā)明的一些實(shí)施例的協(xié)議報(bào)頭的又一示例一般化。
[0028] 圖9A-9F圖示根據(jù)本發(fā)明的一些實(shí)施例的協(xié)議報(bào)頭的示例修改。
[0029] 圖10A-10E圖示根據(jù)本發(fā)明的一些實(shí)施例的協(xié)議報(bào)頭的另一示例修改。
[0030] 圖11圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫引擎的方法。
[0031] 圖12圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0032] 圖13圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0033] 圖14圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0034] 圖15圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0035] 圖16圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫引擎的另一方法。
[0036] 圖17圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0037] 圖18圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫引擎的又一方法。
[0038] 圖19圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0039] 圖20圖示根據(jù)本發(fā)明的一些實(shí)施例的層結(jié)構(gòu)的示例圖。
[0040] 圖21圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫引擎交換機(jī)的又一方法。
[0041] 圖22圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
【具體實(shí)施方式】
[0042] 在以下描述中,出于說明的目的而闡述許多細(xì)節(jié)。然而,本領(lǐng)域普通技術(shù)人員將認(rèn) 識(shí)到,可以在不使用這些具體細(xì)節(jié)的情況下實(shí)施本發(fā)明。因此,本發(fā)明并不旨在于限于所示 實(shí)施例,而是將被賦予與這里描述的原理和特征一致的最廣范圍。
[0043] 引言
[0044] 網(wǎng)絡(luò)設(shè)備、比如網(wǎng)絡(luò)交換機(jī)能夠切換/路由網(wǎng)絡(luò)流量。網(wǎng)絡(luò)交換機(jī)包括用于接收 和發(fā)送分組的至少一個(gè)輸入/傳入端口和至少一個(gè)輸出/傳出端口。在一些實(shí)施例中,網(wǎng) 絡(luò)交換機(jī)也包括解析器和重寫器。解析器可以包括用于標(biāo)識(shí)網(wǎng)絡(luò)分組的內(nèi)容的一個(gè)或者多 個(gè)解析器引擎,并且重寫器可以包括用于在分組從網(wǎng)絡(luò)交換機(jī)被發(fā)送出之前修改它們的一 個(gè)或者多個(gè)重寫引擎。解析器引擎和重寫引擎是靈活的并且在可編程基礎(chǔ)上操作。
[0045] 網(wǎng)絡(luò)交換機(jī)也包括用于存儲(chǔ)網(wǎng)絡(luò)交換機(jī)使用的數(shù)據(jù)的存儲(chǔ)器。例如存儲(chǔ)器存儲(chǔ)通 用命令集合。簡(jiǎn)言之,通用命令通常被用來修改協(xié)議報(bào)頭。對(duì)于另一示例,存儲(chǔ)器也存儲(chǔ)協(xié) 議的通用格式的由軟件定義的映射。簡(jiǎn)言之,根據(jù)對(duì)應(yīng)協(xié)議特有的由軟件定義的映射中的 一個(gè)映射表示每個(gè)協(xié)議報(bào)頭。如將變得清楚的那樣,這些映射可以被用在協(xié)議的不同變體 上以及用在包括新協(xié)議的不同協(xié)議上。對(duì)于又一示例,存儲(chǔ)器也存儲(chǔ)協(xié)議表。簡(jiǎn)言之,協(xié)議 表包括被編程到協(xié)議表中的每個(gè)協(xié)議層組合的每個(gè)協(xié)議層的層信息。對(duì)于又一示例,存儲(chǔ) 器也存儲(chǔ)計(jì)數(shù)器和統(tǒng)計(jì)量。
[0046] 在以太網(wǎng)中,分組包括多個(gè)協(xié)議層。每個(gè)協(xié)議層承載不同信息。公知層的一些示 例是:
[0047] ?以太網(wǎng)
[0048] ·PBB以太網(wǎng)
[0049] · ARP
[0050] ·IPV4
[0051] ·IPV6
[0052] · MPLS
[0053] · FC0E
[0054] · TCP
[0055] · UDP
[0056] ·ICMP
[0057] ·IGMP
[0058] · GRE
[0059] · ICMPv6
[0060] · VxLAN
[0061] · TRILL
[0062] · CNM
[0063] 在理論上,協(xié)議層可以按照任何順序出現(xiàn)。然而,這些層的僅一些公知組合出現(xiàn)。 這些層的有效組合的一些示例是:
[0064] ?以太網(wǎng)
[0065] ?以太網(wǎng)、ARP
[0066] ?以太網(wǎng)、
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
北流市| 杨浦区| 拜城县| 射阳县| 莒南县| 惠来县| 嵊州市| 通江县| 鹿邑县| 广州市| 广南县| 阳西县| 永登县| 丹凤县| 夏津县| 南开区| 红河县| 常州市| 略阳县| 宁城县| 涿州市| 大姚县| 明光市| 邯郸市| 博客| 庆安县| 扶沟县| 岱山县| 三江| 夏津县| 万山特区| 阳春市| 天气| 平湖市| 师宗县| 三穗县| 乌兰县| 江门市| 宝丰县| 福安市| 锡林浩特市|