一种信息处理方法及网关与流程

文档序号:11657379阅读:173来源:国知局
一种信息处理方法及网关与流程

本发明涉及电子通信领域,尤其涉及一种信息处理方法及网关。



背景技术:

为了解决ipv4地址枯竭的问题,现有云平台一般会采用大量的网络地址转换(networkaddresstranslation,nat)技术,而源地址转换(sourcenetworkaddresstranslation,snat)是流量出网的一个重要环节,其作用是将云平台内部的私有ip地址转换成可以访问公网的地址。该功能通常由云平台中的一个服务器节点或者虚拟机节点来完成,这样,全部的出网流量必须经过该节点进行处理,形成了系统的单点瓶颈与流量拥塞。

现有技术中解决上述问题的方案是双层nat,双层nat思想是将共享公网ip放到入口硬件物理网关处,并在网关处进行nat转换后,再在各个计算节点处进行第二次nat转换。使用传统nat技术来实现流量分布式出网存在以下问题:

通过云平台到达网关后,流量需要进行一次nat转换,且该nat转换不能由云平台控制,nat转换会对流量的ip头进行更换,该更换会导致数据包内容发生变化,从而会带来一定的安全隐患。



技术实现要素:

本发明提供一种信息处理方法及网关,用以解决现有云平台技术中网络地址转换导致云平台存在各种安全隐患的问题。

本发明提供一种信息处理方法,第一网关连接多个电子设备,包括:

第一网关接收到所述多个电子设备中任一电子设备发送来的数据包,所述数据包中包括第一公网地址和第一端口号;其中,所述第一公网地址为第一网关分配的至少一个公网地址中的一个;

将所述数据包和网络地址信息发送到所述第二网关,使得所述第二网关根据所述第一公网地址和第一端口号发送所述数据包;并根据所述网络地址信息转发所述数据包对应的回程数据包;其中,所述网络地址信息中包括所述任一电子设备的私有地址、所述第一公网地址和所述第一端口号对应关系。

可选的,将所述第一数据包和所述网络地址信息发送到所述第二网关之前,该方法进一步包括:对所述数据包进行加密处理。

可选的,该方法还包括:

所述第一网关获取所述多个电子设备中每个电子设备所对应的流量信息;

根据所述流量信息为所述每个电子设备分配所述公网地址和对应数量的端口号。

可选的,根据所述流量信息为所述每个电子设备分配对应数量的端口号包括:

按照端口号的数量与流量信息成正比的原则,为所述每个电子设备分配对应数量的端口号。

可选的,该方法进一步包括:

根据预设周期采集当前周期内所述每个电子设备对应的当前流量信息;

并根据所述当前流量信息为所述每个电子设备分配对应数量的端口号。

本发明实施例还提供一种网关,该网关与第二网关以及多个电子设备相连,包括收发器和处理器:

所述处理器,当所述收发器接收到所述多个电子设备中任一电子设备发送来的数据包时,用于获取所述数据包对应的网络地址信息;其中,所述网络地址信息中包括所述任一电子设备的私有地址、所述第一公网地址和所述第一端口号对应关系;

所述收发器,用于接收所述多个电子设备中任一电子设备发送来的数据包,并将所述数据包和所述网络地址信息发送到第二网关,使得所述第二网关根据所述第一公网地址和第一端口号发送所述数据包;并根据所述网络地址信息转发所述数据包对应的回程数据包。

可选的,所述处理器还用于将所述数据包和所述网络地址信息发送到所述第二网关之前,对所述数据包进行加密处理。

可选的,所述处理器还用于获取所述多个电子设备中每个电子设备所对应的流量信息;根据所述流量信息为所述每个电子设备分配对应数量的端口号。

可选的,所述处理器具体用于按照端口号的数量与流量信息成正比的原则,为所述每个电子设备分配对应数量的端口号。

可选的,所述处理器还用于根据预设周期采集当前周期内所述每个电子设备对应的当前流量信息;并根据所述当前流量信息为所述每个电子设备分配对应数量的端口号。

本发明实施例还提供一种网关,该网关与多个电子设备和第二网关相连,包括:

接收模块,用于接收所述多个电子设备中任一电子设备发送来的数据包,所述数据包中包括第一公网地址和第一端口号;其中,所述第一公网地址为第一网关分配的至少一个公网地址中的一个;

发送模块,用于将所述数据包和网络地址信息发送到所述第二网关,使得所述第二网关根据所述第一公网地址和第一端口号发送所述数据包;并根据所述网络地址信息转发所述数据包对应的回程数据包;其中,所述网络地址信息中包括所述任一电子设备的私有地址、所述第一公网地址和所述第一端口号对应关系。

本发明有益效果如下:

本发明实施例所提供的方案,在云平台内的多个电子设备可以使用一个公网地址即可共享访问外网的功能,节省了大量的宝贵公网ip地址;

在云平台内的各个电子设备的出口流量可各自通过物理网卡与交换设备直连接收与发送,无需再经过一个集中式的节点进行源地址转换。

云平台内的网关可以依据各个电子设备的统计流量信息动态分配公网地址和端口,保证了每个网络流均可获得可用的连接资源(公网ip地址+端口),有效避免了传统nat技术可能产生的端口资源耗尽的问题。同时,通过动态分配与显式通告机制实现了对不同租户网络提供灵活的ip隔离和端口隔离策略,有效保证了云平台的安全性。

附图说明

图1为本发明实施例一提供的一种信息处理方法的流程示意图;

图2为本发明实施例二提供的一种信息处理方法的流程示意图;

图3为本发明实施例二提供的一种信息处理方法所实用的系统结构示意图;

图4为本发明实施例四提供的一种网关的结构示意图;

图5为本发明实施例五提供的另外一种网关的结构示意图。

具体实施方式

本申请提供一种信息处理方法及网关,用以解决现有网络地址转换技术存在安全隐患的问题。本发明实施例中的技术方案为解决上述技术问题,总体思路如下:

本发明实施例中将网关连接的多个电子设备所有的出口流量通过1个或多个公网地址在各个电子设备实现分布式送出,大大节省了公网地址的消耗数量,使得全分布式网络具有了现实可部署性。而且第一网关以标准路由协议同第二网关进行交互(即发送网络地址信息到第二网关),告知第二网关私有网络送出的数据包所使用的公网地址、端口号,以及数据包所对应的回程流量的下一跳私有地址,第二网关则采用基于端口+ip的网络地址信息进行相应的流量转发表配置,从而省去了私有网分布式流量需进行nat转换的步骤。

下面通过附图以及具体实施例对本申请技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

实施例一

如图1所示,本发明实施例提供一种信息处理方法,第一网关连接多个电子设备,该方法可以应用于云平台,具体实现包括:

步骤101,第一网关接收到所述多个电子设备中任一电子设备发送来的数据包,所述数据包中包括第一公网地址和第一端口号;其中,所述第一公网地址为第一网关分配的至少一个公网地址中的一个;

在该实施例中,第一网关将公网地址和端口号提前分配给每个电子设备,然后电子设备在发送数据包时,则可以根据分配到的公网地址和端口号生成数据包。

步骤102,将所述数据包和网络地址信息发送到所述第二网关,使得所述第二网关根据所述第一公网地址和第一端口号发送所述数据包;并根据所述网络地址信息转发所述数据包对应的回程数据包;其中,所述网络地址信息中包括所述任一电子设备的私有地址、所述第一公网地址和所述第一端口号对应关系。

每个电子设备将数据包发送到网关之前,使用网关提前分配的公网地址和端口号生成数据包,所以可以实现多个电子设备使用一个公网地址即可共享访问外网的功能,节省了大量的宝贵公网ip地址。

另外,第一网关根据自身所包括的公网地址和端口号情况,预先为每个电子设备分配对应的公网地址和端口号,所以即使云平台中包含的大量私有网络(对应第一网关连接的电子设备)所产生的流量汇聚至硬件网关设备时,也不会产生地址冲突问题。

在该实施例中,为了提高数据安全性,还可以对数据包进行加密,具体实现方式可以是:

(1)将所述数据包和所述网络地址信息发送到所述第二网关之前,第一网关对所述数据包进行加密处理。

(2)因为电子设备在生成数据包的时候就添加了公网地址和端口号,所以在数据包的后续传输过程就不会再对数据包进行调整了,所以电子设备在生成数据包之后就可以对该数据包进行加密,然后将加密的数据包发送到第一网关。通过这种方式

各个电子设备的出口流量可各自通过物理网卡与交换设备直连接收与发送,无需再经过一个集中式的节点进行snat地址转换。从而安全网关可直接部署在平台出口处与物理硬件网关连接,到达安全网关的流量已映射为公网ip流量,无需再进行会导致ip头变换的nat转换。

另外,本发明实施例中第一网关还依据各个电子设备的统计流量信息动态分配每个电子设备对应的公网地址和端口号的数量,保证了每个电子设备均可获得可用的连接资源(公网地址+端口),有效避免了传统nat技术可能产生的端口资源耗尽的问题。具体实现方式可以是:

a1,所述第一网关获取所述多个电子设备中每个电子设备所对应的流量信息;

在第一网关与连接的多个电子设备所形成的平台内,每个电子设备会产生内部流量和外部流量,因为公网地址是用于数据的外部传输的,所以该实施例中的流量信息外部流量所对应的流量信息。

a2,根据所述流量信息为所述每个电子设备分配所述公网地址和对应数量的端口号。

为了提高公网地址和端口号的利用率,在该实施例中可以为流量大的电子设备分配数量多的端口号和公网地址,所以具体实现可以是:

按照端口号的数量与流量信息成正比的原则,为所述每个电子设备分配对应数量的端口号。

可选的,每个电子设备根据使用情况的不同流量信息也会有实时的变化,在该实施例中,为了保证每个电子设备均可获得可用的连接资源该实施例中还会根据流量信息动态的调整每个电子设备所对应的端口号数量,具体实现可以是:

根据预设周期采集当前周期内所述每个电子设备对应的当前流量信息;

并根据所述当前流量信息为所述每个电子设备分配对应数量的端口号。

本发明实施例所提供的方案,云平台中的多个电子设备可以使用一个公网地址即可共享访问外网的功能,节省了大量的宝贵公网ip地址;

各个电子设备的出口流量可各自通过物理网卡与交换设备直连接收与发送,无需再经过一个集中式的节点进行源地址转换。而且云平台的安全网关可直接部署在平台出口处与物理硬件网关连接,到达安全网关的数据包添加了公网地址,无需再进行会导致ip头变换的nat转换,所以安全网关可以正确的校验数据包。

网关可以依据各个电子设备的统计流量信息动态分配公网地址和端口,保证了每个网络流均可获得可用的连接资源(公网ip地址+端口),有效避免了传统nat技术可能产生的端口资源耗尽的问题。同时,通过动态分配与显式通告机制实现了对不同租户网络提供灵活的ip隔离和端口隔离策略,有效保证了云平台的安全性。

实施例二

如图2所示,本发明实施例提供另外一种信息处理方法,该方法应用于一电子设备中,该电子设备与第一网关(该第一网关可以是云平台内部网关)连接;所述第一网管连接多个电子形成云平台系统,该方法包括:

步骤201,当电子设备向外网发送数据包时,根据第一网关分配的公网地址和端口号形成数据包;

步骤202,将所述数据包发送到第一网关;使得所述第一网关将所述数据包和所述数据包对应的网络地址信息发送到第二网关(该网关可以是运营商网关);第二网关根据所述第一公网地址和第一端口号将所述数据包转发到外网;并根据所述网络地址信息转发所述数据包对应的回程数据包;其中,所述网络地址信息中包括所述任一电子设备的私有地址、所述第一公网地址和所述第一端口号对应关系。

本发明实施例中,每个电子设备将数据包发送到网关之前,使用网关提前分配的公网地址和端口号生成数据包,所以可以实现多个电子设备使用一个公网地址即可共享访问外网的功能,节省了大量的宝贵公网ip地址。

实施例三

结合图3所示的应用环境,以openstack(但该流程可不限于openstack平台)的处理为例对本发明实施例所提供的一种信息处理方法做进一步详细的描述,具体实现可以是:

openstack平台的网关(或称为平台控制节点)可以与平台外部物理网关设备(例如运营商网关)进行通信与路由交互。openstack平台中设置有与多个与该网关连接的电子设备(或称为计算节点),当平台内部的私有网络产生流量时,各计算节点依据流量目的分为内部流量与外部流量,外部流量通过流量过滤及内部路由转发后,进入snat处理过程。

网关根据对各个计算节点上的各个私有网流量数的统计,将配置的公网ip和源端口范围进行动态的合理分配,分配遵循流量信息正相关的原则,即流量信息多的节点,分配较大的端口范围。

平台控制节点与物理硬件网关设备通过bgp协议进行通信,将各个计算节点的私有ip网关地址所对应的公网ip与端口范围信息(即实施例1中的网络地址信息)传送至硬件网关设备,硬件网关设备依据这些信息进行网络地址信息配置,某个实现方式可如下所示:

matchip1addressport1

setnext-hoppip

其中,ip1为云平台snat网关的公网ip,port1为某个计算节点所发出的外网流量对应的端口范围,pip为该计算节点的私有地址。

平台控制节点将个计算节点发送来的流量以一个或多个公网ip发出后,回程流量在经过物理网关设备时,该设备依据平台控制节点发送来的预先配置的网络地址信息信息,将相应的目标ip+源端口流量的下一跳,指定为与计算节点对应的私有地址,实现流量的正确转发。

实施例四

如图4所示,本发明实施例还提供一种网关,该网关与第二网关以及多个电子设备相连,包括处理器401和收发器402:

所述处理器401,当所述收发器接收到所述多个电子设备中任一电子设备发送来的数据包时,用于获取所述数据包对应的网络地址信息;其中,所述网络地址信息中包括所述任一电子设备的私有地址、所述第一公网地址和所述第一端口号对应关系;

所述收发器402,用于接收所述多个电子设备中任一电子设备发送来的数据包,并将所述数据包和所述网络地址信息发送到第二网关,使得所述第二网关根据所述第一公网地址和第一端口号发送所述数据包;并根据所述网络地址信息转发所述数据包对应的回程数据包。

可选的,处理器402还用于将所述数据包和所述网络地址信息发送到所述第二网关之前,对所述数据包进行加密处理。

可选的,处理器402还用于获取所述多个电子设备中每个电子设备所对应的流量信息;根据所述流量信息为所述每个电子设备分配对应数量的端口号。

可选的,处理器402具体用于按照端口号的数量与流量信息成正比的原则,为所述每个电子设备分配对应数量的端口号。

可选的,该处理器402还用于根据预设周期采集当前周期内所述每个电子设备对应的当前流量信息;并根据所述当前流量信息为所述每个电子设备分配对应数量的端口号。

前述图1实施例中的一种信息处理方法中的各种变化方式和具体实例同样适用于本实施例的电子设备,通过前述对信息处理方法的详细描述,本领域技术人员可以清楚的知道本实施例中电子设备的实施方法,所以为了说明书的简洁,在此不再详述。

实施例五

如图5所示,本发明实施例还提供另外一种网关,该网关500与多个电子设备以及第二网关相连,包括:

接收模块501,用于接收所述多个电子设备中任一电子设备发送来的数据包,所述数据包中包括第一公网地址和第一端口号;其中,所述第一公网地址为第一网关分配的至少一个公网地址中的一个;

发送模块502,用于将所述数据包和网络地址信息发送到所述第二网关,使得所述第二网关根据所述第一公网地址和第一端口号发送所述数据包;并根据所述网络地址信息转发所述数据包对应的回程数据包;其中,所述网络地址信息中包括所述任一电子设备的私有地址、所述第一公网地址和所述第一端口号对应关系。

可选的,该网关还包括:

加密模块,在所述发送模块502将所述数据包和所述网络地址信息发送到所述第二网关之前,用于对所述数据包进行加密处理。

可选的,该网关还包括:

网络地址分配模块,用于获取所述多个电子设备中每个电子设备所对应的流量信息;根据所述流量信息为所述每个电子设备分配对应数量的端口号。

可选的,该网络地址分配模块具体用于按照端口号的数量与流量信息成正比的原则,为所述每个电子设备分配对应数量的端口号。

可选的,所述网络地址分配模块还用于根据预设周期采集当前周期内所述每个电子设备对应的当前流量信息;并根据所述当前流量信息为所述每个电子设备分配对应数量的端口号。

前述图1实施例中的信息处理方法中的各种变化方式和具体实例同样适用于本实施例的电子设备,通过前述对信息处理方法的详细描述,本领域技术人员可以清楚的知道本实施例中电子设备的实施方法,所以为了说明书的简洁,在此不再详述。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

具体来讲,本发明实施例中的一种信息处理方法对应的计算机程序指令可以被存储在光盘、硬盘、u盘等存储介质上,当存储介质中的与一种信息处理方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:

第一网关接收到所述多个电子设备中任一电子设备发送来的数据包,所述数据包中包括第一公网地址和第一端口号;其中,所述第一公网地址为第一网关分配的至少一个公网地址中的一个;

将所述数据包和网络地址信息发送到所述第二网关,使得所述第二网关根据所述第一公网地址和第一端口号发送所述数据包;并根据所述网络地址信息转发所述数据包对应的回程数据包;其中,所述网络地址信息中包括所述任一电子设备的私有地址、所述第一公网地址和所述第一端口号对应关系。

可选地,所述存储介质中存储的与步骤:控制第一电子设备进入远程控制模式对应的计算机程序指令在被执行时,具体包括如下步骤:

将所述第一数据包和所述网络地址信息发送到所述第二网关之前,对所述数据包进行加密处理。

可选地,所述存储介质中存储的与步骤:控制第一电子设备进入远程控制模式对应的计算机程序指令在被执行时,具体包括如下步骤:

所述第一网关获取所述多个电子设备中每个电子设备所对应的流量信息;

根据所述流量信息为所述每个电子设备分配所述公网地址和对应数量的端口号。

可选地,所述存储介质中存储的与步骤:控制第一电子设备进入远程控制模式对应的计算机程序指令在被执行时,具体包括如下步骤:

按照端口号的数量与流量信息成正比的原则,为所述每个电子设备分配对应数量的端口号。

可选地,所述存储介质中存储的与步骤:控制第一电子设备进入远程控制模式对应的计算机程序指令在被执行时,具体包括如下步骤:

根据预设周期采集当前周期内所述每个电子设备对应的当前流量信息;

并根据所述当前流量信息为所述每个电子设备分配对应数量的端口号。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1