掌桥专利:专业的专利平台
掌桥专利
首页

网络拥塞信息传输方法、装置、公有云网络和电子设备

文献发布时间:2023-06-19 16:09:34



技术领域

本发明涉及云服务的技术领域,尤其是涉及一种网络拥塞信息传输方法、装置、公有云网络和电子设备。

背景技术

ECN(Explicit Congestion Notification,显式拥塞通知协议)协议广泛应用于HPC(High Performance Computing,高性能计算集群)、分布式训练集群等应用。是RDMA(Remote Direct Memory Access,远程直接数据存取),DCTCP(Data Center TCP,TCP数据中心)网络的基础协议。

在云服务上实现ECN是云计算的一个基本诉求。但是在云上实现ECN有多重限制。首先传统的ECN网络主要部署在客户的私有数据中心,数据报文不需要经过隧道封装,ECN标记直接暴露给网络设备。整个数据链路的网络设备都是客户私有,可以全网开启ECN功能。

对于公有云环境,由于需要多租户网络隔离,引入了隧道概念,ECN标记被包裹在隧道内部,导致网络设备无法感知隧道内层的ECN标记。另外物理链路多租户共享,相对私有数据中心,全网开启ECN功能,需要考虑对其他客户的影响。

因此,对于在在云服务上实现ECN一般有如下两种解决方案:(1)把ECN网络放在私有数据中心内实现。在私有数据中心,部署依赖ECN协议的应用。通过混合云,连接公有云业务。(2)使用云上私有托管机房,独享托管机房网络链路。部署依赖ECN协议的应用。

然而,上述两种解决方案主要是搭建独享的私有数据机房,在独享数据链路上,开启ECN功能实现显式拥塞通告方案,具有如下缺点:需要搭建独享的私有机房,搭建成本,维护成本过高。物理资源固定,不具备云上的动态扩缩容能力。

发明内容

有鉴于此,本发明的目的在于提供一种网络拥塞信息传输方法、装置、公有云网络和电子设备,以将显式拥塞通告协议的使用范围从私有数据中心扩展到了公有云,从而降低成本,具有动态扩缩容能力。

第一方面,本发明实施例提供了一种网络拥塞信息传输方法,应用于公有云网络的路由转发设备,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器,方法包括:接收第一网关发送的隧道报文;其中,隧道报文携带有表征第一服务器是否开启显式拥塞通知的标记;获取公有云网络的网络拥塞信息,基于网络拥塞信息修改或保持隧道报文携带的标记,并将隧道报文发送至第二网关,以使第二网关基于隧道报文生成第二报文,并使第二服务器基于第二报文确定公有云网络的网络拥塞信息。

在本发明较佳的实施例中,上述第二报文和第一服务器生成的第一报文的IP头部携带有标记,隧道报文的隧道外层IP头部携带有标记。

在本发明较佳的实施例中,上述基于网络拥塞信息修改或保持隧道报文携带的标记的步骤,包括:解析隧道报文的隧道外层IP头部,得到隧道报文携带的标记;基于网络拥塞信息修改或保持隧道报文携带的标记。

在本发明较佳的实施例中,上述基于网络拥塞信息修改或保持隧道报文携带的标记的步骤,包括:如果隧道报文携带的标记表征第一服务器开启显式拥塞通知,并且网络拥塞信息表征公有云网络的网络拥塞,修改隧道报文携带的标记;如果隧道报文携带的标记表征第一服务器没有开启显式拥塞通知,或者网络拥塞信息表征公有云网络的网络不拥塞,保持隧道报文携带的标记。

第二方面,本发明实施例还提供一种网络拥塞信息传输方法,应用于公有云网络的第一网关,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器,方法包括:接收第一服务器发送的第一报文;其中,第一报文携带有表征第一服务器是否开启显式拥塞通知的标记;将第一报文封装为隧道报文,并将隧道报文发送至路由转发设备;其中,隧道报文携带的标记与第一报文携带的标记相同。

第三方面,本发明实施例还提供一种网络拥塞信息传输方法,应用于公有云网络的第二网关,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器,方法包括:接收路由转发设备发送的隧道报文;基于隧道报文生成第二报文,并将第二报文发送至第二服务器;其中,第二报文携带的标记与隧道报文携带的标记相同。

在本发明较佳的实施例中,上述隧道报文携带的标记均包括第一服务器的用户标识;基于隧道报文生成第二报文,并将第二报文发送至第二服务器的步骤,包括:基于第一服务器的用户标识确定与用户标识匹配的第二服务器;将第二报文发送至与用户标识匹配的第二服务器。

在本发明较佳的实施例中,上述第二网关预先存储有第二服务器与用户标识的对应关系;基于第一服务器的用户标识确定与用户标识匹配的第二服务器的步骤,包括:从对应关系中查找与第一服务器的用户标识匹配的第二服务器。

第四方面,本发明实施例还提供一种网络拥塞信息传输方法,应用于公有云网络的第二服务器,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器,方法包括:接收第二网关发送的第二报文;基于第二报文确定公有云网络的网络拥塞信息。

在本发明较佳的实施例中,上述基于第二报文确定公有云网络的网络拥塞信息的步骤,包括:如果第二报文携带的标记表征第一服务器开启显式拥塞通知,基于第二报文确定公有云网络的网络拥塞信息。

在本发明较佳的实施例中,上述基于第二报文确定公有云网络的网络拥塞信息的步骤之后,方法还包括:如果第二报文携带标记表征第一服务器开启显式拥塞通知,并且网络拥塞信息表征公有云网络的网络拥塞;向第一服务器发送通告报文,以使第一服务器接收通告报文,并使第一服务器基于通告报文降低第一服务器的发包带宽。

第五方面,本发明实施例还提供一种公有云网络,公有云网络包括:依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器;路由转发设备用于执行上述的网络拥塞信息传输方法;第一网关用于上述的网络拥塞信息传输方法;第二网关用于执行上述的网络拥塞信息传输方法;第二服务器用于执行上述的网络拥塞信息传输方法。

第六方面,本发明实施例还提供一种网络拥塞信息传输装置,应用于公有云网络的路由转发设备,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器,装置包括:隧道报文获取模块,用于接收第一网关发送的隧道报文;其中,隧道报文携带有表征第一服务器是否开启显式拥塞通知的标记;隧道报文处理模块,用于获取公有云网络的网络拥塞信息,基于网络拥塞信息修改或保持隧道报文携带的标记,并将隧道报文发送至第二网关,以使第二网关基于隧道报文生成第二报文,并使第二服务器基于第二报文确定公有云网络的网络拥塞信息。

第七方面,本发明实施例还提供一种网络拥塞信息传输装置,应用于公有云网络的第一网关,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器,装置包括:第一报文接收模块,用于接收第一服务器发送的第一报文;其中,第一报文携带有表征第一服务器是否开启显式拥塞通知的标记;隧道报文封装模块,用于将第一报文封装为隧道报文,并将隧道报文发送至路由转发设备;其中,隧道报文携带的标记与第一报文携带的标记相同。

第八方面,本发明实施例还提供一种网络拥塞信息传输装置,应用于公有云网络的第二网关,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器,装置包括:隧道报文接收模块,用于接收路由转发设备发送的隧道报文;第二报文发送模块,用于基于隧道报文生成第二报文,并将第二报文发送至第二服务器;其中,第二报文携带的标记与隧道报文携带的标记相同。

第九方面,本发明实施例还提供一种网络拥塞信息传输装置,应用于公有云网络的第二服务器,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器,装置包括:第二报文接收模块,用于接收第二网关发送的第二报文;第二报文处理模块,用于基于第二报文确定公有云网络的网络拥塞信息。

第十方面,本发明实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述的网络拥塞信息传输方法的步骤。

第十一方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述的网络拥塞信息传输方法的步骤。

本发明实施例带来了以下有益效果:

本发明实施例提供的一种网络拥塞信息传输方法、装置、公有云网络和电子设备,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器,路由转发设备接收第一网关发送的表征第一服务器是否开启显式拥塞通知的标记的隧道报文,并且获取公有云网络的网络拥塞信息;基于网络拥塞信息修改或保持隧道报文携带的标记,并将隧道报文发送至第二网关;以使第二网关基于隧道报文生成第二报文,并使第二服务器基于第二报文确定公有云网络的网络拥塞信息。该方式中,可以在公有云网络中实现网络拥塞信息的传输,将显式拥塞通告协议的使用范围从私有数据中心扩展到了公有云,无需搭建独享的私有机房,从而节约了搭建成本和维护成本,也具备云上的动态扩缩容能力,方便易用。

本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种网络拥塞信息传输方法的流程图;

图2为本发明实施例提供的另一种网络拥塞信息传输方法的流程图;

图3为本发明实施例提供的一种公有云网络的示意图;

图4为本发明实施例提供的一种公有云网络的结构示意图;

图5为本发明实施例提供的一种网络拥塞信息传输装置的结构示意图;

图6为本发明实施例提供的另一种网络拥塞信息传输装置的结构示意图;

图7为本发明实施例提供的另一种网络拥塞信息传输装置的结构示意图;

图8为本发明实施例提供的另一种网络拥塞信息传输装置的结构示意图;

图9为本发明实施例提供的一种电子设备的结构示意图。

图标:

41-第一服务器;42-第一网关;43-路由转发设备;44-第二网关;45-第二服务器;51-隧道报文获取模块;52-隧道报文处理模块;61-第一报文接收模块;62-隧道报文封装模块;71-隧道报文接收模块;72-第二报文发送模块;81-第二报文接收模块;82-第二报文处理模块;100-存储器;101-处理器;102-总线;103-通信接口。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,ECN协议广泛应用于HPC、分布式训练集群等应用。是RDMA、DCTCP络的基础协议。在云服务上实现ECN是云计算的一个基本诉求。但是在云上实现ECN有多重限制。首先传统的ECN网络主要部署在客户的私有数据中心,数据报文不需要经过隧道封装,ECN标记直接暴露给网络设备。整个数据链路的网络设备都是客户私有,可以全网开启ECN功能。对于公有云环境,由于需要多租户网络隔离,引入了隧道概念,ECN标记被包裹在隧道内部,导致网络设备无法感知隧道内层的ECN标记。另外物理链路多租户共享,相对私有数据中心,全网开启ECN功能,需要考虑对其他客户的影响。

因此,对于在在云服务上实现ECN一般有如下两种解决方案:(1)把ECN网络放在私有数据中心内实现。在私有数据中心,部署依赖ECN协议的应用。通过混合云,连接公有云业务。(2)使用云上私有托管机房,独享托管机房网络链路。部署依赖ECN协议的应用。然而,上述两种解决方案主要是搭建独享的私有数据机房,在独享数据链路上,开启ECN功能实现显式拥塞通告方案,具有如下缺点:需要搭建独享的私有机房,搭建成本,维护成本过高。物理资源固定,不具备云上的动态扩缩容能力。

基于此,本发明实施例提供的一种网络拥塞信息传输方法、装置、公有云网络和电子设备,具体涉及一种云网络的显式拥塞通告方案,提出了一个公有云多租户共享物理链路的网络环境下实现ECN(显式拥塞通知协议)的方案。可以在多种隧道封装实现的公有云环境下实现ECN功能,例如:VXLAN(Virtual Extensible Local Area Network,虚拟扩展局域网)、GRE(Generic Routing Encapsulation,通用路由封装)等。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种网络拥塞信息传输方法进行详细介绍。

本实施例提供了一种网络拥塞信息传输方法,应用于公有云网络的路由转发设备,其中,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器。公有云通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过Internet使用,可能是免费或成本低廉的。这种云有许多实例,可在整个开放的公有网络中提供服务。为便于理解,本实施例中涉及下述概念:

EPC(Elastic Physical Compute,裸金属服务器)网关:裸金属服务器默认网关设备,负责裸金属服务器所有业务流量的路由分发。是EPC对外提供服务的出口。

HPC:高性能计算机群的简称,指能够执行一般个人电脑无法处理的大资料量与高速运算的电脑,其基本组成组件与个人电脑的概念无太大差异,但规格与性能则强大许多。

ECN:是TCP/IP协议的扩展,在RFC 3168(2001)中进行了定义。用来支持端到端的网络拥塞通知。

VPC(Virtual Private Cloud,虚拟私有云):运行在公有云上,将一部分公有云资源为某个用户隔离出来,给这个用户私有使用的资源的集合。为用户在公有云上创建专属的二层网络。公有云厂商提供基于VPC力度的隔离功能。

VRF(Virtual Routing Forwarding,虚拟路由转发):是一项计算机网络中使用的技术,用于在多租户共享链路环境下实现专有网络,用于实现公有云多租户隔离。

基于上述描述,参见图1所示的一种网络拥塞信息传输方法的流程图,该网络拥塞信息传输方法包括如下步骤:

步骤S100,接收第一网关发送的隧道报文;其中,隧道报文携带有表征第一服务器是否开启显式拥塞通知的标记。

第一服务器可以向第一网关发送携带有表征第一服务器是否开启显式拥塞通知的标记的。第一网关将第一报文封装为隧道报文,并将隧道报文发送至路由转发设备;其中,隧道报文携带的标记与第一报文携带的标记相同。

其中,本发明实施例中的网关可以与多个服务器通信连接,第一服务器与第二服务器应为统一用户租用的服务器,即第一服务器和第二服务器应该具有相同的用户标识。

第一服务器如果开启了ECN功能,第一报文携带的标记表征第一服务器开启显式拥塞通知,第一服务器如果没有开启ECN功能,第一报文携带的标记表征第一服务器没有开启显式拥塞通知。

隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。

第一网关将第一报文封装为隧道报文时,可以将第一报文携带的标记封装到隧道报文的包头中,即隧道报文与第一报文携带相同的表征第一服务器是否开启显式拥塞通知的标记。

步骤S102,获取公有云网络的网络拥塞信息,基于网络拥塞信息修改或保持隧道报文携带的标记,并将隧道报文发送至第二网关,以使第二网关基于隧道报文生成第二报文,并使第二服务器基于第二报文确定公有云网络的网络拥塞信息。

本实施例的路由转发设备可以是交换机或者路由器等具有路由转发功能的设备,本发明实施例的路由转发设备只能感知到隧道封装的外层IP头部,基于外层IP的目的IP做路由转发。无法感知到隧道内层IP头部信息。因此,本发明实施例的路由转发设备只能读取隧道报文携带的标记,不能读取第一报文携带的标记。

路由转发设备可以获取公有云网络的网络拥塞信息,基于网络拥塞信息修改或保持隧道报文携带的标记,例如:如果公有云网络的网络拥塞信息表征公有云网络的网络拥塞,路由转发设备可以修改隧道报文携带的标记;如果公有云网络的网络拥塞信息表征公有云网络的网络不拥塞,路由转发设备可以保持隧道报文携带的标记。

当然,这一切需要基于隧道报文携带的标记表征第一服务器开启显式拥塞通知,如果隧道报文携带的标记表征第一服务器没有开启显式拥塞通,则路由转发设备可以无论网络拥塞信息表征的内容,均保持报文携带的标记。

之后,第二网关基于隧道报文生成第二报文,并将第二报文发送至第二服务器;其中,第二报文携带的标记与隧道报文携带的标记相同。第二网关可以接收路由转发设备发送的隧道报文,基于隧道报文生成第二报文,其中,第二报文携带的标记与隧道报文携带的标记相同。之后,第二网关可以将第二报文发送至第二服务器。

最后,第二服务器可以基于第二报文确定公有云网络的网络拥塞信息。第二服务器解析第二报文,可以根据第二报文携带的标记确定公有云网络的网络拥塞信息,从而实现公有云网络中网络拥塞信息的通知和传输。

本发明实施例提供的一种网络拥塞信息传输方法,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器,路由转发设备接收第一网关发送的表征第一服务器是否开启显式拥塞通知的标记的隧道报文,并且获取公有云网络的网络拥塞信息;基于网络拥塞信息修改或保持隧道报文携带的标记,并将隧道报文发送至第二网关;以使第二网关基于隧道报文生成第二报文,并使第二服务器基于第二报文确定公有云网络的网络拥塞信息。该方式中,可以在公有云网络中实现网络拥塞信息的传输,将显式拥塞通告协议的使用范围从私有数据中心扩展到了公有云,无需搭建独享的私有机房,从而节约了搭建成本和维护成本,也具备云上的动态扩缩容能力,方便易用。

本实施例提供了另一种网络拥塞信息传输方法,该方法在上述实施例的基础上实现。参见图2所示的另一种网络拥塞信息传输方法的流程图,本实施例中的网络拥塞信息传输方法包括如下步骤:

步骤S200,接收第一网关发送的隧道报文;其中,隧道报文携带有表征第一服务器是否开启显式拥塞通知的标记。

具体地,隧道报文是第一服务器基于第一服务器发送的第一报文封装得到的。因此,本实施例还提供了另一种网络拥塞信息传输方法,应用于公有云网络的第一网关,该方法包括:接收第一服务器发送的第一报文;其中,第一报文携带有表征第一服务器是否开启显式拥塞通知的标记;将第一报文封装为隧道报文,并将隧道报文发送至路由转发设备;其中,隧道报文携带的标记与第一报文携带的标记相同。

例如,第一服务器向第一网关发送第一报文;其中,第一报文携带有表征第一服务器是否开启显式拥塞通知的标记。第一网关将第一报文封装为隧道报文,并将隧道报文发送至路由转发设备;其中,隧道报文携带的标记与第一报文携带的标记相同。

具体地,第二报文和第一服务器生成的第一报文的IP头部携带有标记,以第一服务器开启显式拥塞通知为例,第一服务器也可以称为源端EPC服务器,源端EPC服务器开启ECN功能可以向第一报文的IP包头打上ECN标记1。

隧道报文的隧道外层IP头部携带有标记。在第一报文进入VPC网络时,EPC网关(即第一网关)可以把第一报文IP头部的EPC标记1,拷贝到隧道报文的隧道外层IP头部作为ECN标记2。

步骤S202,获取公有云网络的网络拥塞信息,解析隧道报文的隧道外层IP头部,得到隧道报文携带的标记;基于网络拥塞信息修改或保持隧道报文携带的标记。

具体地,如果隧道报文携带的标记表征第一服务器开启显式拥塞通知,并且网络拥塞信息表征公有云网络的网络拥塞,修改隧道报文携带的标记;如果隧道报文携带的标记表征第一服务器没有开启显式拥塞通知,或者网络拥塞信息表征公有云网络的网络不拥塞,保持隧道报文携带的标记。

在云上网络转发过程中,可以开启路由转发设备(公有云的交换机或路由器)的ECN功能,如果公有云网络发生拥塞,路由转发设备会先判断隧道报文的隧道外层IP头部的ECN标记,判断ECN功能是否打开,当前的ECN标记2的ECN功能是打开的。会把ECN标记3自动打在隧道报文的隧道外层IP头部。

步骤S204,将隧道报文发送至第二网关,以使第二网关基于隧道报文生成第二报文,并使第二服务器基于第二报文确定公有云网络的网络拥塞信息。

具体地,路由转发设备可以将隧道报文发送至第二网关,第二网关基于隧道报文生成第二报文,由第二服务器解析上述第二包文。因此,本发明实施例还提供了另一种网络拥塞信息传输方法,应用于公有云网络的第二网关,该方法包括:接收路由转发设备发送的隧道报文;基于隧道报文生成第二报文,并将第二报文发送至第二服务器;其中,第二报文携带的标记与隧道报文携带的标记相同。

在即将出VPC网络,到达终端EPC服务器(第二服务器)时,EPC网关(第二网关)解封装隧道报文的包头,把隧道报文的隧道外层IP头部的ECN标记3,拷贝到内层原始报文(第二报文)的IP头部。此时第二报文的ECN标记1被修改成了ECN标记3。

其中,由于第一服务器和第二服务器均属于同一用户,可以通过用户标识的方式匹配第一服务器和第二服务器,隧道报文携带的标记均包括第一服务器的用户标识,可以通过下述步骤执行:基于第一服务器的用户标识确定与用户标识匹配的第二服务器;将第二报文发送至与用户标识匹配的第二服务器。

第一报文一般不携带上述用户标识,用户标识是在第一网关封装隧道报文时根据第一服务器生成。实际在公有云中可能是第一服务器的MAC和用户标示的一一对应关系,也可能是第一服务器上联第一网关的接口和用户标示的一一对应关系。封装隧道报文时可以根据此对应关系,获取到用户标识。所以第一报文,第二报文,并没有在报文内部携带用户标识。

具体地,第二网关预先存储有第二服务器与用户标识的对应关系,第二网关可以从对应关系中查找与第一服务器的用户标识匹配的第二服务器。

这里第一网关、第二网关发送报文的方法是通过数通的邻居表和路由表转发的,用户标识是用来标记报文使用的是哪个邻居表和路由表,因此是VRF转发。

例如,第一网关、第二网关根据用户标识,找到一个客户独有的邻居表,路由表(一个用户标识,关联一个邻居、路由表),实现不同的用户标识,网络层面的隔离(公有云多租户的最基本的网络特性,每个租户逻辑上独享网络)。实际发送报文时是由客户独享的邻居表和路由表转发的。

云网络的一个重要功能是租户隔离。租户隔离功能一般是有隧道封装实现的,隧道封装内部包含租户的唯一标识。例如:如果使用VXLAN作为隧道封装格式,那么VXLAN包头的vni就可以作为租户唯一标识。根据VXLAN.vni信息,可以判断出报文所属租户,在PGW(EPC网关,即本实施例中的第二网关)处理时,根据VXLAN.vni进入不同的VRF,查找此租户独立的路由表、邻居表。实现多租户隔离。

在查找到合适的第二服务器之后,第二服务器可以接收第二包文并进行解析,确定公有云网络的网络拥塞信息。因此,本实施例还提供了另一种网络拥塞信息传输方法,应用于公有云网络的第二服务器。该方法包括:接收第二网关发送的第二报文;基于第二报文确定公有云网络的网络拥塞信息。

具体地,如果第二报文携带的标记表征第一服务器开启显式拥塞通知,基于第二报文确定公有云网络的网络拥塞信息。也即,只有在第一服务器开启显式拥塞通知的时候,第二服务器才会基于第二报文确定公有云网络的网络拥塞信息。

例如,第二报文被发送到终端EPC服务器(第二服务器)上。终端EPC服务器(第二服务器)根据ECN标记3,可以判断出来两台EPC(第一服务器和第二服务器)之间存在网络拥塞,主动向源端服务器(第一服务器)发送通知消息,减少报文发送带宽,例如:如果第二报文携带标记表征第一服务器开启显式拥塞通知,并且网络拥塞信息表征公有云网络的网络拥塞;第二服务器向第一服务器发送通告报文;第一服务器接收通告报文,基于通告报文降低第一服务器的发包带宽。

下面,本实施例对于不同情况一一进行分析,参见图3所示的一种公有云网络的示意图,该公有云网络中,包括两个网关:第一网关PGW1和第二网关PGW2,第一网关与3个第一服务器(EPC1、EPC2和EPC3)通信连接,第二网关与3个第二服务器(EPC4、EPC5和EPC6)通信连接,其中,EPC1(10.10.1.2)和EPC6(10.10.2.3)属于一个租户(第一租户)。EPC2(10.10.1.2),EPC3(10.10.3.3),EPC4(10.10.4.4),EPC5(10.10.4.5)属于另外一个租户(第二租户)。

有PGW1(EPC网关1,88.88.8.2)和PGW2(EPC网关2,88.88.8.3)。PGW1和PGW2都连接到路由转发设备交换机CORE上,交换机CORE只能感知到隧道封装的外层IP头部,基于外层IP的目的IP做路由转发。无法感知到隧道内层IP头部信息。当第一租户想使用ECN功能时,在EPC1,EPC6上,开启ECN功能。

(1)对于第一租户开启ECN功能,并且网络出现拥塞现象的情况:EPC1访问EPC6的报文1(即第一报文)(10.10.1.2->10.10.2.3),IP头部携带ECN标记1(值是01,表示开启ECN功能),进入PGW1(EPC网关),PGW1使用云网络隧道封装协议,把原始报文1,封装成隧道报文2(外层:88.88.8.2->88.88.8.3,ECN标记01,租户id:1;内层:10.10.1.2->10.10.2.3,ECN标记01)。

封装后的报文被送到交换机CORE,交换机CORE根据路由,把报文送到PGW2。CORE在转发报文过程中,可能遇到接口带宽跑满,导致的网络拥塞情况。此时会判断外层IP头部是否开启ECN功能。

当前隧道报文2的外层IP头部设置了ECN标记1,开启了ECN功能,CORE会自动把隧道报文2的外层IP头部的ECN标记1修改为ECN标记2(值是11,表示开启ECN功能,并在中间链路上检测到链路拥塞)。

第二报文到达PGW2后,PGW2会根据隧道报文2的租户ID:1,判断出来此报文属于第一租户。查询第一租户所属的VRF路由表。然后PGW2确定要把报文1转发给EPC6。

在PGW2把报文1转发给EPC6之前,会把隧道报文2的外层IP头部的ECN标记2,拷贝到报文1的IP头部ECN上。此时报文1的ECN标记2(值是11,表示开启ECN功能,并在中间链路上检测到链路拥塞)。

EPC6接受到报文1,查看IP头部的ECN标记,发现值是11,确定中间链路有拥塞,实现了ECN功能,后面EPC6会主动向ECP1发送通告报文,让EPC1主动降低发包带宽,主动防止丢包。

(2)对于第一租户开启ECN功能,并且网络没有出现拥塞现象的情况:EPC1访问EPC6的报文1(即第一报文)(10.10.1.2->10.10.2.3),IP头部携带ECN标记1(值是01,表示开启ECN功能),进入PGW1(EPC网关),PGW1使用预定的隧道封装协议,把原始报文1,封装成隧道报文2(外层:88.88.8.2->88.88.8.3ECN标记01租户id:1内层:10.10.1.2->10.10.2.3ECN标记01)。

封装后的报文被送到交换机CORE,交换机CORE根据路由,把报文送到PGW2。CORE在转发报文过程中,没有遇到接口带宽跑满,导致的网络拥塞情况。CORE不会修改隧道报文2的外层IP头部的ECN标记1。

第二报文到达PGW2后,PGW2会根据隧道报文2的租户ID:1,判断出此报文属于第一租户。查询第一租户所属的VRF路由表。然后PGW2就确定要把报文1转发给EPC6。

在PGW2把报文1转发给EPC6之前,会把隧道报文2的外层IP头部的ECN标记1,拷贝到报文1的IP头部ECN上。此时报文1的ECN标记1(值是01,表示开启ECN功能,但是中间链路不存在拥塞情况)。

EPC6接受到报文1,查看IP头部的ECN标记1,发现值是01,表示中间链路没有丢包。

(3)对于第二租户没有开启ECN功能,并且网络出现拥塞现象的情况:EPC3访问EPC5的报文1(即第一报文)(10.10.3.3->10.10.4.5),IP头部携带ECN标记0(值是00,表示不开启ECN功能),进入PGW1(EPC网关),PGW1使用预定的隧道封装协议,把原始报文1,封装成隧道报文2(外层:88.88.8.2->88.88.8.3ECN标记00租户id:2内层:10.10.3.3->10.10.4.5ECN标记01)。

封装后的报文被送到交换机CORE,交换机CORE根据路由,把报文送到PGW2。CORE在转发报文过程中,可能遇到接口带宽跑满,导致的网络拥塞情况。此时会判断外层IP头部是否开启ECN功能。

当前隧道报文2的外层IP头部设置了ECN标记0(值是00,表示不开启ECN功能),CORE判断此报文没有开启ECN功能,不修改外层IP头的ECN标记,所以隧道报文2的外层IP头部仍然是ECN标记0。

第二报文到达PGW2后,PGW2会根据隧道报文2的租户ID:2,判断出来此报文属于第二租户。查询第二租户所属的VRF路由表。然后PGW2就确定要把报文1转发给EPC5。

在PGW2把报文1转发给EPC5之前,会把隧道报文2的外层IP头部的ECN标记0,拷贝到报文1的IP头部ECN上。此时报文1的ECN标记0(值是00,表示不开启ECN功能)。

EPC5接受到报文1,查看IP头部的ECN标记0,发现值是00,确定了源端不支持ECN协议。不做ECN相关的特殊处理。

(4)对于第二租户没有开启ECN功能,并且网络没有出现拥塞现象的情况:EPC3访问EPC5的报文1(即第一报文)(10.10.3.3->10.10.4.5),IP头部携带ECN标记0(值是00,表示不开启ECN功能),进入PGW1(EPC网关),PGW1使用预定的隧道封装协议,把原始报文1,封装成隧道报文2(外层:88.88.8.2->88.88.8.3ECN标记00租户id:2内层:10.10.3.3->10.10.4.5ECN标记01)。

封装后的报文被送到交换机CORE,交换机CORE根据路由,把报文送到PGW2。CORE在转发报文过程中,没有遇到接口带宽跑满,导致的网络拥塞情况。CORE不会修改隧道报文2的外层IP头部的ECN标记0。

第二报文到达PGW2后,PGW2会根据隧道报文2的租户ID:2,判断出来此报文属于第二租户。查询第二租户所属的VRF路由表。然后PGW2就确定要把报文1转发给EPC5。

在PGW2把报文1转发给EPC5之前,会把隧道报文2的外层IP头部的ECN标记0,拷贝到报文1的IP头部ECN上。此时报文1的ECN标记0(值是00,表示不开启ECN功能)。

EPC5接受到报文1,查看IP头部的ECN标记0,发现值是00,确定了源端不支持ECN协议。不做ECN相关的特殊处理。

综上,本发明实施例提供的上述方法,提出了一个公有云多租户共享物理链路的网络环境下实现ECN的方案。可以在多种隧道封装实现的公有云环境下,实现ECN功能。比于现有的显式拥塞通告使用方案,主要有如下优势:显式拥塞通告协议的使用范围从私有数据中心扩展到了公有云。方便易用,不需要客户搭建私有数据中心,就可以在云上使用ECN协议对HPC等丢包敏感业务的加速。

对应于上述方法实施例,本发明实施例提供了一种公有云网络,见图4所示的一种公有云网络的结构示意图,公有云网络包括:依次连接的第一服务器41、第一网关42、路由转发设备43、第二网关44和第二服务器45;其中,第一服务器、第一网关、路由转发设备、第二网关和第二服务器均执行上述实施例提供的网络拥塞信息传输方法

本发明实施例所提供的公有云网络,其实现原理及产生的技术效果和前述网络拥塞信息传输方法实施例相同,为简要描述,网络拥塞信息传输装置实施例部分未提及之处,可参考前述网络拥塞信息传输方法实施例中相应内容。

对应于上述方法实施例,本发明实施例提供了一种网络拥塞信息传输装置,应用于公有云网络的路由转发设备,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器。参见图5所示的一种网络拥塞信息传输装置的结构示意图,该网络拥塞信息传输装置包括:

隧道报文获取模块51,用于接收第一网关发送的隧道报文;其中,隧道报文携带有表征第一服务器是否开启显式拥塞通知的标记;

隧道报文处理模块52,用于获取公有云网络的网络拥塞信息,基于网络拥塞信息修改或保持隧道报文携带的标记,并将隧道报文发送至第二网关,以使第二网关基于隧道报文生成第二报文,并使第二服务器基于第二报文确定公有云网络的网络拥塞信息。

本发明实施例提供的一种网络拥塞信息传输装置,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器,路由转发设备接收第一网关发送的表征第一服务器是否开启显式拥塞通知的标记的隧道报文,并且获取公有云网络的网络拥塞信息;基于网络拥塞信息修改或保持隧道报文携带的标记,并将隧道报文发送至第二网关;以使第二网关基于隧道报文生成第二报文,并使第二服务器基于第二报文确定公有云网络的网络拥塞信息。该方式中,可以在公有云网络中实现网络拥塞信息的传输,将显式拥塞通告协议的使用范围从私有数据中心扩展到了公有云,无需搭建独享的私有机房,从而节约了搭建成本和维护成本,也具备云上的动态扩缩容能力,方便易用。

上述第二报文和第一服务器生成的第一报文的IP头部携带有标记,隧道报文的隧道外层IP头部携带有标记。

上述隧道报文处理模块,用于如果隧道报文携带的标记表征第一服务器开启显式拥塞通知,并且网络拥塞信息表征公有云网络的网络拥塞,修改隧道报文携带的标记;如果隧道报文携带的标记表征第一服务器没有开启显式拥塞通知,或者网络拥塞信息表征公有云网络的网络不拥塞,保持隧道报文携带的标记。

对应于上述方法实施例,本发明实施例还提供了另一种网络拥塞信息传输装置,应用于公有云网络的第一网关,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器。参见图6所示的另一种网络拥塞信息传输装置的结构示意图,该网络拥塞信息传输装置包括:

第一报文接收模块61,用于接收第一服务器发送的第一报文;其中,第一报文携带有表征第一服务器是否开启显式拥塞通知的标记;

隧道报文封装模块62,用于将第一报文封装为隧道报文,并将隧道报文发送至路由转发设备;其中,隧道报文携带的标记与第一报文携带的标记相同。

对应于上述方法实施例,本发明实施例还提供了另一种网络拥塞信息传输装置,应用于公有云网络的第二网关,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器。参见图7所示的另一种网络拥塞信息传输装置的结构示意图,该网络拥塞信息传输装置包括:

隧道报文接收模块71,用于接收路由转发设备发送的隧道报文;

第二报文发送模块72,用于基于隧道报文生成第二报文,并将第二报文发送至第二服务器;其中,第二报文携带的标记与隧道报文携带的标记相同。

上述隧道报文携带的标记均包括第一服务器的用户标识;上述第二报文发送模块,用于基于第一服务器的用户标识确定与用户标识匹配的第二服务器;将第二报文发送至与用户标识匹配的第二服务器。

上述第二网关预先存储有第二服务器与用户标识的对应关系;上述第二报文发送模块,用于从对应关系中查找与第一服务器的用户标识匹配的第二服务器。

对应于上述方法实施例,本发明实施例还提供了另一种网络拥塞信息传输装置,应用于公有云网络的第二服务器,公有云网络包括依次连接的第一服务器、第一网关、路由转发设备、第二网关和第二服务器。参见图8所示的另一种网络拥塞信息传输装置的结构示意图,该网络拥塞信息传输装置包括:

第二报文接收模块81,用于接收第二网关发送的第二报文;

第二报文处理模块82,用于基于第二报文确定公有云网络的网络拥塞信息。

上述第二报文处理模块,用于如果第二报文携带的标记表征第一服务器开启显式拥塞通知,基于第二报文确定公有云网络的网络拥塞信息。

上述装置包括:通告报文发送模块,用于如果第二报文携带标记表征第一服务器开启显式拥塞通知,并且网络拥塞信息表征公有云网络的网络拥塞;向第一服务器发送通告报文,以使第一服务器接收通告报文,并使第一服务器基于通告报文降低第一服务器的发包带宽。

本发明实施例所提供的网络拥塞信息传输装置,其实现原理及产生的技术效果和前述网络拥塞信息传输方法实施例相同,为简要描述,网络拥塞信息传输装置实施例部分未提及之处,可参考前述网络拥塞信息传输方法实施例中相应内容。

本发明实施例还提供了一种电子设备,用于运行上述网络拥塞信息传输方法;参见图9所示的一种电子设备的结构示意图,该电子设备包括存储器100和处理器101,其中,存储器100用于存储一条或多条计算机指令,一条或多条计算机指令被处理器101执行,以实现上述网络拥塞信息传输方法。

进一步地,图9示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。

其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述网络拥塞信息传输方法,具体实现可参见方法实施例,在此不再赘述。

本发明实施例所提供的网络拥塞信息传输方法、装置、公有云网络和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和/或装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 网络拥塞信息传输方法、装置、公有云网络和电子设备
  • 网络拥塞信息传输方法和装置
技术分类

06120114719147