用于網(wǎng)絡(luò)設(shè)備內(nèi)的分組處理的基于變量的轉(zhuǎn)發(fā)路徑結(jié)構(gòu)的制作方法
【專利摘要】一般性地,本公開內(nèi)容描述了用于以網(wǎng)絡(luò)設(shè)備、使用內(nèi)部處理路徑來應(yīng)用訂戶特定分組處理的技術(shù),該內(nèi)部處理路徑包括服務(wù)對象,這些服務(wù)對象被共同應(yīng)用到與多個訂戶相關(guān)聯(lián)的多個分組流。在一個示例中,網(wǎng)絡(luò)設(shè)備控制平面創(chuàng)建訂戶記錄,這些訂戶記錄針對各自的訂戶包括一個或多個變量值,該一個或多個變量值指定服務(wù)對象以及用于分組處理模板的標(biāo)識符。該網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)平面接收訂戶分組并且將訂戶分組映射到相關(guān)聯(lián)的訂戶記錄,并且然后通過執(zhí)行由該訂戶記錄所指定的分組處理模板來處理該分組。當(dāng)該轉(zhuǎn)發(fā)平面在執(zhí)行所指定的分組處理模板的同時到達(dá)一個變量時,該轉(zhuǎn)發(fā)平面從該訂戶記錄讀取相關(guān)聯(lián)的變量值,以識別并且然后應(yīng)用由該變量所指定的訂戶特定服務(wù)對象。
【專利說明】用于網(wǎng)絡(luò)設(shè)備內(nèi)的分組處理的基于變量的轉(zhuǎn)發(fā)路徑結(jié)構(gòu)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于分組的計算機網(wǎng)絡(luò),并且更特別地,涉及在計算機網(wǎng)絡(luò)內(nèi)轉(zhuǎn)發(fā)分組。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)服務(wù)提供商向訂戶提供服務(wù),訂戶使用接入網(wǎng)絡(luò)來接入服務(wù)提供商核心網(wǎng)絡(luò)。所提供的服務(wù)可以包括,例如,傳統(tǒng)的因特網(wǎng)接入、通過互聯(lián)網(wǎng)協(xié)議的語音電話(VoIP)、視頻和多媒體服務(wù)、以及安全服務(wù)。服務(wù)提供商網(wǎng)絡(luò)可以支持多種類型的接入網(wǎng)絡(luò)基礎(chǔ)設(shè)施,這些接入網(wǎng)絡(luò)基礎(chǔ)設(shè)施連接到服務(wù)提供商接入網(wǎng)關(guān)以提供對所提供的服務(wù)的接入。
[0003]因為接入網(wǎng)關(guān)直接從訂戶的上游被定位在服務(wù)提供商網(wǎng)絡(luò)的邊緣附近,并且操作以提供操作終結(jié)點(即,終止)訂戶連接(例如,基于數(shù)字訂戶線路或電纜的連接)進(jìn)入服務(wù)提供商網(wǎng)絡(luò),所以接入網(wǎng)關(guān)通常提供用于識別訂戶流量和提供訂戶特定服務(wù)的機制。當(dāng)流量穿越服務(wù)提供商核心網(wǎng)絡(luò)邊界時,接入網(wǎng)關(guān)基于每個訂戶來應(yīng)用訂戶策略以管理這樣的訂戶流量。
[0004]網(wǎng)絡(luò)設(shè)備,諸如接入網(wǎng)關(guān),通常包括控制單元,控制單元為網(wǎng)絡(luò)設(shè)備提供控制平面功能。在一些情況下,網(wǎng)絡(luò)設(shè)備還可以包括多個轉(zhuǎn)發(fā)組件,諸如分組轉(zhuǎn)發(fā)引擎(PFE)以及交換結(jié)構(gòu),分組轉(zhuǎn)發(fā)引擎和交換結(jié)構(gòu)共同提供轉(zhuǎn)發(fā)平面用于轉(zhuǎn)發(fā)網(wǎng)絡(luò)流量。
[0005]由控制單元所提供的控制平面功能包括采用路由表形式的存儲網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),執(zhí)行路由協(xié)議來與對等路由設(shè)備通信以維持并更新路由表,并且提供管理接口以允許用戶接入和對網(wǎng)絡(luò)設(shè)備的配置。控制單元維持路由信息,路由信息表示網(wǎng)絡(luò)的整體拓?fù)浣Y(jié)構(gòu)并且定義去往網(wǎng)絡(luò)內(nèi)的目的地前綴的路由。
[0006]控制單元導(dǎo)出轉(zhuǎn)發(fā)信息庫(FIB),轉(zhuǎn)發(fā)信息庫包括多個根據(jù)路由信息和控制信息由控制單元所生成和/或所分配的服務(wù)對象,并且將服務(wù)對象安裝到轉(zhuǎn)發(fā)組件。構(gòu)成服務(wù)對象的數(shù)據(jù)和指令針對由網(wǎng)絡(luò)設(shè)備所接收的每個傳入分組定義了內(nèi)部處理和轉(zhuǎn)發(fā)路徑。例如,為了生成路由表查找服務(wù)對象,控制單元選擇由網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)所定義的路由,并且將分組關(guān)鍵字信息(例如,目的地信息和來自分組頭部的其他選擇信息)映射到一個或多個特定的下一跳網(wǎng)絡(luò)設(shè)備并且最終映射到網(wǎng)絡(luò)設(shè)備的接口卡的一個或多個特定的輸出接口。典型地,控制單元將服務(wù)對象安裝到轉(zhuǎn)發(fā)組件中的每個轉(zhuǎn)發(fā)組件中,以更新FIB并控制流量處理和轉(zhuǎn)發(fā)平面內(nèi)的轉(zhuǎn)發(fā)。分叉控制和轉(zhuǎn)發(fā)平面功能允許轉(zhuǎn)發(fā)組件中的每個轉(zhuǎn)發(fā)組件中的FIB被更新,而不降低網(wǎng)絡(luò)設(shè)備的分組轉(zhuǎn)發(fā)性能。
【發(fā)明內(nèi)容】
[0007]一般性地,本公開內(nèi)容描述了用于以網(wǎng)絡(luò)設(shè)備、使用內(nèi)部處理路徑來應(yīng)用訂戶特定分組處理的技術(shù),該內(nèi)部處理路徑包括服務(wù)對象,這些服務(wù)對象被共同應(yīng)用到與多個訂戶相關(guān)聯(lián)的多個分組流。在一個示例中,網(wǎng)絡(luò)設(shè)備的控制平面管理訂戶,來為訂戶中的每個訂戶識別訂戶特定服務(wù)和服務(wù)屬性。該控制平面進(jìn)一步識別如下的服務(wù)和服務(wù)屬性:這些服務(wù)和服務(wù)屬性對多個訂戶是共同的,并且可以使用該網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)平面的內(nèi)部處理路徑的共同服務(wù)對象來應(yīng)用這些服務(wù)和服務(wù)屬性。
[0008]該控制平面指引該轉(zhuǎn)發(fā)平面為共享服務(wù)的各自訂戶集合來對該內(nèi)部處理路徑創(chuàng)建并安裝分組處理模板。分組處理模板包括多個服務(wù)對象,該多個服務(wù)對象應(yīng)用轉(zhuǎn)發(fā)、過濾、速率限制、排隊、計數(shù)、和/或可以被共同應(yīng)用到各自訂戶集合的其他服務(wù)。另外,每個分組處理模板指定了一個或多個變量,用于該一個或多個變量的值可以稍后“在飛行中”被確定,也就是說,在轉(zhuǎn)發(fā)平面中使用該模板來處理分組的同時。該控制平面在該內(nèi)部處理路徑內(nèi)創(chuàng)建并安裝訂戶記錄,這些訂戶記錄為各自的訂戶指定一個或多個變量值,以及用于分組處理模板的標(biāo)識符。變量值可以識別,例如,被安裝到該內(nèi)部處理路徑的特定服務(wù)對象或者確定該服務(wù)對象功能的方面的屬性值。
[0009]轉(zhuǎn)發(fā)平面接收訂戶分組并且將訂戶分組映射到針對該訂戶的關(guān)聯(lián)訂戶記錄,并且然后在該內(nèi)部處理路徑內(nèi)使用由該訂戶記錄所指定的分組處理模板來處理該分組。當(dāng)轉(zhuǎn)發(fā)平面在執(zhí)行所指定的分組處理模板的同時到達(dá)一個變量時,轉(zhuǎn)發(fā)平面從該訂戶記錄讀取相關(guān)聯(lián)的變量值,以識別并且然后應(yīng)用訂戶特定服務(wù)操作或用于該變量的屬性值。訂戶記錄變量值可以以這種方式基于訂戶的身份而不是基于分組關(guān)鍵字來改變分組處理模板的執(zhí)行路徑,這可以在多個訂戶之間超載。
[0010]這些技術(shù)可以提供一個或多個優(yōu)點。例如,這些技術(shù)允許控制平面使用簡單的數(shù)據(jù)結(jié)構(gòu):訂戶記錄,針對訂戶分組來創(chuàng)建并修改轉(zhuǎn)發(fā)平面中的內(nèi)部處理路徑。換句話說,已經(jīng)創(chuàng)建并安裝了用于訂戶集合的分組處理模板,控制平面可以通過創(chuàng)建對應(yīng)的訂戶記錄來將任意數(shù)量附加訂戶的流量映射到該分組處理模板,這些對應(yīng)的訂戶記錄識別該分組處理模板并且包括訂戶特定變量值。作為結(jié)果,轉(zhuǎn)發(fā)平面可以將共同的內(nèi)部處理路徑應(yīng)用到多個訂戶流,同時仍然如所需要的來提供訂戶特定的處理。這通過減少設(shè)置時間和為了支持每個訂戶所要求的處理路徑資源的數(shù)量兩者,可以在訂戶數(shù)量和服務(wù)維度數(shù)量兩者上增加該網(wǎng)絡(luò)設(shè)備的可擴(kuò)展性。
[0011]在一個示例中,一種方法包括:將分組處理模板安裝到網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)平面,該分組處理模板指定共同服務(wù)和變量,該共同服務(wù)在用該分組處理模板進(jìn)行分組處理期間應(yīng)用到多個分組流,該變量確定與該分組處理模板相關(guān)聯(lián)的執(zhí)行路徑。該方法還包括為該多個分組流的第一分組流生成第一訂戶記錄,第一訂戶記錄為該變量指定第一變量值。該方法進(jìn)一步包括用該網(wǎng)絡(luò)設(shè)備接收與第一分組流相關(guān)聯(lián)的第一分組。該方法進(jìn)一步包括通過使用由第一訂戶記錄所指定的第一變量值來為第一分組選擇與第一分組處理模板相關(guān)聯(lián)的執(zhí)行路徑,以用該分組處理模板來處理第一分組。
[0012]在另一個示例中,網(wǎng)絡(luò)設(shè)備包括:接口卡、包括一個或多個處理器的控制單元、以及與該接口卡相關(guān)聯(lián)的轉(zhuǎn)發(fā)組件。轉(zhuǎn)發(fā)組件包括關(guān)鍵字引擎、分組處理模板和變量,該分組處理模板指定共同的服務(wù)以在用該分組處理模板進(jìn)行分組處理期間應(yīng)用至多個分組流,該變量確定與該分組處理模板相關(guān)聯(lián)的執(zhí)行路徑。轉(zhuǎn)發(fā)組件還包括第一訂戶記錄,第一訂戶記錄為該變量指定第一變量值,其中第一訂戶記錄與該多個分組流的第一分組流相關(guān)聯(lián),其中該接口卡接收與第一分組流相關(guān)聯(lián)的第一分組,并且其中該關(guān)鍵字引擎通過使用由第一訂戶記錄所指定的第一變量值來執(zhí)行該分組處理模板,來為第一分組選擇與該分組處理模板相關(guān)聯(lián)的執(zhí)行路徑。[0013]在另一個示例中,非瞬態(tài)計算機可讀介質(zhì)包含指令。這些指令促使一個或多個可編程處理器將分組處理模板和變量安裝到網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)平面,該分組處理模板指定共同服務(wù)以在用該分組處理模板進(jìn)行分組處理期間應(yīng)用到多個分組流,該變量確定與該分組處理模板相關(guān)聯(lián)的執(zhí)行路徑。這些指令還促使該一個或多個可編程處理器為該多個分組流的第一分組流生成第一訂戶記錄,第一訂戶記錄為該變量指定第一變量值。這些指令還促使該一個或多個可編程處理器用該網(wǎng)絡(luò)設(shè)備接收與第一分組流相關(guān)聯(lián)的第一分組。這些指令還促使該一個或多個可編程處理器通過使用由第一訂戶記錄所指定的第一變量值來為第一分組選擇與該分組處理模板相關(guān)聯(lián)的執(zhí)行路徑,以用該分組處理模板來處理第一分組。
[0014]本發(fā)明的一個或多個實施例的細(xì)節(jié)闡述于附圖和下文的描述中。根據(jù)描述和附圖并且根據(jù)權(quán)利要求書,本發(fā)明的其他特征、目的、以及優(yōu)點將是明顯的。
【專利附圖】
【附圖說明】
[0015]圖1是圖示了示例網(wǎng)絡(luò)系統(tǒng)的框圖,在該示例網(wǎng)絡(luò)系統(tǒng)中服務(wù)節(jié)點使用基于變量的轉(zhuǎn)發(fā)架構(gòu)以將服務(wù)應(yīng)用到接入網(wǎng)絡(luò)與核心網(wǎng)絡(luò)之間的網(wǎng)絡(luò)數(shù)據(jù)流量。
[0016]圖2是圖示了示例服務(wù)節(jié)點的框圖,該示例服務(wù)節(jié)點根據(jù)所描述的技術(shù)用模板邏輯接口來處理多個訂戶分組流。
[0017]圖3是一個框圖,該框圖以進(jìn)一步的細(xì)節(jié)圖示了圖2的控制單元和服務(wù)節(jié)點的分組轉(zhuǎn)發(fā)引擎的示例實例。
[0018]圖4是一個框圖,該框圖圖示了符合本公開內(nèi)容中所描述的技術(shù)的示例模板路徑和訂戶記錄。
[0019]圖5是一個流程圖,該流程圖圖示了圖2的服務(wù)節(jié)點使用基于變量的處理路徑來處理分組的操作的示例模式。
【具體實施方式】
[0020]圖1是圖不了不例網(wǎng)絡(luò)系統(tǒng)2的框圖,在不例網(wǎng)絡(luò)系統(tǒng)2中,服務(wù)節(jié)點12使用基于變量的轉(zhuǎn)發(fā)架構(gòu)以將服務(wù)應(yīng)用到接入網(wǎng)絡(luò)6與核心網(wǎng)絡(luò)4之間的網(wǎng)絡(luò)數(shù)據(jù)流量。服務(wù)節(jié)點12是接入網(wǎng)絡(luò)6的上游(B卩,核心側(cè)),并且提供對于接收和終止訂戶特定連接所必需的組件,從而產(chǎn)生基于分組的通信。
[0021]訂戶設(shè)備10A-10N(“訂戶設(shè)備10”)經(jīng)由接入網(wǎng)絡(luò)6附接到SP網(wǎng)絡(luò)2來獲得由SP網(wǎng)絡(luò)2提供給訂戶的服務(wù)。訂戶設(shè)備10每個可以包括,例如,移動電話、智能電話、臺式/膝上型計算機、游戲控制臺、視頻會議套件、工作站、無線設(shè)備、網(wǎng)絡(luò)就緒電器、文件服務(wù)器、打印服務(wù)器、數(shù)字訂戶線路(DSL)路由器、電纜調(diào)制解調(diào)器、或者用以接入SP網(wǎng)絡(luò)2的服務(wù)的其他設(shè)備。訂戶可以代表,例如,企業(yè)、住宅訂戶、或移動訂戶。訂戶設(shè)備10經(jīng)由接入鏈路5連接到接入網(wǎng)絡(luò)6,接入鏈路5每個包括有線和/或無線通信鏈路。如本文所使用的,術(shù)語“通信鏈路”包括任何形式的傳送介質(zhì),有線或無線的,并且能夠包括諸如網(wǎng)絡(luò)設(shè)備的中間節(jié)點。接入鏈路5中的每一個可以包括,例如,非對稱DSL網(wǎng)絡(luò)、WiMAX、T-l線路、綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN),或有線以太網(wǎng)的各方面。
[0022]接入網(wǎng)絡(luò)6為了向SP網(wǎng)絡(luò)2的核心網(wǎng)絡(luò)4/從SP網(wǎng)絡(luò)2的核心網(wǎng)絡(luò)4的傳送,從一個或多個訂戶聚合數(shù)據(jù)流量。接入網(wǎng)絡(luò)6包括如下的網(wǎng)絡(luò)節(jié)點(圖1中未示出):這些網(wǎng)絡(luò)節(jié)點執(zhí)行通信協(xié)議來傳送控制和用戶數(shù)據(jù)以促進(jìn)訂戶設(shè)備10與核心網(wǎng)絡(luò)4之間的通信。接入網(wǎng)絡(luò)6可以包括,例如,數(shù)字訂戶線路接入復(fù)用器(DSLAM)、交換機、邊緣路由器、寬帶遠(yuǎn)程接入服務(wù)器(BRAS)、網(wǎng)關(guān)通用分組無線電服務(wù)(GPRS)支持節(jié)點(GGSN)和其他GPRS支持節(jié)點(GSN)、具有UMTS陸地?zé)o線電接入網(wǎng)絡(luò)(UTRAN)的通用移動電話系統(tǒng)(UMTS)、和/或3GPP長期演進(jìn)(LTE)移動接入網(wǎng)絡(luò),3GPP長期演進(jìn)移動接入網(wǎng)絡(luò)采用,例如,服務(wù)網(wǎng)關(guān)(SGff),分組數(shù)據(jù)網(wǎng)絡(luò)網(wǎng)關(guān)(PDN)、以及eNodeB、移動IP網(wǎng)絡(luò)、IP網(wǎng)絡(luò)、或者為訂戶10到核心網(wǎng)絡(luò)4提供接入的另一種類型的網(wǎng)絡(luò)。接入網(wǎng)6的元件可以支持各種協(xié)議,諸如互聯(lián)網(wǎng)協(xié)議(I P )、幀中繼、異步傳送模式(A TM )、以太網(wǎng)、點對點協(xié)議(P P P )、通過以太網(wǎng)的點對點協(xié)議(PPPoE)、GPRS隧道協(xié)議(GTP)、以及虛擬局域網(wǎng)(VLAN)相關(guān)的協(xié)議,等等。訂戶設(shè)備10每個可以具有專用訂戶接口,例如,ATM虛電路(VC)或以太網(wǎng)虛擬局域網(wǎng)(VLAN),來接入網(wǎng)絡(luò)6。
[0023]核心網(wǎng)絡(luò)4可以表示公共網(wǎng)絡(luò),公共網(wǎng)絡(luò)由服務(wù)提供商擁有并操作來相互連接多個網(wǎng)絡(luò),諸如接入網(wǎng)絡(luò)6。核心網(wǎng)絡(luò)4可以實施多協(xié)議標(biāo)簽交換(MPLS)轉(zhuǎn)發(fā),并且在這些實例中可以被稱為MPLS網(wǎng)絡(luò)。在一些實例中,核心網(wǎng)絡(luò)4表示多個互連的自治系統(tǒng),諸如從一個或多個服務(wù)提供商提供服務(wù)的因特網(wǎng)。
[0024]在一些實例中,傳送鏈路將服務(wù)節(jié)點12耦合到接入網(wǎng)絡(luò)6和核心網(wǎng)絡(luò)4。服務(wù)節(jié)點12可以被考慮為位于接入網(wǎng)絡(luò)“后面”。接入網(wǎng)絡(luò)6與核心網(wǎng)絡(luò)4之間所交換的所有網(wǎng)絡(luò)流量穿過服務(wù)節(jié)點12。服務(wù)節(jié)點12可以構(gòu)成回程網(wǎng)絡(luò)的一部分,回程網(wǎng)絡(luò)可以包括陸基傳輸線路,經(jīng)常由服務(wù)提供商租用,以在接入網(wǎng)絡(luò)6與核心網(wǎng)絡(luò)4之間傳送數(shù)據(jù)和控制流量?;爻叹W(wǎng)絡(luò)通常還包括交換機、聚合設(shè)備、以及路由器。服務(wù)節(jié)點12可以包括網(wǎng)絡(luò)邊緣或核心路由器,核心路由器向接入網(wǎng)絡(luò)6/從接入網(wǎng)絡(luò)6路由網(wǎng)絡(luò)分組,或者服務(wù)節(jié)點12可以包括在接入網(wǎng)絡(luò)6與核心網(wǎng)絡(luò)4之間傳送分組的中間網(wǎng)絡(luò)設(shè)備。在一些實施例中,服務(wù)節(jié)點12包括由加州桑尼維爾(Sunnyvale)的瞻博(Juniper)網(wǎng)絡(luò)公司所制造的MX系列路由器。SP網(wǎng)絡(luò)2的各種實施例可以包括附加的服務(wù)節(jié)點。
[0025]服務(wù)節(jié)點12還可以表示接入網(wǎng)關(guān),管理訂戶附件會話并且向核心網(wǎng)絡(luò)4/從核心網(wǎng)絡(luò)4路由訂戶數(shù)據(jù)流量的層三網(wǎng)絡(luò)邊緣設(shè)備。在這些實例中,服務(wù)節(jié)點12認(rèn)證或接收針對訂戶設(shè)備10的認(rèn)證,授權(quán)這些設(shè)備接入核心網(wǎng)絡(luò)4,并且可以向這些設(shè)備提供網(wǎng)絡(luò)配置信息。當(dāng)訂戶設(shè)備10中的一個嘗試附接到核心網(wǎng)絡(luò)4時,服務(wù)節(jié)點12可以使用AAA協(xié)議(諸如遠(yuǎn)程認(rèn)證撥入用戶服務(wù)(RADIUS)或Diameter協(xié)議)通過對接至服務(wù)器來認(rèn)證該設(shè)備,以認(rèn)證該訂戶設(shè)備或其用戶。這些實例中的服務(wù)節(jié)點12可以包括,例如,GGSN、諸如BRAS的邊緣路由器、CMTS、或另外的網(wǎng)絡(luò)設(shè)備。
[0026]在一些實施例中,服務(wù)節(jié)點12包括交換設(shè)備,該交換設(shè)備基于例如MAC層地址來轉(zhuǎn)發(fā)層二(L2)流量。L2流量可以包括由MAC層地址可尋址的以太網(wǎng)幀,根據(jù)本文中所描述的技術(shù),MAC層地址可以被用來識別訂戶或訂戶類別。
[0027]監(jiān)管SP網(wǎng)絡(luò)2的網(wǎng)絡(luò)服務(wù)提供商,基于每個訂戶向接入服務(wù)提供商網(wǎng)絡(luò)的訂戶設(shè)備10提供服務(wù)。所提供的服務(wù)可以包括,例如,傳統(tǒng)的互聯(lián)網(wǎng)接入、通過互聯(lián)網(wǎng)的語音電話協(xié)議(VoIP)、視頻和多媒體服務(wù)、以及安全服務(wù)。網(wǎng)絡(luò)服務(wù)提供商可以根據(jù)一個或多個服務(wù)級別協(xié)定(SLA)來配置SP網(wǎng)絡(luò)2以向訂戶提供服務(wù),服務(wù)級別協(xié)定在多個維度中定義網(wǎng)絡(luò)性能級別,包括所提供的服務(wù)的類型以及對應(yīng)的服務(wù)參數(shù)(例如,上游/下游帶寬、可靠性(例如,正常工作時間)、安全性,服務(wù)質(zhì)量、速率限制、以及其他)。以這種方式,SLA或其他服務(wù)協(xié)定可以支配SP網(wǎng)絡(luò)2與訂戶設(shè)備16之間的通信。
[0028]訂戶設(shè)備10中的任何一個可以開始與核心網(wǎng)絡(luò)4交換數(shù)據(jù)分組,并且這些分組作為至少一個分組流的成員穿過服務(wù)節(jié)點12。術(shù)語“分組流”指代起源自特定源設(shè)備并且被發(fā)送給特定目的地設(shè)備的分組集合(作為該源設(shè)備與該目的地設(shè)備之間的應(yīng)用通信會話的一部分)。在上游(來源于訂戶設(shè)備10)或下游(去往訂戶設(shè)備10)方向中,可以通過五元組:〈源網(wǎng)絡(luò)地址,目的地網(wǎng)絡(luò)地址,源端口,目的端口,協(xié)議〉來識別分組的流。這個五元組一般識別所接收的分組所對應(yīng)的分組流,并且,依賴于流方向,訂戶可以與該流的源網(wǎng)絡(luò)地址或目的地網(wǎng)絡(luò)地址相關(guān)聯(lián)。在一些實例中,接入網(wǎng)絡(luò)6可以關(guān)于針對多個不同訂戶的分組流和/或關(guān)于針對同一訂戶的多個分組流,使五元組或其子集超載。例如,訂戶設(shè)備IOA可以建立去往服務(wù)節(jié)點12的多個流量承載,服務(wù)節(jié)點12每個具有與正承載的服務(wù)(例如,VoIP或成批數(shù)據(jù)傳送)對應(yīng)的獨特QoS參數(shù)。分組流因此也可以根據(jù)其他特性來表征或識另O,包括VLAN標(biāo)簽、PPPoE會話、以及網(wǎng)絡(luò)層的GTP隧道標(biāo)識符或封裝分組的數(shù)據(jù)鏈路層協(xié)議頭部/標(biāo)簽。服務(wù)節(jié)點12可以使用深度分組檢測(DPI)來識別應(yīng)用。
[0029]服務(wù)節(jié)點12通過應(yīng)用可配置的分組處理操作,基于針對訂戶分組流的分組流要求,來區(qū)別地處理訂戶數(shù)據(jù)流量分組,這些分組處理操作包括分組轉(zhuǎn)發(fā)、過濾、速率限制、標(biāo)記、計費、基于策略的路由和重定向、廣告插入、合法攔截、服務(wù)的類別、以及流量整形(例如,對與訂戶設(shè)備10所交換的訂戶流量)。也就是說,服務(wù)節(jié)點12針對訂戶和/或相關(guān)聯(lián)的訂戶流來接收用于可配置參數(shù)的值,并且內(nèi)部地調(diào)度分組以及根據(jù)可配置參數(shù)以其他方式處理分組。
[0030]在一些情況下,分組處理操作可以共同被應(yīng)用至多個分組流,該多個分組流每個根據(jù)相同的參數(shù)需要相同的操作。這些流可能每個要求附加的分組處理操作,這些附加的分組處理操作與由相同的操作將向其應(yīng)用的其他流所需要的那些分組處理操作有區(qū)別。換句話說,多個流的集合可以共同具有由服務(wù)節(jié)點12所應(yīng)用的一些分組處理操作,而由服務(wù)節(jié)點12所應(yīng)用的其他分組處理操作在該集合內(nèi)的流之間不同。在這種情況下,“獨特的”指代將不被共同應(yīng)用至多個分組流的該集合中所有流的那些操作。多個分組流的該集合的子集因此可以仍然共同具有“獨特的”操作,盡管這些操作對該集合中的每個流不是共同的。
[0031]根據(jù)本公開內(nèi)容的技術(shù),服務(wù)節(jié)點12識別如下的多個分組流的集合:共同的分組處理操作可以被應(yīng)用至多個分組流的該集合。服務(wù)節(jié)點12另外地針對多個分組流的該組來確定用于這些分組流的獨特分組處理操作,并且將這些獨特操作中的每個獨特操作與一個變量值相關(guān)聯(lián)。服務(wù)節(jié)點12在針對各自分組流的訂戶記錄中,進(jìn)一步將這些變量值與如下的分組流相關(guān)聯(lián):對應(yīng)的獨特操作將被應(yīng)用至這些分組流。針對多個分組流的該集合的這些訂戶記錄中的每個訂戶記錄,還指定了共同的邏輯接口(IFL)。
[0032]服務(wù)節(jié)點12的共同IFL定義了針對該組的共同分組處理操作以及分組處理模板中的一個或多個變量。分組處理模板的這些變量表示用于訂戶記錄中的變量值的占位符。對接至分組處理模板的服務(wù)節(jié)點12的邏輯接口在下文中被稱為模板IFL。為了將附加的分組流映射到先前針對該組所定義的模板IFL,服務(wù)節(jié)點12針對該附加的分組流生成指定了變量值以及模板IFL的新訂戶記錄。
[0033]一旦接收到與多個分組流的該組中的一個分組流相關(guān)聯(lián)的分組,服務(wù)節(jié)點12就將該分組映射到其相關(guān)聯(lián)的分組流,識別針對該相關(guān)聯(lián)的分組流的訂戶記錄,并且使用針對分組流的該組的模板IFL來處理該分組。為了將獨特操作應(yīng)用到該分組(即,因為對該組的所有分組流是共同的而對模板IFL不共同的那些操作),服務(wù)節(jié)點12在所識別的訂戶記錄中查找這些變量值。這些變量值中的每個變量值指定了服務(wù)節(jié)點12應(yīng)用到該分組的針對應(yīng)用的獨特操作。
[0034]作為結(jié)果,服務(wù)節(jié)點12可以使用單個模板IFL針對然而需要獨特操作的多個分組流來處理分組。服務(wù)節(jié)點12的每個IFL可能需要在服務(wù)節(jié)點12內(nèi)被固有限制的管理、硬件和軟件資源。通過使得使用模板IFL的IFL過載但仍然提供訂戶特定和/或流特定的分組處理操作,這些技術(shù)增加了可以由服務(wù)節(jié)點12唯一處理的分組流和/或訂戶的數(shù)量。此夕卜,因為服務(wù)節(jié)點12可以通過針對新流簡單地生成適當(dāng)?shù)挠啈粲涗泚韺⑿铝饔成涞较惹八x的模板IFL,所以這些技術(shù)為每個新流消除了創(chuàng)建新IFL的需求,并且因此為新流減少了服務(wù)節(jié)點12所需要的平均設(shè)置時間(setup time)。
[0035]圖2是圖示了示例服務(wù)節(jié)點12的框圖,示例服務(wù)節(jié)點12根據(jù)所描述的技術(shù)用模板邏輯接口來處理多個訂戶分組流。服務(wù)節(jié)點12可以包括路由器,諸如供應(yīng)商邊緣或顧客邊緣路由器,或者另一種類型的網(wǎng)絡(luò)設(shè)備,諸如交換機。
[0036]在這個示例中,服務(wù)節(jié)點12包括為該設(shè)備提供控制平面功能的控制單元18??刂茊卧?8可以分布在多個實體(諸如一個或多個路由單元和可插入到機箱(chasis)中的一個或多個服務(wù)卡)之中。在這些實例中,服務(wù)節(jié)點12可以因此具有多個控制平面。服務(wù)節(jié)點12還包括采用示例分組轉(zhuǎn)發(fā)引擎20A-20N (“PFE20”)和交換結(jié)構(gòu)26的形式的多個轉(zhuǎn)發(fā)組件,它們一起提供用于轉(zhuǎn)發(fā)和以其他方式處理訂戶流量的轉(zhuǎn)發(fā)平面。PFE20經(jīng)由接口卡22A-22N (“IFC22”)接收并且發(fā)送數(shù)據(jù)分組,接口卡22A-22N每個與PFE20中各自的一個PFE相關(guān)聯(lián)。PFE20中的每個PFE20以及IFC22中其相關(guān)聯(lián)的一個IFC可以位于用于服務(wù)節(jié)點12的分離線路卡上(未示出)。示例線路卡包括靈活可編程集成電路(PIC)集中器(PFC)、密集端口集中器(DPC)、以及模塊化端口集中器(MPC)。IFC22中的每個IFC包括用于層二(L2)技術(shù)的各種組合的接口,包括以太網(wǎng)、千兆以太網(wǎng)(GigE)、以及同步光纖聯(lián)網(wǎng)(SONET)接口。在各個方面中,PFE30中的每個PFE可以包括更多或更少的IFC。交換結(jié)構(gòu)26向PFE20中的所選擇的一個PFE提供用于轉(zhuǎn)發(fā)傳入數(shù)據(jù)分組的高速互連,用于通過網(wǎng)絡(luò)的輸出。
[0037]控制單元18通過內(nèi)部通信鏈路28連接到PFE20中的每個PFE20。內(nèi)部通信鏈路28可以包括例如IOOMbps或IGbps的以太網(wǎng)連接。由控制單元18所執(zhí)行的守護(hù)進(jìn)程14A-14N(“守護(hù)14”)是運行網(wǎng)絡(luò)管理軟件的用戶級別進(jìn)程,除了其他功能之外,還執(zhí)行路由協(xié)議來與對等路由設(shè)備通信,執(zhí)行從管理員所接收的配置命令,維護(hù)并更新一個或多個路由表,管理訂戶流處理,并且創(chuàng)建一個或多個轉(zhuǎn)發(fā)表用于安裝到PFE20。守護(hù)進(jìn)程14中的一個守護(hù)進(jìn)程可以包括用于AAA協(xié)議的客戶端,諸如RADIUS客戶端。
[0038]控制單元18可以包括一個或多個處理器(圖1中未示出),該一個或多個處理器執(zhí)行軟件指令,諸如被用來定義軟件或計算機程序的那些軟件指令,這些軟件指令被存儲至計算機可讀存儲介質(zhì)(再次地,圖1中未示出),諸如包括存儲設(shè)備(例如,磁盤驅(qū)動器,或光學(xué)驅(qū)動器)的非瞬態(tài)計算機可讀介質(zhì)和/或如下的存儲器:諸如隨機存取存儲器(RAM)(包括各種形式的動態(tài)RAM (DRAM),例如,DDR2SDRAM,或靜態(tài)RAM (SRAM));閃速存儲器;另一種形式的固定或可移動存儲介質(zhì),該另一種形式的固定或可移動存儲介質(zhì)能夠被用來攜帶或存儲所期望的程序代碼并以指令或數(shù)據(jù)結(jié)構(gòu)的形式將數(shù)據(jù)編程,并且能夠由處理器訪問;或者存儲指令以促使一個或多個處理器來執(zhí)行本文所描述的技術(shù)的任何其他類型的易失性或非易失性存儲器??商鎿Q地,或額外地,控制單元18可以包括專用硬件,諸如一個或多個集成電路、一個或多個專用集成電路(ASIC)、一個或多個專用特殊處理器(ASSP)、一個或多個現(xiàn)場可編程門陣列(FPGA)、或者專用硬件的前述示例中的一個或更多示例的任意組合,用于執(zhí)行本文所描述的技術(shù)。
[0039]PFE20通過當(dāng)分組穿過服務(wù)節(jié)點12的內(nèi)部架構(gòu)時在各自的內(nèi)部分組處理路徑上對每個分組執(zhí)行一系列的操作來處理分組。例如,可以由下列各項中的任一項來對每個分組執(zhí)行操作:之前分組所指向的服務(wù)節(jié)點12的對應(yīng)入口接口、入口 PFE20、錨PFE20、出口PFE20、出口接口或其他組件,諸如一個或多個服務(wù)卡。PFE20每個包括服務(wù)對象,當(dāng)被執(zhí)行時,這些服務(wù)對象檢查每個分組的內(nèi)容(或其他分組性質(zhì),例如,傳入接口)并且在此基礎(chǔ)上做出轉(zhuǎn)發(fā)決定,應(yīng)用過濾器,和/或執(zhí)行例如計費、管理、流量分析、服務(wù)決定的類別、合法攔截、以及負(fù)載均衡。在一個示例中,PFE20中的每個PFE將服務(wù)對象布置作為下一跳數(shù)據(jù),下一跳數(shù)據(jù)能夠沿著用于服務(wù)節(jié)點的內(nèi)部分組處理路徑被鏈接在一起作為一系列的“跳”。分組處理的結(jié)果確定如下的方式:分組以該方式從IFC22中一個IFC上它的輸入接口到IFC22中一個IFC上它的輸出接口被PEE20轉(zhuǎn)發(fā)或者以其他方式處理。一個特定的分組可以由多個PFE20來處理。
[0040]PFE接口 16呈現(xiàn)為如下的接口:守護(hù)進(jìn)程14通過該接口可以分配PFE20的服務(wù)對象來將服務(wù)應(yīng)用到訂戶分組流。根據(jù)所描述的技術(shù),PFE接口 16呈現(xiàn)為如下的接口:守護(hù)進(jìn)程14通過該接口將所分配的服務(wù)對象布置到如下的分組處理模板IFL中,該分組處理模板IFL基于各自的變量值為正被處理的分組流指定影響操作的多個變量。守護(hù)進(jìn)程14經(jīng)由PFE接口 16指引PFE20安裝各自的分組處理模板IFL24A-24N (“模板24”)的集合,PFE20用該集合來處理訂戶分組流。PFE20中的每個PFE可以包括零個或更多模板IFL。例如,PFE20A的模板24A可以包括零個或更多模板IFL。PFE接口 16可以包括一個或多個用戶級別或內(nèi)核級別的庫、程序、工具包、應(yīng)用編程接口(API),并且可以經(jīng)由內(nèi)部通信鏈路28使用套接字將控制和數(shù)據(jù)消息傳達(dá)給PFE20。
[0041]例如,守護(hù)進(jìn)程14中的一個守護(hù)進(jìn)程可以執(zhí)行命令行接口(CLI),該命令行接口從用戶接收命令以將合法攔截功能應(yīng)用到針對訂戶的特定分組流。作為另一個示例,守護(hù)進(jìn)程14中的一個守護(hù)進(jìn)程可以接收訂戶簡檔,該訂戶簡檔指示了針對該訂戶的分組流應(yīng)當(dāng)接收特定類別的服務(wù)。作為響應(yīng),守護(hù)進(jìn)程14調(diào)用PFE接口 16以將該服務(wù)應(yīng)用到該分組流。PFE接口 16分配PFE20中的該服務(wù),并且然后指引PFE20生成或修改針對該分組流的IFL來包括列表服務(wù)中的該服務(wù),以應(yīng)用到該分組流中的分組。
[0042]在一些情況下,將被新近應(yīng)用到分組流的該服務(wù)也被PFE20應(yīng)用到另一個分組流,并且該服務(wù)能夠因此共同應(yīng)用到兩個分組流。根據(jù)本公開內(nèi)容中所描述的技術(shù),當(dāng)部分地被服務(wù)對象(諸如過濾器、分類器、服務(wù)等級隊列、計數(shù)器、策略器、合法攔截組件、流量流模板、路由表、或移動隧道端點標(biāo)識符處理器)實施時,守護(hù)進(jìn)程14經(jīng)由PFE接口 16指引FFE20生成針對兩個分組流的新模板以包括該服務(wù)。在一些實例中,多個分組流還需要在這些流中獨特的服務(wù)。在這些實例中,守護(hù)進(jìn)程14指引PFE20針對各自的分組流生成該新模板以包括用于獨特服務(wù)的變量占位符。PFE20將該新模板安裝到模板24。
[0043]在所圖示的示例中,守護(hù)進(jìn)程14A使用模板IFL生成消息27來指引PFE20將新模板安裝到模板24A。模板IFL生成消息27包括用于應(yīng)用到新模板IFL的變量列表。在一些實例中,模板IFL生成消息27將所包括的變量列表附加到已有的IFL以將該已有的IFL轉(zhuǎn)換成為模板IFL。
[0044]另外,守護(hù)進(jìn)程14把去往訂戶的分組流映射到該模板IFL并且生成用于分組流的各自訂戶記錄。訂戶記錄是如下的唯一屬性的集合:對于每個訂戶分組流,需要這些唯一屬性以用特定的模板IFL來唯一識別并且提供流量處理以及對該流的計費。訂戶記錄指定模板24的模板IFL,用該模板IFL來處理屬于與該訂戶記錄對應(yīng)的該分組流的分組。訂戶記錄另外為被PFE20應(yīng)用到模板24的所指定的模板IFL的變量列表指定變量值。守護(hù)進(jìn)程14經(jīng)由PFE接口 16將新近生成或修改的訂戶記錄安裝到PFE20的訂戶記錄25A-25N (“訂戶記錄25”)的集合。訂戶記錄25中的每個訂戶記錄可以包括零個或更多訂戶記錄。在所圖示的示例中,守護(hù)進(jìn)程14A用訂戶記錄創(chuàng)建消息29將訂戶記錄下載到PFE20A的訂戶記錄25A,以基于該訂戶記錄的變量值來改變模板25A中所指定的模板的執(zhí)行。訂戶記錄創(chuàng)建消息29包括用于對應(yīng)分組流的變量值列表,并且為該分組流指定模板25A中的一個模板來用其處理分組。訂戶記錄創(chuàng)建消息29可以進(jìn)一步包括關(guān)聯(lián)的關(guān)鍵字結(jié)構(gòu),PFE20A可以用該關(guān)聯(lián)的關(guān)鍵字結(jié)構(gòu)以將具有匹配分組屬性的分組映射到訂戶記錄25A中正被創(chuàng)建的訂戶記錄。所匹配的分組性質(zhì)可以包括例如分組元數(shù)據(jù),諸如特定分組的入口接口或出口接口(如由PFE所確定的)以及由分組和分組頭部所攜帶的信息,諸如分組頭部字段、目的地路由前綴、VLAN標(biāo)簽、層四(L4)或傳輸層協(xié)議目的地端口、隧道頭部元數(shù)據(jù)(例如,TEID)、以及分組有效載荷。
[0045]當(dāng)服務(wù)節(jié)點12接收到分組時,該服務(wù)節(jié)點的PFE20將這些分組映射到PFE的訂戶記錄25中的一個訂戶記錄。PFE20然后可以根據(jù)為模板24指定變量值的用于這些分組的訂戶記錄25,使用模板24來處理這些分組。以這種方式,訂戶記錄25可以針對被映射到模板24中單個模板的多個流,用如下的變量值列表來影響分組的處理路徑:該變量值列表可能需要比針對每個分組流創(chuàng)建單獨IFL所需要的資源少得多的資源。作為結(jié)果,這些技術(shù)可以減少支持任意給定分組流的資源的平均數(shù)量,并且增加由服務(wù)節(jié)點12可支持的流的數(shù)量。
[0046]圖3是一個框圖,該框圖以進(jìn)一步的細(xì)節(jié)圖示了圖2的PFE20的控制單元12和分組轉(zhuǎn)發(fā)引擎20A(“PFE20A”)的示例實例。在這個示例中,控制單元12提供了控制平面78A,控制平面78A操作用于在用戶空間40中執(zhí)行的各種用戶級別守護(hù)進(jìn)程14的執(zhí)行的環(huán)境。守護(hù)進(jìn)程14在這個示例中包括命令行接口守護(hù)進(jìn)程32 (“CLI32”)、路由協(xié)議守護(hù)進(jìn)程34(“RPD34”)、以及簡單網(wǎng)絡(luò)管理協(xié)議守護(hù)進(jìn)程36(“SNMP36”)。在這個方面,控制平面78A可以提供路由平面、服務(wù)平面、以及用于服務(wù)節(jié)點12的管理平面功能。控制單元12的各種實例可以包括圖2中未示出的附加守護(hù)進(jìn)程14,附加守護(hù)進(jìn)程14執(zhí)行其他的控制、管理、或服務(wù)平面功能和/或驅(qū)動并且以其他方式管理用于服務(wù)節(jié)點12的轉(zhuǎn)發(fā)平面功能??刂茊卧?2在一些實例中可以表示服務(wù)卡的控制單元,或者提供路由平面功能的路由單元和服務(wù)卡的控制單元的組合。
[0047]守護(hù)進(jìn)程14通過內(nèi)核43操作并且與內(nèi)核43交互,內(nèi)核43為用戶級別進(jìn)程提供運行時間操作環(huán)境。內(nèi)核43可以包括例如UNIX操作系統(tǒng)衍生品,諸如Linux或伯克利軟件分發(fā)(BSD)。內(nèi)核43提供庫和驅(qū)動器,守護(hù)進(jìn)程14可以通過這些庫和驅(qū)動器與底層系統(tǒng)交互。內(nèi)核43的PFE接口 16包括內(nèi)核級別庫,守護(hù)進(jìn)程14和其他的用戶級別進(jìn)程或用戶級別庫可以通過該內(nèi)核級別庫來與PFE20A的編程接口 64交互。PFE接口 16可以包括,例如,用于通過專用網(wǎng)絡(luò)鏈路與PFE20A通信的套接字庫。
[0048]控制單元12的硬件環(huán)境50包括微處理器52,微處理器52執(zhí)行從儲存器(圖3中未示出)加載到主存儲器(圖3中也未示出)中的程序指令,以便執(zhí)行控制單元12的軟件棧(包括核心43和用戶空間40兩者)。微處理器52可以包括一個或多個通用或?qū)S锰幚砥鳎T如數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、或者任何其他的等效邏輯設(shè)備。因此,術(shù)語“處理器”或“控制器”,如本文所使用的,可以指代前述結(jié)構(gòu)或可操作為執(zhí)行本文所描述的技術(shù)的任何其他結(jié)構(gòu)中的任何一個或多個結(jié)構(gòu)。
[0049]RPD34執(zhí)行一個或多個內(nèi)部和/或外部的路由協(xié)議來與其他網(wǎng)絡(luò)設(shè)備交換路由信息,并且將所接收的路由信息存儲在路由信息庫45 (“RIB45”)中。RIB45可以包括定義網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的信息,該信息包括一個或多個路由表和/或鏈路狀態(tài)數(shù)據(jù)庫。RPD34解析由RIB45中的路由信息所定義的拓?fù)浣Y(jié)構(gòu),來選擇或確定一個或多個通過網(wǎng)絡(luò)的活動路由,并且然后將這些路由安裝到轉(zhuǎn)發(fā)信息庫42(“FIB42”)。通常,RPD34生成采用基數(shù)(radix)或其他查找樹形式的FIB42,以將分組信息(例如,具有目的地信息和/或標(biāo)簽棧的頭部信息)映射到下一跳,并且最終映射到與各自的PFE20相關(guān)聯(lián)的接口卡的接口端口。
[0050]命令行接口守護(hù)進(jìn)程32 (“CLI32”)提供了外殼程序(shell),通過該外殼程序監(jiān)管者或其他管理實體可以使用基于文本的命令來修改服務(wù)節(jié)點12的配置。簡單網(wǎng)絡(luò)管理協(xié)議守護(hù)進(jìn)程36 (“SNMP36”)包括SNMP代理,SNMP代理從管理實體接收SNMP命令來設(shè)置并取回用于服務(wù)節(jié)點12的配置和管理信息。例如,使用CLI32和SNMP36,管理實體可以例如啟用/禁用并且配置服務(wù)、管理用于分組流的分類和服務(wù)類別、安裝路由、啟用/禁用并且配置速率限制器、配置用于移動網(wǎng)絡(luò)的流量承載器、以及配置接口。RPD34、CLI32和SNMP36在這個示例中經(jīng)由PFE接口 16來配置轉(zhuǎn)發(fā)平面78B,以通過將服務(wù)對象安裝到PFE20來實施所配置的服務(wù)、添加/修改/刪除路由、添加訂戶記錄、添加散列鍵、以及修改分組處理路徑。
[0051]PFE接口 16允許守護(hù)進(jìn)程14驅(qū)動PFE20A的分組處理路徑72的安裝和配置。特別地,PFE接口 16包括應(yīng)用編程接口(API),通過該應(yīng)用編程接口,守護(hù)進(jìn)程14可以請求對處理路徑72的服務(wù)組件(例如,計數(shù)器或策略器)的分配并且接收用于所請求的服務(wù)組件的標(biāo)識符、將服務(wù)組件布置到模板處理路徑75 (“模板路徑75”)和標(biāo)準(zhǔn)處理路徑73 (“路徑73”)中、安裝訂戶記錄、以及將分組流映射到訂戶記錄和邏輯接口用于處理。
[0052]PFE20A與服務(wù)節(jié)點12的其他PFE20組合地實施轉(zhuǎn)發(fā)平面78B (也稱為“數(shù)據(jù)平面”)功能,以從分組在其上被接收的入口接口到分組向其發(fā)送的出口接口操作分組處理。轉(zhuǎn)發(fā)平面78B使用服務(wù)對象和由控制平面78A安裝到轉(zhuǎn)發(fā)平面78B的查找數(shù)據(jù),來確定通過服務(wù)節(jié)點12的數(shù)據(jù)分組轉(zhuǎn)發(fā)、應(yīng)用服務(wù)、對分組流進(jìn)行速率限制、過濾分組、以及以其他方式處理分組。盡管圖3僅詳細(xì)圖示了 PFE20A,但是服務(wù)節(jié)點12的PFE20中的每個PFE包括執(zhí)行基本類似功能的類似模塊。
[0053]PFE20A包括基于ASIC的分組處理器(“ASIC68”),該基于ASIC的分組處理器將分組映射到訂戶記錄并且根據(jù)本文所描述的技術(shù)來執(zhí)行處理路徑72。ASIC68包括具有關(guān)鍵字引擎70的一個或多個可編程專用集成電路,關(guān)鍵字引擎70執(zhí)行微代碼(或“微指令”)來控制并應(yīng)用ASIC68的固定硬件組件以處理分組“關(guān)鍵字”。分組關(guān)鍵字包括分組字段和其他參數(shù),這些其他參數(shù)確定沿著內(nèi)部處理路徑(諸如模板路徑75和路徑73)的用于該分組的分組處理的流程。關(guān)鍵字引擎70包括關(guān)鍵字緩沖器63以存儲針對關(guān)鍵字引擎當(dāng)前正處理的對應(yīng)分組的分組字段數(shù)據(jù)。關(guān)鍵字緩沖器63還可以提供受限的可寫入存儲器,該內(nèi)部處理路徑的元件可以對該受限的可寫入存儲器進(jìn)行寫入,以傳遞由未來元件可訪問的消息。ASIC68的一些實例可以包括多個關(guān)鍵字引擎,每個關(guān)鍵字引擎都具有相關(guān)聯(lián)的關(guān)鍵字緩沖器和記錄緩沖器。
[0054]ASIC68的內(nèi)部處理路徑72 (“處理路徑72”)包括可編程的、可執(zhí)行的微代碼和固定硬件組件,該可編程的、可執(zhí)行的微代碼和固定硬件組件確定分組處理動作以及由關(guān)鍵字引擎70所執(zhí)行的其他操作。處理路徑72可以包括采用例如可執(zhí)行的指令、可編程的邏輯、以及專用邏輯的服務(wù)對象,這些可執(zhí)行的指令、可編程的邏輯、以及專用邏輯除了其他功能之外還執(zhí)行查找、對分組流進(jìn)行速率限制、對分組計數(shù)、實施服務(wù)的類別、執(zhí)行合法攔截、對分組分類、應(yīng)用過濾器、對分組進(jìn)行路由、以及操控分組關(guān)鍵字。PFE20A可以將處理路徑72的可執(zhí)行指令存儲在計算機可讀存儲介質(zhì)(諸如靜態(tài)隨機存取存儲器(SRAM))中。盡管被圖示在ASIC68內(nèi),但是處理路徑72的可執(zhí)行指令可以被存儲在PFE20A板載ASIC68外部的存儲器中。PFE20A還將附加的被圖示的數(shù)據(jù)結(jié)構(gòu)(諸如查找關(guān)鍵字表80、訂戶記錄76、記錄緩沖器65、以及關(guān)鍵字緩沖器63)存儲在計算機可讀存儲介質(zhì)(諸如內(nèi)部或外部SRAM)中。
[0055]在一些方面中,處理路徑72的一個或多個服務(wù)對象包括下一跳數(shù)據(jù)結(jié)構(gòu)以發(fā)起處理。例如,在關(guān)鍵字引擎70的每個處理步驟的結(jié)束處,結(jié)果是可以指定附加處理或處理終止的下一跳。另外,下一跳可以指定將被關(guān)鍵字引擎70執(zhí)行的一個或多個功能和/或?qū)⒈粦?yīng)用的一個或多個硬件元件(例如,策略器)。下一跳因此形成能夠被用來發(fā)起服務(wù)、鏈接下一跳以允許多個服務(wù)在單個分組上被執(zhí)行、并且終止內(nèi)部處理路徑的主要數(shù)據(jù)結(jié)構(gòu)。關(guān)鍵字引擎70可以與如下的結(jié)果(或“查找”)緩沖器相關(guān)聯(lián):該結(jié)果(或“查找”)緩沖器存儲用于執(zhí)行下一跳的結(jié)果。例如,關(guān)鍵字引擎70可以執(zhí)行由下一跳所指定的查找,并且將該查找的結(jié)果存儲到相關(guān)聯(lián)的結(jié)果緩沖器。結(jié)果緩沖器的內(nèi)容在下一跳鏈中可能影響下一跳的動作。
[0056]邏輯接口 71 (“IFL71”)是包括一個或多個邏輯接口的表格或其他數(shù)據(jù)結(jié)構(gòu),該一個或多個邏輯接口每個確定被共同應(yīng)用至一組訂戶的服務(wù)。歸因于存儲器限制、PFE微處理器62能夠以其在處理路徑72中建立路徑的速率、控制單元12與PFE20A之間的帶寬、以及控制單元12能夠以其分配服務(wù)對象并確定處理路徑72中的路徑的速率,IFL71的數(shù)量在PFE20A的各種實施方式中可能受限制。IFL71中的每個IFL是通向模板路徑75或路徑73中的處理路徑的接口。路徑73表示用于在關(guān)鍵字緩沖器63上由關(guān)鍵字引擎70執(zhí)行的一個或多個處理路徑。根據(jù)本公開內(nèi)容的技術(shù),模板路徑75包括一個或多個處理路徑,用于在關(guān)鍵字緩沖器63上由關(guān)鍵字引擎70執(zhí)行,該一個或多個處理路徑每個包括一個或多個變量,該一個或多個變量解析為記錄緩沖器65中的變量值以確定用于執(zhí)行的下一個服務(wù)對象。映射到模板路徑75和路徑73的各自IFL71備選地在本文中分別稱為模板IFL和標(biāo)準(zhǔn)IFL。
[0057]訂戶記錄76可以表示圖2的訂戶記錄25A的示例實施例。訂戶記錄76中的每個訂戶記錄包含由PFE20A所需要以處理訂戶分組流中的分組的信息。也就是說,訂戶記錄76描述了 PFE20A對訂戶的處理。訂戶記錄76中的每個訂戶記錄指定IFL71中的一個IFL,用該IFL來處理被映射到該訂戶記錄的分組。指定模板IFL的訂戶記錄還包括一個或多個變量值,該一個或多個變量值為模板路徑75中如下的一個模板路徑中對應(yīng)的變量指定服務(wù)對象:對于該模板路徑,模板IFL是一個接口。訂戶記錄76可以使用索引表格來存儲變量值,該索引表格將表格條目索引映射到特定值。例如,用于訂戶記錄的表格的第一條目中的變量值可以是該訂戶記錄的用于索引O的值。備選地,訂戶記錄可以將變量和對應(yīng)值存儲為相關(guān)聯(lián)的數(shù)據(jù)對,相關(guān)聯(lián)的數(shù)據(jù)對每個將變量名稱映射到對應(yīng)的值。如下文所詳細(xì)描述的,訂戶記錄76中的每個訂戶記錄還可以包括查找關(guān)鍵字。
[0058]PFE微處理器62管理ASIC68,并且執(zhí)行編程接口 64來為控制單元12提供接口 /提供通向控制單元12的接口。PFE微處理器62可以執(zhí)行微內(nèi)核來為接口提供操作環(huán)境。編程接口 64從控制單元12接收消息,指引分組轉(zhuǎn)發(fā)引擎20A來配置邏輯接口 72、模板路徑75、以及處理路徑72的路徑73。
[0059]經(jīng)由PFE接口 16的守護(hù)進(jìn)程14可以指引編程接口 64在應(yīng)用到分組的處理路徑72中為特定流分配服務(wù)對象(例如,計數(shù)器)。編程接口 64返回對該服務(wù)對象的參考,守護(hù)進(jìn)程14然后可以使用訂戶記錄72將該參考綁定到該流并且在一些情況下綁定到相關(guān)聯(lián)的訂戶。守護(hù)進(jìn)程14為該參考生成服務(wù)描述符,并且將該服務(wù)描述符添加到用于該流的訂戶記錄,作為變量值以將該服務(wù)對象所提供的該服務(wù)與該訂戶記錄相關(guān)聯(lián)。另外,守護(hù)進(jìn)程14針對由該訂戶記錄所指定的模板IFL將變量占位符插入到模板路徑75中的一個模板路徑中。該變量占位符指引轉(zhuǎn)發(fā)平面78B在分組處理期間,將該變量與用于該訂戶記錄中的該變量的服務(wù)描述符相關(guān)。以這種方式,守護(hù)進(jìn)程14使用該服務(wù)描述符在該訂戶記錄中指定該服務(wù)對象的位置,以確保轉(zhuǎn)發(fā)平面78B將該服務(wù)對象應(yīng)用到被映射到該訂戶記錄的分組。通過為不同的訂戶流分配不同的服務(wù)對象并且將用于服務(wù)對象的各自服務(wù)描述符添加到用于訂戶流的各自訂戶記錄,控制平面78A (通過轉(zhuǎn)發(fā)平面78B執(zhí)行模板路徑75中的單個模板路徑)區(qū)分了針對多個不同訂戶流的分組處理。在一些實例中,PFE接口 16例如使用核心庫或用戶庫,代表守護(hù)進(jìn)程14來管理服務(wù)對象分配以及IFL和訂戶記錄生成的方面。
[0060]在一些情況下,守護(hù)進(jìn)程14將用于靜態(tài)服務(wù)對象的服務(wù)描述符添加到模板路徑75,從而轉(zhuǎn)發(fā)平面78B的關(guān)鍵字引擎70總是對使用這些模板處理的分組執(zhí)行靜態(tài)服務(wù)對象。換句話說,該靜態(tài)服務(wù)對象應(yīng)用如下的服務(wù):該服務(wù)在被映射到該模板的所有訂戶流之間是共同的。在一些情況下,守護(hù)進(jìn)程14可以將變量占位符插入到模板路徑75中,其指定用于該變量的默認(rèn)服務(wù)描述符。在針對分組流的分組處理期間,當(dāng)用于該變量的對應(yīng)變量值沒有在用于該分組流的訂戶記錄72中的一個訂戶記錄中被指定時,轉(zhuǎn)發(fā)平面78B的關(guān)鍵字引擎70應(yīng)用由默認(rèn)服務(wù)描述符所指定的服務(wù)對象。
[0061]由編程接口 64提供給守護(hù)進(jìn)程14的對服務(wù)對象的參考可以包括,例如,全局資源索引、由PFE20A本地管理的索引、對服務(wù)對象的組(bank)的索引與特定服務(wù)對象在該組內(nèi)的偏移的組合、指向例如下一跳的存儲器指針、或者數(shù)據(jù)值。例如,服務(wù)描述符可以包括指針、索引、或者解析為記錄緩沖器65中的變量值的變量名稱。在一些實例中,服務(wù)描述符可以另外地或備選地包括用于服務(wù)對象的索引或全局標(biāo)識符。
[0062]服務(wù)節(jié)點12將傳入的訂戶流量映射到訂戶記錄76中的一個訂戶記錄,來識別用其處理該流量的IFL71的邏輯接口。服務(wù)節(jié)點12可以終止訂戶用來通過該服務(wù)節(jié)點以訪問網(wǎng)絡(luò)的多個不同類型的訂戶連接。例如,服務(wù)節(jié)點12可以終止互聯(lián)網(wǎng)協(xié)議(IPv4或IPv6)網(wǎng)絡(luò)連接、單標(biāo)簽或雙標(biāo)簽的VLAN附件、用于移動訂戶的GPRS和/或LTE網(wǎng)絡(luò)隧道、PPPoE連接、和/或移動IP隧道。訂戶連接與上游分組流和下游分組流相關(guān)聯(lián),并且特定訂戶(例如,校園或企業(yè)網(wǎng)絡(luò),或移動電話)設(shè)備可以與多個訂戶連接相關(guān)聯(lián)。這些終止模型中的每個終止模型需要不同的查找關(guān)鍵字,用該不同的查找關(guān)鍵字來為訂戶連接識別訂戶分組。查找關(guān)鍵字表格80包括指定分組參數(shù)的一個或多個查找關(guān)鍵字,根據(jù)終止模型,用于這些分組參數(shù)的值唯一地將該分組識別為屬于針對連接到服務(wù)節(jié)點12的訂戶的特定分組流。例如,查找關(guān)鍵字表格80可以包括指定了網(wǎng)關(guān)GPRS支持節(jié)點(GGSN)訂戶Gn接口查找關(guān)鍵字的條目,GGSN訂戶Gn接口查找關(guān)鍵字為GPRS網(wǎng)絡(luò)所運載的訂戶連接指定了用于Gn接口GTP隧道的TEID。
[0063]在所圖示的實施例中,ASIC68的散列引擎74根據(jù)在查找關(guān)鍵字表格80中為該訂戶連接類型所定義的終止模型查找關(guān)鍵字,來執(zhí)行散列函數(shù)以從分組參數(shù)生成散列值。由散列引擎74所執(zhí)行的散列函數(shù)可以是SHA-1、MD5、或者從一個或多個參數(shù)值生成散列值的另一種單向函數(shù)。在這個實施例中,訂戶記錄76中的每個訂戶記錄存儲具有分組參數(shù)值的訂戶記錄查找關(guān)鍵字,這些分組參數(shù)值與如下的終止模型查找關(guān)鍵字表格80中的查找關(guān)鍵字相對應(yīng),該終止模型查找關(guān)鍵字表格80用于針對該訂戶記錄的訂戶連接類型。散列引擎74使用該散列值來確定對被存儲在存儲器中的訂戶記錄76中的一個訂戶記錄的訂戶記錄索引。如果在訂戶記錄76中由該訂戶記錄索引所參考的該訂戶記錄的查找關(guān)鍵字與該分組的查找關(guān)鍵字相匹配,則散列引擎74將關(guān)鍵字所指向的(keyed-to)訂戶記錄加載(或者指引關(guān)鍵字引擎70來加載)到與關(guān)鍵字引擎70相關(guān)聯(lián)的記錄緩沖器65。記錄緩沖器65針對正被關(guān)鍵字引擎70處理的分組來存儲該訂戶記錄(包括變量值中的每個變量值)。以這種方式,關(guān)鍵字引擎70可以沿著正被執(zhí)行的模板路徑來運送變量值。關(guān)鍵字所指向的訂戶記錄也指定IFL71中的一個IFL,關(guān)鍵字引擎70然后執(zhí)行該IFL來處理關(guān)鍵字緩沖器63。散列引擎74的操作是用于將訂戶分組與訂戶記錄相關(guān)聯(lián)的步驟的一個示例。PFE20A組件可以執(zhí)行其他方法來將訂戶分組與各自的訂戶記錄相關(guān)聯(lián),包括分組查找關(guān)鍵字與各自的訂戶記錄76查找關(guān)鍵字的簡單匹配。
[0064]當(dāng)執(zhí)行用于模板IFL的模板路徑75中的一個模板路徑時,關(guān)鍵字引擎70將該模板路徑的變量解析為由訂戶記錄76中的一個訂戶記錄的變量值所指定的服務(wù)對象。如果該訂戶記錄沒有為該變量指定變量值,則關(guān)鍵字引擎70可以替代地執(zhí)行用于該變量的默認(rèn)服務(wù)描述符,或者如果在該模板路徑中沒有為該變量指定這樣的默認(rèn)服務(wù)描述符,則為該變量執(zhí)行空指令(即,無操作),并且繼續(xù)執(zhí)行該模板路徑的剩余服務(wù)對象。
[0065]在所圖示的實施例中,關(guān)鍵字引擎70將這些變量解析為由記錄緩沖器65暫時存儲的訂戶記錄中的值。例如,模板路徑的變量可以指定索引O。為了解析該變量,關(guān)鍵字引擎70讀取記錄緩沖器65所存儲的訂戶記錄的索引O所指定的服務(wù)描述符。為了使用相同的模板路徑針對另一個分組流來處理分組,散列引擎74對訂戶記錄76中用于該分組流的訂戶記錄向記錄緩沖器65提供關(guān)鍵字,并且將訂戶記錄76中用于該分組流的訂戶記錄加載到記錄緩沖器65。關(guān)鍵字引擎70將該模板路徑的變量解析為指定了用于該分組流的獨特服務(wù)的服務(wù)描述符,并且應(yīng)用由服務(wù)描述符所指向的服務(wù)對象。以這種方式,轉(zhuǎn)發(fā)平面78B可以使用單個模板處理路徑和用于該分組流中的每個分組流的不同訂戶記錄,來處理多個不同的分組流。
[0066]圖4是一個框圖,該框圖圖示了符合本公開內(nèi)容中所描述的技術(shù)的示例模板路徑75A-75C和訂戶記錄76A-76D。示例模板路徑75A和訂戶記錄76A詳細(xì)地被圖示。
[0067]訂戶記錄76為內(nèi)部分組處理路徑(諸如模板路徑中的一個模板路徑)指定IFL。例如,訂戶記錄76A包括IFL78,為模板路徑75A指定IFL的數(shù)據(jù)值。訂戶記錄76每個可以另外包括變量標(biāo)識符-變量值關(guān)聯(lián)對(“變量對”)的集合,其為使用變量標(biāo)識符所識別的模板路徑變量指定變量值。訂戶記錄76A包括變量對80A-80N。在一些實例中,訂戶記錄76可以包括對附加訂戶記錄的參考,以增加可用于分組流的變量對的數(shù)量。
[0068]模板路徑75A包括多個服務(wù)對象84A-84N (“服務(wù)對象”),一旦轉(zhuǎn)發(fā)平面執(zhí)行該模板路徑,多個服務(wù)對象84A-84N每個都實施用于應(yīng)用到分組的服務(wù)。根據(jù)本文所描述的技術(shù),服務(wù)對象84中的一些服務(wù)對象表示一組服務(wù)對象,通過將變量86A-86N (“變量86”)中的一個變量解析為訂戶記錄76中的一個訂戶記錄中的變量值,該組服務(wù)對象是可選擇的。變量86中的每個變量由對應(yīng)的變量標(biāo)識符識別。例如,服務(wù)對象84B1-84B4 (“服務(wù)對象84B”)是一組服務(wù)對象。服務(wù)對象84B可以每個都表示,例如,一組計數(shù)器中的不同計數(shù)器、服務(wù)等級隊列的集合中的不同隊列、不同的過濾器或策略器、或者用于為不同分組流處理移動性隧道的不同下一跳。用于變量標(biāo)識符SOA1所識別的變量86A的在訂戶記錄76A中的變量值,可以參考一組服務(wù)對象中的任何一個服務(wù)對象。通過將該變量解析為訂戶記錄76A中用于變量86A的變量值,即解析為用于變量標(biāo)識符SOA1的變量值80A2,轉(zhuǎn)發(fā)平面確定該組服務(wù)對象中的該服務(wù)對象,以應(yīng)用到屬于與訂戶記錄76A對應(yīng)的分組流的分組。服務(wù)對象84中的一些服務(wù)對象,例如,服務(wù)對象84A、84C、以及84D共同被應(yīng)用到經(jīng)由訂戶記錄76中的一個訂戶記錄被映射到模板路徑75A的每個分組流。
[0069]變量86中的每個變量可以是變量指令或指令組,當(dāng)被執(zhí)行時,該變量指令或指令組解析為用于該變量的值。用于變量的值本身可以表示采用服務(wù)描述符形式的指令或指令組,該服務(wù)描述符是指向服務(wù)對象的存儲器指針。例如,在訂戶記錄76A中,用于變量86A的變量標(biāo)識符SOA1的值80A2可以指定服務(wù)對象84B2。訂戶記錄76B-76D可以另外指定模板路徑75A,并且可以包括用于變量標(biāo)識符SOA1的不同值,以便在服務(wù)對象SAB1-SAB4的該組中指定獨特的服務(wù)對象。作為結(jié)果,為分組執(zhí)行模板路徑75A的轉(zhuǎn)發(fā)平面,基于該分組所屬的分組流來使用訂戶記錄76,以改變模板路徑75A內(nèi)的處理路徑。
[0070]圖5是一個流程圖,該流程圖圖示了圖2的服務(wù)節(jié)點12使用基于變量的處理路徑來處理分組的操作的示例模式。在用于分組流的配置階段期間(該配置階段可以發(fā)生在服務(wù)節(jié)點12的操作期間以將服務(wù)應(yīng)用到分組),守護(hù)進(jìn)程14經(jīng)由PFE接口 16將分組轉(zhuǎn)發(fā)模板安裝到PFE20A的模板24A (200)。分組轉(zhuǎn)發(fā)模板可以指定用于由PFE20A應(yīng)用的服務(wù)對象,并且進(jìn)一步指定變量。另外,守護(hù)進(jìn)程14生成用于該分組流的訂戶記錄并且將其安裝到PFE20A的訂戶記錄25A (202)。訂戶記錄指定分組轉(zhuǎn)發(fā)模板,并且還可以指定用于該分組轉(zhuǎn)發(fā)模板變量的變量值。
[0071]一旦在接口卡22中的一個接口卡上接收到訂戶分組(204),PFE20A將該訂戶分組與被安裝到訂戶記錄25A的訂戶記錄相關(guān)聯(lián)(206)。PFE20A從該訂戶記錄確定所指定的邏輯接口(IFL),所指定的邏輯接口在這個示例中是用于該分組轉(zhuǎn)發(fā)模板的模板IFL (208)。PFE20A使用針對該分組轉(zhuǎn)發(fā)模板的對應(yīng)變量的該訂戶記錄的變量值,使用該分組轉(zhuǎn)發(fā)模板來處理該分組(210)。
[0072]本公開內(nèi)容中所描述的技術(shù)可以至少部分地被實施在硬件、軟件、固件或它們的任意組合中。例如,所描述的技術(shù)的各個方面可以被實施在一個或多個處理器內(nèi),包括一個或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、或者任何其他的等效集成或分立邏輯電路、以及這些組件的任意組合。術(shù)語“處理器”或“處理電路”可以一般性地指代,單獨的或者與其他邏輯電路組合的上述邏輯電路中的任何一種,或者任何其他的等效電路。包括硬件的控制單元也可以執(zhí)行本公開內(nèi)容的技術(shù)中的一種或多種技術(shù)。
[0073]這樣的硬件、軟件和固件可以被實施在同一設(shè)備內(nèi)或單獨的設(shè)備內(nèi),以支持本公開內(nèi)容中所描述的各種操作和功能。另外,所描述的單元、模塊或組件中的任何一項可以一起被實施或者分離地被實施為分立但可互操作的邏輯設(shè)備。作為模塊或單元的對不同特征的描繪旨在強調(diào)不同的功能方面,并且不必然暗示這些模塊或單元必須由分離的硬件或軟件組件來實現(xiàn)。相反地,與一個或多個模塊或單元相關(guān)聯(lián)的功能可以由分離的硬件或軟件組件來執(zhí)行,或者被集成在共同的或分離的硬件或軟件組件內(nèi)。
[0074]本公開內(nèi)容中所描述的技術(shù)還可以在計算機可讀介質(zhì)中被體現(xiàn)或編碼,諸如包含指令的非瞬態(tài)計算機可讀介質(zhì)或計算機可讀存儲介質(zhì)。計算機可讀介質(zhì)中所嵌入或編碼的指令,例如,當(dāng)這些指令被執(zhí)行時,可以促使可編程處理器或其他處理器執(zhí)行該方法。計算機可讀存儲介質(zhì)可以包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、可編程只讀存儲器(PR0M)、可擦除可編程只讀存儲器(EPR0M)、電可擦除可編程只讀存儲器(EEPROM),閃速存儲器、硬盤、CD-ROM、軟盤、盒式磁帶、磁性介質(zhì)、光學(xué)介質(zhì)、或其他計算機可讀存儲介質(zhì)。應(yīng)當(dāng)理解,術(shù)語“計算機可讀存儲介質(zhì)”指代物理存儲介質(zhì),而不是信號或載波,盡管術(shù)語“計算機可讀介質(zhì)”除了物理存儲介質(zhì)之外,還可以包括諸如信號的瞬態(tài)介質(zhì)。
[0075]已經(jīng)描述了本發(fā)明的各種實施例。這些和其他的實施例在以下權(quán)利要求的范圍之內(nèi)。
【權(quán)利要求】
1.一種方法,包括: 將分組處理模板安裝到網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)平面,所述分組處理模板指定共同服務(wù)和變量,所述共同服務(wù)在用所述分組處理模板進(jìn)行分組處理期間應(yīng)用到多個分組流,所述變量確定與所述分組處理模板相關(guān)聯(lián)的執(zhí)行路徑; 針對所述多個分組流中的第一分組流生成第一訂戶記錄,所述第一訂戶記錄為所述變量指定第一變量值; 利用所述網(wǎng)絡(luò)設(shè)備接收與所述第一分組流相關(guān)聯(lián)的第一分組;以及通過使用由所述第一訂戶記錄所指定的所述第一變量值來為所述第一分組選擇與所述分組處理模板相關(guān)聯(lián)的執(zhí)行路徑,以利用所述分組處理模板處理所述第一分組。
2.根據(jù)權(quán)利要求1所述的方法,其中所述第一變量值指定與所述共同服務(wù)不同的第一服務(wù),所述方法進(jìn)一步包括: 確定所述第一訂戶記錄的所述第一變量值;以及 響應(yīng)于確定所述第一變量值,將所述第一服務(wù)應(yīng)用到所述第一分組。
3.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括: 針對所述多個分組流中與所述第一分組流不同的第二分組流,生成第二訂戶記錄,所述第二訂戶記錄為所述變量指定第二變量值,所述第二變量值指定第二服務(wù); 利用所述網(wǎng)絡(luò)設(shè)備接收與所述第二分組流相關(guān)聯(lián)的第二分組; 確定所述第二訂戶記錄的所述第二變量值;以及` 響應(yīng)于確定所述第二變量值,將所述第二服務(wù)應(yīng)用到所述第二分組,并且不將所述第一服務(wù)應(yīng)用到所述第二分組。
4.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 在所述轉(zhuǎn)發(fā)平面中分配服務(wù)對象;以及 將用于所述服務(wù)對象的服務(wù)描述符添加到所述第一訂戶記錄作為所述第一變量值, 其中利用所述分組處理模板來處理所述第一分組包括: 確定用于所述第一訂戶記錄的所述第一變量值以識別所述服務(wù)描述符; 將所述服務(wù)描述符解析為所述服務(wù)對象;以及 執(zhí)行所述服務(wù)對象以將第一服務(wù)應(yīng)用到所述第一分組。
5.根據(jù)權(quán)利要求4所述的方法,其中利用所述分組處理模板來處理所述第一分組包括:將所述共同服務(wù)應(yīng)用到所述第一分組。
6.根據(jù)權(quán)利要求4所述的方法,其中所述服務(wù)對象選自包括過濾器、分類器、服務(wù)等級隊列、計數(shù)器、策略器、合法攔截組件、業(yè)務(wù)流模板、路由表、或移動隧道端點標(biāo)識符處理器的組。
7.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 在所述分組處理模板中為所述變量設(shè)置默認(rèn)服務(wù); 針對與所述第一分組流不同的第二分組流,生成第二訂戶記錄; 接收與所述第二分組流相關(guān)聯(lián)的第二分組; 僅當(dāng)所述第二訂戶記錄為所述變量指定了指定第二服務(wù)的第二變量值時,將所述第二服務(wù)應(yīng)用到所述第二分組;以及 僅當(dāng)所述第二訂戶記錄沒有為所述變量指定第二變量值時,將所述默認(rèn)服務(wù)應(yīng)用到所述第二分組。
8.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 針對與所述第一分組流不同的第二分組流,生成第二訂戶記錄; 接收與所述第二分組流相關(guān)聯(lián)的第二分組; 僅當(dāng)所述第二訂戶記錄為所述變量指定了指定第二服務(wù)的第二變量值時,將所述第二服務(wù)應(yīng)用到所述第二分組;以及 當(dāng)所述第二訂戶記錄沒有為所述變量指定第二變量值時,針對所述變量不將操作應(yīng)用到所述第二分組。
9.根據(jù)權(quán)利要求1所述的方法,其中所述第一訂戶記錄指定所述分組處理模板。
10.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 將所述分組處理模板與邏輯接口相關(guān)聯(lián),所述邏輯接口為被映射到所述邏輯接口的一個或多個分組流確定共同的服務(wù)集合;以及在所述第一訂戶記錄中指定所述邏輯接口。
11.根據(jù)權(quán)利要求10所述的方法,進(jìn)一步包括: 針對與所述第一分組流不同的第二分組流,生成第二訂戶記錄;以及 在第二訂戶 記錄中指定所述邏輯接口。
12.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 將唯一地識別所述第一訂戶記錄的訂戶記錄查找關(guān)鍵字添加到所述第一訂戶記錄;將散列函數(shù)應(yīng)用到所述第一分組以生成散列索引,其中所述散列索引引用所述第一訂戶記錄;以及 將所述訂戶記錄查找關(guān)鍵字匹配到所述第一分組,以將所述第一訂戶記錄與所述第一分組相關(guān)聯(lián)。
13.根據(jù)權(quán)利要求12所述的方法,進(jìn)一步包括: 將指定一個或多個分組參數(shù)的訂戶終止模型查找關(guān)鍵字添加到所述轉(zhuǎn)發(fā)平面,其中用于所述分組參數(shù)的值唯一地識別用于訂戶終止模型的分組流;以及 將所述散列函數(shù)應(yīng)用到用于所述分組參數(shù)的所述第一分組的值,其中所述網(wǎng)絡(luò)設(shè)備在符合所述訂戶終止模型的訂戶連接中接收所述第一分組。
14.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 將第一訂戶記錄數(shù)據(jù)存儲到所述轉(zhuǎn)發(fā)平面的記錄緩沖器;以及 使用所述第一訂戶記錄數(shù)據(jù),用所述分組處理模板來處理所述第一分組。
15.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 利用所述網(wǎng)絡(luò)設(shè)備的控制平面,來識別由所述分組處理模板所指定的所述共同服務(wù)以便應(yīng)用到多個分組流; 利用所述控制平面來生成所述分組處理模板,以包括用于所述共同服務(wù)的共同服務(wù)對象; 利用所述控制平面來將所述分組處理模板安裝到所述轉(zhuǎn)發(fā)平面。
16.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 利用所述控制平面來生成所述第一訂戶記錄; 將所述第一訂戶記錄從所述控制平面發(fā)送給所述轉(zhuǎn)發(fā)平面。
17.一種網(wǎng)絡(luò)設(shè)備,包括: 接口卡; 包括一個或多個處理器的控制單元;以及 與所述接口卡相關(guān)聯(lián)的轉(zhuǎn)發(fā)組件,所述轉(zhuǎn)發(fā)組件包括: 關(guān)鍵字引擎; 分組處理模板,其指定共同服務(wù)和變量,所述共同服務(wù)在用所述分組處理模板進(jìn)行分組處理期間應(yīng)用到多個分組流,所述變量確定與所述分組處理模板相關(guān)聯(lián)的執(zhí)行路徑;以及 第一訂戶記錄,其為所述變量指定第一變量值,其中所述第 一訂戶記錄與所述多個分組流中的第一分組流相關(guān)聯(lián), 其中所述接口卡接收與所述第一分組流相關(guān)聯(lián)的第一分組,以及其中所述關(guān)鍵字引擎通過使用由所述第一訂戶記錄所指定的所述第一變量值來為所述第一分組選擇與所述分組處理模板相關(guān)聯(lián)的執(zhí)行路徑,以執(zhí)行所述分組處理模板。
18.根據(jù)權(quán)利要求17所述的網(wǎng)絡(luò)設(shè)備, 其中所述第一變量值指定與所述共同服務(wù)不同的第一服務(wù), 其中所述關(guān)鍵字引擎確定所述第一訂戶記錄的所述第一變量值,并且響應(yīng)于確定所述第一變量值,將所述第一服務(wù)應(yīng)用到所述第一分組。
19.根據(jù)權(quán)利要求18所述的網(wǎng)絡(luò)設(shè)備, 其中所述轉(zhuǎn)發(fā)組件進(jìn)一步包括第二訂戶記錄,所述第二訂戶記錄為所述變量指定第二變量值,所述第二變量值指定第二`服務(wù),其中所述第二訂戶記錄與所述多個分組流中的第二分組流相關(guān)聯(lián), 其中所述接口卡接收與所述第二分組流相關(guān)聯(lián)的第二分組, 其中所述關(guān)鍵字引擎確定所述第二訂戶記錄的所述第二變量值,并且響應(yīng)于確定所述第二變量值,將所述第二服務(wù)應(yīng)用到所述第二分組。
20.根據(jù)權(quán)利要求17所述的網(wǎng)絡(luò)設(shè)備,進(jìn)一步包括: 由所述處理器所執(zhí)行的守護(hù)進(jìn)程,其為所述網(wǎng)絡(luò)設(shè)備管理訂戶服務(wù);以及 由所述處理器所執(zhí)行的轉(zhuǎn)發(fā)組件接口, 其中所述守護(hù)進(jìn)程調(diào)用所述轉(zhuǎn)發(fā)組件接口,以在所述轉(zhuǎn)發(fā)組件中分配服務(wù)對象,其中所述守護(hù)進(jìn)程通過將用于所述服務(wù)對象的服務(wù)描述符添加到所述第一訂戶記錄作為所述第一變量值,來生成所述第一訂戶記錄, 其中所述守護(hù)進(jìn)程調(diào)用所述轉(zhuǎn)發(fā)組件接口,以將所述訂戶記錄發(fā)送給所述轉(zhuǎn)發(fā)組件,其中所述關(guān)鍵字引擎為了執(zhí)行所述分組處理模板,確定用于所述第一訂戶記錄的所述第一變量值以識別所述服務(wù)描述符,將所述服務(wù)描述符解析為所述服務(wù)對象,并且執(zhí)行所述服務(wù)對象以將第一服務(wù)應(yīng)用到所述第一分組。
21.根據(jù)權(quán)利要求20所述的網(wǎng)絡(luò)設(shè)備,其中所述服務(wù)對象選自包括過濾器、分類器、月艮務(wù)等級隊列、計數(shù)器、策略器、合法攔截組件、業(yè)務(wù)流模板、路由表、或移動隧道端點標(biāo)識符處理器的組。
22.根據(jù)權(quán)利要求17所述的網(wǎng)絡(luò)設(shè)備,其中所述第一訂戶記錄指定所述分組處理模板。
23.根據(jù)權(quán)利要求17所述的網(wǎng)絡(luò)設(shè)備,進(jìn)一步包括: 所述轉(zhuǎn)發(fā)組件的邏輯接口,其為被映射到所述邏輯接口的一個或多個分組流確定共同的服務(wù)集合,并且與所述分組處理模板相關(guān)聯(lián), 其中所述第一訂戶記錄指定所述邏輯接口。
24.根據(jù)權(quán)利要求23所述的網(wǎng)絡(luò)設(shè)備, 其中所述轉(zhuǎn)發(fā)組件進(jìn)一步包括第二訂戶記錄,所述第二訂戶記錄為所述變量指定了指定第二服務(wù)的第二變量值,并且 其中所述第二訂戶記錄指定所述邏輯接口。
25.根據(jù)權(quán)利要求17所述的網(wǎng)絡(luò)設(shè)備,進(jìn)一步包括: 所述第一訂戶記錄的訂戶記錄查找關(guān)鍵字,其唯一地識別所述第一訂戶記錄;以及散列引擎,其將散列函數(shù)應(yīng)用到所述第一分組以生成索引,其中所述散列索引引用所述第一訂戶記錄,并且其中所述散列引擎將所述訂戶記錄查找關(guān)鍵字匹配到所述第一分組,以將所述第一訂戶記錄與所述第一分組相關(guān)聯(lián)。
26.根據(jù)權(quán)利要求25所述的網(wǎng)絡(luò)設(shè)備,進(jìn)一步包括: 用于訂戶連接的訂戶接口,其符合訂戶終止模型;以及 查找關(guān)鍵字表,其包括指定一個或多個分組參數(shù)的訂戶終止模型查找關(guān)鍵字,其中用于所述分組參數(shù)的值唯一地識別用于所述訂戶終止模型的分組流, 其中所述接口卡在所述訂戶連接中接收所述第一分組,以及 其中所述散列引擎針對所述分組參數(shù)將所述散列函數(shù)應(yīng)用到所述第一分組的值。
27.根據(jù)權(quán)利要求17所述的網(wǎng)絡(luò)設(shè)備,進(jìn)一步包括: 所述轉(zhuǎn)發(fā)組件的記錄緩沖器,其當(dāng)所述關(guān)鍵字引擎處理所述第一分組時存儲第一訂戶記錄數(shù)據(jù), 其中所述關(guān)鍵字引擎使用所述第一訂戶記錄數(shù)據(jù),用所述分組處理模板來處理所述第一分組。
28.根據(jù)權(quán)利要求17所述的網(wǎng)絡(luò)設(shè)備,進(jìn)一步包括: 由所述處理器所執(zhí)行的守護(hù)進(jìn)程,其為所述網(wǎng)絡(luò)設(shè)備管理訂戶服務(wù), 由所述處理器所執(zhí)行的轉(zhuǎn)發(fā)組件接口, 其中所述守護(hù)進(jìn)程識別由所述分組處理模板所指定的所述共同服務(wù)以便應(yīng)用到多個分組流,生成所述分組處理模板以包括用于所述共同服務(wù)的所述轉(zhuǎn)發(fā)組件的共同服務(wù)對象,以及調(diào)用所述轉(zhuǎn)發(fā)組件接口來將所述分組處理模板安裝到所述轉(zhuǎn)發(fā)組件。
29.根據(jù)權(quán)利要求17所述的網(wǎng)絡(luò)設(shè)備,進(jìn)一步包括: 由所述處理器所執(zhí)行的守護(hù)進(jìn)程,其為所述網(wǎng)絡(luò)設(shè)備管理訂戶服務(wù), 由所述處理器所執(zhí)行的轉(zhuǎn)發(fā)組件接口, 其中所述守護(hù)進(jìn)程生成所述第一訂戶記錄,并且調(diào)用所述轉(zhuǎn)發(fā)組件接口以將所述第一訂戶記錄發(fā)送給所述轉(zhuǎn)發(fā)組件。
30.一種非瞬態(tài)計算機可讀介質(zhì),包括指令,所述指令用于促使一個或多個可編程處理器以: 將分組處理模板安裝到網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)平面,所述分組處理模板指定共同服務(wù)和變量,所述共同服務(wù)在用所述分組處理模板進(jìn)行分組處理期間應(yīng)用到多個分組流,所述變量確定與所述分組處理模板相關(guān)聯(lián)的執(zhí)行路徑; 針對所述多個分組流中的第一分組流生成第一訂戶記錄,所述第一訂戶記錄為所述變量指定第一變量值; 利用所述網(wǎng)絡(luò)設(shè)備接收與所述第一分組流相關(guān)聯(lián)的第一分組;以及通過使用由所述第一訂戶記錄所指定的所述第一變量值來為所述第一分組選擇與所述分組處理模板相關(guān)聯(lián)的執(zhí)行路徑,以用所述分組處理模板處理所述第一分組。
31.根據(jù)權(quán)利要求30所述的非瞬態(tài)計算機可讀介質(zhì),其中所述第一變量值指定與所述共同服務(wù)不同的第一服務(wù),并且其中所述指令進(jìn)一步促使所述處理器: 確定所述第一訂戶記錄的所述第一變量值;以及 響應(yīng)于確定所述 第一變量值,將所述第一服務(wù)應(yīng)用到所述第一分組。
32.根據(jù)權(quán)利要求31所述的非瞬態(tài)計算機可讀介質(zhì), 針對所述多個分組流中與所述第一分組流不同的第二分組流,生成第二訂戶記錄,所述第二訂戶記錄為所述變量指定第二變量值,所述第二變量值指定第二服務(wù); 利用所述網(wǎng)絡(luò)設(shè)備接收與所述第二分組流相關(guān)聯(lián)的第二分組; 確定所述第二訂戶記錄的所述第二變量值;以及 響應(yīng)于確定所述第二變量值,將所述第二服務(wù)應(yīng)用到所述第二分組,并且不將所述第一服務(wù)應(yīng)用到所述第二分組。
【文檔編號】H04L12/851GK103765839SQ201280041386
【公開日】2014年4月30日 申請日期:2012年6月29日 優(yōu)先權(quán)日:2011年6月29日
【發(fā)明者】A·斯齊斯?jié)煽? A·梅塔, K·梅塔, G·克里施納, J·格蘭希, M·阿塔瓦拉 申請人:瞻博網(wǎng)絡(luò)公司