專利名稱:網(wǎng)絡(luò)處理加速器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種與面向大容量數(shù)據(jù)包的低延遲交換系統(tǒng)的路由器和轉(zhuǎn)換器等網(wǎng)絡(luò)裝置構(gòu)成方法有關(guān)的技術(shù)。另外,還涉及一種與在網(wǎng)絡(luò)裝置上實(shí)施數(shù)據(jù)包請(qǐng)求處理的網(wǎng)絡(luò)處理器數(shù)據(jù)包處理方式有關(guān)的技術(shù)。特別是涉及對(duì)網(wǎng)絡(luò)裝置上的IP(Internet Protocol)數(shù)據(jù)包以及MAC(Media Access Control)幀處理有效的技術(shù)。
背景技術(shù):
在通信領(lǐng)域,為了將多個(gè)網(wǎng)絡(luò)間加以連接,普遍使用路由器和轉(zhuǎn)換器等網(wǎng)絡(luò)裝置。網(wǎng)絡(luò)裝置用來(lái)查找所接收數(shù)據(jù)包的目標(biāo)地址,決定數(shù)據(jù)包的傳送目標(biāo),向指定的傳送目標(biāo)傳送數(shù)據(jù)包。世界上由網(wǎng)絡(luò)所收發(fā)的數(shù)據(jù)包總量不斷增大,網(wǎng)絡(luò)裝置的數(shù)據(jù)包傳送性能也需要隨著業(yè)務(wù)量的增大使之不斷提高。
圖2表示以往網(wǎng)絡(luò)裝置的結(jié)構(gòu)示例。在圖2中,網(wǎng)絡(luò)裝置具備輸入方網(wǎng)絡(luò)接口部12、輸入方網(wǎng)絡(luò)處理器15、輸入方網(wǎng)絡(luò)處理器用表存儲(chǔ)器16、輸入方轉(zhuǎn)換接線器接口14、轉(zhuǎn)換接線部40、輸出方網(wǎng)絡(luò)接口部22、輸出方網(wǎng)絡(luò)處理器25、輸出方網(wǎng)絡(luò)處理器用表存儲(chǔ)器26以及輸出方轉(zhuǎn)換接線器接口24等。在此,網(wǎng)絡(luò)處理器是指用于數(shù)據(jù)包傳送處理被專門化后的網(wǎng)絡(luò)裝置專用處理器。
輸入方網(wǎng)絡(luò)接口部12用來(lái)從網(wǎng)絡(luò)接收數(shù)據(jù)包,將所接收到的數(shù)據(jù)包在輸入方網(wǎng)絡(luò)處理器15中進(jìn)行處理。上述網(wǎng)絡(luò)處理器15參照表存儲(chǔ)器16中的路由選擇表,根據(jù)檢索結(jié)果從輸入方轉(zhuǎn)換接線器接口14向轉(zhuǎn)換接線器40的相應(yīng)端口傳送數(shù)據(jù)包。從轉(zhuǎn)換接線器40接收到數(shù)據(jù)包后的輸出方轉(zhuǎn)換接線器接口24,在輸出方網(wǎng)絡(luò)處理器25中實(shí)施QoS(Quality Of Service)控制等必要的數(shù)據(jù)包處理,從輸出方網(wǎng)絡(luò)接口部22向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)包。還存在使輸入方和輸出方成一體的網(wǎng)絡(luò)裝置。
為了決定數(shù)據(jù)包的傳送目標(biāo),需要檢索表存儲(chǔ)器內(nèi)所存儲(chǔ)的路由選擇表。一般情況下路由選擇表很大,路由選擇表的檢索處理是網(wǎng)絡(luò)裝置傳送數(shù)據(jù)包時(shí)成為瓶頸的處理。因而,已開發(fā)出各種使網(wǎng)絡(luò)處理器本身的動(dòng)作速度高速化所需的技術(shù),例如有,將實(shí)施數(shù)據(jù)包處理的內(nèi)置處理器多處理化、多線程體系結(jié)構(gòu)的采用以及將數(shù)據(jù)包處理VLIW化等的技術(shù)。
另一方面,還開發(fā)出采用加速器使網(wǎng)絡(luò)處理器動(dòng)作高速化的技術(shù),例如在特開平05-199230號(hào)公報(bào)(美國(guó)專利第5,434,863號(hào))以及特開2001-86149號(hào)公報(bào)中,闡述出輔助主處理器使路由選擇處理高速化的技術(shù)。另外,在特開2002-271363號(hào)公報(bào)以及特開2002-281072號(hào)公報(bào)中闡述出下述技術(shù),即采用加速器來(lái)進(jìn)行路由選擇表檢索以外的處理器處理(例如,IPsec、VPN、NAT以及無(wú)效數(shù)據(jù)包檢測(cè)等),減輕主處理器的負(fù)載,以此間接使路由選擇表檢索得以高速化。
專利文獻(xiàn)1特開平05-199230號(hào)公報(bào)專利文獻(xiàn)2特開2001-086149號(hào)公報(bào)專利文獻(xiàn)3特開2002-271363號(hào)公報(bào)專利文獻(xiàn)4
特開2002-281072號(hào)公報(bào)專利文獻(xiàn)5特愿2003-048730號(hào)公報(bào)采用下述以往的方法,難以開發(fā)與現(xiàn)實(shí)狀況業(yè)務(wù)量增加相適應(yīng)的網(wǎng)絡(luò)裝置,上述以往的方法通過(guò)使網(wǎng)絡(luò)處理器本身高速化,使網(wǎng)絡(luò)裝置的數(shù)據(jù)包處理速度實(shí)現(xiàn)高速化。原因是,網(wǎng)絡(luò)處理器的高速化導(dǎo)致網(wǎng)絡(luò)處理器的大型化,產(chǎn)生與消耗電力增加和散熱相伴的動(dòng)作不佳等問(wèn)題。
發(fā)明內(nèi)容
因此,本發(fā)明的第1課題在于,提供的數(shù)據(jù)包處理技術(shù),可以不招致處理器的增大化而使數(shù)據(jù)包處理速度得到提高。
另外,本發(fā)明的第2課題在于,解決隨著該新數(shù)據(jù)包處理技術(shù)所附帶產(chǎn)生的問(wèn)題的至少一個(gè)。
在既要避免網(wǎng)絡(luò)處理器的大型化又要使數(shù)據(jù)包傳送處理高速化的方面,被稱為進(jìn)程高速緩存的技術(shù)大有前途。在該技術(shù)中,記錄對(duì)接收數(shù)據(jù)包的處理結(jié)果所用的高速緩存器被設(shè)置于網(wǎng)絡(luò)處理器內(nèi)。進(jìn)程高速緩存器用來(lái)在裝入網(wǎng)絡(luò)處理器內(nèi)部的處理器中只對(duì)由網(wǎng)絡(luò)處理器最先處理的數(shù)據(jù)包進(jìn)行處理,記錄其處理結(jié)果,對(duì)以后判斷為相同的數(shù)據(jù)包將進(jìn)程高速緩存器中所記錄的結(jié)果使用于接收數(shù)據(jù)包。據(jù)此,減少網(wǎng)絡(luò)處理器中所內(nèi)置的內(nèi)置處理器上的處理,提高網(wǎng)絡(luò)處理器的數(shù)據(jù)包處理速度。
另一方面考慮到,由于采用進(jìn)程高速緩存這種結(jié)構(gòu)體系,因而附帶產(chǎn)生下面的課題。
1)在采用進(jìn)程高速緩存結(jié)構(gòu)體系的網(wǎng)絡(luò)處理器中,由內(nèi)置處理器來(lái)實(shí)施處理速度難以提高的數(shù)據(jù)包處理,剩余處理速度易于提高部分的處理則由網(wǎng)絡(luò)處理器后半部分的邏輯電路來(lái)實(shí)施。網(wǎng)絡(luò)裝置內(nèi)的數(shù)據(jù)包傳送處理被分成需要同時(shí)進(jìn)行外部存儲(chǔ)器參照的高級(jí)程序處理之處理也就是給網(wǎng)絡(luò)處理器的負(fù)載大的處理,以及處理器的負(fù)載比較小的處理。作為負(fù)載大的處理來(lái)說(shuō),有路由選擇表檢索、地址轉(zhuǎn)換表檢索及協(xié)議處理等。作為負(fù)載比較小的處理來(lái)說(shuō),有標(biāo)題信息的附加、刪除、替換及修改之類的位串操作處理等。
如果是向高速緩存器登錄過(guò)一次處理結(jié)果的數(shù)據(jù)包和目標(biāo)地址相同的數(shù)據(jù)包,則可以利用登錄內(nèi)容,來(lái)實(shí)現(xiàn)只是位串操作的高速處理,而未登錄的數(shù)據(jù)包必須由內(nèi)置處理器進(jìn)行處理速度難以提高部分的處理。因此,在頻繁出現(xiàn)大量未登錄數(shù)據(jù)包相繼到達(dá)的狀況的場(chǎng)合下,只是內(nèi)置處理器則數(shù)量不足,存在處理不完的可能性。
2)在網(wǎng)絡(luò)處理器的內(nèi)置處理器中,在從開始處理未登錄到處理結(jié)果記錄用高速緩存器中的數(shù)據(jù)包直至登錄到處理結(jié)果記錄用高速緩存器中為止的期間內(nèi),存在作為相同處理結(jié)果的數(shù)據(jù)包到達(dá)一個(gè)以上的可能性。此時(shí),由于到達(dá)的數(shù)據(jù)包尚未全部登錄到處理結(jié)果記錄用高速緩存器中,因而不能利用處理結(jié)果記錄用高速緩存器的登錄數(shù)據(jù)。
為了解決上述1)所記載的問(wèn)題,使用下述結(jié)構(gòu)的網(wǎng)絡(luò)裝置。也就是說(shuō),該網(wǎng)絡(luò)裝置具備網(wǎng)絡(luò)接口,用來(lái)對(duì)網(wǎng)絡(luò)接收或發(fā)送數(shù)據(jù)包;第1處理器,用來(lái)進(jìn)行將接收數(shù)據(jù)包傳送給下一個(gè)傳送目標(biāo)所需的處理;表存儲(chǔ)器,用來(lái)存儲(chǔ)在進(jìn)行該用于傳送的處理時(shí)所參照的表格;高速緩存器,用來(lái)存儲(chǔ)該第1處理器的處理結(jié)果;第2處理器,用來(lái)參照該高速緩存器對(duì)接收數(shù)據(jù)包進(jìn)行用于傳送的處理,對(duì)于進(jìn)行過(guò)上述高速緩存器中所存儲(chǔ)處理結(jié)果的數(shù)據(jù)包和目標(biāo)地址相同的接收數(shù)據(jù)包,參照上述高速緩存器中所存儲(chǔ)的處理結(jié)果,對(duì)該接收數(shù)據(jù)包使之進(jìn)行用于傳送的處理。
為了解決上述2)所示的問(wèn)題,設(shè)置高速緩存故障處理部來(lái)構(gòu)成網(wǎng)絡(luò)裝置或網(wǎng)絡(luò)處理加速器,以便在發(fā)生高速緩存故障的場(chǎng)合下,也可以在不向網(wǎng)絡(luò)處理器傳送數(shù)據(jù)包的狀況下進(jìn)行數(shù)據(jù)包的傳送處理。具體而言,其具備下述兩種裝置,一種用來(lái)管理向外部網(wǎng)絡(luò)處理器處理委托過(guò)程中的數(shù)據(jù)包,另一種用來(lái)從發(fā)生高速緩存故障的數(shù)據(jù)包識(shí)別與處理委托過(guò)程中的數(shù)據(jù)包相同處理結(jié)果被期待的接收數(shù)據(jù)包并加以管理,有關(guān)已向網(wǎng)絡(luò)處理器進(jìn)行處理委托的數(shù)據(jù)包,則等待來(lái)自網(wǎng)絡(luò)處理器的回答,進(jìn)行接收數(shù)據(jù)包的處理。據(jù)此,不用向網(wǎng)絡(luò)處理器新委托處理,就可以對(duì)發(fā)生高速緩存故障后的數(shù)據(jù)包進(jìn)行處理。
由于以本發(fā)明的網(wǎng)絡(luò)處理加速器作為網(wǎng)絡(luò)裝置的數(shù)據(jù)包處理部加以使用,因而可以實(shí)現(xiàn)數(shù)據(jù)包處理速度快的網(wǎng)絡(luò)裝置。
圖1是本發(fā)明實(shí)施方式1中采用網(wǎng)絡(luò)處理加速器和外置網(wǎng)絡(luò)處理器所構(gòu)成的網(wǎng)絡(luò)裝置框圖。
圖2是采用以往網(wǎng)絡(luò)處理器所構(gòu)成的網(wǎng)絡(luò)裝置框圖。
圖3是本發(fā)明實(shí)施方式1或4中網(wǎng)絡(luò)處理加速器內(nèi)部的框圖。
圖4是網(wǎng)絡(luò)處理加速器的數(shù)據(jù)包處理流程圖。
圖5是進(jìn)程(process)高速緩存部的邏輯圖。
圖6是進(jìn)程高速緩存器的數(shù)據(jù)結(jié)構(gòu)示例。
圖7是網(wǎng)絡(luò)處理加速器高速緩存故障處理部的框圖。
圖8是網(wǎng)絡(luò)處理加速器發(fā)生高速緩存故障后的數(shù)據(jù)包處理流程圖。
圖9表示的是以固定大小的隊(duì)列來(lái)管理網(wǎng)絡(luò)處理加速器高速緩存故障處理部的多重故障表。
圖10表示的是以連接表方式來(lái)管理網(wǎng)絡(luò)處理加速器高速緩存故障處理部的多重故障表。
圖11表示的是以CAM或者全相聯(lián)存儲(chǔ)器來(lái)管理網(wǎng)絡(luò)處理加速器高速緩存故障處理部的多重故障表。
圖12是網(wǎng)絡(luò)處理加速器發(fā)生高速緩存故障后的數(shù)據(jù)包處理流程圖。
圖13是本發(fā)明實(shí)施方式2中采用內(nèi)置有網(wǎng)絡(luò)處理器或者內(nèi)置處理器的網(wǎng)絡(luò)處理加速器并且不采用外置網(wǎng)絡(luò)處理器所構(gòu)成的網(wǎng)絡(luò)裝置框圖。
圖14是本發(fā)明實(shí)施方式3中采用內(nèi)置有網(wǎng)絡(luò)處理器或者內(nèi)置處理器的網(wǎng)絡(luò)處理加速器并且也采用外置網(wǎng)絡(luò)處理器所構(gòu)成的網(wǎng)絡(luò)裝置框圖。
圖15是本發(fā)明實(shí)施方式2或3中內(nèi)置有網(wǎng)絡(luò)處理器或內(nèi)置處理器的網(wǎng)絡(luò)處理加速器內(nèi)部框圖。
圖16是本發(fā)明實(shí)施方式4中在網(wǎng)絡(luò)處理加速器和外置網(wǎng)絡(luò)處理器之間采用一個(gè)以上的網(wǎng)絡(luò)處理加速器所構(gòu)成的網(wǎng)絡(luò)裝置框圖。
圖17是本發(fā)明實(shí)施方式5中在輸入方和輸出方共用網(wǎng)絡(luò)處理加速器并連接外置網(wǎng)絡(luò)處理器所構(gòu)成的網(wǎng)絡(luò)裝置框圖。
圖18是本發(fā)明實(shí)施方式5中使輸入方和輸出方共用的網(wǎng)絡(luò)處理加速器內(nèi)部框圖。
圖19是說(shuō)明本發(fā)明原理動(dòng)作所用的附圖。
具體實(shí)施例方式
下面,通過(guò)實(shí)施例來(lái)表示更為詳細(xì)的內(nèi)容。
(實(shí)施例1)在圖1中,表示本實(shí)施例的網(wǎng)絡(luò)裝置結(jié)構(gòu)示例。
網(wǎng)絡(luò)裝置包括網(wǎng)絡(luò)接口部12,用來(lái)從網(wǎng)絡(luò)收發(fā)數(shù)據(jù)包;輸入方轉(zhuǎn)換接線器接口14,用來(lái)將數(shù)據(jù)包發(fā)送到轉(zhuǎn)換接線器等;轉(zhuǎn)換接線器40,用來(lái)交換數(shù)據(jù)包;輸出方轉(zhuǎn)換接線器接口24,用來(lái)從轉(zhuǎn)換接線器等接收數(shù)據(jù)包;網(wǎng)絡(luò)處理加速器13,用來(lái)在輸入方實(shí)施數(shù)據(jù)包處理;網(wǎng)絡(luò)處理器15;表存儲(chǔ)器16,是上述網(wǎng)絡(luò)處理器15進(jìn)行參照所用的;網(wǎng)絡(luò)處理加速器23,用來(lái)在輸出方實(shí)施數(shù)據(jù)包處理;網(wǎng)絡(luò)處理器25;表存儲(chǔ)器26,是上述網(wǎng)絡(luò)處理器25進(jìn)行參照所用的;等。此外,還有到主處理器的接口等,用來(lái)按照網(wǎng)絡(luò)處理器和網(wǎng)絡(luò)處理加速器的請(qǐng)求實(shí)施處理。
下面,說(shuō)明圖1所示的網(wǎng)絡(luò)裝置中基本數(shù)據(jù)包處理的動(dòng)作。首先,在網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)接口部12上,從網(wǎng)絡(luò)接收光信號(hào)或電信號(hào),將其變換成網(wǎng)絡(luò)處理加速器13所支持的第2層的數(shù)據(jù)鏈路層幀和第3層的網(wǎng)路層數(shù)據(jù)包加以傳送。在圖1中,雖然只表示出一個(gè)網(wǎng)絡(luò),但是也可以對(duì)一個(gè)網(wǎng)絡(luò)接口部12連接多個(gè)網(wǎng)絡(luò)。
到達(dá)網(wǎng)絡(luò)處理加速器13后的數(shù)據(jù)包,需要進(jìn)行伴隨處理速度提高、外部存儲(chǔ)器的參照較困難的高級(jí)程序處理,例如路由表檢索、地址轉(zhuǎn)換表檢索以及協(xié)議處理等,同時(shí)還需要處理速度較為易于提高的位串操作處理,例如標(biāo)題信息的附加、刪除、替換及修改之類的處理。
網(wǎng)絡(luò)處理加速器13設(shè)置進(jìn)程高速緩存器,用來(lái)預(yù)先記錄上述處理速度難以提高的數(shù)據(jù)包處理結(jié)果。進(jìn)程高速緩存器具備高速緩存器和參照高速緩存器所需的各種裝置。詳細(xì)狀況將在下面予以說(shuō)明。從網(wǎng)絡(luò)接口部12所接收的數(shù)據(jù)包,若判定為可以利用進(jìn)程高速緩存器中所登錄的處理結(jié)果,則只由網(wǎng)絡(luò)處理加速器13來(lái)實(shí)施處理速度易于提高的剩余數(shù)據(jù)包處理,將其發(fā)送到輸入方轉(zhuǎn)換接線器接口14。網(wǎng)絡(luò)處理加速器13為了避免因外部連接存儲(chǔ)器參照的影響而使數(shù)據(jù)包處理速度低速化的狀況,而內(nèi)置對(duì)所接收到的數(shù)據(jù)包加以保持所用的數(shù)據(jù)包存儲(chǔ)器,但是作為任選件也有下述裝置,該裝置具有在外部和網(wǎng)絡(luò)處理加速器13高速進(jìn)行數(shù)據(jù)包收發(fā)的數(shù)據(jù)包存儲(chǔ)器。
網(wǎng)絡(luò)處理加速器13在從網(wǎng)絡(luò)接口部12接收到數(shù)據(jù)包,該數(shù)據(jù)包為處理速度難以提高部分的數(shù)據(jù)包處理結(jié)果未被登錄到進(jìn)程高速緩存器中的數(shù)據(jù)包的場(chǎng)合下,為了獲得上述處理速度難以提高部分的數(shù)據(jù)包處理結(jié)果,而向與外部連接的網(wǎng)絡(luò)處理器15傳送上述數(shù)據(jù)包。向網(wǎng)絡(luò)處理器15進(jìn)行傳送的數(shù)據(jù)包格式為,在網(wǎng)絡(luò)處理加速器13從網(wǎng)絡(luò)接口部12所接收的格式之前附加網(wǎng)絡(luò)處理加速器13在內(nèi)部利用的專用標(biāo)題。在上述專用標(biāo)題中,例如包含數(shù)據(jù)包的整理號(hào)和標(biāo)記等,以便在從網(wǎng)絡(luò)處理器15回復(fù)來(lái)處理結(jié)果時(shí),可以立刻判斷是哪個(gè)數(shù)據(jù)包的處理結(jié)果,該標(biāo)記表示準(zhǔn)備向網(wǎng)絡(luò)處理器15委托的處理內(nèi)容。
另外,將網(wǎng)絡(luò)處理加速器獲取數(shù)據(jù)包的接口部配線數(shù)設(shè)為NAin,將網(wǎng)絡(luò)處理器獲取數(shù)據(jù)包的接口部配線數(shù)設(shè)為NPin,并將上述網(wǎng)絡(luò)處理器發(fā)送數(shù)據(jù)包的接口部配線數(shù)設(shè)為NPout,此時(shí)NPin和NPout依賴于利用的網(wǎng)絡(luò)處理器。通常情況下,NPin=NPout的關(guān)系是成立的。另外,如果本實(shí)施例1的結(jié)構(gòu)是圖2所示的以往結(jié)構(gòu),則在配置網(wǎng)絡(luò)處理器的位置上配置網(wǎng)絡(luò)處理加速器,因此為了保證與以往結(jié)構(gòu)之間的配線數(shù)互換性其根本是設(shè)為NAin=NPin。但是,在網(wǎng)絡(luò)處理器所接收的數(shù)據(jù)包數(shù)與網(wǎng)絡(luò)處理加速器從網(wǎng)絡(luò)所接收的數(shù)據(jù)包數(shù)相比非常少的場(chǎng)合下,如同NPin與NPout之和成為NAin程度那樣,也就是說(shuō)還可以采用輸入輸出配線數(shù)少的網(wǎng)絡(luò)處理器,或者采用網(wǎng)絡(luò)處理加速器來(lái)構(gòu)成,該網(wǎng)絡(luò)處理加速器其網(wǎng)絡(luò)處理器的輸入輸出配線數(shù)總計(jì)與以往相同且NAin與以往比成為2倍。
另外,將網(wǎng)絡(luò)處理加速器獲取數(shù)據(jù)包的接口部帶寬設(shè)為BWAin,將網(wǎng)絡(luò)處理器獲取數(shù)據(jù)包的接口部帶寬設(shè)為BWPin,并將上述網(wǎng)絡(luò)處理器發(fā)送數(shù)據(jù)包的接口部帶寬設(shè)為BWPout,此時(shí)BWPin和BWPout依賴于利用的網(wǎng)絡(luò)處理器。通常情況下,BWPin=BWPout的關(guān)系是成立的。上述網(wǎng)絡(luò)處理加速器命中進(jìn)程高速緩存器的數(shù)據(jù)包不需要向上述網(wǎng)絡(luò)處理器委托處理,因此采用BWPin<BWAin的帶寬就足夠。
網(wǎng)絡(luò)處理器15若接收到數(shù)據(jù)包,則進(jìn)行必要處理之中的處理速度難以提高部分的處理。必要的處理具有下述方法,即參照上述網(wǎng)絡(luò)處理加速器13所附加的標(biāo)題加以進(jìn)行的方法,以及不管標(biāo)題的有無(wú)都按照網(wǎng)絡(luò)處理器15的程序加以進(jìn)行的方法。無(wú)論如何,網(wǎng)絡(luò)處理器15都進(jìn)行網(wǎng)絡(luò)處理加速器13不直接進(jìn)行的數(shù)據(jù)包處理。作為網(wǎng)絡(luò)處理加速器13不直接進(jìn)行的數(shù)據(jù)包處理,例如有參照表存儲(chǔ)器16中所存儲(chǔ)變換表的數(shù)據(jù)包路徑檢索(路由選擇表檢索)、從IPv4(Internet Protocol Version 4)地址向IPv6(Internet ProtocolVersion 6)地址的變換、從IPv6地址向IPv4地址的變換、從IPv4地址向其它IPv4地址的變換、從IPv6地址向其它IPv6地址的變換、MPLS(Multi Protocol Label Switching)和VLAN(Virtual LocalArea Network)等標(biāo)號(hào)的追加、交換、刪除等以及RIP(RoutingInformation Protocol)和OSPF(Open shortest Path First)等的協(xié)議處理等。在此,對(duì)進(jìn)行上述各種變換處理所用的變換表加以存儲(chǔ)的存儲(chǔ)器,很多情況下為每種變換表設(shè)置專用的表存儲(chǔ)器。例如,路由選擇表檢索用的表存儲(chǔ)器以及從IPv6地址向IPv4地址的變換表存儲(chǔ)器等。采用上述協(xié)議處理和其它處理在網(wǎng)絡(luò)處理器15中處理不完部分的數(shù)據(jù)包處理,通過(guò)PCI接口等網(wǎng)絡(luò)處理器15內(nèi)所裝的接口由主處理器進(jìn)行處理。不需要進(jìn)行網(wǎng)絡(luò)處理加速器作為功能所具有且數(shù)據(jù)包處理速度易于提高的標(biāo)題附加、刪除、替換及修改等處理。
網(wǎng)絡(luò)處理器15在作為任選件沒(méi)有內(nèi)置對(duì)從網(wǎng)絡(luò)處理加速器13所發(fā)送的數(shù)據(jù)包加以保持所用的數(shù)據(jù)包存儲(chǔ)器的場(chǎng)合,或者雖已內(nèi)置但數(shù)量少的場(chǎng)合下,也有時(shí)在外部具有數(shù)據(jù)包存儲(chǔ)器。
網(wǎng)絡(luò)處理器15在實(shí)施必要的數(shù)據(jù)包處理之后,將網(wǎng)絡(luò)處理加速器13所利用的專用標(biāo)題附加到處理結(jié)果中將其發(fā)送給網(wǎng)絡(luò)處理加速器13。在上述專用標(biāo)題中,包含從網(wǎng)絡(luò)處理加速器13傳送該數(shù)據(jù)包時(shí)的整理號(hào)以及處理結(jié)果的格式等。在上述處理結(jié)果的格式中,存在將已處理數(shù)據(jù)包的整體以及已處理數(shù)據(jù)包之中只是標(biāo)題部分向進(jìn)程高速緩存器進(jìn)行登錄的格式其本身等。無(wú)論哪一種格式,都可以通過(guò)網(wǎng)絡(luò)處理器的程序進(jìn)行修改。
網(wǎng)絡(luò)處理加速器13若從網(wǎng)絡(luò)處理器15接收到處理結(jié)果,則將上述處理結(jié)果登錄到進(jìn)程高速緩存器中,與此同時(shí)對(duì)相應(yīng)的數(shù)據(jù)包使用處理結(jié)果,實(shí)施標(biāo)題的附加、刪除、替換及修改等處理,此后附加轉(zhuǎn)換接線器40用的標(biāo)題向輸入方轉(zhuǎn)換接線器接口14發(fā)送已處理數(shù)據(jù)包。
到轉(zhuǎn)換接線器40的輸入方轉(zhuǎn)換接線器接口14將數(shù)據(jù)包發(fā)送到轉(zhuǎn)換接線器40,結(jié)束輸入方的數(shù)據(jù)包處理。
在轉(zhuǎn)換接線器40上連接有多個(gè)對(duì)來(lái)自網(wǎng)絡(luò)的輸入方數(shù)據(jù)包進(jìn)行處理的部分,該部分由網(wǎng)絡(luò)處理加速器13、網(wǎng)絡(luò)處理器15、表存儲(chǔ)器16以及轉(zhuǎn)換接線器接口14等構(gòu)成。另外,在轉(zhuǎn)換接線器40上連接有多個(gè)對(duì)發(fā)給網(wǎng)絡(luò)的輸出方數(shù)據(jù)包進(jìn)行處理的部分,該部分與來(lái)自上述網(wǎng)絡(luò)的輸入方數(shù)據(jù)包進(jìn)行處理的部分?jǐn)?shù)目相同。對(duì)發(fā)給上述網(wǎng)絡(luò)的輸出方數(shù)據(jù)包進(jìn)行處理的部分由網(wǎng)絡(luò)處理加速器23、網(wǎng)絡(luò)處理器25、表存儲(chǔ)器26以及轉(zhuǎn)換接線器接口24等構(gòu)成。在轉(zhuǎn)換接線器40中,參照所接收到數(shù)據(jù)包中附加的轉(zhuǎn)換接線器40用標(biāo)題,將其傳送到相應(yīng)的轉(zhuǎn)換接線器40的輸出端口。
在網(wǎng)絡(luò)裝置的輸出方從轉(zhuǎn)換接線器40,通過(guò)輸出方轉(zhuǎn)換接線器接口24來(lái)接收數(shù)據(jù)包。
在網(wǎng)絡(luò)裝置的輸出方,從轉(zhuǎn)換接線器接口24朝向網(wǎng)絡(luò)接口部12的方向?qū)嵤┡c上述網(wǎng)絡(luò)裝置的輸入方處理相同的處理,通過(guò)網(wǎng)絡(luò)接口部12將數(shù)據(jù)包或幀變換成光信號(hào)或電信號(hào)發(fā)送給網(wǎng)絡(luò)。
還有,雖然未圖示,但是本實(shí)施例的網(wǎng)絡(luò)處理加速器及網(wǎng)絡(luò)處理器具備向基片上安裝所用的配線用插頭,和構(gòu)成網(wǎng)絡(luò)裝置的其它設(shè)備相互通過(guò)與配線插頭連接的配線相連接。例如,在圖1的網(wǎng)絡(luò)處理加速器13向基片上安裝時(shí),多個(gè)配線用插頭施加到網(wǎng)絡(luò)處理加速器13上,多個(gè)配線插頭的一部分被分配到網(wǎng)絡(luò)接口部12、輸入方轉(zhuǎn)換接線器接口14以及網(wǎng)絡(luò)處理器15。這對(duì)于輸入方網(wǎng)絡(luò)處理器23和其它設(shè)備來(lái)說(shuō),也是相同的。
下面,有關(guān)網(wǎng)絡(luò)處理加速器的內(nèi)部結(jié)構(gòu)示例,予以詳細(xì)說(shuō)明。由于在輸入方和輸出方都可以利用同一個(gè)的網(wǎng)絡(luò)處理加速器,因而此處采用網(wǎng)絡(luò)處理加速器13進(jìn)行說(shuō)明。
在圖3中,表示圖1所示網(wǎng)絡(luò)處理加速器13的內(nèi)部結(jié)構(gòu)示例。網(wǎng)絡(luò)處理加速器13包括輸入接口101,用來(lái)從外部接收數(shù)據(jù)包將其變換成可在內(nèi)部處理的格式;數(shù)據(jù)包存儲(chǔ)器107,用來(lái)保持所接收到的數(shù)據(jù)包;數(shù)據(jù)包解析部102,用來(lái)進(jìn)行所接收到數(shù)據(jù)包的解析,只提取內(nèi)部處理所需要的信息;進(jìn)程高速緩存參照部103,用來(lái)按照由上述數(shù)據(jù)包解析部102所生成的提取信息參照進(jìn)程高速緩存器,根據(jù)其結(jié)果對(duì)數(shù)據(jù)包的處理路徑進(jìn)行變更;高速緩存故障處理部104,用來(lái)對(duì)沒(méi)有被登錄到進(jìn)程高速緩存器中的數(shù)據(jù)包進(jìn)行處理;后處理部105,用于通過(guò)位串操作來(lái)進(jìn)行數(shù)據(jù)包標(biāo)題的附加、刪除、替換、修改及數(shù)據(jù)包的再構(gòu)成;輸出接口部106,用來(lái)將已處理數(shù)據(jù)包輸出到網(wǎng)絡(luò)處理加速器13的外部;輸入輸出變換器108,用來(lái)變換向網(wǎng)絡(luò)處理器的輸入輸出格式,該網(wǎng)絡(luò)處理器與外部連接;等。此外,還有PCI等與主處理器之間的接口等。輸入輸出變換器108也兼作與外置的網(wǎng)絡(luò)處理器連接所用的接口功能。作為具備這種接口功能的優(yōu)點(diǎn),有可以對(duì)所連接的網(wǎng)絡(luò)處理器進(jìn)行交換。例如,在未登錄到進(jìn)程高速緩存器中的數(shù)據(jù)包相繼大量到達(dá)的狀況發(fā)生頻率有所增加等的場(chǎng)合下,可以通過(guò)將所連接的網(wǎng)絡(luò)處理器交換成處理速度快的設(shè)備,使之相適應(yīng)。在安裝上如同上面所說(shuō)明的那樣,是通過(guò)將加到芯片上的配線插頭一部分變成與網(wǎng)絡(luò)處理器之間的連接專用來(lái)實(shí)現(xiàn)的。
再者,也可以對(duì)一個(gè)網(wǎng)絡(luò)處理加速器通過(guò)接口來(lái)連接多個(gè)網(wǎng)絡(luò)處理器。這種場(chǎng)合下,在接口上使之具有轉(zhuǎn)換功能,以轉(zhuǎn)換一個(gè)加速器和多個(gè)網(wǎng)絡(luò)處理器之間的連接。作為連接的轉(zhuǎn)換方法,有每次接收數(shù)據(jù)包都依次轉(zhuǎn)換連接的方法。這種場(chǎng)合下,需要設(shè)置對(duì)數(shù)據(jù)包進(jìn)行計(jì)數(shù)所用的計(jì)數(shù)器。由于本方式可以簡(jiǎn)單實(shí)現(xiàn),因而在成本方面存在有利的優(yōu)點(diǎn)。
或者,也可以使轉(zhuǎn)換器具有負(fù)載分散功能。這種場(chǎng)合下,雖然存在提高所連接多個(gè)網(wǎng)絡(luò)處理器的動(dòng)作效率的優(yōu)點(diǎn),但是接口的功能變得復(fù)雜,因此在成本方面是不利的。
在圖4中表示,與圖3所示網(wǎng)絡(luò)處理加速器13的動(dòng)作有關(guān)的流程。
首先,利用輸入接口101,從外部以第2層或第3層的格式來(lái)接收數(shù)據(jù)包,將其變換成可在網(wǎng)絡(luò)處理加速器內(nèi)部處理的格式。(S101(圖4流程上的號(hào)碼))。
接著,將所接收到的數(shù)據(jù)包保持到配置于同一芯片上的大容量數(shù)據(jù)包存儲(chǔ)器107中,與此同時(shí)在數(shù)據(jù)包解析部102中掃描數(shù)據(jù)包,確定從第2層依次到必要層為止的標(biāo)題信息位置,提取必要部分(S102)。
為了高速進(jìn)行這種解析和提取,例如有這種方法,這就是使桶式移位器、屏蔽邏輯電路及比較器以流水線的方式組合加以實(shí)施的方法。由于幀和數(shù)據(jù)包標(biāo)題信息中所包含的各種字段采用整數(shù)字節(jié)的大小來(lái)構(gòu)成,因而如果移位和屏蔽能以字節(jié)為單位來(lái)實(shí)施就足夠。為了實(shí)際的提取,例如準(zhǔn)備32字節(jié)到64字節(jié)左右的提取用總線,在該總線上設(shè)置多個(gè)屏蔽邏輯電路和桶式移位裝置,具備對(duì)決定下一個(gè)提取部分所需的判定加以進(jìn)行的比較器,在最后部設(shè)置使提取信息結(jié)合所用的鎖存器。桶式移位裝置如果成為使1、2、4、8、16、32字節(jié)的移位邏輯電路組合后的裝置,則可以實(shí)現(xiàn)64字節(jié)以內(nèi)的自由移動(dòng)。屏蔽邏輯電路是為了直至特定的字節(jié)都加以屏蔽所使用的,以不在已提取部分上增加其以上的移位。
若使該提取用總線通過(guò)數(shù)據(jù)包,則上述屏蔽邏輯電路和桶式移位裝置的每一組,都可以在提取用總線寬度的范圍內(nèi)提取一部分。在數(shù)據(jù)包的標(biāo)題部分比提取用總線寬度大的場(chǎng)合下,可以按照提取用總線寬度來(lái)分割準(zhǔn)備進(jìn)行提取的數(shù)據(jù)包標(biāo)題長(zhǎng)度,實(shí)現(xiàn)所截取的整數(shù)部分之處的提取。例如,對(duì)于提取IPv4數(shù)據(jù)包的協(xié)議號(hào)、發(fā)送源IP地址及目標(biāo)IP地址的情形來(lái)說(shuō),由于發(fā)送源IP地址字段和目標(biāo)IP地址字段是連續(xù)的,只有協(xié)議號(hào)字段相隔,因而可以采用2組的屏蔽邏輯電路和桶式移位裝置進(jìn)行提取。雖然能夠有各種各樣的提取方式,但是只要有4到6組左右上述屏蔽邏輯電路和桶式移位裝置,則對(duì)提取就足夠。
作為任選件存在下述方法,即不從數(shù)據(jù)包解析結(jié)果來(lái)唯一決定移位量、屏蔽量,而在屏蔽邏輯電路、桶式移位裝置的附近設(shè)置對(duì)移位量、屏蔽量的模式進(jìn)行程序控制后的存儲(chǔ)器,根據(jù)數(shù)據(jù)包解析結(jié)果來(lái)參照該存儲(chǔ)器,以決定屏蔽量、桶式移位量。根據(jù)上面所述,從數(shù)據(jù)包的標(biāo)題信息提取必要的信息。
在此,圖5表示進(jìn)程高速緩存器的內(nèi)部結(jié)構(gòu)。在下面的說(shuō)明中,將從接收數(shù)據(jù)包的標(biāo)題信息所提取到的必要信息稱為提取信息的提取標(biāo)題712。另外,在此為了方便將通過(guò)數(shù)據(jù)包解析所得到的數(shù)據(jù)包類型、給數(shù)據(jù)包存儲(chǔ)器107的指針信息以及其它網(wǎng)絡(luò)處理加速器的內(nèi)部信息稱為內(nèi)部標(biāo)題711。在此為了方便將給上述提取標(biāo)題附加上述內(nèi)部標(biāo)題后的信息稱為權(quán)標(biāo)(token)713。
進(jìn)程高速緩存器由標(biāo)記部302、有效位部303、數(shù)據(jù)部304構(gòu)成,另外,在圖5中包含地址生成部301、比較器305及選擇部306的用虛線框住的區(qū)域相當(dāng)于所謂的高速緩存器和與高速緩存器相關(guān)的邏輯電路。標(biāo)記部302記錄有處理結(jié)果已登錄數(shù)據(jù)包權(quán)標(biāo)713的內(nèi)部標(biāo)題711一部分和提取標(biāo)題712的全部。有效位部303記錄有表示相關(guān)標(biāo)記部302的數(shù)據(jù)以及表示數(shù)據(jù)部304的數(shù)據(jù)有效·無(wú)效狀態(tài)的信息。數(shù)據(jù)部304用來(lái)對(duì)具有數(shù)據(jù)包處理結(jié)果信息的權(quán)標(biāo)加以記錄。
在圖6中表示出數(shù)據(jù)部304的結(jié)構(gòu)。數(shù)據(jù)部304各項(xiàng)目的格式不需要相同,而能夠放入各種各樣的數(shù)據(jù)模式。例如,某個(gè)項(xiàng)目可以在替換后作為內(nèi)部標(biāo)題包含目標(biāo)端口341及其它內(nèi)部標(biāo)題342,并在替換后作為提取標(biāo)題包含IPv4的目標(biāo)IP地址343、發(fā)送源IP地址344、QoS信息347、TCP目標(biāo)端口345及TCP發(fā)送源端口346,而某個(gè)項(xiàng)目也可以包含VLAN信息348及第7層信息349如URL(Uniform ResourceLocator)等。另外,某個(gè)項(xiàng)目也可以具有MPLS信息350、351,或者包含IPv6的目標(biāo)IP地址352及發(fā)送源IP地址353等。記錄于數(shù)據(jù)部304中的數(shù)據(jù)為替換權(quán)標(biāo)713的信息。
雖然根據(jù)權(quán)標(biāo)713的內(nèi)部標(biāo)題711一部分如第3層的協(xié)議類型等和提取標(biāo)題712的全部,由地址生成部301來(lái)參照進(jìn)程高速存儲(chǔ)器,但是提取標(biāo)題712例如除IPv4的發(fā)送源IP地址及目標(biāo)IP地址之外還包含各種各樣的信息,因此例如具有40字節(jié)到64字節(jié)左右的長(zhǎng)度。與該長(zhǎng)度相當(dāng)?shù)拇鎯?chǔ)器項(xiàng)目數(shù)成為2的320次方到512次方和不現(xiàn)實(shí)的巨大值,因此需要在由地址生成部301對(duì)提取標(biāo)題712進(jìn)行縮減之后,參照高速緩存器。
例如,將N設(shè)為1以上的整數(shù),將A設(shè)為0或1并且將進(jìn)程高速緩存器的項(xiàng)目數(shù)設(shè)為2的(2N+A)次方的項(xiàng)目,這種場(chǎng)合下可以利用下述三種方式等,一是從提取標(biāo)題712的發(fā)送源IP地址低位取出N位并從目標(biāo)IP地址的低位取出N+1位使之組合來(lái)生成地址,二是從目標(biāo)IP地址的低位取出(2N+A)位來(lái)生成地址,三是對(duì)于提取標(biāo)題712的整體利用CRC(Cyclic Redundancy Check)運(yùn)算的剩余項(xiàng)將提取標(biāo)題712縮減為2N+A位來(lái)生成地址。通過(guò)以上述任一種方法從權(quán)標(biāo)713所生成的地址,來(lái)訪問(wèn)進(jìn)程高速緩存器(S103),通過(guò)比較器305對(duì)從標(biāo)記部302得到的值和原來(lái)的權(quán)標(biāo)712進(jìn)行比較,如果相一致并且標(biāo)記為有效(有效位303的值為有效),則認(rèn)為在進(jìn)程高速緩存器中已登錄該數(shù)據(jù)包信息,如果上述比較為不一致或者標(biāo)記為無(wú)效(有效位303的值為無(wú)效),則認(rèn)為該數(shù)據(jù)包信息未登錄(S104)。
在圖5中,雖然進(jìn)程高速緩存器是作為對(duì)數(shù)據(jù)包唯一確定項(xiàng)目分配位置的直接映像方式來(lái)表示的,但是也存在對(duì)數(shù)據(jù)包使用n-way組關(guān)聯(lián)方式的方法,該組關(guān)聯(lián)方式用來(lái)將項(xiàng)目的分配位置作為n處加以確定。使用n-way組關(guān)聯(lián)方式的場(chǎng)合,是n處全部的分配處所已填滿的情形,在登錄新的數(shù)據(jù)包處理結(jié)果的場(chǎng)合下,為了選擇涂改的項(xiàng)目,而給予用來(lái)決定LRU(Least Reacently Used)位和FIFO(First InFirst Out)位等進(jìn)行重寫所需的項(xiàng)目之信息位,該LRU用來(lái)表示在進(jìn)程高速緩存器中最不被利用的項(xiàng)目,該FIFO用來(lái)表示最早的項(xiàng)目。
在已登錄該數(shù)據(jù)包信息也就是命中進(jìn)程高速緩存器的場(chǎng)合(從S104向YES方向分支)下,通過(guò)選擇部306替換成權(quán)標(biāo)723(S105),該權(quán)標(biāo)723除包含于權(quán)標(biāo)內(nèi)部標(biāo)題711中的整理號(hào)和給數(shù)據(jù)包存儲(chǔ)器的指針信息等各權(quán)標(biāo)原有信息之外,還包含內(nèi)部標(biāo)題721及包含了地址變換結(jié)果等的提取標(biāo)題722,該內(nèi)部標(biāo)題721包含已登錄到進(jìn)程高速緩存器中的目標(biāo)端口號(hào)等。
在命中進(jìn)程高速緩存器之后,由后處理部105根據(jù)包含于權(quán)標(biāo)內(nèi)部標(biāo)題中的數(shù)據(jù)包存儲(chǔ)器指針信息,從數(shù)據(jù)包存儲(chǔ)器107讀出原來(lái)的數(shù)據(jù)包,按照權(quán)標(biāo)的內(nèi)部標(biāo)題信息,將權(quán)標(biāo)的提取標(biāo)題信息使用于原來(lái)的數(shù)據(jù)包來(lái)重新組裝數(shù)據(jù)包(S106),按照權(quán)標(biāo)的內(nèi)部標(biāo)題信息,重寫數(shù)據(jù)包標(biāo)題的一部分(S107),通過(guò)輸出接口部106將變換成數(shù)據(jù)包輸出目標(biāo)格式后的數(shù)據(jù)包發(fā)送(S108)。
在進(jìn)程高速緩存器103中未登錄該數(shù)據(jù)包信息也就是進(jìn)程高速緩存器中發(fā)生故障的場(chǎng)合(從S104向NO方向分支)下,向高速緩存故障處理部104傳送權(quán)標(biāo)723,實(shí)施高速緩存故障處理(S110)。這種場(chǎng)合下,權(quán)標(biāo)723與訪問(wèn)到進(jìn)程高速緩存器之前的權(quán)標(biāo)713相同。
在圖7中,將有關(guān)圖3所示的高速緩存故障處理部104結(jié)構(gòu)的一個(gè)示例,予以說(shuō)明。采用圖8的流程圖,有關(guān)高速緩存故障處理部104的動(dòng)作,予以說(shuō)明。
高速緩存故障處理部104包括第一表格401(此處,為了方便稱為初始故障表initial-miss),用來(lái)管理向外部網(wǎng)絡(luò)處理器處理委托中的數(shù)據(jù)包;第二表格402(此處,為了方便稱為多重故障表denical-miss),用來(lái)在不向外部網(wǎng)絡(luò)處理器提出處理委托的狀況下,保持與上述初始故障表401中所管理的數(shù)據(jù)包相同處理結(jié)果被期待的數(shù)據(jù)包;輸出格式變換部403,用來(lái)給數(shù)據(jù)包附加整理號(hào)和表示處理委托內(nèi)容的標(biāo)記等專用標(biāo)題,將其變成使之向外部網(wǎng)絡(luò)處理器傳送的格式;第三表格404(此處,為了方便稱為處理信息表),用來(lái)接收數(shù)據(jù)包處理結(jié)果并加以管理;已處理權(quán)標(biāo)生成部405,用來(lái)將已處理的數(shù)據(jù)包信息使用于權(quán)標(biāo);等。
若接收到未向高速緩存器登錄處理結(jié)果的數(shù)據(jù)包,則圖3的網(wǎng)絡(luò)處理加速器開始圖4流程圖的步驟S110所示的高速緩存故障處理。首先,進(jìn)程高速緩存器103向高速緩存故障處理部104發(fā)送權(quán)標(biāo)。高速緩存故障處理部104若接收到權(quán)標(biāo),則參照初始故障表401,查驗(yàn)該權(quán)標(biāo)是否已登錄(圖8的S201)。
在該權(quán)標(biāo)已登錄到初始故障表401中的場(chǎng)合(從S201向NO方向分支)下,只將在多重故障表402中表示該權(quán)標(biāo)內(nèi)部標(biāo)題之內(nèi)各權(quán)標(biāo)所具有的整理號(hào)和原來(lái)的數(shù)據(jù)包信息所用的給數(shù)據(jù)包存儲(chǔ)器107的指針信息等原有信息,向多重故障表402進(jìn)行登錄,不向外部網(wǎng)絡(luò)處理器提出數(shù)據(jù)包處理委托,而暫時(shí)結(jié)束處理(S204)。
多重故障表402可以禁止將得出同一處理結(jié)果的數(shù)據(jù)包發(fā)送給外部網(wǎng)絡(luò)處理器,使施加到外部網(wǎng)絡(luò)處理器的負(fù)載減少。雖然多重故障表402被認(rèn)為有各種各樣的構(gòu)成方法,但是在本實(shí)施例中,對(duì)于有代表性的結(jié)構(gòu)示例在下面示例出3種左右。
在進(jìn)程高速緩存器中發(fā)生故障后的權(quán)標(biāo)未被登錄到初始故障表401的場(chǎng)合(從S201向NO方向分支)下,向初始故障表401登錄該權(quán)標(biāo)(S202)。然后,按照權(quán)標(biāo)的內(nèi)部標(biāo)題信息參照數(shù)據(jù)包存儲(chǔ)器107將原來(lái)的數(shù)據(jù)包取出,輸出格式變換部403附加標(biāo)題信息將其發(fā)送到輸入輸出變換器108,該標(biāo)題數(shù)據(jù)包含向與外部連接的網(wǎng)絡(luò)處理器委托處理所需的處理內(nèi)容和數(shù)據(jù)包的整理號(hào)等。輸入輸出變換器108將數(shù)據(jù)包變換成可從網(wǎng)絡(luò)處理加速器13輸出的MAC幀等第2層和IP數(shù)據(jù)包等第3層之類的格式,向與外部連接的網(wǎng)絡(luò)處理器委托處理(S203)。
有關(guān)與外部連接的網(wǎng)絡(luò)處理器的處理,如同上面在圖1所示的網(wǎng)絡(luò)裝置中所說(shuō)明的那樣。
在圖8中已說(shuō)明,從開始高速緩存故障動(dòng)作直至向外部網(wǎng)絡(luò)處理器委托數(shù)據(jù)包處理的步驟為止的動(dòng)作。因此,下面將有關(guān)從外部網(wǎng)絡(luò)處理器收到所委托的數(shù)據(jù)包處理結(jié)果之后的高速緩存故障處理部的動(dòng)作,采用圖12所示的流程圖予以說(shuō)明。
在圖12中表示出,網(wǎng)絡(luò)處理加速器在通過(guò)輸入輸出格式變換器108接收到來(lái)自外部網(wǎng)絡(luò)處理器的已處理數(shù)據(jù)包信息之后高速緩存故障處理部104中的處理步驟。
高速緩存故障處理部104查驗(yàn)所接收到的標(biāo)題信息(S301),如果所接收到的數(shù)據(jù)包為無(wú)效(在S301中向NO方向分支),則再次向外部網(wǎng)絡(luò)處理器提出同一數(shù)據(jù)包的處理委托(S310)。如果所接收到的數(shù)據(jù)包為有效(在S301中向YES方向分支),則將已處理數(shù)據(jù)包信息登錄到處理信息表404中,將對(duì)應(yīng)的信息登錄到進(jìn)程高速緩存器中(S303)。在進(jìn)程高速緩存器的構(gòu)成為直接映像方式的場(chǎng)合下,若在登錄項(xiàng)目中已加入有效項(xiàng)目,則按原狀態(tài)進(jìn)行重寫并登錄。在進(jìn)程高速緩存器的構(gòu)成為n-way組關(guān)聯(lián)方式的場(chǎng)合下,雖然向空白的way項(xiàng)目進(jìn)行登錄,但是在n-way的全部已填滿時(shí)決定原來(lái)登錄LRU等位信息的項(xiàng)目,在其項(xiàng)目上重寫該信息,該LRU用來(lái)確定應(yīng)重寫的位置。
另外,在與已處理數(shù)據(jù)包相當(dāng)?shù)某跏脊收媳?01的項(xiàng)目中使用處理結(jié)果,也就是說(shuō)實(shí)施權(quán)標(biāo)替換操作將其發(fā)送到后處理部104(S304),該權(quán)標(biāo)替換操作與在進(jìn)程高速緩存器103中命中的情況下所實(shí)施的相同。
再者,多重故障表402也進(jìn)行掃描以確認(rèn)該項(xiàng)目存在的有無(wú)(S305),如果找到該項(xiàng)目(向S305的NO方向分支),則在多重故障表402最初的該項(xiàng)目中與初始故障表401該項(xiàng)目的必要信息一起,實(shí)施與上述相同的權(quán)標(biāo)替換操作將其發(fā)送到后處理部104(S320),刪除多重故障表402的該項(xiàng)目(S321)。
此后,從多重故障表402直至該項(xiàng)目不存在為止反復(fù)進(jìn)行該S305、S320及S321的工作,若該項(xiàng)目已不存在(向S305的YES方向分支),則從初始故障表401刪除該項(xiàng)目,結(jié)束與該數(shù)據(jù)包有關(guān)的一系列高速緩存故障處理(S306)。
還有,作為一個(gè)結(jié)構(gòu)示例,初始故障表401也可以分別為每個(gè)項(xiàng)目具有一個(gè)超時(shí)計(jì)數(shù)器。若從向外部網(wǎng)絡(luò)處理器發(fā)送數(shù)據(jù)包開始超過(guò)預(yù)先所設(shè)定的閾值,則外部網(wǎng)絡(luò)處理器作為數(shù)據(jù)包丟失后的處理,再次將該數(shù)據(jù)包的處理委托給外部網(wǎng)絡(luò)處理器。
由于具備高速緩存故障處理部,因而可以減少向與外部連接的網(wǎng)絡(luò)處理器的無(wú)用處理委托。另外,由于在從上述網(wǎng)絡(luò)處理器收到處理結(jié)果之后,可以給相應(yīng)數(shù)據(jù)包的全部使用處理結(jié)果,因而可以在已登錄到進(jìn)程高速緩存器中也就是與命中進(jìn)程高速緩存器相同的狀態(tài)下,對(duì)在進(jìn)程高速緩存器中發(fā)生故障的數(shù)據(jù)包處理進(jìn)行處理。
在圖9、10及11中,表示3種圖7所示的多重故障表代表結(jié)構(gòu)示例。雖然不管采用哪種方法,直至為多重故障表402所準(zhǔn)備的可利用于該數(shù)據(jù)包(權(quán)標(biāo))的項(xiàng)目不存在為止,都能夠保持該權(quán)標(biāo),但是若將項(xiàng)目使用完,則此后到達(dá)的數(shù)據(jù)包(權(quán)標(biāo))被廢除。
圖9所示的多重故障表402是在將初始故障表401的項(xiàng)目數(shù)設(shè)為N時(shí)具有與N相等數(shù)目的隊(duì)列之結(jié)構(gòu)示例,在圖9中各隊(duì)列的長(zhǎng)度設(shè)為M。初始故障表401具有表示是否也在多重故障表402中保持高速緩存故障權(quán)標(biāo)的位。高速緩存故障處理部104對(duì)權(quán)標(biāo)進(jìn)行接收,若找到與初始故障表401相同的權(quán)標(biāo),則將其登錄到與初始故障表401項(xiàng)目對(duì)應(yīng)的多重故障表402隊(duì)列的空白項(xiàng)目中。在相應(yīng)的多重故障表402隊(duì)列中沒(méi)有空白項(xiàng)目的場(chǎng)合下,將與該權(quán)標(biāo)對(duì)應(yīng)的數(shù)據(jù)包廢除。
在處理信息表404中存在對(duì)應(yīng)權(quán)標(biāo)處理結(jié)果的場(chǎng)合下,給多重故障表402所對(duì)應(yīng)隊(duì)列的全部項(xiàng)目依次使用上述處理結(jié)果,從所使用的項(xiàng)目按順序打開多重故障表402的項(xiàng)目。
圖10所示的多重故障表402是以鏈接表方式所構(gòu)成的示例。在初始故障表401的各項(xiàng)目中,作為鏈接表具有標(biāo)題信息,表示一組項(xiàng)目在多重故障表402上的開始位置;尾部信息,表示結(jié)束位置。多重故障表402的項(xiàng)目具有鏈接信息,表示是否存在相同的權(quán)標(biāo)。雖然鏈接信息用來(lái)在最初登錄時(shí)預(yù)先寫下END這樣的表示在多重故障表402上不存在下一個(gè)相同權(quán)標(biāo)的狀態(tài)之信息,但是在下一個(gè)相同權(quán)標(biāo)到達(dá)時(shí),在最初項(xiàng)目的上述END部分上重寫下述指針信息,也重寫初始故障表401相當(dāng)項(xiàng)目的尾部信息將鏈接表不斷延長(zhǎng),上述指針信息表示登錄下一個(gè)相同權(quán)標(biāo)所用的多重故障表402上項(xiàng)目的尾部位置。再者,設(shè)置對(duì)全體·標(biāo)題信息和全體·尾部信息加以管理所用的全體·標(biāo)題·尾部管理表420,通過(guò)上述全體·標(biāo)題·尾部管理表420來(lái)掌握多重故障表402整體上的所利用項(xiàng)目起點(diǎn)位置和項(xiàng)目最末尾位置,該全體·標(biāo)題信息表示多重故障表402整體上的起點(diǎn),該全體·尾部信息表示最末尾。
在處理信息表404中存在對(duì)應(yīng)的權(quán)標(biāo)處理結(jié)果的場(chǎng)合下,搜尋對(duì)應(yīng)的初始故障表401項(xiàng)目號(hào)中所記錄的多重故障表402的連接信息,對(duì)相應(yīng)的項(xiàng)目權(quán)標(biāo)使用上述處理結(jié)果,從所使用的項(xiàng)目按順序打開多重故障表402的項(xiàng)目。在上述打開使多重故障表402整體上的項(xiàng)目起點(diǎn)位置及最末尾位置改變的場(chǎng)合下,也修改全體·標(biāo)題·尾部管理表420的全體·標(biāo)題信息和全體·尾部信息。
圖11所示的多重故障表402是由CAM或全相聯(lián)存儲(chǔ)器(fullyassociative memory)所構(gòu)成的示例。初始故障表401具有計(jì)數(shù)器,用來(lái)表示在多重故障表中保持有幾個(gè)高速緩存故障權(quán)標(biāo)。高速緩存故障處理部104對(duì)權(quán)標(biāo)進(jìn)行接收,若在初始故障表401中找到相同的權(quán)標(biāo),則選擇多重故障表402上的空白項(xiàng)目加以登錄,將上述計(jì)數(shù)器增加1。該項(xiàng)目的選擇對(duì)于初始故障表401的項(xiàng)目號(hào)和上述項(xiàng)目號(hào),是通過(guò)表示第幾個(gè)已到達(dá)多重故障表402的號(hào)碼的組合來(lái)決定的。由于多重故障表402是CAM或者全相聯(lián)存儲(chǔ)器,因而項(xiàng)目分配位置本身在CAM或全相聯(lián)存儲(chǔ)器總項(xiàng)目數(shù)之中自由決定。在CAM或全相聯(lián)存儲(chǔ)器中沒(méi)有空白項(xiàng)目的場(chǎng)合下,將與該權(quán)標(biāo)對(duì)應(yīng)的數(shù)據(jù)包廢除。
在處理信息表404中存在對(duì)應(yīng)權(quán)標(biāo)處理結(jié)果的場(chǎng)合下,對(duì)多重故障表402的項(xiàng)目使用上述處理結(jié)果,從所使用的項(xiàng)目按順序打開多重故障表402的項(xiàng)目,該多重故障表402的項(xiàng)目是對(duì)應(yīng)初始故障表401的項(xiàng)目號(hào)和整數(shù)K的組合所表示的。在此,上述整數(shù)K是從零到登錄于相當(dāng)初始故障表401項(xiàng)目中的計(jì)數(shù)器所示的值。
接著返回圖3,有關(guān)高速緩存故障處理部104的后部結(jié)構(gòu)、動(dòng)作,予以說(shuō)明。后處理部105具有權(quán)標(biāo)723,表示命中進(jìn)程高速緩存器103信息被替換;路徑,用來(lái)獲取權(quán)標(biāo)723,該權(quán)標(biāo)表示在進(jìn)程高速緩存器103中發(fā)生故障通過(guò)高速緩存故障處理部104由外部網(wǎng)絡(luò)處理器進(jìn)行處理并且已替換信息。
后處理部105根據(jù)所接收到權(quán)標(biāo)的內(nèi)部標(biāo)題信息,對(duì)數(shù)據(jù)包存儲(chǔ)器107進(jìn)行訪問(wèn),取出原來(lái)的數(shù)據(jù)包,按照權(quán)標(biāo)的內(nèi)部標(biāo)題信息使用權(quán)標(biāo)來(lái)替換提取標(biāo)題的內(nèi)容,進(jìn)行數(shù)據(jù)包的再構(gòu)成、標(biāo)題信息的附加、刪除、替換及修改等,例如IPv4的TTL(Time To Live)修改和HeaderChecksum計(jì)算等(返回圖4的流程,是S106)。后處理部105也與數(shù)據(jù)包解析部102相同需要高速性,因此使用與數(shù)據(jù)包解析部102相同使桶式移位裝置和屏蔽邏輯電路以流水線方式組合加以實(shí)施的方法。
最后,在輸出接口部106中,將數(shù)據(jù)包變換成可發(fā)送的格式加以輸出。此時(shí),如果在網(wǎng)絡(luò)處理加速器的前端連接著轉(zhuǎn)換接線器,則將轉(zhuǎn)換接線器用的標(biāo)題信息附加到數(shù)據(jù)包中。例如,雖然包含轉(zhuǎn)換接線器的端口號(hào),但是它包含于權(quán)標(biāo)中的內(nèi)部標(biāo)題內(nèi),因此可以對(duì)其進(jìn)行利用。如果連接著網(wǎng)絡(luò)接口,則變換成其網(wǎng)絡(luò)接口所支持的第2層或第3層的格式加以輸出。還有,在輸出目標(biāo)網(wǎng)絡(luò)接口具有多個(gè)出口的場(chǎng)合下,仍然利用權(quán)標(biāo)中的內(nèi)部標(biāo)題內(nèi)含有的端口號(hào)來(lái)決定出口的網(wǎng)絡(luò)接口(S107)。
上面,已說(shuō)明對(duì)根據(jù)本發(fā)明的網(wǎng)絡(luò)處理加速器加以利用的網(wǎng)絡(luò)裝置及網(wǎng)絡(luò)處理加速器其本身的一個(gè)實(shí)施例。本說(shuō)明歸根結(jié)底是一個(gè)實(shí)施例的說(shuō)明,并不用來(lái)限定本發(fā)明的范圍,而可以對(duì)各種各樣的異例加以使用。
實(shí)施例2作為實(shí)施例2在圖13中表示網(wǎng)絡(luò)裝置的結(jié)構(gòu)示例,該網(wǎng)絡(luò)裝置采用將處理器或者現(xiàn)有網(wǎng)絡(luò)處理器安裝到同一個(gè)芯片上的網(wǎng)絡(luò)處理加速器,不在外部連接網(wǎng)絡(luò)處理器。這種結(jié)構(gòu)的網(wǎng)絡(luò)處理加速器在圖3輸入輸出變換器的位置上裝載內(nèi)置處理器,或者在輸入輸出變換器前端的同一芯片內(nèi)裝載現(xiàn)有的網(wǎng)絡(luò)處理器。
雖然對(duì)于基本的數(shù)據(jù)包處理流程,與實(shí)施例1相同,但是在網(wǎng)絡(luò)處理加速器的進(jìn)程高速緩存器中發(fā)生高速緩存故障的數(shù)據(jù)包,通過(guò)裝載于網(wǎng)絡(luò)處理加速器中的內(nèi)置處理器或者網(wǎng)絡(luò)處理器,來(lái)進(jìn)行處理。有關(guān)高速緩存故障處理部的構(gòu)成,實(shí)施例1的方法可以按原樣使用。
向設(shè)置于外部的表存儲(chǔ)器16、26進(jìn)行訪問(wèn)的是,網(wǎng)絡(luò)處理加速器13、23所內(nèi)置的內(nèi)置處理器或者網(wǎng)絡(luò)處理器。
作為在實(shí)施例2的結(jié)構(gòu)上安裝處理器加以使用的優(yōu)點(diǎn),由于應(yīng)登錄到進(jìn)程高速緩存器的數(shù)據(jù)包處理也可以由同一芯片上的處理器部分來(lái)實(shí)施,因而可以將所處理的數(shù)據(jù)包發(fā)送給網(wǎng)絡(luò)處理加速器的外部網(wǎng)絡(luò)處理器,并且減少?gòu)耐獠烤W(wǎng)絡(luò)處理器進(jìn)行接收的內(nèi)務(wù)操作。作為在實(shí)施例2的結(jié)構(gòu)上安裝現(xiàn)有網(wǎng)絡(luò)處理器加以使用的優(yōu)點(diǎn),不需要設(shè)置與上述現(xiàn)有網(wǎng)絡(luò)處理器之間接口部分的輸入輸出插頭。
還有,作為在實(shí)施例2的結(jié)構(gòu)上安裝處理器或者現(xiàn)有網(wǎng)絡(luò)處理器加以使用的缺點(diǎn),需要將芯片面積也分配給上述處理器用。
實(shí)施例3作為實(shí)施例3,在圖14中表示網(wǎng)絡(luò)處理加速器的結(jié)構(gòu)示例,該網(wǎng)絡(luò)處理加速器采用內(nèi)置處理器或者安裝有內(nèi)置網(wǎng)絡(luò)處理器的網(wǎng)絡(luò)處理加速器,也在外部連接網(wǎng)絡(luò)處理器。在圖15中表示,在這種結(jié)構(gòu)的網(wǎng)絡(luò)裝置上所使用的網(wǎng)絡(luò)處理加速器的結(jié)構(gòu)示例。在與圖3的網(wǎng)絡(luò)處理加速器之間結(jié)構(gòu)上的較大差異是,具有內(nèi)置處理器120或內(nèi)置網(wǎng)絡(luò)處理器130,高速緩存處理部104在內(nèi)置處理器120和輸入輸出變換器108的雙方具有接口,并且輸入輸出變換器108具有向外部連接網(wǎng)絡(luò)處理器所用的接口和到芯片上所裝載網(wǎng)絡(luò)處理器130的接口。
雖然內(nèi)置處理器120和內(nèi)置網(wǎng)絡(luò)處理器130可以具有任一方,但是即便具有雙方也可以。
雖然對(duì)于基本的數(shù)據(jù)包處理流程,與實(shí)施例1相同,但是在網(wǎng)絡(luò)處理加速器的進(jìn)程高速緩存器中發(fā)生高速緩存故障的數(shù)據(jù)包,通過(guò)裝載于網(wǎng)絡(luò)處理加速器中的內(nèi)置處理器120或者網(wǎng)絡(luò)處理器130來(lái)進(jìn)行處理。在由這些處理器正進(jìn)行處理的過(guò)程中到達(dá)新的高速緩存故障數(shù)據(jù)包的場(chǎng)合下,通過(guò)輸入輸出變換器104向外部網(wǎng)絡(luò)處理器提出數(shù)據(jù)包處理委托。有關(guān)高速緩存故障處理部的構(gòu)成,實(shí)施例1的方法可以按原樣使用。
向設(shè)置于外部的表存儲(chǔ)器16、26進(jìn)行訪問(wèn)的是,網(wǎng)絡(luò)處理加速器13、23所內(nèi)置的內(nèi)置處理器或者網(wǎng)絡(luò)處理器,以及與外部連接的網(wǎng)絡(luò)處理器15、25。需要表存儲(chǔ)器16、26用的判優(yōu)程序,用來(lái)進(jìn)行控制以不使來(lái)自雙方的訪問(wèn)產(chǎn)生沖突。
作為在實(shí)施例3的結(jié)構(gòu)上安裝處理器加以使用的優(yōu)點(diǎn),由于在內(nèi)置處理器進(jìn)行處理的處理器數(shù)對(duì)于進(jìn)程高速緩存器中發(fā)生故障的數(shù)據(jù)包已足夠之時(shí),可以只在網(wǎng)絡(luò)處理加速器內(nèi)部實(shí)施全部的處理,因而能夠減少與芯片外部之間的數(shù)據(jù)包收發(fā)內(nèi)務(wù)操作,除此之外在內(nèi)置處理器的數(shù)據(jù)包處理速度不足時(shí),可以在外部擴(kuò)充追加網(wǎng)絡(luò)處理器以補(bǔ)充不足的部分。作為在實(shí)施例3的結(jié)構(gòu)上安裝現(xiàn)有網(wǎng)絡(luò)處理器加以使用的優(yōu)點(diǎn),列舉出可以不新設(shè)計(jì)內(nèi)部處理部這一點(diǎn)。
還有,作為實(shí)施例3的結(jié)構(gòu)上安裝處理器或者現(xiàn)有網(wǎng)絡(luò)處理器加以使用的缺點(diǎn),需要將芯片也分配給上述處理器用。另外,由于也需要與外部連接的和現(xiàn)有網(wǎng)絡(luò)處理器之間的接口,因而需要上述接口部分的面積及輸入輸出插頭。
實(shí)施例4作為實(shí)施例4在圖16中表示網(wǎng)絡(luò)裝置的結(jié)構(gòu)示例,該網(wǎng)絡(luò)裝置在網(wǎng)絡(luò)處理加速器13、23的輸入輸出變換器前端進(jìn)一步連接網(wǎng)絡(luò)處理加速器32、33的輸入接口部及輸出接口部,在網(wǎng)絡(luò)處理加速器32、33的輸入輸出變換器前端連接網(wǎng)絡(luò)處理器。在圖16中,雖然是2層網(wǎng)絡(luò)處理加速器的結(jié)構(gòu),但是可以在網(wǎng)絡(luò)處理加速器13(或23)和網(wǎng)絡(luò)處理加速器32(或33)之間進(jìn)一步連接網(wǎng)絡(luò)處理加速器,將其繼續(xù)分層構(gòu)成。在該結(jié)構(gòu)示例中所使用的網(wǎng)絡(luò)處理加速器如同實(shí)施例2、3那樣不需要在內(nèi)部裝安裝處理器,但是安裝也可以。
若在離外置網(wǎng)絡(luò)處理器最遠(yuǎn)且位于最上層的網(wǎng)絡(luò)處理加速器中發(fā)生高速緩存故障,則通過(guò)輸入輸出變換器給相當(dāng)于下層的芯片發(fā)送該數(shù)據(jù)包。在下層是網(wǎng)絡(luò)處理加速器的場(chǎng)合下,如果在此再次查到進(jìn)程高速緩存器并命中,則將其命中數(shù)據(jù)發(fā)送給上層的網(wǎng)絡(luò)處理加速器。如果發(fā)生故障,則直至到達(dá)網(wǎng)絡(luò)處理器為止反復(fù)向下層發(fā)送該數(shù)據(jù)包。
在最下層的網(wǎng)絡(luò)處理器中,與實(shí)施例1、2、3相同實(shí)施數(shù)據(jù)包處理,將結(jié)果發(fā)送給上層的網(wǎng)絡(luò)處理加速器。
表示向設(shè)置于中層的網(wǎng)絡(luò)處理加速器的進(jìn)程高速緩存器進(jìn)行登錄的示例。從下層發(fā)送來(lái)的數(shù)據(jù)包處理結(jié)果不向中層網(wǎng)絡(luò)處理加速器的進(jìn)程高速緩存器進(jìn)行登錄,而總是向最上層的進(jìn)程高速緩存器進(jìn)行登錄。在最上層的進(jìn)程高速緩存器中,在相當(dāng)?shù)捻?xiàng)目已滿時(shí),如果下層是網(wǎng)絡(luò)處理加速器,則選取該項(xiàng)目的一個(gè),將其項(xiàng)目的數(shù)據(jù)向下層的進(jìn)程高速緩存器驅(qū)趕,為最新的數(shù)據(jù)分配項(xiàng)目。再者,如果下層進(jìn)程高速緩存器的該項(xiàng)目已滿,不能登錄所驅(qū)趕的數(shù)據(jù),則再次選擇該項(xiàng)目的一個(gè),將其項(xiàng)目的數(shù)據(jù)向下層的進(jìn)程高速緩存器驅(qū)趕,為不從上層所驅(qū)趕來(lái)的數(shù)據(jù)而循環(huán)反復(fù)分配項(xiàng)目。如果下層是網(wǎng)絡(luò)處理器,則在網(wǎng)絡(luò)處理加速器的進(jìn)程高速緩存器中,只重寫該數(shù)據(jù)。
另外,設(shè)置于中層的網(wǎng)絡(luò)處理加速器后處理部,不需要最上層網(wǎng)絡(luò)處理加速器的后處理部那種發(fā)送數(shù)據(jù)包的再組裝工作。上層只能將下述標(biāo)題貼到向進(jìn)程高速緩存器進(jìn)行登錄格式的權(quán)標(biāo)上加以發(fā)送,上述標(biāo)題包含可識(shí)別的數(shù)據(jù)包整理號(hào)等。
作為實(shí)施例4結(jié)構(gòu)的優(yōu)點(diǎn)列舉出,可以按照所連接網(wǎng)絡(luò)處理加速器的數(shù)目增加進(jìn)程高速緩存器的總?cè)萘?,存?chǔ)大量的數(shù)據(jù)包處理結(jié)果。各網(wǎng)絡(luò)處理加速器的進(jìn)程高速緩存器可以看成在通常處理器中所說(shuō)的那種分層高速緩存器,即使在相當(dāng)于第一高速緩存器的最上位進(jìn)程高速緩存器中發(fā)生故障,如果通過(guò)相當(dāng)于第二高速緩存器的下一個(gè)網(wǎng)絡(luò)處理加速器的進(jìn)程高速緩存器予以命中,或者通過(guò)更下層次的進(jìn)程高速緩存器予以命中,則也可以不通過(guò)最下層的網(wǎng)絡(luò)處理器進(jìn)行數(shù)據(jù)包處理。
作為實(shí)施例4結(jié)構(gòu)的缺點(diǎn)列舉出,按照所連接網(wǎng)絡(luò)處理加速器的數(shù)目使網(wǎng)絡(luò)裝置的部件費(fèi)用升高。另外,實(shí)施例4將從最下層網(wǎng)絡(luò)處理加速器的進(jìn)程高速緩存器直至將該數(shù)據(jù)傳送到最上層為止的時(shí)間設(shè)為A,并且在最上層網(wǎng)絡(luò)處理加速器上直接連接網(wǎng)絡(luò)處理器,將從網(wǎng)絡(luò)處理器直至將該數(shù)據(jù)傳送到網(wǎng)絡(luò)處理加速器為止的時(shí)間設(shè)為B,此時(shí)只在A<B的范圍內(nèi)是有效的。
實(shí)施例5作為實(shí)施例5在圖17中表示網(wǎng)絡(luò)裝置的結(jié)構(gòu)示例,該網(wǎng)絡(luò)裝置裝載網(wǎng)絡(luò)處理加速器35,用來(lái)在單個(gè)芯片上對(duì)來(lái)自網(wǎng)絡(luò)的輸入方和輸出方數(shù)據(jù)包進(jìn)行處理。該網(wǎng)絡(luò)處理加速器35在同一芯片上具有輸入方和輸出方各自獨(dú)立的輸入接口151、161、數(shù)據(jù)包解析部152、162、進(jìn)程高速緩存部153、163、后處理部154、164、輸出接口155、165以及數(shù)據(jù)包存儲(chǔ)器156、166,但是由通用的高速緩存故障處理部140對(duì)在各自的進(jìn)程高速緩存部中發(fā)生故障的數(shù)據(jù)包(權(quán)標(biāo))進(jìn)行處理,通過(guò)通用的輸入輸出變換器141向外部網(wǎng)絡(luò)處理器15提出數(shù)據(jù)包處理委托。
在共用的高速緩存故障處理部140中除追加輸入方數(shù)據(jù)包和輸出方數(shù)據(jù)包的管理標(biāo)記之外,還進(jìn)行與實(shí)施例1所示網(wǎng)絡(luò)處理加速器的高速緩存故障處理部104相同的處理。
作為實(shí)施例5結(jié)構(gòu)的優(yōu)點(diǎn),可以使網(wǎng)絡(luò)裝置的部件件數(shù)減少。
還有,作為實(shí)施例5結(jié)構(gòu)的缺點(diǎn),由于網(wǎng)絡(luò)處理加速器對(duì)網(wǎng)絡(luò)具有輸入方和輸出方雙方的邏輯電路,因而與只具有哪一方邏輯電路的網(wǎng)絡(luò)處理加速器相比,容易減小芯片面積。
實(shí)施例6在圖19中表示,只使用一個(gè)網(wǎng)絡(luò)處理器和加速器來(lái)構(gòu)成網(wǎng)絡(luò)裝置的實(shí)施例。對(duì)于各個(gè)設(shè)備的結(jié)構(gòu)·動(dòng)作,與實(shí)施例1所說(shuō)明的相同。如同本實(shí)施例那樣,在原理上也可以使輸入方和輸出方合并來(lái)構(gòu)成網(wǎng)絡(luò)裝置。如同圖1所示的裝置那樣,雖然與在輸入方轉(zhuǎn)換接線器接口和輸出方轉(zhuǎn)換接線器接口上獨(dú)立設(shè)置加速器13和網(wǎng)絡(luò)處理器15的情形相比動(dòng)作變慢,但是因?yàn)榻Y(jié)構(gòu)變得簡(jiǎn)單,所以在制造成本方面是有利的。
也可以取代網(wǎng)絡(luò)處理器15而采用廣泛應(yīng)用的CPU在軟件方面實(shí)現(xiàn)數(shù)據(jù)包傳送處理。這種場(chǎng)合下,需要外部控制器,用來(lái)在CPU起動(dòng)時(shí)安裝數(shù)據(jù)包處理用的軟件。
還有,與實(shí)施例1相同,在基片上安裝加速器13、網(wǎng)絡(luò)處理器15及表存儲(chǔ)器16后各設(shè)備間的連接是通過(guò)各設(shè)備上所給予的配線插頭來(lái)進(jìn)行的。
產(chǎn)業(yè)上的可利用性對(duì)于進(jìn)程高速緩存器的命中(hit)率為90%來(lái)說(shuō),可以構(gòu)成具有下述峰值數(shù)據(jù)包處理速度的網(wǎng)絡(luò)裝置,該峰值數(shù)據(jù)包處理速度是與網(wǎng)絡(luò)處理加速器所連接網(wǎng)絡(luò)處理器的10倍。對(duì)于進(jìn)程高速緩存器的命中率為50%來(lái)說(shuō),也獲得網(wǎng)絡(luò)處理器2倍的峰值數(shù)據(jù)包處理速度。此時(shí),網(wǎng)絡(luò)處理加速器需要以這種速度來(lái)進(jìn)行位串操作的能力,該速度與比網(wǎng)絡(luò)處理器高速的速率相應(yīng),但是一般情況下如果只是位串操作則不需要復(fù)雜的程序處理,因此可以通過(guò)硬件來(lái)實(shí)現(xiàn)。
本發(fā)明的網(wǎng)絡(luò)處理加速器可以輔助性地采用以往的高級(jí)網(wǎng)絡(luò)處理器,來(lái)構(gòu)成超過(guò)上述高級(jí)網(wǎng)絡(luò)處理器數(shù)據(jù)包處理速度的高速網(wǎng)絡(luò)裝置。另外,可以輔助性地采用低級(jí)的網(wǎng)絡(luò)處理器,來(lái)構(gòu)成相當(dāng)于中級(jí)的網(wǎng)絡(luò)裝置使之價(jià)格低廉。
權(quán)利要求
1.一種網(wǎng)絡(luò)裝置,其特征為具有網(wǎng)絡(luò)接口,用來(lái)對(duì)網(wǎng)絡(luò)接收或發(fā)送數(shù)據(jù)包;網(wǎng)絡(luò)處理器,用來(lái)進(jìn)行將接收的數(shù)據(jù)包傳送給下一個(gè)傳送目標(biāo)所需的處理;表存儲(chǔ)器,對(duì)用于該傳送的處理時(shí)被參照的表格進(jìn)行存儲(chǔ);高速緩存器,存儲(chǔ)上述網(wǎng)絡(luò)處理器的處理結(jié)果;網(wǎng)絡(luò)處理加速器,參照該高速緩存器,對(duì)接收的數(shù)據(jù)包進(jìn)行用于傳送的處理,對(duì)于與上述網(wǎng)絡(luò)處理器已處理的接收數(shù)據(jù)包和目標(biāo)地址相同的接收數(shù)據(jù)包,通過(guò)上述網(wǎng)絡(luò)處理加速器來(lái)進(jìn)行用于傳送的處理。
2.一種網(wǎng)絡(luò)裝置,其特征為具有網(wǎng)絡(luò)接口,用來(lái)對(duì)網(wǎng)絡(luò)接收或發(fā)送數(shù)據(jù)包;第1處理器,用來(lái)進(jìn)行將接收數(shù)據(jù)包傳送給下一個(gè)傳送目標(biāo)所需的處理;表存儲(chǔ)器,對(duì)用于該傳送的處理時(shí)被參照的表格進(jìn)行存儲(chǔ);高速緩存器,用來(lái)存儲(chǔ)該第1處理器的處理結(jié)果;第2處理器,用來(lái)參照該高速緩存器對(duì)接收數(shù)據(jù)包進(jìn)行用于傳送的處理,對(duì)于與進(jìn)行了上述高速緩存器中存儲(chǔ)的處理結(jié)果的數(shù)據(jù)包和目標(biāo)地址相同的接收數(shù)據(jù)包,參照上述高速緩存器中存儲(chǔ)的處理結(jié)果,對(duì)該接收數(shù)據(jù)包進(jìn)行用于傳送的處理。
3.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為進(jìn)一步具有第1網(wǎng)絡(luò)處理加速器,內(nèi)置有第1高速緩存器;第2網(wǎng)絡(luò)處理加速器,內(nèi)置有第2高速緩存器;第1網(wǎng)絡(luò)處理器,與上述第1網(wǎng)絡(luò)處理加速器連接;第2網(wǎng)絡(luò)處理器,與上述第2網(wǎng)絡(luò)處理加速器連接;轉(zhuǎn)換接線器;與該轉(zhuǎn)換接線器連接的輸入方轉(zhuǎn)換接線器接口和輸出方轉(zhuǎn)換接線器接口;上述第1網(wǎng)絡(luò)處理加速器配置于上述網(wǎng)絡(luò)接口和上述輸入方轉(zhuǎn)換接線器接口之間,并且上述第2網(wǎng)絡(luò)處理加速器配置于上述網(wǎng)絡(luò)接口和上述輸出方轉(zhuǎn)換接線器接口之間。
4.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為上述網(wǎng)絡(luò)處理器內(nèi)置于上述網(wǎng)絡(luò)處理加速器中。
5.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為上述網(wǎng)絡(luò)處理器內(nèi)置上述表存儲(chǔ)器。
6.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為在上述網(wǎng)絡(luò)處理器和上述網(wǎng)絡(luò)處理加速器之間,連接有多個(gè)不同的網(wǎng)絡(luò)處理加速器。
7.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為具有網(wǎng)絡(luò)處理加速器,內(nèi)置高速緩存器;網(wǎng)絡(luò)處理器,與該加速器連接;轉(zhuǎn)換接線器;輸入方轉(zhuǎn)換接線器接口和輸出方轉(zhuǎn)換接線器接口,與該轉(zhuǎn)換接線器連接,在該輸入方轉(zhuǎn)換接線器接口和輸出方轉(zhuǎn)換接線器接口之間,共用上述網(wǎng)絡(luò)處理加速器。
8.根據(jù)權(quán)利要求3記載的網(wǎng)絡(luò)裝置,其特征為由同一個(gè)網(wǎng)絡(luò)處理加速器來(lái)構(gòu)成上述第1網(wǎng)絡(luò)處理加速器和上述第2網(wǎng)絡(luò)處理加速器,由同一個(gè)網(wǎng)絡(luò)處理器來(lái)構(gòu)成上述第1網(wǎng)絡(luò)處理器和上述第2網(wǎng)絡(luò)處理器。
9.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為進(jìn)一步具有多個(gè)網(wǎng)絡(luò)處理器,具有接口部,用來(lái)轉(zhuǎn)換該多個(gè)網(wǎng)絡(luò)處理器和上述網(wǎng)絡(luò)處理加速器之間的連接。
10.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為具有數(shù)據(jù)包存儲(chǔ)器,外加在上述網(wǎng)絡(luò)處理加速器或上述網(wǎng)絡(luò)處理器上,用來(lái)暫時(shí)存儲(chǔ)接收數(shù)據(jù)包。
11.根據(jù)權(quán)利要求10記載的網(wǎng)絡(luò)裝置,其特征為在上述網(wǎng)絡(luò)處理加速器和上述網(wǎng)絡(luò)處理器中獨(dú)立地具備上述外置的數(shù)據(jù)包存儲(chǔ)器。
12.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為在上述網(wǎng)絡(luò)處理加速器的獲取數(shù)據(jù)包的接口部的配線數(shù)NAin、上述網(wǎng)絡(luò)處理器的獲取數(shù)據(jù)包的接口部的配線數(shù)Npin、以及上述網(wǎng)絡(luò)處理器的發(fā)送數(shù)據(jù)包的接口部的配線數(shù)NPout之間,NPin+NPout>NAin的關(guān)系成立。
13.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為在上述網(wǎng)絡(luò)處理加速器的獲取數(shù)據(jù)包的接口部的配線數(shù)NAin、上述網(wǎng)絡(luò)處理器的獲取數(shù)據(jù)包的接口部的配線數(shù)NPin以及上述網(wǎng)絡(luò)處理器的發(fā)送數(shù)據(jù)包的接口部的配線數(shù)NPout之間,NPin=NPout的關(guān)系成立。
14.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為在上述網(wǎng)絡(luò)處理器獲取數(shù)據(jù)包的接口部的配線數(shù)NPin和上述網(wǎng)絡(luò)處理器的發(fā)送數(shù)據(jù)包的接口部配線數(shù)NPout之間,NPin+NPout=NAin的關(guān)系成立。
15.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為在上述網(wǎng)絡(luò)處理加速器的獲取數(shù)據(jù)包的接口部帶寬BWAin和上述網(wǎng)絡(luò)處理器的獲取數(shù)據(jù)包的接口部帶寬BWPin之間,BWPin<BWAin的關(guān)系成立。
16.根據(jù)權(quán)利要求1記載的網(wǎng)絡(luò)裝置,其特征為在上述網(wǎng)絡(luò)處理器的獲取數(shù)據(jù)包的接口部帶寬BWPin和上述網(wǎng)絡(luò)處理器的發(fā)送數(shù)據(jù)包的接口部帶寬BWPout之間,BWPin=BWPout的關(guān)系成立。
17.一種網(wǎng)絡(luò)處理加速器,其特征為具有輸入接口部,用來(lái)接收數(shù)據(jù)包;數(shù)據(jù)包存儲(chǔ)器,用來(lái)暫時(shí)保持接收數(shù)據(jù)包;數(shù)據(jù)包解析部,用來(lái)從接收數(shù)據(jù)包截取必要的部分,作為提取信息;高速緩存器,用來(lái)存儲(chǔ)接收數(shù)據(jù)包傳送處理所需要的處理結(jié)果;判斷裝置,參照該高速緩存器來(lái)判定是否存在應(yīng)對(duì)接收數(shù)據(jù)包使用的處理結(jié)果;輸出接口部,用來(lái)發(fā)送V數(shù)據(jù)包。
18.根據(jù)權(quán)利要求17記載的網(wǎng)絡(luò)處理加速器,其特征為具備處理裝置,用來(lái)在應(yīng)對(duì)接收數(shù)據(jù)包執(zhí)行的處理結(jié)果不存在于上述高速緩存器中的發(fā)生了高速緩存故障的場(chǎng)合下,對(duì)該高速緩存故障進(jìn)行處理;NP用接口,用來(lái)與網(wǎng)絡(luò)處理器連接。
19.根據(jù)權(quán)利要求18記載的網(wǎng)絡(luò)處理加速器,其特征為對(duì)上述高速緩存故障進(jìn)行處理的裝置,具有內(nèi)置處理器,用來(lái)進(jìn)行上述接收數(shù)據(jù)包的傳送處理;接口,是該內(nèi)置處理器參照傳送處理所需要的路由選擇表所用的。
20.根據(jù)權(quán)利要求19記載的網(wǎng)絡(luò)處理加速器,其特征為在上述內(nèi)置處理器不能進(jìn)行上述接收數(shù)據(jù)包的傳送處理的場(chǎng)合下,將該接收數(shù)據(jù)包傳送到上述NP用接口。
21.根據(jù)權(quán)利要求19記載的網(wǎng)絡(luò)處理加速器,其特征為內(nèi)置了網(wǎng)絡(luò)處理器。
22.根據(jù)權(quán)利要求18記載的網(wǎng)絡(luò)處理加速器,其特征為共用對(duì)上述高速緩存故障加以處理所用的裝置,此外的上述數(shù)據(jù)包解析裝置、上述高速緩存器相關(guān)裝置以及上述發(fā)送數(shù)據(jù)包生成裝置等由輸入方和輸出方獨(dú)立地具有。
23.一種網(wǎng)絡(luò)處理器,具有對(duì)數(shù)據(jù)包處理結(jié)果進(jìn)行高速緩存的裝置,其特征為在這種網(wǎng)絡(luò)處理器等中,具有第一表格,用來(lái)在上述高速緩存器中不存在相應(yīng)信息時(shí)對(duì)數(shù)據(jù)包加以管理;第二表格,用來(lái)在上述高速緩存器中不存在相應(yīng)信息的狀況下,對(duì)被期待與上述第一表格中所登錄的數(shù)據(jù)包相同處理結(jié)果的第二個(gè)以后的數(shù)據(jù)包加以管理,準(zhǔn)備只與管理高速緩存故障數(shù)據(jù)包的上述第一表格的項(xiàng)目數(shù)目相同數(shù)目的上述第二表格,各自的上述第二表格的項(xiàng)目數(shù)目全部為一定的相同值。
24.一種網(wǎng)絡(luò)處理器,具有對(duì)數(shù)據(jù)包處理結(jié)果進(jìn)行高速緩存的裝置,其特征為在這種網(wǎng)絡(luò)處理器等中,具有第一表格,用來(lái)在上述高速緩存器中不存在相應(yīng)信息時(shí)對(duì)數(shù)據(jù)包加以管理;第二表格,用來(lái)在上述高速緩存器中不存在相應(yīng)信息的狀況下,對(duì)被期待與上述第一表格中所登錄數(shù)據(jù)包相同處理結(jié)果的第二個(gè)以后的數(shù)據(jù)包加以管理,以鏈接表方式來(lái)管理上述第二表格。
25.一種網(wǎng)絡(luò)處理器,具有對(duì)數(shù)據(jù)包處理結(jié)果進(jìn)行高速緩存的裝置,其特征為在這種網(wǎng)絡(luò)處理器等中,具有第一表格,用來(lái)在上述高速緩存器中不存在相應(yīng)信息時(shí)對(duì)數(shù)據(jù)包加以管理;第二表格,用來(lái)在上述高速緩存器中不存在相應(yīng)信息的狀況下,對(duì)被期待與上述第一表格中所登錄數(shù)據(jù)包相同處理結(jié)果的第二個(gè)以后的數(shù)據(jù)包加以管理,利用CAM(Content Addressable Memory)或者全相聯(lián)存儲(chǔ)器來(lái)管理上述第二表格。
26.一種網(wǎng)絡(luò)處理加速器,其特征為具有接口部,用來(lái)接收數(shù)據(jù)包;數(shù)據(jù)包存儲(chǔ)器,用來(lái)暫時(shí)保持接收數(shù)據(jù)包;數(shù)據(jù)包解析部,用來(lái)從接收數(shù)據(jù)包截取必要的部分將其作為提取信息;高速緩存器,用來(lái)存儲(chǔ)接收數(shù)據(jù)包傳送處理所需要的處理結(jié)果;地址生成裝置,用來(lái)按照上述提取信息參照上述高速緩存器;判斷裝置,用來(lái)判定按照上述提取信息參照上述高速緩存器后的結(jié)果,在高速緩存器中是否存在相應(yīng)信息;再構(gòu)筑裝置,用來(lái)在上述高速緩存器中存在相應(yīng)信息時(shí),按照上述該信息來(lái)重新構(gòu)筑數(shù)據(jù)包;第一表格,用來(lái)在上述高速緩存器中不存在相應(yīng)信息時(shí)對(duì)數(shù)據(jù)包加以管理;第二表格,用來(lái)在上述高速緩存器中不存在相應(yīng)信息的狀況下,對(duì)被期待與上述第一表格中所登錄數(shù)據(jù)包相同處理結(jié)果的第二個(gè)以后的數(shù)據(jù)包加以管理;接口部,用來(lái)向外部網(wǎng)絡(luò)處理器發(fā)送數(shù)據(jù)包和必要的信息,該外部網(wǎng)絡(luò)處理器用來(lái)以程控的方式實(shí)施上述第一表格中所登錄的高速緩存故障數(shù)據(jù)包的處理;接口部,用來(lái)從上述外部網(wǎng)絡(luò)處理器接收已處理數(shù)據(jù)包和追加信息;登錄裝置,用來(lái)將上述已處理數(shù)據(jù)包和處理結(jié)果信息登錄到上述高速緩存器;對(duì)上述第二表格中所登錄的該數(shù)據(jù)包使用上述處理結(jié)果的裝置;打開已處理的上述第一表格及第二表格的項(xiàng)目的裝置;根據(jù)上述已處理數(shù)據(jù)包或上述處理結(jié)果信息生成發(fā)送數(shù)據(jù)包的裝置;接口部,用來(lái)傳送已處理的數(shù)據(jù)包。
全文摘要
本發(fā)明提供一種網(wǎng)絡(luò)裝置,可以不招致處理器的增大化而使數(shù)據(jù)包處理速度得到提高。具有網(wǎng)絡(luò)接口,用來(lái)對(duì)網(wǎng)絡(luò)接收或發(fā)送數(shù)據(jù)包;網(wǎng)絡(luò)處理器,用來(lái)進(jìn)行將接收的數(shù)據(jù)包傳送給下一個(gè)傳送目標(biāo)所需的處理;表存儲(chǔ)器,對(duì)用于該傳送的處理時(shí)被參照的表格進(jìn)行存儲(chǔ);高速緩存器,存儲(chǔ)上述網(wǎng)絡(luò)處理器的處理結(jié)果;網(wǎng)絡(luò)處理加速器,參照該高速緩存器,對(duì)接收的數(shù)據(jù)包進(jìn)行用于傳送的處理,對(duì)于與上述網(wǎng)絡(luò)處理器已處理的接收數(shù)據(jù)包和目標(biāo)地址相同的接收數(shù)據(jù)包,通過(guò)上述網(wǎng)絡(luò)處理加速器來(lái)進(jìn)行用于傳送的處理。
文檔編號(hào)G11C15/00GK1606291SQ20041008350
公開日2005年4月13日 申請(qǐng)日期2004年10月8日 優(yōu)先權(quán)日2003年10月6日
發(fā)明者奧野通貴 申請(qǐng)人:株式會(huì)社日立制作所