專利名稱::用于帶有雙向標(biāo)識符的協(xié)議的協(xié)商的安全快速表查找的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明的實施例涉及網(wǎng)絡(luò)處理的領(lǐng)域,并且更具體地說,涉及帶有雙向標(biāo)識符的協(xié)議的安全快速表查找。
背景技術(shù):
:網(wǎng)絡(luò)元件(例如,路由器、交換器等)花費大部分的其分組處理時間執(zhí)行查找。例如,網(wǎng)絡(luò)元件通常查找給定分組中的一個或多個標(biāo)識符以識別包括分組的進一步處理所必需的數(shù)據(jù)的對應(yīng)數(shù)據(jù)結(jié)構(gòu)。存在某類網(wǎng)絡(luò)協(xié)議,其將交換本地選擇的標(biāo)識符(具有本地重要性)作為連接建立序列的一部分。本地選擇的標(biāo)識符一般選擇為單調(diào)遞增數(shù)或隨機選擇數(shù)。這些本地選擇的標(biāo)識符一般在網(wǎng)絡(luò)元件之間的隨后分組的報頭中發(fā)送。當(dāng)網(wǎng)絡(luò)元件選擇用于連接的標(biāo)識符時,它使用對應(yīng)的本地標(biāo)識符作為關(guān)鍵字,將連接數(shù)據(jù)插入表(例如,哈希表、平衡二進制樹等)中。在網(wǎng)絡(luò)元件接收數(shù)據(jù)分組時,它從分組提取本地標(biāo)識符,并使用它作為查找關(guān)鍵字從表中檢索連接數(shù)據(jù)。例如,在2005年3月的請求注解(RFC)3931中定義的第二層隧道化協(xié)議版本3(L2TPv3)中,LAC(L2TP接入聚合器)和LNS(L2TP網(wǎng)絡(luò)服務(wù)器)在每個連接建立序列期間交換本地選擇的標(biāo)識符(會話標(biāo)識符)。使用會話標(biāo)識符作為關(guān)鍵字,將用于每個會話的會話數(shù)據(jù)插入會話數(shù)據(jù)結(jié)構(gòu)中。LAC與LNS之間傳送的每個數(shù)據(jù)分組包括用作對于會話數(shù)據(jù)結(jié)構(gòu)的查找關(guān)鍵字的會話標(biāo)識符。會話數(shù)據(jù)結(jié)構(gòu)中的信息是正確處理分組所必需的。用于從分組中的標(biāo)識符來識別對應(yīng)數(shù)據(jù)結(jié)構(gòu)的當(dāng)前查找機制包括使用哈希表或二進制樹。二進制樹提供良好的可擴展性,并且占用可預(yù)測的存儲量(例如,要求0(10N)(大0標(biāo)記法)平均次數(shù)的存儲器訪問以定位對應(yīng)的連接數(shù)據(jù))哈希表能夠提供可預(yù)測的快速查找(例如,0(Ν/Β)),但為未使用的哈希表元(hashtablebucket)浪費的存儲器對于大數(shù)據(jù)集能夠是昂貴的,并且哈希表能夠要求很大程度的連續(xù)存儲器作為折衷以實現(xiàn)良好的性能。使用二進制樹查找機制或哈希表查找機制的查找時間不是恒定的。也就是說,查找時間甚至在相同的二進制樹或哈希表中從元素到元素有所變化。另外,使用二進制樹或哈希表查找機制的查找時間一般隨著連接數(shù)量的增大而增大。通過參照下面的描述和用于示出本發(fā)明實施例的附圖,可最好地理解本發(fā)明。在圖中圖1示出根據(jù)本發(fā)明的一個實施例的示范網(wǎng)絡(luò);圖2示出根據(jù)本發(fā)明的一個實施例的示范網(wǎng)絡(luò)元件,其用于帶有雙向標(biāo)識符的協(xié)議的安全快速表查找;圖3根據(jù)本發(fā)明的一個實施例示出為帶有雙向標(biāo)識符的那些協(xié)議生成作為本地標(biāo)識符的受信任指針;圖4示出根據(jù)本發(fā)明的一個實施例的為帶有雙向標(biāo)識符的那些協(xié)議生成作為本地標(biāo)識符的受信任指針的備選方式;圖5是根據(jù)本發(fā)明的一個實施例的流程圖,其示出為帶有雙向標(biāo)識符的那些協(xié)議生成作為本地標(biāo)識符的受信任指針;圖6根據(jù)本發(fā)明的一個實施例示出為帶有雙向標(biāo)識符的那些協(xié)議驗證數(shù)據(jù)分組中收到的受信任指針;圖7示出根據(jù)本發(fā)明的一個實施例的為帶有雙向標(biāo)識符的那些協(xié)議驗證數(shù)據(jù)分組中收到的受信任指針的備選方式;圖8是根據(jù)本發(fā)明的一個實施例的流程圖,其示出為帶有雙向標(biāo)識符的那些協(xié)議驗證數(shù)據(jù)分組中收到的受信任指針;以及圖9是示出根據(jù)本發(fā)明的一個實施例的在參照圖8所述的流程中執(zhí)行的可選操作的流程圖。具體實施例方式在下面的描述中,陳述了許多特定細(xì)節(jié)。然而,將理解,實踐本發(fā)明的實施例可無需這些特定細(xì)節(jié)。其它情況下,控制結(jié)構(gòu)、門級電路和完整軟件指令序列未詳細(xì)示出以免混淆本發(fā)明。通過包括的說明,本領(lǐng)域的技術(shù)人員將能夠在不進行不當(dāng)實驗的情況下實現(xiàn)適當(dāng)?shù)墓δ苄?。說明書中對“一個實施例”、“一實施例”、“一示例實施例”等的引用指所述實施例可包括特定特征、結(jié)構(gòu)或特性,但每個實施例可不一定包括該特定特征、結(jié)構(gòu)或特性。另外,此類短語不一定指相同實施例。此外,結(jié)合實施例描述某個特定特征、結(jié)構(gòu)或特性時,認(rèn)為結(jié)合無論是否明確描述的其它實施例來實現(xiàn)此類特征、結(jié)構(gòu)或特性是在本領(lǐng)域技術(shù)人員的認(rèn)知之內(nèi)。在下面的描述和權(quán)利要求書中,可使用術(shù)語“耦合”和“連接”及其衍生詞。應(yīng)理解,這些術(shù)語無意作為彼此的同義詞。“耦合”用于指示可相互直接物理或電接觸或不直接物理或電接觸的兩個或更多元素相互協(xié)作或交互?!斑B接”用于指示相互耦合的兩個或更多元素之間通信的建立。圖中所示的技術(shù)能使用一個或多個網(wǎng)絡(luò)元件上存儲和執(zhí)行的代碼和數(shù)據(jù)來實現(xiàn)。此類網(wǎng)絡(luò)元件使用機器可讀媒體存儲和傳遞(在內(nèi)部和/或通過網(wǎng)絡(luò)與其它網(wǎng)絡(luò)元件和計算機終端站)代碼和數(shù)據(jù),例如機器可讀存儲媒體(例如,磁盤、光盤、隨機存取存儲器、只讀存儲器、閃速存儲器裝置、相變存儲器)和機器可讀通信媒體(例如,電、光、聲或其它形式的傳播信號-如載波、紅外信號、數(shù)字信號等)。另外,此類網(wǎng)絡(luò)元件一般情況下包括耦合到諸如存儲裝置、一個或多個用戶輸入/輸出裝置(例如,鍵盤、觸摸屏和/或顯示器)和網(wǎng)絡(luò)連接等一個或多個其它組件的一個或多個處理器的集合。處理器的集合與其它組件的耦合一般情況下是通過一個或多個總線和橋接器(也稱為總線控制器)。存儲裝置和攜帶網(wǎng)絡(luò)業(yè)務(wù)的信號分別表示一個或多個機器可讀存儲媒體和機器可讀通信媒體。因此,給定網(wǎng)絡(luò)元件的存儲裝置一般情況下存儲代碼和/或數(shù)據(jù)以用于該電子裝置的一個或多個處理器的集合上的執(zhí)行。當(dāng)然,本發(fā)明的實施例的一個或多個部分可使用軟件、固件和/或硬件的不同組合來實現(xiàn)。在本文中使用時,網(wǎng)絡(luò)元件(例如,路由器、交換器、橋接器等)是一件連網(wǎng)設(shè)備,包括在通信上與網(wǎng)絡(luò)上的其它設(shè)備(例如,其它網(wǎng)絡(luò)元件、計算機終端站等)互連的硬件和軟件。一些網(wǎng)絡(luò)元件是“多服務(wù)網(wǎng)絡(luò)元件”,其為多個網(wǎng)絡(luò)功能(例如,路由選擇、橋接、交換、第2層聚合和/或訂戶管理)提供支持和/或為多個應(yīng)用服務(wù)(例如,數(shù)據(jù)、話音和視頻)提供支持。訂戶計算機終端站(例如,工作站、膝上型計算機、掌上計算機、移動電話、智能電話、多媒體電話、便攜式媒體播放器、GPS單元、游戲系統(tǒng)、機頂盒等)訪問通過因特網(wǎng)提供的內(nèi)容/服務(wù)和/或因特網(wǎng)上重疊的虛擬專用網(wǎng)(VPN)上提供的內(nèi)容/服務(wù)。內(nèi)容和/或服務(wù)一般由屬于服務(wù)或內(nèi)容提供商的一個或多個服務(wù)器計算機終端站來提供,并且可包括公共網(wǎng)頁(免費內(nèi)容、店面、搜索服務(wù)等)、私密網(wǎng)頁(例如,提供電子郵件服務(wù)的用戶名/密碼訪問的網(wǎng)頁等)、VPN上的企業(yè)網(wǎng)絡(luò)等。一般情況下,訂戶計算機終端站耦合(例如,通過耦合到接入網(wǎng)絡(luò)(以有線或無線方式)的客戶場所設(shè)備)到邊緣網(wǎng)絡(luò)元件,邊緣網(wǎng)絡(luò)元件耦合到(例如通過到其它邊緣網(wǎng)絡(luò)元件的一個或多個核心網(wǎng)絡(luò)元件)服務(wù)器計算機終端站。本文描述了帶有雙向標(biāo)識符的協(xié)議的協(xié)商的安全快速表查找的方法和設(shè)備。在本發(fā)明的一個實施例中,在帶有雙向標(biāo)識符的協(xié)議的連接的每個連接建立序列期間,網(wǎng)絡(luò)元件分配用于連接的連接數(shù)據(jù),將本地重要的標(biāo)識符設(shè)為到分配的連接數(shù)據(jù)的指針,應(yīng)用數(shù)學(xué)變換到本地重要的標(biāo)識符,將本地重要的標(biāo)識符和數(shù)學(xué)變換的結(jié)果包括在連接建立分組中,以及將連接建立分組傳送到對等網(wǎng)絡(luò)元件。在網(wǎng)絡(luò)元件從對等網(wǎng)絡(luò)元件接收數(shù)據(jù)分組時,網(wǎng)絡(luò)元件提取本地選擇的標(biāo)識符和數(shù)學(xué)變換的結(jié)果,應(yīng)用相同的數(shù)學(xué)變換到提取的本地選擇的標(biāo)識符,并且比較數(shù)學(xué)變換的結(jié)果和提取的本地選擇的標(biāo)識符。如果它們匹配,則網(wǎng)絡(luò)元件解引用(dereference)提取的本地選擇的標(biāo)識符的值以訪問對應(yīng)于分組的連接數(shù)據(jù)并繼續(xù)處理。如果它們不匹配,則采取其它動作(例如,丟棄分組)。圖1示出根據(jù)本發(fā)明的一個實施例的示范網(wǎng)絡(luò)。圖1所示的網(wǎng)絡(luò)包括與網(wǎng)絡(luò)元件110耦合的訂戶計算機終端站105A-105N。網(wǎng)絡(luò)元件110通過因特網(wǎng)115耦合到網(wǎng)絡(luò)元件120。網(wǎng)絡(luò)元件120與服務(wù)器計算機終端站耦合。在一個實施例中,訂戶計算機終端站105A-105N通過網(wǎng)絡(luò)元件110和120與服務(wù)器計算機終端站125連接(例如,每個訂戶計算機終端站105A-105N與服務(wù)器計算機終端站有連接)。例如,訂戶計算機終端站105A-105N是服務(wù)器計算機終端站(例如,企業(yè)站點)的遠程用戶。網(wǎng)絡(luò)元件110和120是支持帶有雙向標(biāo)識符的協(xié)議(例如,L2TP等)的對等體。網(wǎng)絡(luò)元件Iio和120在那些協(xié)議的連接建立序列期間協(xié)商本地選擇的標(biāo)識符。例如,在那些協(xié)議的連接建立序列期間,網(wǎng)絡(luò)元件110和120交換協(xié)商本地選擇的標(biāo)識符的一系列連接建立分組。之后,網(wǎng)絡(luò)元件110和120在它們之間傳送的數(shù)據(jù)分組中包括那些本地選擇的標(biāo)識符。因此,對于給定連接,能夠有由控制連接的每端(例如,網(wǎng)絡(luò)元件110和120)提供的獨特標(biāo)識符,這些標(biāo)識符在連接的存在期期間使用。例如,在訂戶計算機終端站105A的連接建立序列期間,網(wǎng)絡(luò)元件110選擇具有本地重要性的標(biāo)識符,它用于識別連接,并且網(wǎng)絡(luò)元件120選擇具有本地重要性的標(biāo)識符,它用于識別連接。這些本地標(biāo)識符用于識別為連接分配的連接數(shù)據(jù),連接數(shù)據(jù)指示如何對待用于該連接的數(shù)據(jù)分組(例如,連接數(shù)據(jù)能夠包括服務(wù)質(zhì)量(QoQ參數(shù)、訪問控制列表、到路由選擇表的路由選擇指針等)。在用于訂戶計算機終端站105A的連接的數(shù)據(jù)分組的傳送期間,網(wǎng)絡(luò)元件110在傳送數(shù)據(jù)分組到網(wǎng)絡(luò)元件120時包括由網(wǎng)絡(luò)元件120選擇的本地標(biāo)識符,并且網(wǎng)絡(luò)元件120在將數(shù)據(jù)分組傳送到網(wǎng)絡(luò)元件110時包括由網(wǎng)絡(luò)元件110選擇的本地標(biāo)識符。在一個實施例中,網(wǎng)絡(luò)元件110是LAC,網(wǎng)絡(luò)元件120是LNS,通信使用L2TP,以及本地選擇的標(biāo)識符包括在L2TP報頭的會話ID字段中。如本文中后面將更詳細(xì)描述的,網(wǎng)絡(luò)元件110和120的至少一個選擇本地標(biāo)識符作為到存儲器中分配的連接數(shù)據(jù)的指針。例如,對于用于訂戶計算機終端站105A的連接,網(wǎng)絡(luò)元件120選擇本地標(biāo)識符作為到用于訂戶計算機終端站105A的存儲器中分配的連接數(shù)據(jù)的指針。指針引用存儲器中的值或位置,并且在需要該值或位置時,指針被解引用。如本文中后面將描述的,網(wǎng)絡(luò)元件選擇本地標(biāo)識符作為到用于連接的連接數(shù)據(jù)的指針,這允許網(wǎng)絡(luò)元件快速地定位和訪問為該連接分配的連接數(shù)據(jù)(例如,通過解引用指針)。因此,不同于典型的現(xiàn)有技術(shù)機制選擇用于本地標(biāo)識符的不是指針值的值(例如,它一般是隨機數(shù)或單調(diào)遞增數(shù))從而要求標(biāo)準(zhǔn)查找機制以定位和訪問用于該連接的連接數(shù)據(jù)(例如,二進制數(shù)搜索機制、哈希表搜索等),本發(fā)明的實施例允許網(wǎng)絡(luò)元件選擇到分配的連接數(shù)據(jù)的指針。此外,在連接建立序列期間,網(wǎng)絡(luò)元件110和120能夠協(xié)商可選字段中包括的數(shù)據(jù)。例如,在L2TP中,網(wǎng)絡(luò)元件110和120能夠在連接建立序列期間協(xié)商L2TP報頭的cookie字段中的數(shù)據(jù)。類似于本地選擇的標(biāo)識符的協(xié)商,可選字段中的數(shù)據(jù)具有本地重要性,并且將包括在網(wǎng)絡(luò)元件110與120之間傳送的數(shù)據(jù)分組中。使用為訂戶計算機終端站105A建立連接的上述示例,網(wǎng)絡(luò)元件110和120能夠各自選擇連接建立分組的可選字段中包括的數(shù)據(jù)。在用于訂戶計算機終端站105的連接的數(shù)據(jù)分組的傳送期間,網(wǎng)絡(luò)元件110將在傳送數(shù)據(jù)分組到網(wǎng)絡(luò)元件120時在可選字段中包括網(wǎng)絡(luò)元件120選擇的數(shù)據(jù),并且網(wǎng)絡(luò)元件120將在傳送數(shù)據(jù)分組到網(wǎng)絡(luò)元件110時在可選字段中包括網(wǎng)絡(luò)元件110選擇的數(shù)據(jù)。如本文中后面將更詳細(xì)描述的,網(wǎng)絡(luò)元件110和120的至少一個(選擇了本地標(biāo)識符作為到其存儲器中分配的連接數(shù)據(jù)的指針的至少一個網(wǎng)絡(luò)元件)在其可選字段中包括那些本地標(biāo)識符的數(shù)學(xué)變換的結(jié)果(例如,那些本地標(biāo)識符的哈希摘要(hashdigest)的至少一部分)。如在本文中后面將更詳細(xì)描述的,在連接建立期間包括指針的數(shù)學(xué)變換的結(jié)果的網(wǎng)絡(luò)元件允許該網(wǎng)絡(luò)元件驗證本地選擇的標(biāo)識符字段(例如,L2TP中的會話ID字段)中包括的數(shù)據(jù)能夠被信任,并被解引用以定位和訪問其存儲器中分配的連接數(shù)據(jù)。作為示例,對于訂戶計算機終端站105A的連接,網(wǎng)絡(luò)元件120與網(wǎng)絡(luò)元件110協(xié)商選擇作為用于該連接的本地標(biāo)識符的指針的數(shù)學(xué)變換的結(jié)果(例如,網(wǎng)絡(luò)元件120在連接建立分組的可選字段中包括該結(jié)果)。應(yīng)理解,本發(fā)明的實施例不限于在本地選擇的標(biāo)識符字段中包括到分配的連接數(shù)據(jù)的指針,因為指針能夠位于連接建立分組中的不同位置中。另外,應(yīng)理解,本發(fā)明的實施例不限于在可選字段中包括到分配的連接數(shù)據(jù)的指針的數(shù)學(xué)變換的結(jié)果,因為結(jié)果能夠位于連接建立分組中的不同位置中。例如,在一些實施例中,到分配的連接數(shù)據(jù)的指針和到分配的連接數(shù)據(jù)的該指針的數(shù)學(xué)變換的結(jié)果位于連接建立分組的相同字段內(nèi)(例如,在L2TP中,到分配的連接數(shù)據(jù)的指針和該指針的數(shù)學(xué)變換的結(jié)果(至少一部分結(jié)果)能夠位于會話ID字段或cookie字段中等)。因此,在一些實施例中,到分配的連接數(shù)據(jù)的指針包括在連接建立分組的第一部分中,并且該指針的數(shù)學(xué)變換的結(jié)果包括在該連接建立分組的第二部分中。圖2示出根據(jù)本發(fā)明的一個實施例的示范網(wǎng)絡(luò)元件,其用于帶有雙向標(biāo)識符的協(xié)議的安全快速表查找。應(yīng)理解,圖2所示網(wǎng)絡(luò)元件120的架構(gòu)是示范性的,并且其它架構(gòu)可以在本文中所述的本發(fā)明的實施例中被使用。如圖2所示,網(wǎng)絡(luò)元件120包括與數(shù)據(jù)平面210耦合的控制平面205??刂破矫?05與其它網(wǎng)絡(luò)元件建立帶有雙向標(biāo)識符的協(xié)議的連接,包括分配用于連接的連接數(shù)據(jù)和為那些連接指派本地選擇的標(biāo)識符??刂破矫?05包括與存儲器260耦合的控制模塊250(例如,每個是包括雙向標(biāo)識符的協(xié)商的協(xié)議)。協(xié)議模塊250還各自與哈希引擎255耦合。存儲器沈0能夠是任何類型的非易失性或易失性存儲器,包括連接數(shù)據(jù)結(jié)構(gòu)265和協(xié)議狀態(tài)表270。連接數(shù)據(jù)結(jié)構(gòu)265包括用于每個連接的連接數(shù)據(jù)(例如,連接特定參數(shù)和狀態(tài))以指示如何對待該連接的分組。例如,連接數(shù)據(jù)能夠包括服務(wù)質(zhì)量(QoQ參數(shù)、訪問控制列表、到路由選擇表的路由選擇指針、連接在哪個線路卡上、指派連接數(shù)據(jù)所在的線路卡的存儲器地址等。協(xié)議狀態(tài)表270包括有關(guān)協(xié)議模塊250的狀態(tài)的信息,包括nonce值、摘要、驗證簡檔等。根據(jù)本發(fā)明的一個實施例,連接數(shù)據(jù)沈5的子集被下載到數(shù)據(jù)平面210。在每個連接建議序列期間,協(xié)議模塊250在數(shù)據(jù)平面210的存儲器中分配連接數(shù)據(jù)以用于連接,而連接建立序列一般響應(yīng)接收連接請求(例如,從訂戶計算機終端站或從代表訂戶計算機終端站的對等網(wǎng)絡(luò)元件發(fā)送)而啟動。例如,協(xié)議模塊250在數(shù)據(jù)平面210的存儲器230中分配連接數(shù)據(jù)。如果數(shù)據(jù)平面210包括多個線路卡,則協(xié)議模塊250在那些線路卡之一(例如,收到連接建立請求和/或?qū)⑻幚韺?yīng)于接收的連接建立請求的數(shù)據(jù)分組的線路卡)的存儲器中分配連接數(shù)據(jù)。例如,參照權(quán)利要求1,協(xié)議模塊250能夠代表訂戶計算機終端站105A-105N從網(wǎng)絡(luò)元件110接收連接建立請求。在一個實施例中,協(xié)議模塊250在數(shù)據(jù)平面210的存儲器230的特定部分中分配連接數(shù)據(jù)。例如,一部分的存儲器230可專用于存儲連接數(shù)據(jù)。協(xié)議模塊250還在連接建立序列期間選擇用于每個連接的本地標(biāo)識符。例如,協(xié)議模塊250生成用于訂戶計算機終端站105A-105N的每個連接的獨特本地標(biāo)識符。在一個實施例中,生成的標(biāo)識符是到用于該連接的分配的連接數(shù)據(jù)的指針。指針值可在本發(fā)明的不同實施例中不同(例如,指針值能夠是用于分配的連接數(shù)據(jù)的存儲器地址、到用于分配的連接數(shù)據(jù)的存儲器地址的一個或多個間接尋址(indirection)等)。協(xié)議模塊250促使生成的本地標(biāo)識符的指示存儲在連接數(shù)據(jù)265中。如在本文中后面將描述的,作為協(xié)議定義的連接建立序列的一部分,將與網(wǎng)絡(luò)元件120的對等網(wǎng)絡(luò)元件(例如,網(wǎng)絡(luò)元件110)協(xié)商生成的本地標(biāo)識符。協(xié)議模塊250還促使數(shù)學(xué)變換應(yīng)用到用于每個連接的生成的本地標(biāo)識符,以充當(dāng)被選擇為本地標(biāo)識符的指針的驗證簽名。在一個實施例中,數(shù)學(xué)變換是密碼變換(例如,單向哈希、對稱加密、非對稱加密等)。例如,協(xié)議模塊250將生成的本地標(biāo)識符提供到哈希引擎255以生成該生成的本地標(biāo)識符的哈希摘要。根據(jù)一個實施例,在生成摘要時,哈希引擎255還使用隨機數(shù)生成器275生成的隨機數(shù)作為nonce。在一個實施例中,相同的隨機數(shù)在給定的時間期上用于協(xié)議的每個連接。用于連接的nonce存儲在協(xié)議狀態(tài)表270中。協(xié)議模塊250生成連接建立響應(yīng)分組(響應(yīng)于連接建立請求),并且在那些響應(yīng)分組中編碼生成的本地標(biāo)識符和生成的本地標(biāo)識符的數(shù)學(xué)變換的結(jié)果(哈希摘要)。生成的本地標(biāo)識符被包括在連接建立響應(yīng)分組的第一部分中,并且數(shù)學(xué)變換的結(jié)果被包括在連接建立分組的第二部分中。例如,在協(xié)議是L2TP的一些實施例,生成的本地標(biāo)識符被包括在會話ID字段中,并且數(shù)學(xué)變換的結(jié)果被包括在cookie字段。應(yīng)理解,連接建立分組的第一和第二部分可以在相同字段中,或者可重疊字段。參照圖1,對于每個連接,從網(wǎng)絡(luò)元件120發(fā)送到網(wǎng)絡(luò)元件110的連接建立分組包括由網(wǎng)絡(luò)元件120為該連接生成的本地標(biāo)識符和該本地標(biāo)識符的數(shù)學(xué)變換的結(jié)果。數(shù)據(jù)平面210接收和處理數(shù)據(jù)分組。例如,參照圖1,數(shù)據(jù)平面210在訂戶計算機終端站105A-105N與服務(wù)器計算機終端站125之間接收和處理帶有雙向標(biāo)識符的那些協(xié)議的連接的數(shù)據(jù)分組。從網(wǎng)絡(luò)元件110收到的帶有雙向標(biāo)識符的協(xié)議的分組包括由網(wǎng)絡(luò)元件120本地生成的標(biāo)識符。數(shù)據(jù)平面210包括分組處理引擎215、受信任指針驗證引擎220、哈希引擎225及存儲器230。在一些實施例中,數(shù)據(jù)平面210包括多個線路卡,其中每個線路卡包括分組處理引擎、受信任指針驗證引擎、哈希引擎及存儲器。分組處理引擎215接收和解析數(shù)據(jù)分組。例如,分組處理引擎215確定分組所屬的協(xié)議并將分組的數(shù)據(jù)寫入分組緩沖器存儲器。如果分組是用于帶有雙向標(biāo)識符的協(xié)議(例如,L2TP等),則分組處理引擎215提取分組的第一部分(寫入分組緩沖器存儲器),并提取分組的第二部分(也寫入分組緩沖器存儲器)。在一個實施例中,數(shù)據(jù)分組的第一和第二部分分別對應(yīng)于連接建立請求分組的第一和第二部分。在一個實施例中,驗證簡檔定義數(shù)據(jù)分組的第一和第二部分的位置,并編程到分組處理引擎215。在另一實施例中,分組的協(xié)議確定分組的第一和第二部分的位置。例如,如果協(xié)議是L2TP,則在一個實施例中,第一部分是分組報頭的會話ID字段,并且第二部分是分組報頭的cookie字段。哈希引擎225使用如在連接建立分組的創(chuàng)建中使用了的相同數(shù)學(xué)變換,應(yīng)用數(shù)學(xué)變換(例如,哈希引擎225與控制平面205中的哈希引擎255應(yīng)用相同的哈希算法)。數(shù)學(xué)變換的結(jié)果提供到受信任指針驗證引擎220。如果在連接建立分組的創(chuàng)建中使用隨機數(shù),則在應(yīng)用數(shù)學(xué)變換時,由哈希引擎225使用該相同的隨機數(shù)。受信任指針驗證引擎比較從分組的第二部分提取的數(shù)據(jù)(例如,對于L2TP,cookie字段中的數(shù)據(jù))和從分組的第一部分提取的數(shù)據(jù)的數(shù)學(xué)變換的結(jié)果。如果值匹配,則從分組的第一部分提取的數(shù)據(jù)被信任作為到存儲器230中連接數(shù)據(jù)的指針。通過解引用指針,指針隨后用于直接索引到存儲器230中以定位分配的連接數(shù)據(jù)。數(shù)據(jù)平面210在定位連接數(shù)據(jù)后繼續(xù)處理。如果值不匹配,則采取其它動作(例如,丟棄分組,將分組引導(dǎo)到控制平面以用于進一步處理等)。圖3根據(jù)本發(fā)明的一個實施例示出為帶有雙向標(biāo)識符的那些協(xié)議生成作為本地標(biāo)識符的受信任指針。參照圖3所述的操作在帶有雙向標(biāo)識符的協(xié)議(例如,L2TP等)的連接建立序列期間執(zhí)行(例如,響應(yīng)于接收到連接建立請求)。連接數(shù)據(jù)315在存儲器310中被分配以用于給定連接。在一個實施例中,連接數(shù)據(jù)315在專用于協(xié)議的存儲器310的一部分中被分配。在一個實施例中,存儲器310被包括在網(wǎng)絡(luò)元件的線路卡上。到分配的連接數(shù)據(jù)的指針320(它是到連接數(shù)據(jù)315的指針)被創(chuàng)建并提供到哈希引擎325。在一個實施例中,到分配的連接數(shù)據(jù)的指針320是存儲在存儲器310中連接數(shù)據(jù)315的存儲器地址,而在其它實施例中,到分配的連接數(shù)據(jù)的指針320是到存儲器地址的指針。如本文中后面將描述的,到分配的連接數(shù)據(jù)的指針320也將用作連接建立分組中本地選擇的標(biāo)識符。在一些實施例中,隨機數(shù)生成器375生成提供到哈希引擎325的nonce380(隨機數(shù))。哈希引擎325在到分配的連接數(shù)據(jù)的指針320和nonce380(如果被提供)上應(yīng)用數(shù)學(xué)變換以產(chǎn)生摘要330(哈希算法的結(jié)果)。不同的哈希算法可在本發(fā)明的不同實施例中被使用(例如,SHA-O、SHA-I、SHA-256、SHA-384、SHA-512、MD2、MD4、MD5、RIPEMD-160、RIPEMD-128/256/320、HAS160、HAS-V、HAVAL、Tiger、Panama、Snefru-2、G0ST-Hash、BRS-Hl/H20、WhirpOOl等)。還應(yīng)理解,作為上述哈希算法的替代或除了上述哈希算法外,其它加密方案能夠用于加密到分配的連接數(shù)據(jù)的指針320。到分配的連接數(shù)據(jù)的指針320和摘要330(到分配的連接數(shù)據(jù)的指針320的哈希的結(jié)果和可選的nonce380)包括在連接建立分組335的第一和第二部分中。連接建立分組335包括報頭340和數(shù)據(jù)有效負(fù)載字段355,報頭340包括本地選擇的標(biāo)識符字段345和可選字段350。如果連接建立分組335是用于L2TP協(xié)議,則本地選擇的標(biāo)識符字段345對應(yīng)于會話ID字段,并且可選字段350對應(yīng)于L2TP報頭的cookie字段。如圖3所示,到分配的會話數(shù)據(jù)的指針320被編碼在本地選擇的標(biāo)識符字段345中,并且摘要330被編碼到可選字段350中。雖然連接建立分組335示為包括可選字段350,但應(yīng)理解,在一些實施例中,連接建立分組可不包括可選字段350。因此,不同于典型的現(xiàn)有技術(shù)機制選擇用于本地標(biāo)識符的不是指針值的值(例如,它一般是隨機數(shù)或單調(diào)遞增數(shù))從而要求標(biāo)準(zhǔn)查找機制以定位和訪問用于該連接的連接數(shù)據(jù)(例如,二進制數(shù)搜索機制、哈希表搜索等),本發(fā)明的實施例允許網(wǎng)絡(luò)元件選擇到分配的連接數(shù)據(jù)的指針,該指針能夠被解引用以直接索引到存儲器中,從而定位分配的連接數(shù)據(jù)(如在本文中后面將更詳細(xì)描述的)。視使用的哈希算法而定,摘要330的大小可能不能完全被編碼到可選字段350中。例如,如果連接建立請求是用于L2TP(例如,ICRQ(進入-呼叫-請求)或ICRP(進入-呼叫-回復(fù))),對應(yīng)于cookie字段的可選字段350—般是64個比特,而MDS哈希摘要是1個比特。在此類情況下,摘要330被減少某個量以便包括在可選字段350中。這能夠以多種方式進行(例如,如果可選字段是N比特字段,則摘要330的前N個比特可包括在可選字段350中)。摘要減少的量和/或包括在可選字段350中的摘要330的比特的索引一般對于相同協(xié)議的每個連接建立分組是相同的(并且如本文中后面將更詳細(xì)描述的,將在數(shù)據(jù)分組的驗證期間被使用)。圖4示出根據(jù)本發(fā)明的一個實施例的為帶有雙向標(biāo)識符的那些協(xié)議生成作為本地標(biāo)識符的本地受信任指針的備選方式。類似于如參照圖3所述的,在帶有雙向標(biāo)識符的協(xié)議(例如,L2TP等)的連接建立序列期間執(zhí)行參照圖4所述的操作(例如,響應(yīng)于接收到連接建立請求)。圖4的操作類似于圖3的操作,不同之處在于到分配的連接數(shù)據(jù)的指針320被包括在與圖3所示連接建立分組335的不同部分中。例如,到分配的連接數(shù)據(jù)的指針320和摘要330各自被包括在可選字段350的不同部分中(例如,到分配的連接數(shù)據(jù)的指針320被編碼在可選字段350的比特0到L中,并且摘要330被編碼在可選字段350的比特L+1到11Q比特中)。應(yīng)理解,圖3和4示出編碼到分配的會話數(shù)據(jù)的指針320和摘要330的連接建立分組335的部分的位置的示例。然而,實施例并不限于此,因為到分配的會話數(shù)據(jù)的指針320和摘要330可在本發(fā)明的其它實施例中被編碼在連接建立分組335的不同部分中。雖然在本發(fā)明的一個實施例中,到分配的會話數(shù)據(jù)的指針320直接被編碼在連接建立分組335的一部分中,但在本發(fā)明的其它實施例中,在被包括在連接建立分組335中之前,到分配的連接數(shù)據(jù)的指針320被混亂(例如,到分配的連接數(shù)據(jù)的指針320被變換(例如,比特值被移位),到分配的連接數(shù)據(jù)的指針320被加密,分配的會話數(shù)據(jù)的指針320的比特值散布在可選字段350的比特值中等)。類似地,雖然在本發(fā)明的一個實施例中,摘要330(或摘要330的至少一部分)直接被編碼在連接建立分組335的一部分中,但在本發(fā)明的其它實施例中,在被包括在連接建立分組335之前,它被混亂(例如,摘要的值被變換、加密,一些比特被交換等)。如本文中后面將描述的,在一個實施例中,線路卡編程為解混亂數(shù)據(jù)分組中的任何混亂的信息。圖5是示出根據(jù)本發(fā)明的一個實施例的為帶有雙向標(biāo)識符的那些協(xié)議生成作為本地標(biāo)識符的本地受信任指針的流程圖。在一個實施例中,參照圖5所述的操作在網(wǎng)絡(luò)元件之間在帶有雙向標(biāo)識符的協(xié)議(例如,L2TP等)的連接建立序列期間執(zhí)行(例如,響應(yīng)于接收到連接建立請求)。例如,參照圖1,圖5中執(zhí)行的操作由網(wǎng)絡(luò)元件110響應(yīng)從訂戶計算機終端站105A-105N之一接收到連接建立請求而執(zhí)行,或者由網(wǎng)絡(luò)元件120響應(yīng)從網(wǎng)絡(luò)元件120接收到連接建立請求(例如,響應(yīng)接收到L2TPLCRQ分組)而執(zhí)行。圖5的操作將參照圖2的示范實施例進行描述。然而,應(yīng)理解,圖5的操作能夠由與參照圖2討論的那些實施例不同的本發(fā)明的其它實施例來執(zhí)行,并且參照圖2討論的實施例能夠執(zhí)行與參照圖5所討論的那些操作不同的操作。在框510,協(xié)議模塊250之一在數(shù)據(jù)平面210(例如,網(wǎng)絡(luò)元件120的線路卡之一)的存儲器230中分配用于連接的連接數(shù)據(jù)。流程從框510轉(zhuǎn)到框515,其中,協(xié)議模塊250的那一個模塊生成本地標(biāo)識符,該標(biāo)識符是到用于連接的分配的連接數(shù)據(jù)的指針值(例如,存儲器230中分配的連接數(shù)據(jù)的存儲器地址、到存儲器230中分配的連接數(shù)據(jù)的存儲器地址的指針值)。流程從框515轉(zhuǎn)到框520。在框520,協(xié)議模塊250的那一個模塊促使哈希引擎255應(yīng)用數(shù)學(xué)變換(例如,哈希算法)到生成的本地標(biāo)識符(到用于連接的分配的連接數(shù)據(jù)的指針值)。根據(jù)一個實施例,在應(yīng)用數(shù)學(xué)變換時,哈希引擎255還使用隨機數(shù)(例如,由隨機數(shù)生成器275提供)。流程從框520轉(zhuǎn)到框525。在框525,協(xié)議模塊250的那一個模塊將生成的本地標(biāo)識符和數(shù)學(xué)變換的結(jié)果分別包括到連接建立分組的第一部分和第二部分中。例如,參照L2TP,第一部分能夠是會話ID字段,并且第二部分能夠是cookie字段(或反之亦然)。流程從框525轉(zhuǎn)到框530,其中,控制平面205將連接建立分組傳送到對等網(wǎng)絡(luò)元件110(例如,如果協(xié)議是L2TP,則是ICRP分組)。根據(jù)一個實施例,接收帶有受信任指針和受信任指針的簽名的連接建立分組的對等網(wǎng)絡(luò)元件未不同于往常地處理連接建立分組。因此,對于給定連接,在正常操作期間,對等網(wǎng)絡(luò)元件將在每個數(shù)據(jù)分組中包括作為本地標(biāo)識符的受信任指針和受信任指針的簽名。例如,對于用于訂戶計算機終端站105A的連接,網(wǎng)絡(luò)元件110將在到網(wǎng)絡(luò)元件120的該連接的每個數(shù)據(jù)分組中包括網(wǎng)絡(luò)元件120生成的受信任指針的簽名和受信任指針。圖6根據(jù)本發(fā)明的一個實施例示出為帶有雙向標(biāo)識符的協(xié)議驗證來自對等網(wǎng)絡(luò)元件的數(shù)據(jù)分組中收到的受信任指針。參照圖6所述的操作在帶有雙向標(biāo)識符的那些協(xié)議的數(shù)據(jù)分組的處理期間執(zhí)行。操作在網(wǎng)絡(luò)元件的數(shù)據(jù)平面中執(zhí)行(例如,在網(wǎng)絡(luò)元件的數(shù)據(jù)平面的線路卡中的硬件上執(zhí)行)。在一個實施例中,參照圖6所述的操作適用于使用參照圖3所述的實施例的那些協(xié)議。網(wǎng)絡(luò)元件中的線路卡接收數(shù)據(jù)分組605。收到的數(shù)據(jù)分組605包括報頭340和數(shù)據(jù)有效負(fù)載字段355,報頭340包括本地選擇的標(biāo)識符字段345和可選字段350。收到的數(shù)據(jù)分組605被解析,并且分組605的第一部分中的數(shù)據(jù)(例如,本地選擇的標(biāo)識符字段345中的數(shù)據(jù))和分組605的第二部分中的數(shù)據(jù)(例如,可選字段350中的數(shù)據(jù))被提取并寫入線路卡的分組緩沖器存儲器中。從第一部分(例如,本地選擇的標(biāo)識符字段34提取的數(shù)據(jù)被提供到哈希引擎325,并且從第二部分(例如,可選字段350)提取的數(shù)據(jù)被設(shè)為摘要615,并且提供到摘要比較器620。應(yīng)理解,術(shù)語摘要615用于解釋性目的,因為從分組的第二部分(例如,從可選字段350)提取的數(shù)據(jù)可能不是從哈希算法的應(yīng)用而生成的。如果在生成受信任指針時使用了nonce(例如,如圖3_5中所述的),則提供相同的nonce值到哈希引擎325。雖然在圖6中未示出,但如果對應(yīng)于收到的數(shù)據(jù)分組605的協(xié)議的連接建立序列包括了第一部分中數(shù)據(jù)(本地選擇的標(biāo)識符字段345中的數(shù)據(jù))的混亂和/或分組的第二部分中數(shù)據(jù)(可選字段350中的數(shù)據(jù))的混亂,則該數(shù)據(jù)在提供到哈希引擎325或摘要比較器620之前進行解混亂。根據(jù)本發(fā)明的一個實施例,對于解混亂的指示能夠包括在驗證簡檔中。哈希引擎325在從接收的數(shù)據(jù)分組605的第一部分(例如,本地選擇的標(biāo)識符字段345(如果在受信任指針的創(chuàng)建期間使用的話,則還有nonce380))提取的數(shù)據(jù)上應(yīng)用數(shù)學(xué)變換(例如,哈希算法)。哈希引擎325使用與曾用于生成受信任指針相同的哈希算法。數(shù)學(xué)變換的結(jié)果是摘要610。摘要比較器620比較摘要610和615。如果摘要匹配,則從第一部分(例如,本地選擇的標(biāo)識符字段34提取的值被驗證為受信任指針。經(jīng)驗證的受信任指針隨后能夠受到信任以訪問連接存儲器625中對應(yīng)于接收數(shù)據(jù)分組605的連接數(shù)據(jù)(例如,解引用指針)。如果摘要不匹配,則采取備選動作630(例如,丟棄分組,將分組引導(dǎo)到控制平面以用于進一步處理等)。雖然圖6示出收到的數(shù)據(jù)分組605包括可選字段350,但在一些實施例中,收到的數(shù)據(jù)分組不包括可選字段。應(yīng)理解,解引用指針允許網(wǎng)絡(luò)的線路卡直接索引到其存儲器中以定位連接數(shù)據(jù)。平均而言,這是比諸如使用哈希表或二進制樹查找機制等使用常規(guī)查找更快的查找過程,因為它只要求單次存儲器查找。另外,不同于常規(guī)查找過程,查找時間是恒定的,而與連接的數(shù)量無關(guān)。另外,上述安全快速表查找機制使用可預(yù)測的存儲量。圖7示出本發(fā)明的一個實施例中的為帶有雙向標(biāo)識符的那些協(xié)議驗證從對等網(wǎng)絡(luò)收到的數(shù)據(jù)分組中受信任指針的備選方式。類似如參照圖6所述的,參照圖7所述的操作在網(wǎng)絡(luò)元件的數(shù)據(jù)平面中執(zhí)行(例如,在網(wǎng)絡(luò)元件的數(shù)據(jù)平面的線路卡中的硬件上執(zhí)行)。在一個實施例中,參照圖7所述的操作適用于使用參照圖4所述的實施例的那些協(xié)議。圖7的操作類似于圖6的操作,不同之處在于指針值及該指針值的摘要被包括在可選字段350中(例如,到分配的連接數(shù)據(jù)的指針被編碼在可選字段350的比特0到L中,并且分配的連接數(shù)據(jù)的摘要被編碼在可選字段350的比特L+1到Q比特中)。可選字段350的比特0到L的數(shù)據(jù)提供到哈希引擎425,并且可選字段350的比特L+1到Q的數(shù)據(jù)設(shè)為摘要615。哈希引擎425和摘要編輯器620執(zhí)行如參照圖6所述的類似操作。圖8是示出在本發(fā)明的一個實施例中為帶有雙向標(biāo)識符的那些協(xié)議驗證從對等網(wǎng)絡(luò)收到的數(shù)據(jù)分組中受信任指針的流程圖。圖8的操作將參照圖2的示范實施例進行描述。然而,應(yīng)理解,圖8的操作能夠由與參照圖2討論的那些實施例不同的本發(fā)明的其它實施例來執(zhí)行,并且參照圖2討論的實施例能夠執(zhí)行與參照圖8所述那些操作不同的操作。圖8所示的操作在網(wǎng)絡(luò)元件120內(nèi)的線路卡上執(zhí)行。在框810,分組解析引擎215接收數(shù)據(jù)分組并開始解析數(shù)據(jù)分組。例如,參照圖1,分組解析引擎215從網(wǎng)絡(luò)元件110接收數(shù)據(jù)分組,并且確定分組是帶有雙向標(biāo)識符的協(xié)議的數(shù)據(jù)分組。流程從框810轉(zhuǎn)到框815,在該框,分組解析引擎215從數(shù)據(jù)分組的第一部分和第二部分提取數(shù)據(jù)(例如,從數(shù)據(jù)分組的報頭),并將數(shù)據(jù)寫入分組緩沖器存儲器中如果協(xié)議是L2TP,則在一個實施例中,分組解析引擎215從會話ID字段和cookie字段提取數(shù)據(jù)。流程從框815轉(zhuǎn)到框820。在框820,哈希引擎225將數(shù)學(xué)變換(例如,哈希算法)應(yīng)用到從分組的第一部分提取的數(shù)據(jù)(例如,從L2TP數(shù)據(jù)分組的會話ID字段提取的數(shù)據(jù))。哈希引擎225應(yīng)用如在連接建立期間曾使用的相同數(shù)學(xué)變換(例如,哈希引擎255使用的相同的數(shù)學(xué)變換)。應(yīng)理解,如果在連接建立期使用了nonce值,則在應(yīng)用數(shù)學(xué)變換時,哈希引擎225使用相同的nonce值。流程從框820轉(zhuǎn)到框825。在框825,受信任指針驗證引擎220比較從分組的第二部分(例如,從L2TP數(shù)據(jù)分組中的cookie字段)提取的數(shù)據(jù)和哈希引擎225執(zhí)行的數(shù)學(xué)變換的結(jié)果。如果數(shù)據(jù)匹配(從第一部分提取的數(shù)據(jù)是受信任指針),則流程轉(zhuǎn)到框835,否則,流程轉(zhuǎn)到框830,在該框采取備選動作(例如,丟棄分組,數(shù)據(jù)平面嘗試使用分組的第一部分的信息(例如,會話ID字段中值)來查找該分組的連接數(shù)據(jù),將分組轉(zhuǎn)發(fā)到控制平面以用于進一步處理等)。在框835,從分組的第一部分提取的數(shù)據(jù)(受信任指針)被解引用以定位對應(yīng)于該數(shù)據(jù)分組的分配的連接數(shù)據(jù)。流程從框835轉(zhuǎn)到框840,在該框,數(shù)據(jù)平面繼續(xù)處理數(shù)據(jù)分組。在一個實施例中,如果連接數(shù)據(jù)被分配到專用于連接數(shù)據(jù)的存儲器的部分,并且該專用存儲器部分的存儲器地址范圍是已知的,則在對來自收到的數(shù)據(jù)分組的第一部分的提取數(shù)據(jù)進行哈希(例如,框820中)前,確定從第一部分提取的數(shù)據(jù)是否指向?qū)S糜谶B接數(shù)據(jù)的存儲器的該部分。如果從分組的第一部分提取的數(shù)據(jù)指向?qū)S糜谶B接數(shù)據(jù)的存儲器的該范圍中的存儲器位置,則處理繼續(xù)(例如,執(zhí)行框820中的哈希),否則,采取備選動作(例如,丟棄分組,將分組轉(zhuǎn)發(fā)到控制平面以用于進一步處理,數(shù)據(jù)平面嘗試使用分組的第一部分的信息(例如,會話ID字段中的值)來查找該分組的連接數(shù)據(jù)等)。應(yīng)理解,本發(fā)明的實施例不要求連接的兩側(cè)(例如,兩個網(wǎng)絡(luò)元件110和120)執(zhí)14行上述操作(例如,選擇本地標(biāo)識符作為到連接數(shù)據(jù)的指針)。在本發(fā)明的一個實施例中,在最初驗證指針為受信任后,在數(shù)據(jù)平面中設(shè)置標(biāo)志,以便帶有該指針的將來數(shù)據(jù)分組能夠受到信任而不執(zhí)行另外的數(shù)學(xué)變換。圖9是示出根據(jù)本發(fā)明的一個實施例的在參照圖8所述的流程中執(zhí)行的可選操作的流程圖。在執(zhí)行參照圖8的框815所述的操作后,流程轉(zhuǎn)到圖9的框910,在該框,做出以下確定從數(shù)據(jù)分組的第一部分提取的數(shù)據(jù)是否以前已被驗證。如果從數(shù)據(jù)分組的第一部分提取的數(shù)據(jù)以前已被驗證,則流程轉(zhuǎn)到參照圖8所述的框835,否則,流程轉(zhuǎn)到參照圖8所述的框825。在一個實施例中,布隆過濾器用于記錄指針值的哪些值已被驗證,并且跨指針值的多個值被共享,而在其它實施例中,比特圖表用于記錄以前驗證的指針值。在一個實施例,布隆過濾器和/或比特圖表存儲在網(wǎng)絡(luò)元件的線路卡的靜態(tài)隨機存取存儲器(SRAM)中。布隆過濾器是用于確定元素是否是集合的成員的概率表示。根據(jù)一個實施例,在指針值最初已被驗證后,第一部分的數(shù)學(xué)變換的結(jié)果(例如,哈希摘要)在布隆過濾器中被表示。在另一個實施例中,在指針值最初已被驗證后,該指針值和哈希摘要的組合在布隆過濾器中被表示(例如,指針值和哈希摘要被級聯(lián),指針值添加到哈希摘要,哈希摘要按對應(yīng)于指針值的量來移位等)。這在本文中后面參照框915描述。在一個實施例中,將哈希摘要分成多個段,為那些段的每個段計算值,并且設(shè)置對應(yīng)于設(shè)置值的布隆過濾器的比特。為了確定指針以前是否已被信任(例如,哈希在布隆過濾器上被表示),將從分組的第二部分提取的數(shù)據(jù)分割成多個段,為那些段的每個段計算值,以及校驗對應(yīng)于那些值的布隆過濾器的比特。如果它們?nèi)勘辉O(shè)置,則指針以前已被信任。然而,如果未設(shè)置任何比特,則指針以前尚未被驗證。當(dāng)然,其它方式可用于緩存驗證的結(jié)果,包括使用多個布隆過濾器。再參照圖9,在框825,如果從分組的第二部分(例如,從L2TP數(shù)據(jù)分組中的cookie字段)提取的數(shù)據(jù)匹配哈希引擎225執(zhí)行的數(shù)學(xué)變換的結(jié)果,則流程轉(zhuǎn)到框915,在該框,來自第一部分的數(shù)據(jù)被設(shè)為是受信任的。例如,如果使用布隆過濾器,將從分組的第二部分提取的數(shù)據(jù)(以及可選地與從分組的第一部分提取的數(shù)據(jù)組合)被表示到布隆過濾器中(例如,將從第二部分提取的數(shù)據(jù)(或可選地從第一和第二部分提取的數(shù)據(jù)的組合)分割成一個或多個段,計算那些段的每個段的值,以及設(shè)置對應(yīng)于那些值的布隆過濾器的比特)。流程隨后從框915轉(zhuǎn)到參照圖8所述的框830。雖然圖中的流程圖示出本發(fā)明的某些實施例執(zhí)行的操作的特定順序,但應(yīng)理解,此類順序是示范性的(例如,備選實施例可以在不同的順序中執(zhí)行操作,組合某些操作,重疊某些操作等)。雖然本發(fā)明已根據(jù)幾個實施例來描述,但本領(lǐng)域的技術(shù)人員將認(rèn)識到本發(fā)明不限于所述實施例,而是能夠通過隨附權(quán)利要求的精神和范圍內(nèi)的修改和變化來實踐。描述因此要視為是說明性的而不是限制性的。權(quán)利要求1.一種用于一對網(wǎng)絡(luò)元件的第一網(wǎng)絡(luò)元件上執(zhí)行的安全快速表查找的方法,包括建立協(xié)議的多個連接,其中建立每個連接包括在所述第一網(wǎng)絡(luò)元件與所述一對網(wǎng)絡(luò)元件的第二網(wǎng)絡(luò)元件之間交換本地選擇的標(biāo)識符,其中為每個連接建立執(zhí)行以下操作在所述第一網(wǎng)絡(luò)元件的存儲器中分配連接數(shù)據(jù),生成本地標(biāo)識符,所述本地標(biāo)識符是到所分配的連接數(shù)據(jù)的指針,應(yīng)用數(shù)學(xué)變換到所生成的本地標(biāo)識符,分別在連接建立分組的第一和第二部分中包括表示所生成的本地標(biāo)識符的值和所生成的本地標(biāo)識符的數(shù)學(xué)變換的結(jié)果,以及將所述連接建立分組傳送到所述第二網(wǎng)絡(luò)元件;以及響應(yīng)于從所述第二網(wǎng)絡(luò)元件接收該協(xié)議的第一數(shù)據(jù)分組,執(zhí)行以下操作從所述第一數(shù)據(jù)分組的第一部分和第二部分提取數(shù)據(jù),應(yīng)用所述數(shù)學(xué)變換到從所述第一部分提取的數(shù)據(jù),以及確定從所述第一部分提取的數(shù)據(jù)的數(shù)學(xué)變換的結(jié)果匹配從所述第一分組的第二部分提取的數(shù)據(jù),以及解引用所述第一部分中提取的數(shù)據(jù)以定位用于所述第一數(shù)據(jù)分組的所分配的連接數(shù)據(jù)。2.如權(quán)利要求1所述的方法,其中表示所生成的本地標(biāo)識符的所述值是所生成的本地標(biāo)識符的混亂值。3.如權(quán)利要求1所述的方法,其中對于每個連接建立,所生成的本地標(biāo)識符是到所分配的連接數(shù)據(jù)的存儲器地址。4.如權(quán)利要求1所述的方法,還包括響應(yīng)于從所述第二網(wǎng)絡(luò)元件接收該協(xié)議的第二數(shù)據(jù)分組,執(zhí)行以下操作從所述第二數(shù)據(jù)分組的第一部分和第二部分提取數(shù)據(jù),應(yīng)用所述數(shù)學(xué)變換到從所述第一部分提取的數(shù)據(jù),以及確定從所述第一部分提取的數(shù)據(jù)的數(shù)學(xué)變換的結(jié)果與從所述第二數(shù)據(jù)分組的第二部分提取的數(shù)據(jù)不匹配,以及丟棄所述第二數(shù)據(jù)分組。5.如權(quán)利要求1所述的方法,其中所述協(xié)議是第2層隧道化協(xié)議(L2TP),其中每個連接建立分組的第一部分和所述第一數(shù)據(jù)分組的第一部分對應(yīng)于會話ID字段,并且其中每個連接建立分組的第二部分和所述第二數(shù)據(jù)分組的第二部分對應(yīng)于cookie字段。6.如權(quán)利要求1所述的方法,還包括對于每個連接,在所述數(shù)學(xué)變換應(yīng)用到所生成的本地標(biāo)識符期間使用相同的nonce值,并且響應(yīng)于接收所述第一數(shù)據(jù)分組還在所述數(shù)學(xué)變換應(yīng)用到從所述第一數(shù)據(jù)分組的第一部分提取的數(shù)據(jù)期間使用所述相同的nonce值。7.如權(quán)利要求1所述的方法,其中所述數(shù)學(xué)變換是單向哈希算法,以及其中應(yīng)用到所生成的本地標(biāo)識符的所述數(shù)學(xué)變換的結(jié)果是從所述數(shù)學(xué)變換產(chǎn)生的哈希摘要的一部分,以及其中對從所述第一部分提取的數(shù)據(jù)的所述數(shù)學(xué)變換的結(jié)果是由該數(shù)學(xué)變換產(chǎn)生的哈希摘要的一部分,所述部分對應(yīng)于從應(yīng)用到所生成的本地標(biāo)識符的所述數(shù)學(xué)變換產(chǎn)生的哈希摘要的所述部分。8.如權(quán)利要求1所述的方法,其中在專用于連接數(shù)據(jù)的存儲器的部分中分配用于每個連接的連接數(shù)據(jù)。9.如權(quán)利要求8所述的方法,還包括其中將所述數(shù)學(xué)變換應(yīng)用到從所述第一部分提取的數(shù)據(jù)是響應(yīng)確定從所述第一部分提取的數(shù)據(jù)在專用于連接數(shù)據(jù)的存儲器的部分的范圍內(nèi)。10.一種為帶有雙向標(biāo)識符的協(xié)議執(zhí)行安全快速表查找的網(wǎng)絡(luò)元件,所述網(wǎng)絡(luò)元件包括控制平面,包括一個或多個協(xié)議模塊以建立連接,其中每個協(xié)議模塊為每個連接執(zhí)行以下操作在所述網(wǎng)絡(luò)元件的數(shù)據(jù)平面的存儲器中分配用于該連接的連接數(shù)據(jù),選擇本地標(biāo)識符,所述本地標(biāo)識符是到用于該連接的所分配的連接數(shù)據(jù)的指針,基于所選擇的標(biāo)識符,生成驗證簽名,以及與一個或多個協(xié)議參與對等網(wǎng)絡(luò)元件協(xié)商所選擇的指針和所述驗證簽名;以及數(shù)據(jù)平面,與所述控制平面耦合,所述數(shù)據(jù)平面包括存儲器,存儲每個連接的所分配的連接數(shù)據(jù),分組解析引擎,接收和解析從用于所建立的連接的所述一個或多個協(xié)議參與對等網(wǎng)絡(luò)元件接收的數(shù)據(jù)分組,其中每個接收的數(shù)據(jù)分組包括本地標(biāo)識符和驗證簽名,所述分組解析引擎從所述數(shù)據(jù)分組提取所述本地標(biāo)識符和所述驗證簽名,哈希引擎,與所述分組解析引擎耦合,所述哈希引擎應(yīng)用哈希算法到所提取的本地標(biāo)識符,以及受信任指針驗證引擎,與所述分組解析引擎和所述哈希引擎耦合,所述受信任指針驗證引擎執(zhí)行以下操作比較所提取的驗證簽名和所述哈希算法應(yīng)用到所提取的本地標(biāo)識符的結(jié)果的對應(yīng)結(jié)果,以及解引用所提取的本地標(biāo)識符中其對應(yīng)提取的驗證簽名匹配所述哈希算法應(yīng)用到該提取的本地標(biāo)識符的對應(yīng)結(jié)果的那些本地標(biāo)識符。11.如權(quán)利要求10所述的網(wǎng)絡(luò)元件,其中所述受信任指針驗證引擎還要丟棄其提取的驗證簽名與所述哈希算法應(yīng)用到所提取的本地標(biāo)識符的對應(yīng)結(jié)果不匹配的那些數(shù)據(jù)分組。12.如權(quán)利要求10所述的網(wǎng)絡(luò)元件,其中所述協(xié)議模塊之一是第2層隧道化協(xié)議(L2TP)模塊,其中協(xié)商所選擇的指針和驗證簽名包括所述L2TP模塊生成包括所選擇的指針和驗證簽名的L2TP連接建立分組。13.如權(quán)利要求12所述的網(wǎng)絡(luò)元件,其中所述L2TP模塊要在所述L2TP連接建立分組的會話ID字段中包括所選擇的指針,并且在所述L2TP連接建立分組的cookie字段中包括所述驗證簽名。14.如權(quán)利要求10所述的網(wǎng)絡(luò)元件,其中所述控制平面要還基于nonce值為每個連接生成所述驗證簽名,以及其中所述數(shù)據(jù)平面中的所述哈希引擎還要在應(yīng)用所述哈希算法到所提取的本地標(biāo)識符時使用所述nonce值。15.如權(quán)利要求10所述的網(wǎng)絡(luò)元件,其中用于每個連接的所選擇的本地標(biāo)識符是到用于該連接的數(shù)據(jù)平面的所分配的連接數(shù)據(jù)的存儲器地址。16.一種用于在一對網(wǎng)絡(luò)元件的第一網(wǎng)絡(luò)元件上為帶有雙向標(biāo)識符的協(xié)議所執(zhí)行的安全快速表查找的方法,所述方法包括接收多個連接建立請求,每個請求要為帶有雙向標(biāo)識符的協(xié)議建立連接;為每個接收的連接建立請求執(zhí)行以下操作在所述網(wǎng)絡(luò)元件的存儲器中分配連接數(shù)據(jù),選擇本地標(biāo)識符,所述本地標(biāo)識符是到所分配的連接數(shù)據(jù)的指針,對所選擇的本地標(biāo)識符進行哈希以產(chǎn)生驗證簽名,以及生成連接建立分組,所述連接建立分組在所述分組的報頭的第一部分中包括所選擇的本地標(biāo)識符,并且在所述分組的所述報頭的第二部分中包括所述驗證簽名,其中用于該連接的數(shù)據(jù)分組包括報頭,所述報頭包括對應(yīng)的第一部分和第二部分,以及將所述連接建立分組傳送到一對網(wǎng)絡(luò)元件的第二網(wǎng)絡(luò)元件;從所述第二網(wǎng)絡(luò)元件接收用于所建立的連接的多個數(shù)據(jù)分組,為每個接收的數(shù)據(jù)分組執(zhí)行以下操作提取該數(shù)據(jù)分組的報頭的第一部分中包括的數(shù)據(jù)和該數(shù)據(jù)分組的所述報頭的第二部分中包括的數(shù)據(jù),對從所述報頭的第一部分提取的數(shù)據(jù)進行哈希,比較從所述報頭的第一部分提取的數(shù)據(jù)的哈希的結(jié)果和從所述報頭的第二部分提取的數(shù)據(jù),響應(yīng)于確定從所述報頭的第一部分提取的數(shù)據(jù)的哈希的結(jié)果匹配從所述報頭的第二部分提取的數(shù)據(jù),解引用從所述報頭的第一部分提取的數(shù)據(jù)以定位所述存儲器中所分配的連接數(shù)據(jù)。17.如權(quán)利要求16所述的方法,其中對于每個接收的數(shù)據(jù)分組,還執(zhí)行以下操作響應(yīng)于確定從所述報頭的第一部分提取的數(shù)據(jù)的哈希的結(jié)果和從所述報頭的第二部分提取的數(shù)據(jù)不匹配,丟棄該數(shù)據(jù)分組。18.如權(quán)利要求16所述的方法,其中所述驗證簽名是所選擇的本地標(biāo)識符的哈希的結(jié)果的一部分。19.如權(quán)利要求16所述的方法,其中對于每個連接,所述指針是所分配的連接數(shù)據(jù)的存儲器地址。20.如權(quán)利要求16所述的方法,其中所述協(xié)議是第2層隧道化協(xié)議(L2TP),其中每個連接建立分組的第一部分和所述第一數(shù)據(jù)分組的第一部分對應(yīng)于會話ID字段,并且其中每個連接建立分組的第二部分和所述第二數(shù)據(jù)分組的第二部分對應(yīng)于cookie字段。全文摘要在帶有雙向標(biāo)識符的協(xié)議的連接建立期間,連接數(shù)據(jù)被分配,本地選擇的標(biāo)識符是到分配的連接數(shù)據(jù)的指針,以及數(shù)學(xué)變換被應(yīng)用到指針。指針和數(shù)學(xué)變換的結(jié)果分別被包括在連接建立分組的第一和第二部分中。在接收該協(xié)議的數(shù)據(jù)分組時,提取數(shù)據(jù)分組的第一和第二部分(這對應(yīng)于連接建立分組的第一和第二部分)。在連接建立期間使用的相同數(shù)學(xué)變換被應(yīng)用到從數(shù)據(jù)分組的第一部分提取的數(shù)據(jù)。數(shù)學(xué)變換的結(jié)果與從數(shù)據(jù)分組的第二部提取的數(shù)據(jù)進行比較;如果值匹配,則從第一部分提取的數(shù)據(jù)受到信任,并且被解引用以訪問與該數(shù)據(jù)分組相關(guān)聯(lián)的分配的連接數(shù)據(jù)。文檔編號H04L29/08GK102422617SQ201080021442公開日2012年4月18日申請日期2010年5月13日優(yōu)先權(quán)日2009年5月13日發(fā)明者J·利納姆,S·蘇布拉馬尼安申請人:瑞典愛立信有限公司