本專利申請是于2011年8月29日提交的申請No.13/220,471的部分繼續(xù)申請。
技術(shù)領(lǐng)域:
:本發(fā)明的實施例涉及用于實現(xiàn)云計算機(jī)系統(tǒng)中的第三代分組核心的控制平面的方法和系統(tǒng)。具體地,本發(fā)明的實施例涉及將開放流(OpenFlow)協(xié)議用于通過在云計算機(jī)系統(tǒng)中執(zhí)行控制平面來實現(xiàn)對數(shù)據(jù)平面的控制。
背景技術(shù):
::通用分組無線電系統(tǒng)(GPRS)是用于在諸如蜂窩電話之類的用戶設(shè)備與互聯(lián)網(wǎng)之間發(fā)送網(wǎng)際協(xié)議分組的系統(tǒng)。GPRS系統(tǒng)包括作為全球移動通信系統(tǒng)(GSM)的組成部分的GPRS核心網(wǎng)。這些系統(tǒng)被蜂窩電話網(wǎng)絡(luò)提供商廣泛用于實現(xiàn)較大面積上的蜂窩電話服務(wù)。GPRS隧道傳輸協(xié)議(GTP)是在GPRS核心網(wǎng)中使用的重要通信協(xié)議。GTP使得GSM網(wǎng)絡(luò)中的端用戶設(shè)備(例如,蜂窩電話)能夠在持續(xù)連接到互聯(lián)網(wǎng)的同時隨處移動。端用戶設(shè)備通過網(wǎng)關(guān)GPRS支持節(jié)點(GGSN)連接到互聯(lián)網(wǎng)。GGSN跟蹤來自端用戶設(shè)備的服務(wù)GPRS支持節(jié)點(SGSN)的端用戶設(shè)備數(shù)據(jù),該服務(wù)GPRS支持節(jié)點(SGSN)處理源自于該端用戶設(shè)備的會話。GPRS核心網(wǎng)使用三種形式的GTP。GTP-U用于針對每個分組數(shù)據(jù)協(xié)議(PDP)上下文在單獨隧道中傳輸用戶數(shù)據(jù)。GTP-C在GPRS核心網(wǎng)中用于GGSN和SGSN之間的信令。GTP’用于從GSM或UMTS網(wǎng)絡(luò)的收費數(shù)據(jù)功能(CDF)向收費網(wǎng)關(guān)功能(CGF)輸送收費數(shù)據(jù),該收費網(wǎng)關(guān)功能(CGF)向計費系統(tǒng)提供了必需的端用戶設(shè)備使用信息。GTP’使用與GTP-C和GTP-U相同的消息結(jié)構(gòu)。技術(shù)實現(xiàn)要素:云計算系統(tǒng)中的控制平面設(shè)備執(zhí)行用于實現(xiàn)網(wǎng)絡(luò)功能虛擬化(NFV)的多個虛擬機(jī)。該控制平面設(shè)備可操作為管理具有分割架構(gòu)的第三代(3G)網(wǎng)絡(luò)的分組核心(PC)中的通用分組無線電服務(wù)(GPRS)隧道協(xié)議(GTP)的實現(xiàn),其中,該3G網(wǎng)絡(luò)的PC的控制平面在該云計算系統(tǒng)中??刂破矫嫱ㄟ^控制平面協(xié)議與PC的數(shù)據(jù)平面通信。數(shù)據(jù)平面實現(xiàn)在該3G網(wǎng)絡(luò)的多個網(wǎng)絡(luò)設(shè)備中??刂破矫嬖O(shè)備和多個虛擬機(jī)可操作為與云計算系統(tǒng)中的其他控制平面設(shè)備通信,以及與數(shù)據(jù)平面的多個網(wǎng)絡(luò)設(shè)備通信。該控制平面設(shè)備包括:存儲介質(zhì),用于存儲包括用于實現(xiàn)PC的控制平面的控制平面模塊在內(nèi)的集中式控制平面軟件;以及處理器,通信耦合到該存儲介質(zhì)。處理器可操作為執(zhí)行多個虛擬機(jī),其中,多個虛擬機(jī)中的至少一個虛擬機(jī)可操作為執(zhí)行包括至少一個控制平面模塊在內(nèi)的集中式控制平面(CCP)軟件。每個控制平面模塊提供用于管理數(shù)據(jù)平面的控制平面功能的集合。CCP軟件可操作為接收用于在3G網(wǎng)絡(luò)的PC中在服務(wù)GPRS支持節(jié)點(SGSN)和網(wǎng)關(guān)GPRS支持節(jié)點(GGSN)之間創(chuàng)建針對訂戶會話的GTP隧道的請求。CCP軟件可操作為經(jīng)由控制平面協(xié)議來配置實現(xiàn)SGSN的數(shù)據(jù)平面的交換機(jī),以封裝和解封訂戶會話的分組以及建立第一GTP隧道端點。CCP軟件可操作為經(jīng)由控制平面協(xié)議來配置GTP隧道的路由中的至少一個交換機(jī),以根據(jù)GTP隧道來轉(zhuǎn)發(fā)訂戶會話的分組,以及CCP軟件可操作為經(jīng)由控制平面協(xié)議來配置實現(xiàn)GGSN的數(shù)據(jù)平面的交換機(jī),以封裝和解封訂戶會話的分組并建立第二GTP隧道端點。附圖說明作為示例而非限制,在附圖的各圖中示出了本發(fā)明,其中相似的附圖標(biāo)記指示相似的元素。應(yīng)當(dāng)注意到:在本公開中針對“實施例”或“一個實施例”的不同引用不一定指的是相同實施例,且這種引用意味著至少一個實施例。此外,當(dāng)結(jié)合實施例來描述特定特征、結(jié)構(gòu)、或特性時,應(yīng)認(rèn)為:結(jié)合其他實施例(不管是否是顯式描述)來實現(xiàn)這種特征、結(jié)構(gòu)、或特性是在本領(lǐng)域技術(shù)人員的知識內(nèi)的。圖1是具有開放流(OpenFlow)交換機(jī)的示例網(wǎng)絡(luò)的一個實施例的圖。圖2是示出了流表條目的內(nèi)容的一個實施例的圖。圖3示出了實現(xiàn)開放流的另一示例架構(gòu)。圖4示出了通過開放流交換機(jī)分組處理流水線對分組的處理的一個實施例。圖5是開放流規(guī)則匹配過程的一個實施例的流程圖。圖6是匹配過程可以用來識別要對分組應(yīng)用的規(guī)則的字段的圖。圖7A和7B是用于開放流報頭處理的過程的一個實施例的流程圖。圖8是第三代(3G)分組核心(PC)的一個實施例的圖。圖9是主GTP-U封裝報頭中的報頭字段的一個實施例的圖。圖10是為客戶集合提供服務(wù)的云計算系統(tǒng)的一個實施例的圖。圖11是示出了向客戶端的VPC添加新的服務(wù)實例的過程的云計算系統(tǒng)的另一實施例的圖。圖12是云計算系統(tǒng)中實現(xiàn)的3GPC的一個實施例的圖。圖13是用于3GPC網(wǎng)絡(luò)的基本操作的過程的一個實施例的流程圖。圖14是云計算系統(tǒng)中的3GPC如何使得管理服務(wù)公司能夠管理單一數(shù)據(jù)中心之外的多個運營商網(wǎng)絡(luò)的一個實施例的圖。圖15是用于特殊化服務(wù)處理的3GPC對等(peering)和差異路由的過程的一個實施例的圖。圖16是用于GTPTEID路由的開放流流表修改的一個實施例的圖。圖17是流表行的結(jié)構(gòu)的圖。圖18A~C是3GPC中的會話創(chuàng)建、修改和刪除的流程圖。圖19是用于創(chuàng)建會話請求過程的開放流消息流的一個實施例的圖。圖20是用于修改會話請求過程的開放流消息序列的一個實施例的圖。圖21是用于刪除會話請求過程的開放流消息序列的一個實施例的圖。圖22A示出了根據(jù)本發(fā)明一些實施例的示例網(wǎng)絡(luò)內(nèi)的網(wǎng)絡(luò)設(shè)備(ND)之間的連接性以及ND的三種示例實現(xiàn)。圖22B示出了根據(jù)本發(fā)明一些實施例的用于實現(xiàn)專用網(wǎng)絡(luò)設(shè)備602的示例方式。圖22C示出了根據(jù)本發(fā)明一些實施例的可以耦合虛擬網(wǎng)元(VNE)的各種示例方式。圖22D示出了根據(jù)本發(fā)明一些實施例的在圖22A的每個ND上具有單一網(wǎng)元(NE)的網(wǎng)絡(luò),且在該直觀方案中,對比了(傳統(tǒng)路由器常用的)傳統(tǒng)分布式方案與用于維護(hù)可達(dá)性和轉(zhuǎn)發(fā)信息(也被稱為網(wǎng)絡(luò)控制)的集中式方案。圖22E示出了根據(jù)本發(fā)明一些實施例的以下簡單情況:ND2200A~H中的每一個實現(xiàn)單一NE2270A~H(參見圖22D),而集中式控制平面2276將不同ND中的多個NE(NE2270A~C和G~H)抽象為(以表示)圖22D的虛擬網(wǎng)絡(luò)2292之一中的單一NE2270I。圖22F示出了根據(jù)本發(fā)明一些實施例的以下情況:在不同ND(ND2200A和ND2200H)上實現(xiàn)多個VNE(VNE2270A.1和VNE2270H.1)并且多個VNE彼此耦合,以及集中式控制平面2276將這些多個VNE加以抽象,使得他們表現(xiàn)為圖22D的虛擬網(wǎng)絡(luò)2292之一中的單一VNE670T。圖23示出了根據(jù)本發(fā)明一些實施例的包括硬件2340在內(nèi)的通用控制平面設(shè)備2304,該硬件2340包括一個或多個處理器2342(其經(jīng)常是商業(yè)現(xiàn)貨供應(yīng)(COTS)處理器)和網(wǎng)絡(luò)接口控制器2344(NIC,也被稱為網(wǎng)絡(luò)接口卡)(其包括物理NI2346)的集合以及其中存儲有集中式控制平面(CCP)軟件2350的非瞬時機(jī)器可讀存儲介質(zhì)748。具體實施方式以下描述描述了用于計算*的方法和裝置。在以下描述中,闡述了大量的具體細(xì)節(jié),例如邏輯實現(xiàn)、操作碼(opeode)、用于指定運算數(shù)的手段、資源分區(qū)/共享/復(fù)制實現(xiàn)、系統(tǒng)組件的類型和相互關(guān)系、以及邏輯分區(qū)/整合選擇,以提供對本發(fā)明的更全面的理解。然而,本領(lǐng)域技術(shù)人員將意識到:本發(fā)明可以在沒有這些具體細(xì)節(jié)的情況下實施。在其它實例中,并未詳細(xì)示出控制結(jié)構(gòu)、門級別電路和全軟件指令序列,以不使本發(fā)明模糊。在使用所包括的描述的情況下,本領(lǐng)域普通技術(shù)人員將能夠在不進(jìn)行過度試驗的情況下實現(xiàn)恰當(dāng)?shù)墓δ?。說明書中對“一個實施例”、“實施例”、“示例實施例”的引用指示了所描述的實施例可以包括特定特征、結(jié)構(gòu)、或特性,但是每個實施例可以不必包括該特定特征、結(jié)構(gòu)、或特性。此外,這種短語不必指代相同實施例。此外,當(dāng)結(jié)合實施例來描述特定特征、結(jié)構(gòu)、或特性時,應(yīng)認(rèn)為結(jié)合其他實施例(不管是否是顯式描述的)來實現(xiàn)這種特征、結(jié)構(gòu)、或特性是在本領(lǐng)域技術(shù)人員的知識內(nèi)的。在本文中,括號中的文本和具有虛線邊界(例如,長劃點虛線、短劃線虛線、點虛線、以及點)的框可以用于示出向本發(fā)明實施例添加附加特征的可選操作。然而,這種標(biāo)注不應(yīng)當(dāng)被視為意味著:在本發(fā)明的某些實施例中,他們是僅有的選項或可選操作,和/或具有實線邊界的框不是可選的。在以下描述和權(quán)利要求中,可以使用術(shù)語“耦合”和“連接”以及它們的派生詞。應(yīng)當(dāng)理解:這些術(shù)語不意在作為彼此的同義詞?!榜詈稀庇糜谥甘緝蓚€或更多個元素可以或可以不彼此直接物理或電學(xué)接觸、彼此協(xié)作或交互。“連接”用于指示在彼此耦合的兩個或更多個元素之間建立通信。電子設(shè)備使用機(jī)器可讀介質(zhì)(也被稱為計算機(jī)可讀介質(zhì))來(內(nèi)部和/或通過網(wǎng)絡(luò)使用其他電子設(shè)備)存儲和傳輸代碼(其由軟件指令構(gòu)成,且有時被稱為計算機(jī)程序代碼或計算機(jī)程序)和/或數(shù)據(jù),機(jī)器可讀介質(zhì)是例如機(jī)器可讀存儲介質(zhì)(例如,磁盤、光盤、只讀存儲器(ROM)、閃存設(shè)備、相變存儲器)和機(jī)器可讀傳輸介質(zhì)(也被稱為載體)(例如,電、光、無線電、聲或其他形式的傳播信號-例如載波、紅外信號)。從而,電子設(shè)備(例如,計算機(jī))包括硬件和軟件,例如一個或多個處理器的集合,其耦合到用于存儲在該處理器集合上執(zhí)行的代碼和/或用于存儲數(shù)據(jù)的一個或多個及其可讀存儲介質(zhì)。例如,電子設(shè)備可以包括包含代碼在內(nèi)的非易失性存儲器,因為即使在電子設(shè)備關(guān)閉(當(dāng)?shù)綦姇r)時非易失性存儲器也可以保持代碼/數(shù)據(jù),以及在打開電子設(shè)備時,通常將要由該電子設(shè)備的處理器執(zhí)行的該部分代碼從較慢的非易失性存儲器中拷貝到該電子設(shè)備的易失性存儲器(例如,動態(tài)隨機(jī)存取存儲器(DRAM)、靜態(tài)隨機(jī)存取存儲器(SRAM))中。通常的電子設(shè)備還包括用于與其他電子設(shè)備建立網(wǎng)絡(luò)連接(以使用傳播信號來發(fā)送和/或接收代碼和/或數(shù)據(jù))的一個或多個物理網(wǎng)絡(luò)接口的集合。本發(fā)明實施例的一個或多個部分可以使用軟件、固件、和/或硬件的不同組合來實現(xiàn)。將參照其他附圖的示例實施例來描述流程圖中的操作。然而,應(yīng)當(dāng)理解:流程圖中的操作可以由本發(fā)明中除了參照其他附圖描述的那些實施例之外的實施例來執(zhí)行,且本發(fā)明的參照這些其他附圖討論的實施例可以執(zhí)行與參照流程圖來討論的那些實施例不同的操作。本發(fā)明的實施例提供了用于避免現(xiàn)有技術(shù)的缺點的方法和系統(tǒng)?,F(xiàn)有技術(shù)的缺點是:3G分組核心的現(xiàn)有實現(xiàn)使用了專用于特定網(wǎng)絡(luò)實體的服務(wù)器池,例如,專用于提供SGSN的服務(wù)器池。當(dāng)附加信令需求要求額外的容量時,則在服務(wù)器池中實例化新的SGSN實例。然而,當(dāng)對歸屬訂戶服務(wù)器(HSS)的服務(wù)需求高時,專用于HSS服務(wù)器的服務(wù)器池將被繁重地使用,但是用于SGSN的服務(wù)器池未被充分使用。這些未被充分使用的服務(wù)器池持續(xù)要求維護(hù)并導(dǎo)致運營之處,但是并未向網(wǎng)絡(luò)運營商提供最優(yōu)性能。在一些情形中,管理服務(wù)公司構(gòu)建并運行移動運營商網(wǎng)絡(luò),而移動運營商自身處理市場營銷、計費、和客戶關(guān)系。將每個移動運營商網(wǎng)絡(luò)的信令和會數(shù)據(jù)業(yè)務(wù)保持私有且與其競爭者的業(yè)務(wù)相隔離,即使它們的網(wǎng)絡(luò)和它們競爭者的網(wǎng)絡(luò)可能由相同的管理服務(wù)公司來管理也是如此。管理服務(wù)公司必須針對其支持的每個移動運營商來維護(hù)完全分離的服務(wù)器池和物理信令網(wǎng)絡(luò)。因此,存在大量資源重復(fù)和未充分使用的服務(wù)器容量。由于附加設(shè)備、電源以及冷卻要求,這增加了管理服務(wù)公司和移動運營商網(wǎng)絡(luò)的運營支出。如當(dāng)前定義的3G分組核心架構(gòu)允許移動運營商的固定核心/互聯(lián)網(wǎng)和移動聚集網(wǎng)絡(luò)之間的僅一個呈現(xiàn)點(PoP),即存在單一網(wǎng)關(guān)GPRS支持節(jié)點(GGSN)。移動網(wǎng)絡(luò)運營商不能在聚集網(wǎng)絡(luò)內(nèi)的相鄰運營商之間設(shè)立多個對等點(peeringpoint)和PoP。這將減少流入移動運營商的核心網(wǎng)中的業(yè)務(wù)量,由此減少對昂貴和耗時的核心網(wǎng)升級的需求。此外,只要觀察到服務(wù)級別協(xié)定(SLA),對等點對于運營商通常是沒有成本的。然而,由于需要將它們的PoP與核心/互聯(lián)網(wǎng)錨定在單一移動網(wǎng)關(guān)處,因此該部署靈活性對于移動運營商不可用。3GPC架構(gòu)還包含對于用戶流的特殊處理(treatment)的很少的靈活性。盡管該架構(gòu)確實提供了對建立服務(wù)質(zhì)量(QoS)的支持,但是其他類型的數(shù)據(jù)管理不可用。例如,涉及中間盒(middlebox)的服務(wù)(例如,可能用于轉(zhuǎn)碼或增強現(xiàn)實應(yīng)用的特殊深度分組探查或與本地數(shù)據(jù)高速緩存和處理資源的交互)難以使用當(dāng)前的3GPC架構(gòu)來支持。幾乎所有這種應(yīng)用都要求分組流通過GGSN來推出,由此從GTP中被解除隧道傳輸,并且在有線網(wǎng)絡(luò)中被處理。使用開放流交換機(jī)的集合在云計算設(shè)施中實現(xiàn)3GPC的控制平面和3GPC的數(shù)據(jù)平面以及使用開放流協(xié)議(例如,開放流1.1)來管理控制平面和數(shù)據(jù)平面之間的通信產(chǎn)生了以下問題:開放流協(xié)議不支持對于實現(xiàn)3GPC的數(shù)據(jù)平面來說必要的GTP或GTP隧道端點標(biāo)識符(TEID)路由。本發(fā)明的實施例克服了現(xiàn)有技術(shù)的這些缺點?,F(xiàn)有技術(shù)的缺點是通過將3GPC架構(gòu)的控制平面和數(shù)據(jù)平面加以分割來避免的,并且通過在云計算設(shè)施中部署3GPC控制平面實體來實現(xiàn)控制平面,同時由分布式開放流交換機(jī)集合來實現(xiàn)數(shù)據(jù)平面。在使用支持GTP路由的增強的情況下,將開放流協(xié)議用于連接這二者。盡管3GPC架構(gòu)已經(jīng)具有在控制平面和數(shù)據(jù)平面之間的分割,在SSGN和GGSN是主要數(shù)據(jù)平面實體而歸屬位置寄存器(HLR)、歸屬訂戶服務(wù)器(HSS)和認(rèn)證中心(AUC)是主要控制平面實體的意義下,該分割在移動性管理協(xié)議(GTP)的級別上進(jìn)行。標(biāo)準(zhǔn)3GPC架構(gòu)假定將標(biāo)準(zhǔn)路由IP網(wǎng)絡(luò)用于傳輸,其上實現(xiàn)了移動網(wǎng)絡(luò)實體和協(xié)議。本文描述的增強3GPC架構(gòu)代之以處于IP路由和媒體訪問控制(MAC)交換的級別上。取代使用L2路由和L3內(nèi)部網(wǎng)關(guān)協(xié)議來分布IP路由和管理以太網(wǎng)和IP路由作為分布式控制實體的聚集,將L2和L3路由管理在云設(shè)施內(nèi)集中式,并且使用開放流協(xié)議從云設(shè)施來控制路由。如本文所使用的,“開放流協(xié)議”指的是在由斯坦福大學(xué)提供的網(wǎng)站W(wǎng)WW.openflowswitch.org處的開放流交換機(jī)規(guī)范中定義的開放流網(wǎng)絡(luò)協(xié)議和交換規(guī)范。如本文所使用的,“開放流交換機(jī)”指的是實現(xiàn)了開放流協(xié)議的網(wǎng)絡(luò)設(shè)備。標(biāo)準(zhǔn)3GPC控制平面實體HSS、HLR、AUC、訪客位置寄存器(VLR)、設(shè)備身份寄存器(EIR)、短消息服務(wù)互通消息中心(SMS-IWMSC)、SMS網(wǎng)關(guān)消息中心(SMS-GMSC)和訂戶位置功能(SLF)和SGSN和GGSN的控制平面方面部署在云中。數(shù)據(jù)平面包含具有用于路由GTP分組所需的增強的標(biāo)準(zhǔn)開放流交換機(jī),而不是IP路由器和以太網(wǎng)交換機(jī)。至少,SGSN和GGSN的數(shù)據(jù)平面部分和E-UTRAN中NodeB的分組路由部分要求針對GTP路由的開放流增強。取決于運營商要求針對如路由的控制的精細(xì)粒度如何,在3GPC架構(gòu)內(nèi)的其他交換機(jī)上可能需要針對GTP路由的附加增強。針對GTP路由的增強包括用于在3GPC架構(gòu)內(nèi)建立GTP隧道、修改GTP隧道和拆除GTP隧道的過程??梢詫?GPC的控制和數(shù)據(jù)平面部分之間的分割與虛擬私有云(VPC)技術(shù)一起用于實現(xiàn)單一3GPC內(nèi)的多個PoP,提供用于專用應(yīng)用的GTP流特定路由,并從單一云計算設(shè)施來運行多個運營商網(wǎng)絡(luò)。在一個實施例中,基于云的3GPC系統(tǒng)可被實現(xiàn)為硬件設(shè)備的集合。在另一實施例中,系統(tǒng)組件用軟件(例如,微代碼、匯編語言或高級語言)來實現(xiàn)。這些軟件實現(xiàn)可以存儲在非瞬時計算機(jī)可讀介質(zhì)上。非瞬時“計算機(jī)可讀”介質(zhì)可以包括可以存儲信息的任何介質(zhì)。非瞬時計算機(jī)可讀介質(zhì)的示例包括只讀存儲器(ROM)、軟盤、CDRom、DVD、閃存、硬盤驅(qū)動器、光盤或類似介質(zhì)。開放流1.0網(wǎng)絡(luò)圖1是具有符合開放流1.0規(guī)范的開放流交換機(jī)的示例網(wǎng)絡(luò)的一個實施例的圖。開放流1.0協(xié)議使得控制器101能夠使用安全信道103連接到實現(xiàn)了開放流1.0的交換機(jī)109并控制交換機(jī)109中的單一轉(zhuǎn)發(fā)表107??刂破?01是由遠(yuǎn)程計算設(shè)備執(zhí)行的外部軟件組件,其使得用戶能夠配置開放流1.0交換機(jī)109。安全信道103可以由包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)(例如,互聯(lián)網(wǎng))在內(nèi)的任何類型網(wǎng)絡(luò)來提供。圖2是示出了流表條目的內(nèi)容的一個實施例的圖。轉(zhuǎn)發(fā)表107填充有條目,條目包含:規(guī)則201,其定義了針對分組報頭中的字段的匹配;動作203,與流匹配相關(guān)聯(lián);以及與流相關(guān)的統(tǒng)計信息聚集205。當(dāng)接收到傳入的分組時,在流表107中進(jìn)行針對匹配規(guī)則的查找。如果傳入的分組匹配特定規(guī)則,則針對分組來執(zhí)行在該流表條目中定義的關(guān)聯(lián)動作。規(guī)則201包含來自協(xié)議棧中的若干報頭的關(guān)鍵字段,例如源和目的以太網(wǎng)MAC地址、源和目的IP地址、IP協(xié)議類型號、傳入和傳出的TCP或UDP端口號。為了定義流,可以使用所有可用的匹配字段。但是還有可能通過針對不想要的字段使用通配符來將匹配規(guī)則約束為可用字段的子集。由開放流1.0的規(guī)范所定義的動作是:“放棄(Drop)”,其放棄匹配分組;轉(zhuǎn)發(fā),其向一個或所有傳出端口轉(zhuǎn)發(fā)該分組,向傳入物理端口自身轉(zhuǎn)發(fā)該分組,經(jīng)由安全信道向控制器轉(zhuǎn)發(fā)該分組,或者向本地網(wǎng)絡(luò)堆棧(如果其存在)轉(zhuǎn)發(fā)該分組。開放流1.0協(xié)議數(shù)據(jù)單元(PDU)是使用C編程語言規(guī)定的結(jié)構(gòu)集合來定義的。一些更常用的消息是:報告交換機(jī)配置消息;修改狀態(tài)消息(包括修改流條目消息和端口修改消息);讀取狀態(tài)消息,其中,在系統(tǒng)運行時,可以使用該消息向數(shù)據(jù)路徑查詢其當(dāng)前狀態(tài);以及發(fā)送分組消息,其在控制器希望通過數(shù)據(jù)路徑來發(fā)出分組時使用。開放流1.0支持允許擴(kuò)展某些協(xié)議元素的“運營商擴(kuò)展”。協(xié)議消息和表動作可以被擴(kuò)展,但是流匹配規(guī)則不能被擴(kuò)展。在本文下面進(jìn)一步討論結(jié)合基于云的EPC架構(gòu)對這些擴(kuò)展的使用。開放流1.1網(wǎng)絡(luò)圖3示出了符合開放流1.1規(guī)范的實現(xiàn)了開放流的另一示例架構(gòu)。在本實施例中,明確提供了多個流表301。這允許分組處理流水線將特定規(guī)則和動作相混合和匹配,而不引起表大小的組合猛增(combinatorialexplosion)。例如,一個流表可以執(zhí)行QoS處理,而第二流表進(jìn)行路由。圖4示出了通過開放流1.1交換分組處理流水線對分組的處理的一個實施例。將接收到的分組與每個流表401進(jìn)行比較。在每次流表匹配之后,將動作累積到動作集合中。如果處理要求針對另一流表的匹配,則匹配規(guī)則中的動作包括將處理定向至流水線中下一流表的動作。在沒有將動作包括在集合中以立刻執(zhí)行所有累積動作的情況下,在分組處理流水線的結(jié)束403處執(zhí)行動作。動作允許將數(shù)據(jù)寫入元數(shù)據(jù)寄存器中,其沿著分組處理流水線像分組報頭一樣輸送。圖5是開放流1.1規(guī)則匹配過程的一個實施例的流程圖。開放流1.1包含對分組標(biāo)記(packettagging)的支持。開放流1.1允許基于報頭字段和多協(xié)議標(biāo)簽交換(MPLS)標(biāo)簽的匹配。針對每個表格,可以匹配一個虛擬LAN(VLAN)標(biāo)簽和一個MPLS標(biāo)簽。在要處理的分組到達(dá)的情況下發(fā)起規(guī)則匹配過程(塊501)。在第一表0處開始,執(zhí)行查找以確定針對接收到的分組的匹配(塊503)。如果該表中不存在匹配,則采取缺省動作集合之一(即,向控制器發(fā)送分組,丟棄分組或繼續(xù)到下一個表)(塊509)。如果存在匹配,則連同計數(shù)器、分組或匹配集合字段和元數(shù)據(jù)一起進(jìn)行針對動作集合的更新(塊505)。進(jìn)行檢查以確定要處理的下一個表,該表可以是按順序的下一個表或者可以是由匹配規(guī)則的動作所規(guī)定的一個表(塊507)。一旦已處理了所有表,則執(zhí)行作為結(jié)果的動作集合(塊511)。圖6是匹配過程可以用來識別要對分組應(yīng)用的規(guī)則的字段的圖。動作允許通過壓入和彈出標(biāo)簽來操作標(biāo)記堆棧。以與多個表相結(jié)合的方式,可以通過針對每個表匹配一個標(biāo)簽來處理VLAN或MPLS標(biāo)簽堆棧。圖7是報頭解析過程的一個實施例的流程圖。該解析過程通過初始化匹配字段的集合(塊701)并檢查不同報頭類型的集合的存在性來匹配分組報頭。該過程檢查VLAN標(biāo)簽(塊703)。如果VLAN標(biāo)簽存在,則存在針對該VLAN標(biāo)簽的一系列處理步驟(塊705~707)。如果交換機(jī)支持MPLS(塊709),則存在用于檢測并處理MPLS報頭信息的一系列步驟(塊711~715)。如果交換機(jī)支持地址解析協(xié)議(ARP),則存在用于處理ARP報頭的一系列步驟(塊719和721)。如果分組具有IP報頭(塊723),則存在用于處理IP報頭的一系列步驟(塊725~733)。該過程是針對每個接收到的分組來執(zhí)行的。在一個實施例中,可以結(jié)合開放流1.1協(xié)議來支持組表。組表實現(xiàn)了用于允許單一流匹配觸發(fā)多個端口上的轉(zhuǎn)發(fā)的方法。組表條目包含四個字段:組標(biāo)識符,其是識別組的32比特?zé)o符號整數(shù);組類型,其確定組的語義;計數(shù)器,其維護(hù)與組有關(guān)的統(tǒng)計信息;以及動作桶(actionbucket)列表,其是動作桶的有序列表,其中,每個桶包含要與其參數(shù)一起執(zhí)行的動作集合。存在四種不同類型的組:全部(All),其執(zhí)行桶列表中的所有動作,這用于廣播或組播轉(zhuǎn)發(fā);選擇(Select),其基于由開放流協(xié)議之外的交換機(jī)所確定的算法,針對每個分組執(zhí)行一個桶,這用于實現(xiàn)多徑轉(zhuǎn)發(fā);間接(Indirect),其針對所有分組執(zhí)行單一桶,這允許多個流或組指向單一動作聚集,而不是將動作定義在多個轉(zhuǎn)發(fā)表條目中;快速故障轉(zhuǎn)移(FastFailover),其執(zhí)行第一存活(live)桶,其中,每個桶與控制其存活度的端口相關(guān)聯(lián),這使得交換機(jī)能夠在不涉及控制器的情況下故障轉(zhuǎn)移到另一端口。開放流1.1可以用于支持虛擬端口。如本文所使用的,虛擬端口是像物理端口一樣執(zhí)行除了將分組簡單轉(zhuǎn)出到網(wǎng)絡(luò)連接之外的某類處理動作的“動作塊”。若干內(nèi)置虛擬端口的示例包括:全部(ALL),其將端口轉(zhuǎn)出到除了進(jìn)入端口和標(biāo)記為“不轉(zhuǎn)發(fā)”的任何端口之外的所有端口;控制器(CONTROLLER),其對分組進(jìn)行封裝并將其向控制器發(fā)送;表(TABLE),其通過向第一流表提交分組,將分組插入分組處理流水線,該動作僅在分組輸出(packet-out)消息的動作集合中有效;以及輸入端口(IN_PORT),其向進(jìn)入端口發(fā)出分組。在其他實施例中,還可以存在交換機(jī)定義的虛擬端口。3GPC架構(gòu)圖8是3G分組核心(3GPC)網(wǎng)絡(luò)的一個實施例的圖。3GPC網(wǎng)絡(luò)包含三個交互域:核心網(wǎng)(CN)801、無線電接入網(wǎng)(RAN)803以及用戶設(shè)備(UE)805。用戶設(shè)備805可以是計算設(shè)備、蜂窩電話和類似設(shè)備。無線電接入網(wǎng)803可以是包括通用移動電信系統(tǒng)(UMTS)841或全球移動通信系統(tǒng)(GSM)網(wǎng)絡(luò)843在內(nèi)的任何數(shù)量或任何組合的網(wǎng)絡(luò)。這些網(wǎng)絡(luò)可以通過無線電網(wǎng)絡(luò)中心(RNC)831或分組控制單元(PCU)833與核心網(wǎng)801進(jìn)行交互。核心網(wǎng)801的主要功能是針對來自用戶設(shè)備805的用戶業(yè)務(wù)提供交換、路由和運輸。核心網(wǎng)801還包含數(shù)據(jù)庫和網(wǎng)絡(luò)管理功能。其是對于GSM/GPRS、寬帶碼分多址(WCDMA)/高速分組接入(HSPA)和非3GPP移動網(wǎng)絡(luò)來說共有的分組核心網(wǎng)。核心網(wǎng)801用于發(fā)送網(wǎng)際協(xié)議(IP)分組。核心網(wǎng)801通過GGSN819與互聯(lián)網(wǎng)851和其它網(wǎng)絡(luò)853交互。核心網(wǎng)801被劃分為電路交換和分組交換域。電路交換元素包括:移動服務(wù)交換中心(MSC)811、訪客位置寄存器(VLR)813和網(wǎng)關(guān)MSC815。分組交換元素是SGSN817和GGSN819。如EIR812、HLR823、VLR813和AUC825之類的其它網(wǎng)絡(luò)設(shè)備由這兩個域共享。核心網(wǎng)801的架構(gòu)可以在引入新的服務(wù)和特征時改變。在其他實施例中,可以使用號碼便攜性數(shù)據(jù)庫(NPDB)來使得用戶能夠在保持老的電話號碼的同時改變網(wǎng)絡(luò)??梢允褂镁W(wǎng)關(guān)位置寄存器(GLR)來優(yōu)化網(wǎng)絡(luò)邊界之間的訂戶處理。核心網(wǎng)801在移動無線聯(lián)網(wǎng)方面的主功能是移動性管理和QoS。這些功能通常不在固定寬帶網(wǎng)絡(luò)中提供,但是它們對于無線網(wǎng)絡(luò)來說是至關(guān)重要的。移動性管理對于在無線終端從一個基站移動到另一個基站時確保網(wǎng)絡(luò)連接性是必要的。由于與固定網(wǎng)絡(luò)不同,無線鏈路在其可以向終端提供多少帶寬方面嚴(yán)重受到約束,QoS是必需的,使得要比固定網(wǎng)絡(luò)中更緊密地管理帶寬需求,以向用戶提供可接受的服務(wù)質(zhì)量。用于實現(xiàn)移動性管理和QoS功能的信令是由GPRS隧道傳輸協(xié)議(GTP)來提供的。GTP具有兩個組件:GTP-C-控制平面協(xié)議,其支持建立用于移動性管理的隧道和用于QoS管理的承載,該用于QoS管理的承載將有線回程和分組核心QoS匹配到無線電鏈路QoS;以及GTP-U-數(shù)據(jù)平面協(xié)議,用于實現(xiàn)擔(dān)當(dāng)路由器的網(wǎng)絡(luò)設(shè)備之間的隧道。存在兩個版本的GTP-C協(xié)議,即GTP版本1(GTPv1-C和GTPv1-U)以及GTP版本2-C(針對LTE設(shè)計)。GTPv1主要結(jié)合基于3GPC的系統(tǒng)來使用。網(wǎng)絡(luò)服務(wù)被視為是端到端的,這意味著從終端設(shè)備(TE)到另一TE。端到端服務(wù)可以具有針對網(wǎng)絡(luò)服務(wù)的用戶來提供的特定服務(wù)質(zhì)量(QoS)。由用戶來決定他是否滿意所提供的QoS。為了實現(xiàn)特定的網(wǎng)絡(luò)QoS,要從服務(wù)的源到服務(wù)的目的地設(shè)立具有清楚定義的特性和功能的服務(wù)。除了QoS參數(shù)之外,每個承載具有相關(guān)聯(lián)的GTP隧道。GTP隧道包含隧道端點節(jié)點(無線電基站、SGSN、和GGSN)的IP地址、源和目的UDP端口、以及隧道端點標(biāo)識符(TEID)。GTP隧道是單向的,所以每個承載與兩個TEID相關(guān)聯(lián),一個TEID用于上行鏈路隧道且一個TEID用于下行鏈路隧道。GTP隧道的一個集合(上行鏈路和下行鏈路)在無線電基站和SGSN之間延伸,且一個集合在SGSN和GGSN之間延伸。用于GTP-U的UDP目的端口號是2152,而用于GTP-C的目的端口號是2123。源端口號是由發(fā)送節(jié)點動態(tài)分配的。圖9是主GTP-U封裝報頭中的報頭字段的一個實施例的圖。云計算數(shù)據(jù)中心向外部客戶提供計算、存儲、和網(wǎng)絡(luò)通信資源。所提供的服務(wù)可以包含彈性的按需(ondemand)處理、僅由客戶的支付能力所限制的用于大多數(shù)實際用途的存儲、以及進(jìn)入互聯(lián)網(wǎng)的網(wǎng)絡(luò)帶寬。由數(shù)據(jù)中心提供的該服務(wù)集合在本文中被稱為云計算。服務(wù)器虛擬化技術(shù)允許將服務(wù)器池實質(zhì)上作為一個大型計算資源來管理。被稱為監(jiān)管程序(hypervisor)的軟件層位于操作系統(tǒng)和硬件之間。監(jiān)管程序調(diào)度虛擬機(jī)(VM)的執(zhí)行。VM是用一些應(yīng)用來封裝的操作系統(tǒng)鏡像。監(jiān)管程序允許VM被暫停并在服務(wù)器之間移動,以進(jìn)行負(fù)載均衡。負(fù)載均衡和對VM執(zhí)行進(jìn)行監(jiān)視以捕捉崩潰為企業(yè)應(yīng)用提供了容錯和可擴(kuò)縮性服務(wù),該容錯和可擴(kuò)縮性服務(wù)與使用特殊解決方案以高得多的成本來實現(xiàn)的服務(wù)是相同類型的。云管理器系統(tǒng)監(jiān)督VM的執(zhí)行、執(zhí)行的調(diào)度,以滿足VM的需求和服務(wù)器使用的優(yōu)化以及功耗的最小化。云管理器或云計算系統(tǒng)是軟件程序,其可以調(diào)度執(zhí)行以允許對硬件和軟件的服務(wù)中升級,而不影響針對VM的進(jìn)行中的服務(wù)提供和其在云計算系統(tǒng)中的應(yīng)用。為了支持VM在機(jī)器之間的隨意移動,數(shù)據(jù)中心內(nèi)的聯(lián)網(wǎng)必須也被虛擬化。云計算系統(tǒng)可以通過將虛擬交換機(jī)并入監(jiān)管程序中來虛擬化網(wǎng)絡(luò)。虛擬交換機(jī)向在監(jiān)管程序控制下執(zhí)行的VM提供虛擬網(wǎng)絡(luò)端口。虛擬交換機(jī)軟件還允許以類似于監(jiān)管程序?qū)Ψ?wù)器資源進(jìn)行虛擬化的方式來虛擬化網(wǎng)絡(luò)資源。監(jiān)管程序和虛擬交換機(jī)由此可以協(xié)作,以允許VM在服務(wù)器之間移動。當(dāng)監(jiān)管程序移動VM時,其與虛擬交換機(jī)就新的位置進(jìn)行通信,且虛擬交換機(jī)確保更新用于VM的地址(L2MAC地址,潛在的還有IP地址)的網(wǎng)絡(luò)路由表,使得向新的位置路由分組。云計算系統(tǒng)可以由具有任何能力范圍(例如,處理能力或存儲容量)的任何數(shù)量的計算設(shè)備構(gòu)成。云計算系統(tǒng)可以是私有系統(tǒng)或公共系統(tǒng)。計算設(shè)備可以跨任何通信系統(tǒng)或網(wǎng)絡(luò)來彼此通信。云計算系統(tǒng)可以支持單一云或服務(wù)或任何數(shù)量的離散云或服務(wù)??梢詫⒎?wù)、應(yīng)用和類似程序虛擬化或執(zhí)行為標(biāo)準(zhǔn)代碼。在一個實施例中,云計算系統(tǒng)可以支持網(wǎng)絡(luò)服務(wù)應(yīng)用。網(wǎng)絡(luò)服務(wù)應(yīng)用包含負(fù)載均衡前端,其向網(wǎng)絡(luò)服務(wù)器池分派(dispatch)請求。請求源自于互聯(lián)網(wǎng)上遠(yuǎn)程機(jī)器上的應(yīng)用,且因此安全和隱私要求對于私有公司網(wǎng)絡(luò)中的應(yīng)用來說要寬松得多。云計算機(jī)系統(tǒng)還可以支持安全多重租賃,在多重租賃下,云計算機(jī)系統(tǒng)提供商在云外的客戶的分布式辦公室網(wǎng)絡(luò)之間提供類似虛擬私有網(wǎng)絡(luò)(VPN)的連接以及在云計算系統(tǒng)內(nèi)提供VPN。這允許客戶在云計算系統(tǒng)內(nèi)的應(yīng)用在類似于公司W(wǎng)AN的網(wǎng)絡(luò)環(huán)境中工作。對于僅向擁有數(shù)據(jù)中心的公司內(nèi)的客戶提供服務(wù)的私有數(shù)據(jù)中心,針對多重租賃的安全和隱私要求是寬松的。但是對于公共數(shù)據(jù)中心,云運營商必須確保隔離來自多個租戶的業(yè)務(wù),且來自一個客戶的業(yè)務(wù)不可能到達(dá)另一個客戶的網(wǎng)絡(luò)。圖10是為客戶集合提供服務(wù)的云計算系統(tǒng)的一個實施例的圖。如本文所使用的,“集合”指的是任何正整數(shù)個項目。在實施例中,如圖10所示,針對兩個不同的外部企業(yè)客戶設(shè)立了兩個虛擬私有云(VPC)。VPC包含VM、存儲、和聯(lián)網(wǎng)資源的聚集,其向租賃云中空間的企業(yè)提供安全多重租賃。企業(yè)客戶經(jīng)由在公共運營商網(wǎng)絡(luò)上運行的基于互聯(lián)網(wǎng)的VPN連接到VPC內(nèi)。圖11是示出了向客戶的VPC添加新的服務(wù)實例的過程的云計算系統(tǒng)的另一實施例的圖。在該情況下,云中的VPN是使用MAC層虛擬LAN(VLAN)來實現(xiàn)的。VM是在VPC中由監(jiān)管程序管理的服務(wù)器上為請求新的服務(wù)實例的企業(yè)所創(chuàng)建的(步驟1)。虛擬交換機(jī)VLAN被配置為將新的VM包括在企業(yè)云中VPN內(nèi),由此建立云中的服務(wù)連接性(步驟2)。針對新的服務(wù)來更新虛擬客戶邊緣路由器(CE)(步驟3)。使用新的服務(wù)來更新運行企業(yè)VPN的運營商網(wǎng)絡(luò)中的提供商邊緣路由器(步驟4)。云計算系統(tǒng)中的3GPC實現(xiàn)圖12是云計算系統(tǒng)中實現(xiàn)的EPC的一個實施例的圖。3GPC控制平面實體(AUC、HLR、HSS)1207和支持節(jié)點(SGSN、GGSN)1207的控制平面部分(即,處理GTP信令的部分)在云計算系統(tǒng)1201中被實現(xiàn)為開放流控制器1205的一部分??刂破矫鎸嶓w1207和開放流控制器1205被封裝為VM。開放流控制器1205和控制平面實體1207之間的應(yīng)用編程接口(API)可以是遠(yuǎn)程過程調(diào)用(RPC)接口或類似接口。該實現(xiàn)技術(shù)對于云內(nèi)的控制平面實體的可擴(kuò)縮管理是優(yōu)選的,因為其允許根據(jù)需求來單獨管理對控制平面實體1207和控制器1205的執(zhí)行。云管理器1203可以是云計算系統(tǒng)120內(nèi)執(zhí)行的VM或者應(yīng)用。云管理器1203監(jiān)視3GPC控制平面實體1207的中央處理器單元(CPU)使用以及云內(nèi)的3GPC控制平面實體1207之間的控制平面業(yè)務(wù)。其還監(jiān)視端用戶設(shè)備(UE)1225和NodeB1217以及3GPC控制平面實體1207之間的控制平面業(yè)務(wù),該端用戶設(shè)備(UE)1225和NodeB1217并不具有云計算系統(tǒng)1201中的控制平面實體。如果3GPC控制平面實體1207開始表現(xiàn)出過載的跡象,例如對過多CPU時間的使用或者將要處理的過多業(yè)務(wù)加入隊列中,則過載的控制平面實體1207請求云管理器1203來啟動新的VM去處理該負(fù)載。附加地,如果3GPC控制平面實體1207自身內(nèi)部檢測到它們開始體驗到過載,則它們可以向云管理器1203發(fā)出事件通知。如果任何3GPC控制平面實體1207要崩潰,則云管理器1203還通過重啟特定控制平面實體1207或功能的VM來提供可靠性和故障轉(zhuǎn)移。在該重啟過程期間,云管理器可以收集診斷數(shù)據(jù),保存發(fā)生故障的3GPC控制平面實體的任何核心文件,并向系統(tǒng)管理員通知發(fā)生了故障??刂破矫鎸嶓w1207在它們之間維護(hù)與圖8所示的3GPP3GPC架構(gòu)相同的協(xié)議接口。此處示出為虛線的開放流控制平面1221管理網(wǎng)絡(luò)中的路由和交換配置。開放流控制平面1221將云計算系統(tǒng)1203連接到SGSN-D1215(即,SGSN的數(shù)據(jù)平面)、標(biāo)準(zhǔn)開放流交換機(jī)1213、以及GGSN-D1211(即,GGSN的數(shù)據(jù)平面)。開放流控制平面1221的物理實現(xiàn)可以是作為完全分離的物理網(wǎng)絡(luò),或者其可以是在與數(shù)據(jù)平面相同的物理網(wǎng)絡(luò)上運行的、使用優(yōu)先化VLAN或使用MPLS標(biāo)簽交換路徑或甚至使用通用路由封裝(GRE)或其他IP隧道來實現(xiàn)的虛擬網(wǎng)絡(luò)。開放流控制平面1221原則上可以使用與GTP-C和其它移動網(wǎng)絡(luò)信令相同的物理控制平面路徑。SGSN-D1215和GGSN-D1211擔(dān)當(dāng)開放流GTP擴(kuò)展網(wǎng)關(guān),使用如本文中下面進(jìn)一步描述的開放流GTP交換機(jī)擴(kuò)展來封裝和解封分組。NodeB1217不具有云中的控制平面實體,因為3GPC和NodeB之間要求的無線電接入網(wǎng)(RAN)信令包括無線電參數(shù),而不僅僅是IP路由參數(shù)。因此,在云計算系統(tǒng)1201中的開放流控制器1205和NodeB1217之間不存在開放流控制平面1221連接。然而NodeB1217可以通過使用開放流實現(xiàn)針對數(shù)據(jù)平面連接的本地控制來擔(dān)當(dāng)開放流GTP擴(kuò)展網(wǎng)關(guān)。這允許NodeB1217的分組交換側(cè)利用與分組網(wǎng)關(guān)相同的開放流GTP交換擴(kuò)展。3GPC云計算機(jī)系統(tǒng)的操作如下工作。UE1225、NodeB1217、SGSN1207和GGSN使用標(biāo)準(zhǔn)3GPC協(xié)議向HLR、HSS、AUC、SMS-GMSC1207發(fā)信號通知1207,以建立、修改、和刪除GTP隧道。該發(fā)信號通知觸發(fā)了針對開放流控制器的過程調(diào)用,以根據(jù)請求來修改3GPC中的路由。開放流控制器使用流規(guī)則和動作來配置標(biāo)準(zhǔn)開放流交換機(jī)、開放流SGSN1215、以及GGSN1211,以實現(xiàn)控制平面實體請求的路由。以下在本文中進(jìn)一步詳細(xì)描述該配置的細(xì)節(jié)。圖13是3GPC的基本操作的一個實施例的流程圖。在一個實施例中,過程開始于對云計算系統(tǒng)中的開放流控制器內(nèi)的3GPC的控制平面模塊的初始化(塊13401)。多個控制平面模塊中的每個控制平面模塊由云管理器初始化為單獨的VM。然后云管理器監(jiān)視每個控制平面模塊的資源使用以及由每個控制平面模塊處理的控制平面業(yè)務(wù)的量和類型(塊1303)。云管理器可以直接監(jiān)視該數(shù)據(jù),從控制平面模塊接收報告,或者其任意組合。如果云管理器針對被監(jiān)視的多個控制平面模塊中的任何一個控制平面模塊檢測到閾值水平的資源使用或業(yè)務(wù)負(fù)載(塊1305),則云管理器可以采取用于自動響應(yīng)該場景的步驟。云管理器可以初始化新的控制平面模塊或這種控制平面模塊的實例作為單獨的虛擬機(jī)(塊1307)。然后該新的控制平面模塊或?qū)嵗梢苑窒砭哂邢嗤愋偷默F(xiàn)有控制平面模塊或?qū)嵗呢?fù)載,由此動態(tài)減輕這些模塊上的負(fù)載。類似地,云管理器可以檢測多個控制平面模塊之一的故障或未充分使用。然后云管理器可以重啟故障的控制平面模塊或終止未充分使用的控制平面模塊(塊1311)。重啟控制平面模塊確保了控制平面模塊池的負(fù)載共享水平。對控制平面模塊去激活釋放了資源,并降低了由控制平面模塊所創(chuàng)建的開銷。云管理器可以使用云計算系統(tǒng)資源來跨VPC和移動運營商執(zhí)行這些功能,由此最大化對可用資源的使用并降低運營成本,同時維持對移動運營商之間的數(shù)據(jù)和業(yè)務(wù)的嚴(yán)格分離。圖14是云計算系統(tǒng)中的3GPC如何使得管理服務(wù)公司能夠管理單一數(shù)據(jù)中心之外的多個運營商網(wǎng)絡(luò)的一個實施例的圖。管理服務(wù)云計算設(shè)施1401針對管理服務(wù)公司簽有合同的每個移動運營商來運行3GPC控制平面的單獨實例。每個3GPC實例在VPC1403A、B中,其將移動運營商的業(yè)務(wù)與數(shù)據(jù)中的云計算設(shè)施1401中的其他租戶相隔離。移動運營商的3GPC控制平面實例通過虛擬邊緣路由器1409A、B連接到移動運營商的地理分布式3GPC開放流數(shù)據(jù)平面交換構(gòu)造(fabric)1407A、B和移動運營商的基站。虛擬邊緣路由器1409A、B將業(yè)務(wù)從數(shù)據(jù)中心路由至恰當(dāng)?shù)囊苿舆\營商3GPC數(shù)據(jù)平面交換構(gòu)造1407A、B,以及路由來自恰當(dāng)?shù)囊苿舆\營商3GPC數(shù)據(jù)平面交換構(gòu)造1407A、B的業(yè)務(wù)。盡管圖14中的示例實施例示出了兩個移動運營商具有單獨的交換構(gòu)造的情況,在一些情況下,移動運營商甚至可以共享基站和3GPC交換構(gòu)造。云計算系統(tǒng)中的3GPC對等和差異路由圖15是用于特殊化服務(wù)處理的3GPC對等(peering)和差異路由的過程的一個實施例的圖。由實線和箭頭1501所指示的開放流信令在3GPC內(nèi)的交換機(jī)和網(wǎng)關(guān)上設(shè)立了用于差異路由的流規(guī)則和動作。這些流規(guī)則將GTP流定向至特定位置。在該示例中,該情況下的運營商將其3GPC與兩個其他固定運營商對等。由相應(yīng)GGSN1和GGSN21503A、B來處理通過每個對等點的路由。斷續(xù)線(dashedline)和箭頭1505示出了來自UE1507的需要被路由到另一對等運營商的業(yè)務(wù)。用于區(qū)分業(yè)務(wù)應(yīng)當(dāng)穿過哪個對等點的流規(guī)則和動作由開放流控制器1511安裝在開放流交換機(jī)1509和網(wǎng)關(guān)1503A、B上。開放流控制器1511基于其針對外部業(yè)務(wù)所維護(hù)的路由表、以及分組的源和目的地,以及根據(jù)DSCP標(biāo)記分組所要求的任何特殊轉(zhuǎn)發(fā)處理,來計算這些流規(guī)則和動作。長劃點虛線(longdashedanddottedline)以及箭頭1515示出了正從外部源獲得內(nèi)容的UE1517的示例。該內(nèi)容原始并不是針對UE1517的屏幕來規(guī)劃的,因此開放流控制器1511在GGSN11503B、SGSN1519和開放流交換機(jī)1509上安裝了流規(guī)則和動作,以將流路由通過云計算設(shè)施中的轉(zhuǎn)碼應(yīng)用1521。轉(zhuǎn)碼應(yīng)用1521對內(nèi)容重新格式化,使得其將適合UE1517的屏幕。在UE經(jīng)由IP多媒體子系統(tǒng)(IMS)或另一信令協(xié)議設(shè)立其與外部內(nèi)容源的會話時,MSC請求特殊處理。GTPTEID路由在一個實施例中,修改開放流以提供針對GTPTEID路由的規(guī)則。圖16是用于GTPTEID路由的開放流流表修改的一個實施例的圖。除了其他開放流報頭字段之外,支持TEID路由的開放流交換機(jī)在至少一個流表(例如,第一流表)中的報頭字段的2字節(jié)(16比特)聚集和4字節(jié)(32比特)GTPTEID上匹配。GTPTEID標(biāo)志可以是通配的(即,匹配是“不在乎”)。在一個實施例中,除了作為隧道的端點標(biāo)識符之外,3GPC協(xié)議不向TEID指派任何含義,如標(biāo)準(zhǔn)UDP/TCP傳輸協(xié)議中的端口一樣。在其他實施例中,TEID可以具有相關(guān)的含義或語義。GTP報頭標(biāo)志字段也可以是通配的,這可以通過組合以下比特掩碼來部分匹配:OxFFOO-匹配消息類型字段;OxeO-匹配版本字段;Ox1O-匹配PT字段;OxO4-匹配E字段;OxO2-匹配S字段;以及OxO1-匹配PN字段。在一個實施例中,可以修改開放流以支持用于快路徑GTPTEID封裝和解封的虛擬端口。開放流移動網(wǎng)關(guān)可以用于支持針對虛擬端口的GTP封裝和解封。GTP封裝和解封虛擬端口可以用于對GTP-U隧道內(nèi)的用戶數(shù)據(jù)分組進(jìn)行快速封裝和解封,且可以被設(shè)計地足夠簡單,使得他們可以用硬件或固件來實現(xiàn)。為此,GTP虛擬端口可以針對他們將處理的業(yè)務(wù)而具有以下約束:協(xié)議類型(PT)字段=1,其中,GTP封裝端口僅支持GTP,而不支持GTP’(PT字段=0);擴(kuò)展報頭標(biāo)志(E)=0,其中,不支持?jǐn)U展報頭,序列號標(biāo)志(S)=0,其中,不支持序列號;N-PDU標(biāo)志(PN)=0;以及消息類型=255,其中,在快路徑中僅支持G-PDU消息,即隧道傳輸?shù)挠脩魯?shù)據(jù)。如果分組要么需要封裝,要么以非零報頭標(biāo)志封裝的方式到達(dá),則報頭、擴(kuò)展、和/或GTP-U分組不是G-PDU分組(即,其是GTP-U控制分組),則處理必須經(jīng)由網(wǎng)關(guān)的慢路徑(軟件)控制平面來進(jìn)行。被定向至網(wǎng)關(guān)的IP地址的GTP-C和GTP’分組是錯誤配置的結(jié)果,并且是錯誤的。它們必須被發(fā)送至開放流控制器,因為這些分組是由云計算系統(tǒng)中的SGSN和GGSN控制平面實體來處理的,或者被發(fā)送至處理GTP’的計費實體,以及不被發(fā)送至SGSN和GGSN數(shù)據(jù)平面交換機(jī)。GTP虛擬端口是使用配置協(xié)議從開放流控制器來配置的。配置協(xié)議的細(xì)節(jié)是依賴于交換機(jī)的。配置協(xié)議必須支持執(zhí)行以下功能的消息:允許控制器查詢交換機(jī)是否支持GTP快路徑虛擬端口以及什么虛擬端口號用于快路徑和慢路徑GTP-U處理以及返回對它們的指示;以及允許控制器實例化交換機(jī)數(shù)據(jù)路徑內(nèi)的GTP-U快路徑虛擬端口,以在開放流表設(shè)置輸出端口(set-output-port)動作中使用。配置命令必須在交易中運行,使得當(dāng)向控制器報告回動作的結(jié)果時,要么實例化用于所請求的數(shù)據(jù)路徑的GTP-U快路徑虛擬端口,要么返回指示該請求為什么不能被執(zhí)行的錯誤。該命令還允許開放流控制器將GTP-U虛擬端口綁定到物理端口。對于解封虛擬端口,物理端口是輸入端口。對于封裝虛擬端口,物理端口是輸出端口。在交換機(jī)中安裝用于GTPTEID路由的任何規(guī)則之前,開放流控制器針對可以發(fā)送或接收通過GTP隧道來路由的分組的每個物理端口來實例化虛擬端口。在一個實施例中,開放流GTP網(wǎng)關(guān)維護(hù)將GTPTEID映射到其承載的隧道報頭字段中的散列表。圖17是流表行的結(jié)構(gòu)的圖。TEID散列鍵是使用具有低沖突頻率的合適散列算法(例如,SHA-1)來計算的。網(wǎng)關(guān)針對每個GTPTEID/承載來維護(hù)一個這樣的流表行。TEID字段包含該隧道的GTPTEID。VLAN標(biāo)簽和MPLS標(biāo)簽字段包含定義了需要將分組路由到哪些隧道的VLAN標(biāo)簽和/或MPLS標(biāo)簽的有序列表。VLAN優(yōu)先級比特和MPLS業(yè)務(wù)類比特被包括在標(biāo)簽中。這種隧道可以是或可以不是必需的。如果他們不是必需的,則這些字段為空。隧道原始源IP地址包含應(yīng)當(dāng)將涉及該隧道的任何控制業(yè)務(wù)(例如,錯誤指示)定向到的封裝網(wǎng)關(guān)上的地址。隧道結(jié)束目的IP地址字段包含應(yīng)當(dāng)將隧道傳輸?shù)姆纸M路由到的網(wǎng)關(guān)的IP地址,在該網(wǎng)關(guān)處分組將被解封并從GTP隧道中被移除。在專用承載的情況下,QoSDSCP字段包含承載的DiffServe碼點(如果有的話)。如果承載是具有“盡力而為QoS”的缺省承載,則該字段可以為空,但如果承載QoS多于“盡力而為”,則該字段將包含非零值。在一個實施例中,針對GTP的慢路徑支持是使用開放流網(wǎng)關(guān)交換機(jī)來實現(xiàn)的。開放流移動網(wǎng)關(guān)交換機(jī)還包含軟件控制平面上對慢路徑分組處理的支持。該路徑由以下各項所采用:具有非零報頭字段或擴(kuò)展字段的G-PDU(消息類型255)分組、以及要求具有這種字段的封裝的用戶數(shù)據(jù)平面分組或者要求添加擴(kuò)展報頭的用戶數(shù)據(jù)平面分組、以及GTP-U控制分組。為了該目的,交換機(jī)在軟件控制平面中支持三個本地端口:LOCAL_GTP_CONTROL(本地GTP控制)-交換機(jī)快路徑轉(zhuǎn)發(fā)被定向到網(wǎng)關(guān)IP地址的包含GTP-U控制消息在內(nèi)的GTP封裝分組,以及本地交換機(jī)軟件控制平面取決于GTP-U控制消息來發(fā)起本地控制平面動作;LOCAL_GTP_U_DECAP(本地GTP_U解封)-交換機(jī)快路徑向該端口轉(zhuǎn)發(fā)具有非零報頭字段或擴(kuò)展字段的G-PDU分組(即,E?。?,S?。?,或者PN=!0)。這些分組要求特殊的處理。本地交換機(jī)軟件慢路徑處理分組并執(zhí)行特殊處理;以及LOCAL_GTP_U_ENCAP(本地GTP_U封裝)-交換機(jī)快路徑向該端口轉(zhuǎn)發(fā)要求具有非零報頭字段或擴(kuò)展字段的GTP隧道中的封裝的用戶數(shù)據(jù)平面分組(即,E?。?,S!=0,或者PN=!0)。這些分組要求特殊的處理。本地交換機(jī)軟件慢路徑封裝分組并執(zhí)行特殊處理。除了轉(zhuǎn)發(fā)分組之外,交換機(jī)快路徑還使得開放流元數(shù)據(jù)字段對于慢路徑軟件可用。為了支持慢路徑封裝,交換機(jī)上的軟件控制平面維護(hù)具有根據(jù)GTP-UTEID所計算出的鍵的散列表。TEID散列鍵是使用具有低沖突頻率的合適散列算法(例如,SHA-1)來計算的。流表條目包含應(yīng)當(dāng)如何配置包括GTP封裝報頭在內(nèi)的分組報頭的記錄。這包括:與圖18中的硬件或固件封裝表相同的報頭字段;用于GTP報頭標(biāo)志的值(PT、E、S、和PN);序列號和/或N-PDU號(如果有的話);如果E標(biāo)志為1,則流表包含包括其類型在內(nèi)的擴(kuò)展報頭的列表,其應(yīng)當(dāng)被慢路徑插入GTP報頭中。在一個實施例中,系統(tǒng)實現(xiàn)了GTP快路徑封裝虛擬端口。當(dāng)云計算系統(tǒng)中運行的SGSN和SSGN控制平面軟件請求時,開放流控制器對網(wǎng)關(guān)交換機(jī)編程以安裝用于將分組經(jīng)由快路徑GTP封裝虛擬端口路由到GTP隧道中的規(guī)則、動作、以及TEID散列表條目。規(guī)則匹配GTP隧道的承載的輸入側(cè)的分組過濾器。通常這將是4元組:IP源地址;IP目的地址;UDP/TCP/SCTP源端口;以及UDP/TCP/SCTP目的端口。IP源地址和目的地址通常是用于用戶數(shù)據(jù)平面業(yè)務(wù)的地址,即UE或與UE進(jìn)行交易的互聯(lián)網(wǎng)服務(wù),且對于端口號也是類似的。對于匹配GTP-U隧道輸入側(cè)的規(guī)則,相關(guān)聯(lián)的指令如下:Write-Metadata(GTP-TEID,OxFFFFFFFF)Apply-Actions(Set-Output-PortGTP-Encap-VP)交換機(jī)還在TEID散列表中寫入包含該分組的隧道報頭字段在內(nèi)的條目。GTP-TEID是GTP隧道端點標(biāo)識符。GTP-Enacap-VP是綁定到封裝分組將最終被路由出去的物理端口的GTP快路徑封裝虛擬端口。當(dāng)分組報頭匹配與虛擬端口相關(guān)聯(lián)的規(guī)則時,將GTPTEID寫入元數(shù)據(jù)的低32比特,且將分組定向到該虛擬端口。虛擬端口計算TEID的散列并在隧道報頭表中查找該隧道報頭信息。如果這種隧道信息不存在,則將該分組連通錯誤指示一起向控制器轉(zhuǎn)發(fā)。否則,虛擬端口構(gòu)造GTP隧道報頭并對該分組進(jìn)行封裝。在IP或MAC隧道報頭中附加設(shè)置任何DSCP比特或VLAN優(yōu)先級比特,且將任何VLAN標(biāo)簽或MPLS標(biāo)簽推壓到(push)該分組上。將封裝分組轉(zhuǎn)發(fā)出與虛擬端口綁定的物理端口。在一個實施例中,系統(tǒng)實現(xiàn)了GTP快路徑解封虛擬端口。當(dāng)云計算系統(tǒng)中運行的SGSN和SSGN控制平面軟件請求時,網(wǎng)關(guān)交換機(jī)安裝用于將GTP封裝分組路由出GTP隧道的規(guī)則和動作。在圖16所示的經(jīng)修改的開放流流表中,規(guī)則如下匹配該分組的GTP報頭標(biāo)志和GTPTEID:IP目的地址是網(wǎng)關(guān)正在期望GTP業(yè)務(wù)的IP地址;IP協(xié)議類型是UDP(17);UDP目的端口是GTP-U目的端口(2152);以及報頭字段和消息類型字段是使用標(biāo)志OXFFFO來通配的,且字段的兩個高字節(jié)匹配G-PDU消息類型(255),而兩個低字節(jié)匹配Ox3O,即分組是GTP分組,而不是GTP’分組,且版本號為1。虛擬端口簡單地移除GTP隧道報頭并將所附的用戶數(shù)據(jù)平面分組轉(zhuǎn)發(fā)出所綁定的物理端口。在一個實施例中,系統(tǒng)實現(xiàn)了對GTP-U控制分組的處理。開放流控制器針對用于GTP業(yè)務(wù)的每個網(wǎng)關(guān)交換機(jī)IP地址使用5個規(guī)則對網(wǎng)關(guān)交換機(jī)流表進(jìn)行編程。這些規(guī)則包含針對以下字段的指定值:IP目的地址是網(wǎng)關(guān)正在期望GTP業(yè)務(wù)的IP地址;IP協(xié)議類型是UDP(17);UDP目的端口是GTP-U目的端口(2152);GTP報頭標(biāo)志和消息類型字段是使用OxFFFO來通配的;報頭標(biāo)志字段的值是Ox3O,即版本號為1且PT字段為1;以及消息類型字段的值是以下各項之一:1(回聲請求)、2(回聲響應(yīng))、26(錯誤指示)、31(對擴(kuò)展報頭通知的支持)、或者254(結(jié)束標(biāo)記)。與這些規(guī)則之一的匹配相關(guān)聯(lián)的指令是:Apply-Actions(Set-Output-PortLOCAL_GTP_CONTROL)這使得分組被轉(zhuǎn)發(fā)到網(wǎng)關(guān)交換機(jī)的本地GTP-U控制端口,以由本地軟件控制平面來處理。源自交換機(jī)的GTP-U控制分組是在軟件控制平面上生成的且被控制平面來路由。在一個實施例中,系統(tǒng)實現(xiàn)對具有擴(kuò)展報頭、序列號、和N-PDU號的G-PDU分組的處理。具有擴(kuò)展報頭、序列號、和N-PDU號的G-PDU分組需要被轉(zhuǎn)發(fā)到本地交換機(jī)軟件控制平面以進(jìn)行處理。開放流控制器為了該目的對3個規(guī)則進(jìn)行編程。它們具有以下公共報頭字段:IP目的地址是網(wǎng)關(guān)正在期望GTP業(yè)務(wù)的IP地址;以及IP協(xié)議類型是UDP(17);UDP目的端口是GTP-U目的端口(2152)。三個規(guī)則的報頭標(biāo)志和消息類型字段是使用以下比特掩碼和匹配來如下通配的:比特掩碼OxFFF4,且兩個高字節(jié)匹配G-PDU消息類型(255),而兩個低字節(jié)是Ox34,指示了版本號為1,分組是GTP分組,且存在擴(kuò)展報頭;比特掩碼OxFFF2,且兩個高字節(jié)匹配G-PDU消息類型(255),而兩個低字節(jié)是Ox32,指示了版本號為1,分組是GTP分組,且存在序列號;比特掩碼OxFFO1,且兩個高字節(jié)匹配G-PDU消息類型(255),而兩個低字節(jié)是Ox31,指示了版本號為1,分組是GTP分組,且存在N-PDU。用于這些規(guī)則的指令如下:Apply-Actions(Set-Output-PortLOCAL_GTP_U_DECAP)這將分組發(fā)送到軟件慢路徑GTP-U解封路徑,以進(jìn)行特殊處理。在一個實施例中,系統(tǒng)實現(xiàn)對要求具有擴(kuò)展報頭、序列號、和N-PDU號的GTP-U封裝的用戶數(shù)據(jù)平面分組的處理。在GTP封裝期間要求擴(kuò)展報頭、序列號、或N-PDU號的用戶數(shù)據(jù)平面分組要求軟件慢路徑的特殊處理。對于這些分組,開放流控制器對匹配4元組的規(guī)則進(jìn)行編程:IP源地址;IP目的地址;UDP/TCP/SCTP源端口;以及UDP/TCP/SCTP目的端口。用于匹配分組的指令是:Write-Metadata(GTP-TEID,OxFFFFFFFF)Apply-Actions(Set-Output-PortLOCAL_GTP_U_ENCAP)這將分組發(fā)送到軟件慢路徑GTP封裝端口,且此外使得TEID對于慢路徑可用。對規(guī)則插入進(jìn)行編程的開放流消息還包括與序列號、N-PDU號、或擴(kuò)展報頭的類型和內(nèi)容的值有關(guān)的信息,以及包括指定解封網(wǎng)關(guān)和承載傳輸和GTPTEID的分組報頭字段。該信息由交換機(jī)的控制平面軟件插入以TEID為鍵的軟件封裝表中。在一個實施例中,系統(tǒng)實現(xiàn)了對GTP-C和GTP’控制分組的處理。被定向到網(wǎng)關(guān)交換機(jī)上的IP地址的任何GTP-C和GTP’控制分組是錯誤的。這些分組需要由云計算系統(tǒng)中的SGSN、GGSN、和GTP’協(xié)議實體來處理,而不是交換機(jī)中的SGSN和GGSN實體來處理。為了捕捉這種分組,開放流控制器必須使用以下兩個規(guī)則對交換機(jī)進(jìn)行編程:IP目的地址是網(wǎng)關(guān)正在期望GTP業(yè)務(wù)的IP地址;IP協(xié)議類型是UDP(17);對于一個規(guī)則,UDP目的端口是GTP-U目的端口(2152),對于另一個規(guī)則,UDP目的端口是GTP-C目的端口(2123);GTP報頭標(biāo)志和消息類型字段是通配的。這些規(guī)則必須是網(wǎng)關(guān)交換機(jī)的流表中的所有GTP規(guī)則中的最低優(yōu)先級。他們將捕捉不與其他更具體的規(guī)則匹配的任何GTP分組。用于這些規(guī)則的指令如下:Apply-Actions(Set-Output-PortCONTROLLER)這對分組進(jìn)行封裝并將其向開放流控制器發(fā)送。在一個實施例中,系統(tǒng)實現(xiàn)非網(wǎng)關(guān)GTP路由。GTP擴(kuò)展開放流交換機(jī)還可以在不執(zhí)行封裝和解封的網(wǎng)關(guān)功能的情況下實現(xiàn)GTP路由。GTP路由功能可以由網(wǎng)關(guān)交換機(jī)(除了其網(wǎng)關(guān)功能之外)來執(zhí)行,或者在分布式EPC交換構(gòu)造中其可以由缺少網(wǎng)關(guān)功能的另一交換機(jī)來執(zhí)行。如圖16所示,GTP擴(kuò)展開放流交換機(jī)包含處理與GTP報頭字段匹配的規(guī)則的至少一個流表。除了其他字段之外,開放流控制器還對GTP報頭字段規(guī)則進(jìn)行編程,以執(zhí)行GTP路由,并在匹配規(guī)則的情況下添加恰當(dāng)?shù)膭幼鳌@?,以下?guī)則匹配被定向到云計算系統(tǒng)中不在控制平面VLAN內(nèi)的控制平面實體(MSC、SGSN、GGSN)的GTP-C控制分組:VLAN標(biāo)簽不設(shè)置為控制平面VLAN,目的IP地址字段設(shè)置為目標(biāo)控制平面實體的IP地址,IP協(xié)議類型是UDP(17),UDP目的端口是GTP-C目的端口(2123),GTP報頭標(biāo)志和消息類型是使用OXFO來通配的,且所匹配的版本和協(xié)議類型字段是2和1,指示了分組是GTPv1控制平面分組而不是GTP’。以下動作將控制平面VLAN標(biāo)簽推壓到分組上,并將其向云轉(zhuǎn)發(fā),以由相關(guān)控制平面實體來處理。該分組是在不進(jìn)行任何L3處理(即,不修改IPTTL)的情況下被轉(zhuǎn)發(fā)的:Write-Action(Set-VLAN-IDCP_VLAN_TAG)Write-Action(Set-Source-MAC-AddressSWITCH_MAC_ADDR)Write-Action(Set-Dest-MAC-AddressNEXT_HOP_MAC_ADDR)Set-Output-PortNEXT_HOP_PORT針對開放流的GTP擴(kuò)展可以修改開放流協(xié)議來提供實現(xiàn)了對3GPC的管理的GTP擴(kuò)展。開放流利用了被稱為流匹配結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu),該流匹配結(jié)構(gòu)使得協(xié)議能夠定義用于將規(guī)則與特定流進(jìn)行匹配的標(biāo)準(zhǔn)。ofp_match的開放流流匹配結(jié)構(gòu)包含兩個字段:類型和長度,其允許擴(kuò)展流匹配結(jié)構(gòu)。類型字段可以設(shè)置為擴(kuò)展的類型,且長度字段可以設(shè)置為擴(kuò)展的ofp_match結(jié)構(gòu)的長度。在一個實施例中,將用于GTP流匹配的基于隨機(jī)數(shù)的新的類型定義為:enumofp_match_type_ext{ERSMT_GTP=48696,};類型可以是隨機(jī)生成的,以不干擾其他擴(kuò)展類型。當(dāng)前不存在用于在開放流中注冊類型標(biāo)識符的組織機(jī)制。ersmt_gtp結(jié)構(gòu)將用于GTP流路由的流表字段定義為:gtp_type_n_flags字段在8個高比特包含了GTP消息類型,且在8個低比特包含了GTP報頭標(biāo)志。gtp_teid字段包含了GTPTEID。gtp_wildcard字段指示了是否應(yīng)當(dāng)匹配GTP類型和標(biāo)志和TEID。如果4個低比特為1,則應(yīng)當(dāng)忽略類型和標(biāo)志字段,而如果4個高比特為1,則應(yīng)當(dāng)忽略TEID。如果低比特為0,則類型和字段標(biāo)志應(yīng)當(dāng)在遵守gtp_flag_mask字段中的標(biāo)志的情況下匹配,而如果高比特為0,則TEID應(yīng)當(dāng)匹配。該掩碼使用邏輯“與”和該分組的消息類型和報頭字段相結(jié)合;結(jié)果變?yōu)槠ヅ涞闹?。僅匹配字段中掩碼具有值1的那些部分。除了流表字段之外,要求對象以對虛擬端口TEID散列表條目的封裝進(jìn)行編碼。ersmt_gtp_tuninfo結(jié)構(gòu)可以用于定義該信息:ermst_mpls_lbl結(jié)構(gòu)提供了用于對MPLS標(biāo)簽編碼的24比特數(shù)據(jù)結(jié)構(gòu)。ersmt_gtp_tunifo結(jié)構(gòu)包含了描述GTP隧道的字段。這些結(jié)構(gòu)被插入封裝虛擬端口中。結(jié)構(gòu)是可變長度的,因為其可以包含可變數(shù)量的VLAN標(biāo)簽和/或MPLS標(biāo)簽。gtp_tuninfo_length字段包含了該結(jié)構(gòu)的長度。gtp_tuninfo_saddr、gtp_tuninfo_daddr、以及gtp_tuninfo_dscp字段包含隧道的源地址(執(zhí)行封裝的交換機(jī)上的接口的地址)、隧道的目的地址(隧道傳輸?shù)姆纸M將被路由到的、且將對該分組進(jìn)行解封的交換機(jī))、以及被指派給隧道的承載的DiffServ碼點(如果有的話)。如果承載是專用承載且其不是“盡力而為”承載,則承載DSCP將是非零。gtp_tuninfo_vlan_len和gtp_tuninfo_mpls_len分別包含了VLAN標(biāo)簽字段和MPLS標(biāo)簽字段的長度。gtp_tuninfo_vlan_tags[0]和gtp_tuninfo_mpls_labels[0]字段包含了需要被推壓到分組的隧道報頭上的實際VLAN標(biāo)簽和/或MPLS標(biāo)簽的字段。如果針對該隧道沒有使用VLAN或MPLS標(biāo)簽交換路徑(LSP),則這些字段將不存在(且對應(yīng)長度字段將為零)。在一個實施例中,修改開放流以添加用于添加、刪除、或修改3GPC承載或GTP隧道的擴(kuò)展消息。用于添加、修改、或刪除3GPC承載或GTP隧道的開放流信令包含一個開放流消息:ofp_flow_mod消息,其包含ersmt_gtpGTP流定義。只要開放流協(xié)議解析器可以處理擴(kuò)展流,就可以使用標(biāo)準(zhǔn)開放流ofp_flow_mod消息。如果流修改要求改變封裝虛擬端口TEID散列表,則開放流控制器必須發(fā)出包含TEID散列表條目在內(nèi)的GTP開放流擴(kuò)展消息。開放流控制器必須順序發(fā)出這兩條消息,首先是ofp_flow_mod消息,然后是TEID散列表修改消息,然后開放流控制器必須發(fā)出OFPT_BARRIER_REQUEST消息,以強制開放流交換機(jī)對這兩條消息進(jìn)行處理。開放流消息擴(kuò)展報頭結(jié)構(gòu)ofp_experimenter_header包含被稱為試驗方的試驗方id字段。在一個實施例中,該字段可以設(shè)置為EricssonIEEEOUI,OxO1ec或類似的制造商或提供商OUI。該結(jié)構(gòu)的其余部分包含GTP擴(kuò)展消息。這些消息可以通過以下消息碼來識別:GTP開放流擴(kuò)展包含用于添加和用于刪除TEID散列表條目的消息。條目是通過首先刪除針對TEID的條目然后添加針對同一TEID的新條目來修改的。用于在封裝虛擬端口散列表中輸入新的TEID條目的GTP開放流擴(kuò)展消息是:teid_table_add_type字段設(shè)置為GTP_ADD_TEID_TABLE_ENTRY,而teid_table_add_teid字段包含TEID且teid_table_add_entry包含要添加的表條目。用于從封裝虛擬端口散列表中刪除TEID條目的GTP開放流擴(kuò)展消息是:teidtable_del_type字段設(shè)置為GTP_DEL_TEID_TABLE_ENTRY,而teidtable_del_teid字段包含要刪除條目的TEID。在一個實施例中,用于GTP的開放流擴(kuò)展還包含開放流交換機(jī)配置。在從3GPC云控制平面實體接受任何GTP路由更新RPC之前,開放流控制器必須配置GTP擴(kuò)展開放流網(wǎng)關(guān)交換機(jī)上的GTP封裝和/或解封虛擬端口。配置是使用交換機(jī)特定配置協(xié)議來實現(xiàn)的,且上文描述過。除了GTP擴(kuò)展開放流網(wǎng)關(guān)上的虛擬端口配置之外,在將轉(zhuǎn)發(fā)比“盡力而為”GTP承載業(yè)務(wù)更好的業(yè)務(wù)的任何開放流交換機(jī)上,QoS隊列配置可能是必需的。開放流協(xié)議不包含用于配置隊列的消息,該配置被留給配置協(xié)議,與虛擬端口的情況是一樣的。在安裝任何流路由之前,開放流控制器必須配置任何隊列,以與將路由比盡力而為GTP承載更好的承載的交換機(jī)中的物理和/或虛擬端口相連。該配置步驟必須針對GTP擴(kuò)展開放流交換機(jī)和標(biāo)準(zhǔn)開放流交換機(jī)都進(jìn)行。在一個實施例中,修改用于GTP操作的開放流消息流。如上所述,包括SGSN和SSSN的3GPC控制平面部分在內(nèi)的3GPC控制平面實體駐留在數(shù)據(jù)中心處的云計算設(shè)施中。當(dāng)GTP信令觸發(fā)路由改變時,SGSN和GGSN的控制平面經(jīng)由遠(yuǎn)程過程調(diào)用(RPC)或類似機(jī)制與云內(nèi)的開放流控制器通信。開放流控制器通過將云連接到網(wǎng)關(guān)和交換機(jī)的控制平面網(wǎng)絡(luò)上的開放流信令向支持GTP擴(kuò)展開放流的數(shù)據(jù)平面網(wǎng)關(guān)、SGSN和GGSN的控制平面、以及針對GTP路由來擴(kuò)展的開放流交換機(jī)(本文中稱為“GxOFS”)頒布與數(shù)據(jù)平面有關(guān)的改變。一般而言,如果針對GTP流不要求特殊路由處理,則不要求針對GxOFS的信令??赡芤筮@種處理的情況是例如:運營商的3GPC與互聯(lián)網(wǎng)在多于一個點處具有對等點,且因此具有多于一個網(wǎng)關(guān),路由到最優(yōu)網(wǎng)關(guān)可能要求在中間交換機(jī)處對3GPC內(nèi)的業(yè)務(wù)進(jìn)行轉(zhuǎn)向;以及GTP流必須從運營商網(wǎng)絡(luò)內(nèi)某處(例如,云中)的應(yīng)用接收特殊處理。這種特殊處理的示例是轉(zhuǎn)碼。中間交換機(jī)可以要求編程,以向轉(zhuǎn)碼應(yīng)用路由用戶平面分組。該列表不是無遺漏的,中間交換機(jī)上的GTP路由的很多其他應(yīng)用是可能的。GTPPDP上下文隧道可以使用GTP-C創(chuàng)建PDP上下文請求消息來設(shè)立。該過程在各種消息序列中使用,例如在E-UTRAN初始連接過程中。圖18A~C是3GPC中的會話創(chuàng)建、修改和刪除的流程圖。在圖18A中示出了用于創(chuàng)建會話的過程。響應(yīng)于用于在SGSN和GGSN之間創(chuàng)建針對訂戶會話的GTP隧道的請求,發(fā)起該過程(塊1801)。發(fā)起訂戶會話,以將3GPC中的用戶設(shè)備連接到訂戶會話的另一端點,該另一端點可以是另一用戶設(shè)備(UE)、服務(wù)器或類似端點。GTP隧道跨3GPC網(wǎng)絡(luò)的核心網(wǎng)來建立通向?qū)Φ赛c、互聯(lián)網(wǎng)或類似端點的訂戶會話的路由??刂破髋渲脤崿F(xiàn)了SGSN的交換機(jī),以封裝和解封訂戶會話的數(shù)據(jù)分組并建立第一GTP隧道端點(塊1803)。控制器還配置GTP隧道的路由中的每個交換機(jī),以根據(jù)GTP隧道的路由在每個方向上轉(zhuǎn)發(fā)分組(塊1805)??刂破髋渲肎GSN的數(shù)據(jù)平面,以封裝和解封訂戶會話的分組,以在GGSN處建立GTP隧道的第二端點(塊1807)。在圖18B中示出了用于修改會話的過程。響應(yīng)于用于修改SGSN和GGSN之間針對訂戶會話的GTP隧道的請求,發(fā)起該過程(塊1811)。訂戶會話將3GPC中的用戶設(shè)備連接到訂戶會話的另一端點,該另一端點可以是另一用戶設(shè)備(UE)、服務(wù)器或類似端點。GTP隧道是跨3GPC網(wǎng)絡(luò)的核心網(wǎng)來建立的通向?qū)Φ赛c、互聯(lián)網(wǎng)或類似端點的訂戶會話的路由。修改過程可以用于將訂戶會話跨3GPC網(wǎng)絡(luò)重新路由到相同端點或不同端點??梢允褂迷撨^程來改變GTP隧道的端點和GTP的路徑的任何組合??刂破餍薷膶崿F(xiàn)了SGSN的交換機(jī)的配置,以封裝和解封訂戶會話的數(shù)據(jù)分組并修改第一GTP隧道端點(塊1813)。控制器還配置GTP隧道的當(dāng)前路由和新路由中的每個交換機(jī),以根據(jù)GTP隧道的路由在每個方向上轉(zhuǎn)發(fā)分組(塊1815)??刂破餍薷腉GSN的數(shù)據(jù)平面的配置,以封裝和解封訂戶會話的分組,以在GGSN處建立GTP隧道的第二端點(塊1817)。在圖18C中示出了用于刪除會話的過程。響應(yīng)于用于刪除SGSN和GGSN之間針對訂戶會話的GTP隧道的請求,發(fā)起該過程(塊1821)。訂戶會話將3GPC中的用戶設(shè)備連接到訂戶會話的另一端點,該另一端點可以是另一用戶設(shè)備(UE)、服務(wù)器或類似端點。GTP隧道是跨3GPC網(wǎng)絡(luò)的核心網(wǎng)來建立的通向?qū)Φ赛c、互聯(lián)網(wǎng)或類似端點的訂戶會話的路由。當(dāng)用戶設(shè)備上的關(guān)聯(lián)應(yīng)用或另一用戶設(shè)備上的應(yīng)用或者訂戶會話的另一端上的服務(wù)器應(yīng)用終止連接時,刪除訂戶會話和關(guān)聯(lián)的GTP隧道。然后通過刪除訂戶會話和GTP隧道來回收訂戶會話資源。控制器移除在實現(xiàn)了SGSN的曾封裝和解封訂戶會話的數(shù)據(jù)分組的交換機(jī)處的GTP隧道的配置,并由此移除第一GTP隧道端點(塊1823)??刂破鬟€從GTP隧道的路由中的曾根據(jù)GTP隧道的路由在每個方向上轉(zhuǎn)發(fā)分組的每個交換機(jī)中移除GTP隧道的配置(塊1815)??刂破鲝脑庋b和解封訂戶會話的分組的GGSN的數(shù)據(jù)平面中移除GTP隧道的配置,以及由此在GGSN處移除GTP隧道的第二端點(塊1827)。在圖19中,示出了用于創(chuàng)建會話請求過程的開放流消息流的示例。在所示示例中,SSGN控制平面組件向云計算系統(tǒng)中的GGSN控制平面組件發(fā)送創(chuàng)建會話請求,然后GGSN控制平面組件通過GTP路由更新RPC調(diào)用向控制器發(fā)送該請求。RPC調(diào)用請求:開放流控制器在數(shù)據(jù)平面中在SGSN和GGSN處建立新的GTP隧道端點,以及在中間交換機(jī)上安裝用于新的GTP承載或隧道的路由(如果需要)。在從GTP路由更新RPC向控制平面GGSN返回結(jié)果之前,開放流控制器向恰當(dāng)?shù)臄?shù)據(jù)平面網(wǎng)關(guān)實體發(fā)出開放流消息序列。在示例實施例中,該序列以O(shè)FP_BARRIER_REQUEST開始,以確保不存在可能影響對后續(xù)消息的處理的待處理消息。然后,發(fā)出OFPT_FLOW_MOD消息,包括具有GTP擴(kuò)展作為匹配字段和OFPFC_ADD作為命令字段的ofp_match結(jié)構(gòu)。該消息如上所述指定了用于建立用于GTP隧道的流路由的動作和指令,該流路由通過恰當(dāng)虛擬端口對分組進(jìn)行封裝和解封。此外,緊接在OFPT_FLOW_MOD消息之后,開放流控制器向網(wǎng)關(guān)發(fā)出包含針對封裝虛擬端口的TEID散列表條目在內(nèi)的GTP_ADD_TEID_TABLE_ENTRY消息。如上所述,這兩個開放流消息之后是OFPT_BARRIER_REQUEST消息,以強制網(wǎng)關(guān)在繼續(xù)進(jìn)行之前處理流路由和TEID散列表更新。在從GTP路由更新RPC返回之前,開放流控制器還向需要在定制的GTP流路由中涉及的任何GTP擴(kuò)展開放流交換機(jī)(GxOFS)發(fā)出GTP流路由更新。這些更新中的消息包含:OFP_BARRIER_REQUEST,之后是OFPT_FLOW_MOD消息(該OFPT_FLOW_MOD消息包含具有新的GTP流的GTP擴(kuò)展作為匹配字段和OFPFC_ADD作為命令字段的ofp_match結(jié)構(gòu))、以及上文描述的用于定制的GTP流路由的動作和指令。最終的OFP_BARRIER_REQUEST強制交換機(jī)在響應(yīng)之前處理該改變。如圖19所示,任何GxOFS上的流路由是在數(shù)據(jù)平面中在SGSN上安裝GTP隧道端點路由之后并且在數(shù)據(jù)平面中在GGSN上安裝GTP隧道端點路由之前安裝的。開放流控制器不對控制平面GGSNRPC進(jìn)行響應(yīng),直到實現(xiàn)了所有流路由更新為止。一旦返回了RPC,控制平面GGSN和SGSN返回創(chuàng)建PDP上下文響應(yīng)消息。GTP承載的特性是使用更新PDP上下文請求過程來改變的。這種改變可以例如包括被指派給IP分組的QoS。該過程在各種3GPC消息序列中使用,例如UE觸發(fā)的服務(wù)請求。圖20是用于修改會話請求過程的開放流消息序列的一個實施例的圖。與會話創(chuàng)建一樣,3GPC云控制平面SGSN向控制平面GGSN發(fā)出更新PDP上下文請求消息,且控制平面GGSN向開放流控制器發(fā)出包括新隧道更新信息在內(nèi)的GTP路由更新RPC。然后開放流控制器向數(shù)據(jù)平面SGSN、GxOFS、以及數(shù)據(jù)平面GGSN發(fā)出GTP擴(kuò)展開放流消息。在從GTP路由更新RPC向控制平面GGSN返回結(jié)果之前,開放流控制器向恰當(dāng)?shù)臄?shù)據(jù)平面網(wǎng)關(guān)實體發(fā)出開放流消息序列。該序列以O(shè)FP_BARRIER_REQUEST開始,以確保不存在可能影響對后續(xù)消息的處理的待處理消息。然后,發(fā)出OFPT_FLOW_MOD消息,包括具有GTP擴(kuò)展作為匹配字段和OFPFC_MODIFY或OFPFC_MODIFY_STRICT作為命令字段的ofp_match結(jié)構(gòu)。如果需要,該消息如上所述指定了用于建立用于GTP隧道的新的流路由的動作和指令,該新的流路由通過恰當(dāng)虛擬端口對分組進(jìn)行封裝和解封。此外,如果在TEID散列表中要求改變,則緊接在OFPT_FLOW_MOD消息之后,開放流控制器發(fā)出用于刪除條目的TP_DEL_TEID_TABLE_ENTRY,之后是用于安裝新條目的TP_ADD_TEID_TABLE_ENTRY。如上所述,這兩個開放流消息之后是OFPT_BARRIER_REQUEST消息,以強制網(wǎng)關(guān)在繼續(xù)進(jìn)行之前處理流路由和TEID散列表更新。在從GTP路由更新RPC返回之前,開放流控制器還向需要在定制的GTP流路由中涉及的任何GTP擴(kuò)展開放流交換機(jī)(GxOFS)發(fā)出必要的GTP流路由更新。這些更新中的消息包含:OFP_BARRIER_REQUEST,之后是OFPT_FLOW_MOD消息(該OFPT_FLOW_MOD消息包含具有新的GTP流的GTP擴(kuò)展作為匹配字段和OFPFC_MODIFY或OFPFC_MODIFY_STRICT作為命令字段的ofp_match結(jié)構(gòu))、以及(如果需要)如上文描述的用于定制的GTP流路由的動作和指令。最終的OFP_BARRIER_REQUEST強制交換機(jī)在響應(yīng)之前處理該改變。如圖20所示,任何GxOFS上的流路由是在數(shù)據(jù)平面SGSN上安裝GTP隧道端點路由之后以及在數(shù)據(jù)平面GGSN上安裝GTP隧道端點路由之前安裝的。開放流控制器不對控制平面GGSNRPC進(jìn)行響應(yīng),直到實現(xiàn)了所有流路由更新為止。一旦返回了RPC,控制平面GGSN和SGSN返回更新PDP上下文消息。使用刪除會話請求過程來刪除GTP隧道。該過程在各種3GPC消息序列中使用,例如UE觸發(fā)的分離請求。圖21是用于刪除會話請求過程的開放流消息序列的一個實施例的圖。類似于會話創(chuàng)建和修改,3GPC云控制平面SGSN向控制平面GGSN發(fā)出刪除PDP上下文請求消息,且控制平面GGSN向開放流控制器發(fā)出包括隧道刪除信息在內(nèi)的GTP路由更新RPC。然后開放流控制器向數(shù)據(jù)平面SGSN、GxOFS、以及數(shù)據(jù)平面GGSN發(fā)出GTP擴(kuò)展開放流消息。開放流信令是在向調(diào)用方返回GTP路由更新RPC之前進(jìn)行的。該序列以O(shè)FP_BARRIER_REQUEST開始,以確保不存在可能影響對后續(xù)消息的處理的待處理消息。然后,發(fā)出OFPT_FLOW_MOD消息,包括具有GTP擴(kuò)展作為匹配字段和OFPFC_DELETE或OFPFC_DELETE_STRICT作為命令字段的ofp_match結(jié)構(gòu)。此外,緊接在OFPT_FLOW_MOD消息之后,開放流控制器發(fā)出GTP_DEL_TEID_TABLE_ENTRY,以刪除TEID散列表條目。如上所述,該開放流消息之后是OFPT_BARRIER_REQUEST消息,以強制網(wǎng)關(guān)在繼續(xù)進(jìn)行之前處理流路由和TEID散列表更新。在從GTP路由更新RPC返回之前,開放流控制器還向需要在定制的GTP流路由中涉及的任何GTP擴(kuò)展開放流交換機(jī)發(fā)出必要的GTP流路由更新。這些更新中的消息包含:OFP_BARRIER_REQUEST,之后是OFPT_FLOW_MOD消息(該OFPT_FLOW_MOD消息包含具有新的GTP流的GTP擴(kuò)展作為匹配字段和OFPFC_DELETE或OFPFC_DELETE_STRICT作為命令字段的ofp_match結(jié)構(gòu))。最終的OFP_BARRIER_REQUEST強制交換機(jī)在響應(yīng)之前處理該改變。如圖21所示,任何GxOFS上的流路由是在數(shù)據(jù)平面SGSN上安裝GTP隧道端點路由之后以及在數(shù)據(jù)平面GGSN上安裝GTP隧道端點路由之前安裝的。開放流控制器不對調(diào)用實體進(jìn)行響應(yīng),直到實現(xiàn)了所有流路由更新為止。備選實現(xiàn)在其他實施例中,分割3GPC架構(gòu)可以在非云和非虛擬化系統(tǒng)中實現(xiàn)。可以將3GPC架構(gòu)的控制平面實體存儲和執(zhí)行在單一服務(wù)器上或跨任何數(shù)目的服務(wù)器或類似計算設(shè)備來分布。類似地,在沒有虛擬化或類似系統(tǒng)的情況下,控制平面實體可以作為標(biāo)準(zhǔn)軟件代碼和模塊來執(zhí)行。這些控制平面實體可以通過本地系統(tǒng)或過程調(diào)用、遠(yuǎn)程過程調(diào)用或類似機(jī)制來彼此通信。在其他實施例中,控制平面實體的子集可以在云計算系統(tǒng)中虛擬化或執(zhí)行,而控制平面實體的另一子集可以在服務(wù)器、分布式服務(wù)器系統(tǒng)或類似系統(tǒng)中執(zhí)行。控制平面實體可以通過使用如本文上面所述的開放流協(xié)議或通過如若本文下面描述的其他控制協(xié)議與數(shù)據(jù)平面通信。本文上面描述的云計算系統(tǒng)是作為示例而非限制來提供的。本領(lǐng)域技術(shù)人員將理解:上面關(guān)于云計算系統(tǒng)描述的原理和特征也可以實現(xiàn)在其他配置下,例如單一服務(wù)器或分布式服務(wù)器系統(tǒng)。與上面描述的原理和特征類似的原理和特征可以實現(xiàn)在單一服務(wù)器系統(tǒng)、分布式服務(wù)器系統(tǒng)和類似的計算環(huán)境中。也可以使用包括非虛擬化控制平面實體在內(nèi)的非虛擬化環(huán)境來實現(xiàn)這些原理和特征,這些非虛擬化控制平面實體是以云計算系統(tǒng)、單一服務(wù)器、分布式服務(wù)器系統(tǒng)和類似系統(tǒng)的任何組合的方式來執(zhí)行的。在其他實施例中,代替本文描述的開放流,可以使用其他控制協(xié)議。對開放流的使用是作為示例而非限制來提出的。其他控制協(xié)議也可以用于管理控制平面和數(shù)據(jù)平面之間的通信以及分割3GPC架構(gòu)的數(shù)據(jù)平面的配置。這種協(xié)議的示例是FORCES,其是用于分割網(wǎng)絡(luò)中的控制平面和轉(zhuǎn)發(fā)平面的IETF標(biāo)準(zhǔn)協(xié)議。FORCES協(xié)議規(guī)范在RFC5810中描述。RFC5812描述了FORCES轉(zhuǎn)發(fā)單元(開放流交換機(jī)的等價)的架構(gòu)。FORCES協(xié)議本身不直接支持將路由編程到轉(zhuǎn)發(fā)單元中,相反其是用于處理FORCES控制器和FORCES轉(zhuǎn)發(fā)單元之間的交互的框架。轉(zhuǎn)發(fā)單元架構(gòu)描述了如何設(shè)計實際上允許FORCES控制器對FORCES轉(zhuǎn)發(fā)單元進(jìn)行編程的協(xié)議。本領(lǐng)域技術(shù)人員將理解:基于FORCES的系統(tǒng)可以包括本文上面結(jié)合開放流實施例來描述的特征,例如GTP開放流擴(kuò)展,以允許控制器對用于GTPTEID路由的交換機(jī)進(jìn)行編程。FORCES和開放流是作為示例而非限制來提供的。本領(lǐng)域技術(shù)人員將理解:上面關(guān)于FORCES和開放流描述的原理和特征也可以實現(xiàn)在其他類似控制協(xié)議中。如本文使用的,網(wǎng)絡(luò)設(shè)備(ND)是將網(wǎng)絡(luò)上其他電子設(shè)備(例如,其他網(wǎng)絡(luò)設(shè)備、端用戶設(shè)備)加以通信互聯(lián)的電子設(shè)備。一些網(wǎng)絡(luò)設(shè)備是為多個聯(lián)網(wǎng)功能(例如,路由、橋接、交換、層2聚合、會話邊界控制、服務(wù)質(zhì)量、和/或訂戶管理)提供支持、和/或為多應(yīng)用服務(wù)(例如,數(shù)據(jù)、語音、和視頻)提供支持的“多服務(wù)網(wǎng)絡(luò)設(shè)備”。網(wǎng)絡(luò)設(shè)備可以包括實現(xiàn)了數(shù)據(jù)平面的開放流交換機(jī)的設(shè)備、實現(xiàn)了SGSN-D、GGSN-D的設(shè)備以及網(wǎng)絡(luò)中的類似設(shè)備。圖22A示出了根據(jù)本發(fā)明一些實施例的示例網(wǎng)絡(luò)內(nèi)的網(wǎng)絡(luò)設(shè)備(ND)之間的連接性以及ND的三種示例實現(xiàn)。圖22A示出了ND2200A~H,以及借助A~B、B~C、C~D、D~E、E~F、F~G、A~G之間和H與A、C、D和G中每一個之間的線示出了它們的連接性。這些ND是物理設(shè)備,且這些ND之間的連接性可以是無線的或有線的(經(jīng)常被稱為鏈路)。從ND2200A、E和F延伸的附加線示出了:這些ND擔(dān)當(dāng)網(wǎng)絡(luò)的進(jìn)入點和離開點(且從而這些ND有時被稱為邊緣ND;而其他ND可以被稱為核心ND)。圖22A中的兩個示例ND實現(xiàn)是:1)專用網(wǎng)絡(luò)設(shè)備2202,其使用定制的專用集成電路(ASIC)和專有操作系統(tǒng)(OS);以及2)通用網(wǎng)絡(luò)設(shè)備22044,其使用常見的現(xiàn)貨供應(yīng)(COTS)處理器和標(biāo)準(zhǔn)0S。專用網(wǎng)絡(luò)設(shè)備2202包括聯(lián)網(wǎng)硬件2210,聯(lián)網(wǎng)硬件2210包括計算資源2212(其通常包括一個或多個處理器的集合)、轉(zhuǎn)發(fā)資源2214(其通常包括一個或多個ASIC和/或網(wǎng)絡(luò)處理器)、以及物理網(wǎng)絡(luò)接口(NI)2216(有時被稱為物理端口)、以及其中存儲有聯(lián)網(wǎng)軟件2220的非瞬時機(jī)器可讀存儲介質(zhì)2218。物理NI是ND中的硬件,通過該硬件進(jìn)行網(wǎng)絡(luò)連接(例如,通過無線網(wǎng)絡(luò)接口控制器(WNIC)以無線方式或者通過將電線插入連接到網(wǎng)絡(luò)接口控制器(NIC)的物理端口),例如由ND2200A~H之間的連接所示出的那些連接。在操作期間,聯(lián)網(wǎng)軟件2220可以由聯(lián)網(wǎng)硬件2210來執(zhí)行,以實例化一個或多個聯(lián)網(wǎng)軟件實例2222的集合。每個聯(lián)網(wǎng)軟件實例2222以及聯(lián)網(wǎng)硬件2210的執(zhí)行該網(wǎng)絡(luò)軟件實例的部分(如果其是專用于該聯(lián)網(wǎng)軟件實例的硬件和/或由該聯(lián)網(wǎng)軟件實例與其他聯(lián)網(wǎng)軟件實例2222按時間共享的硬件的時間片)形成了單獨的虛擬網(wǎng)元2230A~R。每個虛擬網(wǎng)元(VNE)2230A~R包括控制通信和配置模塊2232A~R(有時被稱為本地控制模塊或控制通信模塊)和轉(zhuǎn)發(fā)表2234A~R,使得給定的虛擬網(wǎng)元(例如,2230A)包括控制通信和配置模塊(例如,2232A)、一個或多個轉(zhuǎn)發(fā)表的集合(例如,2234A)、以及聯(lián)網(wǎng)硬件2210的執(zhí)行虛擬網(wǎng)元(例如,2230A)的部分。在本文上面描述的實施例中,網(wǎng)絡(luò)設(shè)備可以將3GPC的任何數(shù)據(jù)平面功能實現(xiàn)為數(shù)據(jù)平面模塊2233A的集合。數(shù)據(jù)平面模塊2233A可以經(jīng)由ND控制平面2224來配置并與ND的轉(zhuǎn)發(fā)平面2226進(jìn)行交互。在一些實施例中,數(shù)據(jù)平面模塊可以實現(xiàn)SGSN數(shù)據(jù)平面(SGSN-D)或GGSN數(shù)據(jù)平面(GGSN-D)或3GPC中類似組件的功能。專用網(wǎng)絡(luò)設(shè)備2202經(jīng)常在物理上和/或邏輯上被視為包括:1)ND控制平面2224(有時被稱為控制平面),包括執(zhí)行控制通信和配置模塊2232A~R的計算資源2212;以及2)ND轉(zhuǎn)發(fā)平面2226(有時被稱為轉(zhuǎn)發(fā)平面、數(shù)據(jù)平面、或媒體平面),包括利用轉(zhuǎn)發(fā)表2234A~R的轉(zhuǎn)發(fā)資源2214和物理NI2216。作為ND是路由器(或?qū)崿F(xiàn)路由功能)的示例,ND控制平面2224(執(zhí)行控制通信和配置模塊2232A~R的計算資源2212)通常負(fù)責(zé)參與控制如何路由(例如,數(shù)據(jù)的下一跳和該數(shù)據(jù)的輸出物理NI)數(shù)據(jù)(例如,分組)并負(fù)責(zé)在轉(zhuǎn)發(fā)表2234A~R中存儲該路由信息,以及ND轉(zhuǎn)發(fā)平面2226負(fù)責(zé)在物理NI2216上接收該數(shù)據(jù)并基于轉(zhuǎn)發(fā)表2234A~R將該數(shù)據(jù)轉(zhuǎn)發(fā)出物理NI2216中的恰當(dāng)物理NI。圖22B示出了根據(jù)本發(fā)明一些實施例的用于實現(xiàn)專用網(wǎng)絡(luò)設(shè)備2202的示例方式。圖22B示出了包括卡2238(通常是可熱插拔的)在內(nèi)的專用網(wǎng)絡(luò)設(shè)備。盡管在一些實施例中,卡2238具有兩種類型(作為ND轉(zhuǎn)發(fā)平面2226來工作的一個或多個(有時被稱為線路卡)、以及進(jìn)行工作以實現(xiàn)ND控制平面2224的一個或多個(有時被稱為控制卡)),備選實施例可以將功能結(jié)合到單一卡上和/或包括附加卡類型(例如,一種附加類型的卡被稱為服務(wù)卡、資源卡、或多應(yīng)用卡)。服務(wù)卡可以提供特殊處理(例如,層4到層7服務(wù)(例如,防火墻、網(wǎng)際協(xié)議安全(IPsec)(RFC4301和4309)、安全套接字層(SSL)/傳輸層安全(TLS)、入侵檢測系統(tǒng)(IDS)、對等(P2P)、基于IP的語音(VoIP)會話邊界控制器、移動無線網(wǎng)關(guān)(網(wǎng)關(guān)通用分組無線電服務(wù)(GPRS)支持節(jié)點(GGSN)、演進(jìn)分組核心(EPC)網(wǎng)關(guān))))。作為示例,服務(wù)卡可以用于端接IPsec隧道,并執(zhí)行伴隨的認(rèn)證和加密算法。這些卡通過示出為背板2236的一個或多個互聯(lián)機(jī)制耦合在一起(例如,第一全網(wǎng)格耦合線路卡以及第二全網(wǎng)格耦合所有卡)耦合。返回圖22A,通用網(wǎng)絡(luò)設(shè)備2204包括硬件2240,硬件2240包括一個或多個處理器2242(其經(jīng)常是COTS處理器)的集合和網(wǎng)絡(luò)接口控制器2244(NIC,也被稱為網(wǎng)絡(luò)接口卡)(其包括物理NI2246)、以及其中存儲有軟件2250的非瞬時機(jī)器可讀存儲介質(zhì)2248。在操作期間,處理器2242執(zhí)行軟件2250以實例化監(jiān)管程序2254(有時被稱為虛擬機(jī)監(jiān)視器(VMM))以及由監(jiān)管程序2254運行的一個或多個虛擬機(jī)2262A~R,它們統(tǒng)稱為軟件實例2252。虛擬機(jī)是將程序運行的好像它們在物理的、非虛擬化的機(jī)器上執(zhí)行一樣的物理機(jī)器的軟件實現(xiàn);以及應(yīng)用一般不知道它們運行在虛擬機(jī)上還是運行在“純金屬”的主機(jī)電子設(shè)備上,然而出于優(yōu)化目的,一些系統(tǒng)提供允許操作系統(tǒng)或應(yīng)用能夠意識到存在虛擬化的準(zhǔn)虛擬化(para-virtualization)。每個虛擬機(jī)2262A~R以及硬件2240的執(zhí)行該虛擬機(jī)的部分(如果其是專用于該虛擬機(jī)的硬件和/或由該虛擬機(jī)與其他虛擬機(jī)2262A~R按時間共享的硬件的時間片)形成了單獨的虛擬網(wǎng)元2260A~R。虛擬網(wǎng)元2260A~R執(zhí)行與虛擬網(wǎng)元2230A~R類似的功能。例如,監(jiān)管程序2254可以呈現(xiàn)虛擬操作平臺,該虛擬操作平臺對于虛擬機(jī)2262A表現(xiàn)得向聯(lián)網(wǎng)硬件2210一樣,且虛擬機(jī)2262A可以用于實現(xiàn)與控制通信和配置模塊2232A和轉(zhuǎn)發(fā)表2234A類似的功能(硬件2240的該虛擬化有時被稱為網(wǎng)絡(luò)功能虛擬化(NFV))。從而,NFV可以用于將很多網(wǎng)絡(luò)設(shè)備類型統(tǒng)一到工業(yè)標(biāo)準(zhǔn)高容量服務(wù)器硬件、物理交換機(jī)、和物理存儲器,它們可以位于數(shù)據(jù)中心、ND、和客戶住宅設(shè)備(CPE)中。然而,本發(fā)明的不同實施例可以用不同方式來實現(xiàn)虛擬機(jī)2262A~R中的一個或多個。例如,盡管將本發(fā)明的實施例示出為每個虛擬機(jī)2262A~R對應(yīng)于一個VNE2260A~R,備選實施例可以在更精細(xì)級別粒度上實現(xiàn)該對應(yīng)關(guān)系(例如,線路卡虛擬機(jī)虛擬化線路卡,控制卡虛擬機(jī)虛擬化控制卡等等);應(yīng)當(dāng)理解:本文參考虛擬機(jī)與VNE的對應(yīng)關(guān)系來描述的技術(shù)同樣適用于使用這種更精細(xì)級別粒度的實施例。在某些實施例中,監(jiān)管程序2254包括提供與物理以太網(wǎng)交換機(jī)類似的轉(zhuǎn)發(fā)服務(wù)的虛擬交換機(jī)。具體地,該虛擬交換機(jī)在虛擬機(jī)和NIC2244之間轉(zhuǎn)發(fā)業(yè)務(wù),以及可選地在虛擬機(jī)2262A~R之間轉(zhuǎn)發(fā)業(yè)務(wù);此外,該虛擬交換機(jī)可以在不被允許彼此通信的VNE2260A~R之間通過策略來強制執(zhí)行網(wǎng)絡(luò)隔離(例如,通過執(zhí)行虛擬局域網(wǎng)(VLAN))。在本文上面描述的實施例中,虛擬機(jī)2262A~R可以將3GPC的任何數(shù)據(jù)平面功能實現(xiàn)為數(shù)據(jù)平面模塊2263A的集合。數(shù)據(jù)平面模塊2263A可以控制本地ND或3GPC的網(wǎng)絡(luò)中的任何其他ND的轉(zhuǎn)發(fā)平面。在一些實施例中,數(shù)據(jù)平面模塊可以在3GPC的網(wǎng)絡(luò)的ND的集合內(nèi)用分布式方案來實現(xiàn)SGSN數(shù)據(jù)平面(SGSN-D)或GGSN數(shù)據(jù)平面(GGSN-D)或3GPC中類似組件的整個功能或功能的一部分。圖22A中的第三示例ND實現(xiàn)是混合網(wǎng)絡(luò)設(shè)備2206,其在單一ND或ND內(nèi)的單一卡中包括定制ASIC/專有0S和COTS處理器/標(biāo)準(zhǔn)0S。在這種混合網(wǎng)絡(luò)設(shè)備的某些實施例中,平臺VM(即,實現(xiàn)專用網(wǎng)絡(luò)設(shè)備2202的功能的VM)可以向混合網(wǎng)絡(luò)設(shè)備2206中存在的聯(lián)網(wǎng)硬件提供準(zhǔn)虛擬化。不管ND的上述示例實現(xiàn)如何,當(dāng)考慮由ND實現(xiàn)的多個VNE中的單一一個VNE時,或者在NV當(dāng)前僅實現(xiàn)單一VNE的情況下,縮寫的術(shù)語網(wǎng)元(NE)有時被用于指代該VNE。同樣在全部上述示例實現(xiàn)中,每個VNE(例如,VNE2230A~R、VNE2260A~R、以及混合網(wǎng)絡(luò)設(shè)備2206中的那些)在物理NI(例如,2216、2246)上接收數(shù)據(jù)并將該數(shù)據(jù)轉(zhuǎn)發(fā)出物理NI(例如,2216、2246)中的恰當(dāng)物理NI。例如,實現(xiàn)IP路由器功能的VNE基于IP分組中的一些IP報頭信息來轉(zhuǎn)發(fā)IP分組;其中,IP報頭信息包括源IP地址、目的IP地址、源端口、目的端口(其中“源端口”和“目的端口”在本文中被稱為協(xié)議端口,與ND的物理端口相對)、傳輸協(xié)議(例如,用戶數(shù)據(jù)報協(xié)議(UDP)(RFC768、2460、2675、4113、以及5405)、傳輸控制協(xié)議(TCP)(RFC793和1180)、以及差異服務(wù)(DSCP)值(RFC2474、2475、2597、2983、3086、3140、3246、3247、3260、4594、5865、3289、3290、以及3317))。圖22C示出了根據(jù)本發(fā)明一些實施例的可以耦合VNE的各種示例方式。圖22C示出了在ND2200A中實現(xiàn)的VNE2270A.1~2270A.P(以及可選的VNE2280A.Q~2280A.R)以及ND2200H中的VNE2270H.1。在圖22C中,VNE2270A.1~P在以下意義上是彼此分離的:它們可以從ND2200A外部接收分組并向ND2200外部轉(zhuǎn)發(fā)分組。VNE2270A.1與VNE2270H.1耦合,且從而它們在其各自ND之間傳輸分組;VNE2270A.2~2270A.3可以可選地在它們之間轉(zhuǎn)發(fā)分組,而不向ND2200A外部轉(zhuǎn)發(fā)分組;以及VNE2270A.P可以可選地是VNE鏈中的第一個,該VNE鏈包括VNE2270A.Q,之后包括VNE2270A.R(有時這被稱為動態(tài)服務(wù)鏈接,其中,一系列VNE中的每個VNE提供不同服務(wù)-例如,一個或多個層4~7網(wǎng)絡(luò)服務(wù))。盡管圖22C示出了VNE之間的各種示例關(guān)系,備選實施例可以支持其他關(guān)系(例如,更多/更少的VNE、更多/更少的動態(tài)服務(wù)鏈、具有公共VNE和一些不同VNE的多個不同動態(tài)服務(wù)鏈)。圖22A的ND例如可以形成互聯(lián)網(wǎng)或私有網(wǎng)絡(luò)的一部分;以及其他電子設(shè)備(未示出,例如端用戶設(shè)備,包括工作站、膝上型計算機(jī)、上網(wǎng)本、平板電腦、掌上上型計算機(jī)、移動電話、智能電話、多媒體電話、基于網(wǎng)際協(xié)議的語音(VoIP)電話、終端、便攜式媒體播放器、GPS單元、可穿戴設(shè)備、游戲系統(tǒng)、機(jī)頂盒、支持互聯(lián)網(wǎng)的家用電器)可以耦合到網(wǎng)絡(luò)(直接或通過諸如接入網(wǎng)之類的其他網(wǎng)絡(luò)),以通過網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng)或覆蓋(例如,隧道傳輸)在互聯(lián)網(wǎng)上的虛擬私有網(wǎng)絡(luò)(VPN))彼此通信(直接或通過服務(wù)器)和/或訪問內(nèi)容和/或服務(wù)。這種內(nèi)容和/或服務(wù)通常由屬于服務(wù)/內(nèi)容提供商的一個或多個服務(wù)器(未示出)或參與對等(P2P)服務(wù)的一個或多個端用戶設(shè)備(未示出)來提供,且可以包括例如公開網(wǎng)頁(例如,自由內(nèi)容、商店前端頁面、搜索服務(wù))、私有網(wǎng)頁(例如,提供電子郵件服務(wù)的用戶名/密碼訪問網(wǎng)頁)、和/或基于VPN的公司網(wǎng)絡(luò)。例如,端用戶設(shè)備可以耦合(例如,通過(無線或有線)耦合到接入網(wǎng)的客戶住宅設(shè)備)到邊緣ND,邊緣ND耦合(例如,通過一個或多個核心ND)到其他邊緣ND,該其他邊緣ND耦合到擔(dān)當(dāng)服務(wù)器的電子設(shè)備。然而,通過計算和存儲虛擬化,作為圖22A中ND來工作的一個或多個電子設(shè)備還可以提供一個或多個這種服務(wù)器(例如,在通用網(wǎng)絡(luò)設(shè)備2204的情況下,虛擬機(jī)2262A~R中的一個或多個虛擬機(jī)可以作為服務(wù)器工作;這對于混合網(wǎng)絡(luò)設(shè)備2206來說也將是正確的;在專用網(wǎng)絡(luò)設(shè)備2202的情況下,一個或多個這種服務(wù)器還可以運行在由計算資源2212執(zhí)行的監(jiān)管程序上);在該情況下,服務(wù)器被稱為是與該ND的VNE同處一地。虛擬網(wǎng)絡(luò)是提供網(wǎng)絡(luò)服務(wù)(例如,L2和/或L3服務(wù))的物理網(wǎng)絡(luò)(例如,圖22A中的那個物理網(wǎng)絡(luò))的邏輯抽象。虛擬網(wǎng)絡(luò)可以實現(xiàn)為在底層網(wǎng)絡(luò)(例如,L3網(wǎng)絡(luò),如使用隧道(例如,通用路由封裝(GRE)、層2隧道傳輸協(xié)議(L2TP)、IPSec)來創(chuàng)建覆蓋網(wǎng)絡(luò)的網(wǎng)際協(xié)議(IP)網(wǎng)絡(luò))上提供網(wǎng)絡(luò)服務(wù)(例如,層2(L2,數(shù)據(jù)鏈路層)和/或?qū)?(L3,網(wǎng)絡(luò)層)服務(wù))的覆蓋網(wǎng)絡(luò)(有時被稱為網(wǎng)絡(luò)虛擬覆蓋)。網(wǎng)絡(luò)虛擬邊緣(NVE)位于底層網(wǎng)絡(luò)的邊緣處,并參與實現(xiàn)網(wǎng)絡(luò)虛擬化;NVE的面向網(wǎng)絡(luò)側(cè)使用底層網(wǎng)絡(luò)向其他NVE隧道傳輸幀以及隧道傳輸來自其他NVE的幀;NVE的面向外部側(cè)向網(wǎng)絡(luò)外部的系統(tǒng)發(fā)送數(shù)據(jù)和從網(wǎng)絡(luò)外部的系統(tǒng)接收數(shù)據(jù)。虛擬網(wǎng)絡(luò)實例(VNI)是NVE上虛擬網(wǎng)絡(luò)的特定實例(例如,ND上的NE/VNE、ND上NE/VNE的一部分,其中,通過仿真將該NE/VNE分為多個VNE);可以在NVE上實例化一個或多個VNI(例如,作為ND上的不同VNE)。虛擬接入點(VAP)是NVE上用于將外部系統(tǒng)連接到虛擬網(wǎng)絡(luò)的邏輯連接點;VAP可以是通過邏輯接口標(biāo)識符(例如,VLANID)來識別的物理或虛擬端口。網(wǎng)絡(luò)服務(wù)的示例包括:1)以太網(wǎng)LAN仿真服務(wù)(類似于互聯(lián)網(wǎng)工程任務(wù)組(IETF)多協(xié)議標(biāo)簽交換(MPLS)或以太網(wǎng)VPN(EVPN)服務(wù)的基于以太網(wǎng)的多點服務(wù)),其中,外部系統(tǒng)通過基于底層網(wǎng)絡(luò)的LAN環(huán)境跨網(wǎng)絡(luò)互連(例如,NVE針對不同的這種虛擬網(wǎng)絡(luò)提供分離的L2VNI(虛擬交換實例),以及提供跨底層網(wǎng)絡(luò)的L3(例如,IP/MPLS)隧道傳輸封裝);以及2)虛擬化IP轉(zhuǎn)發(fā)服務(wù)(從服務(wù)定義角度來說,類似于IETFIPVPN(例如,邊界網(wǎng)關(guān)協(xié)議(BGP)/MPLSIPVPNRFC4364)),其中,外部系統(tǒng)通過基于底層網(wǎng)絡(luò)的L3環(huán)境跨網(wǎng)絡(luò)互連(例如,NVE針對不同的這種虛擬網(wǎng)絡(luò)提供分離的L3VNI(轉(zhuǎn)發(fā)和路由實例),以及提供跨底層網(wǎng)絡(luò)的L3(例如,IP/MPLS)隧道傳輸封裝)。網(wǎng)絡(luò)服務(wù)還可以包括服務(wù)質(zhì)量能力(例如,業(yè)務(wù)分類標(biāo)記、業(yè)務(wù)調(diào)節(jié)(conditioning)和調(diào)度)、安全能力(例如,用于保護(hù)客戶住宅免受源自網(wǎng)絡(luò)的攻擊的過濾器,以避免有缺陷的路由公告)、以及管理能力(例如,完全檢測和處理)。圖22D示出了根據(jù)本發(fā)明一些實施例的在圖22A的每個ND上具有單一網(wǎng)元的網(wǎng)絡(luò),且在該直觀方案中,對比了(傳統(tǒng)路由器常用的)傳統(tǒng)分布式方案與用于維護(hù)可達(dá)性和轉(zhuǎn)發(fā)信息(也被稱為網(wǎng)絡(luò)控制)的集中式方案。具體地,圖22D示出了具有與圖22A的ND2200A~H相同連接性的網(wǎng)元(NE)2270A~H。圖22D示出了分布式方案2272將用于生成可達(dá)性和轉(zhuǎn)發(fā)信息的責(zé)任分布在NE2270A~H上;換言之,鄰居發(fā)現(xiàn)和拓?fù)浒l(fā)現(xiàn)的過程是分布式的。例如,在使用專用網(wǎng)絡(luò)設(shè)備2202的情況下,ND控制平面2224的控制通信和配置模塊2232A~R通常包括用于實現(xiàn)一個或多個路由協(xié)議的可達(dá)性和轉(zhuǎn)發(fā)信息模塊(例如,諸如邊界網(wǎng)關(guān)協(xié)議(BGP)(RFC4271)之類的外部網(wǎng)關(guān)協(xié)議、內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)(例如,開放最短路徑優(yōu)先(OSPF)(RFC2328和5340)、中間系統(tǒng)對中間系統(tǒng)(IS-IS)(RFC1142)、路由信息協(xié)議(RIP)(版本1RFC1058、版本2RFC2453、以及下一代RFC2080))、標(biāo)簽分布協(xié)議(LDP)(RFC5036)、資源預(yù)留協(xié)議(RSVP)(RFC2205、2210、2211、2212、以及RSVP-業(yè)務(wù)工程(TE):用于LSP隧道的RSVP擴(kuò)展RFC3209、通用多協(xié)議標(biāo)簽交換(GMPLS)信令RSVP-TERFC3473、RFC3936、4495、以及4558)),其與其他NE通信以交換路由,然后基于一個或多個路由度量來選擇那些路由。從而,NE2270A~H(例如,執(zhí)行控制通信和配置模塊2232A~R的計算資源2212)通過分布式地確定網(wǎng)絡(luò)內(nèi)的可達(dá)性并計算其各自的轉(zhuǎn)發(fā)信息來執(zhí)行其參與控制如何路由(例如,數(shù)據(jù)的下一跳以及該數(shù)據(jù)的輸出物理NI)數(shù)據(jù)(例如,分組)的責(zé)任。路由和鄰接關(guān)系存儲在ND控制平面2224上的一個或多個路由結(jié)構(gòu)中(例如,路由信息庫(RIB)、標(biāo)簽信息庫(LIB)、一個或多個鄰接關(guān)系結(jié)構(gòu))。ND控制平面2224使用基于路由結(jié)構(gòu)的信息(例如,鄰接關(guān)系和路由信息)對ND轉(zhuǎn)發(fā)平面2226編程。例如,ND控制平面2224將鄰接關(guān)系和路由信息編程到ND轉(zhuǎn)發(fā)平面2226上的一個或多個轉(zhuǎn)發(fā)表2234A~R(例如,轉(zhuǎn)發(fā)信息庫(FIB)、標(biāo)簽轉(zhuǎn)發(fā)信息庫(LFIB)、以及一個或多個鄰接關(guān)系結(jié)構(gòu))中對于層2轉(zhuǎn)發(fā),ND可以存儲一個或多個橋接表,該一個或多個橋接表用于基于該數(shù)據(jù)中的層2信息來轉(zhuǎn)發(fā)數(shù)據(jù)。盡管上面的示例使用了專用網(wǎng)絡(luò)設(shè)備2202,相同的分布式方案172可以實現(xiàn)在通用網(wǎng)絡(luò)設(shè)備2204和混合網(wǎng)絡(luò)設(shè)備2206上。圖22D示出了集中式方案2274(也被稱為軟件定義的聯(lián)網(wǎng)(SDN)),其將做出與從底層系統(tǒng)(該底層系統(tǒng)向所選目的地轉(zhuǎn)發(fā)業(yè)務(wù))發(fā)送業(yè)務(wù)的位置有關(guān)的決定的系統(tǒng)加以去耦合。所示出的集中式方案2274具有用于在集中式控制平面2276(有時被稱為SDN控制模塊、控制器、網(wǎng)絡(luò)控制器、開放流控制器、SDN控制器、控制平面節(jié)點、網(wǎng)絡(luò)虛擬化機(jī)構(gòu)、或管理控制實體)中生成可達(dá)性和轉(zhuǎn)發(fā)信息的責(zé)任,并從而使得鄰居發(fā)現(xiàn)和拓?fù)浒l(fā)現(xiàn)的過程集中式。集中式控制平面2276具有針對數(shù)據(jù)平面2280(有時被稱為基礎(chǔ)架構(gòu)層、網(wǎng)絡(luò)轉(zhuǎn)發(fā)平面、或轉(zhuǎn)發(fā)平面(其不應(yīng)當(dāng)與ND轉(zhuǎn)發(fā)平面相混淆))的南向接口(southboundinterface)2282,該數(shù)據(jù)平面2280包括NE2270A~H(有時被稱為交換機(jī)、轉(zhuǎn)發(fā)元件、數(shù)據(jù)平面元件、或節(jié)點)。在一個實施例中,集中式控制平面2276包括如本文上面所述的控制平面模塊2281的集合,其實現(xiàn)了3GPC的功能。如本文下面和上面進(jìn)一步討論的,這些功能也可以實現(xiàn)在應(yīng)用層2286處,或經(jīng)由分布式方案2272或其與使用這些方案中任何方案來處理的3GPC的不同控制平面模塊2281功能的任何組合來實現(xiàn)。集中式控制平面2276包括網(wǎng)絡(luò)控制器2278,網(wǎng)絡(luò)控制器2278包括確定網(wǎng)絡(luò)內(nèi)的可達(dá)性并通過南向接口2282向數(shù)據(jù)平面2280的NE2270A~H分發(fā)轉(zhuǎn)發(fā)信息的集中式可達(dá)性和轉(zhuǎn)發(fā)信息模塊2279(其可以使用開放流協(xié)議)。從而,在通常與ND分離的電子設(shè)備上執(zhí)行的集中式控制平面2276中將網(wǎng)絡(luò)情報(networkintelligence)集中式。例如,在數(shù)據(jù)平面2280中使用專用網(wǎng)絡(luò)設(shè)備2202的情況下,ND控制平面2224的每個控制通信和配置模塊2232A~R通常包括提供南向接口2282的VNE側(cè)的控制代理。在該情況下,ND控制平面2224(執(zhí)行控制通信和配置模塊2232A~R的計算資源2212)通過與集中式控制平面2276通信的控制代理來執(zhí)行其參與控制如何路由(例如,數(shù)據(jù)的下一跳和該數(shù)據(jù)的輸出物理NI)數(shù)據(jù)(例如,分組)的責(zé)任,以從集中式可達(dá)性和轉(zhuǎn)發(fā)信息模塊2279接收轉(zhuǎn)發(fā)信息(以及在一些情況下的可達(dá)性信息)(應(yīng)當(dāng)理解:在本發(fā)明的一些實施例中,除了與集中式控制平面2276通信之外,控制通信和配置模塊2232A~R還可以在確定可達(dá)性和計算轉(zhuǎn)發(fā)信息時扮演某個角色-盡管不像分布式方案情況下那么多;這種實施例一般被視為落入集中式方案2274中,但也可以被視為是混合方案)。盡管上述示例使用了專用網(wǎng)絡(luò)設(shè)備2202,可以使用通用網(wǎng)絡(luò)設(shè)備2294和混合網(wǎng)絡(luò)設(shè)備2206來實現(xiàn)同樣的集中式方案174(例如,每個VNE2260A~R通過與集中式控制平面2276通信來執(zhí)行其控制如何路由(例如,該數(shù)據(jù)的下一跳和該數(shù)據(jù)的輸出物理NI)數(shù)據(jù)(例如,分組)的責(zé)任,以從集中式可達(dá)性和轉(zhuǎn)發(fā)信息模塊2279接收轉(zhuǎn)發(fā)信息(以及在一些情況下,可達(dá)性信息);應(yīng)當(dāng)理解:在本發(fā)明的一些實施例中,除了與集中式控制平面2276通信之外,VNE2260A~R還可以在確定可達(dá)性和/或計算轉(zhuǎn)發(fā)信息時扮演某個角色-盡管不像分布式方案情況下那么多)。事實上,對SDN技術(shù)的使用可以增強通常在通用網(wǎng)絡(luò)設(shè)備2204或混合網(wǎng)絡(luò)設(shè)備2206實現(xiàn)中使用的NFV技術(shù),因為NFV能夠通過提供其上可以運行SDN軟件的基礎(chǔ)架構(gòu)來支持SDN,且因為NFV和SDN都打算利用商品服務(wù)器硬件和物理交換機(jī)。圖22D還示出了集中式控制平面2276具有針對應(yīng)用層2286的北向接口2284,在應(yīng)用層2286中駐留有應(yīng)用2288。集中式控制平面2286具有針對應(yīng)用2288來形成虛擬網(wǎng)絡(luò)2292(有時被稱為邏輯轉(zhuǎn)發(fā)平面、網(wǎng)絡(luò)服務(wù)、或覆蓋網(wǎng)絡(luò)(且數(shù)據(jù)平面2280的NE2270A~H是底層網(wǎng)絡(luò)))的能力。從而,集中式控制平面2276維護(hù)所有ND和所配置的NE/VNE的全局視圖,且其將虛擬網(wǎng)絡(luò)高效地映射到底層ND(包括當(dāng)物理網(wǎng)絡(luò)通過硬件(ND、鏈路、或ND組件)故障、添加、或移除來改變時維護(hù)這些映射)盡管圖22D示出了與集中式方案2274不同的分布式方案2272,在本發(fā)明的某些實施例中,網(wǎng)絡(luò)控制的工作可以用不同方式分布或者這二者可以結(jié)合。例如:1)實施例一般可以使用集中式方案(SDN)22744,但是具有委托給NE的某些功能(例如,分布式方案可以用于實現(xiàn)故障監(jiān)視、性能監(jiān)視、保護(hù)切換、以及用于鄰居和/或拓?fù)浒l(fā)現(xiàn)的基元(primitive)中的一項或多項);或者2)本發(fā)明的實施例可以經(jīng)由集中式控制平面和分布式協(xié)議這二者來執(zhí)行鄰居發(fā)現(xiàn)和拓?fù)浒l(fā)現(xiàn),且比較結(jié)果以在它們不一致的地方提出異常。這種實施例一般被視為落入集中式方案2274中,但也可以被視為是混合方案。盡管圖22D示出了每個ND2200A~H實現(xiàn)單一NE2270A~H的簡單情況,應(yīng)當(dāng)理解:參照圖22D描述的網(wǎng)絡(luò)控制方案同樣適用于一個或多個ND2200A~H實現(xiàn)多個VNE(例如,VNE2230A~R、VNE2260A~R、在混合網(wǎng)絡(luò)設(shè)備2206中的那些)的網(wǎng)絡(luò)。備選地或附加地,網(wǎng)絡(luò)控制器2278還可以對在單一ND中實現(xiàn)多個VNE加以仿真。具體地,取代(或除了)在單一ND中實現(xiàn)多個VNE(之外),網(wǎng)絡(luò)控制器2278(還)可以將單一ND中的VNE/NE的實現(xiàn)呈現(xiàn)為虛擬網(wǎng)絡(luò)2292中的多個VNE(在同一個虛擬網(wǎng)絡(luò)2292中的全部、不同虛擬網(wǎng)絡(luò)2292中的每一個、或某種組合)。例如,網(wǎng)絡(luò)控制器2278可以使得ND在底層網(wǎng)絡(luò)中實現(xiàn)單一VNE(NE),然后對集中式控制平面2276內(nèi)的該NE的資源進(jìn)行邏輯分割,以在虛擬網(wǎng)絡(luò)2292中呈現(xiàn)不同的VNE(其中,底層網(wǎng)絡(luò)中的這些不同VNE共享底層網(wǎng)絡(luò)中ND上的單一VNE/NE實現(xiàn)的資源)。另一方面,圖22E和22F分別示出了NE和VNE的示例抽象,網(wǎng)絡(luò)控制器2278可以將其作為不同的虛擬網(wǎng)絡(luò)2292的一部分來呈現(xiàn)。圖22E示出了根據(jù)本發(fā)明一些實施例的以下簡單情況:ND2200A~H中的每一個實現(xiàn)單一NE2270A~H(參見圖22D),而集中式控制平面2276將不同ND中的多個NE(NE2270A~C和G~H)抽象為(以表示)圖22D的虛擬網(wǎng)絡(luò)2292之一中的單一NE2270I。圖22E示出了:在該虛擬網(wǎng)絡(luò)中,NE2270I耦合到NE2270D和2270F,他們都依然耦合到NE2270E。圖22F示出了根據(jù)本發(fā)明一些實施例的以下情況:在不同ND(ND2200A和ND2200H)上實現(xiàn)多個VNE(VNE2270A.1和VNE2270H.1)并且多個VNE彼此耦合,以及集中式控制平面2276將這些多個VNE加以抽象,使得他們表現(xiàn)為圖22D的虛擬網(wǎng)絡(luò)2292之一中的單一VNE2270T。從而,NE或VNE的抽象可以跨多個ND。盡管本發(fā)明的一些實施例將集中式控制平面2276時限為單一實體(例如,單一電子設(shè)備運行的軟件的單一實例),備選實施例可以出于冗余和/或可擴(kuò)縮性的目的將功能分散在多個實體上(例如,不同電子設(shè)備上運行的軟件的多個實例)。類似于網(wǎng)絡(luò)設(shè)備實現(xiàn),可以用各種方式(例如,專用設(shè)備、通用(例如,COTS)設(shè)備、或混合設(shè)備)來實現(xiàn)集中式控制平面2276上運行的電子設(shè)備,且從而實現(xiàn)包括集中式可達(dá)性和轉(zhuǎn)發(fā)信息模塊2279在內(nèi)的網(wǎng)絡(luò)控制器2278。這些電子設(shè)備將類似地包括計算資源、一個或多個物理NIC的集合、以及其上存儲有集中式控制平面軟件的非瞬時機(jī)器可讀存儲介質(zhì)。例如,圖23示出了包括硬件2340在內(nèi)的通用控制平面設(shè)備2304,硬件2340包括一個或多個處理器2342(其經(jīng)常是COTS處理器)的集合和網(wǎng)絡(luò)接口控制器2344(NIC;也被稱為網(wǎng)絡(luò)接口卡)(其包括物理NI2346)、以及其中存儲有集中式控制平面(CCP)軟件2350的非瞬時機(jī)器可讀存儲介質(zhì)2348。控制平面設(shè)備2304可以是聯(lián)網(wǎng)在一起以形成本文上面所述的云計算系統(tǒng)或類似系統(tǒng)的很多這種設(shè)備之一,且具體地用于實現(xiàn)3GPC的控制平面。在使用計算虛擬化的實施例中,處理器2342通常執(zhí)行軟件,以實例化監(jiān)管程序2354(有時被稱為虛擬機(jī)監(jiān)視器(VMM))和由監(jiān)管程序2354運行的一個或多個虛擬機(jī)2362A~R;它們統(tǒng)稱為軟件實例2352。虛擬機(jī)是將程序運行的好像它們在物理的、非虛擬化的機(jī)器上執(zhí)行一樣的物理機(jī)器的軟件實現(xiàn);以及應(yīng)用一般意識不到它們運行在虛擬機(jī)上還是運行在“純金屬”的主機(jī)電子設(shè)備上,然而出于優(yōu)化目的,一些系統(tǒng)提供允許操作系統(tǒng)或應(yīng)用能夠意識到存在虛擬化的準(zhǔn)虛擬化(para-virtualization)。同樣,在使用計算虛擬化的實施例中,在操作期間,在操作系統(tǒng)2364A之上的CCP軟件2350的實例(示出為CCP實例2376A)通常在虛擬機(jī)2362A中執(zhí)行。在不使用計算虛擬化的實施例中,在操作系統(tǒng)2364A之上的CCP實例2376A在“純金屬”通用控制平面設(shè)備2304上執(zhí)行。操作系統(tǒng)2364A提供基本處理、輸入/輸出(I/O)、以及聯(lián)網(wǎng)能力。在一些實施例中,CCP實例2376A包括網(wǎng)絡(luò)控制器實例2378。網(wǎng)絡(luò)控制器實例2378包括:集中式可達(dá)性和轉(zhuǎn)發(fā)信息模塊實例2379(其是向操作系統(tǒng)2364A提供網(wǎng)絡(luò)控制器2278的上下文并與各種NE通信的中間件層)、以及中間件層上的CCP應(yīng)用層2380(有時被稱為應(yīng)用層)(提供各種網(wǎng)絡(luò)操作所要求的情報,例如協(xié)議、網(wǎng)絡(luò)情景察覺、以及用戶接口)。在更為抽象的級別上,集中式控制平面2276中的該CCP應(yīng)用層2380使用虛擬網(wǎng)絡(luò)視圖(網(wǎng)絡(luò)的邏輯視圖)來工作,且中間件層提供從虛擬網(wǎng)絡(luò)到物理視圖的轉(zhuǎn)換。在一個實施例中,實現(xiàn)了3GPC的控制平面的功能的任何數(shù)量或任何組合方式的控制平面模塊2381可以由虛擬機(jī)2362A作為(CCP軟件的)集中式控制平面(CCP)實例2376A的一部分執(zhí)行或在類似虛擬化配置下執(zhí)行??刂破矫婺K2381可以包括AUC、HLR、HSS、SGSN-C、GGSN-C或3GPC的類似控制平面模塊2381。特定3GPC的控制平面模塊2381可以由相同的虛擬機(jī)2362A來執(zhí)行,或者分布在任何數(shù)量的虛擬機(jī)和任何數(shù)量的控制平面設(shè)備2304上。該分布可以是動態(tài)的,以實現(xiàn)云計算系統(tǒng)中的負(fù)載均衡和類似的資源管理。在一個實施例中,控制平面模塊2381可以是網(wǎng)絡(luò)控制器實例778的CCP應(yīng)用層2381的一部分。集中式控制平面2276基于針對每個流的CCP應(yīng)用層2380計算和中間件層映射向數(shù)據(jù)平面2280發(fā)送相關(guān)消息。流可以被定義為具有匹配給定比特模式的報頭的分組集合;在該意義下,傳統(tǒng)IP轉(zhuǎn)發(fā)也是基于流的轉(zhuǎn)發(fā),其中,通過例如目的IP地址來定義流;然而,在其他實現(xiàn)中,用于流定義的給定比特模式可以在分組報頭中包括更多的字段(例如,10個或更多個)。數(shù)據(jù)平面2280的不同ND/NE/VNE可以接收不同消息,且從而接收不同的轉(zhuǎn)發(fā)信息。數(shù)據(jù)平面2280處理這些消息,并將恰當(dāng)?shù)牧餍畔⒑蛯?yīng)動作編程到恰當(dāng)NE/VNE的轉(zhuǎn)發(fā)表(有時被稱為流表)中,然后NE/VNE可以將進(jìn)入的分組映射到轉(zhuǎn)發(fā)表中表示的流,并基于轉(zhuǎn)發(fā)表中的匹配來轉(zhuǎn)發(fā)分組。諸如開放流之類的標(biāo)準(zhǔn)定義了用于消息的協(xié)議以及用于處理分組的模型。用于處理分組的模型包括:報頭解析、分組分類、以及做出轉(zhuǎn)發(fā)決定。報頭解析描述了如何基于已知的協(xié)議集合來解釋分組。一些協(xié)議字段用于構(gòu)建匹配結(jié)構(gòu)(或鍵),該匹配結(jié)構(gòu)(或鍵)將在分組分類中使用(例如,第一鍵字段可以是源媒體訪問控制(MAC)地址,以及第二鍵字段可以是目的MAC地址)。分組分類涉及在存儲器中執(zhí)行查找,以通過基于轉(zhuǎn)發(fā)表條目的匹配結(jié)構(gòu)、或鍵來確定轉(zhuǎn)發(fā)表中的哪個條目(也被稱為轉(zhuǎn)發(fā)表條目或流條目)最佳匹配分組對分組進(jìn)行分類。轉(zhuǎn)發(fā)表條目中表示的很多流可以對應(yīng)于/匹配分組是可能的;在該情況下,系統(tǒng)通常被配置為根據(jù)定義方案從很多轉(zhuǎn)發(fā)表條目中確定一個轉(zhuǎn)發(fā)表條目(例如,選擇匹配的第一個轉(zhuǎn)發(fā)表條目)。轉(zhuǎn)發(fā)表條目包括匹配標(biāo)準(zhǔn)的特定集合(值集合或通配符、或者對分組的什么部分應(yīng)當(dāng)與特定值/多個特定值/通配符進(jìn)行比較的指示、如匹配能力所定義的-針對分組報頭中的特定字段或者對于某個其他分組內(nèi)容)以及在接收到匹配分組時針對數(shù)據(jù)平面要采取的一個或多個動作的集合。例如,動作可以是:針對使用特定端口的分組,將報頭推壓到分組上,對分組進(jìn)行泛洪(flood),或簡單地丟棄該分組,。從而,具有特定傳輸控制協(xié)議(TCP)目的端口的IPv4/IPv6分組的轉(zhuǎn)發(fā)表條目可以包含指定這些分組應(yīng)當(dāng)被丟棄的動作。基于在分組分類期間識別出的轉(zhuǎn)發(fā)表條目,做出轉(zhuǎn)發(fā)決定并執(zhí)行動作通過針對分組來執(zhí)行在匹配的轉(zhuǎn)發(fā)表條目中識別出的動作集合來發(fā)生。然而,當(dāng)未知分組(例如,如開放流用語中使用的“錯失分組”或“匹配錯失”)到達(dá)數(shù)據(jù)平面2280處時,通常向中心控制平面2276轉(zhuǎn)發(fā)該分組(或分組報頭和內(nèi)容的子集)。然后集中式控制平面2276將轉(zhuǎn)發(fā)表條目編程到數(shù)據(jù)平面2280中,以適應(yīng)屬于該未知分組的流的分組。一旦集中式控制平面2276將特定轉(zhuǎn)發(fā)表條目編程到數(shù)據(jù)平面2280中,則具有匹配憑證的下一個分組將匹配該轉(zhuǎn)發(fā)表條目并采取與所匹配條目相關(guān)聯(lián)的動作集合。網(wǎng)絡(luò)接口(NI)可以是物理或虛擬的;以及在IP的上下文中,接口地址是向NI指派的IP地址,不論是物理NI還是虛擬NI。虛擬NI可以與物理NI相關(guān)聯(lián)、與另一虛擬接口相關(guān)聯(lián)、或者是獨立的(例如,環(huán)回接口、點對點協(xié)議接口)。NI(物理或虛擬)可以是有編號的(具有IP地址的NI)或無編號的(不具有IP地址的NI)。環(huán)回接口(及其環(huán)回地址)是經(jīng)常用于管理用途的NE/VNE(物理或虛擬)的特定類型的虛擬NI(和IP地址);其中,這種IP地址被稱為節(jié)點環(huán)回地址。向ND的NI指派的IP地址被稱為該ND的IP地址;在更多粒度級別上,向ND上實現(xiàn)的NE/VNE指派的NI指派的IP地址可被稱為該NE/VNE的IP地址。路由系統(tǒng)針對給定目的地的下一跳選擇可以解析為一個路徑(即,路由協(xié)議可以生成最短路徑上的一個下一跳);但是如果路由系統(tǒng)確定存在可變數(shù)目的下一跳(即,路由協(xié)議生成的轉(zhuǎn)發(fā)方案提供了最短路徑上的多于一個下一跳-多個相等成本下一跳),使用某些附加標(biāo)準(zhǔn)-例如在無連接網(wǎng)絡(luò)中,可以使用相等成本多路徑(ECMP)(也被稱為相等成本多尋路、多路徑轉(zhuǎn)發(fā)和IP多路徑)(RFC2991和2992)(例如,通常的實現(xiàn)使用特定報頭字段作為標(biāo)準(zhǔn),以確保特定分組流的分組始終在相同的下一跳上轉(zhuǎn)發(fā),以保留分組流排序)。為了多路徑轉(zhuǎn)發(fā)的目的,將分組流定義為共享排序約束的分組集合。作為示例,特定TCP傳輸序列中的分組集合需要按順序到達(dá),否則TCP邏輯將把亂序傳輸解釋為擁塞并將TCP傳輸速率變慢。雖然在若干實施例的意義上描述了本發(fā)明,本領(lǐng)域技術(shù)人員將會認(rèn)識到:本發(fā)明不限于所描述的實施例,而是可利用在所附權(quán)利要求的精神和范圍內(nèi)的修改和改變來實現(xiàn)。本描述因此被視為是說明性的,而非限制性的。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3