計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)的會(huì)話感知服務(wù)鏈的制作方法
【專利摘要】描述了用于向用戶分組流提供會(huì)話感知的有狀態(tài)網(wǎng)絡(luò)服務(wù)的技術(shù)。在服務(wù)提供商網(wǎng)絡(luò)中的設(shè)備沿著服務(wù)鏈引導(dǎo)用戶分組。建立每個(gè)隧道以根據(jù)用于對(duì)應(yīng)服務(wù)鏈的具體的網(wǎng)絡(luò)服務(wù)的有序集引導(dǎo)流量。針對(duì)隧道的入口設(shè)備封裝用戶分組并嵌入不透明的會(huì)話cookie,每個(gè)會(huì)話cookie在由給定其服務(wù)隧道傳輸?shù)钠渌纸M流中唯一標(biāo)識(shí)用戶會(huì)話的分組流的集合。每個(gè)服務(wù)節(jié)點(diǎn)只需要標(biāo)識(shí)服務(wù)隧道以及被嵌入在隧道分組內(nèi)的會(huì)話cookie,隧道分組在該服務(wù)隧道上被接收,不需要進(jìn)一步檢查所封裝的用戶分組以及另外索引或者另外恢復(fù)強(qiáng)迫網(wǎng)絡(luò)節(jié)點(diǎn)被編程以遞送網(wǎng)絡(luò)服務(wù)所需的狀態(tài)或統(tǒng)計(jì)。
【專利說(shuō)明】計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)的會(huì)話感知服務(wù)鏈
【技術(shù)領(lǐng)域】
[0001]本公開(kāi)涉及計(jì)算機(jī)網(wǎng)絡(luò)并且更具體地涉及將網(wǎng)絡(luò)服務(wù)應(yīng)用到遍歷計(jì)算機(jī)網(wǎng)絡(luò)的用戶數(shù)據(jù)流量。
【背景技術(shù)】
[0002]計(jì)算機(jī)網(wǎng)絡(luò)是能夠交換數(shù)據(jù)并共享資源的互聯(lián)計(jì)算設(shè)備的集合。在基于分組的網(wǎng)絡(luò)中,計(jì)算設(shè)備通過(guò)將數(shù)據(jù)劃分為稱作分組的小塊來(lái)傳送數(shù)據(jù),其從源設(shè)備到目的設(shè)備被單獨(dú)路由通過(guò)網(wǎng)絡(luò)。目的設(shè)備從分組中提取數(shù)據(jù)并組裝數(shù)據(jù)成其原始形式。劃分?jǐn)?shù)據(jù)為分組使源設(shè)備能夠只重新發(fā)送那些可能在傳輸期間丟失的各個(gè)分組。
[0003]參照如路由器,某些設(shè)備維護(hù)描述通過(guò)網(wǎng)絡(luò)的路線的路由信息。路線可能一般定義為網(wǎng)絡(luò)設(shè)備的兩個(gè)位置之間的路徑。路由器包括控制平臺(tái),有時(shí)稱作管理平臺(tái),其維護(hù)路由信息,以及轉(zhuǎn)發(fā)平臺(tái),其根據(jù)路由信息轉(zhuǎn)發(fā)接收的分組。
[0004]網(wǎng)絡(luò)服務(wù)提供商向傳入的分組提供服務(wù),諸如安全、隧道、虛擬個(gè)人網(wǎng)絡(luò)、過(guò)濾、負(fù)載均衡、VoIP/多媒體處理和各種類型的應(yīng)用代理(HTTP、XML、WAP,等等)。服務(wù)提供商也提供設(shè)計(jì)為改善用戶體驗(yàn)的質(zhì)量的內(nèi)容特定的服務(wù),例如,視頻流和緩存。為了提供這些新服務(wù),服務(wù)提供商已經(jīng)經(jīng)常轉(zhuǎn)到專業(yè)的、專用的器具。在一些情況下,路由器已經(jīng)修改為包括將各種服務(wù)應(yīng)用到傳入的分組上的附加的硬件或者軟件。例如,安裝在路由器的服務(wù)平臺(tái)內(nèi)的線卡可以被配置為執(zhí)行具體的服務(wù),諸如上述服務(wù)。
[0005]在現(xiàn)有路由基礎(chǔ)設(shè)施中部署專用器具或者傳統(tǒng)硬件刀(hardware blade)片可能是昂貴的或者耗時(shí)的,從而阻止了服務(wù)提供商快速部署支持新服務(wù)的硬件。部署專用器具增加了可操作成本,因?yàn)楝F(xiàn)有技術(shù)經(jīng)常要求很多不同的定制設(shè)備互聯(lián)并且以靜態(tài)方式配置,并且?guī)缀醪惶峁┡c路由器或者其他網(wǎng)絡(luò)元素的整合。
【發(fā)明內(nèi)容】
[0006]總體上描述了用于向與用戶會(huì)話相關(guān)聯(lián)的分組流提供會(huì)話感知、有狀態(tài)網(wǎng)絡(luò)服務(wù)的技術(shù)。例如,描述了網(wǎng)絡(luò)系統(tǒng),服務(wù)提供商在網(wǎng)絡(luò)系統(tǒng)中能夠利用服務(wù)節(jié)點(diǎn)的服務(wù)綜合,以用于例如使用執(zhí)行網(wǎng)絡(luò)服務(wù)軟件的通用計(jì)算服務(wù)器來(lái)應(yīng)用網(wǎng)絡(luò)服務(wù)。本文所描述的技術(shù)通過(guò)允許沿著“服務(wù)鏈”容易地引導(dǎo)分組流來(lái)促進(jìn)面向會(huì)話服務(wù)的應(yīng)用,其中每個(gè)服務(wù)鏈表示由服務(wù)節(jié)點(diǎn)應(yīng)用的有狀態(tài)服務(wù)的有序集。
[0007]而且,設(shè)備通過(guò)在對(duì)應(yīng)的流量工程隧道內(nèi)為用戶分組形成隧道,沿著服務(wù)鏈引導(dǎo)用戶分組,其中每個(gè)隧道被建立以便根據(jù)用于對(duì)應(yīng)的服務(wù)鏈的網(wǎng)絡(luò)服務(wù)的具體有序集引導(dǎo)流量。作為去往隧道的入口操作的設(shè)備封裝用戶分組。而且,該設(shè)備,諸如在服務(wù)提供商網(wǎng)絡(luò)內(nèi)的網(wǎng)關(guān)路由器以不透明會(huì)話cookie的形式嵌入附加信息。以這種方式,每個(gè)隧道分組承載不透明會(huì)話cookie,并且每個(gè)會(huì)話cookie的內(nèi)容在由給定的服務(wù)隧道傳輸?shù)钠渌纸M流中唯一標(biāo)識(shí)會(huì)話特定的分組流的集合。如此,當(dāng)接收隧道分組時(shí),每個(gè)服務(wù)節(jié)點(diǎn)為了將所封裝的用戶分組與用戶會(huì)話唯一關(guān)聯(lián)只需要標(biāo)識(shí)服務(wù)隧道以及被嵌入在隧道分組內(nèi)的會(huì)話cookie,隧道分組在該服務(wù)隧道上被接收。與相同會(huì)話cookie相關(guān)聯(lián)的分組流的集合可以唯一標(biāo)識(shí)源自用戶會(huì)話的所有分組流,所有這種流源自用戶訪問(wèn)連接。作為備選方案,給定的會(huì)話cookie不需要表示來(lái)自該用戶的所有分組流,但是可以用于表示具有公共特征的分組流的子集,諸如與公共多媒體會(huì)話相關(guān)聯(lián)的分組流。
[0008]使用會(huì)話cookie唯一標(biāo)識(shí)會(huì)話特定的分組流的集合可以使服務(wù)節(jié)點(diǎn)能夠?qū)?huì)話特定的有狀態(tài)服務(wù)應(yīng)用于被封裝的用戶分組,作為具體分組流集合內(nèi)的所有用戶分組流的一部分,而不需要首先檢查用戶分組本身(比如,用戶分組的報(bào)頭或者凈荷)的部分以標(biāo)識(shí)該用戶或者與具有給定用戶分組流的用戶分組相關(guān)聯(lián)。換句話說(shuō),本文所描述的技術(shù)可以有效地消除在服務(wù)節(jié)點(diǎn)上的進(jìn)程各個(gè)分組的任何負(fù)擔(dān)以標(biāo)識(shí)每個(gè)會(huì)話的服務(wù)要求或者與用戶會(huì)話相關(guān)聯(lián)的本地網(wǎng)絡(luò)狀態(tài)。
[0009]在一個(gè)示例中,方法包括通過(guò)服務(wù)提供商網(wǎng)絡(luò)的網(wǎng)絡(luò)設(shè)備接收分組流的用戶分組,該分組流源自用戶設(shè)備并去往分組數(shù)據(jù)網(wǎng)絡(luò)。該方法包括通過(guò)在隧道分組的凈荷內(nèi)封裝用戶分組以及構(gòu)造用于通過(guò)與服務(wù)鏈相關(guān)聯(lián)的隧道傳輸?shù)乃淼婪纸M的報(bào)頭來(lái)形成隧道分組。服務(wù)鏈包括用于通過(guò)服務(wù)節(jié)點(diǎn)集應(yīng)用于來(lái)自多個(gè)用戶設(shè)備的多個(gè)分組流的一個(gè)或者多個(gè)有狀態(tài)服務(wù)的有序集。此外,該方法包括在隧道分組內(nèi)嵌入存儲(chǔ)唯一標(biāo)識(shí)源自用戶設(shè)備的分組流的集合的值的會(huì)話cookie,并且通過(guò)網(wǎng)絡(luò)設(shè)備向服務(wù)節(jié)點(diǎn)轉(zhuǎn)發(fā)隧道分組。
[0010]在另一個(gè)示例中,設(shè)備,諸如路由器或者開(kāi)關(guān),包括多個(gè)網(wǎng)絡(luò)接口以及控制單元,該控制單元包括執(zhí)行流量工程協(xié)議以針對(duì)服務(wù)鏈建立隧道的處理器。服務(wù)鏈包括用于通過(guò)服務(wù)節(jié)點(diǎn)集應(yīng)用于與服務(wù)鏈相關(guān)聯(lián)的分組流的一個(gè)或者多個(gè)有狀態(tài)服務(wù)的有序集。該設(shè)備進(jìn)一步包括用與隧道相關(guān)聯(lián)的轉(zhuǎn)發(fā)信息編程的轉(zhuǎn)發(fā)電路,用于沿著隧道轉(zhuǎn)發(fā)分組流。一般地,轉(zhuǎn)發(fā)電路接收源自用戶設(shè)備的分組流的用戶分組,并根據(jù)轉(zhuǎn)發(fā)信息通過(guò)在隧道分組的凈荷內(nèi)封裝用戶分組以及構(gòu)造隧道分組的報(bào)頭來(lái)形成隧道分組。當(dāng)形成隧道分組時(shí),轉(zhuǎn)發(fā)電路在隧道分組內(nèi)嵌入會(huì)話cookie,會(huì)話cookie存儲(chǔ)將分組流與源自相同用戶的分組流的集合唯一相關(guān)聯(lián)并且從其他分組流中區(qū)分分組流的值,其他分組流與源自其他用戶的服務(wù)鏈相關(guān)聯(lián)。最后,轉(zhuǎn)發(fā)電路輸出隧道分組到一個(gè)網(wǎng)絡(luò)接口以用于向服務(wù)節(jié)點(diǎn)轉(zhuǎn)發(fā)。
[0011]在進(jìn)一步的示例中,服務(wù)節(jié)點(diǎn)包括網(wǎng)絡(luò)接口以在多個(gè)隧道上接收隧道分組。每個(gè)隧道對(duì)應(yīng)多個(gè)服務(wù)鏈中的相應(yīng)的服務(wù)鏈,并且每個(gè)服務(wù)鏈包括與用戶相關(guān)聯(lián)的分組流的一個(gè)或者多個(gè)有狀態(tài)服務(wù)的不同有序集。每個(gè)隧道分組封裝用戶分組并且包括會(huì)話cookie,會(huì)話cookie存儲(chǔ)將用戶分組與源自相同用戶的分組流的集合唯一相關(guān)聯(lián)的值。服務(wù)節(jié)點(diǎn)包括處理器,該處理器執(zhí)行執(zhí)行網(wǎng)絡(luò)服務(wù)軟件以將一個(gè)或者多個(gè)有狀態(tài)網(wǎng)絡(luò)服務(wù)應(yīng)用到分組流。網(wǎng)絡(luò)服務(wù)軟件基于會(huì)話cookie的值和隧道將每個(gè)用戶分組與對(duì)應(yīng)的分組流相關(guān)聯(lián),隧道分組在隧道上被接收,而不對(duì)用戶分組進(jìn)行檢查。
[0012]本公開(kāi)內(nèi)容的一個(gè)或者多個(gè)實(shí)施例的細(xì)節(jié)在附圖中以及下面的描述中被闡述。其他特性、目標(biāo)以及好處將從描述和附圖以及從權(quán)利要求書(shū)中顯而易見(jiàn)。
【專利附圖】
【附圖說(shuō)明】
[0013]圖1示出了根據(jù)本文所描述的技術(shù)操作的示例網(wǎng)絡(luò)系統(tǒng)的框圖。
[0014]圖2示出了由示例控制器支持的服務(wù)鏈的示例集合的框圖。
[0015]圖3示出了由SDN控制器或者網(wǎng)關(guān)生成的示例配置數(shù)據(jù)的邏輯表示,以指定圖2的示例服務(wù)鏈。
[0016]圖4示出了由網(wǎng)關(guān)或者其他設(shè)備輸出的以沿著具體服務(wù)鏈引導(dǎo)分組的示例隧道分組。
[0017]圖5示出了示例性設(shè)備框圖,比如,能夠?qū)崿F(xiàn)本文所描述的技術(shù)的路由器或者網(wǎng)關(guān)。
[0018]圖6是示出了根據(jù)本文所描述的技術(shù)的路由器的示例性操作的流程圖。
[0019]圖7是示出了提供用于一個(gè)或者多個(gè)服務(wù)節(jié)點(diǎn)的操作環(huán)境的示例服務(wù)器的框圖。
【具體實(shí)施方式】
[0020]圖1示出了根據(jù)本文所描述的技術(shù)的示例網(wǎng)絡(luò)系統(tǒng)。圖1的示例網(wǎng)絡(luò)系統(tǒng)包括作為私有網(wǎng)絡(luò)運(yùn)營(yíng)以向用戶設(shè)備16A-16N(統(tǒng)稱為“用戶設(shè)備16”)提供基于分組的網(wǎng)絡(luò)服務(wù)的服務(wù)提供商網(wǎng)絡(luò)2。就是說(shuō),服務(wù)提供商網(wǎng)絡(luò)2提供了對(duì)用于用戶設(shè)備16的網(wǎng)絡(luò)訪問(wèn)的認(rèn)證和建立以便用戶設(shè)備可以用公共網(wǎng)絡(luò)12開(kāi)始交換數(shù)據(jù)分組,該公共網(wǎng)絡(luò)可以是內(nèi)部的或者外部的基于分組的網(wǎng)絡(luò),諸如互聯(lián)網(wǎng)。
[0021]在圖1的示例中,服務(wù)提供商網(wǎng)絡(luò)2包括接入網(wǎng)6(“接入網(wǎng)6”),接入網(wǎng)6經(jīng)由服務(wù)提供商核心網(wǎng)7和網(wǎng)關(guān)8向公共網(wǎng)絡(luò)12提供鏈接。服務(wù)提供商核心網(wǎng)7和公共網(wǎng)絡(luò)12提供了基于分組的服務(wù),該服務(wù)可用于請(qǐng)求或者由用戶設(shè)備16使用。作為示例,核心網(wǎng)7和/或公共網(wǎng)絡(luò)12可以提供,例如,批量數(shù)據(jù)遞送、互聯(lián)網(wǎng)協(xié)議上的語(yǔ)音(VoIP)、互聯(lián)網(wǎng)協(xié)議電視(IPTV)、短消息服務(wù)(SMS)、無(wú)線應(yīng)用協(xié)議(WAP)服務(wù)、或者用戶特定的應(yīng)用服務(wù)。公共網(wǎng)絡(luò)12可以包括,譬如,局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、互聯(lián)網(wǎng)、虛擬LAN (VLAN)、企業(yè)LAN、層3虛擬私有網(wǎng)絡(luò)(VPN)、由運(yùn)營(yíng)接入網(wǎng)6的服務(wù)提供商運(yùn)營(yíng)的互聯(lián)網(wǎng)協(xié)議(IP)內(nèi)部網(wǎng)、企業(yè)IP網(wǎng)、或者對(duì)其的組合。在各種實(shí)施例中,公共網(wǎng)絡(luò)12連接到公共WAN、互聯(lián)網(wǎng)或者其他網(wǎng)絡(luò)。分組數(shù)據(jù)網(wǎng)絡(luò)12執(zhí)行一個(gè)或者多個(gè)分組數(shù)據(jù)協(xié)議(TOPs),諸如IP(IPv4和/或IPv6), X.25或者點(diǎn)對(duì)點(diǎn)協(xié)議(PPP),以便能夠進(jìn)行公共網(wǎng)絡(luò)12服務(wù)的基于分組的傳輸。
[0022]用戶設(shè)備16經(jīng)由接入網(wǎng)6連接網(wǎng)關(guān)8以接收到用戶服務(wù)的鏈接,該用戶服務(wù)針對(duì)由用戶設(shè)備16托管的應(yīng)用。用戶可以表示,譬如,企業(yè)、居民用戶、或者移動(dòng)用戶。用戶設(shè)備16可以是,例如,個(gè)人計(jì)算機(jī)、筆記本電腦或者其他類型的與用戶相關(guān)聯(lián)的計(jì)算設(shè)備。此夕卜,用戶設(shè)備16可以包括經(jīng)由無(wú)線電接入網(wǎng)(RAN)4訪問(wèn)服務(wù)提供商網(wǎng)絡(luò)2的數(shù)據(jù)服務(wù)的移動(dòng)設(shè)備。示例移動(dòng)用戶設(shè)備包括移動(dòng)電話、筆記本電腦或者具有比如3G無(wú)線卡的臺(tái)式計(jì)算機(jī)、具有無(wú)線能力的上網(wǎng)本、視頻游戲設(shè)備、尋呼機(jī)、智能電話、個(gè)人數(shù)據(jù)助手(PDA)等設(shè)備。每個(gè)用戶設(shè)備16可以運(yùn)行各種軟件應(yīng)用,諸如文字處理和其他支持辦公的軟件、網(wǎng)頁(yè)瀏覽軟件、支持語(yǔ)音呼叫的團(tuán)建、視頻游戲、視頻會(huì)議、以及電子郵件等等。用戶設(shè)備16經(jīng)由訪問(wèn)鏈路5連接接入網(wǎng)6,訪問(wèn)鏈路包括有限的和/或無(wú)線的通信鏈路。術(shù)語(yǔ)“通信鏈路”,如本人所用,包括任何形式的傳輸媒體、有線的或者無(wú)線的,并且可能包括中間節(jié)點(diǎn)諸如網(wǎng)絡(luò)設(shè)備。每個(gè)訪問(wèn)鏈路5可以包括,譬如,不對(duì)稱DSL網(wǎng)絡(luò)、WiMAX、T-l線、綜合流量數(shù)字網(wǎng)(ISDN)、有線的以太網(wǎng)、或者蜂窩無(wú)線電鏈路。
[0023]網(wǎng)絡(luò)服務(wù)提供商運(yùn)營(yíng),或者在一些情況下租賃接入網(wǎng)6的元素以提供用戶設(shè)備16和網(wǎng)關(guān)8之間的分組傳輸。接入網(wǎng)6表示從一個(gè)或者多個(gè)用戶匯總數(shù)據(jù)流量的網(wǎng)絡(luò)以用于向/從服務(wù)提供商的服務(wù)提供商核心網(wǎng)7傳輸。接入網(wǎng)6包括網(wǎng)絡(luò)節(jié)點(diǎn),該網(wǎng)絡(luò)節(jié)點(diǎn)執(zhí)行通信協(xié)議以便傳輸控制及用戶數(shù)據(jù)以幫助用戶設(shè)備16與網(wǎng)關(guān)8之間的通信。接入網(wǎng)6可以包括寬帶接入網(wǎng)、網(wǎng)絡(luò)、無(wú)線LAN、公共交換電話網(wǎng)、或者其他類型的接入網(wǎng),并且可以包括或以其他方式提供用于蜂窩接入網(wǎng)的連接,諸如圖1的無(wú)線電接入網(wǎng)(RAN)4。示例包括符合通用移動(dòng)電信系統(tǒng)(UMTS)結(jié)構(gòu)的網(wǎng)絡(luò)、稱作長(zhǎng)期演進(jìn)(LTE)的UMTS的演進(jìn)、由互聯(lián)網(wǎng)工程任務(wù)組(IETF)標(biāo)準(zhǔn)化的移動(dòng)IP,以及由第三代合作伙伴項(xiàng)目(3GPP)、第三代合作伙伴項(xiàng)目2(3GPP2)以及全球微波互聯(lián)接入(WiMAX)論壇提出的其他標(biāo)準(zhǔn)。
[0024]服務(wù)提供商核心網(wǎng)7 (以下為,“核心網(wǎng)7”)提供到被附接到接入網(wǎng)6的用戶設(shè)備16的基于分組的鏈接用于訪問(wèn)TON12。核心網(wǎng)7可以表示由服務(wù)提供商所有或者運(yùn)營(yíng)的與多個(gè)網(wǎng)絡(luò)互聯(lián)的公共網(wǎng)絡(luò),該多個(gè)網(wǎng)絡(luò)可以包括接入網(wǎng)6。核心網(wǎng)7可以實(shí)現(xiàn)多協(xié)議標(biāo)簽互換(MPLS)轉(zhuǎn)發(fā)以及在這種情況下可以稱作MPLS網(wǎng)或者M(jìn)PLS骨干。在一些實(shí)例中,核心網(wǎng)7表示多個(gè)互聯(lián)的自主系統(tǒng),諸如互聯(lián)網(wǎng),互聯(lián)的自主系統(tǒng)從一個(gè)或者多個(gè)服務(wù)提供商提供服務(wù)。公共網(wǎng)絡(luò)12可以表示與核心網(wǎng)7耦合的邊緣網(wǎng)絡(luò),比如,由用戶邊緣設(shè)備(諸如用戶邊緣開(kāi)關(guān)或者路由器)耦合。公共網(wǎng)絡(luò)12可以包括數(shù)據(jù)中心。
[0025]在包括有線/寬帶接入網(wǎng)的網(wǎng)絡(luò)2的示例中,網(wǎng)關(guān)8可以表示寬帶網(wǎng)絡(luò)網(wǎng)關(guān)(BNG)、寬帶遠(yuǎn)程接入服務(wù)器(BRAS)、MPLS提供商邊緣(PE)路由器、核心路由器或者網(wǎng)關(guān)、或者電纜調(diào)制解調(diào)器終端系統(tǒng)(CMTS),譬如。在包括蜂窩網(wǎng)作為接入網(wǎng)6的網(wǎng)絡(luò)2的示例中,網(wǎng)關(guān)8可以表示移動(dòng)網(wǎng)關(guān),例如,網(wǎng)關(guān)通用分組無(wú)線電服務(wù)(GPRS)服務(wù)節(jié)點(diǎn)(GGSN)、接入網(wǎng)關(guān)(aGW)、或者分組數(shù)據(jù)網(wǎng)(TON)網(wǎng)關(guān)(PGW)。在其他示例中,對(duì)于網(wǎng)關(guān)8所描述的功能可以在開(kāi)關(guān)、服務(wù)卡或者其他網(wǎng)元或者網(wǎng)絡(luò)組件中實(shí)現(xiàn)。
[0026]至少管理部分網(wǎng)絡(luò)2的網(wǎng)絡(luò)服務(wù)提供商典型地向與設(shè)備(比如訪問(wèn)服務(wù)提供商網(wǎng)絡(luò)的用戶設(shè)備16)相關(guān)聯(lián)的用戶提供服務(wù)。所提供的服務(wù)可以包括,例如,傳統(tǒng)互聯(lián)網(wǎng)訪問(wèn)、互聯(lián)網(wǎng)協(xié)議上的語(yǔ)音(VoIP)、視頻或者多媒體服務(wù)以及安全服務(wù)。如以上對(duì)于接入網(wǎng)6的描述,核心網(wǎng)7可以支持多種類型的連接服務(wù)提供商網(wǎng)絡(luò)接入網(wǎng)關(guān)以提供對(duì)所提供的服務(wù)的訪問(wèn)的接入網(wǎng)基礎(chǔ)設(shè)施。在一些實(shí)例中,網(wǎng)絡(luò)系統(tǒng)可以包括附接到具有各種架構(gòu)的多個(gè)不同接入網(wǎng)6的用戶設(shè)備16。
[0027]—般地,任何一個(gè)或者多個(gè)用戶設(shè)備16可以通過(guò)向網(wǎng)關(guān)8發(fā)送會(huì)話請(qǐng)求來(lái)請(qǐng)求認(rèn)證和數(shù)據(jù)服務(wù)。反過(guò)來(lái),網(wǎng)關(guān)8典型地訪問(wèn)認(rèn)證、授權(quán)及計(jì)費(fèi)(AAA)服務(wù)器11以認(rèn)證請(qǐng)求網(wǎng)絡(luò)訪問(wèn)的用戶設(shè)備。一旦被認(rèn)證,任何用戶設(shè)備16可以向服務(wù)提供商核心網(wǎng)7發(fā)送用戶數(shù)據(jù)以便訪問(wèn)及接收由公共網(wǎng)絡(luò)12提供的服務(wù),并且這種分組至少作為一個(gè)分組流的一部分來(lái)遍歷網(wǎng)關(guān)8。圖1中所示出的流26表示一個(gè)或者多個(gè)來(lái)自任何一個(gè)或者多個(gè)用戶設(shè)備16并去往TON 12的上行分組流。術(shù)語(yǔ)“分組流”、“流量流”、或者簡(jiǎn)單地“流”指源自具體源設(shè)備并向具體目標(biāo)設(shè)備發(fā)送的分組集。單個(gè)分組流,或者在上行方向(源自用戶設(shè)備16)或者下行方向(去往用戶設(shè)備16),例如可以由5元組標(biāo)識(shí):〈源網(wǎng)絡(luò)地址、目標(biāo)網(wǎng)絡(luò)地址、源端口、目標(biāo)端口、協(xié)議 >。該5元組一般標(biāo)識(shí)接收的分組對(duì)應(yīng)的分組流。η元組指的是從5元組抽取的任何η項(xiàng)。例如,分組的2元組可以指針對(duì)該分組的〈源網(wǎng)絡(luò)地址、目標(biāo)網(wǎng)絡(luò)地址 > 的組合或者〈源網(wǎng)絡(luò)地址、源端口 >的組合。而且,在認(rèn)證服務(wù)提供商網(wǎng)絡(luò)2以及建立用于接收數(shù)據(jù)服務(wù)的通信會(huì)話時(shí),用戶設(shè)備可以源發(fā)多個(gè)數(shù)據(jù)流。
[0028]如本文所述,服務(wù)提供商網(wǎng)絡(luò)包括具有提供用于網(wǎng)絡(luò)服務(wù)的執(zhí)行環(huán)境的一簇服務(wù)節(jié)點(diǎn)10Α-10Ν的服務(wù)復(fù)合體9。也就是說(shuō),每個(gè)服務(wù)節(jié)點(diǎn)10應(yīng)用一個(gè)或者多個(gè)服務(wù)。例如,服務(wù)節(jié)點(diǎn)10可以應(yīng)用防火墻和安全服務(wù)、運(yùn)營(yíng)商級(jí)網(wǎng)絡(luò)地址翻譯(CG-NAT)、媒體優(yōu)化(語(yǔ)音/視頻)、IPSec/VPN服務(wù)、深度分組檢查(DPI)、HTTP過(guò)濾、計(jì)數(shù)、計(jì)費(fèi)、收費(fèi)以及分組流的負(fù)載均衡或者應(yīng)用于網(wǎng)絡(luò)流量的其他類型服務(wù)。以這種方式,每個(gè)服務(wù)節(jié)點(diǎn)10表示一個(gè)服務(wù)實(shí)例。
[0029]盡管如服務(wù)復(fù)合體9所示出的,服務(wù)復(fù)合體可以表示數(shù)據(jù)中心,但服務(wù)節(jié)點(diǎn)10,譬如,可以被核心網(wǎng)7的一個(gè)或者多個(gè)開(kāi)關(guān)或者虛擬開(kāi)關(guān)耦合。在一個(gè)示例中,每個(gè)服務(wù)節(jié)點(diǎn)10可以作為虛擬機(jī)算環(huán)境中的虛擬機(jī)運(yùn)行。而且,計(jì)算環(huán)境可以包括通用計(jì)算設(shè)備(諸如基于X86處理器的服務(wù)器)的可擴(kuò)展的簇。作為另一個(gè)示例,服務(wù)節(jié)點(diǎn)10可以包括通用計(jì)算設(shè)備和特定用途器具。如被虛擬化,由服務(wù)節(jié)點(diǎn)10提供的各個(gè)網(wǎng)絡(luò)服務(wù),正如在現(xiàn)代數(shù)據(jù)中心,可以通過(guò)虛擬內(nèi)存的分配、處理器使用、存儲(chǔ)和網(wǎng)絡(luò)規(guī)則以及通過(guò)增加額外的被負(fù)載均衡的虛擬機(jī)進(jìn)行縮放。
[0030]如在圖1中所示,網(wǎng)關(guān)8通過(guò)由服務(wù)節(jié)點(diǎn)10提供的定義的服務(wù)組引導(dǎo)各個(gè)用戶分組流26。也就是說(shuō),每個(gè)用戶分組流可以通過(guò)服務(wù)節(jié)點(diǎn)10提供的具體的有序服務(wù)集被轉(zhuǎn)發(fā),本文每個(gè)有序集稱作“服務(wù)鏈”。在圖1的示例中,沿著第一服務(wù)鏈28A引導(dǎo)一個(gè)或者多個(gè)用戶分組流26并且,因此,按順序接收服務(wù)節(jié)點(diǎn)10AU0B和1N應(yīng)用的服務(wù)。類似地,沿著第二服務(wù)鏈28B引導(dǎo)一個(gè)或者多個(gè)用戶分組流26并且,因此,接收由服務(wù)節(jié)點(diǎn)10CU0B和1N應(yīng)用的服務(wù)。
[0031]以這種方式,用戶流26可以作為接入網(wǎng)6和公共網(wǎng)絡(luò)12之間的分組流,根據(jù)服務(wù)提供商配置的服務(wù)鏈由服務(wù)節(jié)點(diǎn)10處理。在所示的示例中,服務(wù)鏈28A根據(jù)所列的順序標(biāo)識(shí)節(jié)點(diǎn)10A、10BU0N的有序集。服務(wù)鏈28B標(biāo)識(shí)節(jié)點(diǎn)10C、10B、1N的有序集。因此,根據(jù)服務(wù)鏈28A被處理的分組流26跟隨遍歷節(jié)點(diǎn)10A、10B、最終到達(dá)作為服務(wù)鏈28A終端節(jié)點(diǎn)的節(jié)點(diǎn)1N的服務(wù)路徑。具體的節(jié)點(diǎn)10可以支持多個(gè)服務(wù)鏈。在該示例中,服務(wù)節(jié)點(diǎn)1B支持服務(wù)鏈28A、28B。
[0032]一旦在服務(wù)鏈的終端節(jié)點(diǎn)被處理,即最后的節(jié)點(diǎn)10沿著具體服務(wù)路徑向服務(wù)應(yīng)用分組流,終端節(jié)點(diǎn)可以引導(dǎo)流量回到網(wǎng)關(guān)8用于進(jìn)一步處理或者/和轉(zhuǎn)發(fā)到公共網(wǎng)絡(luò)12。例如,流量工程服務(wù)路徑可以開(kāi)始和終結(jié)在網(wǎng)關(guān)8。
[0033]盡管“服務(wù)鏈”定義了以特定順序被應(yīng)用的一個(gè)或者多個(gè)服務(wù)以提供用于應(yīng)用于與服務(wù)鏈綁定的分組流的組合服務(wù),但是“服務(wù)隧道”或者“服務(wù)路徑”指根據(jù)服務(wù)鏈排序隨著用于轉(zhuǎn)發(fā)分組流的轉(zhuǎn)發(fā)狀態(tài),由服務(wù)鏈處理的分組流所走的邏輯路徑和/或物理路徑。每個(gè)服務(wù)鏈可以與相應(yīng)的服務(wù)隧道相關(guān)聯(lián),并且與每個(gè)用戶設(shè)備16的相關(guān)聯(lián)的分組流根據(jù)與相應(yīng)的用戶相關(guān)聯(lián)的服務(wù)簡(jiǎn)檔沿著服務(wù)隧道流動(dòng)。表示為服務(wù)鏈28A、28B的箭頭示出了映射到服務(wù)鏈28A或者28B的分組流所走的路徑。例如,給定的用戶可以與特定的服務(wù)簡(jiǎn)檔相關(guān)聯(lián),服務(wù)簡(jiǎn)檔按順序映射到與服務(wù)鏈28A相關(guān)聯(lián)的服務(wù)隧道。類似地,另一個(gè)用戶可以對(duì)不同的服務(wù)簡(jiǎn)檔相關(guān)聯(lián),該服務(wù)簡(jiǎn)檔按順序映射到與服務(wù)鏈28B相關(guān)聯(lián)的服務(wù)隧道。在認(rèn)證及為用戶建立訪問(wèn)會(huì)話之后,網(wǎng)關(guān)8沿著適當(dāng)?shù)姆?wù)隧道引導(dǎo)用戶的分組流,從而引起服務(wù)復(fù)合體9針對(duì)給定的用戶應(yīng)用所需訂購(gòu)的服務(wù)。
[0034]節(jié)點(diǎn)10可以使用內(nèi)部配置的轉(zhuǎn)發(fā)狀態(tài)實(shí)現(xiàn)服務(wù)鏈28A、28B,根據(jù)服務(wù)節(jié)點(diǎn)10的被標(biāo)識(shí)的集,轉(zhuǎn)發(fā)狀態(tài)沿著服務(wù)鏈28A、28B引導(dǎo)分組流的分組。使用網(wǎng)絡(luò)隧道,諸如互聯(lián)網(wǎng)協(xié)議(IP)或者通用路由封裝(GRE)隧道,或者使用虛擬局域網(wǎng)(VLAN)、多協(xié)議標(biāo)簽交換(MPLS)技術(shù),等等,這種轉(zhuǎn)發(fā)狀態(tài)可以指定用于在服務(wù)節(jié)點(diǎn)間形成隧道的隧道接口。在一些實(shí)例中,真實(shí)的開(kāi)關(guān)或者虛擬的開(kāi)關(guān)、路由器或者互聯(lián)連接服務(wù)節(jié)點(diǎn)10的其他網(wǎng)元可以被配置為根據(jù)服務(wù)鏈28A、28B引導(dǎo)分組流到服務(wù)節(jié)點(diǎn)10。
[0035]在圖1中,軟件定義網(wǎng)絡(luò)(SDN)控制器19提供了用于配置和管理服務(wù)提供商網(wǎng)絡(luò)2(比如,網(wǎng)關(guān)8、核心網(wǎng)7以及節(jié)點(diǎn)10)的路由及交換基礎(chǔ)設(shè)施的高層控制器。在一些實(shí)例中,SDN控制器19管理增值服務(wù)復(fù)合體9的操作環(huán)境內(nèi)的虛擬機(jī)的部署。例如,SDN控制器19可以與網(wǎng)關(guān)8互動(dòng)以指定服務(wù)鏈28A、28B的信息。例如,由SDN控制器19提供的服務(wù)鏈信息可指定服務(wù)節(jié)點(diǎn)10提供的增值服務(wù)的任何組合和排序、用于形成隧道或者以其他方式(比如,MPLS或者IP隧道)沿著服務(wù)路徑傳輸分組流的流量工程信息(比如,標(biāo)簽或者下一中繼段)、速率限制、服務(wù)類型(TOS)標(biāo)記或者指定用于將分組流與具體的服務(wù)鏈28A、28B匹配的標(biāo)準(zhǔn)的分組分類機(jī)。SDN控制器的進(jìn)一步示例細(xì)節(jié)在與2013年6月5日提交的PCT國(guó)際專利申請(qǐng)PCT/US13/44378中描述,其整體內(nèi)容通過(guò)引用并入本文。
[0036]根據(jù)本文所描述的技術(shù),在網(wǎng)關(guān)8引導(dǎo)分組進(jìn)入適當(dāng)?shù)姆?wù)鏈時(shí),網(wǎng)關(guān)8修改分組流26的分組。例如,網(wǎng)關(guān)8可以為每個(gè)用戶分組前置一個(gè)流量工程報(bào)頭或者標(biāo)簽(比如,附加的IP報(bào)頭或者M(jìn)PLS標(biāo)簽)以形成“隧道分組”,用戶分組在“隧道分組”內(nèi)作為凈荷被封裝。這時(shí),網(wǎng)關(guān)8基于具體的用戶選擇具體流量工程報(bào)頭,并且,更具體地,選擇服務(wù)鏈,給定用戶的具體類型的分組流被分配給該服務(wù)鏈。換句話說(shuō),由網(wǎng)關(guān)8進(jìn)行的引導(dǎo)分組流的用戶分組流26的處理是會(huì)話感知的(即,基于分組流源自的具體用戶)并且可以基于分組流本身的特性,比如,流的類型(比如,VoIP、HTTP,等等)。
[0037]如本文所描述的,服務(wù)提供商網(wǎng)絡(luò)2利用會(huì)話cookie唯一標(biāo)識(shí)經(jīng)過(guò)服務(wù)鏈所引導(dǎo)的會(huì)話特定的分組流的集合。由給定會(huì)話cookie唯一標(biāo)識(shí)的分組流的集合可以表示,例如,源自用戶會(huì)話的分組流的集合,所有這種流源自用戶的PPP或者GTP訪問(wèn)連接。作為備選方案,給定的會(huì)話cookie不需要表示來(lái)自用戶的所有分組流,但是可以用于表示具有公共特征的分組流的子集。例如,會(huì)話cookie可以表示與用戶的公共多媒體會(huì)話相關(guān)聯(lián)或者與用戶的web (HTTP)流量或者其他具體協(xié)議相關(guān)聯(lián)的分組流。
[0038]如所解釋的,網(wǎng)絡(luò)節(jié)點(diǎn)10利用會(huì)話cookie為與用戶設(shè)備116相關(guān)聯(lián)的分組流提供會(huì)話感知的有狀態(tài)網(wǎng)絡(luò)服務(wù)。每個(gè)會(huì)話cookie包括對(duì)于分組流集合正被引導(dǎo)通過(guò)的具體服務(wù)鏈的唯一的值。在一些示例中,服務(wù)節(jié)點(diǎn)10用會(huì)話cookie的唯一值作為進(jìn)入本地存儲(chǔ)的會(huì)話狀態(tài)信息和/或針對(duì)用戶的服務(wù)請(qǐng)求的索引以便快速檢索與分組流集合相關(guān)聯(lián)的具體狀態(tài)信息。以這種方式,會(huì)話cookie有效地消除在服務(wù)節(jié)點(diǎn)上的進(jìn)程各個(gè)分組的任何負(fù)擔(dān)以標(biāo)識(shí)服務(wù)要求或者與用戶會(huì)話相關(guān)聯(lián)的本地網(wǎng)絡(luò)狀態(tài)。
[0039]在運(yùn)行中,網(wǎng)關(guān)8在每個(gè)分組內(nèi)嵌入會(huì)話cookie以減小服務(wù)節(jié)點(diǎn)10上對(duì)于用戶分組的后續(xù)處理的負(fù)擔(dān)。在一個(gè)示例中,網(wǎng)關(guān)8以不透明會(huì)話cookie的形式在流量工程報(bào)頭與封裝的用戶分組之間嵌入會(huì)話cookie。以這種方式,每個(gè)分組承載一個(gè)不透明的會(huì)話cookie,并且每個(gè)會(huì)話cookie的內(nèi)容從由服務(wù)隧道傳輸?shù)膩?lái)自其他分組流唯一標(biāo)識(shí)相應(yīng)的用戶分組流集合。因此,在接收隧道分組時(shí),為了將封裝的會(huì)話cookie與用戶會(huì)話分組流唯一關(guān)聯(lián),每個(gè)服務(wù)節(jié)點(diǎn)10只需要標(biāo)識(shí)服務(wù)隧道和在隧道分組內(nèi)嵌入的會(huì)話cookie,隧道分組在該服務(wù)隧道上接收。這可以使服務(wù)節(jié)點(diǎn)10能夠基于用戶特定的要求應(yīng)用用戶特定的有狀態(tài)服務(wù),能使所封裝的用戶分組作為具體用戶分組流的部分,無(wú)需首先檢查用戶分組的部分(比如,用戶分組的報(bào)頭或者凈荷)以標(biāo)識(shí)用戶。
[0040]因此,每個(gè)單獨(dú)的服務(wù)節(jié)點(diǎn)10可能利用與具體隧道相關(guān)聯(lián)的隱含的服務(wù)語(yǔ)義,分組在該隧道上接收,并且可能基于會(huì)話cookie容易產(chǎn)生并維護(hù)針對(duì)用戶會(huì)話的本地會(huì)話狀態(tài),無(wú)需重新對(duì)每個(gè)傳入分組分類,也不需對(duì)對(duì)應(yīng)的會(huì)話重新授權(quán)。由服務(wù)節(jié)點(diǎn)10生成并維護(hù)的針對(duì)每個(gè)會(huì)話的該狀態(tài)信息可能包括用于策略執(zhí)行的本地狀態(tài)和網(wǎng)絡(luò)服務(wù)的應(yīng)用,以及本地統(tǒng)計(jì),比如,計(jì)費(fèi)數(shù)據(jù)和計(jì)費(fèi)記錄。簡(jiǎn)單憑借檢測(cè)之前未用的會(huì)話cookie,服務(wù)節(jié)點(diǎn)10可以動(dòng)態(tài)產(chǎn)生與分組流的新集合一起使用的新的本地狀態(tài)。類似地,服務(wù)節(jié)點(diǎn)10可能通過(guò)執(zhí)行本地動(dòng)作,諸如通過(guò)老化用于分組流的狀態(tài)信息或者通過(guò)針對(duì)用戶分組流的具體分組/消息的檢測(cè),或者與SDN控制器19或者網(wǎng)關(guān)8的一些外部互動(dòng),更容易管理用于分組流的本地狀態(tài)。
[0041]在標(biāo)識(shí)分組流的新集合被通過(guò)具體服務(wù)鏈被引導(dǎo)時(shí),網(wǎng)關(guān)8可以動(dòng)態(tài)構(gòu)造會(huì)話cookie.,作為另一個(gè)示例,在向服務(wù)提供商網(wǎng)絡(luò)2認(rèn)證用戶時(shí),網(wǎng)關(guān)8可以從外部設(shè)備(諸如AAA服務(wù)器11)請(qǐng)求和接收會(huì)話cookie。
[0042]在一些實(shí)施方式中,各個(gè)服務(wù)節(jié)點(diǎn)10可以可選地將會(huì)話cookie作為相關(guān)機(jī)制以用于動(dòng)態(tài)存儲(chǔ)用戶特定的信息和/或從服務(wù)提供商網(wǎng)絡(luò)2的其他網(wǎng)元檢索用戶特定的信息。例如,如在圖1中所示,任一服務(wù)節(jié)點(diǎn)10可以發(fā)出查詢17并從其他網(wǎng)元接收響應(yīng)19,諸如AAA服務(wù)器11、策略控制服務(wù)器14和/或SDN控制器19。在這些示例中,服務(wù)節(jié)點(diǎn)10包括查詢17內(nèi)的會(huì)話cookielO作為用于存儲(chǔ)信息以及從其他元素檢索信息的有效機(jī)制,其中會(huì)話cookie允許其他元素將該信息與具體用戶和相關(guān)的用戶會(huì)話容易地相關(guān),無(wú)需各個(gè)服務(wù)節(jié)點(diǎn)處理分組流、標(biāo)識(shí)具體用戶以及向其他網(wǎng)元提供該標(biāo)識(shí)。以這種方式,本文所描述的技術(shù)允許服務(wù)節(jié)點(diǎn)10在網(wǎng)關(guān)8與AM服務(wù)器11之間利用所執(zhí)行的授權(quán),從而允許向服務(wù)節(jié)點(diǎn)10派發(fā)會(huì)話感知服務(wù)執(zhí)行部分,而不需請(qǐng)求服務(wù)節(jié)點(diǎn)在每個(gè)會(huì)話基礎(chǔ)上與用戶控制系統(tǒng)互動(dòng)。
[0043]在一些示例實(shí)現(xiàn)中,服務(wù)節(jié)點(diǎn)10可以向服務(wù)提供商2的一個(gè)或者多個(gè)元素發(fā)出查詢17,服務(wù)提供商的元素作為用戶特定的狀態(tài)信息的中央存儲(chǔ)庫(kù)運(yùn)營(yíng)。也就是說(shuō),在該示例中,服務(wù)節(jié)點(diǎn)10將會(huì)話cookie用作用于存儲(chǔ)和可選地從中央存儲(chǔ)庫(kù)檢索用戶特定的狀態(tài)信息的有效機(jī)制。例如,一個(gè)或者多個(gè)服務(wù)節(jié)點(diǎn)10可以隨著統(tǒng)計(jì)和其他相關(guān)信息向計(jì)費(fèi)和收費(fèi)系統(tǒng),諸如AAA服務(wù)器11,發(fā)出包括會(huì)話cookie的查詢17,從而進(jìn)一步利用會(huì)話cookie。在該實(shí)例中,AAA服務(wù)器11,或者不同的網(wǎng)元,基于有關(guān)服務(wù)節(jié)點(diǎn)提供的會(huì)話cookie隨著數(shù)據(jù),作為集中計(jì)費(fèi)系統(tǒng)和日志系統(tǒng)運(yùn)營(yíng)并且存儲(chǔ)從服務(wù)節(jié)點(diǎn)10接收的數(shù)據(jù)。這可以是有用的,例如,對(duì)于存儲(chǔ)計(jì)費(fèi)信息、日志、和/或針對(duì)用戶設(shè)備16的批量統(tǒng)計(jì),并且在每個(gè)用戶的原始認(rèn)證,使用分配給用戶會(huì)話的會(huì)話cookie可能容易地將所存儲(chǔ)的信息與具體用戶相關(guān)。
[0044]作為另一個(gè)示例,一個(gè)或者多個(gè)服務(wù)節(jié)點(diǎn)10可以發(fā)出查詢以從服務(wù)提供商網(wǎng)絡(luò),諸如SDN控制器19、AAA服務(wù)器11、策略控制服務(wù)器14或者其他用戶控制系統(tǒng),檢索用戶特定的服務(wù)要求。例如,當(dāng)處理分組流時(shí),服務(wù)節(jié)點(diǎn)10可以基于唯一的會(huì)話cookie發(fā)出查詢17以請(qǐng)求用戶特定的服務(wù)要求。由SDN控制器19或者AAA服務(wù)器11返回的用戶特定的服務(wù)要求的示例包括策略、服務(wù)水平協(xié)商參數(shù)、描述將應(yīng)用于具體用戶的服務(wù)的信息,以及類似信息。
[0045]作為具體示例,一個(gè)或者多個(gè)服務(wù)節(jié)點(diǎn)10可以實(shí)現(xiàn)用于用戶設(shè)備10的策略和收費(fèi)控制(PCC)功能。響應(yīng)于由任一服務(wù)節(jié)點(diǎn)10發(fā)出的查詢17,策略控制服務(wù)器14發(fā)出響應(yīng)19而為策略接口請(qǐng)求的服務(wù)節(jié)點(diǎn)提供一個(gè)或者多個(gè)策略規(guī)則,每個(gè)策略規(guī)則指定了信息集,該信息集能夠進(jìn)行服務(wù)數(shù)據(jù)流檢測(cè)以及定義策略控制、計(jì)費(fèi)、或者由接入網(wǎng)6的網(wǎng)元應(yīng)用的應(yīng)用檢測(cè)參數(shù)。策略控制服務(wù)器14可以為用于移動(dòng)(比如,3GPP)用戶設(shè)備或者備選地或者附加地用于寬帶/有線用戶設(shè)備的策略控制及計(jì)費(fèi)規(guī)則功能(PCRF)提供一個(gè)或者多個(gè)服務(wù)節(jié)點(diǎn)10。
[0046]—個(gè)或者多個(gè)用戶節(jié)點(diǎn)10可以,例如,提供用于策略執(zhí)行模塊的操作環(huán)境,策略執(zhí)行模塊根據(jù)策略規(guī)則執(zhí)行基于用戶的策略和收費(fèi)控制。在一些示例中,由服務(wù)節(jié)點(diǎn)10呈現(xiàn)的策略接口可以表示由一個(gè)或者多個(gè)服務(wù)節(jié)點(diǎn)提供的Gx接口 /參考點(diǎn)和/或Sd接口 /參考點(diǎn)。在一些實(shí)例中,由策略控制服務(wù)器14為網(wǎng)關(guān)8提供的策略規(guī)則包括PCC規(guī)則以及在服務(wù)節(jié)點(diǎn)10上執(zhí)行的策略執(zhí)行模塊表示策略與計(jì)費(fèi)執(zhí)行功能(PCEF)。在一些實(shí)例中,策略規(guī)則也可以或者備選地包括應(yīng)用檢測(cè)與控制(ADC)規(guī)則以及由一個(gè)或者多個(gè)服務(wù)節(jié)點(diǎn)實(shí)現(xiàn)的策略執(zhí)行可以表示流量檢測(cè)功能(TDF)。在一些實(shí)例中,服務(wù)節(jié)點(diǎn)10的策略執(zhí)行模塊可以表示用于BPCF框架的策略決策點(diǎn)。在第三代合作伙伴項(xiàng)目技術(shù)規(guī)范組服務(wù)和系統(tǒng)方面2010年9月的“3GPP TS23.203——策略與計(jì)費(fèi)控制結(jié)構(gòu)(發(fā)布10) ”的版本10.1.0中以及在2012年2月的“3GPP TS29.212——策略與計(jì)費(fèi)控制(PCC),參考點(diǎn)(發(fā)布11) ”的版本11.7.0中發(fā)現(xiàn)了關(guān)于策略和計(jì)費(fèi)控制的進(jìn)一步細(xì)節(jié),每一個(gè)都通過(guò)整體引用被并入本文。
[0047]服務(wù)提供商網(wǎng)絡(luò)2內(nèi)的會(huì)話cookie也可以提供用于負(fù)載均衡器的簡(jiǎn)潔機(jī)制以對(duì)經(jīng)過(guò)服務(wù)節(jié)點(diǎn)10的分組流集合進(jìn)行負(fù)載均衡。例如,在對(duì)經(jīng)過(guò)服務(wù)節(jié)點(diǎn)的多個(gè)集合(會(huì)話)進(jìn)行負(fù)載均衡時(shí)負(fù)載均衡器只需要對(duì)嵌入隧道分組內(nèi)的應(yīng)用會(huì)話cookie應(yīng)用散列或者其他確定的操作以確保分組的整個(gè)集合流向相同的服務(wù)節(jié)點(diǎn)。
[0048]一般地,術(shù)語(yǔ)有狀態(tài)網(wǎng)絡(luò)服務(wù)意味著網(wǎng)絡(luò)服務(wù)可以獨(dú)立于針對(duì)分組流的之前的分組的處理,分組流內(nèi)的給定的分組在該網(wǎng)絡(luò)服務(wù)內(nèi)進(jìn)行處理,并且該網(wǎng)絡(luò)服務(wù)可以產(chǎn)生處理分組流的后續(xù)分組所使用的狀態(tài)。在一些情況下,網(wǎng)絡(luò)服務(wù)應(yīng)用可以引起用戶分組,諸如NAT或者應(yīng)用代理服務(wù)的修改,并且會(huì)話cookie的使用允許下行服務(wù)節(jié)點(diǎn)對(duì)于用戶特定的要求仍然有效的解決用戶分組流。網(wǎng)絡(luò)服務(wù)的其他示例可以不必引起用戶分組,諸如計(jì)費(fèi)、收費(fèi)和負(fù)載均衡服務(wù)的修改。嵌入隧道分組內(nèi)的會(huì)話cookie本文可以統(tǒng)稱為在網(wǎng)絡(luò)基礎(chǔ)設(shè)施中對(duì)于網(wǎng)關(guān)8是“不透明的”,該網(wǎng)絡(luò)基礎(chǔ)設(shè)施被耦合到服務(wù)節(jié)點(diǎn)10,隨著任何傳統(tǒng)服務(wù)節(jié)點(diǎn)10,傳統(tǒng)服務(wù)節(jié)點(diǎn)10不支持使用會(huì)話cookie、可以忽略并且一般不受包括網(wǎng)關(guān)8輸出的每個(gè)隧道分組內(nèi)的附加信息的影響。而且,盡管相對(duì)于作為示例的網(wǎng)關(guān)8進(jìn)行描述,但是直接相對(duì)于用于用戶特定的服務(wù)的服務(wù)復(fù)合體9的分組流在本文所描述的技術(shù)可以由其他網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn),諸如任一路由器、開(kāi)關(guān)或者其他組件或者設(shè)備。
[0049]圖2是示出有示例控制器所支持的示例服務(wù)鏈集的框圖。具體地,圖2示出了網(wǎng)關(guān)30所支持的服務(wù)鏈集34A-34E。網(wǎng)關(guān)30可以在一個(gè)示例中表示圖1的網(wǎng)關(guān)8,從而服務(wù)鏈34表示由服務(wù)節(jié)點(diǎn)10所提供的示例服務(wù)鏈集28。
[0050]在一個(gè)示例中,一個(gè)或者多個(gè)用戶分組流36A被沿著第一服務(wù)鏈34A引導(dǎo)以接收網(wǎng)絡(luò)地址翻譯(NAT)服務(wù)38。類似地,一個(gè)或者多個(gè)用戶分組流36B被沿著第二服務(wù)鏈34B引導(dǎo)用于HTTP過(guò)濾器服務(wù)40、NAT服務(wù)42以及用戶IP上的語(yǔ)音的處理和控制的會(huì)話邊界控制器(SBC)服務(wù)43的應(yīng)用。在服務(wù)鏈34C中,分組流36c僅被引導(dǎo)至HTTP過(guò)濾器44。在服務(wù)鏈34D中,分組流36D被引導(dǎo)到HTTP過(guò)濾器46并且后續(xù)被引導(dǎo)到防火墻服務(wù)48。作為另一個(gè)示例,分組流36E被沿著服務(wù)鏈34E引導(dǎo)用于HTTP過(guò)濾器50、NAT52和入侵檢測(cè)與預(yù)防(比如,深度分組檢查)服務(wù)54的應(yīng)用。
[0051]圖3示出了由SDN控制器(比如,SDN控制器19)或者網(wǎng)關(guān)(如,圖1或者圖2的網(wǎng)關(guān)8或網(wǎng)關(guān)30)在指定圖2-圖3的示例服務(wù)鏈34中生成的示例配置數(shù)據(jù)50的邏輯表示。配置數(shù)據(jù)50可以采取表格、數(shù)據(jù)庫(kù)、數(shù)組或者其他數(shù)據(jù)結(jié)構(gòu)的形式,并且輸入其指示以便定義用于每個(gè)服務(wù)鏈的網(wǎng)絡(luò)服務(wù)的有序集可以由基于文本的命令行接口、控制器、網(wǎng)絡(luò)管理系統(tǒng)等提供。
[0052]如圖3中所示,由SDN控制器或者網(wǎng)關(guān)生成的配置數(shù)據(jù)50包括定義圖2的五個(gè)服務(wù)鏈34A-34E的每一個(gè)的條目。此外,數(shù)據(jù)50定義可由服務(wù)節(jié)點(diǎn)使用的服務(wù)52的集,諸如圖1的服務(wù)復(fù)合體9的服務(wù)節(jié)點(diǎn)10。
[0053]對(duì)于每個(gè)服務(wù)節(jié)點(diǎn)34,數(shù)據(jù)50指定將應(yīng)用哪個(gè)服務(wù)52以及按照哪個(gè)順序應(yīng)用。例如,數(shù)據(jù)50定義第一服務(wù)鏈34A作為具有服務(wù)鏈標(biāo)識(shí)“I”并且只請(qǐng)求NAT服務(wù)。作為另一個(gè)示例,數(shù)據(jù)50定義第二服務(wù)鏈34B具有第二服務(wù)鏈標(biāo)識(shí)“2”并且按如下順序請(qǐng)求HTTP過(guò)濾器服務(wù)、NAT服務(wù)以及SBC服務(wù)的應(yīng)用。類似地,數(shù)據(jù)50定義服務(wù)鏈34C-34E的服務(wù)52的有序集。以這種方式,數(shù)據(jù)50內(nèi)的每個(gè)記錄定義將應(yīng)用于對(duì)應(yīng)的服務(wù)鏈的有序服務(wù)。
[0054]基于服務(wù)鏈的規(guī)范,執(zhí)行流量工程協(xié)議的設(shè)備,諸如路由器或者SDN控制器,確定必要流量工程信息,該必要流量工程信息對(duì)于建立用于傳輸在服務(wù)節(jié)點(diǎn)間封裝的用戶分組是必要的。例如,路由器或者SDN控制器可以執(zhí)行路徑計(jì)算并發(fā)出路徑建立消息和/分發(fā)在沿著每一服務(wù)路徑的每一中繼段處使用的標(biāo)簽或者其他報(bào)頭信息。在2013年3月15日提交的標(biāo)題為“具有集中控制的匯聚網(wǎng)絡(luò)”第13/482,453號(hào)美國(guó)專利申請(qǐng)中描述了能夠執(zhí)行路徑計(jì)算并向網(wǎng)元分發(fā)標(biāo)簽的SDN控制器的示例細(xì)節(jié),其全部?jī)?nèi)容通過(guò)引用并入本文。
[0055]圖4示出了由網(wǎng)關(guān)或者其他設(shè)備輸出以沿具體服務(wù)鏈引導(dǎo)用戶分組的示例隧道分組60。在圖4的示例中,具有報(bào)頭68和凈荷70的原始用戶分組69在隧道分組60的凈荷66內(nèi)被封裝。而且,圖在該實(shí)例中所示,隧道分組60包括流量工程(TE)報(bào)頭62,諸如IP報(bào)頭或者與具體服務(wù)路徑相關(guān)聯(lián)的MPLS標(biāo)簽,以及附加會(huì)話COOkie64。
[0056]會(huì)話C00kie64是隧道分組60的域,其存儲(chǔ)在與服務(wù)鏈相關(guān)聯(lián)的幾個(gè)不同分組中唯一標(biāo)識(shí)分組流(比如,用戶數(shù)據(jù)會(huì)話)的值。在一些示例中,會(huì)話COOkie64可以是64比特域。會(huì)話COOkie64指定對(duì)于給定服務(wù)鏈?zhǔn)俏ㄒ坏牟⑶冶桓街總€(gè)分組的值,每個(gè)分組針對(duì)對(duì)應(yīng)于會(huì)話cookie的分組流集合。在圖4的示例中,隧道分組60被形成以便包括嵌入TE報(bào)頭62與凈荷66之間的會(huì)話cookie64。也就是說(shuō),會(huì)話cookie64不是凈荷66的部分,并且服務(wù)節(jié)點(diǎn)不需要檢查包括在凈荷66內(nèi)的用戶分組69來(lái)標(biāo)識(shí)由會(huì)話COOkie64指定的值以便將用戶分組與分組流集合相關(guān)聯(lián)。盡管與TE報(bào)頭62分開(kāi)示出,但會(huì)話COOkie64可以,在一些實(shí)例中,認(rèn)為是前置于隧道分組60的凈荷66的報(bào)頭的一部分。在任何情況下,會(huì)話COOkie64是用戶分組69外部并且服務(wù)節(jié)點(diǎn)不需要檢查用于將用戶分組與源自用戶的分組流相關(guān)聯(lián)的用戶分組。
[0057]如本文所述,由網(wǎng)關(guān)插入的會(huì)話COOkie64的內(nèi)容允許沿著服務(wù)路徑的服務(wù)節(jié)點(diǎn)將用戶分組與針對(duì)用于該服務(wù)路徑的用戶會(huì)話的唯一的對(duì)應(yīng)的分組流相關(guān)聯(lián)。因此,接收隧道分組60時(shí),為了將分組與用戶會(huì)話唯一關(guān)聯(lián),沿著服務(wù)路徑的每個(gè)服務(wù)節(jié)點(diǎn)10只需要標(biāo)識(shí)服務(wù)隧道和嵌入分組內(nèi)的會(huì)話COOkie64,隧道分組60在該服務(wù)隧道上接收。另有說(shuō)明,每個(gè)節(jié)點(diǎn)可以通過(guò)處理來(lái)自相同服務(wù)隧道的隧道分組以及使相同的會(huì)話cookie作為針對(duì)相同分組流承載分組,向獨(dú)立的分組流提供有狀態(tài)服務(wù)。這可以是服務(wù)節(jié)點(diǎn)能夠?qū)⒂脩籼囟ǖ挠袪顟B(tài)服務(wù)應(yīng)用于封裝的用戶分組,作為用于給定用戶的具體用戶分組流的部分,無(wú)需用戶分組本身的第一處理部分(比如,報(bào)頭68或者凈荷70)將用戶分組與給定的用戶會(huì)話相關(guān)聯(lián)。
[0058]圖5是示出了示例性設(shè)備(比如路由器或者網(wǎng)關(guān))的框圖,該設(shè)備能夠?qū)崿F(xiàn)本文所描述的技術(shù)。路由器80可以包括網(wǎng)絡(luò)(諸如SP網(wǎng)絡(luò)2)中的任何路由器。例如,路由器80可包括網(wǎng)關(guān)、邊緣路由器、核心路由器或者在圖1-圖2中示出的引導(dǎo)分組到網(wǎng)絡(luò)服務(wù)應(yīng)用的服務(wù)復(fù)合體的其他設(shè)備。
[0059]在圖5的示例中,路由器包括控制單元82,路由組件86在控制單元82內(nèi)為路由器80提供控制平臺(tái)功能。路由器80可以包括共同提供數(shù)據(jù)平臺(tái)用于轉(zhuǎn)服網(wǎng)絡(luò)流量的多個(gè)分組轉(zhuǎn)發(fā)引擎14A-114N( “PFE114”)和交換結(jié)構(gòu)118。PFE114經(jīng)由接口卡112( “IFC112”)接收和發(fā)送數(shù)據(jù)分組。在其他實(shí)施例中,每個(gè)PFE114可以包括更多或者更少I(mǎi)FC。盡管沒(méi)有示出,但每個(gè)PFE114可以包括中央處理單元(CPU)和存儲(chǔ)器。在該示例中,路由組件86通過(guò)專用內(nèi)部通信鏈路120連接每個(gè)PFE114。例如,專用鏈路34可以包括千兆以太網(wǎng)連接。交換結(jié)構(gòu)118提供高速互聯(lián)用于轉(zhuǎn)發(fā)PFE114之間用于在網(wǎng)絡(luò)上傳輸?shù)膫魅霐?shù)據(jù)分組。標(biāo)題為“具有多路光互聯(lián)的多機(jī)架路由器”美國(guó)專利申請(qǐng)2008/0044181描述了多機(jī)架路由器,多機(jī)架路由器內(nèi)的多階交換結(jié)構(gòu)(諸如3-階Clos交換結(jié)構(gòu))被用作高端轉(zhuǎn)發(fā)平臺(tái)以中繼多機(jī)架路由器的多路由節(jié)點(diǎn)間的分組。美國(guó)專利申請(qǐng)2008/0044181的全部?jī)?nèi)容通過(guò)引用并入本文。
[0060]路由組件86提供用于執(zhí)行各種協(xié)議89的操作環(huán)境,各種協(xié)議89可以包括具有由計(jì)算環(huán)境執(zhí)行的指令的軟件進(jìn)程。如下進(jìn)一步的詳細(xì)描述,協(xié)議89提供控制平臺(tái)功能用于以路由表格或者其他結(jié)構(gòu)的形式存儲(chǔ)網(wǎng)絡(luò)拓?fù)?,?zhí)行與端路由設(shè)備通信以及維護(hù)和更新路由標(biāo)表格路由協(xié)議,提供允許用戶訪問(wèn)的管理接口和路由器80的配置??刂茊卧?2提供操作環(huán)境用于路由組件86并且可以僅在軟件、或者硬件中實(shí)現(xiàn),或者可以作為軟件、硬件或者固件的組合來(lái)實(shí)現(xiàn)。例如,控制單元82可以包括執(zhí)行軟件指令的一個(gè)或者多個(gè)處理器。在該情況下,路由組件86可以包括各種軟件模塊或者守護(hù)進(jìn)程(比如,一個(gè)或者多個(gè)路由協(xié)議進(jìn)程、用戶接口等),并且控制單元82可以包括用于存儲(chǔ)可執(zhí)行指令的計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì),諸如計(jì)算機(jī)存儲(chǔ)器或者硬盤(pán)。
[0061]命令行接口守護(hù)進(jìn)程92 ( “CLI92”)提供接口,管理員或者其他管理實(shí)體可以通過(guò)該接口使用基于文本的命令修改路由器80的配置。簡(jiǎn)單的網(wǎng)絡(luò)管理協(xié)議守護(hù)進(jìn)程99 ( “SNMP99”)包括SNMP代理,SNMP代理從管理實(shí)體接收SNMP命令以設(shè)置和獲取針對(duì)路由80的配置和管理信息。使用CLI92和SNMP99,管理實(shí)體例如可以啟用/關(guān)閉以及配置服務(wù)、安裝路線、啟用/關(guān)閉和配置速率限制器、以及配置接口。
[0062]一個(gè)或者多個(gè)路由協(xié)議(諸如IGP94)以路由信息庫(kù)(RIB) 104的形式維護(hù)路由信息,路由信息庫(kù)(RIB) 104描述網(wǎng)絡(luò)的拓?fù)?、以及根?jù)路由信息提取轉(zhuǎn)發(fā)信息庫(kù)(FIB)信息。一般地,路由信息表示網(wǎng)絡(luò)的總體拓?fù)?。IGP94與內(nèi)核101 (比如,通過(guò)API呼叫)互動(dòng)以基于由路由器80接收的路由協(xié)議消息更新RIB104。RIB104可以包括定義網(wǎng)絡(luò)拓?fù)涞男畔?,包括一個(gè)或者多個(gè)路由表格和/或鏈路狀態(tài)數(shù)據(jù)庫(kù)。典型地,路由信息定義通過(guò)網(wǎng)絡(luò)到目的地/在網(wǎng)絡(luò)內(nèi)的前綴的路線(即一系列下一中繼段),該前綴經(jīng)由距離矢量路由協(xié)議(比如,BGP)學(xué)到,或者定義具有使用鏈路狀態(tài)路由協(xié)議(比如,IS-1S或者OSPF)學(xué)到的互聯(lián)鏈路的網(wǎng)絡(luò)拓?fù)?。相反,F(xiàn)IB106基于對(duì)網(wǎng)絡(luò)內(nèi)的特定路線的選擇而被生成,并且將分組密鑰信息(比如,目的地信息和來(lái)自分組報(bào)頭的其他選擇信息)映射到一個(gè)或者多個(gè)特定的下一中繼段并最終到IFC112的一個(gè)或者多個(gè)特定的輸出接口端口。路由組件86可以以具有葉節(jié)點(diǎn)的基礎(chǔ)樹(shù)的形式生成FIB,葉節(jié)點(diǎn)表示網(wǎng)絡(luò)內(nèi)的目的地。美國(guó)專利7,184,437中提供了利用基礎(chǔ)樹(shù)用于路線決議的路由器的示例實(shí)施例的細(xì)節(jié),該專利的內(nèi)容通過(guò)整體引用并入本文。
[0063]路由組件86也提供了一個(gè)或者多個(gè)流量工程協(xié)議的操作環(huán)境,以建立用于通過(guò)服務(wù)節(jié)點(diǎn)的有序集轉(zhuǎn)發(fā)用戶分組的隧道,服務(wù)節(jié)點(diǎn)與不同的服務(wù)鏈相關(guān)聯(lián)。例如,RSVP-TE96可以執(zhí)行具有流量工程擴(kuò)展的資源預(yù)留協(xié)議以交換流量工程(TE)信息,諸如用于啟用基于標(biāo)簽的分組轉(zhuǎn)發(fā)的MPLS標(biāo)簽。作為另一個(gè)示例,路由組件86可以使用GRE或者基于IP的隧道協(xié)議建立流量工程隧道。路由組件86可以維護(hù),例如,流量工程數(shù)據(jù)庫(kù)(TED) 109以存儲(chǔ)流量工程數(shù)據(jù)。
[0064]路由組件86傳送FIB106的軟件副本的數(shù)據(jù)表示進(jìn)入每個(gè)PFEl 14以控制數(shù)據(jù)平臺(tái)內(nèi)的流量轉(zhuǎn)發(fā)。這允許存儲(chǔ)在每個(gè)PFEl 14的存儲(chǔ)器(比如,RAM)內(nèi)的軟件FIB被更新而沒(méi)有降低路由器80的分組轉(zhuǎn)發(fā)性能。在一些實(shí)例中,路由組件86可以獲得單獨(dú)的以及不同的軟件FIB用于每個(gè)相應(yīng)的PFE114。此外,一個(gè)或者多個(gè)PFE114包括專用集成電路(ASIC116),專用集成電路將具有基于軟件FIB的FIB硬件副本(即,軟件FIB的硬件版本)的PFEl 14程序被拷貝到每個(gè)相應(yīng)的PFEl 14。
[0065]例如,內(nèi)核101在主微處理器102上執(zhí)行并且可以包括,例如,UNIX操作系統(tǒng)的衍生諸如Linux或者伯克利軟件發(fā)布(BSD)。基于RIB104中所表示的網(wǎng)絡(luò)拓?fù)?,?nèi)核101處理來(lái)自IGP94和RSVP-TE96的內(nèi)核呼叫以生成FIB106形式的轉(zhuǎn)發(fā)信息,即,執(zhí)行路線決議和路徑選擇。典型地,內(nèi)核101以基礎(chǔ)或者其他查詢樹(shù)的形式生成FIB106以將分組消息(比如,具有目的地信息和/或標(biāo)簽棧的報(bào)頭信息)映射到下一中繼段并且最終到與形影的PFEl 14相關(guān)聯(lián)的接口卡的接口端口。FIB106可以將,例如網(wǎng)絡(luò)目的地與特定的下一中繼段和對(duì)應(yīng)的IFCl 12關(guān)聯(lián)。對(duì)于涉及MPLS的流量轉(zhuǎn)發(fā),針對(duì)給定的FEC,F(xiàn)IB106存儲(chǔ)包括傳入標(biāo)簽、傳出標(biāo)簽和用于分組的下一中繼段的標(biāo)簽信息。
[0066]執(zhí)行內(nèi)核101的主微處理器102對(duì)PFE114編程以安裝FIB106的副本。微處理器102可以包括一個(gè)或者多個(gè)通用處理器或者專用處理器,諸如數(shù)字信號(hào)處理器(DSP),專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)矩陣(FPGA)、或者任何其他等效的邏輯器件。因此,如本文所用的術(shù)語(yǔ)“處理器”或者“控制器”,可以指一個(gè)或者多個(gè)上述結(jié)構(gòu)或者可操作的執(zhí)行本文所述技術(shù)的任何其他結(jié)構(gòu)。
[0067]在該示例中,ASIC116是由每個(gè)PFE114上執(zhí)行的從微處理器可編程地配置的微碼控制芯片組(即,轉(zhuǎn)發(fā)電路)。當(dāng)轉(zhuǎn)發(fā)分組時(shí),控制邏輯與每個(gè)ASIC116遍歷從路由組件86接收的轉(zhuǎn)發(fā)信息(FIB106)并且,在到達(dá)分組的FIB入口(比如,葉節(jié)點(diǎn))時(shí),微碼實(shí)現(xiàn)控制邏輯56自動(dòng)選擇轉(zhuǎn)發(fā)下一中繼段并根據(jù)在下一中繼段內(nèi)定義的操作處理分組。以這種方式,PFE114的ASIC116通過(guò)在相應(yīng)的內(nèi)部分組轉(zhuǎn)發(fā)路徑上對(duì)每個(gè)分組執(zhí)行一系列操作來(lái)處理分組,如分組遍歷路由器80的內(nèi)部結(jié)構(gòu)。操作可以對(duì)每一分組被執(zhí)行,例如,基于一個(gè)對(duì)應(yīng)的入口接口、入口 PFEl 14、出口接口或者在出口前分組被引向的路由器80的其他組件,諸如一個(gè)或者多個(gè)服務(wù)卡。每個(gè)PFE114包括轉(zhuǎn)發(fā)結(jié)構(gòu),當(dāng)轉(zhuǎn)發(fā)結(jié)構(gòu)被執(zhí)行時(shí),檢查每個(gè)分組的內(nèi)容(或者另一分組特性,比如,傳入接口)并且基于此進(jìn)行例如轉(zhuǎn)發(fā)判決,應(yīng)用濾波器,和/或執(zhí)行計(jì)費(fèi)、管理、流量分組、和負(fù)載均衡。
[0068]在一個(gè)示例中,每個(gè)PFE114布置轉(zhuǎn)發(fā)結(jié)構(gòu)作為下一中繼段數(shù)據(jù),下一中繼段數(shù)據(jù)可以沿用于網(wǎng)絡(luò)設(shè)備的內(nèi)部分組轉(zhuǎn)發(fā)路徑被鏈接在一起成為一系列“中繼段”。在一些實(shí)例中,轉(zhuǎn)發(fā)結(jié)構(gòu)在ASCI116的內(nèi)部存儲(chǔ)器內(nèi)執(zhí)行查詢操作,在內(nèi)部存儲(chǔ)器內(nèi)該查詢可以對(duì)樹(shù)(或線索)搜索,表格(或索引)搜索被執(zhí)行??梢杂孟旅娴闹欣^段進(jìn)行指定的其他示例操作包括濾波器確定和應(yīng)用,或者速率限制器確定和應(yīng)用。查詢操作在查詢數(shù)據(jù)結(jié)構(gòu)內(nèi)(比如,查詢樹(shù))定位與分組內(nèi)容或者分組或分組流的其他特性(諸如分組的輸入接口)匹配的項(xiàng)。根據(jù)由ASIC116內(nèi)的下一中繼段轉(zhuǎn)發(fā)結(jié)構(gòu)定義的操作進(jìn)行分組處理的結(jié)果確定,從一個(gè)IFCl 12上的輸入接口到一個(gè)IFCl 12上的輸出接口,分組轉(zhuǎn)發(fā)或者以其他方式由PFEl 14處理的方式。
[0069]內(nèi)核101 —般可以生成FIB106并且從而對(duì)ASCI116編程以存儲(chǔ)與每個(gè)服務(wù)鏈相關(guān)聯(lián)的轉(zhuǎn)發(fā)結(jié)構(gòu)。例如,ASIC116可以被配置為具有指定流量工程信息(諸如IP報(bào)頭先或者M(jìn)PLS標(biāo)簽)的轉(zhuǎn)發(fā)信息,以及用于引起可編程ASIC116根據(jù)該轉(zhuǎn)發(fā)信息封裝用戶分組的操作。以這種方式,ASIC116可以處理用戶分組以為每個(gè)分組選擇具體的服務(wù)路徑并且根據(jù)選擇的服務(wù)路徑封裝用戶分組。路徑組件86可以生成RIB104和FIB106以基于與每個(gè)用戶相關(guān)聯(lián)的一個(gè)或者多個(gè)服務(wù)簡(jiǎn)檔將用戶分組流與具體的服務(wù)路徑關(guān)聯(lián),如可以從認(rèn)證、授權(quán)和計(jì)費(fèi)(AAA)服務(wù)器、策略控制器、SDN控制器或者其他網(wǎng)元接收。
[0070]根據(jù)本文所述技術(shù),當(dāng)檢測(cè)新分組流并向?qū)?yīng)的服務(wù)鏈分配分組流時(shí),PFEl 14向該流分配一個(gè)值,該值從分配給同一服務(wù)鏈的其他流標(biāo)識(shí)該流,即使那些流源自相同的用戶或者不同的用戶。當(dāng)針對(duì)該流處理分組時(shí),PFEl 14以不透明的會(huì)話cookie的形式在流量工程報(bào)頭和封裝的用戶分組間嵌入附加信息,會(huì)話cookie在封裝的用戶分組承載分配給該流的值,并且每個(gè)會(huì)話cookie對(duì)于用于給定服務(wù)通道的用戶會(huì)話是唯一的。
[0071]例如,在一個(gè)示例性實(shí)施例中,PFE114可以被編程以維護(hù)相應(yīng)的會(huì)話表(“ST”)124A-124N( “會(huì)話表 124”)和多個(gè)計(jì)數(shù)器(“CT”)122A_122N( “計(jì)數(shù)器 122,,),每個(gè)相應(yīng)的計(jì)數(shù)器122對(duì)應(yīng)于不同的服務(wù)鏈。在操作中,ASIC116可以例如執(zhí)行分組檢查和更新具有會(huì)話信息的會(huì)話表124,該會(huì)話信息用于每個(gè)新檢測(cè)的用戶會(huì)話。在向具體服務(wù)隧道分配針對(duì)用戶的分組流的集合時(shí),ASIC116記錄會(huì)話信息和針對(duì)每一會(huì)話的服務(wù)路徑。此外,ASIC116可以在用戶會(huì)話被分配給服務(wù)隧道時(shí)更新計(jì)數(shù)器122,以針對(duì)每一會(huì)話生成會(huì)話cookie值,會(huì)話cookie值在分配給相同服務(wù)隧道的其他流中唯一標(biāo)識(shí)該回話的分組流集合。為了確保PFE114上針對(duì)遍歷相同服務(wù)鏈的分組流的會(huì)話cookies值的唯一性,用于不同PFE114的計(jì)數(shù)器122可以分配給不同的序域,或者計(jì)數(shù)器122和會(huì)話表124可以被同步或者在路由器80內(nèi),比如,通過(guò)路由器組件86集中維護(hù)。在一個(gè)示例中,計(jì)數(shù)器122是64比特計(jì)數(shù)器,該計(jì)數(shù)器因新檢測(cè)的具有分配給給定服務(wù)隧道的分組流的用戶會(huì)話而遞增。因此,插入每個(gè)隧道內(nèi)的會(huì)話cookie值是64比特的值,并且允許下行服務(wù)節(jié)點(diǎn)應(yīng)用有狀態(tài)服務(wù),以及相反通過(guò)處理來(lái)自相同服務(wù)隧道并且具有如與單個(gè)用戶會(huì)話相關(guān)聯(lián)的相同會(huì)話cookie值的隧道分組執(zhí)行本文所述技術(shù)。
[0072]圖5中示出的路由器80的結(jié)構(gòu)僅為示例的目的被示出。本公開(kāi)內(nèi)容不限定于該結(jié)構(gòu)。在其他示例中,路由器80可以以各種方式被配置。在一個(gè)示例中,一些功能性的控制單元82可以在IFC34內(nèi)分發(fā)??刂茊卧?2可以僅在軟件或者硬件中實(shí)現(xiàn),或者可以作為軟件、硬件或者固件的組合來(lái)實(shí)現(xiàn)。例如,控制單元82可以包括一個(gè)或者多個(gè)處理器、可編程處理器、通用處理器、集成電路、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)矩陣(FPGA)、或者能夠?qū)崿F(xiàn)本文所述技術(shù)的任何類型硬件單元??刂茊卧?2可以進(jìn)一步包括執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),諸如隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可編程只讀存儲(chǔ)器(PROM)、可擦寫(xiě)可編程只讀存儲(chǔ)器(EPROM)、電子可擦寫(xiě)可編程只讀存儲(chǔ)器(EEPROM)、非易失性隨機(jī)訪問(wèn)存儲(chǔ)器(NVRAM)、閃存、硬盤(pán)、CD-ROM、軟盤(pán)、磁帶、磁介質(zhì)、光介質(zhì)、或者其他計(jì)算可讀存儲(chǔ)介質(zhì)上的軟件指令的一個(gè)或者多個(gè)處理器。在一些實(shí)例中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括引起可編程處理器執(zhí)行本文所述技術(shù)的指令。
[0073]圖6是示出了網(wǎng)絡(luò)設(shè)備(諸如圖1-圖2、圖5中示出的任何網(wǎng)關(guān))的示例性操作的流程圖。如圖6所示,網(wǎng)關(guān)路由器最初接收定義服務(wù)鏈數(shù)目和對(duì)于每個(gè)服務(wù)鏈(202)的有序服務(wù)的服務(wù)鏈規(guī)范。例如,網(wǎng)關(guān)路由器可以通過(guò)API接收服務(wù)鏈,API提交給SDN控制器并由SDN控制器調(diào)用。作為另一個(gè)示例,網(wǎng)關(guān)路由器可以經(jīng)由CLI或者SNMP接口接收服務(wù)鏈規(guī)范。服務(wù)鏈規(guī)范可以進(jìn)一步針對(duì)每一服務(wù)指定網(wǎng)絡(luò)地址信息(比如,IP地址)或者標(biāo)識(shí)針對(duì)每一服務(wù)節(jié)點(diǎn)的信息,服務(wù)節(jié)點(diǎn)可以是虛擬的或者物理機(jī)器或者其他服務(wù)實(shí)例。
[0074]鑒于由路由器維護(hù)的拓?fù)湫畔ⅲW(wǎng)關(guān)路由器處理服務(wù)鏈規(guī)范以計(jì)算用于針對(duì)每個(gè)服務(wù)鏈(204)的對(duì)應(yīng)的服務(wù)路徑。轉(zhuǎn)發(fā)信息可以包括,例如與封裝用戶分組一起應(yīng)用于不同服務(wù)鏈的隧道報(bào)頭信息。網(wǎng)關(guān)路由器可以向服務(wù)節(jié)點(diǎn)分發(fā)轉(zhuǎn)發(fā)信息以在沿服務(wù)路徑的每一中繼段處控制轉(zhuǎn)發(fā)。作為備選方案,SDN控制器或者其他路徑計(jì)算元素可以計(jì)算并向網(wǎng)關(guān)路由器和服務(wù)節(jié)點(diǎn)分發(fā)針對(duì)服務(wù)路徑的轉(zhuǎn)發(fā)信息。
[0075]網(wǎng)關(guān)路由器對(duì)網(wǎng)關(guān)路由器內(nèi)的分組轉(zhuǎn)發(fā)組件進(jìn)行編程,網(wǎng)關(guān)路由器具有與每一服務(wù)鏈(206)相關(guān)聯(lián)的轉(zhuǎn)發(fā)結(jié)構(gòu)。例如,如上所述,網(wǎng)關(guān)路由器的路由組件可以對(duì)具有轉(zhuǎn)發(fā)信息的轉(zhuǎn)發(fā)ASCI進(jìn)行編程,該轉(zhuǎn)發(fā)信息指定了流量工程信息,諸如IP報(bào)頭信息或者M(jìn)PLS標(biāo)簽,以及用于引起可編程ASIC116根據(jù)該轉(zhuǎn)發(fā)信息封裝用戶分組的操作。
[0076]在操作中,網(wǎng)關(guān)路由器接收用戶分組(207)并確定該分組是否表示新用戶會(huì)話
(208)。這可以采用檢測(cè)會(huì)話請(qǐng)求消息或者新會(huì)話的其他通信指示的方式。作為另一個(gè)示例,網(wǎng)關(guān)路由器可以檢測(cè)來(lái)自現(xiàn)有用戶的具體流正發(fā)起新流集合,諸如新多媒體會(huì)話。該操作的粒度可以是由,例如,SDN控制器可配置的和可控制的。在一些示例中,針對(duì)用戶會(huì)話的流集合可以組成單個(gè)分組流。
[0077]在分組表示新會(huì)話的分組流的事件中,網(wǎng)關(guān)路由器確定唯一標(biāo)識(shí)在將用于新流
(209)的服務(wù)鏈內(nèi)的會(huì)話。例如,路由器可以向AAA服務(wù)器,比如通過(guò)半徑或者直徑協(xié)議認(rèn)證新用戶,并且,在此時(shí),接收服務(wù)簡(jiǎn)檔或者其他信息,該信息定義將用于用戶的服務(wù)或?qū)⒂脩羲谕母鞣N流量映射到一個(gè)或者多個(gè)服務(wù)流。在檢測(cè)新流時(shí),網(wǎng)關(guān)路由器基于服務(wù)簡(jiǎn)檔和流量類型選擇用于流的服務(wù)。例如,基于接收的針對(duì)用戶的服務(wù)簡(jiǎn)檔和/或基于流量類型,比如,HTTP流量或者VoIP流量,網(wǎng)關(guān)路由器選擇用于流的服務(wù)鏈。網(wǎng)關(guān)路由器向分組流分配會(huì)話cookie,會(huì)話cookie具有從分配給相同服務(wù)鏈的其他流唯一標(biāo)識(shí)該流的值,即使那些流源自相同用戶或者不同用戶。
[0078]網(wǎng)關(guān)路由器的轉(zhuǎn)發(fā)組件處理用戶分組以封裝該分組并形成隧道分組(212)。在此時(shí),轉(zhuǎn)發(fā)組件在流量工程報(bào)頭與封裝的用戶分組之間嵌入分組cookie,封裝的用戶分組中會(huì)話cookie承載分配給流的值。然后路由器轉(zhuǎn)發(fā)包括會(huì)話cookie的隧道分組到服務(wù)復(fù)合體。
[0079]在接收隧道分組(214)時(shí),服務(wù)節(jié)點(diǎn)標(biāo)識(shí)接收分組(216)的服務(wù)隧道。例如,鑒于輸入接口,隧道分組在該輸入接口接收,這可以基于分組的隧道報(bào)頭確定。此外,服務(wù)節(jié)點(diǎn)提取嵌入在隧道分組內(nèi),比如,隧道分組的報(bào)頭與凈荷之間或者作為報(bào)頭本身的一部分
(218)的會(huì)話cookie。基于接收分組和由會(huì)話cookie承載值的服務(wù)隧道,服務(wù)節(jié)點(diǎn)能將用戶分組與用戶會(huì)話相關(guān)聯(lián),并且一旦解封裝,根據(jù)具體用戶(222)的服務(wù)項(xiàng)目和要求引導(dǎo)用戶分組到用于有狀態(tài)服務(wù)的應(yīng)用的服務(wù)實(shí)例。以這種方式,服務(wù)節(jié)點(diǎn)能通過(guò)處理來(lái)自相同服務(wù)隧道并且具有相同會(huì)話cookie值,如涉及單個(gè)用戶會(huì)話,的隧道分組,用戶分組封裝在隧道分組內(nèi),將有狀態(tài)服務(wù)應(yīng)用到用戶分組,不要求檢查隧道分組的凈荷(用戶分組)。例如,服務(wù)節(jié)點(diǎn)可以利用會(huì)話cookie作為密鑰(比如,索引或者偏移)以便獲取針對(duì)來(lái)自會(huì)話狀態(tài)信息的本地庫(kù)的分組流集合(即,用戶會(huì)話)的會(huì)話狀態(tài)信息,并根據(jù)會(huì)話狀態(tài)信息將有狀態(tài)服務(wù)應(yīng)用到用戶分組。作為另一個(gè)示例,服務(wù)節(jié)點(diǎn)可以向策略控制器或者其他網(wǎng)元發(fā)出查詢、該查詢包括會(huì)話cookie并可以用于從策略控制器獲取將應(yīng)用于用戶分組的一個(gè)或者多個(gè)會(huì)話特定的規(guī)則。
[0080]在將有狀態(tài)服務(wù)應(yīng)用到用戶分組后,服務(wù)節(jié)點(diǎn)沿服務(wù)鏈轉(zhuǎn)發(fā)任何得到的用戶分組給沿服務(wù)鏈的下一服務(wù)節(jié)點(diǎn)或者給網(wǎng)關(guān)(224)。在一些情況下,將有狀態(tài)服務(wù)應(yīng)用到用戶分組可以導(dǎo)致分組被丟棄(比如,由于防火墻服務(wù))或被修改(比如,諸如NAT)。服務(wù)節(jié)點(diǎn)通過(guò)封裝得到的分組、插入唯一標(biāo)識(shí)該分組流的會(huì)話cookie、形成出站隧道分組并轉(zhuǎn)發(fā)該隧道分組。例如,服務(wù)節(jié)點(diǎn)的網(wǎng)絡(luò)服務(wù)軟件封裝得到的用戶分組以形成出站隧道分組并轉(zhuǎn)發(fā)出站隧道分組給沿服務(wù)鏈的其他服務(wù)節(jié)點(diǎn)。在此時(shí),網(wǎng)絡(luò)服務(wù)軟件在每個(gè)出站隧道分組內(nèi)嵌入來(lái)自相應(yīng)的用戶分組的會(huì)話cookie,不對(duì)該會(huì)話cookie的值進(jìn)行修改。以這種方式,下行服務(wù)節(jié)點(diǎn)能將分組流與對(duì)應(yīng)于cookie的相同用戶會(huì)話相關(guān)聯(lián)。
[0081]盡管總體上通過(guò)示例對(duì)于出站用戶分組進(jìn)行描述,但是本公開(kāi)內(nèi)容的技術(shù)可以類似地應(yīng)用于針對(duì)用戶設(shè)備定義的入站分組。換句話說(shuō),網(wǎng)關(guān)或者其他設(shè)備可以在入站分組向用戶設(shè)備遞送之前類似地引導(dǎo)入站分組通過(guò)服務(wù)鏈(比如,應(yīng)用反向NAT、防火墻及類似服務(wù))。
[0082]圖7示出了為一個(gè)或者多個(gè)服務(wù)節(jié)點(diǎn)303A-303M提供運(yùn)營(yíng)環(huán)境的示例服務(wù)器300的框圖。在該示例中,服務(wù)器300包括在多個(gè)隧道304A-304N( “隧道304”)上接收隧道分組302的網(wǎng)絡(luò)接口 301。每個(gè)隧道304對(duì)應(yīng)多個(gè)服務(wù)鏈之一,每個(gè)服務(wù)鏈包括將被應(yīng)用到與用戶相關(guān)聯(lián)的分組流的一個(gè)或者多個(gè)有狀態(tài)網(wǎng)絡(luò)服務(wù)的不同序集。每個(gè)隧道分組302封裝一個(gè)用戶分組并包括存儲(chǔ)唯一將用戶分組與用于用戶的分組流集合相關(guān)聯(lián)的值的會(huì)話cookie,分組流流過(guò)給定的隨點(diǎn)304之一。
[0083]在圖7的示例中,服務(wù)器300包括執(zhí)行虛擬機(jī)管理程序以為一個(gè)或者多個(gè)虛擬機(jī)316A-316M提供執(zhí)行環(huán)境的微處理器310,虛擬機(jī)316A-316M提供用于隧道304的終止點(diǎn)。每個(gè)虛擬機(jī)執(zhí)行網(wǎng)絡(luò)服務(wù)軟件,諸如防火墻實(shí)例320和HTTP過(guò)濾器實(shí)例322,以將一個(gè)或者多個(gè)有狀態(tài)網(wǎng)絡(luò)服務(wù)應(yīng)用到分組流。在虛擬機(jī)316上執(zhí)行的網(wǎng)絡(luò)服務(wù)軟件基于會(huì)話cookie的值和傳輸隧道分組的隧道能夠容易地將傳輸?shù)拿總€(gè)用戶經(jīng)由隧道分組與對(duì)應(yīng)的用戶分組流相關(guān)聯(lián),沒(méi)有檢查用戶分組。
[0084]本文所述的技術(shù)可以在硬件、軟件、固件或者其任一組合中實(shí)現(xiàn)。描述為模塊、單元或者組件的各種特性可以一起在集成邏輯器件中實(shí)現(xiàn)或者作為離散但是可互操作的邏輯器件獨(dú)立實(shí)現(xiàn)或者其他硬件設(shè)備中實(shí)現(xiàn)。在一些情況下,電子電路系統(tǒng)的各種特性可以作為一個(gè)或者多個(gè)集成電路器件,諸如集成電路芯片或者集成電路芯片組實(shí)現(xiàn)。
[0085]如果在硬件中實(shí)現(xiàn),該公開(kāi)內(nèi)容可以針對(duì)一種裝置,諸如處理器或者集成電路器件,諸如集成電路芯片或者集成電路芯片組。作為備選方案或者附加地,如果在軟件或者固件中實(shí)現(xiàn),該技術(shù)可以至少部分地通過(guò)計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)實(shí)現(xiàn),計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)包括,當(dāng)被執(zhí)行時(shí),引起處理器執(zhí)行上述的一個(gè)或者多個(gè)方法的指令。例如,計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)可以存儲(chǔ)用于處理器執(zhí)行的這種指令。
[0086]計(jì)算機(jī)可讀介質(zhì)可以形成部分可以包括包裝材料的計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)介質(zhì),諸如隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)訪問(wèn)存儲(chǔ)器(NVRAM)、電子可擦寫(xiě)可編程只讀存儲(chǔ)器(EEPROM)、閃存、磁數(shù)據(jù)存儲(chǔ)介質(zhì)或者光數(shù)據(jù)存儲(chǔ)介質(zhì)、以及類似的計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)介質(zhì)。在一些示例中,生產(chǎn)制品可以包括一個(gè)或者多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
[0087]在一些示例中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括非臨時(shí)性介質(zhì)。術(shù)語(yǔ)“非臨時(shí)性”可以指示存儲(chǔ)介質(zhì)不在載波或者傳播信號(hào)中體現(xiàn)。在某些示例中,非臨時(shí)性存儲(chǔ)介質(zhì)可以存儲(chǔ)可能在時(shí)間上變化(比如,在RAM或者緩存中)的數(shù)據(jù)。
[0088]代碼或者指令可以是由包括一個(gè)或者多個(gè)處理器,諸如一個(gè)或者多個(gè)數(shù)字信號(hào)處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)矩陣(FPGA)、或者其他等效的集成或者離散邏輯電路系統(tǒng),的處理電路系統(tǒng)執(zhí)行的軟件和/或固件。因此,術(shù)語(yǔ)“處理器”如在本文中所用,可以指任一前述結(jié)構(gòu)或者適合于本文所述技術(shù)的實(shí)現(xiàn)的任何其他結(jié)構(gòu)。此外,在一些方面,本公開(kāi)內(nèi)容所述的功能可以在軟件模塊或者硬件模塊內(nèi)提供。
[0089]已經(jīng)描述了各種實(shí)施例。這些和其他實(shí)施例在下述示例的范圍內(nèi)。
【權(quán)利要求】
1.一種方法,包括: 通過(guò)服務(wù)提供商網(wǎng)絡(luò)的網(wǎng)絡(luò)設(shè)備接收分組流的用戶分組,所述分組流源自用戶設(shè)備并去往分組數(shù)據(jù)網(wǎng)絡(luò); 通過(guò)在隧道分組的凈荷內(nèi)封裝所述用戶分組以及構(gòu)造用于通過(guò)與服務(wù)鏈相關(guān)聯(lián)的隧道傳輸?shù)乃鏊淼婪纸M的報(bào)頭來(lái)形成所述隧道分組,其中所述服務(wù)鏈包括用于通過(guò)服務(wù)節(jié)點(diǎn)集應(yīng)用于來(lái)自多個(gè)用戶設(shè)備的多個(gè)分組流的一個(gè)或者多個(gè)有狀態(tài)服務(wù)的有序集; 在所述隧道分組內(nèi)嵌入存儲(chǔ)唯一標(biāo)識(shí)源自所述用戶設(shè)備的分組流的集合的值的會(huì)話cookie ;以及 由所述網(wǎng)絡(luò)設(shè)備向所述服務(wù)節(jié)點(diǎn)轉(zhuǎn)發(fā)所述隧道分組。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 用所述網(wǎng)絡(luò)設(shè)備處理所述用戶分組以將所述用戶分組與與所述用戶相關(guān)聯(lián)的服務(wù)簡(jiǎn)檔相關(guān)聯(lián)。 由所述網(wǎng)絡(luò)設(shè)備并且至少部分基于用于所述用戶的所述服務(wù)簡(jiǎn)檔來(lái)從多個(gè)服務(wù)鏈選擇所述服務(wù)鏈,其中所述多個(gè)服務(wù)鏈的每一個(gè)服務(wù)鏈包括用于應(yīng)用于與相應(yīng)的服務(wù)鏈相關(guān)聯(lián)的分組流的一個(gè)或者多個(gè)有狀態(tài)服務(wù)的不同有序集,并且其中每個(gè)所述服務(wù)鏈與多個(gè)隧道中的不同隧道相關(guān)聯(lián);以及 在選擇所述服務(wù)鏈時(shí)分配所述用戶分組給所述服務(wù)鏈。
3.根據(jù)權(quán)利要求1-2中的任一項(xiàng)所述的方法,其中在所述隧道分組中嵌入會(huì)話cookie包括形成所述隧道分組以在所述報(bào)頭與所述隧道分組的所述凈荷之間包括所述會(huì)話cookie。
4.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括: 檢測(cè)所述分組流的所述分組是否包括與新用戶會(huì)話相關(guān)聯(lián)的新分組流的第一分組;以及 響應(yīng)于確定所述分組流的所述分組包括新分組流的第一分組,更新會(huì)話表以記錄與所述服務(wù)鏈相關(guān)聯(lián)的所述新用戶會(huì)話,以及分配所述會(huì)話cookie的所述值以在所述分組流中唯一標(biāo)識(shí)所述新用戶會(huì)話的所述新分組流,所述分組流被記錄在與所述服務(wù)鏈相關(guān)聯(lián)的所述會(huì)話表中。
5.根據(jù)權(quán)利要求4所述的方法,其中分配所述會(huì)話cookie的所述值包括: 在檢測(cè)到所述分組流的所述分組包括所述新分組流的第一分組時(shí)遞增與所述服務(wù)鏈相關(guān)聯(lián)的計(jì)數(shù)器;以及 基于所述計(jì)數(shù)器的更新值來(lái)設(shè)置所述會(huì)話cookie的所述值。
6.根據(jù)權(quán)利要求1-5中的任一項(xiàng)所述的方法,進(jìn)一步包括: 利用一個(gè)所述服務(wù)節(jié)點(diǎn)接收由所述網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)的所述隧道分組; 基于嵌入所述隧道分組和所述隧道內(nèi)的所述會(huì)話cookie的所述值,將封裝在所述隧道分組內(nèi)的所述用戶分組與源自所述用戶的分組流的所述集合相關(guān)聯(lián),所述隧道分組在所述隧道上由所述服務(wù)節(jié)點(diǎn)接收;以及 通過(guò)提取和處理與源自所述用戶的所述分組流的其他用戶分組相關(guān)聯(lián)的所述用戶分組,利用所述服務(wù)節(jié)點(diǎn)向封裝在所述隧道分組內(nèi)的所述用戶分組應(yīng)用一個(gè)或者多個(gè)所述有狀態(tài)服務(wù)。
7.根據(jù)權(quán)利要求6所述的方法,其中將封裝在所述隧道分組內(nèi)的所述用戶分組與源自所述用戶的所述分組流關(guān)聯(lián)包括基于所述會(huì)話cookie的所述值和所述隧道將所述用戶分組與所述分組流關(guān)聯(lián),所述隧道分組在所述隧道上被接收而不檢查所述用戶分組。
8.根據(jù)權(quán)利要求6-7中的任一項(xiàng)所述的方法,其中利用所述服務(wù)節(jié)點(diǎn)向封裝在所述隧道分組內(nèi)的所述用戶分組應(yīng)用一個(gè)或者多個(gè)所述有狀態(tài)服務(wù)包括: 使用所述會(huì)話cookie作為密鑰以從會(huì)話狀態(tài)信息的本地資料庫(kù)恢復(fù)針對(duì)分組流的所述集合的會(huì)話狀態(tài)信息;以及 根據(jù)所述會(huì)話狀態(tài)信息將所述有狀態(tài)服務(wù)應(yīng)用到所述用戶分組。
9.根據(jù)權(quán)利要求6-8中的任一項(xiàng)所述的方法,其中利用所述服務(wù)節(jié)點(diǎn)向封裝在所述隧道分組內(nèi)的所述用戶分組應(yīng)用一個(gè)或者多個(gè)所述有狀態(tài)服務(wù)包括: 從所述服務(wù)節(jié)點(diǎn)向策略控制器發(fā)出查詢,其中所述查詢包括所述會(huì)話cookie ; 從所述策略控制器接收對(duì)所述查詢的響應(yīng),其中所述響應(yīng)包括一個(gè)或者多個(gè)會(huì)話特定的策略;以及 將所述一個(gè)或者多個(gè)用戶特定的策略應(yīng)用到所述用戶分組。
10.根據(jù)權(quán)利要求6-9中的任一項(xiàng)所述的方法,其中利用所述服務(wù)節(jié)點(diǎn)向封裝在所述隧道分組內(nèi)的所述用戶分組應(yīng)用一個(gè)或者多個(gè)所述有狀態(tài)服務(wù)包括從所述服務(wù)節(jié)點(diǎn)向計(jì)費(fèi)系統(tǒng)發(fā)出查詢以輸出與用戶會(huì)話相關(guān)聯(lián)的統(tǒng)計(jì),其中所述查詢包括所述會(huì)話cookie和與用戶會(huì)話相關(guān)聯(lián)的所述統(tǒng)計(jì)。
11.根據(jù)權(quán)利要求ι-?ο中的任一項(xiàng)所述的方法,進(jìn)一步包括: 封裝任何從所述有狀態(tài)服務(wù)的應(yīng)用得到的用戶分組以形成出站隧道分組; 在所述出站隧道分組中嵌入來(lái)自所述用戶分組的所述會(huì)話cookie,而不對(duì)所述會(huì)話cookie的值進(jìn)行修改;以及 沿著所述服務(wù)鏈轉(zhuǎn)發(fā)所述出站隧道分組到第二服務(wù)節(jié)點(diǎn)。
12.根據(jù)權(quán)利要求6-11中的任一項(xiàng)所述的方法,其中利用所述服務(wù)節(jié)點(diǎn)向所述用戶分組應(yīng)用一個(gè)或者多個(gè)所述有狀態(tài)服務(wù)包括應(yīng)用以下項(xiàng)中的至少一項(xiàng):超文本傳輸協(xié)議(HTTP)過(guò)濾服務(wù)、代理服務(wù)、防火墻服務(wù)、網(wǎng)絡(luò)地址翻譯(NAT)服務(wù)、深度分組入侵檢測(cè)與防御(IDP)服務(wù)、IP上的語(yǔ)音(VoIP)服務(wù)、IP上的視頻服務(wù)以及負(fù)載均衡服務(wù)。
13.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括由所述網(wǎng)絡(luò)設(shè)備從軟件定義網(wǎng)絡(luò)(SDN)控制器接收配置數(shù)據(jù),所述配置數(shù)據(jù)指定所述服務(wù)鏈以及定義用于應(yīng)用于與所述服務(wù)鏈相關(guān)聯(lián)的分組流的所述一個(gè)或者多個(gè)有狀態(tài)服務(wù)的所述有序集。
14.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 利用所述網(wǎng)絡(luò)設(shè)備并且通過(guò)與認(rèn)證設(shè)備通信來(lái)認(rèn)證所述用戶設(shè)備;以及 在認(rèn)證所述用戶設(shè)備時(shí)從所述認(rèn)證設(shè)備接收所述會(huì)話cookie。
15.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括:利用位于所述網(wǎng)絡(luò)設(shè)備和一個(gè)所述服務(wù)節(jié)點(diǎn)之間的負(fù)載均衡網(wǎng)絡(luò)元素,通過(guò)散列所述隧道分組內(nèi)的所述會(huì)話cookie,以確定性地在提供相同有狀態(tài)服務(wù)的實(shí)例的兩個(gè)或者更多所述服務(wù)節(jié)點(diǎn)間分派所述分組流而將負(fù)載均衡操作應(yīng)用到所述隧道分組。
16.—種設(shè)備,包括: 多個(gè)網(wǎng)絡(luò)接口; 包括處理器的控制單元,所述處理器執(zhí)行流量工程協(xié)議以針對(duì)服務(wù)鏈建立隧道,其中所述服務(wù)鏈包括用于通過(guò)服務(wù)節(jié)點(diǎn)集應(yīng)用于與所述服務(wù)鏈相關(guān)聯(lián)的分組流的一個(gè)或者多個(gè)有狀態(tài)服務(wù)的有序集; 用與所述隧道相關(guān)聯(lián)的轉(zhuǎn)發(fā)信息編程的轉(zhuǎn)發(fā)電路,用于沿著所述隧道轉(zhuǎn)發(fā)所述分組流, 其中所述轉(zhuǎn)發(fā)電路接收源自用戶設(shè)備的分組流的用戶分組,并根據(jù)所述轉(zhuǎn)發(fā)信息通過(guò)在隧道分組的凈荷內(nèi)封裝所述用戶分組以及構(gòu)造所述隧道分組的報(bào)頭來(lái)形成所述隧道分組,其中,當(dāng)形成所述隧道分組時(shí),所述轉(zhuǎn)發(fā)電路在所述隧道分組內(nèi)嵌入會(huì)話cookie,所述會(huì)話cookie存儲(chǔ)將所述分組流與源自相同用戶的分組流的集合唯一相關(guān)聯(lián)并且從其他分組流中區(qū)分所述分組流的值,所述其他分組流與源自其他用戶的所述服務(wù)鏈相關(guān)聯(lián),以及其中所述轉(zhuǎn)發(fā)電路輸出所述隧道分組到一個(gè)所述網(wǎng)絡(luò)接口以用于向所述服務(wù)節(jié)點(diǎn)轉(zhuǎn)發(fā)。
17.根據(jù)權(quán)利要求16所述的設(shè)備,其中所述設(shè)備執(zhí)行權(quán)利要求1-15中的任一項(xiàng)所述的方法。
18.一種服務(wù)節(jié)點(diǎn),包括: 接收多個(gè)隧道上的隧道分組的網(wǎng)絡(luò)接口,其中每個(gè)所述隧道對(duì)應(yīng)多個(gè)服務(wù)鏈中的相應(yīng)的服務(wù)鏈,每個(gè)所述服務(wù)鏈包括與用戶相關(guān)聯(lián)的分組流的一個(gè)或者多個(gè)有狀態(tài)服務(wù)的不同有序集,并且每個(gè)所述隧道分組封裝用戶分組并且包括會(huì)話cookie,所述會(huì)話cookie存儲(chǔ)將所述用戶分組與源自相同用戶的分組流的集合唯一相關(guān)聯(lián)的值;以及 基于硬件的處理器,執(zhí)行網(wǎng)絡(luò)服務(wù)軟件以將一個(gè)或者多個(gè)所述有狀態(tài)網(wǎng)絡(luò)服務(wù)應(yīng)用到所述分組流, 其中所述網(wǎng)絡(luò)服務(wù)軟件基于所述會(huì)話cookie的所述值和所述隧道將每個(gè)所述用戶分組與對(duì)應(yīng)的所述分組流相關(guān)聯(lián),所述隧道分組在所述隧道上被接收,而不對(duì)所述用戶分組進(jìn)行檢查, 其中所述網(wǎng)絡(luò)服務(wù)軟件將所述有狀態(tài)服務(wù)應(yīng)用到所述用戶分組以產(chǎn)生最終的用戶分組, 其中所述網(wǎng)絡(luò)服務(wù)軟件封裝所述最終的用戶分組以形成出站隧道分組并將所述出站隧道分組沿著所述服務(wù)鏈轉(zhuǎn)發(fā)給其他服務(wù)節(jié)點(diǎn),以及 其中,當(dāng)處理所述用戶分組和封裝所述最終的用戶分組以形成所述出站隧道分組時(shí),所述網(wǎng)絡(luò)服務(wù)軟件在每個(gè)所述出站隧道分組中嵌入來(lái)自相應(yīng)的所述用戶分組的所述會(huì)話cookie,而不對(duì)所述會(huì)話cookie的值進(jìn)行修改。
【文檔編號(hào)】H04L29/06GK104519121SQ201410522688
【公開(kāi)日】2015年4月15日 申請(qǐng)日期:2014年9月30日 優(yōu)先權(quán)日:2013年9月30日
【發(fā)明者】J·P·莫瓦桑, J·W·弗朗西斯 申請(qǐng)人:瞻博網(wǎng)絡(luò)公司