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

用于基于傳輸控制協(xié)議話務(wù)流特征進(jìn)行超高速緩存查找的設(shè)備和方法

文檔序號(hào):7607816閱讀:112來(lái)源:國(guó)知局
專利名稱:用于基于傳輸控制協(xié)議話務(wù)流特征進(jìn)行超高速緩存查找的設(shè)備和方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及通信網(wǎng)絡(luò),特別涉及用于提高連接到所述網(wǎng)絡(luò)的裝置的數(shù)據(jù)管理能力的設(shè)備和方法。
背景技術(shù)
接下來(lái)的描述預(yù)先假定知道網(wǎng)絡(luò)數(shù)據(jù)通信以及在這樣的通信網(wǎng)絡(luò)中使用的交換機(jī)、網(wǎng)絡(luò)處理器、適配器、路由器等。特別地,描述中預(yù)先假設(shè)熟悉將網(wǎng)絡(luò)操作分層的網(wǎng)絡(luò)體系結(jié)構(gòu)的ISO模型?;贗SO模型的典型體系結(jié)構(gòu)是把網(wǎng)絡(luò)操作分層的網(wǎng)絡(luò)體系結(jié)構(gòu)。基于ISO模型的典型體系結(jié)構(gòu)從作為傳送信號(hào)的物理通道或媒介的第1層(有時(shí)也標(biāo)識(shí)為“L1”)向上擴(kuò)展,經(jīng)過(guò)第2、3、4層等,直到第7層,最后提及的是在鏈接到網(wǎng)絡(luò)的計(jì)算機(jī)系統(tǒng)上運(yùn)行的應(yīng)用程序?qū)?。在這個(gè)文獻(xiàn)中,提及L1、L2等是想指網(wǎng)絡(luò)體系結(jié)構(gòu)的對(duì)應(yīng)層。該公開(kāi)還預(yù)先假定了對(duì)在這樣的網(wǎng)絡(luò)通信中稱為分組和幀的位串(bit string)的基本理解。
通信網(wǎng)絡(luò)的一般模型可以包括一個(gè)或多個(gè)專用網(wǎng),其通過(guò)防火墻或類似結(jié)構(gòu)耦接到公用網(wǎng)絡(luò)如更多的稱為因特網(wǎng)的萬(wàn)維網(wǎng)(WWW)。連接到網(wǎng)絡(luò)的裝置(此后稱為網(wǎng)絡(luò)裝置)之間的通信可主要發(fā)生在專用網(wǎng)內(nèi)或者通過(guò)防火墻經(jīng)由因特網(wǎng)到遠(yuǎn)程專用網(wǎng)。
為了在網(wǎng)絡(luò)裝置之間交換信息并且管理網(wǎng)絡(luò),需要一些類型的協(xié)議。可以將該協(xié)議表征為一套控制網(wǎng)絡(luò)接入的規(guī)則,并且在某些情況下用于將網(wǎng)絡(luò)保持在可操作條件。即使有一些標(biāo)準(zhǔn)協(xié)議,如可以用在專用網(wǎng)上的以太網(wǎng)、令牌網(wǎng)等,但大多數(shù)專用網(wǎng)絡(luò)可使用所希望使用的任何協(xié)議管理。僅有的可能限制是,專用網(wǎng)絡(luò)上的網(wǎng)絡(luò)裝置必須認(rèn)識(shí)該協(xié)議,否則,該網(wǎng)絡(luò)裝置將不能令人滿意地操作或通信。
因?yàn)閷S脜f(xié)議缺乏統(tǒng)一性,所以進(jìn)一步的討論受限于在因特網(wǎng)上使用的公用協(xié)議。該公用協(xié)議稱為T(mén)CP(傳輸控制協(xié)議)/IP(因特網(wǎng)協(xié)議)。這是用于在因特網(wǎng)上進(jìn)行通信的公知協(xié)議。
諸如網(wǎng)絡(luò)處理器的網(wǎng)絡(luò)裝置的一個(gè)性能度量,運(yùn)行IP路由應(yīng)用是基于在諸如一秒的設(shè)置時(shí)間間隔內(nèi)所處理或分類的分組數(shù)。這反過(guò)來(lái)可以受所需要的分類類型的影響。為了路由分組的目的,可以將網(wǎng)絡(luò)分類劃分為第2層(L2)、第3層(L3)、第4層(L4)以及之上。每一層所需要的計(jì)算從L2到L4以及之上而增加。例如,L2分類可以簡(jiǎn)單到發(fā)現(xiàn)媒體接入控制(MAC)表格匹配。這個(gè)過(guò)程將需要比較MAC源地址(SA)或MAC目的地址(DA)分組和表格中的地址。更通常的方案是使用完全匹配算法、L2分類任務(wù)。L3分類可用于路由和其它L3功能。如果用于路由的目的,L3分類需要發(fā)現(xiàn)分組中的信息和數(shù)據(jù)庫(kù)中的信息之間的最長(zhǎng)前綴匹配。最長(zhǎng)前綴匹配算法用于L3分類。該最長(zhǎng)前綴匹配算法比完全匹配算法更復(fù)雜,并因此需要更多的計(jì)算時(shí)間。
L4分類包括諸如用可能復(fù)雜的調(diào)解范圍等來(lái)實(shí)施過(guò)濾規(guī)則之類的復(fù)雜功能。這個(gè)類型的分類通常需要復(fù)雜算法,其使用相對(duì)長(zhǎng)的時(shí)間間隔來(lái)處理分組。對(duì)于L4之上的查找或分類,處理分組的時(shí)間間隔甚至還增加。L4分類之上的處理指的是深分組處理。
鑒于上述,諸如網(wǎng)絡(luò)處理器之類的網(wǎng)絡(luò)裝置的吞吐量(每秒鐘所處理的分組數(shù))取決于該裝置所執(zhí)行的查找或分類的類型。因此,當(dāng)需要L3和更高層查找時(shí),網(wǎng)絡(luò)處理器的計(jì)算資源緊張。此外,經(jīng)常需要網(wǎng)絡(luò)處理器以每秒鐘數(shù)百萬(wàn)分組來(lái)執(zhí)行查找,這進(jìn)一步使計(jì)算資源緊張。在網(wǎng)絡(luò)處理器的資源緊張的情況下,其能夠滿足吞吐量需要、并同時(shí)處理L3和更高層查找的可能性變得相對(duì)低。因此,需要將使諸如網(wǎng)絡(luò)處理器的網(wǎng)絡(luò)裝置能夠保持吞吐量以便滿足性能需要并同時(shí)處理L3和更高層查找的資源。

發(fā)明內(nèi)容
第一方面,提供了一種用于管理通信網(wǎng)絡(luò)中的話務(wù)(traffic)的方法,包括以下行為(a)在網(wǎng)絡(luò)裝置中提供高速緩沖存儲(chǔ)器(cache),其容納與分組相關(guān)的最低限度(at least)預(yù)定義特征以及與所述預(yù)定義特征中所選擇的特征配對(duì)的行為(action);(b)在所述網(wǎng)絡(luò)裝置中接收至少一個(gè)分組;(c)從所述已接收的分組特征中選擇與該最低限度預(yù)定義特征類似的特征;(d)使從所述已接收的分組中選擇的特征和預(yù)定義特征相關(guān)聯(lián)(correlate);以及(e)使用關(guān)聯(lián)的結(jié)果來(lái)處理已接收的分組。
優(yōu)選地,所述處理包括如果所述已接收的分組的特征與該最低限度預(yù)定義特征匹配,則對(duì)已接收的分組實(shí)施配對(duì)行為。
優(yōu)選地,最低限度預(yù)定義特征包括因特網(wǎng)協(xié)議(IP)目的地址(DA)、IP源地址(SA)、傳輸控制協(xié)議(TCP)目的端口(DP)以及TCP源端口(SP)。
優(yōu)選地,關(guān)聯(lián)行為包括比較。
優(yōu)選具有包括如下行為的方法在存儲(chǔ)器中提供與分組相關(guān)的預(yù)定義特征和要執(zhí)行的行為的映射;接收將要分類的分組;使已接收的分組的所選擇的特征和預(yù)定義特征相關(guān)聯(lián);并且如果所選擇的特征與預(yù)定義特征匹配,則對(duì)所述接收分組執(zhí)行所存儲(chǔ)的行為。
優(yōu)選地,關(guān)聯(lián)行為包括比較。
優(yōu)選地,預(yù)定義特征包括源地址(SA)、目的地址(DA)、源端口(SP)、和目的端口(DP)。
優(yōu)選地,接收的分組包括數(shù)據(jù)分組。
優(yōu)選地,所存儲(chǔ)的與預(yù)定義特征相關(guān)的行為僅僅根據(jù)一組分組的第一分組更新。
優(yōu)選地,對(duì)該組分組中第一分組之后的所有分組執(zhí)行所存儲(chǔ)的行為。
在第二方面,提供了一種系統(tǒng),其包括處理器;以及高速緩沖存儲(chǔ)器,可操作地耦接到所述處理器,所述高速緩沖存儲(chǔ)器存儲(chǔ)分組的預(yù)定義特征和行為之間的映射,其中所述處理器執(zhí)行第一程序,其使所述處理器將所選擇的分組的特征和預(yù)定義特征相關(guān)聯(lián),并且如果來(lái)自所選擇的分組的特征與預(yù)定義特征匹配,則對(duì)所選擇的分組實(shí)施與預(yù)定義特征相關(guān)的行為。
優(yōu)選地,預(yù)定義特征包括源地址(SA)、目的地址(DA)、源端口(SP)、和目的端口(DP)。
優(yōu)選地,處理器包括網(wǎng)絡(luò)處理器。
該系統(tǒng)優(yōu)選地還包括可操作地耦接到所述處理器的存儲(chǔ)器,其中存儲(chǔ)用于完全分組搜索的數(shù)據(jù)結(jié)構(gòu),其中所述處理器執(zhí)行第二程序,其使所述處理器訪問(wèn)該數(shù)據(jù)結(jié)構(gòu),并且如果預(yù)定義特征和來(lái)自所選擇的分組的特征之間發(fā)生失配,則對(duì)所選擇分組實(shí)施所述數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的行為。
優(yōu)選地,所選擇的分組包括所收的分組。
優(yōu)選地,第二程序包括完全匹配算法。
優(yōu)選地,第二程序包括最長(zhǎng)前綴匹配算法。
優(yōu)選地,第二程序包括軟件管理樹(shù)算法(Software Managed Treealgorithm)。
優(yōu)選地,所述存儲(chǔ)器在處理器內(nèi)部。
優(yōu)選地,所述存儲(chǔ)器在處理器外部。
優(yōu)選地,數(shù)據(jù)結(jié)構(gòu)包括直接表格(Direct Table)和帕特麗夏(Patricia)樹(shù)。
優(yōu)選具有包括如下裝置的系統(tǒng)存儲(chǔ)器,其存儲(chǔ)分組的預(yù)定義特征和將要對(duì)所有特征值集的子集執(zhí)行的行為之間的映射;以及控制器,其使已接收的分組中的特征和預(yù)定義特征相關(guān)聯(lián),并且如果該特征與預(yù)定義特征匹配,則對(duì)所述已接收的分組執(zhí)行所述行為。
在第三方面,提供了一種包括計(jì)算機(jī)程序代碼的計(jì)算機(jī)程序,當(dāng)被加載到計(jì)算機(jī)系統(tǒng)并在其上執(zhí)行時(shí),使所述計(jì)算機(jī)系統(tǒng)執(zhí)行根據(jù)第一方面的方法的所有步驟。
優(yōu)選地,以包括在其上記錄計(jì)算機(jī)程序的介質(zhì)的程序產(chǎn)品的形式提供計(jì)算機(jī)程序,所述程序包括使已接收的分組的特征和表格中的特征的指令相關(guān)聯(lián),所述表格容納所有可能特征值的子集;以及如果所接收的分組的特征和表格中的特征匹配,就對(duì)已接收的分組實(shí)施存儲(chǔ)在所述表格中的行為的指令。
所述程序產(chǎn)品優(yōu)選地還包括產(chǎn)生容納所述特征和相關(guān)行為的表格的指令,并優(yōu)選地還包括保留所述表格的指令。
優(yōu)選地,進(jìn)行保留的指令還包括刪除老化的條目(entry)并插入新條目的指令。
優(yōu)選地,在(b)中接收的所述至少一個(gè)分組滿足成為屬于相同會(huì)話的短脈沖串分組內(nèi)的一個(gè)分組的頻繁飛行者(Frequent Flyer)準(zhǔn)則。
該系統(tǒng)優(yōu)選地還包括可操作地耦接到存儲(chǔ)器的老化機(jī)制,所述老化機(jī)制周期性地從所述存儲(chǔ)器中刪除老條目。
優(yōu)選地,基于預(yù)定準(zhǔn)則刪除老條目。
優(yōu)選地,預(yù)定義準(zhǔn)則包括當(dāng)所述存儲(chǔ)器已滿且有新條目需要添加時(shí)刪除最近最少使用的條目。
這樣優(yōu)選地,提供了一種對(duì)通信網(wǎng)絡(luò)中的分組進(jìn)行分類的方法,包括以下行為(a)接收網(wǎng)絡(luò)裝置中的分組;(b)確定存在于已接收的分組中的數(shù)據(jù)分組;(c)提供在其中存儲(chǔ)了分組的預(yù)定義特征和與預(yù)定義特征中所選擇的特征相關(guān)的行為的高速緩沖存儲(chǔ)器;對(duì)于如此確定的每個(gè)數(shù)據(jù)分組,使所述每個(gè)數(shù)據(jù)分組的所選擇的特征和所述高速緩沖存儲(chǔ)器中的預(yù)定義特征相關(guān)聯(lián);并且對(duì)于所選擇的特征與預(yù)定義特征之一匹配的每個(gè)數(shù)據(jù)分組,對(duì)所述每個(gè)數(shù)據(jù)分組強(qiáng)加與所述預(yù)定義特征之一相關(guān)的行為。
優(yōu)選地,該分組包括TCP/IP分組。
優(yōu)選地,確定行為還包括檢查T(mén)CP報(bào)頭中的控制位的行為;如果將所述控制位中所選擇的位設(shè)置到第一狀態(tài),則檢查IP報(bào)頭中的長(zhǎng)度字段以確定其值;將TCP報(bào)頭中的數(shù)據(jù)偏移字段的值乘以4;以及從長(zhǎng)度字段的值中減去相乘的結(jié)果。
優(yōu)選地,第一狀態(tài)包括邏輯“0”。
優(yōu)選地,所選擇的所述控制位中所選擇的位包括SYN、FIN以及RST。本發(fā)明的實(shí)施例優(yōu)選地提供加速器,其改善網(wǎng)絡(luò)裝置的查找能力,并且通過(guò)這么做,所述網(wǎng)絡(luò)裝置能夠比迄今所可能的情況更有效地將分組分類。所述加速器可包括稱為高速緩沖存儲(chǔ)器的存儲(chǔ)器,在其中存儲(chǔ)了稱為(在此描述的)四元組的TCP分組的特征。所述四元組包括因特網(wǎng)協(xié)議(IP)SA、IP DA、傳輸控制協(xié)議(TCP)源端口(SP)以及目的端口(DP)。也存儲(chǔ)了與每個(gè)四元組有關(guān)的行為。匹配邏輯使已接收的分組中的四元組和高速緩沖存儲(chǔ)器中的四元組相關(guān)聯(lián)。如果發(fā)生匹配,則將高速緩沖存儲(chǔ)器中與所述四元組相關(guān)的行為施加到已接收的分組中。如果沒(méi)有發(fā)生匹配,則遵循用于對(duì)那個(gè)類型的分組進(jìn)行分類的常規(guī)處理。提供了特定的方法和設(shè)備來(lái)填充并動(dòng)態(tài)地老化流高速緩沖存儲(chǔ)器。該高速緩沖存儲(chǔ)器和相關(guān)的硬件和/或軟件稱為“流高速緩沖存儲(chǔ)器”。
通過(guò)使用流高速緩沖存儲(chǔ)器,網(wǎng)絡(luò)處理器可以以快于迄今可能的速率對(duì)分組進(jìn)行分類。


現(xiàn)在將參考附圖、僅作為例子給出本發(fā)明的優(yōu)選實(shí)施例,其中圖1示出其中網(wǎng)絡(luò)裝置實(shí)行本發(fā)明的講述內(nèi)容的通信網(wǎng)絡(luò)的框圖;圖2示出網(wǎng)絡(luò)處理器的框圖;圖3示出根據(jù)本發(fā)明的講述內(nèi)容的子系統(tǒng)(流高速緩沖存儲(chǔ)器和控制器)的框圖;
圖4示出分組格式的圖形表示;圖5示出TCP報(bào)頭的格式;圖6示出IP報(bào)頭的格式;圖7示出根據(jù)本發(fā)明的講述內(nèi)容在計(jì)算機(jī)上執(zhí)行的程序的流程圖;圖8示出根據(jù)本發(fā)明的講述內(nèi)容用于清空流高速緩沖存儲(chǔ)器的流程圖。
具體實(shí)施例方式
本發(fā)明的優(yōu)選實(shí)施例使用流高速緩沖存儲(chǔ)器來(lái)加速通信網(wǎng)絡(luò)中的分組分類,并因此提高所述網(wǎng)絡(luò)裝置在特定的單位時(shí)間內(nèi)可以處理的分組數(shù)目。其對(duì)于TCP話務(wù)很適用,并因此將在該環(huán)境中描述。然而,這不應(yīng)該是對(duì)本發(fā)明范圍的限制,因?yàn)槠鋵?duì)話務(wù)以脈沖串形式出現(xiàn)的任何通信協(xié)議都適用。例如,人們相信,DNS服務(wù)器之間UDP話務(wù)(協(xié)議17)脈沖串出現(xiàn),并且也可以受益于流高速緩沖存儲(chǔ)器。作為本發(fā)明的一般說(shuō)明,一般的方案是識(shí)別一貫具有大多數(shù)集束(bundling)并僅僅從其進(jìn)入到高速緩沖存儲(chǔ)器的那些流。同樣重要的是,對(duì)沒(méi)有集束的那些分組類型避開(kāi)高速緩沖存儲(chǔ)器。
具有大多數(shù)集束的流或分組進(jìn)入在相對(duì)短周期的時(shí)間間隔內(nèi)出現(xiàn)的脈沖串包,并且在這個(gè)文獻(xiàn)中稱為“頻繁飛行者(Frequent Flyer)”。
圖1示出在其中使用了本發(fā)明的講述的高度簡(jiǎn)化的網(wǎng)絡(luò)100。該網(wǎng)絡(luò)包括連接到因特網(wǎng)或其它網(wǎng)絡(luò)102的多個(gè)邊緣裝置104。將每個(gè)邊緣裝置104連接到子網(wǎng)絡(luò)106,其可以是使建筑物、校園等中的用戶相互連接的專用網(wǎng)絡(luò)。這樣的子網(wǎng)絡(luò)在本領(lǐng)域公知,并將不對(duì)其進(jìn)行進(jìn)一步描述。通過(guò)橋裝置110將子網(wǎng)絡(luò)106連接到另一個(gè)子網(wǎng)絡(luò)。邊緣裝置104可以是路由器交換機(jī)或者用于這個(gè)類型的分組處理的任何其它網(wǎng)絡(luò)裝置。每一個(gè)邊緣裝置具有網(wǎng)絡(luò)處理器108。根據(jù)裝置類型,可以使用一個(gè)或多個(gè)網(wǎng)絡(luò)處理器。橋裝置110還可以包含用于執(zhí)行路由功能的網(wǎng)絡(luò)處理器108。在本領(lǐng)域中公知諸如104和110的網(wǎng)絡(luò)裝置的使用,所以將不再給出對(duì)這些實(shí)體的進(jìn)一步描述。
圖2示出圖1所示的網(wǎng)絡(luò)處理器的框圖。該網(wǎng)絡(luò)處理器執(zhí)行包括根據(jù)本發(fā)明的講述內(nèi)容的那些應(yīng)用的IP路由應(yīng)用,并且當(dāng)從因特網(wǎng)接收幀時(shí)將該幀分類。由網(wǎng)絡(luò)處理器執(zhí)行不同分類任務(wù),包括第2層(發(fā)現(xiàn)MAC表格匹配)、第3層(發(fā)現(xiàn)用于路由的最長(zhǎng)前綴匹配)、第4層(加強(qiáng)具有協(xié)議參數(shù)的可能復(fù)雜相交范圍的過(guò)濾規(guī)則)、以及更高層查找(上至應(yīng)用層,例如所謂的深分組處理)。諸如第4層分類的一些分類需要相對(duì)長(zhǎng)的處理時(shí)間,因?yàn)槠渖婕皬?fù)雜的算法。本發(fā)明提供了一種顯著減少了執(zhí)行第3層、第4層和更高層分類所需要的平均時(shí)間的設(shè)備和技術(shù)。雖然任何類型的網(wǎng)絡(luò)處理器都可以用于執(zhí)行本發(fā)明的優(yōu)選實(shí)施例中的分類功能,這里使用了IBM開(kāi)發(fā)和銷售的PowerNP。該P(yáng)owerNP是單片裝置10,其包括集成在襯底上的多個(gè)功能單元。這些功能單元排列為上行配置(upside configuration)和下行配置(downsideconfiguration),其中上行配置(有時(shí)也稱為“進(jìn)路(Ingress)”)指的是涉及從數(shù)據(jù)傳輸網(wǎng)絡(luò)入站到芯片(向上至或進(jìn)入芯片)的數(shù)據(jù)的那些元件,而“下行”(有時(shí)也稱為“出路(Egress)”)指的是功能為以出站方式從芯片向數(shù)據(jù)傳送網(wǎng)絡(luò)傳送數(shù)據(jù)(遠(yuǎn)離芯片或者向下并進(jìn)入網(wǎng)絡(luò))的那些元件。數(shù)據(jù)流遵循上行和下行配置的各個(gè)布置。因此,在圖2的系統(tǒng)中有上行數(shù)據(jù)流和下行數(shù)據(jù)流。上行或進(jìn)路配置部件包括入隊(duì)出隊(duì)調(diào)度UP(EDS-UP)邏輯16、多個(gè)多路復(fù)用的MAC-UP(PMM-UP)14、交換數(shù)據(jù)向上推進(jìn)器(SMD-DN)18、系統(tǒng)接口SIF(20)、數(shù)據(jù)對(duì)準(zhǔn)串行鏈路A(DASL A)22和數(shù)據(jù)對(duì)準(zhǔn)串行鏈路B(DASLB)24。DASL A 22和DASL B 24將網(wǎng)絡(luò)處理器連接到具有需要多個(gè)網(wǎng)絡(luò)處理器的許多網(wǎng)絡(luò)連接的系統(tǒng)中的交換機(jī)。
仍舊參考圖2,在系統(tǒng)的下行(或出路)中示出的元件包括數(shù)據(jù)鏈接(DASL-A)26和DASL-B 28、系統(tǒng)接口SIF 30、交換數(shù)據(jù)推進(jìn)器(SDM-DM)32、入隊(duì)-出隊(duì)-調(diào)度器EDS-DN 34、以及用于出路PMM-DN 36的多個(gè)多路復(fù)用MAC。網(wǎng)絡(luò)處理器芯片10還包括多個(gè)內(nèi)部靜態(tài)存取存儲(chǔ)器元件(S-RAM)、也稱作出路調(diào)度器的話務(wù)管理調(diào)度器(TRAFFIC MGT SCHEDULER)40、以及嵌入式處理器復(fù)合體12。嵌入式處理器復(fù)合體包括用于執(zhí)行分類功能的多個(gè)處理器和協(xié)處理器。通過(guò)各個(gè)數(shù)據(jù)移動(dòng)單元(DMU)總線將接口裝置38耦接到PMM 14和36。接口裝置38可以為用于連接到網(wǎng)絡(luò)(沒(méi)有示出)的任何合適硬件設(shè)備,如以太網(wǎng)物理裝置或異步傳輸模式(ATM)裝置等。在美國(guó)專利6,404,752中給出了對(duì)PowerNP更詳細(xì)的描述,通過(guò)參考將其全部合并于這個(gè)文獻(xiàn)中。
如先前所述,在因特網(wǎng)上使用的協(xié)議是TCP/IP協(xié)議。結(jié)合使用這個(gè)協(xié)議的數(shù)據(jù)分組來(lái)描述本發(fā)明。TCP/IP協(xié)議具有在本發(fā)明中被稱為“頻繁飛行者”的某些分組,其一貫地以脈沖串形式出現(xiàn)。在網(wǎng)絡(luò)處理器中,用包括相對(duì)于所接收的包所采取的行為的規(guī)則對(duì)每個(gè)處理器進(jìn)行預(yù)編程,且與特定規(guī)則匹配。根據(jù)本發(fā)明的講述內(nèi)容,將頻繁飛行者和它們的相關(guān)行為放在高速緩沖存儲(chǔ)器中,并且可以基于存儲(chǔ)在高速緩沖存儲(chǔ)器中的信息處理脈沖串的后續(xù)成員。因而,增強(qiáng)了使用本發(fā)明的系統(tǒng)的吞吐量。
應(yīng)該注意,如果在高速緩沖存儲(chǔ)器中沒(méi)有發(fā)現(xiàn)分組的匹配,就遵循為網(wǎng)絡(luò)處理器提供的標(biāo)準(zhǔn)分類系統(tǒng)和方法。標(biāo)準(zhǔn)分類系統(tǒng)和方法比高速緩沖存儲(chǔ)器需要更多的時(shí)間來(lái)處理分組。因此,高速緩沖存儲(chǔ)器減少了與標(biāo)準(zhǔn)分類系統(tǒng)相關(guān)的執(zhí)行時(shí)間(latency)。
圖4示出了TCP/IP分組或幀400的圖形表示,其包括報(bào)頭部分402和有效載荷404。TCP/IP格式在本領(lǐng)域公知。因此,將僅進(jìn)一步描述涉及本發(fā)明的格式部分。與本發(fā)明相關(guān)的格式部分是報(bào)頭402。報(bào)頭部分402包括TCP部分和IP部分二者。
圖6示出了報(bào)頭的IP部分的IP報(bào)頭格式600。IP報(bào)頭格式在本領(lǐng)域公知。因此,將僅描述報(bào)頭中本發(fā)明感興趣的那部分。與本發(fā)明有關(guān)的IP報(bào)頭格式部分是標(biāo)記為“協(xié)議”的子字段、標(biāo)記為“IP源地址”的子字段、和標(biāo)記為“IP目的地址”的子字段。如隨后將論述的,源地址(SA)和目的地址(DA)是被稱作四元組的四個(gè)參數(shù)中的兩個(gè),該四個(gè)參數(shù)將用作進(jìn)入此后描述的流高速緩沖存儲(chǔ)器控制器的條目(entry)。要注意,協(xié)議子字段也用于識(shí)別被傳送的分組的類型(即,TCP)。
圖5示出TCP報(bào)頭格式500。TCP報(bào)頭格式在本領(lǐng)域公知;因此,將僅描述在本發(fā)明中使用的那些字段。所使用的字段包括源端口(SP)和目的端口(DP)。如下文中將論述的,來(lái)自IP報(bào)頭格式的SA和DA、以及來(lái)自IP TCP報(bào)頭格式的SP、DP稱為將在流高速緩沖存儲(chǔ)器中使用的四元組。也感興趣的是用符號(hào)502標(biāo)識(shí)的控制鍵(key)。每個(gè)鍵是識(shí)別所傳送的分組類型的一位字段。由發(fā)起分組的源裝置設(shè)置該位。例如,如果將標(biāo)記為SYN的鍵中的位設(shè)置為邏輯“1”,則該分組將是同步分組。由502標(biāo)識(shí)的分組需要建立網(wǎng)絡(luò)裝置之間的會(huì)話。
圖3示出根據(jù)本發(fā)明的講述內(nèi)容的流高速緩沖存儲(chǔ)器系統(tǒng)300的功能框圖。該流高速緩沖存儲(chǔ)器系統(tǒng)包括有限尺寸的相關(guān)存儲(chǔ)器,其存儲(chǔ)流特征和對(duì)于流要采取的行為之間的映射。在本發(fā)明的一個(gè)實(shí)施例中,該特征是四元組的四個(gè)分量,即IP源地址(SA)、IP目的地址(DA)、TCP目的端口(DP)以及源端口(SP)??刂破?2使來(lái)自所接收的分組的特征(四元組)和相關(guān)存儲(chǔ)器的內(nèi)容相關(guān)聯(lián)。如果發(fā)現(xiàn)匹配,則將針對(duì)四元組存儲(chǔ)的行為施加到或強(qiáng)加到幀或分組上。從流高速緩沖存儲(chǔ)器系統(tǒng)300中提取信息(即將相對(duì)于分組采取的行為)遠(yuǎn)快于使用諸如最長(zhǎng)前綴匹配或軟件管理的樹(shù)算法之類的傳統(tǒng)算法來(lái)確定對(duì)分組采取什么樣的行為。要注意,盡管描述覆蓋了第3層和第4層處理,但是也可以通過(guò)級(jí)聯(lián)來(lái)自分組報(bào)頭的N個(gè)字段而擴(kuò)展到包括第2層或其它層處理(OSI模型中的一個(gè)或多個(gè)層),以便產(chǎn)生“n元組”。例如,可以使用第2層的報(bào)頭字段將第2層行為添加到本發(fā)明的第2層版本中。
為了使本發(fā)明有效,必須控制高速緩沖存儲(chǔ)器的尺寸。如果高速緩沖存儲(chǔ)器的尺寸太大,則可能實(shí)際上降低系統(tǒng)的性能。該高速緩沖存儲(chǔ)器應(yīng)該僅大到足夠保留頻繁飛行者的脈沖串持續(xù)期間的會(huì)話信息。實(shí)際因特網(wǎng)話務(wù)的實(shí)驗(yàn)示出這個(gè)間隔大約為1ms??梢允褂眠@個(gè)間隔以及網(wǎng)絡(luò)處理器處理的頻繁飛行者分組速率來(lái)計(jì)算所需要的高速緩沖存儲(chǔ)器尺寸。
理想地,高速緩沖存儲(chǔ)器尺寸應(yīng)該能夠被包含在內(nèi)部快速SRAM內(nèi)并應(yīng)該足夠小以便在可用于處理分組的時(shí)間內(nèi)搜索。要注意,更大的高速緩沖存儲(chǔ)器可能需要更多的時(shí)間來(lái)搜索。
圖7示出根據(jù)本發(fā)明的講述內(nèi)容的分組處理算法的流程圖700。該算法在網(wǎng)絡(luò)處理器中執(zhí)行。優(yōu)選地,使用本發(fā)明的講述內(nèi)容,僅數(shù)據(jù)幀將適合于處理,因?yàn)樽鳛榛诰W(wǎng)絡(luò)通路所支持的最大尺寸傳送單元(MTU)將大消息分段為多個(gè)更小的分組的結(jié)果,該數(shù)據(jù)幀典型地以脈沖串方式傳送。將不會(huì)對(duì)TCP/IP協(xié)議組中的其它分組(如SYN、FIN、或RST)進(jìn)行超高速緩存,因?yàn)檫@些類型的連續(xù)分組典型地被所需要的網(wǎng)絡(luò)通路的往返行程延遲而在時(shí)間上分開(kāi)??梢酝ㄟ^(guò)檢查T(mén)CP報(bào)頭中的標(biāo)志位502(圖5)和IP報(bào)頭中可能的長(zhǎng)度字段和TCP報(bào)頭中的數(shù)據(jù)偏移字段,來(lái)識(shí)別數(shù)據(jù)分組。標(biāo)記位也稱為控制位,二者在這個(gè)文獻(xiàn)中可交換使用。具有SYN、FIN或RST標(biāo)記設(shè)置中的任一個(gè)的那些分組不是數(shù)據(jù)分組。如果在TCP報(bào)頭的控制標(biāo)記字段中沒(méi)有設(shè)置(即等于1)這些位值中任一個(gè),則必須檢查IP報(bào)頭中的長(zhǎng)度字段。緊接著,必須從這個(gè)值中減去TCP報(bào)頭中的數(shù)據(jù)偏移字段(乘以4)。如果相減的結(jié)果大于零,則分組中存在數(shù)據(jù)??商鎿Q地,可以選擇一些大于0的其它值作為閾值。如果結(jié)果指示在TCP分組中有數(shù)據(jù),則將該分組看作是數(shù)據(jù)分組,并因此是頻繁飛行者??商鎿Q地,作為第一步,僅可以將以太網(wǎng)報(bào)頭中的長(zhǎng)度字段與諸如1400字節(jié)的固定值比較。如果大于比較值,則將分組看作是數(shù)據(jù)分組。
再次參考圖7,算法在開(kāi)始框702中開(kāi)始,并下傳到接收分組的704。在接收分組之后,在框706中執(zhí)行一些初始化檢查,以便查看該分組是否是頻繁飛行者并因此可超高速緩存。在框708中,檢查該分組,以便通過(guò)檢查IP和TCP報(bào)頭來(lái)查看其是否是TCP分組。如果不是,則采取用于完全分組搜索的正常轉(zhuǎn)發(fā)通路(框710)。在正常轉(zhuǎn)發(fā)通路中,將分組轉(zhuǎn)發(fā)到網(wǎng)絡(luò)處理器的完全分組搜索機(jī)制。這個(gè)機(jī)制可以是完全匹配搜索算法、最長(zhǎng)匹配前綴算法、或軟件管理樹(shù)算法。
參考框708,如果該分組是TCP/IP分組,則檢查該TCP/IP分組(框712),以便查看該分組是否是根據(jù)上面給出的頻繁飛行者準(zhǔn)則的數(shù)據(jù)分組(框714)。如果不是,再次沿正常轉(zhuǎn)發(fā)通路而行(框716)。如果其是數(shù)據(jù)分組(框714),則使用來(lái)自分組的四元組執(zhí)行高速緩沖存儲(chǔ)器查找(框718)。如果在高速緩沖存儲(chǔ)器中發(fā)現(xiàn)匹配(框720),則實(shí)施高速緩沖存儲(chǔ)器中存儲(chǔ)的行為(框724)。避免了正常轉(zhuǎn)發(fā)通路中涉及的查找。如果沒(méi)有發(fā)現(xiàn)匹配(框720),則運(yùn)用用于完全分組搜索的正常轉(zhuǎn)發(fā)通路(框722)。另外,使用分組的四元組和對(duì)那個(gè)分組執(zhí)行的行為將新高速緩沖存儲(chǔ)器條目(框726)添加到高速緩沖存儲(chǔ)器。
從上面的描述中顯而易見(jiàn)的是,該高速緩沖存儲(chǔ)器結(jié)合上面識(shí)別的結(jié)構(gòu)和完全分組搜索算法而工作,以便提供更有效的分組分類系統(tǒng)。
高速緩沖存儲(chǔ)器的內(nèi)容必須周期性地改變,以便系統(tǒng)令人滿意地工作。這意味著必須刪除較老的條目,以便在高速緩沖存儲(chǔ)器中為新條目讓位。根據(jù)一個(gè)實(shí)施例,圖8是老化算法的流程圖800。該老化算法在網(wǎng)絡(luò)處理器上執(zhí)行,并周期性地從相關(guān)存儲(chǔ)器中刪除老條目。該程序始于框804,并下傳到框805???05啟動(dòng)控制流高速緩沖存儲(chǔ)器老化的頻率的期滿定時(shí)器。這個(gè)定時(shí)器將對(duì)應(yīng)于頻繁飛行者的預(yù)期脈沖串間隔。在框806中,該過(guò)程等待檢查時(shí)間間隔(小于脈沖串定時(shí)),然后將期滿定時(shí)值縮減該檢查時(shí)間間隔。在這一點(diǎn)上,檢查第3層或第4層數(shù)據(jù)庫(kù)的改變。如果在檢查時(shí)間間隔期間已經(jīng)改變,則高速緩沖存儲(chǔ)器可以為無(wú)效,并應(yīng)該被清空。在這種情況下,清空高速緩沖存儲(chǔ)器(框810)。然后,處理從框805繼續(xù),開(kāi)始新的期滿定時(shí)。
在數(shù)據(jù)庫(kù)沒(méi)有改變的情況(框808)下,處理從框812繼續(xù)。檢查對(duì)期滿定時(shí)器是否期滿(達(dá)到零值)。如果定時(shí)已經(jīng)期滿,則檢查高速緩沖存儲(chǔ)器的每個(gè)條目(框814)。如果定時(shí)器沒(méi)有期滿,則處理從框806繼續(xù)。從高速緩沖存儲(chǔ)器中移除每個(gè)在先前的期滿間隔期間還沒(méi)有使用的條目(框816)。然后處理從框805繼續(xù),開(kāi)始新的期滿定時(shí)。
在替換實(shí)施例中,代替使用老化程序800,可以略微調(diào)整算法700,以便執(zhí)行老化功能。在框726中,如果對(duì)于將添加的新高速緩沖存儲(chǔ)器條目沒(méi)有空間可用,則可以移除最近最少使用的高速緩沖存儲(chǔ)器條目,并可以將新條目添加在其位置上。
通過(guò)使用流高速緩沖存儲(chǔ)器對(duì)通信網(wǎng)絡(luò)中的分組進(jìn)行分類,而不是使用傳統(tǒng)的算法和數(shù)據(jù)結(jié)構(gòu),對(duì)分組進(jìn)行分類所需要的時(shí)間大大變短,且因此增強(qiáng)了系統(tǒng)吞吐量。
盡管已經(jīng)描述了本發(fā)明的示范實(shí)施例,但是本領(lǐng)域的技術(shù)人員將容易理解,在不實(shí)質(zhì)性脫離本發(fā)明的新講述內(nèi)容和高級(jí)使用的情況下,示范實(shí)施例中可能有許多改變。
權(quán)利要求
1.一種用于管理通信網(wǎng)絡(luò)中的話務(wù)的方法,包括如下行為(a)在網(wǎng)絡(luò)裝置中提供高速緩沖存儲(chǔ)器,其容納與分組相關(guān)的最低限度預(yù)定義特征以及與所述預(yù)定義特征中所選擇的特征配對(duì)的行為;(b)在所述網(wǎng)絡(luò)裝置中接收至少一個(gè)分組;(c)從所述已接收的分組特征中選擇與該最低限度預(yù)定義特征類似的特征;(d)使從所述已接收的分組中選擇的特征和預(yù)定義特征相關(guān)聯(lián);以及(e)使用關(guān)聯(lián)的結(jié)果來(lái)處理已接收的分組。
2.根據(jù)權(quán)利要求1的方法,其中所述處理包括如果所述已接收的分組的特征與該最低限度預(yù)定義特征匹配,則對(duì)已接收的分組實(shí)施配對(duì)行為。
3.根據(jù)權(quán)利要求1或權(quán)利要求2的方法,其中最低限度預(yù)定義特征包括因特網(wǎng)協(xié)議(IP)目的地址(DA)、IP源地址(SA)、傳輸控制協(xié)議(TCP)目的端口(DP)以及TCP源端口(SP)。
4.根據(jù)權(quán)利要求1至4中的任一個(gè)的方法,其中在(b)中接收的所述至少一個(gè)分組滿足成為屬于相同會(huì)話的短脈沖串分組內(nèi)的一個(gè)分組的頻繁飛行者準(zhǔn)則。
5.一種系統(tǒng),包括處理器;以及高速緩沖存儲(chǔ)器,可操作地耦接到所述處理器,所述高速緩沖存儲(chǔ)器存儲(chǔ)分組的預(yù)定義特征和行為之間的映射,其中所述處理器執(zhí)行第一程序,其使所述處理器將所選擇的分組的特征和預(yù)定義特征相關(guān)聯(lián),并且如果來(lái)自所選擇的分組的特征與預(yù)定義特征匹配,則對(duì)所選擇的分組實(shí)施與預(yù)定義特征相關(guān)的行為。
6.根據(jù)權(quán)利要求5的系統(tǒng),其中預(yù)定義特征包括源地址(SA)、目的地址(DA)、源端口(SP)、和目的端口(DP)。
7.根據(jù)權(quán)利要求5或權(quán)利要求6的系統(tǒng),還包括可操作地耦接到所述處理器的存儲(chǔ)器,其中存儲(chǔ)用于完全分組搜索的數(shù)據(jù)結(jié)構(gòu),其中所述處理器執(zhí)行第二程序,其使所述處理器訪問(wèn)該數(shù)據(jù)結(jié)構(gòu),并且如果預(yù)定義特征和來(lái)自所選擇的分組的特征之間發(fā)生失配,則對(duì)所選擇分組實(shí)施所述數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的行為。
8.根據(jù)權(quán)利要求7的系統(tǒng),其中所述第二程序包括完全搜索算法、最長(zhǎng)前綴匹配算法、或者軟件管理樹(shù)算法中的一個(gè)。
9.根據(jù)權(quán)利要求14的系統(tǒng),其中所述數(shù)據(jù)結(jié)構(gòu)包括直接表格和帕特麗夏樹(shù)。
10.一種包括計(jì)算機(jī)程序代碼的計(jì)算機(jī)程序,當(dāng)被加載到計(jì)算機(jī)系統(tǒng)并在其上執(zhí)行時(shí),使所述計(jì)算機(jī)系統(tǒng)執(zhí)行根據(jù)權(quán)利要求1至4中的任一個(gè)的方法的所有步驟。
全文摘要
一種網(wǎng)絡(luò)裝置的分類系統(tǒng)包括高速緩沖存儲(chǔ)器,其中響應(yīng)會(huì)話中的第一個(gè)“頻繁飛行者”分組,而存儲(chǔ)TCP/IP分組的預(yù)定義特征和相關(guān)行為之間的映射。使來(lái)自那個(gè)會(huì)話的后續(xù)接收分組的所選擇特征和預(yù)定義特征相關(guān)聯(lián),并且如果所選擇的特征與預(yù)定義特征匹配,則將所存儲(chǔ)的行為施加到已接收的分組上,從而減少后續(xù)分組所需要的處理。為超高速緩沖存儲(chǔ)而選擇的分組可以是數(shù)據(jù)分組。對(duì)于失配的特征,使用分類系統(tǒng)的完全分組搜索來(lái)確定要對(duì)所接收的分組施加的行為。
文檔編號(hào)H04L12/56GK1846409SQ200480025336
公開(kāi)日2006年10月11日 申請(qǐng)日期2004年9月7日 優(yōu)先權(quán)日2003年9月11日
發(fā)明者小埃弗里特·科爾, 戈登·戴維斯, 克拉克·杰弗里斯, 納塔拉簡(jiǎn)·韋德亞納撒恩, 科林·維里利 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
武胜县| 大余县| 西华县| 蕉岭县| 德安县| 长汀县| 阳东县| 阿勒泰市| 平谷区| 十堰市| 宜黄县| 绥芬河市| 南召县| 云龙县| 凭祥市| 晋中市| 诏安县| 博客| 册亨县| 广河县| 隆尧县| 双鸭山市| 巴楚县| 理塘县| 集贤县| 静宁县| 樟树市| 乌拉特前旗| 哈密市| 盘锦市| 阳谷县| 黔西县| 家居| 慈溪市| 南郑县| 合水县| 阳春市| 高碑店市| 贡嘎县| 铅山县| 吴旗县|