通过OPENFLOW数据平面在云计算机中实现EPC的制作方法

文档序号:16902239发布日期:2019-02-19 18:07阅读:185来源:国知局
本发明的实施例涉及用于在云计算机系统中实现演进分组核心的控制平面的方法和系统。具体而言,本发明的实施例涉及使用openflow协议实现由在云计算机系统中执行的控制平面控制数据平面。
背景技术
::通用分组无线电系统(gprs)是用于在诸如蜂窝电话等用户装置与因特网之间传送因特网协议分组的系统。gprs系统包括gprs核心网络,该网络是全球移动通信系统(gsm)的组成部分。这些系统由蜂窝电话网络提供商广泛用于在大区域内实现蜂窝电话服务。gprs隧穿协议(gtp)是在gprs核心网络内利用的重要通信协议。gtp允许gsm网络中的用户装置(例如,蜂窝电话)在不同位置之间移动的同时继续连接到因特网。最终用户装置通过网关gprs支持节点(ggsn)连接到其它装置。ggsn跟踪来自在处理源于最终用户装置的会话的最终用户装置的服务gprs支持节点(ggsn)的最终用户装置的数据。这些形式的gtp由gprs核心网络使用。gtp-u用于在每个分组数据协议(pdp)上下文的单独隧道中用户数据的转移。gtp-c用于控制,包括pdp上下文的设置和删除、ggsn和sgsn可达性的验证及更新。最终用户装置从一个sgsn移到另一sgsn时,gtp-c用于影响此转移。gtp'用于计费数据从gsm到计费网关功能(cgf)的转移,这向记帐系统提供了必需的最终用户装置使用信息。技术实现要素:一种用于在云计算系统中实现第三代合作伙伴项目(3gpp)长期演进(lte)网络的演进分组核心(epc)的控制平面的方法,云计算系统包括云管理器和控制器,控制器执行多个控制平面模块,控制平面通过控制协议与3gpplte网络的多个网络单元中实现的epc的数据平面进行通信,控制平面在云计算系统中实现的epc比控制平面在3gpplte网络的多个网络单元中实现的体系结构更有效地利用资源,方法包括以下步骤:初始化控制器内epc的多个控制平面模块,多个控制平面模块中的每个控制平面模块由云管理器初始化为单独的虚拟机,每个控制平面模块提供用于管理所述数据平面的控制平面功能集;由云管理器监视每个控制平面模块的资源利用和由每个控制平面模块处理的控制平面业务;由云管理器检测到用于epc的多个控制平面模块的一个控制平面模块的资源利用或业务负载的阈值级别;以及响应检测到阈值级别,由云管理器将新控制平面模块初始化为单独的虚拟机,新控制平面模块分担多个控制平面模块的该一个控制平面模块的负载。一种用于实现第三代合作伙伴项目(3gpp)长期演进(lte)网络的演进分组核心(epc)的控制平面的云计算系统,控制平面通过控制协议与3gpplte网络的多个网络单元中实现的epc的数据平面进行通信,控制平面在云计算系统中实现的epc比控制平面在3gpplte网络的多个网络单元中实现的体系结构更有效地利用资源,云计算系统包括:控制器,适用于执行epc的多个控制平面模块,每个控制平面模块提供用于管理数据平面的控制平面功能集;以及云管理器,适用于将控制器内多个控制平面模块的每个控制平面模块初始化为单独的虚拟机,监视每个控制平面模块的资源利用和由每个控制平面模块处理的所述控制平面业务,检测epc的多个控制平面模块的任何控制平面模块是否已达到资源利用或业务负载的阈值级别,以及响应检测到阈值级别,将新控制平面模块初始化为单独的虚拟机,新控制平面模块分担超过阈值级别的多个控制平面模块的该一个控制平面模块的负载。附图说明本发明通过示例方式而不是限制的方式在附图的图形中示出,图中相似的标号表示类似的单元。应注意,在此公开中对“一”或“一个”实施例的不同引用不一定是指相同的实施例,并且此类引用是指至少一个。此外,在结合实某个施例描述某个特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例来实现此类特征、结构或特性是在本领域技术人员的认知之内。图1是带有openflow交换机的示例网络的一个实施例的图。图2是示出流表条目的内容的一个实施例的图。图3示出实现openflow的另一示例体系结构。图4示出分组通过openflow交换机分组处理流水线的处理的一个实施例。图5是openflow规则匹配过程的一个实施例的流程图。图6是匹配过程能够用于识别要应用到分组的规则的字段的图。图7a和7b是用于openflow报头处理的过程的一个实施例的流程图。图8是演进分组核心(epc)的一个实施例的图。图9是在epc中承载的高端布置的一个实施例的图。图10是在主gtp-u封装报头中报头字段的一个实施例的图。图11是服务于客户端集的云计算系统的一个实施例的图。图12是示出添加新服务实例到客户端的vpc的过程的云计算系统的另一实施例的图。图13是云计算系统中实现的epc的一个实施例的图。图14是epc的基本操作的一个实施例的流程图。图15是云计算系统中的epc如何允许被管理服务公司管理在单个数据中心外的多个运营商网络的一个实施例的图。图16是用于专门服务处理的epc对等和差分路由选择的过程的一个实施例的图。图17是用于gtpteid路由选择的openflow流表修改的一个实施例的图。图18是流表行的结构的图。图19是用于创建会话请求过程的openflow消息流的一个实施例的图。图20是用于修改承载请求过程的openflow消息序列的一个实施例的图。图21是用于删除会话请求过程的openflow消息序列的一个实施例的图。具体实施方式在下面的描述中,陈述了许多特定细节。然而,要理解的是,实践本发明的实施例可无需这些特定细节。在其它情况下,公知的电路、结构和技术未详细显示以免混淆对此描述的理解。然而,本领域的技术人员将领会到,可无需此类特定细节而实践本发明。通过包括的描述,本领域技术人员将能够在不进行不当实验的情况下实现适当的功能性。现在将参照图7、14、19和21的示范实施例,描述流程图的操作。然而,应理解的是,流程图的操作能够根据参照图1-6、8-13、15-8和20所述实施例外的本发明的其它实施例执行,并且参照图1-6、8-13、15-8和20所述实施例能够执行与参照图7、14、19和21的流程图所述那些实施例不同的操作。所述图中所示技术可使用一个或多个电子装置(例如,终端站、网络单元等)上存储和执行的代码和/或数据来实现。此类电子装置使用非暂时性机器可读或计算机可读媒体存储和传递(在内部和/或通过网络与其它电子装置)代码和数据,如非暂时性机器可读或计算机可读存储媒体(例如,磁盘、光盘、随机存取存储器、只读存储器、闪存装置及相变存储器)。另外,此类电子装置一般情况下包括耦合到诸如一个或多个存储装置、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)和网络连接等一个或多个其它组件的一个或多个处理器的集合。处理器的集合与其它组件的耦合一般情况下是通过一个或多个总线和桥接器(也称为总线控制器)。存储装置表示一个或多个非暂时性机器可读或计算机可读存储媒体和非暂时性机器可读或计算机可读通信媒体。因此,给定电子装置的存储装置一般情况下存储代码和/或数据以便在该电子装置的一个或多个处理器的集合上执行。当然,本发明的实施例的一个或多个部分可使用软件、固件和/或硬件的不同组合来实现。在本文中使用时,网络单元(例如,路由器、交换器、桥接器等)是一件连网设备,包括硬件和软件,其在通信上与网络上的其它设备(例如,其它网络单元、计算机终端站等)互连。一些网络单元是“多服务网络单元”,其为多个连网功能(例如,路由选择、桥接、交换、第2层聚合、会话边界控制、多播和/或订户管理)提供支持和/或为多个应用服务(例如,数据、话音和视频)提供支持。订户终端站(例如,服务器、工作站、膝上型计算机、掌上型计算机、移动电话、智能电话、多媒体电话、因特网协议话音(voip)电话、便携式媒体播放器、gps单元、游戏系统、机顶盒(stb)等)访问通过因特网提供的内容/服务和/或在因特网上重叠的虚拟专用网(vpn)上提供的内容/服务。所述内容和/或服务一般由属于服务或内容提供商或参与对等服务的终端站的一个或多个终端站(例如,服务器终端站)来提供,并且可包括公共网页(免费内容、店面、搜索服务等)、私有网页(例如,提供电子邮件服务的用户名/密码访问的网页等)、通过vpn的企业网络、iptv等。一般情况下,订户终端站耦合(例如,通过耦合到接入网络(以有线或无线方式)的客户场所设备)到边缘网络单元,所述边缘网络单元耦合(例如通过到其它边缘网络单元的一个或多个核心网络单元)到其它终端站(例如,服务器终端站)。本发明的实施例提供用于避免现有技术的缺点的方法和系统。现有技术的缺点是演进分组核心的以前实现使用专用于特定网络实体的服务器池,如专用于托管移动性管理实体(mme)的服务器池。另外的信令需求要求该额外容量时,在服务器池中实例化新mme实例。然而,在对策略和计费规则功能(pcrf)的需求高并且对mme的需求低时,专用于pcrf服务器的服务器池将高度利用,但用于mme的服务器池利用不足。这些利用不足的服务器池继续要求维护并且产生运营支出,但没有为网络运营商提供最佳绩效。一些情况下,被管理服务公司建立和运营移动运营商网络,而移动运营商本身处理营销、记帐和客户关系。即使每个移动运营商网络和其竞争对手的网络可由相同被管理服务公司管理,用于其网络的信令和数据业务也被保持私有并且与其竞争对手的业务隔离。被管理服务公司必须为它支持的每个移动运营商保持完全单独的服务器池和物理信令网络。因此,存在资源的很大重复和服务器容量的利用不足。由于另外的设备、电源和冷却要求原因,这增大了被管理服务公司和移动运营商网络的运营支出。如当前定义的epc体系结构只允许在移动运营商的固定核心/因特网与移动聚合网络之间有一个存在点(pop),即有单个分组数据网络(pdn)网关。移动网络运营商不能在聚合网络内的相邻运营商之间设置多个对等点和pop。这将降低流入移动运营商的核心网络的业务量,由此降低对昂贵和耗时的核心网络升级的需要。另外,只要注意服务级别协议(sla),对等点通常对运营商便是无成本的。然而,由于需要在单个移动网关将其pop与核心/因特网锚定,因此,此部署灵活性不可用于移动运营商。epc体系结构也包含用于用户流的专门处理的很小灵活性。虽然该体系结构确实提供对建立服务质量(qos)的支持,但其它种类的数据管理不可用。例如,诸如专门深层分组检查或与可能用于转码或扩增现实应用的本地数据缓存和处理资源的交互等涉及中间盒的服务难以使用当前epc体系结构支持。几乎所有此类应用要求分组流通过pdn网关退出,由此从gtp解隧穿,并且在有线网络内处理。在云计算设施中实现epc的控制平面和使用openflow交换机集的epc的数据平面及使用openflow协议(例如,openflow1.1)管理在控制平面与数据平面之间的通信,这造成了openflow协议不支持实现epc的数据平面所必需的gtp或gtp隧道端点标识符(teid)路由选择的问题。本发明的实施例克服了现有技术的这些缺点。通过分割用于epc体系结构的控制平面和数据平面以及通过在云计算设施中部署epc控制平面实体来实现控制平面,同时通过openflow交换机的分布式集合来实现数据平面,避免了现有技术的缺点。openflow协议用于连接两者,通过增强功能支持gtp路由选择。虽然epc体系结构已经在控制平面与数据平面之间具有分割,表现在服务网关(s-gw)和pdn网关(p-gw)是数据平面实体,而mme、pcrf和归属订户服务器(hss)是控制平面实体,但此分割是在移动性管理协议gtp的级别实现。标准epc体系结构采用用于传输的标准路由ip网络,而移动网络实体和协议在其之上实现。本文中所述增强epc体系结构转而在ip路由选择和媒体访问控制(mac)交换级别。不使用l2路由选择和l3内部网关协议分发ip路由选择和将以太网和ip路由选择作为分布式控制实体的集合管理,而是在云设施中集中l2和l3路由选择管理,并且使用openflow协议从云设施控制路由选择。在本文中使用时,“openflow协议”指在斯坦福大学托管的www.openflowswitch.org网站的openflow交换机规范中定义的openflow网络协议和交换规范。在本文中使用时,“openflow交换机”指实现openflow协议的网络单元。标准epc控制平面实体(mme、pcrf和hss)与s-gw和p-gw的控制平面部分(即,s-gw-c和p-gw-c)同样部署在云中。数据平面由带有如用于路由gtp分组所需的增强功能的标准openflow交换机组成,而不是ip路由器和以太网交换机。s-gw和p-gw的数据平面部分(即,s-gw-d和p-gw-d)和e-utran中e-nodeb的分组路由选择部分至少要求用于gtp路由选择的openflow增强功能。视运营商要求对路由选择的精细颗粒控制程度而定,在epc体系结构内的其它交换机上可能需要用于gtp路由选择的另外增强功能。在epc的控制和数据平面部分之间的分割能够与虚拟私有云(vpc)技术一起用于实现单个epc内的多个pop,提供用于专门应用的gtp流特定路由选择,并且从单个云计算设施运行多个运营商网络。在一个实施例中,基于云的epc系统能够实现为硬件装置集。在另一实施例中,系统组件以软件实现(例如,微代码、汇编语言或更高级语言)。这些软件实现能够存储在非暂时性计算机可读介质上。非暂时性“计算机可读”介质能够包括能够存储信息的任何介质。非暂时性计算机可读介质的示例包括只读存储器(rom)、软盘、cdrom、dvd、闪存存储器、硬盘驱动器、光盘或类似介质。openflow1.0网络图1是符合openflow1.0规范,带有openflow交换机的示例网络的一个实施例的图。openflow1.0协议允许控制器101使用安全信道103连接到openflow1.0启用的交换机109和控制交换机109中单个转发表107。控制器101是允许用户配置openflow1.0交换机109的远程计算装置执行的外部软件组件。安全信道103能够由任何类型的网络提供,包括局域网(lan)或诸如因特网等广域网(wan)。图2是示出流表条目的内容的一个实施例的图。转发表107填充有条目,条目由定义用于分组报头中字段的匹配项的规则201、与流匹配项相关联的动作203及有关流的统计的集合205组成。收到输入分组时,在流表107中进行对匹配规则的查找。如果输入分组匹配特定规则,则在分组上执行在该流条目中定义的相关联动作。规则201包含来自协议栈中几个报头的关键字段,例如,来源和目的地以太网mac地址、来源和目的地ip地址、ip协议类型号、输入和输出tcp或udp端口号。为定义流,可使用所有可用匹配字段。但也可能通过将通配符用于不需要的字段,限制匹配规则到可用字段的子集。openflow1.0的规范定义的动作有drop(丢弃)、forward(转发);drop丢弃匹配分组;forward将分组转发到一个或所有输出端口、输入物理端口本身、经安全信道到控制器或本地连网栈(如果存在)。openflow1.0协议数据单元(pdu)通过使用c编程语言指定的结构集定义。一些更常用的消息有:报告交换机配置消息、修改状态消息(包括修改流条目消息和端口修改消息)、读状态消息,其中系统在运行的同时,可使用此消息查询数据路径以了解其当前状态、发送分组消息,该消息在控制器想通过数据路径发出分组时使用。openflow1.0支持允许扩展某些协议单元的“供应商扩展”。协议消息和表动作能够扩展,但流匹配规则不能。本文中下面结合基于云的epc体系结构进一步讨论这些扩展的使用。openflow1.1网络图3示出符合openflow1.1规范,实现openflow的另一示例体系结构。在此实施例中,存在用于多个流表301的显式提供。这允许分组处理流水线混合和匹配特定规则和动作而不在表大小方面造成组合爆炸。例如,一个流表能够执行qos处理,而第二流表进行路由选择。图4示出分组通过openflow1.1交换分组处理流水线的处理的一个实施例。比较收到的分组和每个流表401。在每个流表匹配项后,累积动作成动作集。如果处理要求针对另一流表的匹配,则匹配规则中的动作包括引导处理到流水线中下一表的动作。集中未包括立即执行所有累积动作的动作的情况下,在分组处理流水线结束403时执行动作。一个动作允许将数据写入元数据寄存器,象分组报头一样,该动作一起在分组处理流水线中携带。图5是openflow1.1规则匹配过程的一个实施例的流程图。openflow1.1包含对分组标记的支持。openflow1.1允许基于报头字段和多协议标签交换(mpls)标签的匹配。通过按表匹配一个虚拟lan(vlan)标签和一个mpls标签。在要处理的分组到达时,启动规则匹配过程(方框501)。从第一表0开始,执行查找以确定与收到的分组的匹配项(方框503)。如果在此表中没有匹配项,则采用默认动作集中的一个动作(即,发送分组到控制器,丢弃分组或继续到下一表)(方框509)。如果有匹配项,则连同计数器、分组或匹配项集字段与元数据,进行动作的更新(方框505)。进行检查以确定要处理的下一表,这能够是在顺序上的下一表或由匹配规则的动作指定的一个表(方框507)。一旦所有表已处理,便执行结果动作集(方框511)。图6是匹配过程能够用于识别要应用到分组的规则的字段的图。动作允许通过推送和弹出标签来操纵标记栈。与多个标签相组合,通过每表匹配一个标签,能够处理vlan或mpls标签栈。图7是报头解析过程的一个实施例的流程图。解析过程通过初始化匹配字段集(方框701)和检查是否存在不同报头类型集来匹配分组报头。该过程检查vlan标记(方框703)。如果vlan标记存在,则有用于vlan标记的一系列处理步骤(方框705-707)。如果交换机支持mpls(方框709),则有用于检测和处理mpls报头信息的一系列步骤(方框711-715)。如果交换机支持地址解析协议(arp),则有用于处理arp报头的一系列步骤(方框719和721)。如果分组具有ip报头(方框723),则有用于处理ip报头的一系列步骤(方框725-733)。此过程为每个收到的分组执行。在一个实施例中,结合openflow1.1协议,能够支持组表。组表能够实现用于允许单流匹配触发在多个端口上的转发的方法。组表条目由四个字段组成:组标识符,这是识别组的32比特无符号整数;组类型,它确定组的语义;计数器,它保持有关组的统计;以及动作桶列表,它是动作桶的有序列表,其中,每个桶包含与其参数一起执行的动作集。有四种不同类型的组:all(全部),它执行桶列表中的所有动作,这用于广播或多播转发;select(选择),它基于在openflow协议外的交换机确定的算法,每分组执行一个桶,这用于实现多路径转发;indirect(间接),它在所有分组上执行单个桶,这允许多个流或组指向动作的单个集合而不是在多个转发表条目中定义动作;fastfailover(快速故障转移),它执行第一有效桶,其中,每个桶与控制其有效性的端口相关联,这能够使交换机在故障时转移到另一端口而不涉及控制器。openflow1.1能够用于支持虚拟端口。在本文中使用时,虚拟端口是执行某种处理动作而不是象物理端口一样简单地将分组向外转发到网络连接的“动作块”。几个内置虚拟端口的示例包括:all(全部),它转发到所有端口中除入口端口和标记“donotforward”(不转发)的任何端口外的端口;controller(控制器),它封装分组并将它发送到控制器;table(表),它通过提交分组到第一流表而将分组插入分组处理流水线,此动作只在分组输出消息动作集中有效;以及in_port,它将分组从入口端口发出。在其它实施例中,也能够有交换定义的虚拟端口。epc体系结构图8是演进分组核心(epc)的一个实施例的图。epc是用于包括第三代合作伙伴项目(3gpp)长期演进(lte)的3gpp和非3gpp移动无线系统的下一代分组聚合网络,它也将支持固定宽带系统。图8示出用于3gpp接入系统的epc的基本体系结构。另外的功能性支持漫游终端、非3gpp移动系统和固定宽带接入。所示实施例具有单独的服务网关(s-gw)803和pdn网关(p-gw)805。在其它实施例中,s5接口是内部接口,并且s-gw803和p-gw805被合并。相对于移动无线连网,epc的主要功能是移动性管理和qos。这些功能一般在固定宽带网络中不提供,但它们对于无线网络是至关重要的。移动性管理是在无线终端从一个基站移到另一基站时确保分组网络连接性所必需的。qos是必需的,这是因为不同于固定网络,无线链路在它能够提供到终端的带宽量方面受到严重约束,因此,带宽需要比在固定网络中受到更严格管理以便为用户提供可接受的服务质量。用于实现移动性管理和qos功能的信令由gprs隧穿协议(gtp)提供。gtp具有两个组件:gtp-c,它是控制平面协议,支持建立用于移动性管理的隧道和用于匹配有线回程和分组核心qos与无线电链路qos的qos管理的承载;以及gtp-u,它是用于实现在充当路由器的网络单元之间隧道的数据平面协议。epc也支持在s5接口上用于移动性管理的代理移动ip(p-mip)隧穿协议。在epc中,承载是通过epc分组网络的传送信道,具有数据传送特性的定义集(服务质量数据率和流控制)。epc承载一般在网络层实现为diffserv码点(dscp),或者在mac层实现为带有802.1p(包含到802.1d标准中)业务类优先级的ieee802.1qvlan。pcrf(策略和计费资源功能)801基于来自诸如ip多媒体子系统(ims)等子系统的服务请求,识别来自用户设备(ue)807,要求承载的分组流。通过由ip来源和目的地址、ip来源和目的地端口及协议标识符组成的5元组,由网关和无线电基站(e-nodeb)识别承载中要包括的分组流。5个元组与用于qos类的dscp一起识别上行链路和下行链路分组过滤器。每终端ip地址和qos业务类设置一个承载。pcrf提供描述承载的四个qos参数的集合,包括:指定用于无线电的qos的质量类标识符(qci);分配保持优先级(arp),它是在提出修改请求和发生资源冲突时控制平面应如何优先化承载的指示符;以及保证比特率(gbr)和最大比特率(mbr,可选),其中,这些参数指定承载能够接收的保证和最大比特率。这些比特率只定义用于保证(即,非尽力而为型)承载。网关和无线电基站将qci映射到特定dscp。如果在e-nodeb与s-gw803之间或者在s-gw803与p-gw805之间的传输网络没有ip路由器并且完全由第2层(以太网)路由,则这因而随后可映射到特定vlan和802.1p类。在dscp与qci指示符之间的映射一般通过使用网络管理系统手动配置到分组网关和无线电基站中。除带有按需求设置的指定qos的承载外,每个终端接收“默认”承载,具有未指定qos的所有分组流被分类到该承载中,一般是与象web浏览等尽力而为型数据应用相关联的流。图9是在epc中承载的高端布置的一个实施例的图。除qos参数外,每个承载具有相关联gtp隧道。gtp隧道由隧道端点节点(无线电基站、s-gw803和p-gw805)的ip地址、来源和目的地udp端口和隧道端点标识符(teid)组成。gtp隧道是单向的,因此,每个承载与两个teid相关联,一个teid用于上行链路隧道并且一个teid用于下行链路隧道。一个gtp隧道集(上行链路和下行链路)在无线电基站与s-gw803之间扩展,并且一个集在s-gw803与p-gw805之间扩展。用于gtp-u的udp目的地端口号是2152,而用于gtp-c的目的地端口号是2123。来源端口号由发送节点动态分配。图10是在主gtp-u封装报头中报头字段的一个实施例的图。云计算数据中心提供计算、存储和网络通信资源到外部客户。提供的服务由灵活的按需处理、从最实用角度而言只受客户的支付能力限制的存储和到因特网的网络带宽组成。数据中心提供的此服务集在本文中称为云计算。服务器虚拟化技术允许服务器池作为基本上一个大的计算资源来管理。称为管理程序(hypervisor)的软件层位于操作系统与硬件之间。管理程序调度虚拟机(vm)的执行。vm是封装有一些应用的操作系统图像。管理程序允许vm暂停和在服务器之间移动以实现负载平衡。负载平衡和vm执行的监视以捕获崩溃为通过专门解决方案以更高得多的成本实现的企业应用提供了相同种类的容错和扩展性服务。云管理器系统监督vm的执行、执行的调度以满足vm的需求和服务器利用的优化及功耗的最小化。云管理器或云操作系统是软件程序,能够调度执行以允许硬件和软件的服务中升级而不影响对在云计算系统中vm及其应用的在进行服务提供。为支持vm在机器之间的任意移动,数据中心内的连网也必须虚拟化。通过将虚拟交换机包含到管理程序中,云计算系统能够虚拟化网络。虚拟交换机提供虚拟网络端口到在管理程序控制之下执行的vm。虚拟交换机软件也允许以类似于管理程序如何虚拟化服务器资源的方式虚拟化网络资源。管理程序和虚拟交换机由此能够协作以允许vm在服务器之间移动。管理程序移动vm时,它与虚拟交换机进行有关新位置的通信,并且虚拟交换机确保用于vm地址(l2mac地址,可能也是ip地址)的网络路由选择表得以更新,因此,分组被路由到新位置。云计算系统能够由具有任何范围的能力(例如,处理能力或存储容量)的任何数量的计算装置组成。云计算系统能够是私有或公共系统。计算装置能够跨任何通信系统或网络相互进行通信。云计算系统能够支持单个云或服务或任何数量的离散云或服务。服务、应用或类似程序能够被虚拟化或作为标准代码执行。在一个实施例中,云计算系统能够支持web服务应用。web服务应用由分派请求到web服务器池的负载平衡前端组成。请求源于因特网上远程机上的应用,并且因此安全性和隐私要求比用于私有企业网络中的应用更宽松得多。云计算机系统也能够支持安全的多租赁,其中,云计算机系统提供商在云外部的客户端的分布式办公室网络与云计算系统内的vpn之间提供类虚拟私有网络(vpn)的连接。这允许云计算系统内客户端的应用在类似于企业wan的网络环境中操作。对于服务只提供到拥有数据中心的企业内的客户的私有数据中心,放宽了对多租赁的安全性和隐私要求。但对于公共数据中心,云运营商必须确保来自多个租户的业务被隔离,以及不存在来自一个客户端的业务到达另一客户端网络的可能性。图11是服务于客户端集的云计算系统的一个实施例的图。在本文中使用时“集”指任何正整数数量的项目。在图11所示实施例中,为两个不同的外部企业客户设置两个虚拟私有云(vpc)。vpc由向租用云中空间的企业提供安全的多租赁的vm的集合、存储和连网资源组成。企业客户通过在公共运营商网络上运行的因特网,经vpn连接到vpc中。图12是示出添加新服务实例到客户端的vpc的过程的云计算系统的另一实施例的图。在此情况下,使用mac层虚拟lan(vlan)实现云中vpn。在vpc内的管理程序管理服务器上为请求新服务实例的企业创建vm(步骤1)。虚拟交换机vlan配置成将新vm包括到企业云中vpn,由此在云内建立服务连接性(步骤2)。为新服务更新虚拟客户边缘路由器(ce)(步骤3)。通过新服务更新运行企业vpn的运营商网络中的提供商边缘路由器(步骤4)。云计算系统中的epc实现图13是云计算系统中实现的epc的一个实施例的图。epc控制平面实体(mme、pcrf、hss)1307和网关的控制平面部分(s-gw-c、p-gw-c)1307(即,处理gtp信令的部分)在云计算系统1301中实现为openflow控制器1305的一部分。控制平面实体1307和openflow控制器1305作为vm封装。openflow控制器1305与控制平面实体1307之间的应用编程接口(api)能够是远程过程调用(rpc)接口或类似接口。此实现技术有利于云内控制平面实体的可扩展管理,这是因为它允许根据需求单独管理控制平面实体1307和控制器1305的执行。云管理器1303能够是在云计算系统1301内执行的vm或应用。云管理器1303监视epc控制平面实体1307的中央处理单元(cpu)利用和在云内epc控制平面实体1307之间的控制平面业务。它也监视在没有在云计算系统1301中的控制平面实体1301的e-nodeb和最终用户装置(ue)与epc控制平面实体1307之间的控制平面业务。如果epc控制平面实体1307开始显现过载的迹象,如利用太多的cpu时间或让要处理的太多业务排队,则过载的控制平面实体1307请求云管理器1303启动新vm来处理负载。另外,epc控制平面实体1307本身如果在内部检测到它们开始遇到过载,则它们能够向云管理器1303发出事件通知。如果任何epc控制平面实体1307崩溃,云管理器1303也通过重新启动用于特定控制平面实体1307或功能的vm来提供可靠性和故障转移。在此重新启动过程期间,云管理器能够收集诊断数据,保存故障epc控制平面实体的任何核心文件,并且通知系统管理员故障已发生。控制平面实体1307保持在它们之间与在图8所示3gppepc体系结构中相同的协议接口。此处示为虚线的openflow控制平面1321管理网络中的路由选择和交换配置。openflow控制平面1321将云计算系统1303连接到s-gw-d1315、标准openflow交换机1313和p-gw-d131。openflow控制平面1321的物理实现能够作为完全单独的物理网络,或者它可以是通过与数据平面相同的物理网络运行的虚拟网络,通过优先化的vlan或者通过mpls标签交换路径或者甚至通过常规路由封装(gre)或另一ip隧道实现。openflow控制平面1321原则上能够使用与gtp-c和其它移动网络信令相同的物理控制平面路径。s-gw-d1315和p-gw-d1311充当openflowgtp扩展网关,使用本文中下面进一步描述的openflowgtp交换机扩展将分组封装和解封装。由于在mme与e-nodeb之间要求的无线电接入网络(ran)信令包括无线电参数而不只是ip路由选择参数,因此,e-nodeb1315在云中没有控制平面实体。因此,在云计算系统1301中的openflow控制器1305与e-nodeb1315之间没有openflow控制平面1321连接。然而,通过使用openflow实现对数据平面连接的本地控制,e-nodeb1315能够充当openflowgtp扩展网关。这允许e-nodeb1315的分组交换侧利用与分组网关相同的openflowgtp交换扩展。epc云计算机系统的操作如下所述。ue1317、e-nodeb1317、s-gw-c1307和p-gw-c1307使用标准epc协议,通过信号指示mme、pcrf和hss1307建立,修改和删除承载和gtp隧道。此信令触发通过openflow控制器的过程调用,以便如请求般修改epc中的路由选择。openflow控制器为标准openflow交换机、openflows-gw-d1315和p-gw-d1311配置流规则和动作,以允许控制平面实体请求的路由选择。此配置的详细信息在本文中下面进一步详细描述。图14是epc的基本操作的一个实施例的流程图。在一个实施例中,过程从云计算系统中openflow控制器内epc的控制平面模块的初始化开始(方框1401)。云管理器将多个控制平面模块中的每个控制平面模块初始化为单独的vm。随后,云管理器监视每个控制平面模块的资源利用及每个控制平面模块处理的控制平面业务的量和类型(方框1403)。云管理器能够直接监视此数据,接收来自控制平面模块的报告或其任何组合。如果云管理器检测到在监视的多个控制平面模块的任何一个控制平面模块的资源利用或业务负载的阈值级别(方框1405),则云管理器能够采取措施,自动响应此情形。云管理器能够将新控制平面模块或此类控制平面模块的实例初始化为单独的虚拟机(方框1407)。此新控制平面模块或实例随后能够分担相同类型的现有控制平面模拟或实例的负载,由此动态减轻在这些模块上的负载。类似地,云管理器可检测到多个控制平面模块之一的故障或利用不足(方框1409)。云管理器随后能够重新启动故障控制平面模块或者终止利用不足的控制平面模块(方框1411)。重新启动控制平面模块为控制平面模块池确保一定程度的负载分担。停用控制平面模块腾出了资源,并且减少了该控制平面模块产生的开销。云管理器能够使用云计算系统资源跨vpc和移动运营商执行这些功能,由此最大化可用资源的使用和降低运营的成本,同时保持在移动运营商之间数据和业务的严格分离。图15是云计算系统中的epc如何允许被管理服务公司管理在单个数据中心外的多个运营商网络的一个实施例的图。被管理服务云计算设施1501为被管理服务公司与其有合约的每个移动运营商运行epc控制平面的单独实例。每个epc实例在隔离移动运营商的业务和数据中心的云计算设施1501中其它租户的vpc1503a,b中。用于移动运营商的epc控制平面实例通过虚拟边缘路由器1509a,b连接到移动运营商的地理上分布的epcopenflow数据平面交换结构1507a,b和移动运营商的基站。虚拟边缘路由器1509a,b将业务从数据中心路由到适当的移动运营商epc数据平面交换结构1507a,b和从交换结构路由业务。一些情况下,移动运营商甚至可共享基站和epc交换结构,但图15中的示例实施例示出两个移动运营商具有单独交换结构的情况。云计算系统中的epc对等和差分路由选择图16是用于专门服务处理的epc对等和差分路由选择的过程的一个实施例的图。实线和箭头1601所示openflow信令设置在epc内交换机和网关上的流规则和动作以便实现差分路由选择。这些流规则将gtp流引导到特定位置。在此示例中,在此情况下的运营商将其epc与两个另外的固定运营商对等。通过每个对等点的路由选择由相应p-gw-d1和p-gw-d21603a、b处理。虚线和箭头1605示出来自ue1607的需要路由到另一对等运营商的业务。区分业务应经过哪个对等点的流规则和动作由openflow控制器1611安装在openflow交换机1609和网关1603a、b中。openflow控制器1611基于它为外部业务保持的路由选择表、分组的来源和目的及通过dscp标记分组要求的任何专门转发处理来计算这些流规则和动作。长的点虚线和箭头1615示出在从外部源获得内容的ue1617的示例。内容最初不是为ue1617的屏幕制定,因此,openflow控制器1611已在p-gw-d11603b、s-gw-d1619和openflow交换机1609上安装流规则和动作,以便通过云计算设施中的转码应用1621路由流。转码应用1621将内容重新格式化,以便它将适合ue1617的屏幕。在ue经ip多媒体子系统(ims)或另一信令协议,设置其与外部内容源的会话时,pcrf请求专门处理。gtpteid路由选择在一个实施例中,修改openflow以提供用于gtpteid路由选择的规则。图17是用于gtpteid路由选择的openflow流表修改的一个实施例的图。除其它openflow报头字段外,支持teid路由选择的openflow交换机在至少一个流表(例如,第一流表)中在报头字段的2字节(16比特)集合和4字节(32比特)gtpteid上进行匹配。gtpteid标记能够加有通配符(即,匹配项为“不关心”(don'tcare))。在一个实施例中,除用于隧道的端点标识符外,epc协议未指派任何意义到teid,象在标准udp/tcp传输协议中的端口一样。在其它实施例中,teid能够具有相关含意或语义。gtp报头标记字段也能够加有通配符,这能够通过组合以下比特掩码而进行部分匹配:0xff00-匹配消息类型字段;0xe0-匹配版本字段;0x10-匹配pt字段;0x04-匹配e字段;0x02-匹配s字段;以及0x01-匹配pn字段。在一个实施例中,能够修改openflow以支持用于快速路径gtpteid封装和解封装的虚拟端口。openflow移动网关能够用于通过虚拟端口支持gtp封装和解封装。gtp封装和解封装虚拟端口能够用于gtp-u隧道内用户数据分组的快速封装和解封装,并且能够足够简单地设计,以便它们能够在硬件或固件中实现。为此,gtp虚拟端口可在它们将处理的业务上具有以下限制:协议类型(pt)字段=1,其中,gtp封装端口只支持gtp,不支持gtp'(pt字段=0);扩展报头标记(e)=0,其中不支持扩展报头;序号标记(s)=0,其中不支持序号;n-pdu标记(pn)=0;以及消息类型=255,其中在快速路径中只支持g-pdu消息,即隧穿用户数据。如果分组需要封装或者封装有非零报头标记、报头扩展到达,和/或gtp-u分组不是g-pdu分组(即,它是gtp-u控制分组),则处理必须经网关的慢路径(软件)控制平面继续。引导到网关的ip地址的gtp-c和gtp'分组是错误配置的结果,并且是错误的。由于这些分组由云计算系统中的s-gw-c和p-gw-c控制平面实体处理,因此,它们必须发送到openflow控制器,或者它们必须发送到处理gtp'的记帐实体,并且不发送到s-gw-d和p-gw-d数据平面交换机。使用配置协议,从openflow控制器配置gtp虚拟端口。配置协议的细节取决于交换机。配置协议必须支持执行以下功能的消息:允许控制器查询和返回交换机是否支持gtp快速路径虚拟端口的指示及哪些虚拟端口号用于快速路径和慢速路径gtp-u处理;以及允许控制器实例化(instantiate)交换机数据路径内的gtp-u快速路径虚拟端口以便在openflow表设置输出端口动作中使用。配置命令必须在事务处理中运行,以便在往回向控制器报告动作的结果时,用于请求的数据路径的gtp-u快速路径虚拟端口已被实例化,或者指示请求不能接受的错误已返回。命令也允许openflow控制器将gtp-u虚拟端口绑定到物理端口。对于解封装虚拟端口,物理端口是输入端口。对于封装虚拟端口,物理端口是输出端口。在交换机中安装用于gtpteid路由选择的任何规则前,openflow控制器实例化用于可传送或接收通过gtp隧道路由的分组的每个物理端口的虚拟端口。在一个实施例中,openflowgtp网关保持将gtpteid映射到用于其承载的隧道报头字段中的散列表(hashtable)。图18是流表行的结构的图。teid散列关键字通过使用例如sha-1等冲突频率低的适合散列算法计算得出。网关为每个gtpteid/承载保持一个此类流表行。teid字段包含用于隧道的gtpteid。vlan标记和mpls标签字段包含vlan标记和/或mpls标签的有序列表,列表定义分组需要路由到的隧道。vlan优先级比特和mpls业务类比特包括在标签中。可要求或不要求使用此类隧道。如果不要求使用它们,则这些字段为空。隧道原始来源ip地址包含涉及隧道的任何控制业务(例如,错误指示)应引导到的封装网关上的地址。隧道末端目的地ip地址字段包含隧穿的分组应引导到的网关的ip地址,在该网关分组将被解封装并从gtp隧道删除。就专用承载而言,qosdscp字段包含用于承载的diffserve码点(如果有)。如果承载是带有尽力而为型qos的默认承载,则此字段可为空,但如果承载qos不只是尽力而为型,则它将包含非零值。在一个实施例中,通过openflow网关交换机实现对gtp的慢速路径支持。openflow移动网关交换机也包含在软件控制平面上对慢速路径分组处理的支持。此路径由带有非零报头字段或扩展报头的g-pdu(消息类型255)分组和要求带有此类字段的封装或添加扩展报头的用户数据平面分组及gtp-u控制分组采取。为此,交换机支持在软件控制平面中的三个本地端口:local_gtp_control-交换机快速路径转发引导到网关ip地址的包含gtp-u控制消息的gtp封装的分组,并且本地交换机软件控制平面根据gtp-u控制消息启动本地控制平面动作;local_gtp_u_decap-交换机快速路径将具有非零报头字段或扩展报头(即,e!=0,s!=0或pn!=0)的g-pdu分组转发到此端口。这些分组要求专门处理。本地交换机软件慢速路径处理分组,并且执行专门处理;以及local_gtp_u_encap-交换机快速路径将用户数据平面分组转发到此端口,分组要求在gtp隧道中带有非零报头字段或扩展报头(即,e!=0,s!=0或pn!=0)的封装。这些分组要求专门处理。本地交换机软件慢速路径封装分组并且执行专门处理。除转发分组外,交换机快速路径使openflow元数据字段可用于慢速路径软件。为支持慢速路径封装,交换机上的软件控制平面保持带有从gtp-uteid计算的关键字的散列表。teid散列关键字通过使用例如sha-1等冲突频率低的适合散列算法计算得出。流表条目包含应如何配置报头(包括gtp封装报头)的记录。这包括:与用于图18中硬件或固件封装表相同的报头字段;用于gtp报头标记(pt、e、s和pn)的值;序号和/或n-pdu号(如果有);如果e标记为1,则流表包含扩展报头的列表,包括其类型、哪个慢速路径应插入gtp报头中。在一个实施例中,系统实现gtp快速路径封装虚拟端口。在云计算系统中运行的s-gw-c和p-gw-c控制平面软件请求时,openflow控制器规划网关交换机,以安装用于经快速路径gtp封装虚拟端口将分组路由到gtp隧道中的规则、动作和teid散列表条目。规则匹配用于gtp隧道的承载的输入侧的分组过滤器。一般情况下,这将是ip来源地址、ip目的地地址、udp/tcp/sctp来源端口和udp/tcp/sctp目的地端口的4元组。ip来源地址和目的地地址一般情况下是用于用户数据平面业务的地址,即,ue或ue与其进行事务处理的因特网服务,并且端口号有类似情况。对于匹配gtp-u隧道输入侧的规则,相关联的指令如下所示:写入元数据(gtp-teid,0xffffffff)应用动作(设置输出端口gtp封装vp(gtp-encap-vp))交换机也在包含用于分组的隧道报头字段的teid散列表中写入表条目。gtp-teid是gtp隧道端点标识符。gtp-enacap-vp是绑定到封装的分组最终将从中路由出的物理端口的gtp快速路径封装虚拟端口。分组报头匹配与虚拟端口相关联的规则时,gtpteid被写入元数据的低32比特,并且分组被引导到虚拟端口。虚拟端口计算teid的散列,并且查找隧道报头表中的隧道报头信息。如果此类隧道信息不存在,则将分组和错误指示转发到控制器。否则,虚拟端口构建gtp隧道报头并且将分组封装。在ip或mac隧道报头中另外设置任何dscp比特或vlan优先级比特,并且将任何vlan标记或mpls标签推送到分组上。从虚拟端口绑定到的物理端口将封装的分组转发出。在一个实施例中,系统实现gtp快速路径解封装虚拟端口。在云计算系统中运行的s-gw和p-gw控制平面软件请求时,网关交换机安装用于从gtp隧道路由出gtp封装分组的规则和动作。在图17所示修改的openflow流表中,规则匹配用于分组的gtp报头标记和gtpteid,如下所述:ip目的地地址是网关在预期有gtp业务的ip地址;ip协议类型是udp(17);udp目的地端口是gtp-u目的地端口(2152);以及报头字段和消息类型字段加有标记0xfff0通配符,并且字段的高的两个字节匹配g-pdu消息类型(255),而低的两个字节匹配0x30,即,分组是gtp分组而不是gtp'分组,以及版本号为1。虚拟端口只去除gtp隧道报头,并且将封闭的用户数据平面分组从绑定的物理端口转发出。在一个实施例中,系统实现gtp-u控制分组的处理。openflow控制器通过针对用于gtp业务的每个网关交换机ip地址的5个规则规划网关交换机流表。这些规则包含用于以下字段的指定值:ip目的地地址是网关预期有gtp业务的ip地址;ip协议类型是udp(17);udp目的地端口是gtp-u目的地端口(2152);gtp报头标记和消息类型字段加有0xfff0通配符;报头标记字段的值为0x30,即,版本号为1,并且pt字段为1;以及消息类型字段的值为1(回波请求)、2(回波响应)、26(错误指示)、31(支持扩展报头通知)或254(结束标志)之一。与这些规则之一的匹配项相关联的指令为:应用动作(设置输出端口local_gtp_control)这促使分组被转发到网关交换机的本地gtp-u控制端口以便由本地软件控制平面处理。始发于交换机的gtp-u控制分组在软件控制平面上生成并且由控制平面路由。在一个实施例中,系统实现带有扩展报头、序号和n-pdu号的g-pdu分组的处理。带有扩展报头、序号和n-pdu号的g-pdu分组需要转发到本地交换机软件控制平面进行处理。openflow控制器为此规划了3个规则。它们具有以下共同的报头字段:ip目的地地址是网关预期有gtp业务的ip地址;以及ip协议类型是udp(17);udp目的地端口是gtp-u目的地端口(2152)。用于这三个规则的报头标记和消息类型字段加有以下掩码通配符,并且如下所述进行匹配:比特掩码0xfff4和高的两个字节匹配g-pdu消息类型(255),而低的两个字节为0x34,指示版本号为1,分组是gtp分组,以及存在扩展报头;比特掩码0xfff2和高的两个字节匹配g-pdu消息类型(255),而低的两个字节为0x32,指示版本号为1,分组为gtp分组,并且存在序号;以及比特掩码0xff01和高的两个字节匹配g-pdu消息类型(255),而低的两个字节为0x31,指示版本号为1,分组是gtp分组,以及存在n-pdu。用于这些规则的指令如下所示:应用动作(设置输出端口local_gtp_u_decap)这将分组发送到软件慢速路径gtp-u解封装路径以进行特殊处理。在一个实施例中,系统实现用户数据平面分组的处理,要求带有扩展报头、序号和n-pdu号的gtp-u封装。在gtp封装期间要求扩展报头、序号或n-pdu号的用户数据平面分组要求软件慢速路径进行特殊处理。对于这些分组,openflow控制器规划了匹配4元组的规则:ip来源地址;ip目的地地址;udp/tcp/sctp来源端口;以及udp/tcp/sctp目的地端口。用于匹配分组的指令为:写入元数据(gtp-teid,0xffffffff)应用动作(设置输出端口local_gtp_u_encap)这将分组发送到软件慢速路径gtp封装端口,并且另外使teid可用于慢速路径。规划规则插入的openflow消息也包括有关用于序号、n-pdu号的值或扩展报头的类型和内容及指定解封装网关和承载传输与gtpteid的分组报头字段的信息。此信息由交换机的控制平面软件插入由teid键控的软件封装表。在一个实施例中,系统实现gtp-c和gtp'控制分组的处理。引导到网关交换机上ip地址的任何gtp-c和gtp'控制分组都是错误的。这些分组需要由云计算系统中的s-gw-c、p-gw-c和gtp'协议实体处理,而不是由交换机中的s-gw-d和p-gw-d实体处理。为捕捉这些分组,openflow控制器必须通过以下两个规则来规划交换机:ip目的地地址为网关预期有gtp业务的ip地址;ip协议类型为udp(17);对于一个规则,udp目的地端口为gtp-u目的地端口(2152),对于另一规则,udp目的地端口为gtp-c目的地端口(2123);gtp报头标记和消息类型字段加有通配符。这些规则必须是在网关交换机的流表中所有gtp规则的最低优先级。它们将匹配不匹配其它更具体规则的任何gtp分组。用于这些规则的指令如下所示:应用动作(设置输出端口controller)这将分组封装并且将它发送到openflow控制器。在一个实施例中,系统实现非网关gtp路由选择。gtp扩展的openflow交换机也能够完成gtp路由选择而不执行封装和解封装的网关功能。除其网关功能外,gtp路由选择功能能够由网关交换机执行,或者它能够由分布式epc交换结构内缺乏网关功能的另一交换机执行。gtp扩展openflow交换机包含处理匹配如图17中gtp报头字段的规则的至少一个流表。除其它字段外,openflow控制器规划了gtp报头字段以执行gtp路由选择,并且添加规则匹配时的适当动作。例如,以下规则匹配引导到云计算系统中控制平面实体(mme、s-gw-c、p-gw-c)且不在控制平面vlan中的gtp-c控制分组:vlan标记未设成控制平面vlan,目的地ip地址字段设成目标控制平面实体的ip地址,ip协议类型为udp(17),udp目的地端口为gtp-c目的地端口(2123),gtp报头标记和消息类型加有0xf0通配符,以及匹配的版本和协议类型字段为2和1,指示分组是gtpv2控制平面分组而不是gtp'。以下动作将控制平面vlan标记推送到分组上,并且将它转发到云以便由相关控制平面实体处理。分组被转发而未进行任何l3处理(即,未修改ipttl):写入动作(设置vlanidcp_vlan_tag)写入动作(设置来源mac地址switch_mac_addr)写入动作(设置目的地mac地址next_hop_mac_addr)设置输出端口next_hop_port用于openflow的gtp扩展能够修改openflow协议以提供允许epc的管理的用于gtp的扩展。openflow利用称为流匹配结构的数据结构,数据结构允许协议定义用于匹配规则与特定流的准则。ofp_match的openflow流匹配结构包含允许扩展流匹配结构的两个字段,类型和长度。类型字段能够设成扩展的类型,并且长度字段能够设成扩展ofp_match结构的长度。在一个实施例中,定义了基于用于gtp流匹配的随机号的新类型:enumofp_match_type_ext{ersmtgtp=48696,};类型能够随机生成以便不干扰其它扩展类型。当前没有在openflow中注册类型标识符的组织机制。ersmt_gtp结构将用于gtp流路由选择的流表字段定义如下:structersmt_gtp{unit8_tgtp_wildcard;uintl6_tgtp_type_n_flags;uintl6_tgtp_flag_mask;uint32_tgtp_teid;};gtp_type_n_flags字段包含在高8比特中的gtp消息类型和在低8比特中的gtp报头标记。gtp_teid字段包含gtpteid。gtp_wildcard字段指示是否应匹配gtp类型和标记与teid。如果低4比特为1,则应忽略类型和标记字段,而如果高4比特为1,则应忽略teid。如果低比特为0,则应根据gtp_flag_mask字段中的标记匹配类型和标记字段,而如果高比特为0,则应匹配teid。使用逻辑“与”组合掩码和分组的消息类型和报头字段;结果变成匹配项的值。只匹配其中掩码具有1值的字段的那些部分。除流表字段外,要求对象以将虚拟端口teid散列表条目的封装编码。ersmt_gtp_tuninfo结构能够用于定义此信息:structermst_mpls_lbl{uint8_tmpls_lbl_low;uint8_tmpls_lbl_mid;uint8_tmpls_lbl_high;};structersmt_gtpt_uninfo{uint16_tgtp_tuninfo_length;uint32_tgtp_tuninfo_saddr;uint32_tgtp_tuninfo_daddr;uint8_tgtp_tuninfo_dscp;uint8_tgtp_tuninfo_vlan_len;unit16_tgtp_tuninfo_vlan_tags[0];/*可变长度*/uint8_tgtp_tuninfo_mpls_len;structmpls_lblgtp_tuninfo_mpls_labels[0];/*可变长度*/};ermst_mpls_lbl结构提供用于将mpls标签编码的24比特数据结构。ersmt_gtp_tunifo结构包含描述gtp隧道的字段。这些字段被插入封装虚拟端口。结构由于可包含可变数量的vlan标记和/或mpls标签,因此,它是可变长度。gtp_tuninfo_length字段包含结构的长度。gtp_tuninfo_saddr、gtp_tuninfo_daddr和gtp_tuninfo_dscp字段包含隧道的来源地址(执行封装的交换机上接口的地址)、隧道的目的地地址(隧穿分组将路由到并且将解封装分组的交换机)和指派到隧道的承载的diffserv码点(如果有)。如果承载是专用承载并且不是尽力而为型承载,则承载dscp将为非零。gtp_tuninfo_vlan_len和gtp_tuninfo_mpls_len分别包含vlan标记字段和mpls标签字段的长度。gtp_tuninfo_vlan_tags[0]和gtp_tuninfo_mpls_labels[0]字段包含需要被推送到分组的隧道报头上的实际vlan标记和/或mpls标签。如果无vlan或mpls标签交换路径(lsp)用于隧道,则这些字段将不存在(并且对应的长度字段将为0)。在一个实施例中,修改了openflow以添加用于添加,删除或修改epc承载或gtp隧道的扩展消息。用于添加,修改或删除epc承载或gtp隧道的openflow信令由一个openflow消息,包含ersmt_gtpgtp流定义的ofp_flow_mod消息组成。只要openflow协议解析器能够处理扩展流,标准openflowofp_fiow_mod消息就能够使用。如果流修改要求更改封装虚拟端口teid散列表,则openflow控制器必须发出包含teid散列表条目的gtpopenflow扩展消息。openflow控制器必须按顺序发出这两个消息,先发出ofp_flow_mod消息,然后发出teid散列表修改消息,随后,openflow控制器必须发出ofpt_barrier_request消息以强制由openflow交换机进行两个消息的处理。openflow消息扩展报头结构ofp_experimenter_header包含称为实验者的实验者id字段。在一个实施例中,此字段能够设成ericssonieeeoui、0x01ec或类似制造商或提供商oui。结构的剩余部分包含gtp扩展消息。这些消息能够通过以下消息码识别:enumermst_gtp_message_code{gtp_add_teid_table_entry=0,gtp_del_teid_table_entry=1,};gtpopenflow扩展包含用于添加和用于删除teid散列表条目的消息。通过先删除用于teid的条目,然后添加用于相同teid的新条目来修改条目。用于在封装虚拟端口散列表中输入新teid条目的gtpopenflow扩展消息为:structermst_teid_table_add{ermst_gtp_message_codeteid_table_add_type;uintl6_tteid_table_add_teid;structermst_gtp_tuninfoteid_table_add_entry;};teid_table_add_type字段设成gtp_add_teid_table_entry,而teid_table_add_teid字段包含teid,并且teid_table_add_entry包含要添加的表条目。用于从封装虚拟端口散列表中删除teid条目的gtpopenflow扩展消息为:structermst_teid_table_del{ermst_gtp_message_codeteid_table_del_type;uint16_tteid_table_del_teid;};teid_table_del_type字段设成gtp_del_teid_table_entry,而teid_table_del_teid字段包含用于要删除的条目的teid。在一个实施例中,用于gtp的openflow的扩展也包含openflow交换机配置。在接收来自epc云控制平面实体的任何gtp路由选择更新rpc之前,openflow控制器必须在gtp扩展openflow网关交换机上配置gtp封装和/或解封装虚拟端口。配置使用交换机特定的配置协议完成,并且在上面已描述。除在gtp扩展openflow网关上的虚拟端口配置外,可在任何openflow交换机上要求将比尽力而为型gtp承载业务转发更佳的qos队列配置。openflow协议不包含用于配置队列的信息,此配置如与虚拟端口有关的情况一样由配置协议决定。在安装任何流路由之前,openflow控制器必须配置任何队列与交换机中的物理和/或虚拟端口有联系,这些队列将比尽力而为型gtp承载更好地路由。此配置步骤必须为gtp扩展openflow交换机和标准openflow交换机均进行。在一个实施例中,修改了用于gtp操作的openflow消息流。如上所述,包括sgw和pgw的epc控制平面部分(sgw-c和pgw-c)的epc控制平面实体驻留在数据中心的云计算设施中。路由更改由gtp信令触发时,sgw-c和pgw-c经远程过程调用(rpc)或类似机制与云内的openflow控制器进行通信。通过在连接云到网关和交换机的控制平面网络上的openflow信令,openflow控制器向gtp扩展openflow启用的数据平面网关、sgw-c和pgw-c及扩展用于gtp路由选择的openflow交换机,本文中称为“gxofs”颁布有关数据平面的更改。通常,如果不要求为gtp流进行特殊路由选择处理,则不要求到gxofs的信令。可能要求进行此类处理的情况例如有:在建立的gtp承载比尽力而为型承载更佳,并且业务类要求在中间交换机上(即,不只是在网关上)承载业务的专门qos处理的情况;运营商的epc在多于一个点具有与因特网的对等点,并且因此具有多于一个网关,到最佳网关的路由可要求在中间交换机在epc内的操控业务的情况;以及gtp流必须接受例如云内等运营商网络内某处应用的特殊处理的情况。此类特殊处理的示例是转码。中间交换机可要求编程以将用户平面分组路由到转码应用。此列表不详尽,在中间交换机上gtp路由选择的许多其它应用是可能的。承载和gtp隧道能够使用gtp-c创建会话请求消息设置。此过程在多个消息序列中使用,例如,在e-utran初始附接过程中。在图19中,示出了用于创建会话请求过程的openflow消息流的示例。在所示示例中,mme将创建会话请求发送到云计算系统中的sgw-c,sgw-c随后将请求发送到pgw-c。pgw-c通过gtp路由选择更新rpc调用请求联系openflow控制器,请求openflow控制器在sgw-d和pgw-c建立新gtp隧道端点,以及在必需时在中间交换机上安装用于新gtp承载或隧道的路由。在将结果从gtp路由选择更新rpc返回pgw-c之前,openflow控制器将openflow消息的序列发出到适当的数据平面网关实体。在示例实施例中,该序列从ofp_barrier_request开始,以确保不存在可能影响随后消息的处理的待定消息。随后,发出ofpt_flow_mod消息,包括以gtp扩展作为匹配字段和以ofpfc_add作为命令字段的ofp_match结构。如上所述,消息指定动作和指令以建立用于通过适当虚拟端口将分组封装和解封装的gtp隧道的流路由。另外,在ofpt_flow_mod消息之后,openflow控制器紧接着将gtp_add_teid_table_entry消息发出到网关,其包含用于封装虚拟端口的teid散列表条目。如上所述,在ofpt_barrier_request消息之后的两个openflow消息强制网关在继续之前处理流路由和teid散列表更新。在从gtp路由选择更新rpc返回之前,openflow控制器也将gtp流路由选择更新发出到在定制gtp流路由选择中需要涉及的任何gtp扩展openflow交换机(gxofs)。这些更新中的消息由ofp_barrier_request及之后的ofpt_flow_mod消息和上述用于定制gtp流路由选择的动作和指令组成,ofpt_flow_mod消息包含以用于新gtp流的gtp扩展作为匹配字段和以ofpfc_add作为命令字段的ofp_match结构。最后的ofp_barrier_request强制交换机在响应前处理更改。如图19所示,在sgw-d上安装gtp隧道端点路由之后以及在pgw-d上安装gtp隧道端点路由之前,在任何gxofs上安装流路由。openflow控制器不响应pgw-crpc,直至所有流路由选择更新已完成。一旦rpc已返回,pgw-c和sgw-c便返回创建会话响应消息。mme接收此类响应时,它能够通过初始上下文设置请求或附接接受消息,使用信号向enodeb指示ue可自由使用承载或隧道开始。使用修改承载请求过程更改gtp承载的特性。此类更改例如可包括指派到ip分组的qos。此过程在多个epc消息序列中使用,例如,ue触发的服务请求。图20是用于修改承载请求过程的openflow消息序列的一个实施例的图。关于会话创建,epc云控制平面mme将修改承载请求消息发出到sgw-c,并且sgw-c将修改承载请求消息发出到pgw-c。pgw-c随后可选择性地开始与pcrf的策略和计费执行功能(pcef)启动的因特网协议连接性接入网络(ip-can)会话修改过程。此过程完成时,pgw-c将包括新承载更新信息的gtp路由选择更新rpc发出到openflow控制器。openflow控制器随后将gtp扩展openflow消息发出到sgw-d、gxofs和pgw-d。在将结果从gtp路由选择更新rpc返回pgw-c之前,openflow控制器将openflow消息的序列发出到适当的数据平面网关实体。序列从ofp_barrier_request开始,以确保不存在可能影响随后消息的处理的待定消息。随后,发出ofpt_flow_mod消息,其包括以gtp扩展作为匹配字段和以ofpfc_modify或ofpfc_modify_strict作为命令字段的ofp_match结构。在需要时,消息指定动作和指令以建立用于通过适当虚拟端口将分组封装和解封装的gtp隧道的新流路由。另外,如果在teid散列表中要求更改,则在ofpt_flow_mod消息后,openflow控制器紧接着在tp_add_teid_table_entry消息之后发出删除条目的tp_del_teid_table_entry以安装新条目。如上所述,在ofpt_barrier_request消息之后的两个openflow消息强制网关在继续之前处理流路由和teid散列表更新。在从gtp路由选择更新rpc返回之前,openflow控制器也将必需的gtp流路由选择更新发出到在定制gtp流路由选择中需要涉及的任何gtp扩展openflow交换机(gxofs)。这些更新中的消息由ofp_barrier_request及之后的ofpt_flow_mod消息及在需要时如上所述用于定制gtp流路由选择的动作和指令组成,ofpt_flow_mod消息包含以用于新gtp流的gtp扩展作为匹配字段和以ofpfc_modify或ofpfc_modify_strict作为命令字段的ofp_match结构。最后的ofp_barrier_request强制交换机在响应前处理更改。如图20所示,在sgw-d上安装gtp隧道端点路由之后以及在pgw-d上安装gtp隧道端点路由之前,在任何gxofs上安装流路由。openflow控制器不响应pgw-crpc,直至所有流路由选择更新已完成。一旦rpc已返回,pgw-c和sgw-c便返回修改承载响应消息。使用删除会话请求过程删除gtp承载。此过程能够在多个epc消息序列中使用,例如,ue触发的分离请求。图21是用于删除会话请求过程的openflow消息序列的一个实施例的图。在图21中,示出了两个不同的消息序列。如果闲置模式信令缩减(isr)在开启中,则sgw-c通过对openflow控制器的gtp路由选择更新rpc联系openflow控制器。在此情况下,信令中不涉及pgw-c。如果isr未开启,则sgw-c将删除会话请求发送到pgw-c。pgw-c可选择性地进行与pcrf的pcef启动的ip-can会话终止过程,随后将gtp路由选择更新rpc发出到openflow控制器。gtp路由选择更新rpc返回时,pgw-c将删除会话回复发出到sgw-c。此序列在图21中的框2101中示出。任一情况下,在将gtp路由选择更新rpc返回到主叫方之前进行openflow信令。openflow控制器发出的删除会话的openflow消息序列如下所述。序列从ofp_barrier_request开始,以确保不存在可能影响随后消息的处理的待定消息。随后,发出ofpt_flow_mod消息,包括以gtp扩展作为匹配字段和以ofpfc_delete或ofpfc_delete_strict作为命令字段的ofp_match结构。另外,在ofpt_flow_mod消息之后,openflow控制器紧接着发出删除teid散列表条目的gtp_del_teid_table_entry。如上所述,在ofpt_barrier_request消息之后的两个openflow消息强制网关在继续之前处理流路由和teid散列表更新。在从gtp路由选择更新rpc返回之前,openflow控制器也将必需的gtp流路由选择更新发出到在定制gtp流路由选择中需要涉及的任何gtp扩展openflow交换机。这些更新中的消息由ofp_barrier_request及之后的ofpt_flow_mod消息组成,ofpt_flow_mod消息包含以用于新gtp流的gtp扩展作为匹配字段和以ofpfc_delete或ofpfc_delete_strict作为命令字段的ofp_match结构。最后的ofp_barrier_request强制交换机在响应前处理更改。如图21所示,在sgw-d上安装gtp隧道端点路由之后以及在pgw-d上安装gtp隧道端点路由之前,在任何gxofs上安装流路由。openflow控制器不响应主叫实体,直至所有流路由选择更新已完成。备选实现在其它实施例中,能够在非云和非虚拟化系统中实现分割式epc体系结构。epc体系结构的控制平面实体能够在单个服务器上存储和执行,或者跨任何数量的服务或类似计算装置分布。类似地,控制平面实体能够作为标准软件代码和模块执行而无虚拟化或类似系统。这些控制平面实体能够通过本地系统或过程调用、远程过程调用或类似机制相互进行通信。在其它实施例中,控制平面实体的子集能够在云计算系统中虚拟化或执行,而控制平面实体的另一子集能够在服务器、分布式服务器系统或类似系统中执行。控制平面实体能够通过使用如上在本文中所述的openflow协议或者通过如下本文中所述的其它控制协议与数据平面进行通信。本文中上面描述的云计算系统以示例方式而不是限制方式提供。本领域技术人员将理解,上面相对于云计算系统描述的原理和特征也能够在诸如单服务器或分布式服务器系统等其它配置中实现。与上述那些原理和特征类似的原理和特征能够在单服务器系统、分布式服务器系统和类似计算环境中实现。这些原理和特征能够使用包括在云计算系统、单服务器、分布式服务器系统和类似系统的任何组合中执行的非虚拟化控制平面实体的非虚拟化环境实现。在其它实施例中,能够利用其它控制协议替代如本文中所述的openflow。openflow的使用是以示例并且不是限制的方式示出。其它控制协议也能够用于管理在控制平面与数据平面之间的通信和分割式epc体系结构的数据平面的配置。此类协议的示例有forces,用于在网络中分割控制平面和转发平面的ietf标准协议。forces协议规范在rfc5810中描述。rfc5812描述forces转发单元(openflow交换机的等效物)的体系结构。forces协议本身不直接支持将路由规划到转发单元中,它转而是用于处理在forces控制器与forces转发单元之间交互的框架。转发单元体系结构描述如何设计实际上允许forces控制器规划forcs转发单元的协议。本领域技术人员将理解,基于forces的系统能够包括诸如gtpopenflow扩展等本文中上面结合openflow实施例描述的特征,以允许控制器规划用于gtpteid路由选择的交换机。forces和openflow以示例和非限制的方式提供。本领域技术人员将理解,上面结合forces和openflow协议所述的原理和特征也能够在其它类似控制协议中实现。因此,用于在云计算系统中实现epc的方法、系统和设备已描述。要理解的是,上述描述旨在是说明性而不是限制性的。在阅读和理解上述描述后,本领域的技术人员将明白许多其它实施例。因此,本发明的范围应参照所附权利要求以及此类权利要求被授权的等同的完全范围来确定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1