应用于数据中心的报文处理方法和装置、电子设备和介质

文档序号:1941443 发布日期:2021-12-07 浏览:2次 >En<

阅读说明:本技术 应用于数据中心的报文处理方法和装置、电子设备和介质 (Message processing method and device applied to data center, electronic equipment and medium ) 是由 董玢 李力 李旭谦 于 2020-07-16 设计创作,主要内容包括:本公开提供了一种应用于数据中心的报文处理方法和报文处理装置,电子设备和计算机可读存储介质。其中,该方法包括:获取来自外网的入向报文,该入向报文包括目的地址;根据数据中心的公网路由表,确定内网中用于处理该入向报文的功能网关集群;以及向功能网关集群发送该入向报文,以便功能网关集群处理该入向报文。(The disclosure provides a message processing method and a message processing device applied to a data center, electronic equipment and a computer readable storage medium. Wherein, the method comprises the following steps: acquiring an incoming message from an external network, wherein the incoming message comprises a destination address; determining a functional gateway cluster in the intranet for processing the incoming message according to a public network routing table of the data center; and sending the incoming message to the functional gateway cluster so that the functional gateway cluster processes the incoming message.)

应用于数据中心的报文处理方法和装置、电子设备和介质

技术领域

本公开涉及云服务及数据处理领域,更具体地,涉及一种应用于数据中心的报文处理方法和装置、电子设备和计算机可读存储介质。

背景技术

随着互联网云技术的快速发展,越来越多的人使用云服务。由于用户多样性和功能多样性等的影响,当前公有云场景的数据中心内的网络拓扑在面对变化的数据环境时已稍显迟钝,需要性能更高、信息整合力度更完善的硬件或软件环境,以实现数据中心内的网络拓扑简单化,以及用户在实用云服务时的数据存取规整化等。

在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题,用户分配到的公网ip为各网关按照自身功能特征分配的ip,因各网关只牵引各自关心的ip流量,造成机房内路由牵引较复杂无法集中、甚至ip冲突等问题。

发明内容

有鉴于此,本公开提供了一种应用于数据中心的报文处理方法和装置、电子设备和计算机可读存储介质。

本公开的一个方面提供了一种应用于数据中心的报文处理方法,包括:获取来自外网的入向报文,所述入向报文包括第一目的地址;根据所述数据中心的公网路由表和所述第一目的地址,确定内网中用于处理所述入向报文的第一功能网关集群;以及向所述第一功能网关集群发送所述入向报文,以便所述第一功能网关集群处理所述入向报文。

根据本公开的实施例,该方法还包括:获取来自内网的第一隧道报文,并且对其进行解封而获得解封后报文,其中,所述解封后报文包括源地址;根据所述数据中心的公网路由表,确定外网中用于处理所述解封后报文的外网核心交换机;以及向所述外网核心交换机发送所述解封后报文,以便所述外网核心交换机处理所述解封后报文。

根据本公开的另一实施例,该方法还包括:在所述第二目的地址为所述内网中的地址的情况下,接收来自所述外网核心交换机的所述解封后报文;根据所述数据中心的公网路由表和所述第二目的地址,确定内网中用于处理所述解封后报文的第二功能网关集群;对所述解封后报文进行隧道封装而获得第二隧道报文;以及向所述第二功能网关集群发送所述第二隧道报文,以便所述第二功能网关集群处理所述第二隧道报文。

根据本公开的又一实施例,该方法还包括:根据预先设置的限速策略对所述入向报文或者所述解封后报文进行限速处理。

可选地,所述第一功能网关集群包括多个功能网关,其中,所述多个功能网关用于实现相同公网服务,其中,所述公网服务包括以下至少一种:复载均衡服务、网络地址转换服务以及弹性公网服务。

本公开的另一个方面提供了一种应用于数据中心的报文处理装置,包括:第一获取模块,用于获取来自外网的入向报文,所述入向报文包括第一目的地址;第一确定模块,用于根据所述数据中心的公网路由表和所述第一目的地址,确定内网中用于处理所述入向报文的第一功能网关集群;以及第一发送模块,用于向所述第一功能网关集群发送所述入向报文,以便所述第一功能网关集群处理所述入向报文。

根据本公开的实施例,该装置还包括:第二获取模块,用于获取来自内网的第一隧道报文,并且对其进行解封而获得解封后报文,其中,所述解封后报文包括源地址;第二确定模块,用于根据所述数据中心的公网路由表,确定外网中用于处理所述解封后报文的外网核心交换机;以及第二发送模块,用于向所述外网核心交换机发送所述解封后报文,以便所述外网核心交换机处理所述解封后报文。

根据本公开的另一实施例,该装置还包括:接收模块,用于在所述第二目的地址为所述内网中的地址的情况下,接收来自所述外网核心交换机的所述解封后报文;第三确定模块,用于根据所述数据中心的公网路由表和所述第二目的地址,确定内网中用于处理所述解封后报文的第二功能网关集群;第三获取模块,用于对所述解封后报文进行隧道封装而获得第二隧道报文;以及第三发送模块,用于向所述第二功能网关集群发送所述第二隧道报文,以便所述第二功能网关集群处理所述第二隧道报文。

本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述的应用于数据中心的报文处理方法。

本公开的另一方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述的应用于数据中心的报文处理方法。

本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于上述的应用于数据中心的报文处理方法。

根据本公开的实施例,通过采用了获取来自外网的入向报文,所述入向报文包括第一目的地址;根据所述数据中心的公网路由表和所述第一目的地址,确定内网中用于处理所述入向报文的第一功能网关集群;以及向所述第一功能网关集群发送所述入向报文,以便所述第一功能网关集群处理所述入向报文的技术手段,由于数据中心的公网路由表统一发布公网ip及其所属功能,所以至少部分地克服了由网关自身分配ip时的路由复杂以及ip冲突等技术问题,进而达到了简化数据中心路由发布、数据中心内网络拓扑更灵活等技术效果。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的应用于数据中心的报文处理方法和装置的系统架构;

图2示意性示出了一种barefoot交换机内部tofino芯片的原理图;

图3示意性示出了根据本公开实施例的应用于数据中心的报文处理方法的流程图;

图4示意性示出了根据本公开实施例的应用于数据中心的入向报文处理方法的流程图;

图5示意性示出了根据本公开实施例的应用于数据中心的出向报文处理方法的流程图;

图6示意性示出了根据本公开实施例存在数据中心内部访问公网ip时出入向报文处理方法的整体流程图;

图7示意性示出了根据本公开实施例的应用于数据中心的报文处理方法中功能网关集群的拆分结构图;

图8示意性示出了根据本公开实施例的应用于数据中心的入向报文处理装置的结构框图;

图9示意性示出了根据本公开实施例的适于实现应用于数据中心的报文处理方法的电子设备的框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

公有云上的公网ip采用弹性公网ip,即通过一个公网ip可以弹性的选择要绑定的公网服务,避免频繁更改公网ip地址。在公有云场景的数据中心内,通过对网关服务器按功能划分为单独的网关集群,每种集群承担包括eip(elastic ip,弹性ip地址)、slb(serverload balancing,负载均衡服务)、nat(network address translation,网络地址转换服务)在内的一种或多种公网相关服务。在实现本公开的构思过程中发明人发现,由于公有云公网ip的弹性,无法在部署时将固定公网ip网段与提供具体服务的网关服务集群对应,导致路由无法按整网段引流。因此,本公开实施例提供了一种实现数据中心统一公网ip网段路由发布的方法和装置,以简化数据中心的路由发布。同时,由于公网ip网段的统一发布,下层网关集群无需独自发布公网ip网段,就不会造成数据中心的路由冲突,也无需再考虑网关集群的架构,使后端网关集群可位于机房内部任意underlay内网可达节点,underlay指当前数据中心网路基础转发架构,underlay内网指物理基础层的网络,而且,可按照公网服务功能拆分为不同集群,且每种功能可以再细分到按客户拆分到多个集群,使得下层网关集群在专注各自服务的同时,具备更多的灵活扩容能力。

发明人还发现,即使在各公网服务网关集群前部署x86服务器,通过dpdk(英特尔开源的高性能网络转发套件)实现公网ip段的引流与分发,但受限于x86服务器中cpu处理器的处理能力,数据中心出口流量大,往往需要通过扩容服务器来提高集群整体的吞吐能力,但x86服务器单台成本高,扩容服务器只会造成服务器成本大大增加,且即使扩容服务器,始终是依赖于按流分发到各台服务器上,乃至于服务器的各cpu上,当攻击或单流过大时,仍无法解决cpu可能被耗尽时造成服务中断的问题,同时,受限于服务器自身cpu,使用该服务器无法满足百G以上线速转发。

因此,本公开实施例还使用了一种可编程交换机,其具备数十个百G网口,并具备高达T级的转发能力,且不会因为数据包长而显著降低处理性能,同时,具备更低的价格成本,还可继承更多的网络功能而不降低处理能力。

本公开的实施例提供了一种应用于数据中心的报文处理方法和装置。该方法包括获取来自外网的入向报文,该入向报文包括第一目的地址;根据数据中心的公网路由表和第一目的地址,确定内网中用于处理该入向报文的第一功能网关集群;以及向该第一功能网关集群发送入向报文,以便第一功能网关集群处理该入向报文。

图1示意性示出了根据本公开实施例的应用于数据中心的报文处理方法和装置的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的系统架构可以包括由内置有分发器的设备连接的外网部分和内网部分,内网部分包括用户终端,网关集群,及相应的交换机,外网部分主要包括互联网终端。其中,该内置有分发器的设备例如可以为服务器或交换机。OVS(一种虚拟交换机)实现云上各用户间的隔离,不同的各用户均连接至为其服务的交换机,并最终连接至内网核心交换机,因内网用户不能直接访问外网网络,因此在内网部分还包括网关服务器,通过网关集群的方式实现,该网关集群包括但不限于图中所示的EIP-GW(实现弹性公网服务的网关)、LB-GW(实现复载均衡服务的网关)和NAT-GW(实现网络地址转换服务的网关),各个网关集群均连接至为其服务的交换机,并最终连接至内网核心交换机,以实现将用户端内网网络转换为公网ip的目的;互联网终端的数据信息通过外网核心交换机进行目的性转发。通过分发器连接上述的内网核心交换机和外网核心交换机,用以实现内网和外网的连接,使内网中用户可通过转换得到的公网ip访问外部互联网。其中,实现各结构间的连接,可以包括各种连接类型,例如有线和/或无线通信链路等等。

需要说明的是,本公开实施例所提供的应用于数据中心的报文处理方法一般可以由分发器执行。相应地,本公开实施例所提供的应用于数据中心的报文处理装置,一般可以设置于分发器位置处。本公开实施例所提供的应用于数据中心的报文处理方法也可以由不同于该分发器但具有与该分发器类似的软硬件参数结构,或内置该分发器的功能模块实现。相应地,本公开实施例所提供应用于数据中心的报文处理装置也可以设置于不同于该分发器位置但与该分发器具有在实际通信过程中信息出错率低,或通过连接至其他架构可实现信息出错率低的位置。或者,本公开实施例所提供的应用于数据中心的报文处理方法,可以实现不同终端间外网和内网的通信,或者也可以实现不同终端间外网和外网的通信,又或者也可以实现不同终端间内网和内网的通信。相应地,本公开实施例所提供的应用于数据中心的报文处理装置,也可以设置于外网核心交换机和内网核心交换机间,或者也可以设置于外网核心交换机和外网核心交换机间,又或者也可以设置于内网核心交换机和内网核心交换机间。

应该理解,图1中的各终端、网络和其他服务设备等的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和其他服务设备。

图2示意性示出了一种白盒交换机内部实现分发器功能的芯片的原理图,实现本公开实施例的应用于数据中心的报文处理方法和装置的系统架构内部分发器的功能。需要注意的是,图2所示仅为可以应用本公开实施例的实现分发器功能的芯片结构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以做其他结构上的改变。

如图2所示,根据该实施例的芯片结构可以包括parser解析包以及后续的存储逻辑单元,该存储逻辑单元包括存储器和算数逻辑单元。通过parser解析包对数据信息进行初步解析,并将各数据信息对应的功能特征通过主体-功能的表结构形式存储于后续的存储逻辑单元中以进入下一步操作。芯片结构可不仅限于图2中所示,例如亦可是多个连接的具有解析功能的硬件或软件模块与具有存储执行功能的硬件或软件模块,其连接方式同样包括有线和/或无线通信链路等等。

上述用于实现分发器功能的芯片例如可以是其他的可编程芯片等等。所必须的是,无论何种组合或单一结构的可编程芯片,均需包括解析包头单元和存储逻辑单元来确定和存储功能表结构。

用户可以通过该芯片实现数据转发与处理,该数据的来向,即互联网终端和用户终端的设备可以选择是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

互联网终端和内网用户终端均可作为服务器,服务器可以是提供各种服务的服务器,并由该具有分发器功能的芯片实现各服务器间的信息交互与传输。

应该理解,图2中的解析包头单元和存储逻辑单元等的数目仅仅是示意性的。根据实现需要,可以具有任意数目的解析包头单元和存储逻辑单元。

图3示意性示出了根据本公开实施例的应用于数据中心的报文处理方法的流程图,包括入向报文处理流程,出向报文处理流程,以及存在数据中心内部访问公网ip时出入向报文整体处理流程。以下对每一类方式做详细说明。

需要说明的是,分发器全称为可编程流量分发器,其首先存储上层api接口下发的公网ip和所属功能,并据其完成数据分发处理。其中,上层api指网页、app等客户端程序或软件,上层api下发公网ip指用户通过网页、app等客户端购买公网ip,且每个公网ip对应具有所属功能,该所属功能包括例如公网ip对应的目的ip、隧道封装格式和/或控制器配置等。对该公网ip和其所述功能进行配置后得到公网路由表,本实施例中称该公网路由表为table表,然后根据table表中公网ip对应的控制器配置将该公网ip通过该上层api下发至底层软件(对应的控制器)中进行存储。数据分发处理包括基于该table表实现分发器中入向和出向的数据流处理。

以上,通过将不同渠道获得的公网ip存储至一个table表中,实现了数据中心统一发布公网ip的功能,进而可克服网关分配ip时的路由复杂即可能造成的ip冲突等问题,简化了数据中心的路由发布,并使数据中心内的网络拓扑更灵活。其中,该数据中心即可供用户购买公网ip的所有网页或软件等客户端。

在实际应用中,分发器需内置于服务器或交换机中。作为一可选实施例,选择一白盒交换机,在该白盒交换机的硬件(即可编程分发器)上研发设计parser解析包头,以及设置match-action的上述table表结构,并将该table表下发至分发器芯片的存储逻辑单元,请参见图1。在该交换机内搭载x86芯片和linux操作系统,并在其上部署控制器和动态路由软件。通过控制器接收上层api下发的公网ip和所属功能,并构造配置下发至交换机芯片table表中。路由软件可发布动态路由协议,上联口连接至分发器的上联口,以为分发器提供来自外网的入向报文,针对流向公网ip网段进行引流,下联口连接至分发器的下联口,以为分发器提供来自内网的出向报文,针对来自内网的隧道ip进行引流。

以上,使用可编程交换机配合分发器完成工作,可编程交换机具备数十个百G网口,具备高达T级的转发能力,且不会因为数据包长而显著降低处理性能;具备更低的价格成本;可继承更多的网络功能而不降低处理能力。

需要说明的是,该白盒交换机也可选为其他类型交换机等,同时可替换为x86服务器或其他服务器等,但由于服务器架构无法满足T级带宽和小包线速处理能力,且成本较高,因而使用服务器时无法实现可编程交换机的优势。

图4示意性示出了根据本公开实施例的应用于数据中心的入向报文处理方法的流程图。

如图4所示,该方法包括操作S101~S103。

在操作S101,获取来自外网的入向报文,该入向报文包括第一目的地址;

在操作S102,根据数据中心的公网路由表和该第一目的地址,确定内网中用于处理该入向报文的第一功能网关集群。

在操作S103,向该第一功能网关集群发送该入向报文,以便该第一功能网关集群处理该入向报文。

根据本公开的实施例,在向该第一功能网关集群发送该入向报文之前,可以根据预先设置的限速策略对该入向报文进行限速处理。根据本公开的实施例,内网可以连接至外网,但访问范围要小于外网,可以将外网视为广域网,将内网视为局域网。内网不可以直接访问外网,需要通过网关集群得到一个公网ip,由其实现内网和外网的通信。入向报文指网络通信时的交互单元,包含完整的交互信息,以及源ip、目的ip及其他项等。上述的第一目的地址即为入向报文中的目的ip地址。公网路由表即为上文中提到的table表。第一功能网关集群即为可提供外网和内网通信时的公网ip的功能网关集群。第一功能网关集群处理入向报文即为将报文信息转达至内网的目的终端。

下面参考图1和图3中的入向报文处理流程,结合具体实施例对图4所示的方法做进一步说明。

如图1所示,在该架构中,internet属外网,连接至外网核心交换机,OVS和各功能网关集群均属内网,并均连接至内网核心交换机,通过该网关集群为内网OVS通过可实现与外网交互的公网ip。分发器上具备一个可实现数据引流与分发的table表,该table表中存储数据中心发布的所有公网网段及其所属功能。

如图3中的入向报文处理流程所示,在不对入向报文进行限速处理的情况下,internet网络有新的消息(即入向报文)通过该分发器时,如图3所示,对该入向报文中的目的ip地址和分发器table表中的公网ip网段进行匹配,如匹配不成功,将将该报文直接转发至默认的其他服务器或交换机;如匹配成功,则对该报文进行封装得到隧道报文,然后根据该入向报文中的目的ip地址将该隧道报文转发至对应的目的网关集群中,并由其最终转达目的终端。

在根据预先设置的限速策略对该入向报文进行限速处理的情况下,上述对该入向报文中的目的ip地址和分发器table表中的公网ip网段进行匹配的结果为匹配成功时,先根据预先设置的限速策略对报文进行限速处理,然后封装报文得到隧道报文,再将隧道报文转发至对应的目的网关集群中,并由其最终转达目的终端。

需要说明的是,上述的限速策略包括但不限于对特定公网ip本身设置限速条件,或设定某公网ip在超出一设定流量后再根据一限速条件进行相应的限速操作。

通过上述实施方式,可以完成外网的通信通过公网ip最终转达至内网的目的终端,且基于公网ip在分发时就具有的功能特性,可在统一的table表就直接确定报文的目的ip地址是否存在于本网络范围内,即报文是否属于本网络用户,而无需经过网关集群,可以方便的决定是否对该用户实施限速处理,并且在节省流程的同时也增加了网关集群拆分的灵活性。

图5示意性示出了根据本公开实施例的应用于数据中心的出向报文处理方法的流程图。

如图5所示,该方法包括操作S201~S204。

在操作S201,获取来自内网的第一隧道报文,并且对其进行解封而获得解封后报文,其中,该解封后报文包括源地址;

在操作S202,根据数据中心的公网路由表,确定外网中用于处理该解封后报文的外网核心交换机。

在操作S203,根据预先设置的限速策略对该解封后报文进行限速处理。

根据本公开的实施例,也可以不对该解封后报文进行限速处理,直接执行操作S204。

在操作S204,向外网核心交换机发送该解封后报文,以便该外网核心交换机处理该解封后报文。

根据本公开的实施例,第一隧道报文指经过隧道封装后的数据报文,隧道封装可包括不同的封装格式以区分相应数据报文的归属对象,对隧道报文进行解封后即得到原始的数据报文(即解封后报文),数据报文中包含完整的交互信息,以及源ip、目的ip及其他项等。上述的源地址即为解封后报文的源ip。外网核心交换机即为访问的外网时要经过的交换机,通过原ip和table表确定应选择的外网核心交换机。外网核心交换机处理解封后报文即为将报文信息转达至外网的目的终端。

下面参考图1和图3左侧的出向报文处理流程,结合具体实施例对图5所示的方法做进一步说明。

如图1所示,内网中用户需要通过公网ip访问internet外部网络时,通过连接在同一内网内的功能网关集群来实现本内网ip至公网ip的转换,然后,通过该公网ip实现与外部internet网络的访问。已知该公网ip为数据中心统一发布,因此,内网中用户在本数据中心范围内得到的公网ip必定存在于table表中。有用户发出请求信息(即出向报文)通过该分发器时,因用户多样性的存在,该出向报文未必是本服务器所管辖范围内的报文,基于图4实施例,传递至本服务器的报文会被封装为某种格式的隧道报文,因此,通过是否匹配本服务器的隧道报文来判断某一报文是否属于本服务器所管辖范围内的报文。

如图3左侧的出向报文处理流程所示,在不需要操作S203的情况下,当隧道报文未匹配时,说明该报文与本服务器管辖领域无关,则直接将该报文发出至默认的其他服务器或交换机;当隧道报文匹配时,对该出向报文进行解封隧道,得到解封后报文;然后根据该解封后报文中的源ip地址将该隧道报文转发至对应的外网核心交换机,最终到达要访问的目的地址。

在需要操作S203的情况下,当隧道报文匹配时,对该出向报文进行解封隧道,得到解封后报文;对该解封后报文中的源ip地址和分发器table表中的公网ip网段进行匹配;匹配成功时,根据预先设置的限速策略对报文进行限速处理,然后转发至对应的外网核心交换机;匹配不成功时,直接将报文转发至对应的外网核心交换机,最终到达要访问的目的地址。

通过上述实施方式,可以完成内网的用户通过公网ip最终可访问外网的目的地址,且基于公网ip在分发时就具有的功能特性,可在统一的table表就直接确定报文的源ip地址是否存在于本数据中心管辖范围内,即报文是否来自本网络用户,而无需经过网关集群,可以方便的判断该用户是否需要限速处理,并且在节省流程的同时也增加了网关集群拆分的灵活性。

图6示意性示出了根据本公开实施例的在数据中心内部访问公网ip时出入向报文处理方法的整体流程图。

如图6所示,该方法包括操作S301~S309。

在操作S301,获取来自内网的第一隧道报文,并且对其进行解封而获得解封后报文,其中,所述解封后报文包括源地址和第二目的地址。

在操作S302,根据数据中心的公网路由表,确定外网中用于处理该解封后报文的外网核心交换机。

在操作S303,根据预先设置的限速策略对该解封后报文进行限速处理。

在操作S304,向外网核心交换机发送该解封后报文,以便该外网核心交换机处理该解封后报文。

在操作S305,在该第二目的地址为内网中的地址的情况下,再次接收来自该外网核心交换机的该解封后报文;

在操作S306,根据数据中心的公网路由表和该第二目的地址,确定内网中用于处理该解封后报文的第二功能网关集群。

在操作S307,根据预先设置的限速策略对该解封后报文进行限速处理。

在操作S308,对该解封后报文进行隧道封装而获得第二隧道报文。

在操作S309,向该第二功能网关集群发送该第二隧道报文,以便该第二功能网关集群处理该第二隧道报文。

根据本公开的实施例,上述在数据中心内部访问公网ip时出入向报文处理方法也可以不包括操作S303和S307。

其中,第二目的地址指解封后报文的目的ip,第二目的地址为内网中的地址即表示报文要转达的最终目的属于本数据中心管辖内的内网中用户。第二功能网关集群即为可提供报文所属原内网和报文要转达的目标内网通信时的公网ip的功能网关集群。第二隧道报文指对解封后报文再次封装后得到的隧道报文。

下面参考图1和图3中出入向报文处理的全流程,结合具体实施例对图6所示的方法做进一步说明。

如图1所示,当存在数据中心内部访问公网ip时,即同一数据中心管辖内的同一或不同内网网络中的两个终端互相防问时,仍通过公网ip实现不同内网终端间的相互通信,因此仍需要通过功能网关集群实现不同内网终端的内网ip至公网ip的转换。因两个内网终端为同一数据中心管辖,且公网ip为数据中心统一发布,因此两个内网终端对应得到的公网ip均存在于table表中。用户发出的请求信息(即出向报文)均属本数据中心范围内的报文,本身就属于隧道报文,因此,此处无需进行是否为隧道报文的判断。

如图3整体的出入向报文处理流程所示,在不需要操作S303和S307的情况下,对隧道报文(即出向报文)进行解封,得到解封后报文;对该解封后报文中的源ip地址和分发器table表中的公网ip网段进行匹配后,转发到达对应的外网核心交换机并进一步处理;在处理过程中发现该解封后报文中的目的ip地址为数据中心发布的公网ip网段,则将该解封后报文(作为入向报文)重新牵引回分发器中;对该解封后报文中的目的ip地址和分发器table表中的公网ip网段进行匹配成功后,再对该解封后报文进行封装得到隧道报文;然后将该隧道报文转发至对应的目的网关集群,并由其最终转达目的终端。

在需要操作S303和S307的情况下,其一,对该解封后报文中的源ip地址和分发器table表中的公网ip网段进行匹配后,先根据预先设置的限速策略对报文进行限速处理,然后将报文转发到达对应的外网核心交换机中进一步处理;其二,对该解封后报文中的目的ip地址和分发器table表中的公网ip网段进行匹配成功后,先根据预先设置的限速策略对报文进行限速处理,再将报文封装为隧道报文,并转至对的网关集群,最终转达目的终端。

通过上述实施方式,可以完成同一数据中心内的同一或不同内网网络中的两个终端通过公网ip进行互相访问,且基于公网ip在分发时就具有的功能特性,可在统一的table表就直接确定报文的源ip地址和目的ip地址是否存在于本数据中心管辖范围内,即报文的来向和去向是否均属于本网络,而无需经过功能网关集群,可以方便的判断该用户是否需要限速处理,以及报文的来向和去向属于不同的功能网关集群时的网关间路由复杂的问题,并且在节省流程的同时也增加了网关集群拆分的灵活性。

图7示意性示出了根据本公开实施例的应用于数据中心的报文处理方法中功能网关集群的拆分结构图。

基于图4~图6所示的具体实施方式,其中,第一功能网关集群包括多个功能网关,其中,多个功能网关用于实现相同公网服务,其中,公网服务包括以下至少一种:复载均衡服务、网络地址转换服务以及弹性公网服务。

下面参考图1和图7中功能网关集群的拆分结构图,结合具体实施例对图7所示的方法做进一步说明。

如图7所示,功能网关集群包括但不限于EIP-GW(实现弹性公网服务的网关)、LB-GW(实现复载均衡服务的网关)和NAT-GW(实现网络地址转换服务的网关)等中的一者或多者。例如可通过多个EIP-GW,或多个LB-GW,或多个NAT-GW,或EIP-GW、LB-GW和NAT-GW中任意两者或多者的组合实现复载均衡或网络地址转换,如401通过多个NAT-GW实现同一或不同NAT集群中的网络地址转换,再如402包括EIP集群和LB集群,且EIP集群包括多个EIP-GW,LB集群包括多个LB-GW,其共同组合可同时实现弹性公网和负载均衡服务,又如403通过EIP-GW、LB-GW和NAT-GW组合同时实现弹性公网、负载均衡和网络地址转换服务,其中网络地址转换服务可包括实现不同网关集群中的网络地址转换。例如,根据复载均衡或网络地址转换拆分得到的功能网关集群再细分到按客户拆分为更多个子集群,如404即包括:对可实现弹性公网服务的EIP网关集群进一步按用户拆分为符合用户1所需功能的网关子集群和符合用户2所需功能的网关子集群;或者对可实现负载均衡服务的LB网关集群进一步按用户拆分为符合用户1所需功能的网关子集群和符合用户3所需功能的网关子集群;或者对可同时实现弹性公网服务和负载均衡服务的EIP和LB组成的网关集群进一步按用户拆分为符合用户1所需功能的网关子集群,和符合用户2所需功能的网关子集群,和符合用户3所需功能的网关子集群;或者,用户2同时需要网络地址转换服务时,可直接将其设置为NAT网关集群的子集群;或者诸如此类的拆分方式。

在上述实施方式中,如果由功能网关集群分发公网ip,上述的拆分方式很难实现甚至无法实现,而本公开实施例在table表中对公网ip及其所属功能进行明确限定,且该种限定依用户的选择或者购买意向灵活改变,改变时也只改变table表中的对应功能,因此不受功能网关集群架构的影响,即无论网关集群如何变动,均可实现弹性公网的灵活应用。通过本公开的实施方式,可以在进行数据中心内的报文处理时,无限制扩展功能网关集群,或按需求随机变换功能网关集群的架构,使下层的功能网关集群在专注于各自服务的同时,具备更多的灵活扩容能力。

图8示意性示出了根据本公开实施例的应用于数据中心的入向报文处理装置的结构框图。

如图8所示,该入向报文处理装置500包括第一获取模块501、第一确定模块502和第一发送模块503。

第一获取模块501,用于获取来自外网的入向报文,该入向报文包括第一目的地址。

第一确定模块502,用于根据数据中心的公网路由表和该第一目的地址,确定内网中用于处理该入向报文的第一功能网关集群。

第一发送模块503,用于向该第一功能网关集群发送该入向报文,以便该第一功能网关集群处理该入向报文。

该入向报文处理装置500还可以包括第二获取模块、第二确定模块和第二发送模块。

第二获取模块,用于获取来自内网的第一隧道报文,并且对其进行解封而获得解封后报文,其中,该解封后报文包括源地址。

第二确定模块,用于根据数据中心的公网路由表,确定外网中用于处理该解封后报文的外网核心交换机。

第二发送模块,用于向外网核心交换机发送该解封后报文,以便该外网核心交换机处理该解封后报文。

该入向报文处理装置500还可以包括接收模块、第三确定模块、第三获取模块和第三发送模块。

接收模块,接收解封后报文,该解封后报文包括源地址和第二目的地址,该接收模块用于在该第二目的地址为内网中的地址的情况下,接收来自外网核心交换机的该解封后报文。

第三确定模块,用于根据数据中心的公网路由表和该第二目的地址,确定内网中用于处理该解封后报文的第二功能网关集群。

第三获取模块,用于对该解封后报文进行隧道封装而获得第二隧道报文。

第三发送模块,用于向该第二功能网关集群发送该第二隧道报文,以便该第二功能网关集群处理该第二隧道报文。

根据本公开的实施例的模块或单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块或单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块或单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块或单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,第一获取模块501、第一确定模块502和第一发送模块503中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块501、第一确定模块502和第一发送模块503中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块501、第一确定模块502、第一发送模块503中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

再例如,图2所示的分发器中的解析包头和存储逻辑单元中的任意多个可以合并在一个单元中实现,或者其中的任意一个单元可以被拆分成多个单元。或者,这些单元中的一个或多个单元的至少部分功能可以与其他单元的至少部分功能相结合,并在一个单元中实现。根据本公开的实施例,分发器中的解析包头和存储逻辑单元中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,分发器中的解析包头和存储逻辑单元中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

需要说明的是,本公开的实施例中报文处理装置部分与本公开的实施例中报文处理方法部分是相对应的,报文处理装置部分的描述具体参考报文处理方法部分,在此不再赘述。

图9示意性示出了根据本公开实施例的适于实现上文描述的应用于数据中心的报文处理方法的电子设备的框图。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图9所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 603中,存储有系统600操作所需的各种程序和数据。处理器601、ROM 602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,系统600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。系统600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于601附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:android设备网卡动态切换方法、系统、终端及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!