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

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

文檔序號(hào):9527608閱讀:364來(lái)源:國(guó)知局
將分組拆分成各層以供修改且之后將層拼接的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及分組報(bào)頭修改。更具體地,本發(fā)明涉及一種將分組拆分成各個(gè)層以供 修改并且在修改之后智能地將層拼接回到一起的方法及其裝置。
【背景技術(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)的性能問(wèn)題,包括時(shí)延,這可能使實(shí)現(xiàn)方式過(guò)度提供處理資源。

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

[0004] 用于修改分組報(bào)頭的裝置的實(shí)施例涉及用于將分組拆分成各個(gè)層并且用于智能 地將它們拼接回到一起的指針結(jié)構(gòu)。指針結(jié)構(gòu)包括指向N+1個(gè)協(xié)議報(bào)頭的N+1個(gè)層指針。 指針結(jié)構(gòu)也包括所有報(bào)頭的總大小。重寫(xiě)引擎使用層指針來(lái)提取在分組內(nèi)的前N個(gè)對(duì)應(yīng)協(xié) 議層以供修改。重寫(xiě)引擎使用層指針來(lái)形成尾指針,該尾指針與所有報(bào)頭的總大小一起與 報(bào)頭的正文關(guān)聯(lián)。報(bào)頭的正文是報(bào)頭中的未被重寫(xiě)引擎修改的部分。在執(zhí)行所有修改并且 壓縮經(jīng)修改的報(bào)頭之后,使用經(jīng)修改的層指針來(lái)將經(jīng)修改的報(bào)頭與報(bào)頭的正文拼接回到一 起。
[0005] 在一個(gè)方面中,提供一種重寫(xiě)引擎的方法。該方法包括針對(duì)每個(gè)分組維護(hù)指針結(jié) 構(gòu)。指針結(jié)構(gòu)包括層指針和分組的所有報(bào)頭的總大小。層指針中的每個(gè)層指針對(duì)應(yīng)于分組 中的關(guān)聯(lián)層的起始定位。
[0006] 在一些實(shí)施例中,指針結(jié)構(gòu)包括N+1個(gè)層指針,并且重寫(xiě)引擎修改分組的N個(gè)層。 在一些實(shí)施例中,層指針形成尾指針。具有總大小的尾指針指示報(bào)頭的正文。報(bào)頭的正文 是報(bào)頭中的未被重寫(xiě)引擎修改的部分。
[0007] 該方法也包括基于層指針拆分分組的層以供層修改。在一些實(shí)施例中,拆分分組 的層包括:從分組的協(xié)議報(bào)頭檢測(cè)缺失字段,基于檢測(cè),將協(xié)議報(bào)頭擴(kuò)展成用于對(duì)應(yīng)協(xié)議的 通用格式,以及使用來(lái)自通用命令集合的至少一個(gè)命令來(lái)修改經(jīng)一般化的協(xié)議報(bào)頭。
[0008] 在一些實(shí)施例中,通用格式包括協(xié)議的所有可能字段。無(wú)論協(xié)議報(bào)頭對(duì)應(yīng)于協(xié)議 的哪個(gè)變體,字段中的每個(gè)字段都具有相同偏移。
[0009] 在一些實(shí)施例中,擴(kuò)展協(xié)議報(bào)頭包括:針對(duì)經(jīng)一般化的協(xié)議報(bào)頭維護(hù)位矢量,其中 位矢量包括用于經(jīng)一般化的協(xié)議報(bào)頭的每個(gè)字節(jié)的每字節(jié)的位,針對(duì)每個(gè)有效字段的每個(gè) 字節(jié)將位標(biāo)注為可用,以及針對(duì)每個(gè)無(wú)效字段的每個(gè)字節(jié)將位標(biāo)注為不可用。
[0010] 在一些實(shí)施例中,使用至少一個(gè)命令包括在修改之后更新位矢量。
[0011] 該方法也包括基于層修改來(lái)更新層指針。
[0012] 該方法也包括基于經(jīng)更新的層指針將層拼接回到一起。
[0013] 在另一方面中,提供一種網(wǎng)絡(luò)交換機(jī)的方法。該方法包括:在網(wǎng)絡(luò)交換機(jī)的傳入端 口處接收分組;以及使用指針結(jié)構(gòu)來(lái)分離分組的協(xié)議層。在一些實(shí)施例中,在使用指針結(jié)構(gòu) 之前,基于分組的經(jīng)解析的數(shù)據(jù)來(lái)初始化指針結(jié)構(gòu)。
[0014] 在一些實(shí)施例中,指針結(jié)構(gòu)包括指向分組的N+1個(gè)位置的N+1個(gè)層指針和分組的 所有報(bào)頭的總大小。位置包括協(xié)議層的起始定位。
[0015] 該方法也包括使經(jīng)分離的協(xié)議層一般化以供修改。在一些實(shí)施例中,使經(jīng)分離的 協(xié)議層一般化以供修改包括:針對(duì)每個(gè)層,提取層的大小以確定大小是否超過(guò)用于修改層 的硬件能力。在一些實(shí)施例中,通過(guò)將指針結(jié)構(gòu)中的兩個(gè)相鄰層指針相減來(lái)提取大小?;?于確定,使用兩個(gè)相鄰層指針中的第一層指針并且形成正文。
[0016] 該方法也包括:基于修改來(lái)更新指針結(jié)構(gòu),使用經(jīng)更新的指針結(jié)構(gòu)來(lái)智能地將經(jīng) 修改的協(xié)議層拼接回到一起,以形成新協(xié)議報(bào)頭;以及經(jīng)由網(wǎng)絡(luò)交換機(jī)的傳出端口發(fā)送出 具有新協(xié)議報(bào)頭的分組。
[0017] 在又一方面中,提供一種網(wǎng)絡(luò)交換機(jī)。網(wǎng)絡(luò)交換機(jī)包括:輸入端口和輸出端口,用 于接收和發(fā)送分組;解析器引擎,用于解析分組;以及指針結(jié)構(gòu),與分組關(guān)聯(lián)。指針結(jié)構(gòu)用 由解析器引擎解析的數(shù)據(jù)來(lái)初始化。
[0018] 在一些實(shí)施例中,指針結(jié)構(gòu)包括層指針和分組的報(bào)頭棧的總大小。每個(gè)層指針指 向分組中的層。
[0019] 網(wǎng)絡(luò)交換機(jī)也包括重寫(xiě)引擎,用于使用指針結(jié)構(gòu)來(lái)將分組拆分成各個(gè)層以進(jìn)行經(jīng) 一般化的協(xié)議層的修改并且隨后拼接經(jīng)修改的層以形成新協(xié)議報(bào)頭棧。
[0020] 在一些實(shí)施例中,重寫(xiě)引擎在修改之后更新指針結(jié)構(gòu)。在一些實(shí)施例中,新協(xié)議報(bào) 頭棧基于經(jīng)更新的指針結(jié)構(gòu)而形成。
[0021] 在一些實(shí)施例中,網(wǎng)絡(luò)交換機(jī)也包括存儲(chǔ)器。在一些實(shí)施例中,存儲(chǔ)器存儲(chǔ)用于使 各個(gè)層一般化的、協(xié)議的通用格式的由軟件定義的映射的集合。在一些實(shí)施例中,存儲(chǔ)器存 儲(chǔ)通用命令集合,其中通用命令集合被用于報(bào)頭修改,而不管傳入的報(bào)頭如何。
[0022] 在又一方面中,提供一種網(wǎng)絡(luò)交換機(jī)。網(wǎng)絡(luò)交換機(jī)包括用于接收分組的輸入端口, 其中分組包括正文和協(xié)議棧。網(wǎng)絡(luò)交換機(jī)也包括用于發(fā)射經(jīng)修改的分組的輸出端口。
[0023] 網(wǎng)絡(luò)交換機(jī)也包括用于存儲(chǔ)協(xié)議的通用格式的由軟件定義的映射的集合和通用 修改命令集合的存儲(chǔ)器,其中通用命令集合被用于報(bào)頭修改,而不管傳入的報(bào)頭如何。
[0024]網(wǎng)絡(luò)交換機(jī)也包括用于解析分組的解析器引擎和與分組關(guān)聯(lián)的指針結(jié)構(gòu)。指針結(jié) 構(gòu)通常用由解析器引擎解析的數(shù)據(jù)來(lái)初始化。
[0025]網(wǎng)絡(luò)交換機(jī)也包括重寫(xiě)引擎。重寫(xiě)引擎使用指針結(jié)構(gòu)來(lái)基于協(xié)議層拆分分組,使 得分組的每個(gè)協(xié)議層被分離。在一些實(shí)施例中,指針結(jié)構(gòu)包括指向分組的N+1個(gè)位置的N+1 個(gè)層指針和分組的所有報(bào)頭的總大小。在一些實(shí)施例中,位置包括協(xié)議層的起始定位。
[0026] 重寫(xiě)引擎基于來(lái)自由軟件定義的映射的集合的由軟件定義的映射將每個(gè)協(xié)議報(bào) 頭轉(zhuǎn)換成通用格式。在一些實(shí)施例中,重寫(xiě)引擎也針對(duì)每個(gè)經(jīng)轉(zhuǎn)換的協(xié)議報(bào)頭維護(hù)位矢量。 位矢量包括針對(duì)經(jīng)轉(zhuǎn)換的協(xié)議報(bào)頭的每個(gè)字節(jié)的每字節(jié)的位。
[0027] 重寫(xiě)引擎使用通用修改命令集合來(lái)修改經(jīng)轉(zhuǎn)換的協(xié)議報(bào)頭并且拼接經(jīng)修改的協(xié) 議報(bào)頭以形成新協(xié)議報(bào)頭棧。在一些實(shí)施例中,重寫(xiě)引擎向新協(xié)議報(bào)頭棧附著正文以經(jīng)由 輸出端口發(fā)射。
【附圖說(shuō)明】
[0028] 前文將從如附圖中所示本發(fā)明的示例實(shí)施例的以下更具體描述中變清楚,在附圖 中,相似標(biāo)號(hào)貫穿不同視圖指代相同部分。附圖未必按比例、代之以著重于圖示本發(fā)明的實(shí) 施例。
[0029] 圖1圖示分組的示例協(xié)議層組合。
[0030] 圖2圖示根據(jù)本發(fā)明的一些實(shí)施例的本地協(xié)議表的示例結(jié)構(gòu)。
[0031] 圖3圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的示例方法。
[0032] 圖4圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的另一示例方法。
[0033] 圖5圖示根據(jù)本發(fā)明的一些實(shí)施例的將傳入的分組的層進(jìn)行報(bào)頭擴(kuò)展成通用格 式的圖。
[0034] 圖6A-6B圖不根據(jù)本發(fā)明的一些實(shí)施例的協(xié)議報(bào)頭的不例一般化。
[0035] 圖7A-7C圖不根據(jù)本發(fā)明的一些實(shí)施例的協(xié)議報(bào)頭的另一不例一般化。
[0036] 圖8A-8C圖不根據(jù)本發(fā)明的一些實(shí)施例的協(xié)議報(bào)頭的又一不例一般化。
[0037] 圖9A-9F圖示根據(jù)本發(fā)明的一些實(shí)施例的協(xié)議報(bào)頭的示例修改。
[0038] 圖10A-10E圖示根據(jù)本發(fā)明的一些實(shí)施例的協(xié)議報(bào)頭的另一示例修改。
[0039] 圖11圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫(xiě)引擎的方法。
[0040] 圖12圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0041] 圖13圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0042] 圖14圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0043] 圖15圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0044] 圖16圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫(xiě)引擎的另一方法。
[0045] 圖17圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0046] 圖18圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫(xiě)引擎的又一方法。
[0047] 圖19圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
[0048] 圖20圖示根據(jù)本發(fā)明的一些實(shí)施例的層結(jié)構(gòu)的示例圖。
[0049]圖21圖示根據(jù)本發(fā)明的一些實(shí)施例的重寫(xiě)引擎交換機(jī)的又一方法。
[0050] 圖22圖示根據(jù)本發(fā)明的一些實(shí)施例的網(wǎng)絡(luò)交換機(jī)的又一方法。
【具體實(shí)施方式】
[0051] 在以下描述中,出于說(shuō)明的目的而闡述許多細(xì)節(jié)。然而,本領(lǐng)域普通技術(shù)人員將認(rèn) 識(shí)到,可以在不使用這些具體細(xì)節(jié)的情況下實(shí)施本發(fā)明。因此,本發(fā)明并不旨在于限于所示 實(shí)施例,而是將被賦予與這里描述的原理和特征一致的最廣范圍。
[0052] 引言
[0053] 網(wǎng)絡(luò)設(shè)備、比如網(wǎng)絡(luò)交換機(jī)能夠切換/路由網(wǎng)絡(luò)流量。網(wǎng)絡(luò)交換機(jī)包括用于接收 和發(fā)送分組的至少一個(gè)輸入/傳入端口和至少一個(gè)輸出/傳出端口。在一些實(shí)施例中,網(wǎng) 絡(luò)交換機(jī)也包括解析器和重寫(xiě)器。解析器可以包括用于標(biāo)識(shí)網(wǎng)絡(luò)分組的內(nèi)容的一個(gè)或者多 個(gè)解析器引擎,并且重寫(xiě)器可以包括用于在分組從網(wǎng)絡(luò)交換機(jī)被發(fā)送出之前修改它們的一 個(gè)或者多個(gè)重寫(xiě)引擎。解析器引擎和重寫(xiě)引擎是靈活的并且在可編程基礎(chǔ)上操作。
[0054] 網(wǎng)絡(luò)交換機(jī)也包括用于存儲(chǔ)網(wǎng)絡(luò)交換機(jī)使用的數(shù)據(jù)的存儲(chǔ)器。例如存儲(chǔ)器存儲(chǔ)通 用命令集合。簡(jiǎn)言之,通用命令通常被用來(lái)修改協(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ì)量。
[0055] 在以太網(wǎng)中,分組包括多個(gè)協(xié)議層。每個(gè)協(xié)議層承載不同信息。公知層的一些示 例是:
[0056] ?以太網(wǎng)
[0057] ·PBB以太網(wǎng)
[0058] · ARP
[0059] · IPV4
[0060] · IPV6
[0061] · MPLS
[0062] · FC0E
[0063] · TCP
[0064] · UDP
[0065] · ICMP
[0066] · IGMP
[0067] · GRE
[0068] · ICMPv6
[0069] · VxLAN
[0070] · TRILL
[0071] · CNM
[0072] 在理論上,協(xié)議層可以按照任何順序出現(xiàn)。然而,這些層的僅一些公知組合出現(xiàn)。 這些層的有效組合的一些示例是:
[0073] ?以太網(wǎng)
[0074] ?以太網(wǎng)、ARP
[0075] ?以太網(wǎng)、CNM
[0076] ?以太網(wǎng)、FCoE
[0077] ?以太網(wǎng)、IPV4
當(dāng)前第1頁(yè)1 2 3 4 5 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1