增加網(wǎng)絡(luò)設(shè)備中的分組處理速率的制作方法
【專利摘要】在用于處理網(wǎng)絡(luò)設(shè)備中的分組的方法中,在網(wǎng)絡(luò)設(shè)備的第一端口處接收第一分組。從第一分組的首部中提取第一比特集合,第一比特集合對應(yīng)于第一分組的首部中的第一比特位置集合。執(zhí)行第一處理操作集合以使用第一比特集合來處理第一分組。在網(wǎng)絡(luò)設(shè)備的第二端口處接收第二分組。從第二分組的首部中提取第二比特集合,第二比特集合對應(yīng)于第二分組的首部中的第二比特位置集合。執(zhí)行第二處理操作集合以使用第二比特集合來處理第二分組。
【專利說明】増加網(wǎng)絡(luò)設(shè)備中的分組處理速率
[0001]相關(guān)申請的交叉引用
[0002]本公開要求2013年12月 18 日提交的題為 “Increasing packet processing bypacking packet headers”的第61/917,809號(hào)美國臨時(shí)專利申請的權(quán)益。
技術(shù)領(lǐng)域
[0003]本公開總體上涉及網(wǎng)絡(luò)設(shè)備,諸如網(wǎng)絡(luò)交換機(jī)、橋接器、路由器等,并且更特別地涉及在網(wǎng)絡(luò)設(shè)備中實(shí)現(xiàn)的分組處理技術(shù)。
【背景技術(shù)】
[0004]網(wǎng)絡(luò)交換機(jī)通常包括耦合至不同鏈路的多個(gè)端口。網(wǎng)絡(luò)交換機(jī)從網(wǎng)絡(luò)接收分組并且對分組執(zhí)行各種處理操作,這些處理操作可以包括與通過網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)分組有關(guān)的處理操作,諸如基于分組首部中的地址來確定要將分組導(dǎo)向到的網(wǎng)絡(luò)設(shè)備的端口、針對屬于某些流的分組而執(zhí)行的計(jì)量操作、安全策略操作等。
[0005]在一些應(yīng)用中,網(wǎng)絡(luò)設(shè)備可以取決于分組的來源不同地處理分組。比如,取決于分組是從耦合至數(shù)據(jù)中心的外部網(wǎng)絡(luò)、從數(shù)據(jù)中心內(nèi)的另一設(shè)備、還是從位于數(shù)據(jù)中心的不同層中的網(wǎng)絡(luò)設(shè)備而接收的,可以存在不同的處理要求。
[0006]—些網(wǎng)絡(luò)設(shè)備使用數(shù)據(jù)路徑和控制路徑來處理分組。數(shù)據(jù)路徑通常緩沖所接收分組的數(shù)據(jù)直到分組從網(wǎng)絡(luò)設(shè)備被傳送,而控制路徑通常執(zhí)行分組的處理。數(shù)據(jù)路徑的吞吐量被測量為數(shù)據(jù)速率(例如每秒比特?cái)?shù)),而控制路徑的吞吐量通常被測量為分組速率(例如每秒分組數(shù))。控制路徑的分組速率受到數(shù)據(jù)速率以及被處理的分組的大小的影響。例如,對于相同數(shù)據(jù)速率的分組流,與大于第一分組大小的第二分組大小相比,第一分組大小的分組速率相對較高。網(wǎng)絡(luò)設(shè)備的性能通常通過緩解與控制路徑的分組處理相關(guān)聯(lián)的各種瓶頸來改善。
【發(fā)明內(nèi)容】
[0007]在實(shí)施例中,一種用于處理網(wǎng)絡(luò)設(shè)備中的分組的方法包括:在網(wǎng)絡(luò)設(shè)備的第一端口處接收第一分組;從第一分組的首部中提取第一比特集合,第一比特集合對應(yīng)于第一分組的首部中的第一比特位置集合;以及執(zhí)行第一處理操作集合以使用從第一分組的首部中提取的第一比特集合來處理第一分組。方法還包括:在網(wǎng)絡(luò)設(shè)備的第二端口處接收第二分組,第二端口不同于第一端口;從第二分組的首部中提取第二比特集合,第二比特集合對應(yīng)于第二分組的首部中的第二比特位置集合,其中第二比特位置集合包含沒有被包含在第一比特位置集合中的至少一個(gè)比特位置;以及執(zhí)行第二處理操作集合以使用從第二分組的首部中提取的第二比特集合來處理第二分組,其中第二處理操作集合包含沒有被包含在第一處理操作集合中的至少一個(gè)處理操作。
[0008]在另一實(shí)施例中,一種網(wǎng)絡(luò)設(shè)備包括多個(gè)端口。網(wǎng)絡(luò)設(shè)備還包括分組描述符生成器,分組描述符生成器被配置成生成與經(jīng)由多個(gè)端口中的第一端口接收的第一分組相對應(yīng)的第一數(shù)據(jù)結(jié)構(gòu),其中第一數(shù)據(jù)結(jié)構(gòu)包含從第一分組的首部中提取的第一比特集合,第一比特集合對應(yīng)于第一分組的首部中的第一比特位置集合。分組描述符還被配置成生成與經(jīng)由多個(gè)端口中的第二端口接收的第二分組相對應(yīng)的第二數(shù)據(jù)結(jié)構(gòu),第二端口不同于第一端口,其中第二數(shù)據(jù)結(jié)構(gòu)包含于第二首部中的第二比特位置集合相對應(yīng)的第二比特集合,并且其中第二比特位置集合包含沒有被包含在第一比特位置集合中的至少一個(gè)比特位置。網(wǎng)絡(luò)設(shè)備還包括分組處理器,分組處理器被配置成:執(zhí)行第一處理操作集合以使用對應(yīng)于第一分組的第一數(shù)據(jù)結(jié)構(gòu)來處理第一分組,以及執(zhí)行第二處理操作集合以使用對應(yīng)于第二分組的第二數(shù)據(jù)結(jié)構(gòu)來處理第二分組,其中第二處理操作集合包含沒有被包含在第一處理操作集合中的至少一個(gè)處理操作。
[0009]在又一實(shí)施例中,一種用于處理網(wǎng)絡(luò)設(shè)備中的分組的方法包括:在網(wǎng)絡(luò)設(shè)備的端口處接收第一分組,第一分組將使用第一處理操作縮減集合來處理;以及從第一分組的首部中提取第一比特集合。方法還包括:在網(wǎng)絡(luò)設(shè)備的端口處接收第二分組,第二分組將使用第二處理操作縮減集合來處理;以及從第二分組的首部中提取第二比特集合。方法另外包括將第一比特集合和第二比特集合組合成表示第一分組和第二分組的經(jīng)組合的單個(gè)數(shù)據(jù)單元;以及向分組處理設(shè)備傳送表示第一分組和第二分組的經(jīng)組合的單個(gè)數(shù)據(jù)單元。方法還包括:在分組處理設(shè)備處分解單個(gè)數(shù)據(jù)單元以提取對應(yīng)于第一分組的第一比特集合以及對應(yīng)于第二分組的第二比特集合;執(zhí)行第一處理操作縮減集合以使用對應(yīng)于第一分組的第一比特集合來處理第一分組;以及執(zhí)行第二處理操作縮減集合以使用對應(yīng)于第二分組的第二比特集合來處理第二分組。
[0010]在又一實(shí)施例中,一種網(wǎng)絡(luò)設(shè)備包括多個(gè)端口。網(wǎng)絡(luò)設(shè)備還包括分組處理設(shè)備,其被配置成處理經(jīng)由至少一個(gè)端口所接收的分組。網(wǎng)絡(luò)設(shè)備還包括描述符生成器,描述符生成器被配置成:從在多個(gè)端口中的端口處接收的第一分組的首部中提取第一比特集合,第一分組將使用處理操作縮減集合來處理;以及從在多個(gè)端口中的端口處接收的第二分組的首部中提取第二比特集合,第二分組將使用第二處理操作縮減集合來處理。描述符生成器另外被配置成:將第一比特集合和第二比特集合組合成表示第一分組和第二分組的經(jīng)組合的單個(gè)數(shù)據(jù)單元,以及向分組處理設(shè)備傳送表示第一分組和第二分組的經(jīng)組合的單個(gè)數(shù)據(jù)單元。分組處理設(shè)備被配置成:分解單個(gè)數(shù)據(jù)單元以提取對應(yīng)于第一分組的第一比特集合和對應(yīng)于第二分組的第二比特集合;執(zhí)行第一指令縮減集以使用對應(yīng)于第一分組的第一比特集合來處理第一分組;以及執(zhí)行第二處理操作縮減集合以使用對應(yīng)于第二分組的第二比特集合來處理第二分組。
【附圖說明】
[0011]圖1是根據(jù)實(shí)施例的被配置成對進(jìn)入網(wǎng)絡(luò)設(shè)備100的不同分組執(zhí)行不同處理操作集合的示例網(wǎng)絡(luò)設(shè)備的框圖。
[0012]圖2是根據(jù)實(shí)施例的被配置成組合對應(yīng)于多個(gè)分組的首部信息的示例網(wǎng)絡(luò)設(shè)備的框圖。
[0013]圖3是根據(jù)實(shí)施例的用于生成分組描述符的示例技術(shù)的流程圖。
[0014]圖4是根據(jù)實(shí)施例的用于確定分組描述符是要發(fā)送用于作為單獨(dú)的單個(gè)分組描述符還是作為組合多個(gè)分組描述符的數(shù)據(jù)單元的部分來處理的示例技術(shù)的流程圖。
[0015]圖5是根據(jù)另一實(shí)施例的用于確定分組描述符是要發(fā)送用于作為獨(dú)立的單個(gè)分組描述符還是作為組合多個(gè)分組描述符的數(shù)據(jù)單元的部分來處理的示例技術(shù)的流程圖。
[0016]圖6是根據(jù)實(shí)施例的用于處理分組的示例方法的流程圖。
[0017]圖7是根據(jù)另一實(shí)施例的用于處理分組的示例方法的流程圖。
【具體實(shí)施方式】
[0018]在本文中描述的實(shí)施例中,網(wǎng)絡(luò)設(shè)備被配置成對進(jìn)入網(wǎng)絡(luò)設(shè)備的不同分組執(zhí)行不同的處理操作集合。在實(shí)施例中,網(wǎng)絡(luò)設(shè)備被配置成對經(jīng)由網(wǎng)絡(luò)設(shè)備的不同端口進(jìn)入網(wǎng)絡(luò)設(shè)備的分組執(zhí)行不同的處理操作集合。例如,網(wǎng)絡(luò)設(shè)備被配置成對經(jīng)由網(wǎng)絡(luò)設(shè)備的第一端口進(jìn)入網(wǎng)絡(luò)設(shè)備的分組執(zhí)行第一處理操作集合,并且對經(jīng)由網(wǎng)絡(luò)設(shè)備的第二端口進(jìn)入網(wǎng)絡(luò)設(shè)備的分組執(zhí)行第二處理操作集合。
[0019]在實(shí)施例中,第一處理操作集合是網(wǎng)絡(luò)設(shè)備被配置成執(zhí)行以完全處理分組的處理操作“完全”集合,第二處理操作集合是僅包括網(wǎng)絡(luò)設(shè)備被配置成執(zhí)行以完全處理分組的處理操作的子集的縮減集合。例如,在實(shí)施例中,處理操作縮減集合僅包括與分組轉(zhuǎn)發(fā)有關(guān)的處理操作,而處理操作完全集合除了與分組轉(zhuǎn)發(fā)相關(guān)的處理操作之外還包括至少一個(gè)附加處理操作,諸如與對流經(jīng)網(wǎng)絡(luò)設(shè)備的分組進(jìn)行計(jì)量有關(guān)的處理操作、與向進(jìn)入網(wǎng)絡(luò)設(shè)備的分組應(yīng)用的安全策略有關(guān)的處理操作、與對屬于不同數(shù)據(jù)流的分組計(jì)數(shù)的計(jì)量有關(guān)的處理操作等。在另一實(shí)施例中,第一處理操作集合和第二處理操作集合二者都是處理操作縮減集合,其中第一處理操作集合和第二處理操作集合包括網(wǎng)絡(luò)設(shè)備被配置成執(zhí)行的處理操作完全集合的不同子集。
[0020]在一些實(shí)施例中,網(wǎng)絡(luò)設(shè)備被配置成取決于要由網(wǎng)絡(luò)設(shè)備關(guān)于分組執(zhí)行的不同的處理操作來從分組的首部中提取不同的比特集合。例如,與網(wǎng)絡(luò)設(shè)備被配置成從要使用處理操作完全集合來處理的分組的首部中提取的比特完全集合相比,網(wǎng)絡(luò)設(shè)備被配置成從要使用處理操作縮減集合來處理的分組的首部中提取比特縮減集合。在一些實(shí)施例中,網(wǎng)絡(luò)設(shè)備被配置成將從相應(yīng)兩個(gè)或更多個(gè)連續(xù)接收的分組中提取的兩個(gè)或更多個(gè)比特縮減集合組合成表示該兩個(gè)或更多個(gè)分組的經(jīng)組合的單個(gè)數(shù)據(jù)單元,并且向網(wǎng)絡(luò)設(shè)備的各個(gè)處理部件以單個(gè)數(shù)據(jù)單元傳送所提取的比特縮減集合。如下面更詳細(xì)地描述的,在至少一些實(shí)施例中,將從多個(gè)分組中提取的比特縮減集合組合成經(jīng)組合的單個(gè)數(shù)據(jù)單元并且向網(wǎng)絡(luò)設(shè)備的各個(gè)處理部件傳送該單個(gè)數(shù)據(jù)單元使得處理部件能夠關(guān)于分組更快地執(zhí)行至少一些操作,從而使得網(wǎng)絡(luò)設(shè)備能夠以與每個(gè)分組相關(guān)聯(lián)的首部信息單獨(dú)路由通過網(wǎng)絡(luò)設(shè)備的系統(tǒng)相比更快地來處理分組。
[0021]圖1是根據(jù)實(shí)施例的被配置成對進(jìn)入網(wǎng)絡(luò)設(shè)備100的不同分組執(zhí)行不同的處理操作集合的示例網(wǎng)絡(luò)設(shè)備100的框圖。網(wǎng)絡(luò)設(shè)備100包括通信地耦合至多個(gè)鏈路(未示出)的多個(gè)端口 104。在實(shí)施例中,端口 104中的一些是用于耦合到局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、服務(wù)器、其他交換系統(tǒng)等的前端端口或網(wǎng)絡(luò)端口。在實(shí)施例中,在包含網(wǎng)絡(luò)設(shè)備100的交換系統(tǒng)的模塊拓?fù)浣Y(jié)構(gòu)中,其他端口 104是用于將網(wǎng)絡(luò)設(shè)備100耦合到一個(gè)或多個(gè)其他設(shè)備(諸如一個(gè)或多個(gè)第二級或交叉開關(guān)設(shè)備、一個(gè)或多個(gè)脊交換機(jī)設(shè)備等)的上行鏈路端口。雖然圖1中圖示4個(gè)端口 104,然而網(wǎng)絡(luò)設(shè)備100在各種實(shí)施例中包括任意合適數(shù)目的端口 104。
[0022]在一些實(shí)施例中,端口 104中的每個(gè)是可以充當(dāng)入端口或出端口的雙向端口。在其他實(shí)施例中,端口 104中的至少一些專用于入端口或出端口。在實(shí)施例中,網(wǎng)絡(luò)設(shè)備100被配置成經(jīng)由入端口 104接收分組,確定要經(jīng)由其來傳送分組的相應(yīng)出端口 104,并且經(jīng)由所確定的端口 104傳送分組。在實(shí)施例中,網(wǎng)絡(luò)設(shè)備100被配置成關(guān)于進(jìn)入網(wǎng)絡(luò)100的分組中的至少一些分組執(zhí)行附加處理操作。例如,網(wǎng)絡(luò)設(shè)備100被配置成實(shí)施與進(jìn)入網(wǎng)絡(luò)設(shè)備的分組的計(jì)量有關(guān)的處理操作、確定流過網(wǎng)絡(luò)設(shè)備100的分組的字節(jié)計(jì)數(shù)的計(jì)數(shù)操作、與向流過網(wǎng)絡(luò)設(shè)備的分組應(yīng)用安全策略有關(guān)的處理操作、向進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組應(yīng)用訪問控制策略、隧道傳輸處理操作等。在實(shí)施例中,網(wǎng)絡(luò)設(shè)備100被配置成對經(jīng)由不同端口 104進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組執(zhí)行不同的處理操作集合。例如,在實(shí)施例中,網(wǎng)絡(luò)設(shè)備100被配置成與經(jīng)由上行鏈路端口 104從包括網(wǎng)絡(luò)設(shè)備100的交換系統(tǒng)中的另一網(wǎng)絡(luò)設(shè)備進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組相比而關(guān)于由網(wǎng)絡(luò)設(shè)備100經(jīng)由網(wǎng)絡(luò)端口 104從網(wǎng)絡(luò)接收的分組實(shí)施不同的處理操作集合。
[0023]仍然參考圖1,網(wǎng)絡(luò)設(shè)備100包括數(shù)據(jù)路徑106和控制路徑108。在實(shí)施例中,數(shù)據(jù)路徑106包括用于存儲(chǔ)經(jīng)由入端口 104接收的分組的各種部件,例如直到確定應(yīng)當(dāng)經(jīng)由哪個(gè)或哪些端口 104而從網(wǎng)絡(luò)設(shè)備100傳送這些分組。另一方面,控制路徑108包括用于處理分組的各種部件,例如用于確定要經(jīng)由哪些出端口 104傳送分組。
[0024]—般而言,在實(shí)施例中,數(shù)據(jù)路徑106的部件被配置成支持經(jīng)由端口 104接收的分組的某個(gè)每秒比特率(本文中也稱為線路速率)、或者可以由數(shù)據(jù)路徑106的部件在給定時(shí)間段中處理的比特(或字節(jié))的數(shù)目。另一方面,在實(shí)施例中,控制路徑108的部件被配置成支持某個(gè)每秒分組速率、或者控制路徑106的部件在給定時(shí)間段內(nèi)可以處理的某個(gè)分組的數(shù)目。在至少一些實(shí)施例中,網(wǎng)絡(luò)設(shè)備100支持各種長度的分組,諸如例如可變長度的以太網(wǎng)分組。在實(shí)施例中,數(shù)據(jù)路徑106需要支持的每秒比特率通常不受網(wǎng)絡(luò)設(shè)備100接收的分組的長度的影響。另一方面,控制路徑108需要支持的每秒分組率可以依據(jù)所接收的分組的大小變化。例如,在實(shí)施例中,與較大大小的分組的流的處理相比,網(wǎng)絡(luò)設(shè)備100接收的相對較小大小的分組的流增加了控制路徑在某個(gè)時(shí)間段內(nèi)需要處理的分組的數(shù)目。
[0025]在實(shí)施例中,為了加速網(wǎng)絡(luò)設(shè)備100接收的分組中的至少一些分組的處理,網(wǎng)絡(luò)設(shè)備100關(guān)于網(wǎng)絡(luò)設(shè)備100接收的至少一些分組而實(shí)施處理操作縮減集合。例如,如以上描述的,網(wǎng)絡(luò)設(shè)備100被配置成關(guān)于經(jīng)由網(wǎng)絡(luò)設(shè)備100的某些入端口 104進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組(諸如經(jīng)由上行鏈路端口 104進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組,上行鏈路端口 104將網(wǎng)絡(luò)設(shè)備100連接到在包括網(wǎng)絡(luò)設(shè)備100的數(shù)據(jù)中心內(nèi)部的其他設(shè)備)而實(shí)施處理操作縮減集合。
[0026]在實(shí)施例中,控制路徑108被配置成基于與分組相關(guān)聯(lián)的某些信息(諸如從分組的首部中提取的某些首部字段)來執(zhí)行分組的處理。在實(shí)施例中,數(shù)據(jù)路徑106被配置成從分組的首部中提取比特集合,并且向控制路徑108提供所提取的比特集合以用于分組的處理。在實(shí)施例中,控制路徑108被配置成從數(shù)據(jù)路徑106接收從分組的首部中提取的比特集合并且使用從數(shù)據(jù)路徑106接收的比特執(zhí)行分組的處理。在實(shí)施例中,當(dāng)網(wǎng)絡(luò)設(shè)備100接收到要使用處理操作縮減集合來處理的分組時(shí),數(shù)據(jù)路徑106從分組的首部中提取比特縮減集合,并且向控制路徑108提供該比特縮減集合。在實(shí)施例中,比特縮減集合包括控制路徑108對分組執(zhí)行處理操作縮減集合所需要的比特。
[0027]數(shù)據(jù)路徑106包括分組緩沖器110,分組緩沖器110耦合至端口 104并且被配置成存儲(chǔ)經(jīng)由入端口 104接收的分組,例如在分組等待經(jīng)由出端口 104傳輸時(shí)。在實(shí)施例中,緩沖器110包括暫時(shí)緩沖器112和排隊(duì)或目標(biāo)已知(target-aware)緩沖器114。在各種實(shí)施例中,暫時(shí)緩沖器112和排隊(duì)緩沖器114中的每個(gè)實(shí)施為合適的非瞬態(tài)存儲(chǔ)器設(shè)備(諸如隨機(jī)存取存儲(chǔ)器(RAM))或者另一合適類型的存儲(chǔ)器。在另一實(shí)施例中,暫時(shí)緩沖器112和排隊(duì)緩沖器114被包括在相同的非瞬態(tài)存儲(chǔ)器設(shè)備(諸如隨機(jī)存取存儲(chǔ)器(RAM))或者另一合適類型的存儲(chǔ)器中。在實(shí)施例中,暫時(shí)緩沖器112被配置成在分組的首部或者表示分組的其他合適的數(shù)據(jù)結(jié)構(gòu)被處理(例如以確定分組的目標(biāo)出端口,執(zhí)行各種操作,諸如記時(shí),執(zhí)行各種安全和檢查操作等)的同時(shí)存儲(chǔ)分組或其部分。在實(shí)施例中,分組在通常與完成分組的處理所需要的時(shí)間段相對應(yīng)的時(shí)間段期間存儲(chǔ)在暫停緩沖器112中。在實(shí)施例中,對于“存儲(chǔ)轉(zhuǎn)發(fā)”分組,在分組的處理完成之后,分組被傳送給排隊(duì)緩沖器114,并且被調(diào)度用于從查詢緩沖器114傳輸。另一方面,在實(shí)施例中,在“直通轉(zhuǎn)發(fā)(cut-through)”分組的情況下,不向排隊(duì)緩沖器114傳送分組,而是直接從暫時(shí)緩沖器112傳輸分組。
[0028]在實(shí)施例中,耦合至端口104的描述符生成器116被配置成解析經(jīng)由端口 104接收的分組的首部并且從分組的首部中提取比特集合(例如提取某些首部字段)。在實(shí)施例中,描述符生成器116被配置成取決于分組由網(wǎng)絡(luò)設(shè)備100經(jīng)由哪些入端口 104接收來從分組中提取不同的比特集合。例如,在其中網(wǎng)絡(luò)設(shè)備100被配置成使用不同處理操作集合處理經(jīng)由不同入端口 104接收的分組的實(shí)施例中,描述符生成器116被配置成從經(jīng)由不同端口 104接收的分組的首部中提取執(zhí)行不同的處理操作集合所需要的不同比特集合。在實(shí)施例中,描述符生成器116被配置成生成對應(yīng)于分組的分組描述符或另一合適的數(shù)據(jù)結(jié)構(gòu)并且將從分組的首部中提取的比特集合包含在對應(yīng)于分組的分組描述符中。
[0029]在實(shí)施例中,控制路徑108包括分組處理器118。在實(shí)施例中,分組處理器118包括被配置成執(zhí)行各種分組處理任務(wù)(諸如以上所討論的)的一個(gè)或多個(gè)有形的/物理處理器。在第一說明性實(shí)施例中,分組處理器118包括被配置成讀取和執(zhí)行在有形非瞬態(tài)計(jì)算機(jī)可讀存儲(chǔ)器(例如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、FLASH存儲(chǔ)器等)上存儲(chǔ)的軟件和/或固件的一個(gè)或多個(gè)處理器,處理器被配置成執(zhí)行用于執(zhí)行分組處理操作的指令。在一些實(shí)施例中,軟件或固件指令包括在由處理器執(zhí)行時(shí)使得處理器執(zhí)行本文中描述的分組處理器118的各種動(dòng)作中的任何動(dòng)作的計(jì)算機(jī)可讀指令。在一些實(shí)施例中,分組處理器118的處理器耦合至由處理器用于卸載某些分組處理任務(wù)的一個(gè)或多個(gè)硬件引擎。在另一說明性實(shí)施例中,分組處理器118包括以硬件實(shí)現(xiàn)的分組處理管線,諸如一個(gè)或多個(gè)集成電路(IC)、專用集成電路(ASIC)、或任何其他合適類型的硬件電路。
[0030]在示例實(shí)施例和場景中,網(wǎng)絡(luò)設(shè)備100經(jīng)由端口 104a接收第一分組120-1。在實(shí)施例中,網(wǎng)絡(luò)設(shè)備100被配置成使用第一分組處理操作集合處理經(jīng)由端口 104a進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組。在實(shí)施例中,第一分組處理操作集合是處理操作縮減集合。例如,第一處理操作集合不包括所有的網(wǎng)絡(luò)設(shè)備100被配置以執(zhí)行的分組處理操作。僅作為示例,在實(shí)施例中,雖然網(wǎng)絡(luò)設(shè)備100被配置成執(zhí)行與轉(zhuǎn)發(fā)、計(jì)量、監(jiān)測、安全等有關(guān)的處理操作,然而第一處理操作集合僅包括與轉(zhuǎn)發(fā)有關(guān)的處理操作,而不包括與計(jì)量、監(jiān)測、安全等有關(guān)的處理操作。作為另一示例,在實(shí)施例中,雖然網(wǎng)絡(luò)設(shè)備100被配置成執(zhí)行與轉(zhuǎn)發(fā)、計(jì)量、監(jiān)測、安全等有關(guān)的處理操作,然而第一處理操作集合僅包括與轉(zhuǎn)發(fā)和計(jì)量有關(guān)的處理操作,而不包括與監(jiān)測、安全等有關(guān)的處理操作。
[0031]第一分組120-1的至少部分(諸如至少分組120-1的首部)被提供給描述符生成器116。在實(shí)施例中,分組描述符生成器116從第一分組120-1的首部中提取第一比特集合。在實(shí)施例中,第一比特集合對應(yīng)于第一分組120-1的首部中的第一比特位置集合,諸如對應(yīng)于第一分組120-1的首部中的第一首部字段集合的比特位置。在實(shí)施例中,分組描述符生成器116從第一分組120-1的首部中提取前η個(gè)比特,其中η是正整數(shù)。例如,在一些實(shí)施例中,分組描述符生成器116從第一分組120-1的首部中提取前64個(gè)比特、前128個(gè)比特等。在實(shí)施例中,描述符生成器116生成對應(yīng)于分組120-1的分組描述符130-1,并且將從分組120-1的首部中提取的比特集合包括在描述符130-1中。
[0032]繼續(xù)圖1中圖示的實(shí)施例和場景,網(wǎng)絡(luò)設(shè)備100經(jīng)由端口104c接收第二分組120-2。在實(shí)施例中,網(wǎng)絡(luò)設(shè)備100被配置成使用第二分組處理操作集合處理經(jīng)由端口 104c進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組。在實(shí)施例中,網(wǎng)絡(luò)設(shè)備100被配置成對經(jīng)由端口 104c進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組執(zhí)行的第二分組處理操作集合與網(wǎng)絡(luò)設(shè)備100被配置成對經(jīng)由端口 104a進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組執(zhí)行的第一處理操作集合相比是不同的處理操作集合。在實(shí)施例中,第二處理操作集合包括至少一個(gè)沒有被包括在第一處理操作集合中的處理操作。在實(shí)施例中,第二處理操作集合是包括網(wǎng)絡(luò)設(shè)備100被配置成執(zhí)行的所有處理操作的處理操作完全集合。例如,在實(shí)施例中,第二處理操作集合包括與轉(zhuǎn)發(fā)、計(jì)量、監(jiān)測、安全等有關(guān)的處理操作。
[0033]在另一實(shí)施例中,網(wǎng)絡(luò)設(shè)備100被配置成對經(jīng)由端口 104c進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組執(zhí)行的第二處理操作集合僅包括網(wǎng)絡(luò)設(shè)備100通常被配置成執(zhí)行的全部處理操作集合的子集。在實(shí)施例中,網(wǎng)絡(luò)設(shè)備100被配置成對經(jīng)由端口 104c進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組執(zhí)行的處理操作子集不同于網(wǎng)絡(luò)設(shè)備100被配置成對經(jīng)由端口 104a進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組執(zhí)行的處理操作子集。僅作為示例,雖然處理操作完全集合包括與轉(zhuǎn)發(fā)、計(jì)量、監(jiān)測、安全等有關(guān)的處理操作,然而在示例實(shí)施例中,網(wǎng)絡(luò)設(shè)備100被配置成對經(jīng)由端口 104a進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組執(zhí)行的第一處理操作集合僅包括與分組的轉(zhuǎn)發(fā)有關(guān)的處理操作,并且網(wǎng)絡(luò)設(shè)備100被配置成關(guān)于經(jīng)由端口 104c進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組執(zhí)行的第二處理操作集合包括與分組的轉(zhuǎn)發(fā)和分組字節(jié)的計(jì)數(shù)有關(guān)的處理操作。
[0034]分組120-2的至少部分(諸如至少分組120-2的首部)被提供給描述符生成器116。在實(shí)施例中,分組描述符生成器116從第二分組120-2的首部中提取第二比特集合。在實(shí)施例中,由描述符生成器116從第二分組120-2中提取的第二比特集合不同于由分組描述符生成器116從第一分組120-1的首部中提取的第一比特集合。在實(shí)施例中,與從第一分組120-1的首部中提取的第一比特集合對應(yīng)的比特位置相比,由描述符生成器116從第二分組120-2中提取的第二比特集合對應(yīng)于第二分組的首部中的不同比特位置集合。在實(shí)施例中,描述符生成器116從第二分組120-2的首部中提取與由描述符生成器116從第一分組120-1的首部中提取的首部字段集合不同的首部字段集合。
[0035]在實(shí)施例中,分組描述符生成器116從第二分組120-2的首部中提取前m個(gè)比特,其中m是正整數(shù)。在實(shí)施例中,與描述符生成器116從第一分組120-1的首部中提取的比特的數(shù)目相比,描述符生成器116從第二分組120-2的首部中提取更大數(shù)目的比特(例如m>n)。例如,雖然分組生成器116從第一分組120-1的首部中提取前64個(gè)比特,但在示例實(shí)施例中,分組生成器116從第二分組120-2的首部中提取前128或前256個(gè)比特。僅作為另一示例,雖然分組生成器116從第一分組120-1的首部中提取前128個(gè)比特,但是在另一示例實(shí)施例中分組生成器116從第二分組120-2的首部中提取前256個(gè)比特。
[0036]在實(shí)施例中,描述符生成器116生成對應(yīng)于第二分組120-2的分組描述符130-2,并且將從第二分組120-2的首部中提取的比特集合包括在描述符130-2中。在實(shí)施例中,由于與描述符116從第一分組120-1的首部中提取的比特的數(shù)目相比,描述符生成器116從第二分組120-2的首部中提取不同數(shù)目的比特,所以對應(yīng)于第二分組120-2的分組描述符130-2的大小不同于對應(yīng)于第一分組120-1的分組描述符130-1的大小。例如,在實(shí)施例中,分組描述符130-2的大小是分組描述符130-1的大小的一半。作為另一不例,在另一實(shí)施例中,分組描述符130-2是分組描述符130-1的大小的四分之一。
[0037]在實(shí)施例中,分組描述符130-1和分組描述符130-2每個(gè)被提供給分組處理器118。在實(shí)施例中,分組處理器108分別使用分組描述符130-1和分組描述符130-2中的信息來執(zhí)行第一分組120-1和第二分組120-2的處理。在實(shí)施例中,分組處理器118執(zhí)行第一處理操作集合以使用從第一分組120-1的首部中提取并且被包括在分組描述符130-1中的第一比特集合來處理第一分組120-1,并且執(zhí)行第二處理操作集合以使用從第一分組120-2的首部中提取并且被包括在分組描述符130-2中的第二比特集合來處理第二分組120-2。在其中分組處理器118包括被配置成使用計(jì)算機(jī)可讀指令來處理分組的一個(gè)或多個(gè)處理器的實(shí)施例中,分組處理器118執(zhí)行第一指令集以處理第一分組120-1,并且執(zhí)行第二指令集以處理第二分組120-2ο在實(shí)施例中,第一指令集使得處理器118執(zhí)行第一處理操作集合,并且第二指令集使得處理器118執(zhí)行第二處理操作集合。
[0038]在一些實(shí)施例中,第一分組120-1的處理包括修改分組描述符130-1,例如用以修改分組120-1的首部的一個(gè)或多個(gè)字段。類似地,在一些實(shí)施例中,第二分組120-2的處理包括修改分組描述符130-2,例如用以修改分組120-2的首部的一個(gè)或多個(gè)字段。例如,在實(shí)施例中,分組處理器118修改分組的首部的一個(gè)或多個(gè)字段(例如,分組120-1和/或分組120-2)以改變下一跳躍地址,以添加封裝首部,以移除封裝首部,等等。
[0039]在實(shí)施例中,在使用分組描述符130-1處理第一分組120-1之后,分組處理器118向緩沖器110寫入分組描述符130-1或分組描述符1301的已修改版本,并且分組120-1隨后從一個(gè)或多個(gè)適當(dāng)?shù)亩丝?104傳送。類似地,在實(shí)施例中,在使用分組描述符130-2處理第二分組120-2之后,分組處理器118向緩沖器110寫入分組描述符130-2或分組描述符130-2的已修改版本,并且分組120-2隨后從一個(gè)或多個(gè)適當(dāng)?shù)亩丝?104傳送。
[0040]圖2是根據(jù)實(shí)施例的另一示例網(wǎng)絡(luò)設(shè)備200的框圖。在實(shí)施例中,網(wǎng)絡(luò)設(shè)備200類似于圖1的網(wǎng)絡(luò)設(shè)備100。例如,在實(shí)施例中,網(wǎng)絡(luò)設(shè)備200被配置成對不同分組執(zhí)行不同的處理操作集合,并且取決于要關(guān)于分組執(zhí)行的特定處理操作從不同分組中提取不同的比特集合。另外,在實(shí)施例中,網(wǎng)絡(luò)設(shè)備200被配置成將從多個(gè)分組的首部中提取的比特縮減集合組合成組合的單個(gè)數(shù)據(jù)單元,并且向控制路徑以單個(gè)數(shù)據(jù)單元提供從多個(gè)分組的相應(yīng)首部中提取的比特縮減集合。如下面更詳細(xì)地描述的,在至少一些實(shí)施例中,將對應(yīng)于不同分組的比特集合組合成組合的單個(gè)數(shù)據(jù)單元并且向控制路徑以單個(gè)數(shù)據(jù)單元提供比特集合減小或消除了由于處理多個(gè)分組的處理操作縮減集合的執(zhí)行而產(chǎn)生的與增加的分組每秒處理速率相關(guān)聯(lián)的處理瓶頸。
[0041 ]網(wǎng)絡(luò)設(shè)備200包括數(shù)據(jù)路徑206和控制路徑208。數(shù)據(jù)路徑206包括分組緩沖器110,分組緩沖器110又包括暫時(shí)緩沖器112和排隊(duì)緩沖器114,如以上關(guān)于圖1描述的。另外,數(shù)據(jù)路徑206包括描述符生成器202,描述符生成器202又包括描述符打包單元204。在實(shí)施例中,描述符生成器202與圖1的描述符生成器116相同或相似。一般而言,在實(shí)施例中,描述符生成器202被配置成從分組的首部中提取比特集合,將所提取的比特集合包括在針對分組生成的分組描述符中,并且向控制路徑208提供分組描述符以用于由控制路徑208來處理與描述符相關(guān)聯(lián)的分組。在實(shí)施例中,描述符打包單元204被配置成將對應(yīng)于多個(gè)分組的多個(gè)描述符組合成表示多個(gè)分組的組合的單個(gè)數(shù)據(jù)單元并且向控制路徑208以單個(gè)數(shù)據(jù)單元提供多個(gè)描述符。例如,在實(shí)施例中,在其中描述符生成器202從多個(gè)連續(xù)接收的分組的首部中提取比特縮減集合的至少一些情況下,描述符打包單元204將從多個(gè)分組中提取的比特縮減集合組合成表示多個(gè)分組的組合的單個(gè)描述符,并且向控制路徑208提供單個(gè)描述符。
[0042]在一些實(shí)施例中,描述符打包單元204被配置成僅在關(guān)于多個(gè)分組滿足用于對從多個(gè)分組中提取的比特集合進(jìn)行組合的一個(gè)或多個(gè)準(zhǔn)則時(shí)組合從多個(gè)分組中提取的比特縮減集合(或者包括比特縮減集合的描述符)。例如,在實(shí)施例中,描述符打包單元204被配置成僅在多個(gè)分組的相應(yīng)大小低于門限的情況下組合從多個(gè)分組中提取的比特縮減集合。類似地,在實(shí)施例中,描述符打包單元204被配置成僅在網(wǎng)絡(luò)設(shè)備200接收相應(yīng)分組之間的時(shí)間間隙低于門限的情況下組合從多個(gè)分組中提取的比特縮減集合。另一方面,在實(shí)施例中,如果關(guān)于多個(gè)分組不滿足用于對從多個(gè)分組中提取的比特集合進(jìn)行組合的一個(gè)或多個(gè)準(zhǔn)則,則描述符打包單元204不組合從多個(gè)分組中提取的比特集合,而是將每個(gè)比特集合(例如每個(gè)描述符)單獨(dú)傳送給控制路徑208。
[0043]在圖2中圖示的示例場景中,網(wǎng)絡(luò)設(shè)備200經(jīng)由端口 104b接收第一分組220-1。隨后,網(wǎng)絡(luò)設(shè)備200經(jīng)由端口 104b接收第二分組220-3。在示例實(shí)施例中,網(wǎng)絡(luò)設(shè)備200被配置成關(guān)于經(jīng)由端口 104b進(jìn)入網(wǎng)絡(luò)設(shè)備100的分組執(zhí)行處理操作縮減集合。分組220-1和220-2中的每個(gè)的至少部分(諸如首部)被提供給描述符生成器202。在實(shí)施例中,描述符生成器202生成對應(yīng)于第一分組220-1的第一分組描述符230-la,并且生成對應(yīng)于第二分組220-2a的第二分組描述符230-2a。在實(shí)施例中,第一分組描述符230-la包括從第一分組220-1的首部中提取的比特縮減集合。類似地,在實(shí)施例中,第二分組描述符230-2a包括從第二分組220-2的首部中提取的比特縮減集合。在實(shí)施例中,描述符打包單元204將第一分組描述符230-la和第二分組描述符230-2a組合成單個(gè)數(shù)據(jù)結(jié)構(gòu),諸如表示第一分組220-1和第二分組220-2的單個(gè)“組合”分組描述符232a。在實(shí)施例中,描述符打包單元204被配置成在組合分組描述符232中包括指示(例如“打包標(biāo)志”),用以指示組合分組描述符232表示多個(gè)分組的并且包括從多個(gè)分組中提取的相應(yīng)首部比特集合。在實(shí)施例中,描述符生成器202然后向控制路徑208以單個(gè)數(shù)據(jù)單元傳送組合分組描述符232a用于由控制路徑208來處理相關(guān)聯(lián)的分組220-1和分組220-2。
[0044]在實(shí)施例中,將多個(gè)分組描述符組合成單個(gè)描述符使得控制路徑208的至少一些部件(諸如控制路徑208的至少一些硬件部件)能夠以單個(gè)數(shù)據(jù)單元處理多個(gè)分組描述符,從而使得控制路徑208的各個(gè)部件(例如下面更詳細(xì)地描述的分發(fā)器、重新排序塊、互連網(wǎng)絡(luò))與其中分組描述符被單獨(dú)提供給部件的系統(tǒng)相比能夠更快地處理分組。因此,在至少一些實(shí)施例和/或場景中,在不增加這些部件的數(shù)目和/或復(fù)雜性的情況下,提高了控制路徑208支持的每秒分組率(與其中分組描述符由這些部件單獨(dú)處理的系統(tǒng)相比)。
[0045]在實(shí)施例中,控制路徑208包括分發(fā)器210、重新排序塊212、多個(gè)外部引擎216、分組處理器217和互連網(wǎng)絡(luò)218。在實(shí)施例中,分組處理器217與圖1的分組處理器118相同或相似。在另一實(shí)施例中,分組處理器217是不同于圖1的分組處理器108的合適的分組處理器。在圖2中圖示的實(shí)施例中,分組處理器217包括被配置成同時(shí)并行執(zhí)行相應(yīng)分組描述符的處理以處理與分組描述符相關(guān)聯(lián)的分組的多個(gè)分組處理節(jié)點(diǎn)(PPN)220。根據(jù)實(shí)施例,PPN 200被配置成通過執(zhí)行存儲(chǔ)在非瞬態(tài)存儲(chǔ)器(未示出)中的計(jì)算機(jī)可讀指令來處理分組描述符,并且每個(gè)PPN 220被配置成執(zhí)行描述符的所有必要處理(運(yùn)行以完成處理)。在其他實(shí)施例中,至少一些PPN 220被配置成僅執(zhí)行描述符的必要處理的子集。另一方面,在實(shí)施例中,分發(fā)器210、重新排序塊212和外部引擎216使用專用集成電路(ASIC)或其他硬件部件來實(shí)現(xiàn)。
[0046]分發(fā)器210被配置成從描述符生成器202接收分組描述符并且向PPN220分發(fā)分組描述符用于由PPN 220來處理相關(guān)聯(lián)的分組。在分組的處理期間,PPN 220被配置成選擇性地接合外部處理引擎216用于執(zhí)行外部引擎216被配置成執(zhí)行的特定處理操作。在至少一些實(shí)施例中,PPN 220被配置成不執(zhí)行外部處理引擎216被配置成執(zhí)行的特定處理操作。在至少一些實(shí)施例和/或場景中,外部處理引擎106被配置成執(zhí)行的特定處理操作通常是高度資源密集的和/或如果該操作使用更通用的處理器(諸如PPN 220)來執(zhí)行的話需要相對較長的時(shí)間來執(zhí)行。在至少一些實(shí)施例和場景中,PPN 220執(zhí)行外部處理引擎216被配置成執(zhí)行的處理操作需要明顯更長時(shí)間(例如是2倍長、10倍長、100倍長等)。正因如此,在至少一些實(shí)施例和/或場景中,外部處理引擎216通過使PPN 220執(zhí)行需要很長時(shí)間的至少一些處理操作加速來幫助PPN 220。因此,外部處理引擎216在本文中有時(shí)稱為“加速引擎”。
[0047]在實(shí)施例中,PPN220被配置成利用由加速引擎216執(zhí)行的處理操作的結(jié)果以用于分組的進(jìn)一步處理,例如以確定要關(guān)于分組進(jìn)行的某些動(dòng)作,諸如轉(zhuǎn)發(fā)動(dòng)作、策略控制動(dòng)作等。在實(shí)施例中,在描述符的處理完成之后,PPN 220將處理后的描述符提供給描述符緩沖器214用于隨后的傳輸以將處理后的描述符傳輸給數(shù)據(jù)路徑206。
[0048]通常,需要通過網(wǎng)絡(luò)設(shè)備維持?jǐn)?shù)據(jù)流中的數(shù)據(jù)分組的順序,使得從網(wǎng)絡(luò)設(shè)備傳送分組的順序與網(wǎng)絡(luò)設(shè)備接收分組的順序相同。然而,在至少一些場景中,由于數(shù)據(jù)流中的分組的處理被分布在PPN220中的多個(gè)之間,所以數(shù)據(jù)流中的分組的處理由PPN 220按照與網(wǎng)絡(luò)設(shè)備200接收分組的順序不同的順序來完成。分組處理的無序完成是由于例如不同PPN220在訪問外部資源(諸如外部存儲(chǔ)器、外部硬件引擎等)用于對分組執(zhí)行處理操作時(shí)遇到的潛伏期(latency)的變化。在實(shí)施例中,重新排序塊212被配置成維持至少屬于進(jìn)入網(wǎng)絡(luò)設(shè)備的相同數(shù)據(jù)流的分組的順序以確保這些分組按照網(wǎng)絡(luò)設(shè)備接收分組的順序從網(wǎng)絡(luò)設(shè)備傳送。特別地,在實(shí)施例中,重新排序塊212確保描述符按照控制路徑208從數(shù)據(jù)路徑206接收描述符的順序從控制路徑208傳送到數(shù)據(jù)路徑206。
[0049]如以上討論的,在實(shí)施例中,網(wǎng)絡(luò)設(shè)備200被配置成關(guān)于經(jīng)由一個(gè)或多個(gè)特定端口104進(jìn)入網(wǎng)絡(luò)設(shè)備200的分組執(zhí)行處理操作縮減集合。在實(shí)施例中,PPN 220被配置成執(zhí)行在耦合到PPN 220的程序存儲(chǔ)器中存儲(chǔ)的指令縮減集,其中指令縮減集使得PPN 220執(zhí)行處理分組的處理操作縮減集合。在至少一些實(shí)施例中,執(zhí)行處理操作縮減集合以對提供給PPN220來處理的分組中的一些分組進(jìn)行處理通常提高了PPN 220支持的最大每秒分組率。在實(shí)施例中,增加PPN 220支持的最大每秒分組率使得網(wǎng)絡(luò)設(shè)備200能夠使用相對較少的PPN220(與不使用縮減處理的系統(tǒng)相比)來支持分組處理器118的某個(gè)整體分組處理速率。例如,在實(shí)施例中,與PPN 220執(zhí)行指令縮減集相關(guān)聯(lián)的線程潛伏期是與PPN 220執(zhí)行指令完全集相關(guān)聯(lián)的線程潛伏期的一半。在實(shí)施例中,與指令縮減集的執(zhí)行相關(guān)聯(lián)的減小的線程潛伏期降低了與PPN 220處理分組相關(guān)聯(lián)的整體平均線程潛伏期。在實(shí)施例中,減小的平均線程潛伏期導(dǎo)致支持某個(gè)分組處理速率需要相對較少的PPN 220。在其中PPN 220布置在被配置成共享各個(gè)資源(諸如存儲(chǔ)器資源、引擎互連資源等)的多個(gè)PPN集群(PPC)中的實(shí)施例中,與處理分組不使用指令縮減集的系統(tǒng)相比,每個(gè)集群中包括更少的PPN。
[0050]類似地,在實(shí)施例中,在至少一些實(shí)施例和/或場景中,在執(zhí)行指令縮減集以處理分組時(shí),減小了PPN 220在處理分組期間在PPN 220與引擎216之間的事務(wù)(transact1n)的數(shù)目(例如減小了50%)。減小用于PPN 220處理分組中的至少一些分組的事務(wù)的數(shù)目帶來了支持這樣的事務(wù)的部件(諸如互連網(wǎng)絡(luò)218、引擎216訪問用以執(zhí)行事務(wù)所指示的查找的存儲(chǔ)器等)的復(fù)雜性的降低。在一些實(shí)施例中,網(wǎng)絡(luò)設(shè)備200包括執(zhí)行與事務(wù)相關(guān)聯(lián)的處理操作所需要的重復(fù)(duplicate)資源以支持處理操作縮減集合中包括的特定處理操作(諸如轉(zhuǎn)發(fā)操作、計(jì)量操作等)的增加的速率。例如,在實(shí)施例中,網(wǎng)絡(luò)設(shè)備200包括用以支持包括轉(zhuǎn)發(fā)操作的處理操作縮減集合的一個(gè)或多個(gè)重復(fù)轉(zhuǎn)發(fā)表格。類似地,網(wǎng)絡(luò)設(shè)備200包括用以支持包括計(jì)數(shù)操作的處理操作縮減集合的一個(gè)或多個(gè)重復(fù)計(jì)數(shù)器、用以支持包括計(jì)量操作的處理操作縮減集合的一個(gè)或多個(gè)重復(fù)計(jì)量設(shè)備等等。
[0051]在實(shí)施例中,當(dāng)分發(fā)器210接收到表示多個(gè)分組并且包含對應(yīng)于多個(gè)分組的多個(gè)描述符的組合的單個(gè)分組描述符時(shí),分發(fā)器210向可用的PPN 220提供單個(gè)分組描述符。PPN220分解單個(gè)分組描述符以檢索對應(yīng)于被包括在單個(gè)分組描述符中的相應(yīng)分組的分組描述符,并且關(guān)于從組合分組描述符中提取的每個(gè)描述符執(zhí)行指令縮減集。例如,在圖2中圖示的示例場景中,分發(fā)器210接收包括對應(yīng)于第一分組220-1的描述符230-la和對應(yīng)于第二分組220-2的描述符220-2a的組合分組描述符232a。在實(shí)施例中,分發(fā)器210將組合分組描述符232a作為單個(gè)數(shù)據(jù)單元提供給PPN 220。在實(shí)施例中,PPN 220從分發(fā)器220接收組合分組描述符232a,并且基于例如分組描述符232a中包括的打包標(biāo)記確定分組描述符232a是表示多個(gè)分組的組合分組描述符。在實(shí)施例中,響應(yīng)于確定分組描述符232a是組合分組描述符,PPN 220分解組合分組描述符232a以提取第一分組描述符230-la和第二分組描述符230-2a。在實(shí)施例中,PPN 220處理第一分組描述符230-la以處理第一分組220-1,并且處理第二分組描述符230-2a以處理第二分組220-2。在實(shí)施例中,PPN 229執(zhí)行指令縮減集以執(zhí)行處理操作縮減集合從而處理第一分組220-1和第二分組220-2。在另一實(shí)施例中,PPN 220執(zhí)行不同的指令縮減集以執(zhí)行不同的處理操作縮減集合從而處理第一分組220-1和第二分組220-2。在實(shí)施例中,PPN 220在開始與第二分組220-2對應(yīng)的第二分組描述符230-2a的處理之前完成與第一分組220-1對應(yīng)的第一分組描述符230-la的處理。在另一實(shí)施例中,PPN220采用多線程處理同時(shí)處理對應(yīng)于第一分組220-1的第一分組描述符230-la和對應(yīng)于第二分組220-2a的第二分組描述符230-2。
[0052]在實(shí)施例中,在處理第一分組描述符230-la和第二分組描述符230_2a之后,PPN220將對應(yīng)于第一分組220-1的已處理第一分組描述符230-lb和對應(yīng)于第二分組220-2的已處理第二分組描述符230-2b組合成組合的單個(gè)已處理分組描述符232b,并且將組合的單個(gè)已處理分組描述符232b提供給已處理描述符214。在實(shí)施例中,處理第一分組描述符230-la包括修改分組描述符230-la,例如用以改變從第一分組220-1的首部中提取并且被包括在第一分組描述符230-la中的一個(gè)或多個(gè)首部比特,向分組描述符230-la添加信息(例如轉(zhuǎn)發(fā)決策)等。在本實(shí)施例中,已處理第一分組描述符230-lb是第一分組描述符230-la的修改版本。在另一實(shí)施例中,已處理描述符230-2b是描述符230-2a的未修改版本。類似地,在實(shí)施例中,處理第二分組描述符230-lb包括修改分組描述符230-lb,例如用以改變從第二分組220-2的首部中提取并且被包括在第二分組描述符230-2a中的一個(gè)或多個(gè)首部比特,向分組描述符230-2a添加信息(例如轉(zhuǎn)發(fā)決策)等。在本實(shí)施例中,已處理第二分組描述符230-2b是第一分組描述符230-2a的已修改版本。在另一實(shí)施例中,已處理描述符230-2b是描述符230-2a的未修改版本。
[0053]在實(shí)施例中,在向緩沖器214提供已處理組合描述符232b時(shí),PPN220向重新排序塊212告知PPN 220已經(jīng)完成組合分組描述符232a的處理。在實(shí)施例中,當(dāng)先于分組描述符232a從數(shù)據(jù)路徑206接收的所有分組描述符(或者包含多個(gè)分組描述符的數(shù)據(jù)單元)已經(jīng)返回?cái)?shù)據(jù)路徑206時(shí),分組重新排序塊212使得已處理的組合的單個(gè)分組描述符232b從緩沖器214傳送給數(shù)據(jù)路徑206。允許重新排序塊212以單個(gè)數(shù)據(jù)單元處理2個(gè)分組描述符減小了重新排序塊212需要執(zhí)行以便維持分組順序的操作的數(shù)目。例如,重新排序塊212僅需要執(zhí)行單個(gè)處理操作以處理來自PPN 220的、指示PPN 220已經(jīng)完成組合分組描述符232a的處理用以指示PPN 220已經(jīng)完成第一分組220-1和第二分組220-2二者的處理的單個(gè)指示。類似地,作為另一示例,在實(shí)施例中,重新排序塊212僅需要執(zhí)行單個(gè)操作以使得第一已處理描述符230-lb和第二已處理描述符230-2b返回?cái)?shù)據(jù)路徑206。在至少一些實(shí)施例中,作為PPN 220執(zhí)行的指令縮減集的結(jié)果,將重新排序塊212執(zhí)行以處理組合分組描述符所需要的操作的數(shù)目降低使得重新排序塊212能夠支持PPN 220的更高處理速率,而不增加重新排序塊212的尺寸和/或復(fù)雜性。
[0054]在實(shí)施例中,已處理組合分組描述符232b被提供給描述符拆包單元205。在實(shí)施例中,描述符拆包單元205分解已處理組合分組描述符232b以提取第一已處理分組描述符230-lb和第二已處理分組描述符230-2b。在實(shí)施例中,描述符拆包單元205將第一已處理分組描述符230-lb和第二已處理分組描述符230-2b寫入緩沖器110用于從一個(gè)或多個(gè)適當(dāng)端口 104傳送相關(guān)聯(lián)的第一分組220-1和第二分組220-2。
[0055]在實(shí)施例中,網(wǎng)絡(luò)設(shè)備200支持單播和多播業(yè)務(wù)。在實(shí)施例中,在一些情況下,描述符打包單元204被配置成將對應(yīng)于單播分組的分組描述符與對應(yīng)于多播分組的分組描述符組合成組合的單個(gè)分組描述符。在實(shí)施例中,在其他情況下,描述符打包單元204被配置成組合對應(yīng)于兩個(gè)或更多個(gè)多播分組的分組描述符。在實(shí)施例中,當(dāng)分組處理器217接收到包括對應(yīng)于單播分組的第一分組描述符和對應(yīng)于多播分組的第二分組描述符的組合分組描述符時(shí),分組處理器217執(zhí)行第一分組描述符的入處理和出處理,并且僅執(zhí)行第二分組描述符的入處理。在實(shí)施例中,分組處理器217確定用于出送第一(單播)分組的目的地端口 104,并且確定用于處理第二(多播)分組的第二實(shí)例的回送端口。在描述符拆包單元205分解對應(yīng)于第一分組和第二分組的已處理組合分組描述符之后,對應(yīng)于多播分組的分組描述符被回送到控制平面208用于多播分組的下一實(shí)例的處理。在實(shí)施例中,與多播分組對應(yīng)的分組描述符到控制平面208的回送繞開描述符打包單元204。換言之,在本實(shí)施例中,不執(zhí)行與被回送到控制平面208的多播分組對應(yīng)的描述符的組合。
[0056]在一些實(shí)施例中,與控制路徑208支持的分組速率相比,數(shù)據(jù)路徑206的更高進(jìn)入分組速率引起的擁塞導(dǎo)致控制路徑208的過量預(yù)定(oversubscript1n)。在實(shí)施例中,網(wǎng)絡(luò)設(shè)備200被配置成向所接收的分組指派過量預(yù)定優(yōu)先級,并且在擁塞發(fā)生時(shí)丟棄一個(gè)或多個(gè)較低優(yōu)先級分組。在實(shí)施例中,當(dāng)描述符打包單元204組合對應(yīng)于不同分組的多個(gè)(例如2個(gè)、3個(gè)等)分組描述符并且分組描述符中的至少一個(gè)對應(yīng)于更高優(yōu)先級分組時(shí),描述符打包單元204向表示多個(gè)分組的組合描述符分配較高優(yōu)先級。在這種情況下,在實(shí)施例中,如果對應(yīng)于較低優(yōu)先級分組的分組描述符與對應(yīng)于較高優(yōu)先級分組的分組描述符組合,則較低優(yōu)先級分組出于減小網(wǎng)絡(luò)設(shè)備200中的擁塞的目的而被作為較高優(yōu)先級分組處理。
[0057]在實(shí)施例中,網(wǎng)絡(luò)設(shè)備200支持“存儲(chǔ)轉(zhuǎn)發(fā)”處理以及“直通轉(zhuǎn)發(fā)”處理。通常,在存儲(chǔ)和轉(zhuǎn)發(fā)分組處理中,描述符生成器202在相關(guān)聯(lián)的分組已經(jīng)被完全接收并且緩沖在緩沖器110中之后將分組描述符傳遞給控制路徑208。在直通轉(zhuǎn)發(fā)處理中,描述符生成器202在相關(guān)聯(lián)的分組被網(wǎng)絡(luò)設(shè)備200整個(gè)接收并且緩沖在緩沖器110中之前生成對應(yīng)于分組的“直通轉(zhuǎn)發(fā)”描述符,并且將“直通轉(zhuǎn)發(fā)”描述符傳遞給控制路徑206 ο在至少一些實(shí)施例和/或場景中,網(wǎng)絡(luò)設(shè)備200使用由控制路徑208基于直通轉(zhuǎn)發(fā)描述符做出的轉(zhuǎn)發(fā)決策并且在網(wǎng)絡(luò)設(shè)備200完成整個(gè)分組的接收之前開始分組的傳輸。在一些實(shí)施例中,除了針對分組生成的直通轉(zhuǎn)發(fā)首部,描述符生成器202在整個(gè)分組已經(jīng)被網(wǎng)絡(luò)設(shè)備200接收之后生成對應(yīng)于分組的第二描述符(以及“存儲(chǔ)轉(zhuǎn)發(fā)”描述符),并且將第二描述符傳遞給控制路徑208??刂坡窂?08使用第二分組描述符關(guān)于分組做出一個(gè)或多個(gè)另外的(例如非轉(zhuǎn)發(fā))決策。在實(shí)施例中,一個(gè)或多個(gè)非轉(zhuǎn)發(fā)操作通常確定和/或利用那些只有在整個(gè)分組在緩沖器中可用之后能夠確定(或者準(zhǔn)確地確定)的信息。在各種實(shí)施例中,例如,非轉(zhuǎn)發(fā)操作包括確定整個(gè)分組的字節(jié)計(jì)數(shù)的計(jì)數(shù)操作、使用整個(gè)分組是否包含任何錯(cuò)誤的知識(shí)的鏡像操作等。
[0058]在實(shí)施例中,當(dāng)針對分組生成直通轉(zhuǎn)發(fā)分組描述符時(shí),描述符打包單元204不執(zhí)行直通轉(zhuǎn)發(fā)描述符的打包從而不延遲直通轉(zhuǎn)發(fā)分組的處理或向該處理增加潛伏期。相反,在本實(shí)施例中,直通轉(zhuǎn)發(fā)分組描述符被單獨(dú)地傳送給控制路徑208。另一方面,在實(shí)施例中,當(dāng)針對分組生成存儲(chǔ)轉(zhuǎn)發(fā)分組描述符時(shí),描述符打包單元204在至少一些情況下執(zhí)行存儲(chǔ)轉(zhuǎn)發(fā)描述符的打包以將存儲(chǔ)轉(zhuǎn)發(fā)描述符與一個(gè)或多個(gè)其他描述符組合。
[0059]圖3是根據(jù)實(shí)施例的用于生成分組描述符的示例技術(shù)300的流程圖。在實(shí)施例中,技術(shù)300由圖2的網(wǎng)絡(luò)設(shè)備200來實(shí)現(xiàn)。例如,在實(shí)施例中,技術(shù)300由網(wǎng)絡(luò)設(shè)備200的描述符生成器210來實(shí)現(xiàn)。在其他實(shí)施例中,技術(shù)300由網(wǎng)絡(luò)設(shè)備200的另一部件來實(shí)現(xiàn),或者由除了網(wǎng)絡(luò)設(shè)備200之外的其他合適的網(wǎng)絡(luò)設(shè)備來實(shí)現(xiàn)。為了便于解釋,參考圖2的網(wǎng)絡(luò)設(shè)備200來描述技術(shù)300。
[0060]在塊302,描述符生成器210開始接收分組或?qū)?yīng)于分組的首部,其由網(wǎng)絡(luò)設(shè)備200經(jīng)由端口 104來接收。在塊402處,在開始分組或分組首部的接收之后,描述符生成器210等待預(yù)定時(shí)間段。例如,在實(shí)施例中,描述符生成器等待對應(yīng)于分組或分組首部的前X個(gè)字節(jié)(例如前128個(gè)字節(jié))的接收的時(shí)間量。在塊306,描述符生成器210確定應(yīng)當(dāng)生成直通轉(zhuǎn)發(fā)描述符還是存儲(chǔ)轉(zhuǎn)發(fā)描述符。如果在塊306確定應(yīng)當(dāng)生成直通轉(zhuǎn)發(fā)描述符并且分組尚未被網(wǎng)絡(luò)設(shè)備200完全接收,則描述符生成器210在塊308生成直通轉(zhuǎn)發(fā)描述符。另一方面,如果確定206應(yīng)當(dāng)針對分組生成存儲(chǔ)轉(zhuǎn)發(fā)分組描述符并且整個(gè)分組已經(jīng)被網(wǎng)絡(luò)設(shè)備200接收并且緩存在緩沖器118中,則在塊310生成存儲(chǔ)轉(zhuǎn)發(fā)描述符。
[0061]圖4是根據(jù)實(shí)施例的用于確定要發(fā)送分組描述符用于作為單獨(dú)的單個(gè)分組描述符還是作為組合多個(gè)分組描述符的數(shù)據(jù)單元的部分來處理的示例技術(shù)400的流程圖。在實(shí)施例中,技術(shù)400由圖2的網(wǎng)絡(luò)設(shè)備200來實(shí)現(xiàn)。例如,在實(shí)施例中,技術(shù)400由圖2的描述符打包單元204來實(shí)現(xiàn)。在其他實(shí)施例中,技術(shù)400由網(wǎng)絡(luò)設(shè)備200的另一部件來實(shí)現(xiàn),或者由除了網(wǎng)絡(luò)設(shè)備200之外的其他合適的網(wǎng)絡(luò)設(shè)備來實(shí)現(xiàn)。為了便于解釋,參考圖2的網(wǎng)絡(luò)設(shè)備200來描述技術(shù)400。
[0062]在塊402,描述符打包單元204等待分組描述符的接收。在塊404,在塊302處接收到描述符的至少部分之后,描述符打包單元204確定描述符是否對應(yīng)于直通轉(zhuǎn)發(fā)分組。例如,在實(shí)施例中,描述符打包單元204基于描述符中包括的指示來確定描述符是否對應(yīng)于直通轉(zhuǎn)發(fā)分組。如果在塊404確定描述符對應(yīng)于直通轉(zhuǎn)發(fā)分組,則技術(shù)400在塊406繼續(xù),在塊406,將描述符作為單個(gè)分組描述符發(fā)送給控制路徑216。然后,技術(shù)400返回塊402,在塊402,描述符打包單元等待下一描述符。
[0063]另一方面,如果在塊404確定描述符不對應(yīng)于直通轉(zhuǎn)發(fā)分組,則技術(shù)400在塊408繼續(xù)。在塊408,描述符打包單元204重置用于測量兩個(gè)連續(xù)的描述符的接收之間的時(shí)間間隙的計(jì)時(shí)器(將其設(shè)置為O值)。在塊410,使在塊408設(shè)置的計(jì)時(shí)器遞增。然后,在塊412,確定下一連續(xù)描述符是否已經(jīng)被描述符打包單元204接收到,如果在塊412確定下一描述符已經(jīng)被接收到,則技術(shù)400在塊416繼續(xù),在塊416,描述符打包單元將兩個(gè)連續(xù)接收的分組描述符組合成單個(gè)數(shù)據(jù)單元。在實(shí)施例中,分組描述符生成器210然后將包括兩個(gè)連續(xù)接收的分組描述符的數(shù)據(jù)單元傳送給控制路徑206以用于由控制路徑206的部件來處理。
[0064]另一方面,如果在塊412確定下一分組描述符尚未被描述符打包單元204接收到,則技術(shù)在塊418繼續(xù)。在塊418,確定在塊410設(shè)置的計(jì)數(shù)器是否超時(shí)。例如,在實(shí)施例中,描述符打包單元204將計(jì)時(shí)器的當(dāng)前值與門限值(例如,與某個(gè)數(shù)目的字節(jié)的接收對應(yīng)的值,諸如128個(gè)字節(jié))相比較,并且在當(dāng)前計(jì)時(shí)器值超過門限值的情況下確定計(jì)時(shí)器已經(jīng)超時(shí)。如果計(jì)時(shí)器已經(jīng)超時(shí),則技術(shù)在塊406繼續(xù),在塊406,將分組描述符作為單個(gè)分組描述符發(fā)送給控制路徑216。如果在塊418確定計(jì)時(shí)器尚未超時(shí),則技術(shù)400在塊410繼續(xù),在塊410,計(jì)時(shí)器再次遞增。在實(shí)施例中,重復(fù)塊410、412和418,直到(i)在塊418確定計(jì)時(shí)器超時(shí),在這種情況下將分組描述符作為單個(gè)分組描述符發(fā)送給控制路徑206,或者直到(i i)在塊412確定已經(jīng)在計(jì)時(shí)器的超時(shí)之前接收到下一分組描述符,在這種情況下,將兩個(gè)連續(xù)接收的分組描述符組合成單個(gè)數(shù)據(jù)單元,并且然后將單個(gè)數(shù)據(jù)單元發(fā)送給控制路徑206。
[0065]圖5是根據(jù)實(shí)施例的示例技術(shù)500的流程圖。在實(shí)施例中,技術(shù)500被實(shí)現(xiàn)以確定應(yīng)當(dāng)將分組描述符與另一分組描述符組合還是應(yīng)當(dāng)將分組描述符單獨(dú)發(fā)送給控制路徑以減小與組合多個(gè)分組描述符相關(guān)聯(lián)的潛伏期。在實(shí)施例中,技術(shù)500由圖2的網(wǎng)絡(luò)設(shè)備200來實(shí)現(xiàn)。例如,在實(shí)施例中,技術(shù)500由網(wǎng)絡(luò)設(shè)備200的描述符生成器202來實(shí)現(xiàn)。在其他實(shí)施例中,技術(shù)500由網(wǎng)絡(luò)設(shè)備200的另一部件來實(shí)現(xiàn),或者由除了網(wǎng)絡(luò)設(shè)備200之外的其他合適的網(wǎng)絡(luò)設(shè)備來實(shí)現(xiàn)。為了便于解釋,參考圖2的網(wǎng)絡(luò)設(shè)備200來描述技術(shù)500。
[0066]在塊502,重置時(shí)間計(jì)數(shù)器和分組計(jì)數(shù)器。在實(shí)施例中,在塊502重置時(shí)間計(jì)數(shù)器和分組計(jì)數(shù)器包括將時(shí)間計(jì)數(shù)器和分組計(jì)數(shù)器設(shè)置為O值。在塊504,遞增時(shí)間計(jì)數(shù)器。在塊506,確定是否已經(jīng)接收到分組的結(jié)尾。如果在塊506確定已經(jīng)接收到分組的結(jié)尾,則技術(shù)500在塊508繼續(xù),在塊508,遞增分組計(jì)數(shù)器。然后,在塊510,確定分組計(jì)數(shù)器是否等于2。換言之,在塊510確定塊506檢測到的分組的結(jié)尾是否對應(yīng)于分組描述符生成器202連續(xù)接收到的第二分組。如果在塊510確定分組計(jì)數(shù)器等于2,則在塊512將對應(yīng)于描述符生成器202連續(xù)接收的兩個(gè)分組的兩個(gè)描述符組合成組合的單個(gè)描述符。然后,在塊514,重置分組計(jì)數(shù)器(例如,將其設(shè)置為O值),并且在塊516,將時(shí)間計(jì)數(shù)器設(shè)置為最大值(例如,與接收128個(gè)比特對應(yīng)的時(shí)間值)。另一方面,如果在塊510確定分組計(jì)數(shù)器不等于2(例如,如果在塊506處檢測到的分組的結(jié)尾對應(yīng)于僅第一分組),則技術(shù)500直接跟進(jìn)到塊516,在塊516,將時(shí)間計(jì)數(shù)器設(shè)置為最大值。在任何情況下,在塊516之后,技術(shù)500返回塊504,在塊504,遞增時(shí)間計(jì)數(shù)器。
[0067]返回塊506,如果確定尚未接收到分組的結(jié)尾,則技術(shù)500繼續(xù)到塊518,在塊518,將時(shí)間計(jì)數(shù)器與門限值(例如,與某個(gè)數(shù)目的字節(jié)的接收對應(yīng)的值,諸如128個(gè)字節(jié))相比較。如果時(shí)間計(jì)數(shù)器超過門限,則技術(shù)500在塊520繼續(xù),在塊520,確定分組計(jì)數(shù)器是否等于I。如果在塊520確定分組計(jì)數(shù)器等于I,則在塊522將與I個(gè)接收的分組對應(yīng)的分組描述符作為單個(gè)分組描述符傳輸給控制路徑208。如果在塊520確定分組計(jì)數(shù)器尚不等于1(例如分組計(jì)數(shù)器等于O),則技術(shù)500在塊524繼續(xù),在塊524,描述符生成器202等待分組的結(jié)尾的接收。當(dāng)分組的結(jié)尾被接收到時(shí),技術(shù)500跟進(jìn)到塊522,在塊522,將對應(yīng)于單個(gè)分組的分組描述符作為單個(gè)分組描述符傳輸給控制路徑208。在實(shí)施例中,在塊522之后,技術(shù)500在塊502重新開始。
[0068]圖6是根據(jù)實(shí)施例的用于處理網(wǎng)絡(luò)設(shè)備中的分組的示例方法600的流程圖。在實(shí)施例中,圖1的網(wǎng)絡(luò)設(shè)備100實(shí)現(xiàn)方法600ο在一些實(shí)施例中,方法600由網(wǎng)絡(luò)設(shè)備200來實(shí)現(xiàn)。僅出于解釋目的參考圖2討論方法600。在其他實(shí)施例中,方法600由不同于網(wǎng)絡(luò)設(shè)備100(圖1)和/或網(wǎng)絡(luò)設(shè)備200 (圖2)的合適的網(wǎng)絡(luò)設(shè)備來實(shí)現(xiàn)。
[0069]在塊602,在網(wǎng)絡(luò)設(shè)備的第一端口接收第一分組。在實(shí)施例中,網(wǎng)絡(luò)端口是將網(wǎng)絡(luò)設(shè)備耦合到網(wǎng)絡(luò)的網(wǎng)絡(luò)端口。在塊604,從在塊602處接收的第一分組的首部中提取第一比特集合。在實(shí)施例中,第一比特集合對應(yīng)于第一分組的首部中的第一比特位置集合。在實(shí)施例中,第一比特集合對應(yīng)于第一分組的首部中的第一首部字段集合。
[0070]在塊606,執(zhí)行第一處理操作集合以使用在塊604從第一分組的首部中提取的第一比特集合來處理第一分組。在實(shí)施例中,第一處理操作集合是包括網(wǎng)絡(luò)設(shè)備被配置成執(zhí)行的分組處理操作的子集的縮減分組處理操作子集。例如,在實(shí)施例中,第一處理操作集合僅包括與分組的轉(zhuǎn)發(fā)有關(guān)的處理操作。
[0071]在塊608,在網(wǎng)絡(luò)設(shè)備的第二端口處接收第二分組。在實(shí)施例中,網(wǎng)絡(luò)設(shè)備的第二端口不同于在塊602接收第一分組的第一端口。在實(shí)施例中,第二端口是將網(wǎng)絡(luò)設(shè)備耦合到另一網(wǎng)絡(luò)設(shè)備(諸如多級交換系統(tǒng)中的交換設(shè)備)的上行鏈路端口。
[0072]在塊610,從第二分組的首部中提取第二比特集合。在實(shí)施例中,第二比特集合對應(yīng)于第二分組的首部中的第二比特位置集合。在實(shí)施例中,第二比特位置集合包括沒有被包括在對應(yīng)于在塊604從第一分組的首部中提取的第一比特集合的第一比特位置集合中的至少某個(gè)一比特位置。在實(shí)施例中,第二比特集合對應(yīng)于第二分組的首部中的第二首部字段集合。在實(shí)施例中,第二首部字段集合包括沒有被包括在對應(yīng)于在塊604從第一分組的首部中提取的第一比特集合的第一首部字段集合中的至少一個(gè)首部字段。作為示例,在實(shí)施例中,第一首部字段集合包括與轉(zhuǎn)發(fā)有關(guān)的一個(gè)或多個(gè)首部字段,諸如轉(zhuǎn)發(fā)標(biāo)記字段、源地址字段和目的地地址字段中的一個(gè)或多個(gè)。另一方面,例如,在本實(shí)施例中,第二首部字段集合包括至少一個(gè)與轉(zhuǎn)發(fā)不相關(guān)并且沒有被包括在第一首部字段集合中的首部字段,諸如以太類型字段或誤差校驗(yàn)和字段。
[0073]在塊612,執(zhí)行第二處理操作集合以使用在塊604從第二分組的首部中提取的第二比特集合處理第二分組。在實(shí)施例中,第二處理操作集合包括網(wǎng)絡(luò)設(shè)備被配置成執(zhí)行的分組處理操作完全集合。在實(shí)施例中,第二處理操作集合包括(i)與分組的轉(zhuǎn)發(fā)有關(guān)的一個(gè)或多個(gè)處理操作以及(ii)與分組的轉(zhuǎn)發(fā)無關(guān)的至少一個(gè)另外的處理操作。
[0074]圖7是根據(jù)另一實(shí)施例的用于處理分組的示例方法700的流程圖。在實(shí)施例中,圖1的網(wǎng)絡(luò)設(shè)備100實(shí)現(xiàn)方法700。在一些實(shí)施例中,方法700由網(wǎng)絡(luò)設(shè)備200來實(shí)現(xiàn)。僅出于解釋的目的參考圖2來描述方法700。在其他實(shí)施例中,方法700由不同于網(wǎng)絡(luò)設(shè)備100(圖1)和/或網(wǎng)絡(luò)設(shè)備200 (圖2)的合適的網(wǎng)絡(luò)設(shè)備來實(shí)現(xiàn)。
[0075]在塊702,在網(wǎng)絡(luò)設(shè)備的端口處接收第一分組。在實(shí)施例中,使用第一處理操作縮減集合處理第一分組。在塊704,從第一分組的首部中提取第一比特集合。
[0076]在塊706,在網(wǎng)絡(luò)設(shè)備的端口處接收第二分組。在實(shí)施例中,使用第二處理操作縮減集合處理第二分組。在實(shí)施例中,第二處理操作縮減集合與第一處理操作集合相同。在另一實(shí)施例中,第二處理操作集合不同于第一處理操作縮減集合。在塊708,從第二分組的首部中提取第二比特集合。
[0077]在塊710,將在塊704從第一分組的首部中提取的第一比特集合和在塊708從第二分組的首部中提取的第二比特集合組合成表示第一分組和第二分組的單個(gè)數(shù)據(jù)單元。例如,將在塊704從第一分組的首部中提取的第一比特集合和在塊708從第二分組的首部中提取的第二比特集合組合成表示第一分組和第二分組的單個(gè)描述符。
[0078]在塊712,將包括從第一分組的首部中提取的第一比特集合和從第二分組的首部中提取的第二比特集合的單個(gè)數(shù)據(jù)單元傳送給分組處理設(shè)備。在塊714,在分組處理設(shè)備處分解單個(gè)數(shù)據(jù)單元以提取對應(yīng)于第一分組的第一比特集合和對應(yīng)于第二分組的第二比特集合。在塊716,執(zhí)行第一處理操作縮減集合以使用對應(yīng)于第一分組的第一比特集合處理第一分組。在塊718,執(zhí)行第二處理操作縮減集合以使用對應(yīng)于第二分組的第二比特集合處理第二分組。
[0079]在實(shí)施例中,一種用于處理網(wǎng)絡(luò)設(shè)備中的分組的方法包括:在網(wǎng)絡(luò)設(shè)備的第一端口處接收第一分組;從第一分組的首部中提取第一比特集合,第一比特集合對應(yīng)于第一分組的首部中的第一比特位置集合;以及執(zhí)行第一處理操作集合以使用從第一分組的首部中提取的第一比特集合來處理第一分組。方法還包括:在網(wǎng)絡(luò)設(shè)備的第二端口處接收第二分組,第二端口不同于第一端口;從第二分組的首部中提取第二比特集合,第二比特集合對應(yīng)于第二分組的首部中的第二比特位置集合,其中第二比特位置集合包含沒有被包含在第一比特位置集合中的至少一個(gè)比特位置;以及執(zhí)行第二處理操作集合以使用從第二分組的首部中提取的第二比特集合來處理第二分組,其中第二處理操作集合包含沒有被包含在第一處理操作集合中的至少一個(gè)處理操作。
[0080]在其他實(shí)施例中,方法包括以下特征中的任何一個(gè)特征、或者其中的一個(gè)或多個(gè)特征的任意組合。
[0081]第一處理操作集合僅包含與分組的轉(zhuǎn)發(fā)有關(guān)的處理操作。
[0082]第二處理操作集合包含(i)與分組的轉(zhuǎn)發(fā)有關(guān)的一個(gè)或多個(gè)處理操作以及(ii)與分組的轉(zhuǎn)發(fā)無關(guān)的至少一個(gè)另外的處理操作。
[0083]第二處理操作集合是網(wǎng)絡(luò)設(shè)備被配置來執(zhí)行的處理操作完全集合,并且其中第一處理操作集合是包含處理操作完全集合的子集的處理操作縮減集合。
[0084]在網(wǎng)絡(luò)設(shè)備的第二端口處接收第一分組包括在將網(wǎng)絡(luò)設(shè)備耦合到多級交換系統(tǒng)中的下游交換設(shè)備的上行鏈路端口處接收第二分組。
[0085]在第二端口處接收第二分組包括在將網(wǎng)絡(luò)設(shè)備耦合到網(wǎng)絡(luò)的網(wǎng)絡(luò)端口處接收第二分組。
[0086]在另一實(shí)施例中,一種網(wǎng)絡(luò)設(shè)備包括多個(gè)端口。網(wǎng)絡(luò)設(shè)備還包括分組描述符生成器,分組描述符生成器被配置成生成與經(jīng)由多個(gè)端口中的第一端口接收的第一分組相對應(yīng)的第一數(shù)據(jù)結(jié)構(gòu),其中第一數(shù)據(jù)結(jié)構(gòu)包含從第一分組的首部中提取的第一比特集合,第一比特集合對應(yīng)于第一分組的首部中的第一比特位置集合。分組描述符還被配置成生成與經(jīng)由多個(gè)端口中的第二端口接收的第二分組相對應(yīng)的第二數(shù)據(jù)結(jié)構(gòu),第二端口不同于第一端口,其中第二數(shù)據(jù)結(jié)構(gòu)包含與第二首部中的第二比特位置集合相對應(yīng)的第二比特集合,并且其中第二比特位置集合包含沒有被包含在第一比特位置集合中的至少一個(gè)比特位置。網(wǎng)絡(luò)設(shè)備還包括分組處理器,分組處理器被配置成:執(zhí)行第一處理操作集合以使用對應(yīng)于第一分組的第一數(shù)據(jù)結(jié)構(gòu)來處理第一分組,以及執(zhí)行第二處理操作集合以使用對應(yīng)于第二分組的第二數(shù)據(jù)結(jié)構(gòu)來處理第二分組,其中第二處理操作集合包含沒有被包含在第一處理操作集合中的至少一個(gè)處理操作。
[0087]在其他實(shí)施例中,網(wǎng)絡(luò)設(shè)備包括以下特征中的任何一個(gè)特征、或者其中的一個(gè)或多個(gè)特征的任意組合。
[0088]分組處理設(shè)備被配置成執(zhí)行第一處理操作集合用以僅執(zhí)行與分組的轉(zhuǎn)發(fā)有關(guān)的處理操作。
[0089]分組處理設(shè)備被配置成執(zhí)行第二處理操作集合以執(zhí)行(i)與分組的轉(zhuǎn)發(fā)有關(guān)的一個(gè)或多個(gè)處理操作以及(ii)與分組的轉(zhuǎn)發(fā)無關(guān)的至少一個(gè)另外的處理操作。
[0090]分組處理設(shè)備被配置成執(zhí)行第二處理操作集合用以執(zhí)行網(wǎng)絡(luò)設(shè)備被配置來執(zhí)行的處理操作完全集合,并且其中第一處理操作集合是包含分組處理操作完全集合的子集的處理操作縮減集合。
[0091]第一端口是將網(wǎng)絡(luò)設(shè)備耦合到多級交換系統(tǒng)中的下游交換設(shè)備的上行鏈路端口。
[0092]第二端口是將網(wǎng)絡(luò)設(shè)備耦合到網(wǎng)絡(luò)的網(wǎng)絡(luò)端口。
[0093]在又一實(shí)施例中,一種用于處理網(wǎng)絡(luò)設(shè)備中的分組的方法包括:在網(wǎng)絡(luò)設(shè)備的端口處接收第一分組,第一分組將使用第一處理操作縮減集合來處理;以及從第一分組的首部中提取第一比特集合。方法還包括:在網(wǎng)絡(luò)設(shè)備的端口處接收第二分組,第二分組將使用第二處理操作縮減集合來處理;以及從第二分組的首部中提取第二比特集合。方法另外包括:將第一比特集合和第二比特集合組合成表示第一分組和第二分組的經(jīng)組合的單個(gè)數(shù)據(jù)單元;以及向分組處理設(shè)備傳送表示第一分組和第二分組的單個(gè)組合數(shù)據(jù)單元。方法還包括:在分組處理設(shè)備處分解單個(gè)數(shù)據(jù)單元以提取對應(yīng)于第一分組的第一比特集合以及對應(yīng)于第二分組的第二比特集合;執(zhí)行第一處理操作縮減集合以使用對應(yīng)于第一分組的第一比特集合處理第一分組;以及執(zhí)行第二處理操作縮減集合以使用對應(yīng)于第二分組的第二比特集合來處理第二分組。
[0094]在其他實(shí)施例中,方法包括以下特征中的任何一個(gè)特征、或者其中的一個(gè)或多個(gè)特征的任意組合。
[0095]方法還包括:在執(zhí)行第一處理操作縮減集合以處理第一分組并且執(zhí)行第二處理操作縮減集合以處理第二分組之后,將對應(yīng)于第一分組的第一比特集合和對應(yīng)于第二分組的第二比特集合重新組合成表示經(jīng)處理的第一分組和經(jīng)處理的第二分組的單個(gè)數(shù)據(jù)單元,以及向已處理分組緩沖器傳送表示經(jīng)處理的第一分組和經(jīng)處理的第二分組的單個(gè)數(shù)據(jù)單元。
[0096]第一處理操作縮減集合包括網(wǎng)絡(luò)設(shè)備被配置來執(zhí)行的分組處理操作完全集合的第一子集。
[0097]第二處理操作縮減集合包括網(wǎng)絡(luò)設(shè)備被配置來執(zhí)行的分組處理操作完全集合的第二子集。
[0098]處理操作的第一子集包括與第一處理操作子集相同的處理操作。
[0099]處理操作完全集合包括(i)與轉(zhuǎn)發(fā)分組有關(guān)的一個(gè)或多個(gè)處理操作以及(ii)與轉(zhuǎn)發(fā)分組無關(guān)的至少一個(gè)另外的處理操作,并且其中(i)處理操作第一子集和(ii)處理操作第二子集兩者中的每個(gè)僅包括與轉(zhuǎn)發(fā)分組有關(guān)的一個(gè)或多個(gè)處理操作。
[0100]將第一比特集合和第二比特集合組合成經(jīng)組合的單個(gè)數(shù)據(jù)單元包括:僅在第一分組的大小和第二分組的大小低于門限的情況下組合第一比特集合和第二比特集合。
[0101]將第一比特集合和第二比特集合組合成經(jīng)組合的單個(gè)數(shù)據(jù)單元包括:僅在接收第一分組和接收第二分組之間的時(shí)間間隙低于門限的情況下組合第一比特集合和第二比特
口 O
[0102]在又一實(shí)施例中,一種網(wǎng)絡(luò)設(shè)備包括多個(gè)端口。網(wǎng)絡(luò)設(shè)備還包括分組處理設(shè)備,其被配置成處理經(jīng)由至少一個(gè)端口接收的分組。網(wǎng)絡(luò)設(shè)備還包括描述符生成器,描述符生成器被配置成:從在多個(gè)端口中的端口處接收的第一分組的首部中提取第一比特集合,第一分組將使用處理操作縮減集合來處理;以及從在多個(gè)端口中的端口處接收的第二分組的首部中提取第二比特集合,第二分組將使用第二處理操作縮減集合來處理。描述符生成器另外被配置成:將第一比特集合和第二比特集合組合成表示第一分組和第二分組的經(jīng)組合的單個(gè)數(shù)據(jù)單元,以及向分組處理設(shè)備傳送表示第一分組和第二分組的經(jīng)組合的單個(gè)數(shù)據(jù)單元。分組處理設(shè)備被配置成:分解單個(gè)數(shù)據(jù)單元以提取對應(yīng)于第一分組的第一比特集合和對應(yīng)于第二分組的第二比特集合,執(zhí)行第一指令縮減集以使用對應(yīng)于第一分組的第一比特集合來處理第一分組,以及執(zhí)行第二處理操作縮減集合以使用對應(yīng)于第二分組的第二比特集合來處理第二分組。
[0103]在其他實(shí)施例中,網(wǎng)絡(luò)設(shè)備包括以下特征中的任何一個(gè)特征、或者其中的一個(gè)或多個(gè)特征的任意組合。
[0104]分組處理設(shè)備還被配置成:在執(zhí)行第一處理操作縮減集合以處理第一分組并且執(zhí)行第二處理操作縮減集合以處理第二分組之后,將對應(yīng)于第一分組的第一比特集合和對應(yīng)于第二分組的第二比特集合重新組合成表示經(jīng)處理的第一分組和經(jīng)處理的第二分組的單個(gè)數(shù)據(jù)單元,以及向已處理分組緩沖器傳送表示經(jīng)處理的第一分組和經(jīng)處理的第二分組的單個(gè)數(shù)據(jù)單元。
[0105]第一處理操作縮減集合包括網(wǎng)絡(luò)設(shè)備被配置成執(zhí)行以處理分組的整個(gè)分組處理操作集合的第一子集。
[0106]第二處理操作縮減集合包括網(wǎng)絡(luò)設(shè)備被配置成執(zhí)行的整個(gè)分組處理操作集合的第二子集。
[0107]處理操作的第一子集包括與第一處理操作子集相同的處理操作。
[0108]處理操作完全集合包括(i)與轉(zhuǎn)發(fā)分組有關(guān)的一個(gè)或多個(gè)處理操作以及(ii)與轉(zhuǎn)發(fā)分組無關(guān)的至少一個(gè)另外的處理操作,并且其中(i)處理操作第一子集和(ii)處理操作第二子集兩者中的每個(gè)僅包括與轉(zhuǎn)發(fā)分組有關(guān)的一個(gè)或多個(gè)處理操作。
[0109]描述符生成器被配置成僅在第一分組的大小和第二分組的大小低于門限的情況下將第一比特集合和第二比特集合組合成經(jīng)組合的單個(gè)數(shù)據(jù)單元。
[0110]描述符生成器被配置成僅在接收第一分組和接收第二分組之間的時(shí)間間隙低于門限的情況下將第一比特集合和第二比特集合組合成經(jīng)組合的單個(gè)數(shù)據(jù)單元。
[0111]以上描述的各種塊、操作和技術(shù)中的至少一些可以使用硬件、執(zhí)行固件指令的處理器、執(zhí)行軟件指令的處理器或者其任意組合來實(shí)現(xiàn)。
[0112]在用硬件實(shí)現(xiàn)時(shí),硬件可以包括離散部件、集成電路、專用集成電路(ASIC)、可編程邏輯器件(PLD)等中的一個(gè)或多個(gè)。
[0113]在使用執(zhí)行軟件或固件指令的處理器來實(shí)現(xiàn)時(shí),軟件或固件指令可以存儲(chǔ)在任何計(jì)算機(jī)可讀存儲(chǔ)器(諸如磁盤、光盤、或其他存儲(chǔ)介質(zhì)、RAM或ROM或閃存存儲(chǔ)器、處理器、硬盤驅(qū)動(dòng)、光盤驅(qū)動(dòng)、磁帶驅(qū)動(dòng)等)中。軟件或固件指令可以包括機(jī)器可讀指令,這些指令在由一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得一個(gè)或多個(gè)處理器執(zhí)行各種動(dòng)作。
[0114]雖然已經(jīng)參考具體示例描述了本發(fā)明(其意圖僅在于說明而非限制本發(fā)明),然而可以在不偏離本發(fā)明的范圍的情況下對所公開的實(shí)施例做出變化、添加和/或刪除。例如,以上描述的方法或技術(shù)的一個(gè)或多個(gè)部分可以按照不同順序(或同時(shí)地)執(zhí)行并且仍然實(shí)現(xiàn)期望結(jié)果。
【主權(quán)項(xiàng)】
1.一種用于處理網(wǎng)絡(luò)設(shè)備中的分組的方法,所述方法包括: 在所述網(wǎng)絡(luò)設(shè)備的第一端口處接收第一分組; 從所述第一分組的首部中提取第一比特集合,所述第一比特集合對應(yīng)于所述第一分組的所述首部中的第一比特位置集合; 執(zhí)行第一處理操作集合以使用從所述第一分組的所述首部中提取的所述第一比特集合來處理所述第一分組; 在所述網(wǎng)絡(luò)設(shè)備的第二端口處接收第二分組,所述第二端口不同于所述第一端口 ; 從所述第二分組的首部中提取第二比特集合,所述第二比特集合對應(yīng)于所述第二分組的所述首部中的第二比特位置集合,其中所述第二比特位置集合包含沒有被包含在所述第一比特位置集合中的至少一個(gè)比特位置;以及 執(zhí)行第二處理操作集合以使用從所述第二分組的所述首部中提取的所述第二比特集合來處理所述第二分組,其中所述第二處理操作集合包含沒有被包含在所述第一處理操作集合中的至少一個(gè)處理操作。2.根據(jù)權(quán)利要求1所述的方法,其中所述第一處理操作集合僅包含與分組的轉(zhuǎn)發(fā)有關(guān)的處理操作。3.根據(jù)權(quán)利要求2所述的方法,其中所述第二處理操作集合包含(i)與分組的轉(zhuǎn)發(fā)有關(guān)的一個(gè)或多個(gè)處理操作、以及(ii)與分組的轉(zhuǎn)發(fā)無關(guān)的至少一個(gè)另外的處理操作。4.根據(jù)權(quán)利要求1所述的方法,其中所述第二處理操作集合是所述網(wǎng)絡(luò)設(shè)備被配置來執(zhí)行的處理操作完全集合,并且其中所述第一處理操作集合是包含所述處理操作完全集合的子集的處理操作縮減集合。5.根據(jù)權(quán)利要求1所述的方法,其中: 在所述網(wǎng)絡(luò)設(shè)備的所述第二端口處接收所述第一分組包括:在將所述網(wǎng)絡(luò)設(shè)備耦合到多級交換系統(tǒng)中的下游交換設(shè)備的上行鏈路端口處接收所述第二分組;以及 在所述第二端口處接收所述第二分組包括:在將所述網(wǎng)絡(luò)設(shè)備耦合到網(wǎng)絡(luò)的網(wǎng)絡(luò)端口處接收所述第二分組。6.一種網(wǎng)絡(luò)設(shè)備,包括: 多個(gè)端口; 分組描述符生成器,被配置成: 生成與經(jīng)由所述多個(gè)端口中的第一端口接收的第一分組相對應(yīng)的第一數(shù)據(jù)結(jié)構(gòu),其中所述第一數(shù)據(jù)結(jié)構(gòu)包含從所述第一分組的首部中提取的第一比特集合,所述第一比特集合對應(yīng)于所述第一分組的所述首部中的第一比特位置集合,以及 生成與經(jīng)由所述多個(gè)端口中的第二端口接收的第二分組相對應(yīng)的第二數(shù)據(jù)結(jié)構(gòu),所述第二端口不同于所述第一端口,其中所述第二數(shù)據(jù)結(jié)構(gòu)包含與所述第二首部中的第二比特位置集合相對應(yīng)的第二比特集合,并且其中所述第二比特位置集合包含沒有被包含在所述第一比特位置集合中的至少一個(gè)比特位置;以及分組處理器,被配置成: 執(zhí)行第一處理操作集合以使用對應(yīng)于所述第一分組的所述第一數(shù)據(jù)結(jié)構(gòu)來處理所述第一分組,以及 執(zhí)行第二處理操作集合以使用對應(yīng)于所述第二分組的所述第二數(shù)據(jù)結(jié)構(gòu)來處理所述第二分組,其中所述第二處理操作集合包含沒有被包含在所述第一處理操作集合中的至少一個(gè)處理操作。7.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)設(shè)備,其中所述分組處理設(shè)備被配置成執(zhí)行所述第一處理操作集合用以僅執(zhí)行與分組的轉(zhuǎn)發(fā)有關(guān)的處理操作。8.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)設(shè)備,其中所述分組處理設(shè)備被配置成執(zhí)行所述第二處理操作集合以執(zhí)行:(i)與分組的轉(zhuǎn)發(fā)有關(guān)的一個(gè)或多個(gè)處理操作,以及(ii)與分組的轉(zhuǎn)發(fā)無關(guān)的至少一個(gè)另外的處理操作。9.根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)設(shè)備,其中所述分組處理設(shè)備被配置成執(zhí)行所述第二處理操作集合用以執(zhí)行所述網(wǎng)絡(luò)設(shè)備被配置來執(zhí)行的處理操作完全集合,并且其中所述第一處理操作集合是包含分組處理操作的所述完全集合的子集的處理操作縮減集合。10.根據(jù)權(quán)利要求5所述的網(wǎng)絡(luò)設(shè)備,其中: 所述第一端口是將所述網(wǎng)絡(luò)設(shè)備耦合到多級交換系統(tǒng)中的下游交換設(shè)備的上行鏈路端口; 所述第二端口是將所述網(wǎng)絡(luò)設(shè)備耦合到網(wǎng)絡(luò)的網(wǎng)絡(luò)端口。11.一種用于處理網(wǎng)絡(luò)設(shè)備中的分組的方法,所述方法包括: 在所述網(wǎng)絡(luò)設(shè)備的端口處接收第一分組,所述第一分組將使用第一處理操作縮減集合來處理; 從所述第一分組的首部中提取第一比特集合; 在所述網(wǎng)絡(luò)設(shè)備的所述端口處接收第二分組,所述第二分組將使用第二處理操作縮減集合來處理; 從所述第二分組的首部中提取第二比特集合; 將所述第一比特集合和所述第二比特集合組合成表示所述第一分組和所述第二分組的經(jīng)組合的單個(gè)數(shù)據(jù)單元; 向分組處理設(shè)備傳送表示所述第一分組和所述第二分組的所述經(jīng)組合的單個(gè)數(shù)據(jù)單元; 在所述分組處理設(shè)備處分解所述單個(gè)數(shù)據(jù)單元以提取對應(yīng)于所述第一分組的所述第一比特集合以及對應(yīng)于所述第二分組的所述第二比特集合; 執(zhí)行所述第一處理操作縮減集合以使用對應(yīng)于所述第一分組的所述第一比特集合來處理所述第一分組;以及 執(zhí)行所述第二處理操作縮減集合以使用對應(yīng)于所述第二分組的所述第二比特集合來處理所述第二分組。12.根據(jù)權(quán)利要求11所述的方法,還包括:在執(zhí)行所述第一處理操作縮減集合以處理所述第一分組并且執(zhí)行所述第二處理操作縮減集合以處理所述第二分組之后, 將對應(yīng)于所述第一分組的所述第一比特集合和對應(yīng)于所述第二分組的所述第二比特集合重新組合成表示經(jīng)處理的第一分組和經(jīng)處理的第二分組的單個(gè)數(shù)據(jù)單元,以及 向已處理分組緩沖器傳送表示所述經(jīng)處理的第一分組和所述經(jīng)處理的第二分組的所述單個(gè)數(shù)據(jù)單元。13.根據(jù)權(quán)利要求11所述的方法,其中 所述第一處理操作縮減集合包含所述網(wǎng)絡(luò)設(shè)備被配置來執(zhí)行的分組處理操作完全集合的第一子集,并且 所述第二處理操作縮減集合包含所述網(wǎng)絡(luò)設(shè)備被配置來執(zhí)行的所述分組處理操作完全集合的第二子集。14.根據(jù)權(quán)利要求13所述的方法,其中所述處理操作的所述第一子集包含與所述第一處理操作子集相同的處理操作。15.根據(jù)權(quán)利要求14所述的方法,所述處理操作完全集合包含(i)與轉(zhuǎn)發(fā)分組有關(guān)的一個(gè)或多個(gè)處理操作、以及(ii)與轉(zhuǎn)發(fā)分組無關(guān)的至少一個(gè)另外的處理操作,并且其中(i)處理操作的所述第一子集和(ii)處理操作的所述第二子集兩者中的每個(gè)僅包含與轉(zhuǎn)發(fā)分組有關(guān)的一個(gè)或多個(gè)處理操作。16.根據(jù)權(quán)利要求11所述的方法,其中將所述第一比特集合和所述第二比特集合組合成所述經(jīng)組合的單個(gè)數(shù)據(jù)單元包括:僅在(i)所述第一分組的大小低于門限并且(ii)所述第二分組的大小低于所述門限的情況下組合所述第一比特集合和所述第二比特集合。17.根據(jù)權(quán)利要求11所述的方法,其中將所述第一比特集合和所述第二比特集合組合成所述經(jīng)組合的單個(gè)數(shù)據(jù)單元包括:僅在接收所述第一分組和接收所述第二分組之間的時(shí)間間隙低于門限的情況下組合所述第一比特集合和所述第二比特集合。18.一種網(wǎng)絡(luò)設(shè)備,包括: 多個(gè)端口; 分組處理設(shè)備,被配置成處理經(jīng)由至少一個(gè)端口所接收的分組;以及 描述符生成器,被配置成: 從在所述多個(gè)端口中的端口處接收的第一分組的首部中提取第一比特集合,所述第一分組將使用處理操作縮減集合來處理; 從在所述多個(gè)端口中的所述端口處接收的第二分組的首部中提取第二比特集合,所述第二分組將使用第二處理操作縮減集合來處理; 將所述第一比特集合和所述第二比特集合組合成表示所述第一分組和所述第二分組的經(jīng)組合的單個(gè)數(shù)據(jù)單元,以及 向所述分組處理設(shè)備傳送表示所述第一分組和所述第二分組的所述經(jīng)組合的單個(gè)數(shù)據(jù)單元; 其中所述分組處理設(shè)備被配置成: 分解所述單個(gè)數(shù)據(jù)單元以提取對應(yīng)于所述第一分組的所述第一比特集合和對應(yīng)于所述第二分組的所述第二比特集合, 執(zhí)行所述第一指令縮減集以使用對應(yīng)于所述第一分組的所述第一比特集合來處理所述第一分組,以及 執(zhí)行所述第二處理操作縮減集合以使用對應(yīng)于所述第二分組的所述第二比特集合來處理所述第二分組。19.根據(jù)權(quán)利要求18所述的網(wǎng)絡(luò)設(shè)備,其中所述分組處理設(shè)備還被配置成:在執(zhí)行所述第一處理操作縮減集合以處理所述第一分組并且執(zhí)行所述第二處理操作縮減集合以處理所述第二分組之后, 將對應(yīng)于所述第一分組的所述第一比特集合和對應(yīng)于所述第二分組的所述第二比特集合重新組合成表示經(jīng)處理的第一分組和經(jīng)處理的第二分組的單個(gè)數(shù)據(jù)單元,以及 向已處理分組緩沖器傳送表示所述經(jīng)處理的第一分組和所述經(jīng)處理的第二分組的所述單個(gè)數(shù)據(jù)單元。20.根據(jù)權(quán)利要求18所述的網(wǎng)絡(luò)設(shè)備,其中: 所述第一處理操作縮減集合包含所述網(wǎng)絡(luò)設(shè)備被配置來執(zhí)行處理分組的分組處理操作完全集合的第一子集,并且 所述第二處理操作縮減集合包含所述網(wǎng)絡(luò)設(shè)備被配置來執(zhí)行的所述分組處理操作完全集合的第二子集。21.根據(jù)權(quán)利要求20所述的網(wǎng)絡(luò)設(shè)備,其中所述處理操作的所述第一子集包含與所述第一處理操作子集相同的處理操作。22.根據(jù)權(quán)利要求21所述的網(wǎng)絡(luò)設(shè)備,所述處理操作完全集合包含(i)與轉(zhuǎn)發(fā)分組有關(guān)的一個(gè)或多個(gè)處理操作、以及(ii)與轉(zhuǎn)發(fā)分組無關(guān)的至少一個(gè)另外的處理操作,并且其中(i)處理操作的所述第一子集和(ii)處理操作的所述第二子集兩者中的每個(gè)僅包含與轉(zhuǎn)發(fā)分組有關(guān)的一個(gè)或多個(gè)處理操作。23.根據(jù)權(quán)利要求18所述的網(wǎng)絡(luò)設(shè)備,其中所述描述符生成器被配置成:僅在(i)所述第一分組的大小低于門限并且(ii)所述第二分組的大小低于所述門限的情況下將所述第一比特集合和所述第二比特集合組合成所述經(jīng)組合的單個(gè)數(shù)據(jù)單元。24.根據(jù)權(quán)利要求18所述的網(wǎng)絡(luò)設(shè)備,其中所述描述符生成器被配置成:僅在接收所述第一分組和接收所述第二分組之間的時(shí)間間隙低于門限的情況下將所述第一比特集合和所述第二比特集合組合成所述經(jīng)組合的單個(gè)數(shù)據(jù)單元。
【文檔編號(hào)】H04L12/741GK105993150SQ201480074766
【公開日】2016年10月5日
【申請日】2014年12月18日
【發(fā)明人】G·勒韋, A·羅伊施泰恩, R·澤馬赫
【申請人】馬維爾以色列(M.I.S.L.)有限公司