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

分組識別裝置和分組識別方法

文檔序號:7871403閱讀:382來源:國知局
專利名稱:分組識別裝置和分組識別方法
技術領域
本發(fā)明涉及一種用于識別分組內(nèi)容的分組識別裝置和分組識別方法,更具體地,涉及通過與預先記錄的數(shù)據(jù)進行比較來識別分組的分組識別裝置和分組識別方法。
背景技術
作為對通過IP(互聯(lián)網(wǎng)協(xié)議)網(wǎng)絡傳送的分組進行處理的基本功能,傳統(tǒng)上已知一種基于IP地址、TCP(傳輸控制協(xié)議)端口號等來識別各個分組的功能。例如,在使用路由器對分組進行路由時,基于目的IP地址確定下一個傳送目的地的接口。另外,在NAT(網(wǎng)絡地址轉換)的情況下,路由器基于目的和源IP地址以及目的和源TCP端口號來執(zhí)行IP地址和端口號的轉換。
此外,當VPN(虛擬專用網(wǎng))裝置對加密分組進行解密時,VPN裝置的分組識別裝置將預先記錄的信息(在下文中稱為查找表)與當前正在處理的分組的內(nèi)容進行比較。
圖20表示傳統(tǒng)查找表的數(shù)據(jù)結構的示例。在查找表910中,記錄有SA ID、Src IP地址、Dst IP地址以及SPI(安全參數(shù)索引)。應該注意,SA ID表示SA(安全關聯(lián))的標識符,Src IP地址表示源IP地址,而Dst IP地址表示目的IP地址。
分組識別裝置在如上構造的查找表910中的記錄與包含在分組中的要進行比較的多條信息的集合(目的IP地址、源IP地址和SPI)之間進行比較,并且基于與該信息相匹配的記錄的SA ID來識別出SA。VPN裝置基于該SA來選擇合適的密鑰并執(zhí)行解密。
圖21是傳統(tǒng)的分組識別處理的流程圖。下面,按照步驟編號順序來描述圖21所示的處理。
分組識別裝置將變量i設置為0。
分組識別裝置確定查找表910中的第i條記錄是否有效。如果第i條記錄有效,則處理進行到步驟S93,而如果第i條記錄無效,則處理進行到步驟S96。
分組識別裝置將查找表910的第i條記錄的ESP報頭中的源IP地址、目的IP地址和SPI分別與分組中的那些對應信息進行比較。
分組識別裝置基于步驟S93中的比較結果,來確定第i條記錄和該分組之間的所有比較的數(shù)據(jù)項是否都匹配。如果所有比較的數(shù)據(jù)項都匹配,則處理進行到步驟S95。如果存在任何不匹配,則處理進行到步驟S96。
分組識別裝置輸出表示第i條記錄和該分組之間匹配的信息,隨后終止當前處理。
分組識別裝置將變量i加1。
分組識別裝置確定變量i是否大于查找表910中所登記的記錄數(shù)量。如果變量i大于所登記的記錄的數(shù)量,則處理進行到步驟S98,而如果變量i等于或小于所登記的記錄的數(shù)量,則處理返回到步驟S92。
分組識別裝置輸出表示所有記錄和分組之間的不匹配信息,然后終止當前處理。
如上所述,在現(xiàn)有技術中,通過依次對所接收分組的ESP報頭中的目的IP地址、源IP地址和SPI與查找表中的所有項進行比較的程序來識別所接收分組的SA。
此外,在對分組進行路由時,在表示各個目的IP地址的32位值之間進行比較。此外,在執(zhí)行NAT時,在分別由表示目的和源IP地址以及目的和源TCP端口號的總共96位定義的數(shù)據(jù)值之間進行比較。
應該注意,在圖21中,為了搜索查找表,采用了一種最簡單的方法,即按照SA編號的順序搜索查找表。除了該方法之外,還存在多種用于有效搜索的算法,但是就以下方面來說,它們沒有區(qū)別在一次比較處理中,將所接收的分組與所記錄數(shù)據(jù)中的一條記錄進行比較。因此,隨著所記錄數(shù)據(jù)的數(shù)量增大,搜索時間必然增加。
通常通過軟件來進行該比較,從而給軟件處理造成很重的負擔。因此,可以預料到,用于進行比較的處理將會在未來網(wǎng)絡操作提速過程中時常產(chǎn)生瓶頸。另外,當開始廣泛使用IPv6(其中一個目的IP地址由128位表示)時,用于進行比較的數(shù)據(jù)量將急劇增加,從而導致軟件處理的負擔進一步增加。
數(shù)據(jù)比較不僅可以通過軟件也可以通過硬件(例如參見日本待審專利公報(公開)No.H04-109337)來進行。能夠進行數(shù)據(jù)比較的硬件包括CAM(內(nèi)容可尋址存儲器)。CAM的使用使得能夠高速識別各個分組。但是,如果為了進行比較而存儲的數(shù)據(jù)量太大,則要求使用大容量的CAM。這里的問題在于,CAM的使用被復雜化,此外,需要更多數(shù)量的引腳,以在單次操作中比較大量數(shù)據(jù)。由于這個原因,就設計而言安裝大容量的CAM非常困難。此外,CAM非常昂貴,因此由于經(jīng)濟原因,通常很難增加CAM容量。從上面很顯然可以看出,增大CAM容量的想法是不現(xiàn)實的。
在執(zhí)行高度發(fā)達的分組過濾、分組加密/解密等時需要比較大量的數(shù)據(jù)。還設想了一種技術,以使路由器能夠實現(xiàn)高度發(fā)達的分組過濾,而不需要增大CAM的容量。
例如,提出了一種CAM,其能夠使用多個確定電路來執(zhí)行對包含在分組中的多條信息(例如MAC地址和IP地址)進行的高速比較,其中該多個確定電路分別包括具有屏蔽功能的比較電路(例如,參見日本待審專利公報(公開)No.H07-143156)。在這種技術中,當輸入要進行比較的數(shù)據(jù)時,根據(jù)掩碼數(shù)據(jù)(mask data)對數(shù)據(jù)庫寄存器的內(nèi)容進行屏蔽,然后在未屏蔽的位和所輸入數(shù)據(jù)的對應位之間進行比較。
這樣,可以使用單個CAM來進行涉及IP地址和MAC地址比較的數(shù)據(jù)傳送。例如,使用IP地址的預定位進行過濾,并且當確定分組不要進行IP地址過濾時,執(zhí)行MAC地址比較,從而選擇輸出目的地的接口。
在日本待審專利公報(公開)No.H04-109337中公開的這種類型的CAM中,為了避免增加CAM的容量,在數(shù)據(jù)庫寄存器中存儲有用于進行比較的IP地址、MAC地址和其它數(shù)據(jù)項之一。因此,當對要進行比較的數(shù)據(jù)(下文中稱為“比較數(shù)據(jù)”)進行轉換(例如,從IP地址到MAC地址)時,對數(shù)據(jù)庫寄存器和數(shù)據(jù)庫屏蔽寄存器進行重寫,這降低了處理速度。
此外,根據(jù)在前述專利公報中公開的發(fā)明,在與可存儲在數(shù)據(jù)庫寄存器中的一條記錄的數(shù)據(jù)長度相對應的單元中,執(zhí)行用于屏蔽和比較的處理。因此,需要使用能夠對與一條記錄的數(shù)據(jù)寬度相對應的位進行比較的比較電路等。在這種情況下,如果提供一種大得足夠存儲在比較中所使用的所有數(shù)據(jù)項(例如IP地址、MAC地址等)的數(shù)據(jù)庫寄存器,將會增大比較電路的尺寸,這導致CAM的制造成本增加。

發(fā)明內(nèi)容
鑒于前述內(nèi)容而提出本發(fā)明,并且本發(fā)明的目的是提供一種分組識別裝置和分組識別方法,其能夠在抑制電路尺寸增大的同時實現(xiàn)高速分組識別。
為了實現(xiàn)上述目的,本發(fā)明的第一方面提供了一種用于識別輸入分組的內(nèi)容的分組識別裝置。該分組識別裝置的特征在于,包括查找表,該查找表以分布式的方式在各個存儲區(qū)(具有逐個屬性限定的地址)中存儲有多個參考數(shù)據(jù),每一個參考數(shù)據(jù)都被分為與各個屬性相關的單元數(shù)據(jù),并且該查找表在被輸入讀取地址時是可操作的,以輸出與這些屬性中對應于該讀取地址的屬性相關的多個單元數(shù)據(jù);分析電路,該分析電路對輸入分組中的比較數(shù)據(jù)項的屬性進行分析;地址控制電路,該地址控制電路將與通過該分析電路進行了分析的比較數(shù)據(jù)項的屬性相對應的地址輸出到該查找表,作為讀取地址;以及多個單元比較電路,其分別與該多個參考數(shù)據(jù)相關聯(lián),用于分別對從該查找表輸出的該多個單元數(shù)據(jù)中的相關單元數(shù)據(jù)與通過該分析電路進行了分析的比較數(shù)據(jù)項進行比較。
為了實現(xiàn)上述目的,本發(fā)明的第二方面提供了一種用于識別輸入分組的內(nèi)容的分組識別裝置。該分組識別裝置的特征在于,包括彼此并行連接的多個分組識別單元,這些分組識別單元中的每一個都包括查找表,該查找表以分布式的方式在各個存儲區(qū)(具有逐個屬性限定的地址)中存儲有多個參考數(shù)據(jù),每一個參考數(shù)據(jù)都被分為與各個屬性相關的單元數(shù)據(jù),并且該查找表在被輸入讀取地址時是可操作的,以輸出與這些屬性中對應于該讀取地址的屬性相關的多個單元數(shù)據(jù);分析電路,該分析電路對輸入分組中的比較數(shù)據(jù)項的屬性進行分析;地址控制電路,該地址控制電路將與通過該分析電路進行了分析的比較數(shù)據(jù)項的屬性相對應的地址輸出到該查找表,作為讀取地址;以及多個單元比較電路,其分別與該多個參考數(shù)據(jù)相關聯(lián),用于分別對從該查找表輸出的該多個單元數(shù)據(jù)中的相關單元數(shù)據(jù)與通過該分析電路進行了分析的比較數(shù)據(jù)項進行比較。
為了實現(xiàn)上述目的,本發(fā)明的第三方面提供了一種用于識別輸入分組的內(nèi)容的分組識別方法。該分組識別方法的特征在于,包括以下步驟以分布式的方式在各個存儲區(qū)(具有逐個屬性限定的地址)中預先存儲多個參考數(shù)據(jù),每一個參考數(shù)據(jù)都被分為與各個屬性相關聯(lián)的單元數(shù)據(jù);對該輸入分組中的比較數(shù)據(jù)項的屬性進行分析;從查找表的存儲區(qū)中獲取多個單元數(shù)據(jù),該存儲區(qū)由與所分析的比較數(shù)據(jù)項的屬性相關聯(lián)的地址來表示;以及使用多個單元比較電路在所獲取的單元數(shù)據(jù)和比較數(shù)據(jù)項之間執(zhí)行并行比較,由此確定該比較數(shù)據(jù)項是否與所獲取的單元數(shù)據(jù)中的任何一個相匹配。
根據(jù)以下結合附圖進行的描述,本發(fā)明的以上和其它特征以及優(yōu)點將變得更加明了,附圖以示例的方式說明了本發(fā)明的優(yōu)選實施例。


圖1是本發(fā)明的概念圖;圖2表示彼此并行連接的多個分組識別單元;圖3表示根據(jù)本發(fā)明一實施例的系統(tǒng)構造的示例;圖4是表示VPN裝置的內(nèi)部構造的示例的方框圖;圖5表示查找表的數(shù)據(jù)結構的示例;
圖6表示SA表的數(shù)據(jù)結構的示例;圖7是表示分組識別裝置的內(nèi)部構造的方框圖;圖8表示存儲在查找表中的數(shù)據(jù)的存儲區(qū);圖9表示參考數(shù)據(jù)的劃分記錄的示例;圖10是表示單元比較電路的內(nèi)部構造的方框圖;圖11是表示協(xié)議分析電路的內(nèi)部構造的方框圖;圖12是表示協(xié)議分析電路的操作示例的時序圖的第一部分;圖13是表示協(xié)議分析電路的操作示例的時序圖的第二部分;圖14是表示由匹配確定記錄電路執(zhí)行的處理的流程圖;圖15是表示由比較執(zhí)行寄存器電路執(zhí)行的處理的流程圖;圖16是表示由子網(wǎng)掩碼長度寄存器電路執(zhí)行的內(nèi)部處理的流程圖;圖17是表示由地址控制電路執(zhí)行的內(nèi)部處理的第一流程圖;圖18是表示由地址控制電路執(zhí)行的內(nèi)部處理的第二流程圖;圖19是表示由地址控制電路執(zhí)行的內(nèi)部處理的第三流程圖;圖20表示傳統(tǒng)的查找表的數(shù)據(jù)結構的示例;以及圖21是表示傳統(tǒng)的分組識別處理的流程圖。
具體實施例方式
現(xiàn)將參照表示本發(fā)明優(yōu)選實施例的附圖來詳細描述本發(fā)明。
首先,說明應用于該實施例的本發(fā)明的概要,然后給出該實施例的詳細描述。
圖1是本發(fā)明的概念圖。根據(jù)本發(fā)明的分組識別裝置10與比較數(shù)據(jù)輸出電路20相連。比較數(shù)據(jù)輸出電路20逐個單元數(shù)據(jù)地將當前正在處理的分組的數(shù)據(jù)輸入給分組識別裝置10。例如,比較數(shù)據(jù)輸出電路20逐個字節(jié)地將通過路由器或VPN裝置傳送的分組輸入給該分組識別裝置10。
分組識別裝置10使用與所記錄的參考數(shù)據(jù)相同數(shù)量的電路同時執(zhí)行從比較數(shù)據(jù)輸出電路20輸入的比較數(shù)據(jù)和多個預先記錄的參考數(shù)據(jù)之間的并行比較,其中這些電路彼此并聯(lián)設置。為了進行這些比較操作,分組識別裝置10具有查找表11、分析電路12、地址控制電路13和單元比較電路14a、14b、...、以及14n。
查找表11存儲有多個參考數(shù)據(jù)11a、11b、...以及11n(處于分別被分為多個單元數(shù)據(jù)的狀態(tài))。當從地址控制電路13輸入讀取地址時,查找表11從與該地址相對應的存儲區(qū)中將單元數(shù)據(jù)分別輸出給單元比較電路14a、14b、...、以及14n。
對構成一條參考數(shù)據(jù)的單元數(shù)據(jù)進行劃分,并以分布式的方式將其存儲在各個存儲區(qū)中,每一個存儲區(qū)都由與該數(shù)據(jù)的屬性相關聯(lián)的地址表示。在具有不同地址的各個存儲區(qū)的最高位部分(most significant parts)(在圖1中,假定查找表11的左側是最高位部分,并假定右側是最低位部分)中分別存儲有構成參考數(shù)據(jù)11a的單元數(shù)據(jù)。將構成參考數(shù)據(jù)11b的單元數(shù)據(jù)存儲在具有不同地址的各個存儲區(qū)中,以使得各個單元數(shù)據(jù)緊跟在構成參考數(shù)據(jù)11a的單元數(shù)據(jù)中的對應單元之后。將構成參考數(shù)據(jù)11n的單元數(shù)據(jù)存儲在具有不同地址的各個存儲區(qū)中的最低位部分中。
分析電路12基于所接收的比較數(shù)據(jù)來識別要進行識別的數(shù)據(jù)的屬性(例如,數(shù)據(jù)所基于的協(xié)議)。分析電路12將所識別的屬性的識別信息通知給地址控制電路13。此外,分析電路12將所接收的比較數(shù)據(jù)輸入給各個單元比較電路14a、14b、...、以及14n。
地址控制電路13控制查找表11的地址。更具體地,地址控制電路13預先識別查找表11的多個存儲區(qū)的相應地址,其中在各個存儲區(qū)中存儲有與特定屬性相關聯(lián)的單元數(shù)據(jù)。當從分析電路12接收到屬性的識別信息時,地址控制電路13將與該屬性相對應的地址輸入給查找表11,作為讀取地址。
單元比較電路14a、14b、...、以及14n將該比較數(shù)據(jù)與記錄在查找表11中的單元數(shù)據(jù)進行比較。該比較例如可以根據(jù)值之間的匹配或不匹配來進行。也可以比較值的大小。
應該注意,可以在比較數(shù)據(jù)輸出電路20側設置分析電路12或地址控制電路13。在這種情況下,從比較數(shù)據(jù)輸出電路20輸出要進行識別的比較數(shù)據(jù)和讀取地址,并且分組識別裝置10僅執(zhí)行比較數(shù)據(jù)和參考數(shù)據(jù)之間的比較。
在如上所述構造的分組識別裝置10中,當從比較數(shù)據(jù)輸出電路20輸入作為分組的組成部分的數(shù)據(jù)時,由分析電路12對該輸入數(shù)據(jù)的屬性進行分析。當該輸入數(shù)據(jù)是比較數(shù)據(jù)時,從分析電路12將該比較數(shù)據(jù)的屬性的識別信息發(fā)送給地址控制電路13。此外,從分析電路12將該比較數(shù)據(jù)傳送給單元比較電路14a、14b、...、以及14n。
當接收到屬性的識別信息時,地址控制電路13將與該屬性相關的地址輸入給查找表11作為讀取地址,然后從查找表11將參考數(shù)據(jù)中具有與比較數(shù)據(jù)相同屬性的單元數(shù)據(jù)輸入給各個單元比較電路14a、14b、...、以及14n。在單元比較電路14a、14b、...、以及14n中,逐位進行比較數(shù)據(jù)和單元數(shù)據(jù)之間的并行比較,并且輸出比較的結果。
例如,當圖1中所示的分組識別裝置10要執(zhí)行IPsec的SA(安全關聯(lián))識別時,將要保護的終端單元的IP地址等存儲在參查找表11中作為參考數(shù)據(jù)。然后,輸入要傳送的分組的IP地址作為比較數(shù)據(jù),并且輸出記錄在通過比較操作識別為匹配的參考數(shù)據(jù)中的SA ID。
這種分組識別裝置10的使用使得硬件能夠執(zhí)行高速分組識別。另外,由于逐個單元數(shù)據(jù)地進行比較處理,所以可以防止相關電路的尺寸的增大。
應該注意,本發(fā)明的分組識別裝置10的并聯(lián)連接是可能的。在這種情況下,具有與圖1所示的分組識別裝置10相同的電路的多個分組識別單元可以彼此并聯(lián)連接,以形成單個分組識別裝置。
圖2表示彼此并聯(lián)連接的多個分組識別單元。如圖2所示,多個分組識別單元10a、10b、...、以及10m并聯(lián)連接。這些分組識別單元10a、10b、...、以及10m從比較數(shù)據(jù)輸出單元20接收公共數(shù)據(jù)。分組識別單元10a、10b、...、以及10m存儲有彼此不同的各個參考數(shù)據(jù),以執(zhí)行包含在分組中的比較數(shù)據(jù)與參考數(shù)據(jù)之間的比較。然后,從已檢測到與比較數(shù)據(jù)相匹配的參考數(shù)據(jù)的分組識別單元輸出比較結果。沒有檢測到與比較數(shù)據(jù)相匹配的參考數(shù)據(jù)的分組識別單元輸出0或進入高阻抗狀態(tài)。這樣,可以將來自所有分組識別單元的結果容易地集中在單個數(shù)據(jù)總線中。
如上所述,分組識別單元10a、10b、...、以及10m可以并聯(lián)使用。用于分組識別單元10a、10b、...、以及10m的并聯(lián)連接的布線非常簡單,從而甚至在需要對許多條信息進行比較時,也可以容易地并行使用多個分組識別單元。此外,由于所有的比較都是并行執(zhí)行的,所以在處理速度方面與操作單個分組識別單元的情況沒有區(qū)別。
盡管在以上描述中,采用IPsec的SA識別作為示例,但是應該理解,本發(fā)明的應用并不限于此。例如,通過將目的IP地址設置為比較數(shù)據(jù)并且將目的接口設置為匹配檢測后要輸出的數(shù)據(jù),可以將本發(fā)明用于分組路由。此外,可以將本發(fā)明應用于識別NAT連接以及輸出用于轉換的IP地址和端口號,以及用于分組識別的其它廣泛的使用范圍,包括分組過濾在內(nèi)。
此外,由于一次發(fā)送給分組識別單元的數(shù)據(jù)限于數(shù)據(jù)量很小的單元數(shù)據(jù),所以可以減小數(shù)據(jù)總線的寬度,從而利于簡化電路構造。這使得可以減小分組識別單元的尺寸,從而利于這些單元的安裝。
接下來,描述將本發(fā)明應用于互聯(lián)網(wǎng)上的VPN裝置的具體實施例。
圖3表示根據(jù)本發(fā)明的系統(tǒng)構造的示例。在本實施例中,VPN裝置100包括用于解密的分組識別裝置110和用于加密的分組識別裝置120。類似地,VPN裝置200包括用于解密的分組識別裝置210和用于加密的分組識別裝置220。VPN裝置100和200中的每一個都具有LAN端接口和互聯(lián)網(wǎng)端接口。
VPN裝置100和200通過互聯(lián)網(wǎng)30彼此連接。終端單元33通過路由器31與VPN裝置100相連。終端單元34通過路由器32與VPN裝置200相連。VPN裝置100和200中的每一個都對從LAN發(fā)往互聯(lián)網(wǎng)30的分組進行加密,并且對從互聯(lián)網(wǎng)30接收的加密分組進行解密,并將解密的分組發(fā)送給相關的LAN。
應該注意,盡管在所述示例中,VPN裝置100(200)和路由器31(32)彼此分離,但是也可以將它們構造為集成的整體裝置。
在下文中,將作為代表性示例來描述VPN裝置100的分組識別裝置110。應該注意,除了用于識別的參數(shù)不同之外,用于加密的分組識別裝置120在構造方面與用于解密的分組識別裝置110基本相同。此外,設置在VPN裝置200中的用于解密的分組識別裝置210和用于加密的分組識別裝置220在構造和功能方面分別與VPN裝置100的分組識別裝置110和120相同。為了簡化描述,在此假定不執(zhí)行分組驗證,但是可以很容易地另外提供驗證功能。
圖4表示VPN裝置的內(nèi)部構造的示例。VPN裝置100不僅包括用于解密的分組識別裝置110和用于加密的分組識別裝置120,而且還包括下文中提到的其它組成元件。
用于解密的分組識別裝置110具有查找表111,并且對查找表111中的參考數(shù)據(jù)與用于識別的數(shù)據(jù)進行比較,從而識別該分組的SA(安全關聯(lián))。然后,分組識別裝置110返回SA ID作為識別結果。
類似地,用于加密的分組識別裝置120具有查找表121,并且對查找表121中的參考數(shù)據(jù)與用于識別的數(shù)據(jù)行比較,從而識別該分組的SA。然后,分組識別裝置120返回SA ID作為識別結果。
作為用于從互聯(lián)網(wǎng)30到LAN的數(shù)據(jù)傳送的組成元件,設置有互聯(lián)網(wǎng)側網(wǎng)絡接收端口131、分組接收電路132、分組解密電路133、分組發(fā)送電路134和路由器側發(fā)送端口135。
互聯(lián)網(wǎng)側網(wǎng)絡接收端口131與互聯(lián)網(wǎng)30相連,并且將通過互聯(lián)網(wǎng)30接收的分組輸出給分組接收電路132。
分組接收電路132接收從互聯(lián)網(wǎng)側網(wǎng)絡接收端口131輸入的分組。然后,分組接收電路132將所接收的分組中的數(shù)據(jù)依次輸出給分組識別裝置110。當從分組識別裝置110接收到作為識別結果的SA ID時,分組接收電路132將該SA ID添加到各個相關分組,以將附加有該SA ID的分組發(fā)送給分組解密電路133。
分組解密電路133具有SA表133a。在SA表133a中,與相應的SAID相關地設置SA。分組解密電路133基于從分組接收電路132傳送的SA ID選擇用于分組解密的SA,并且使用該SA對該分組進行解密。該分組解密電路133將經(jīng)過解密的分組傳送給分組發(fā)送電路134。
分組發(fā)送電路134與路由側網(wǎng)絡發(fā)送端口135相連,并且通過路由器側網(wǎng)絡發(fā)送端口135將將經(jīng)過解密的分組發(fā)送給LAN。
路由器側網(wǎng)絡發(fā)送端口135是通過LAN與路由器31相連的通信端口。
作為用于從LAN到互聯(lián)網(wǎng)30的數(shù)據(jù)傳送的組成元件,設置有路由側網(wǎng)絡接收端口141、分組接收電路142、分組加密電路143、分組發(fā)送電路144和互聯(lián)網(wǎng)側網(wǎng)絡發(fā)送端口145。
路由器側網(wǎng)絡接收端口141通過LAN與路由器31相連,并且將通過LAN接收的分組輸出到分組接收電路142。
分組接收電路142接收從路由器側網(wǎng)絡接收端口141輸入的分組。然后,分組接收電路142將所接收到的分組中的數(shù)據(jù)依次輸出給分組識別裝置120。當從分組識別裝置120接收到作為識別結果的SA ID時,分組接收電路142將SA ID添加到該相關分組中,以將附加有SA ID的分組發(fā)送給分組加密電路143。
分組加密電路143具有SA表143a。在該SA表143a中,與相應的SA ID相關地設置SA。分組加密電路143基于從分組接收電路142傳送的SA ID來選擇用于分組加密的SA,并且使用該SA對分組進行加密。該分組加密電路143將經(jīng)過加密的分組傳送給分組發(fā)送電路144。
分組發(fā)送電路144與互聯(lián)網(wǎng)側網(wǎng)絡發(fā)送端口145相連,并且將經(jīng)過加密的分組通過互聯(lián)網(wǎng)側網(wǎng)絡發(fā)送端口145發(fā)送給互聯(lián)網(wǎng)30。
互聯(lián)網(wǎng)側網(wǎng)絡發(fā)送端口145是與互聯(lián)網(wǎng)30相連的通信端口。
應該注意,在分組識別裝置110和120中,存在執(zhí)行加密和解密所需的預記錄信息。
圖5表示查找表的數(shù)據(jù)結構的示例。查找表111具有下述多個列SA ID、有效、Src-IP、Dst-IP、SPI(安全參數(shù)索引)以及控制。設置在各行中的信息項彼此相關聯(lián),以構成一條記錄。
SA ID表示用于識別所登記的記錄的識別信息。
“有效”表示下述標志,該標志表示與SA ID相關的記錄數(shù)據(jù)是有效(1)還是無效(0)。
Scr-IP表示源IP地址。在處理分組時,分組識別裝置110對分組中的源IP地址與Src-IP字段中的信息進行比較。應該注意,圖5中出現(xiàn)的IP.Router-B表示路由器32的IP地址。
Dst-IP表示目的IP地址。在處理分組時,分組識別裝置110對目的IP地址與Dst-IP字段中的信息進行比較。Dst-IP列中的字段中的“忽略”表示可以根據(jù)相關的“控制”字段中的設置忽略目的IP地址的比較,這在下文中會提到。應該注意,圖5中出現(xiàn)的IP.Router-A表示路由器31的IP地址。
SPI表示用于識別SA的信息。在處理分組時,分組識別裝置110對ESP報頭中的SPI參數(shù)與SPI字段中的信息進行比較。
“控制”表示2位標志,該2位標志表示是否需要進行比較。如果“控制”字段中的位
被設置為1,則不執(zhí)行相關Src-IP地址的比較,而如果位
被設置為0,則執(zhí)行相關Src-IP地址的比較。此外,如果位[1]被設置為1,則不執(zhí)行相關Dst-IP地址的比較,而如果位[1]設置為0,則執(zhí)行相關Dst-IP地址的比較。
應該注意,包含在用于加密的分組識別裝置120中的查找表121的數(shù)據(jù)結構基本上與圖5中所示的查找表的數(shù)據(jù)結構相同。但是,除了Src-IP和Dst-IP列之外,作為用于比較的項,查找表121還具有Src端口(源端口號)和Dsc端口(目的端口號)列。分組識別裝置120執(zhí)行Src-IP、Dst-IP、Src端口和Dsc端口的比較。
圖6表示SA表的數(shù)據(jù)結構的示例。該SA表133a具有SA ID、有效、DECODE_KEY和DES/3DES列。設置在每一行中的多個信息項彼此相關聯(lián)以構成一條記錄。
SA ID表示用于識別已登記的記錄并且指示查找表111中的相關記錄的識別信息。
DECODE_KEY表示用于解密的密鑰。在圖6中,解密密鑰由KEY1或KEY2表示。
DES/3DES表示下述信息,該信息表示加密/解密方法。當該字段中的信息被設置為0時,將DES用作解密協(xié)議,而當該信息被設置為1時,將3DES用作解密協(xié)議。
存儲在SA表133a中的信息可以包含在查找表111中。在這種情況下,輸出記錄在相關DECODE_KEY和DES/3DES字段中的信息項作為識別結果。
應該注意,包含在分組加密電路143中的SA表143a具有與圖6所示相同的數(shù)據(jù)結構。
通過使用如上所述構造的VPN裝置100,可以對通過互聯(lián)網(wǎng)30發(fā)送的分組進行加密和解密。盡管圖4到6表示VPN裝置100的構造,但是VPN裝置200具有與VPN裝置100相同的構造。
接下來,詳細描述VPN裝置100在從互聯(lián)網(wǎng)30接收到加密分組時執(zhí)行分組解密的處理。
首先,分組接收電路132接收輸入到互聯(lián)網(wǎng)側網(wǎng)絡接收端口131的分組。然后,分組接收電路132將構成分組的數(shù)據(jù)傳送給用于解密的分組識別裝置110。
分組識別裝置110基于所接收的數(shù)據(jù)來識別分組,并且將識別結果(SA ID)傳送給分組接收電路132。從分組接收電路132將該識別結果傳送給分組解密電路133。
分組解密電路133基于所接收的SA ID從SA表133a獲取用于解密的解密協(xié)議和密鑰,并且對該分組進行解密。該處理也可以通過軟件來執(zhí)行。
如上所述,本分組識別裝置的使用使得在VPN裝置100中能夠實現(xiàn)高速SA ID識別。
盡管在上面的描述中,作為示例說明了VPN裝置100中的分組解密處理,但是還可以通過改變用于比較的數(shù)據(jù)(字段)來容易地將本發(fā)明應用于NAT連接、路由、過濾等的識別。通過預記錄與各種字段相關聯(lián)的數(shù)據(jù),可以將相同的識別裝置用于各種應用。此外,可以在與IP地址相關聯(lián)的字段中使用子網(wǎng)掩碼。
接下來,描述分組識別裝置的內(nèi)部構造。
圖7是表示分組識別裝置的內(nèi)部構造的方框圖。分組識別裝置110具有查找表111、協(xié)議分析電路112、地址控制電路113和多個單元比較電路114a、114b、...、和114n。
查找表111存儲有多個參考數(shù)據(jù)111a、111b、...、和111n。每一個參考數(shù)據(jù)111a、111b、...、和111n都被分為單元數(shù)據(jù),每一個單元數(shù)據(jù)都存儲在分配給其協(xié)議的地址中。應該注意,協(xié)議的各個地址按照分組中的比較數(shù)據(jù)項的排列順序來定義。更具體地,與較早輸入的比較數(shù)據(jù)項的協(xié)議相關的地址被設置為較小的值。
將待識別的分組數(shù)據(jù)逐個單元數(shù)據(jù)地輸入給協(xié)議分析電路112。協(xié)議分析電路112對各個輸入單元數(shù)據(jù)的屬性(即,單元數(shù)據(jù)所基于的協(xié)議)進行分析,并且確定該單元數(shù)據(jù)是否為比較數(shù)據(jù)。例如,可以將IP報頭中的IP地址以及TCP報頭中的端口號確定為比較數(shù)據(jù)。應該注意,可以基于IP分組的數(shù)據(jù)結構(數(shù)據(jù)格式)的預定定義來識別各個單元數(shù)據(jù)的協(xié)議。
當檢測到輸入了比較數(shù)據(jù)時,協(xié)議分析電路112向每一個單元比較電路114a、114b、...、和114n輸出比較執(zhí)行信號。同時,協(xié)議分析電路112將表示比較數(shù)據(jù)的協(xié)議的信息(協(xié)議信息)傳送給地址控制電路113。
協(xié)議分析電路112可以通過計數(shù)器和狀態(tài)機來實現(xiàn),其可以識別每一個字段,例如IP報頭。協(xié)議分析電路112在輸出各個比較項(例如,IP地址或TCP端口號)之前,輸出用于設置比較條件的控制信號(比較條件設置信號),然后根據(jù)需要從緩存器輸出比較數(shù)據(jù)。將在下文中詳細描述該處理。
地址控制電路113根據(jù)從協(xié)議分析電路112輸出的比較執(zhí)行信號和協(xié)議信息,將用于讀出數(shù)據(jù)的地址提供給查找表111。更具體地,根據(jù)比較數(shù)據(jù)項的輸入順序來設置查找表111中的各個參考數(shù)據(jù)項的單元數(shù)據(jù),因此地址控制電路113對尋址進行控制,以使得無論何時接收到比較執(zhí)行信號,都從“字1”開始順序讀取各個單元數(shù)據(jù)。
盡管在本實施例中,為了簡化,假定為從“字1”開始順序讀取單元數(shù)據(jù),但是這并不是限制性的,而是地址控制方法可以依賴于如何記錄參考數(shù)據(jù)。此外,在傳送比較項(例如IP地址或TCP端口)之前設置比較條件的情況下,地址控制電路113基于協(xié)議信息檢測輸入各個比較項的定時,并且對尋址進行控制,以使得在所檢測的定時從查找表111中讀出用于該項的比較條件。
單元比較電路114a、114b、...、和114n逐個單元數(shù)據(jù)地對從比較數(shù)據(jù)輸出電路接收的數(shù)據(jù)和從查找表111讀出的參考數(shù)據(jù)111a、111b、...、和111n行逐位比較。并聯(lián)設置與參考數(shù)據(jù)111a、111b、...、和111n相同數(shù)量的單元比較電路114a、114b、...、和114n,其中這些參考數(shù)據(jù)可以記錄在查找表111中。
在單元比較電路114a、114b、...、和114n中的每一個中,保持與比較數(shù)據(jù)和參考數(shù)據(jù)之間的匹配是否從第一個單元數(shù)據(jù)持續(xù)到當前單元數(shù)據(jù)相關的信息,直到比較處理結束為止。因此,單元比較電路114a、114b、...、和114n需要包含用于判斷該匹配狀態(tài)是否持續(xù)的至少一個1位寄存器。此外,除了上述1位寄存器之外,還需要用于存儲與比較項相關的比較條件的多個寄存器,這些比較條件例如是“從比較對象中排除TCP端口號”和“使用指定的子網(wǎng)掩碼來用于IP地址比較”,以及“要使用的子網(wǎng)掩碼”的信息。如果與各個比較項相關聯(lián)地提供用于存儲比較條件的寄存器,則將會不可避免地增大各個比較電路的尺寸。但是,在本實施例中,由于比較條件是在輸入比較項的數(shù)據(jù)之前設置的,所以可以減小電路尺寸。
圖8表示用于存儲在查找表中的數(shù)據(jù)的存儲區(qū)。如圖8所示,在查找表111中的存儲區(qū)“字1”中,并行記錄有具有從參考數(shù)據(jù)#1開始的單元數(shù)據(jù)長度的數(shù)據(jù)、具有從參考數(shù)據(jù)#2開始的單元數(shù)據(jù)長度的數(shù)據(jù)、...、以及具有從參考數(shù)據(jù)#n開始的單元數(shù)據(jù)長度的數(shù)據(jù)。存儲區(qū)“字2”和“字3”以及后續(xù)存儲區(qū)都以與存儲區(qū)“字1”相同的方式存儲所記錄的數(shù)據(jù)。
盡管在圖8中所示的參考數(shù)據(jù)記錄方法中,查找表被構造為使得在各個參考數(shù)據(jù)中首先出現(xiàn)具有指定為最小值的地址(字編號)的單元數(shù)據(jù),但是這并不是限制性的,還可以采用與地址控制方法相關聯(lián)的任何合適的記錄順序。此外,在查找表111中使用的存儲器類型并不限于SRAM或DRAM,例如還可以使用FIFO。
在下文中,詳細描述分組識別裝置110的功能。在下面的描述中,假定用于比較的單元數(shù)據(jù)的長度(單元比較數(shù)據(jù)長度)是8位,并且為了簡化,對源IP地址和目的IP地址進行比較。但是,應該理解,單元比較數(shù)據(jù)長度和比較數(shù)據(jù)并不限于這些示例。
圖9表示參考數(shù)據(jù)的劃分記錄的示例。如圖9中所示,將參考數(shù)據(jù)111a分為1字節(jié)單元數(shù)據(jù),并且每一個單元數(shù)據(jù)都存儲在單個地址中。
在地址“0”中,設置了表示參考數(shù)據(jù)111a的有效性的標志。如果參考數(shù)據(jù)111a有效,則將位0設置為“1”,而如果參考數(shù)據(jù)111a無效,則將位0設置為“0”。
在地址“1”中,設置了表示是否需要比較源IP地址的標志。如果需要比較源IP地址,則將位0設置為“1”,而如果不需要比較源IP地址,則將位0設置為“0”。此外,將位[5:1]設置為“子網(wǎng)掩碼長度-1”的值。
地址“2”存儲了源IP地址的第一個字節(jié)。地址“3”存儲了源IP地址的第二個字節(jié)。地址“4”存儲了源IP地址的第三個字節(jié)。地址“5”存儲了源IP地址的最后一個字節(jié)。
在地址“6”中,設置了表示是否需要比較目的IP地址的標志。如果需要比較目的IP地址,位0設置為“1”,而如果不需要比較目的IP地址,將位0設置為“0”。此外,將位[5:1]設置為“子網(wǎng)掩碼長度-1”的值。
地址“7”存儲了目的IP地址的第一個字節(jié)。地址“8”存儲了目的IP地址的第二個字節(jié)。地址“9”存儲了目的IP地址的第三個字節(jié)。地址“10”存儲了目的IP地址的最后一個字節(jié)。
在地址“11”中,設置了表示是否需要比較SPI的標志。位0表示是否需要進行該比較,并且在本實施例中,始終將位0設置為表示需要進行該比較的值“1”。此外,將位[5:1]固定為值31。
地址“12”存儲了SPI的第一個字節(jié)。地址“13”存儲了SPI的第二個字節(jié)。地址“14”存儲了SPI的第三個字節(jié)。地址“15”存儲了SPI的最后一個字節(jié)。
地址“16”存儲了SA ID。
應該注意,在所述的示例中,不僅記錄參考數(shù)據(jù),而且記錄用于各個參考數(shù)據(jù)項的比較條件(在本示例中,為是否進行比較以及“子網(wǎng)掩碼長度-1”)以及作為輸出數(shù)據(jù)的SA ID。不是記錄字網(wǎng)掩碼長度而是“子網(wǎng)掩碼長度-1”的原因是為了節(jié)省各個寄存器的位寬度。為了在不使用子網(wǎng)的情況下比較所有位,將“子網(wǎng)掩碼長度-1”的值唯一地設置為31。
圖10是表示單元比較電路的內(nèi)部構造的方框圖。單元比較電路114a包括作為寄存器的匹配確定寄存器電路115a、比較執(zhí)行寄存器電路115b、以及子網(wǎng)掩碼長度寄存器電路115c。這些寄存器電路包括數(shù)據(jù)保持電路和邏輯電路。邏輯電路執(zhí)行對數(shù)據(jù)保持電路輸入和輸出數(shù)據(jù)。此外,單元比較電路114a具有子網(wǎng)掩碼產(chǎn)生電路115d和比較器115e。
寄存器由總共7位構成1位用于匹配確定寄存器電路115a,1位用于比較執(zhí)行寄存器電路115b,以及5位用于子網(wǎng)掩碼長度寄存器電路115c。
應該注意,在本實施例中,為各個參考項設置了比較條件,以使寄存器的總共7位足夠用。如果要一次設置多個參考項的比較條件,則必須為源IP地址和目的IP地址中的每一個提供比較執(zhí)行寄存器電路和子網(wǎng)掩碼長度寄存器電路,以使寄存器的總容量達到13位,包括用于匹配確定寄存器電路115a的1位,這基本上使電路尺寸加倍。
各個寄存器接收相關參考數(shù)據(jù)(單元數(shù)據(jù))的一個位或多個位。此外,匹配確定寄存器電路115a從協(xié)議分析電路112接收參考數(shù)據(jù)有效性設置信號和比較執(zhí)行信號,并且從比較器115e接收匹配信號。比較執(zhí)行寄存器電路115b從協(xié)議分析電路112接收比較條件設置信號。子網(wǎng)掩碼長度寄存器電路115c從協(xié)議分析電路112接收比較條件設置信號和比較執(zhí)行信號。
子網(wǎng)掩碼產(chǎn)生電路115d根據(jù)對子網(wǎng)掩碼長度寄存器電路115c設置的值來產(chǎn)生用于比較數(shù)據(jù)的掩碼。子網(wǎng)掩碼產(chǎn)生電路115d將所產(chǎn)生的掩碼數(shù)據(jù)輸入給比較器115e。
比較器115e將子網(wǎng)掩碼應用于比較數(shù)據(jù),然后執(zhí)行比較數(shù)據(jù)與參考數(shù)據(jù)的比較。如果通過比較檢測到匹配,則比較器115e輸出匹配信號。
應該注意,盡管圖10作為代表性示例表示了單元比較電路114a的內(nèi)部構造,但是其它單元比較電路114b、...、和114n也具有與電路114a相同的內(nèi)部構造。
此外,如下文中所述,協(xié)議分析電路112具有根據(jù)需要存儲原始比較信號以及延遲將數(shù)據(jù)輸出給單元比較電路114a、114b、...、和114n的定時的功能。
圖11是表示協(xié)議分析電路112的內(nèi)部構造的方框圖。協(xié)議分析電路112由協(xié)議分析狀態(tài)機112a、目的IP地址緩存器112b、SPI緩存器112c以及選擇器112d組成。
協(xié)議分析狀態(tài)機112a接收原始比較信號。協(xié)議分析狀態(tài)機112a分析輸入分組的報頭,并且識別所接收的數(shù)據(jù)項與該分組的哪個參數(shù)相對應。當接收到要與參考數(shù)據(jù)進行比較的數(shù)據(jù)時,協(xié)議分析狀態(tài)機112a輸出協(xié)議信號。
從協(xié)議分析狀態(tài)機112a輸出的控制信號包括比較條件設置信號、參考數(shù)據(jù)有效性設置信號以及比較執(zhí)行信號。將這些信號輸出給地址控制電路113和單元比較電路114a、114b、...、和114n。此外,協(xié)議分析狀態(tài)機112a將目的IP地址緩存信號、SPI緩存信號以及數(shù)據(jù)選擇信號作為控制信號分別輸出給目的IP地址緩存器112b、SPI緩存器112c以及選擇器112d。
目的IP地址緩存器112b是用于對目的IP地址進行緩存的存儲區(qū)。當從協(xié)議分析狀態(tài)機112a輸入目的IP地址緩存信號時,目的IP地址緩存器112b存儲當前輸入的比較數(shù)據(jù)(目的IP地址)。
SPI緩存器112c是用于緩存SPI數(shù)據(jù)的存儲區(qū)。當從協(xié)議分析狀態(tài)機112a輸入SPI緩存信號時,SPI緩存器112c存儲當前輸入的比較數(shù)據(jù)(SPI)。
選擇器112d基于來自協(xié)議分析狀態(tài)機的數(shù)據(jù)選擇信號從原始比較數(shù)據(jù)、存儲在目的IP地址緩存器112b中的數(shù)據(jù)以及存儲在SPI緩存器112c中的數(shù)據(jù)中選擇要輸出的數(shù)據(jù)。
盡管在圖11所示的構造中,當從協(xié)議分析狀態(tài)機112a輸出目的IP地址緩存信號時,將數(shù)據(jù)輸入目的IP地址緩存器112b,但是可以將目的IP地址緩存器112b簡單地構造為作為用于存儲比較數(shù)據(jù)的一級緩存器來進行操作,而不使用目的IP地址緩存信號。類似地,可以將SPI緩存器112c簡單地構造為作為用于存儲比較數(shù)據(jù)的二級緩存器來進行操作,而不使用SPI緩存信號。
接下來,將參照圖12和13來描述如上所述構造的協(xié)議分析電路的操作。在下面的描述中,假定查找表111由同步存儲器實現(xiàn),該同步存儲器在確定地址之后在如下所述的周期中輸出數(shù)據(jù)。
圖12是表示協(xié)議分析電路的操作示例的時序圖的第一部分。圖13是該時序圖的第二部分。
在圖12和13中,從上到下示出了同步時鐘信號(時鐘)、參考數(shù)據(jù)有效性設置信號、比較條件設置信號、比較執(zhí)行信號、子網(wǎng)掩碼使用信號、查找表地址、參考/輸出數(shù)據(jù)、比較數(shù)據(jù)(原始)、比較數(shù)據(jù)(緩存)以及結果輸出信號,這些都在協(xié)議分析電路中使用。
在輸入IP分組(原始比較數(shù)據(jù))之前,從地址控制電路113連續(xù)輸出查找表地址“0”。因此,從查找表111輸出用于設置參考數(shù)據(jù)有效性/無效性的數(shù)據(jù)。
在時刻t1輸入IP分組(原始比較數(shù)據(jù))。
在與時鐘的第二個上升時刻相對應的時刻t2,從地址控制電路113輸出的查找表的地址轉換為“1”。此外,協(xié)議分析狀態(tài)機112a確定參考數(shù)據(jù)有效性設置信號為高電平。結果,將參考數(shù)據(jù)的有效位的值存儲在單元比較電路114a、114b、...、和114n的相應匹配確定寄存器電路115a中。如果參考單元數(shù)據(jù)的有效位為有效“1”,則對應的單元比較電路執(zhí)行分組比較。
在時刻t3,從查找表111中輸出用于源IP地址的比較條件設置數(shù)據(jù)。
在輸入源IP地址的數(shù)據(jù)之前的時刻t4,比較條件設置信號被確定為高電平。結果,將用于源IP地址的比較條件設置數(shù)據(jù)存儲在單元比較電路114a、114b、...、和114n的比較執(zhí)行寄存器電路115b中,并且將值“子網(wǎng)掩碼長度-1”存儲在單元比較電路114a、114b、...、和114n的子網(wǎng)掩碼長度寄存器電路115c中。如果用于源IP地址的比較條件設置數(shù)據(jù)表示比較“1”,則對應的單元比較電路執(zhí)行源IP地址的比較。同時,從地址控制電路113輸出的查找表的地址轉換為“2”。
在時刻t5,將源IP地址作為比較數(shù)據(jù)輸入,并且將源IP地址的單元數(shù)據(jù)作為參考數(shù)據(jù)從查找表111中輸出。同時,協(xié)議分析狀態(tài)機112a確定比較執(zhí)行信號和子網(wǎng)掩碼使用信號為高電平。結果,與有效參考數(shù)據(jù)相對應的單元比較電路根據(jù)比較條件執(zhí)行比較。此時,從地址控制電路113輸出的查找表的地址轉換為“3”。
然后,將與時鐘信號同步地從地址控制電路113輸出的查找表的地址轉換為“4”、“5”和“6”。同時,連續(xù)執(zhí)行源IP地址比較。
目的IP地址緊接著源IP地址之后,作為比較數(shù)據(jù)。就在開始目的IP地址的比較之前,在時刻t6確定比較條件設置信號為高電平,并且將用于目的IP地址的比較條件設置數(shù)據(jù)存儲在相關的比較執(zhí)行寄存器電路115b中。此時,已經(jīng)開始輸入作為原始比較數(shù)據(jù)的目的IP地址,但是還沒有輸出參考數(shù)據(jù)和所緩存的比較數(shù)據(jù)。更具體地,由于執(zhí)行了比較條件設置,所以在假定連續(xù)輸入比較數(shù)據(jù)的情況下,參考數(shù)據(jù)的輸入延遲了一個周期。
在時刻t6之后一個周期的時刻t7,確定比較執(zhí)行信號和子網(wǎng)掩碼使用信號為高電平。同時,從查找表111輸出作為參考數(shù)據(jù)的目的IP地址的單元數(shù)據(jù),并且從協(xié)議分析電路112輸出在與一個周期相對應的時間段中作為比較數(shù)據(jù)進行緩存的目的IP地址。由此開始進行目的IP地址的比較。
在完成目的IP地址的比較之后,設置用于ESP報頭中SPI的比較條件,然后開始ESP報頭中的SPI值的比較。
假定連續(xù)輸入?yún)⒖紨?shù)據(jù),則在執(zhí)行目的IP地址比較的時刻t8,將ESP報頭中的SPI輸入給協(xié)議分析電路112。在完成目的IP地址比較之后的時刻t9,確定比較條件設置信號為高電平,并且存儲用于SPI的比較條件。當連續(xù)輸入比較數(shù)據(jù)時,以上操作使得參考數(shù)據(jù)的輸入相對于比較數(shù)據(jù)的輸入延遲兩個周期。因此,在比較ESP報頭中的SPI時,在與兩個周期相對應的時間段中對比較數(shù)據(jù)進行緩存之后的時刻t10,協(xié)議分析電路112執(zhí)行數(shù)據(jù)輸出。
由此,完成所有項的比較。然后,在時刻t11,從協(xié)議分析電路112輸出比較結果輸出信號。如果在所有項之間存在匹配,則輸出相關SAID作為識別結果。
由此對比較數(shù)據(jù)和參考數(shù)據(jù)進行比較。
在下文中,參照流程圖來描述由各個電路執(zhí)行的處理的細節(jié)。
圖14是表示由匹配確定寄存器電路115a執(zhí)行的處理的流程圖。下面將按照步驟編號的順序來描述圖14中所示的處理。
匹配確定寄存器電路115a確定參考數(shù)據(jù)有效性設置信號是否為高電平。如果確定參考數(shù)據(jù)有效性設置信號為高電平,則處理進行到步驟S12,而如果確定參考數(shù)據(jù)有效性設置信號不是高電平,則處理進行到步驟S13。
當確定參考數(shù)據(jù)有效性設置信號為高電平時,匹配確定寄存器電路115a存儲參考數(shù)據(jù)的有效位(位0)的值。如果參考數(shù)據(jù)有效,則將有效位(位0)設置為“1”,而如果參考數(shù)據(jù)無效,則將有效位(位0)設置為“0”。然后,處理返回到步驟S11。
匹配確定寄存器電路115a確定比較執(zhí)行信號是否為高電平,如果確定比較執(zhí)行信號為高電平,則處理進行到步驟S14,而如果確定比較執(zhí)行信號不是高電平,則處理返回到步驟S11。
匹配確定寄存器電路115a確定比較執(zhí)行寄存器電路115b的值是否為高電平。如果該值為高電平,則處理進行到步驟S15,而如果該值被設置為低電平,則處理返回到步驟S11。
匹配確定寄存器電路115a確定是否從比較器115e輸出了高電平匹配信號(表示比較結果檢測為匹配)。如果輸出高電平匹配信號,則保持存儲在該寄存器中的值,并且處理返回到步驟S11。如果沒有輸出高電平匹配信號,則處理進行到步驟S16。
匹配確定寄存器電路115a將存儲在寄存器中的值清為0。然后,處理返回到步驟S11。
如上所述,當參考數(shù)據(jù)有效性設置信號變?yōu)楦唠娖綍r,在匹配確定寄存器電路115a中存儲值1。此外,如果比較執(zhí)行信號變?yōu)楦唠娖剑⑶以诒容^執(zhí)行寄存器被設置為高電平時比較器115e的比較結果表示匹配,則在匹配確定寄存器電路115a中保持值1。另一方面,如果比較器115e的比較結果沒有表示匹配,則將存儲在匹配確定寄存器電路115a中的值清為0。
圖15是表示由比較執(zhí)行寄存器電路115b執(zhí)行的處理的流程圖。下面將按照步驟編號的順序描述圖15中所示的處理。
比較執(zhí)行寄存器電路115b確定比較條件設置信號是否為高電平。如果該信號為低電平,則重復執(zhí)行步驟S21直到確定該信號為高電平為止,而如果該信號為高電平,則處理進行到步驟S22。
比較執(zhí)行寄存器電路115b存儲參考數(shù)據(jù)的位0。當比較有效時,存儲值1(表示高電平輸出),而當比較無效時,存儲值0(表示低電平輸出)。然后,處理返回到步驟S21。
圖16是表示由子網(wǎng)掩碼長度寄存器電路115c執(zhí)行的內(nèi)部處理的流程圖。下面將按照步驟編號的順序描述圖16中所示的處理。
子網(wǎng)掩碼長度寄存器電路115c確定比較條件設置信號是否為高電平。如果該信號為低電平,則處理進行到步驟S33,而如果該信號為高電平,則處理進行到步驟S32。
子網(wǎng)掩碼長度寄存器電路115c存儲參考數(shù)據(jù)的位[5:1]。參考數(shù)據(jù)的位[5:1]表示“子網(wǎng)掩碼長度-1”的值。然后,該處理返回到步驟S31。
子網(wǎng)掩碼長度寄存器電路115c確定比較執(zhí)行信號是否為高電平。如果該信號為低電平,則重復執(zhí)行S33直到確定該信號為高電平為止,而如果該信號為高電平,則處理進行到步驟S34。
子網(wǎng)掩碼長度寄存器電路115c確定為其設置的值是否大于7。如果該值大于7,則處理進行到步驟S36。如果該值等于或小于7,則該處理進行到步驟S35。
子網(wǎng)掩碼長度寄存器電路115c將子網(wǎng)掩碼長度寄存器設置為0。然后,處理返回到步驟S31。
子網(wǎng)掩碼長度寄存器電路115c從對其設置的當前值中減去8。然后處理返回到步驟S31。
如上所述,在子網(wǎng)掩碼長度寄存器電路115c中,當確定比較條件設置信號為高電平時,存儲參考數(shù)據(jù)的對應位的值,并且當確定比較執(zhí)行信號為高電平時,從該值中減去8。重復執(zhí)行該減法操作,直到該值變?yōu)榈扔?為止。
接下來,將參照圖17到19詳細描述由地址控制電路執(zhí)行的內(nèi)部處理。
圖17是表示由地址控制電路執(zhí)行的內(nèi)部處理的第一流程圖。下面將按照步驟編號的順序描述圖17所示的處理。
地址控制電路113輸出參考數(shù)據(jù)有效性/無效性設置地址作為查找表111的地址。
地址控制電路113確定參考數(shù)據(jù)有效性設置信號是否為高電平。如果該信號為低電平,則重復執(zhí)行步驟S42直到確定該信號為高電平為止,而如果該信號為高電平,則處理進行到步驟S43。
地址控制電路113輸出源IP地址比較條件設置地址作為查找表111的地址。
地址控制電路113確定比較條件設置信號是否為高電平。如果該信號為低電平,則重復執(zhí)行步驟S44直到確定該信號為高電平為止,而如果該信號為高電平,則處理進行到步驟S45。
地址控制電路113輸出源IP地址的第一字節(jié)的地址作為查找表111的地址。
地址控制電路113確定比較執(zhí)行信號是否為高電平。如果該信號為低電平,則重復執(zhí)行步驟S46,直到確定該信號為高電平為止,而如果該信號為高電平,則處理進行到步驟S47。
地址控制電路113確定當前輸出的地址是否為源IP地址的最后一個字節(jié)的地址。如果該地址是最后一個字節(jié)的地址,則處理進行到圖18中的步驟S51。如果該地址不是最后一個字節(jié)的地址,則處理進行到步驟S48。
地址控制電路113輸出通過將當前輸出的地址加1而獲得的地址作為查找表的地址。然后,處理返回到步驟S46。
圖18是表示由地址控制電路執(zhí)行的內(nèi)部處理的第二流程圖。下面將按照步驟編號順序描述圖18中所示的處理。
地址控制電路113輸出目的IP地址比較條件設置地址作為查找表111的地址。
地址控制電路113確定比較條件設置信號是否為高電平。如果該信號為低電平,則重復執(zhí)行步驟S52,直到確定該信號為高電平為止,而如果該信號為高電平,則處理進行到步驟S53。
地址控制電路113輸出確定IP地址的第一個字節(jié)的地址作為查找表111的地址。
地址控制電路113確定比較執(zhí)行信號是否為高電平。如果該信號為低電平,則重復執(zhí)行步驟S54,直到確定該信號為高電平為止,而如果該信號為高電平,則處理進行到步驟S55。
地址控制電路113確定當前輸出的地址是否為確定IP地址的最后一個字節(jié)的地址。如果該地址是最后一個字節(jié)的地址,則處理進行到步驟S57。如果該地址不是最后一個字節(jié)的地址,則處理進行到步驟S56。
地址控制電路113輸出通過將當前輸出的地址加1而獲得的地址作為查找表的地址。然后,處理返回到步驟S54。
地址控制電路113輸出SPI比較條件設置地址作為查找表111的地址。
地址控制電路113確定比較條件設置信號是否為高電平。如果該信號為低電平,則重復執(zhí)行步驟S58,直到確定該信號為高電平為止,如果該信號為高電平,則處理進行到步驟S59。
地址控制電路113輸出SPI的第一個字節(jié)的地址作為查找表111的地址。然后,處理進行到圖19中的步驟S61。
圖19是表示由地址控制電路執(zhí)行的內(nèi)部處理的第三流程圖。下面將按照步驟編號的順序來描述圖19所示的處理。
地址控制電路113確定比較執(zhí)行信號是否為高電平。如果該信號為低電平,則重復執(zhí)行步驟S61直到確定該信號為高電平為止,如果該信號為高電平,則處理進行到步驟S62。
地址控制電路113確定當前輸出的地址是否為SPI的最后一個字節(jié)的地址。如果該地址是最后一個字節(jié)的地址,則處理進行步驟S64。如果該地址不是最后一個字節(jié)的地址,則處理進行到步驟S63。
地址控制電路113輸出通過將當前輸出的地址加1而獲得的地址作為查找表的地址。然后,處理返回到步驟S61。
地址控制電路輸出SA ID地址作為查找表S111的地址。
地址控制電路113確定比較結果輸出信號是否為高電平。如果該信號為低電平,則重復執(zhí)行步驟S65,直到確定該信號為高電平為止。如果信號為高電平,則處理進行到步驟S66。
地址控制電路113輸出參考數(shù)據(jù)有效性/無效性設置地址作為查找表111的地址。
由此,可以執(zhí)行輸入分組的識別。在上述實施例中,從查找表中逐個單元數(shù)據(jù)地輸出參考數(shù)據(jù),并且在各個單元數(shù)據(jù)和比較數(shù)據(jù)之間執(zhí)行比較。因此,單元比較電路僅需構造為可以同時比較與各個單元數(shù)據(jù)的數(shù)據(jù)長度相對應的多個位(例如8位)。這使得可以避免增大各個電路的尺寸。
此外,在本實施例中使用的查找表可以構造為與通用RAM等相類似,以響應于地址輸入從查找表輸出數(shù)據(jù)。換句話說,不需要使用CAM。這有利于降低分組識別裝置的單價。
此外,根據(jù)本發(fā)明的分組識別單元可以很容易地并聯(lián)連接。因此,可以根據(jù)參考數(shù)據(jù)的數(shù)量來確定要并聯(lián)連接的分組識別單元的數(shù)量,這有利于根據(jù)裝置的預期操作來構造分組識別裝置。此外,由于如上所述用于執(zhí)行并行處理的分組識別單元的數(shù)量隨著參考數(shù)據(jù)量的增加而增加,所以可以執(zhí)行每一個分組與大量參考數(shù)據(jù)的比較,而不增加分組識別所需的時間。
盡管在上述示例中,將用于每次比較操作的數(shù)據(jù)長度設置為8位,但是這不是限制性的,還可以采用能夠執(zhí)行4位或16位比較的單元比較電路。
應該注意,當用于每次比較操作的數(shù)據(jù)長度的單位改變時,需要適當?shù)匦薷漠a(chǎn)生數(shù)據(jù)采集信號的定時以及記錄參考數(shù)據(jù)的方法。
此外,當希望采用不僅可以檢測IP地址、端口號等的匹配,而且可以通過指定上限值和下限值來確定IP地址、端口號等的范圍并確定比較數(shù)據(jù)是否在該范圍內(nèi)的方法,而不是重復比較具有預定數(shù)據(jù)長度的單元數(shù)據(jù)的上述方法時,可以想到下面的方法例如,假定單元數(shù)據(jù)長度被設置為4位,并且希望使用上限值和下限值來指定端口號(位寬度16位)的范圍。在這種情況下,在一個單元比較電路中存儲了與端口號相對應的四條比較數(shù)據(jù)(4位)以及與下限值和上限值中的每一個相對應的四條參考數(shù)據(jù),并且由該單元比較電路執(zhí)行4位比較。
此外,盡管在單元比較電路中,例如通過使用前述的子網(wǎng)掩碼從比較中排除了某些IP地址,但是也可以使用同樣的方法排除其它屬性的各種比較數(shù)據(jù)中的某一些。
另外,還可以擴展單元比較電路的功能,以使其不僅可以輸出匹配信號,還可以輸出有關比較數(shù)據(jù)與哪個參考數(shù)據(jù)相匹配的信息,或者與該匹配相關的各種信息,這種變型也在本發(fā)明的范圍內(nèi)。
此外,當比較數(shù)據(jù)與多個所記錄的數(shù)據(jù)相匹配時,可以根據(jù)條件(例如在一系列記錄編號中的位置)將優(yōu)先權賦予這些記錄數(shù)據(jù)之一,并且這種變型也在本發(fā)明的范圍內(nèi)。
另外,在本示例中,假定在查找表中記錄的多個參考數(shù)據(jù)不能同時與比較數(shù)據(jù)匹配,但是當希望可以同時出現(xiàn)多個匹配時(例如在分組過濾時),可以提供按照記錄編號的升序將優(yōu)先級賦予與比較數(shù)據(jù)匹配的多個參考數(shù)據(jù)的功能。這種變型也在本發(fā)明的范圍內(nèi)。
在向查找表中記錄數(shù)據(jù)時還可以采用下述構造,其中所需的數(shù)據(jù)不是一次寫入的,而是在多個獨立操作中寫入。在這種情況下,例如,如果要記錄的數(shù)據(jù)是128位的數(shù)據(jù),單元數(shù)據(jù)長度設置為4位,則要在32個周期中將這些4位的單元數(shù)據(jù)寫入查找表。這使得可以減少分組識別裝置的引腳數(shù)量,這在安裝本裝置時是有用的。
如上所述,根據(jù)本發(fā)明,以劃分為多個單元數(shù)據(jù)的狀態(tài)來存儲參考數(shù)據(jù),并且將與比較數(shù)據(jù)的屬性相關的多個單元數(shù)據(jù)和該比較數(shù)據(jù)進行比較。因此,比較電路僅需要能夠根據(jù)單元數(shù)據(jù)的數(shù)據(jù)長度來執(zhí)行數(shù)據(jù)比較,這有利于降低執(zhí)行高速分組識別的整個電路的尺寸。
以上內(nèi)容應該認為僅是本發(fā)明原理的說明。另外,由于對于本領域的技術人員來說很容易想到許多修改和變化,所以不希望把本發(fā)明限制為所示和所述的具體構造和應用,相應地,所有適當?shù)男薷暮偷刃Х绞蕉急徽J為落入所附權利要求及其等效物中的本發(fā)明的范圍內(nèi)。
本申請是2003年1月29日提交的國際申請PCT/JP2003/000863的延續(xù)申請,根據(jù)35U.S.C.§111(a)提交。
權利要求
1.一種用于識別輸入分組的內(nèi)容的分組識別裝置,其包括查找表,該查找表以分布式的方式在具有逐個屬性限定的地址的各個存儲區(qū)中存儲有多個參考數(shù)據(jù),每一個參考數(shù)據(jù)被分為與各個屬性相關的單元數(shù)據(jù),并且該查找表在輸入讀取地址時是可操作的,以輸出與這些屬性中對應于該讀取地址的一個屬性相關的多個單元數(shù)據(jù);分析電路,該分析電路對所述輸入分組中的比較數(shù)據(jù)項的屬性進行分析;地址控制電路,該地址控制電路將與所述分析電路進行了分析的比較數(shù)據(jù)項的屬性相對應的地址輸出給所述查找表,作為所述讀取數(shù)據(jù);以及多個單元比較電路,該多個單元比較電路被設置為分別與所述多個參考數(shù)據(jù)相關,分別用于對從所述查找表輸出的所述多個單元數(shù)據(jù)中的相關單元數(shù)據(jù)與由所述分析電路進行了分析的所述比較數(shù)據(jù)項進行比較。
2.根據(jù)權利要求1所述的分組識別裝置,其中當從所述分組中提取的所有比較數(shù)據(jù)項都與所述參考數(shù)據(jù)中相同屬性的相應單元數(shù)據(jù)相匹配時,所述單元比較電路確定與其相關的參考數(shù)據(jù)和所述分組之間存在匹配。
3.根據(jù)權利要求2所述的分組識別裝置,其中所述查找表存儲有所述參考數(shù)據(jù),所述參考數(shù)據(jù)包括要作為比較結果輸出的比較結果數(shù)據(jù),并且其中所述地址控制電路在完成對所述分組中的所有比較數(shù)據(jù)項的比較后,將存儲有所述比較結果數(shù)據(jù)的存儲區(qū)的地址輸出給所述查找表,并且其中當與所述單元比較電路相關的參考數(shù)據(jù)與所述分組之間存在匹配時,所述單元比較電路輸出從所述查找表傳送的所述比較結果數(shù)據(jù),作為比較結果。
4.根據(jù)權利要求3所述的分組識別裝置,其中所述查找表作為所述比較結果數(shù)據(jù)存儲有識別信息,該識別信息唯一地識別在加密/解密中使用的密鑰。
5.根據(jù)權利要求1所述的分組識別裝置,其中所述查找表存儲有所述參考數(shù)據(jù),所述參考數(shù)據(jù)包括表示比較條件的比較條件數(shù)據(jù),并且其中當所述分析電路接收到預定屬性的比較數(shù)據(jù)項時,所述分析電路輸出與該預定屬性相關的比較條件設置信號,然后輸出用于執(zhí)行該比較數(shù)據(jù)項的比較的比較執(zhí)行信號,并且其中所述地址控制電路響應于所述比較條件設置信號輸出與所述比較條件數(shù)據(jù)相對應的讀取地址,并且響應于所述比較執(zhí)行信號輸出與所述預定屬性相對應的讀取地址,并且其中所述單元比較電路根據(jù)從所述查找表傳送的所述比較條件數(shù)據(jù),對所述比較條件數(shù)據(jù)之后接收到的比較數(shù)據(jù)項與所述單元數(shù)據(jù)進行比較。
6.根據(jù)權利要求5所述的分組識別裝置,其中所述單元比較電路基于所述比較條件數(shù)據(jù)來確定是否需要對所述比較數(shù)據(jù)項與所述單元數(shù)據(jù)進行比較。
7.根據(jù)權利要求5所述的分組識別裝置,其中當所述分析電路輸出所述比較條件設置信號時,所述分析電路延遲向所述單元比較電路提供后續(xù)的比較數(shù)據(jù)項。
8.根據(jù)權利要求7所述的分組識別裝置,其中僅當連續(xù)輸入所述比較數(shù)據(jù)項時,所述分析電路才延遲提供所述比較數(shù)據(jù)項。
9.根據(jù)權利要求1所述的分組識別裝置,其中所述分析電路基于包含在所述分組中的報頭信息來確定所述分組中的數(shù)據(jù)項的屬性。
10.根據(jù)權利要求1所述的分組識別裝置,其中所述單元比較電路基于為所述比較數(shù)據(jù)項設置的掩碼信息,從比較中排除某些比較數(shù)據(jù)項。
11.一種用于識別輸入分組的內(nèi)容的分組識別裝置,其包括彼此并聯(lián)連接的多個分組識別單元,所述多個分組識別單元中的每一個都包括查找表,該查找表以分布式的方式在具有逐個屬性限定的地址的各個存儲區(qū)中存儲有多個參考數(shù)據(jù),每一個參考數(shù)據(jù)被分為與各個屬性相關的單元數(shù)據(jù),并且該查找表在輸入讀取地址時是可操作的,以輸出與這些屬性中對應于該讀取地址的一個屬性相關的多個單元數(shù)據(jù);分析電路,該分析電路對所述輸入分組中的比較數(shù)據(jù)項的屬性進行分析;地址控制電路,該地址控制電路將與所述分析電路進行了分析的比較數(shù)據(jù)項的屬性相對應的地址輸出給所述查找表,作為所述讀取數(shù)據(jù);以及多個單元比較電路,該多個單元比較電路被設置為分別與所述多個參考數(shù)據(jù)相關,分別用于對從所述查找表輸出的所述多個單元數(shù)據(jù)中的相關單元數(shù)據(jù)與由所述分析電路進行了分析的所述比較數(shù)據(jù)項行比較。
12.一種用于識別輸入分組的內(nèi)容的方法,包括以下步驟以分布式的方式在具有逐個屬性限定的地址的各個存儲區(qū)中預先存儲多個參考數(shù)據(jù),每一個參考數(shù)據(jù)都被分為與各個屬性相關的單元數(shù)據(jù);對所述輸入分組中的比較數(shù)據(jù)項的屬性進行分析;從所述查找表的存儲區(qū)中獲取多個單元數(shù)據(jù),該存儲區(qū)由與經(jīng)分析的比較數(shù)據(jù)項的屬性相關的地址表示;以及使用多個單元比較電路來執(zhí)行所獲取的單元數(shù)據(jù)與比較數(shù)據(jù)項之間的并行比較,由此確定所述比較數(shù)據(jù)項是否與所獲取的單元數(shù)據(jù)中的任何一個相匹配。
全文摘要
分組識別裝置和分組識別方法。一種分組識別裝置,其能夠在抑制電路尺寸增大的同時實現(xiàn)高速分組識別。查找表以分布式的方式在具有逐個屬性限定的地址的各個存儲區(qū)中存儲了多個參考數(shù)據(jù),每一個參考數(shù)據(jù)被分為與各個屬性相關的單元數(shù)據(jù),并且該查找表在輸入讀取地址時是可操作的,以輸出與這些屬性中對應于該讀取地址的屬性相關的多個單元數(shù)據(jù)。分析電路對輸入分組中的比較數(shù)據(jù)項的屬性進行分析。地址控制電路將與分析電路分析過的比較數(shù)據(jù)項的屬性相對應的地址輸出給查找表作為讀取數(shù)據(jù)。分別與該多個參考數(shù)據(jù)相關地設置多個單元比較電路,分別用于對從查找表輸出的多個單元數(shù)據(jù)中的相關單元數(shù)據(jù)與由分析電路分析過的比較數(shù)據(jù)項進行比較。
文檔編號H04L12/22GK1689282SQ03823658
公開日2005年10月26日 申請日期2003年1月29日 優(yōu)先權日2003年1月29日
發(fā)明者淺野和也 申請人:富士通株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阳朔县| 芒康县| 阳曲县| 桃源县| 洪泽县| 勃利县| 墨玉县| 始兴县| 新绛县| 静海县| 高阳县| 玛多县| 奉化市| 江陵县| 芜湖县| 新邵县| 凤山市| 自治县| 太湖县| 渭源县| 泰宁县| 同江市| 嵊泗县| 蒙城县| 定襄县| 云浮市| 达拉特旗| 金乡县| 咸丰县| 光泽县| 疏附县| 徐州市| 平阴县| 灵璧县| 洛阳市| 乌鲁木齐市| 边坝县| 自贡市| 贞丰县| 光山县| 奉贤区|