一种数据报文传输方法、装置及系统与流程

文档序号:18267264发布日期:2019-07-27 09:17阅读:192来源:国知局
一种数据报文传输方法、装置及系统与流程

本公开涉及通信技术领域,具体而言,涉及一种数据报文传输方法、装置及系统。



背景技术:

以太网虚拟专用网络(ethernetvirtualprivatenetwork,evpn)是一种二层虚拟专用网络(virtualprivatenetwork,vpn)技术。控制平面采用多协议边界网关协议(multiprotocol-bordergatewayprotocol,mp-bgp)通告路由信息,数据平面采用可扩展虚拟局域网络(virtualextensiblelocalareanetwork,vxlan)封装方式转发报文。

在evpn网络中,可以包括多个数据中心,而不同的数据中心之间可以通过边缘设备(edgedevice,ed)进行互联。以两个数据中心为例,如图1所示,为跨数据中心(即第一数据中心和第二数据中心)利用各自的ed进行互联的组网示意图。其中,两个ed之间建立可扩展虚拟局域网络数据中心互联(vxlandatacenterinterconnect,vxlan-dci)隧道,该隧道采用vxlan封装格式,每个ed与所属数据中心内部的可扩展虚拟局域网络隧道端点(vxlantunnelendpoint,vtep)建立vxlan隧道。这样,在ed从vxlan隧道接收到vtep发送的数据报文后,可以先解除vxlan封装,然后再根据目的互联网协议地址(internetprotocoladdress,ip)重新对数据报文进行vxlan封装,并将封装后的数据报文转发到vxlan-dci隧道,同理,在ed从vxlan-dci隧道接收数据报文后,也可以执行上述相应的封装解除、重新封装、报文转发等操作,从而实现跨数据中心之间的互通。



技术实现要素:

有鉴于此,本公开实施例的目的在于提供一种数据报文传输方法、装置及系统,能够在ed出现故障时,确保流量转发不丢失的前提下,确保流量转发的效率。

主要包括以下几个方面:

第一方面,提供了一种数据报文传输方法,应用于数据中心的第一边缘设备ed,该第一ed与所述数据中心的第二ed之间建立有边缘设备接口可扩展虚拟局域网络edi-vxlan隧道;所述方法包括:

若确定自身的传输链路产生故障,则利用所述edi-vxlan隧道将发送端发送的数据报文转发至传输链路正常的所述第二ed;

将从所述第一ed到达所述传输链路对应的下一跳的路由置为不可用状态,并指示所述第二ed向所述发送端发送路由更新信息;

其中,所述路由更新信息用于指示所述发送端将所述第二ed的ip地址从虚拟ip地址更新为实际ip地址。

第二方面,提供了一种数据报文传输方法,应用于数据中心的第二边缘设备ed,该第二ed与所述数据中心的第一ed之间建立有边缘设备接口可扩展虚拟局域网络edi-vxlan隧道;所述方法包括:

接收所述第一ed通过所述edi-vxlan隧道转发的数据报文;所述数据报文为所述第一ed在确定自身的传输链路产生故障时转发的来自发送端的数据报文;

发送所述数据报文,并在确定从所述第一ed到达所述传输链路对应的下一跳的路由不可用时,向所述发送端发送路由更新信息;其中,所述路由更新信息用于指示所述发送端将所述第二ed的ip地址从虚拟ip地址更新为实际ip地址。

第三方面,提供了一种数据报文传输方法,应用于不同数据中心之间进行数据传输时向数据中心中的第一ed发送数据报文的发送端,所述数据中心中的第一边缘设备ed与第二ed之间建立有边缘设备接口可扩展虚拟局域网络edi-vxlan隧道;所述发送端与所述第一ed和第二ed分别建立有数据传输隧道;所述方法包括:

获取数据报文;

将获取的数据报文利用建立的数据传输隧道转发至所述第一ed,以使第一ed在确定自身的传输链路产生故障时,利用所述edi-vxlan隧道将所述数据报文转发至所述第二ed;

接收所述第二ed利用建立的数据传输隧道发送的路由更新消息,以根据所述路由更新消息将获取的数据报文转发至传输链路正常的所述第二ed;其中,所述路由更新信息用于指示所述发送端将所述第二ed的ip地址从虚拟ip地址更新为实际ip地址。

第四方面,提供了一种数据报文传输系统,用于不同数据中心之间的数据传输,其中每个数据中心至少包括第一边缘设备ed和第二ed,第一ed与所述第二ed之间建立有边缘设备接口可扩展虚拟局域网络edi-vxlan隧道;

所述第一ed,用于若确定自身的传输链路产生故障,则利用所述edi-vxlan隧道将发送端发送的数据报文转发至所述第二ed;以及,将从所述第一ed到达所述传输链路对应的下一跳的路由置为不可用状态;

所述第二ed,用于接收并发送所述第一ed转发的数据报文;以及在确定从所述第一ed到达所述传输链路对应的下一跳的路由不可用时,向所述发送端发送路由更新信息;其中,所述路由更新信息用于指示所述发送端将所述第二ed的ip地址从虚拟ip地址更新为实际ip地址。

第五方面,提供了一种数据报文传输装置,应用于数据中心的第一ed,该第一ed与所述数据中心的第二ed之间建立有边缘设备接口可扩展虚拟局域网络edi-vxlan隧道;所述装置包括:

转发模块,用于若确定自身的传输链路产生故障,则利用所述edi-vxlan隧道将发送端发送的数据报文转发至传输链路正常的所述第二ed;

指示模块,用于将从所述第一ed到达所述传输链路对应的下一跳的路由置为不可用状态,并指示所述第二ed向所述发送端发送路由更新信息;

其中,所述路由更新信息用于指示所述发送端将所述第二ed的ip地址从虚拟ip地址更新为实际ip地址。

第六方面,提供了一种数据报文传输装置,应用于数据中心的第二边缘设备ed,该第二ed与所述数据中心的第一ed之间建立有边缘设备接口可扩展虚拟局域网络edi-vxlan隧道;所述装置包括:

接收模块,用于接收所述第一ed通过所述edi-vxlan隧道转发的数据报文;所述数据报文为所述第一ed在确定自身的传输链路产生故障时转发的来自发送端的数据报文;

更新模块,用于发送所述数据报文,并在确定从所述第一ed到达所述传输链路对应的下一跳的路由不可用时,向所述发送端发送路由更新信息;其中,所述路由更新信息用于指示所述发送端将所述第二ed的ip地址从虚拟ip地址更新为实际ip地址。

第七方面,提供了一种数据报文传输装置,应用于不同数据中心之间进行数据传输时向数据中心中的第一ed发送数据报文的发送端,所述数据中心中的第一边缘设备ed与第二ed之间建立有边缘设备接口可扩展虚拟局域网络edi-vxlan隧道;所述发送端与所述第一ed和第二ed分别建立有数据传输隧道;所述装置包括:

获取模块,用于获取数据报文;

转发模块,用于将获取的数据报文利用建立的数据传输隧道转发至所述第一ed,以使第一ed在确定自身的传输链路产生故障时,利用所述edi-vxlan隧道将所述数据报文转发至所述第二ed;

更新模块,用于接收所述第二ed利用建立的数据传输隧道发送的路由更新消息,以根据所述路由更新消息将获取的数据报文转发至传输链路正常的所述第二ed;其中,所述路由更新信息用于指示所述发送端将所述第二ed的ip地址从虚拟ip地址更新为实际ip地址。

第八方面,提供了一种电子设备,包括处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被处理器执行时执行如第一方面至第三方面任一所述的数据报文传输方法的步骤。

第九方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面至第三方面任一所述的数据报文传输方法的步骤。

采用上述方案,一方面,第一ed可以在确定自身的传输链路产生故障时,利用预先建立好的edi-vxlan隧道将发送端发送的数据报文转发至第二ed,该第二ed则接收并发送第一ed转发的数据报文;另一方面,上述第一ed还可以将从该第一ed到达传输链路对应的下一跳的路由置为不可用状态,该第二ed则可以在确定上述路由不可用时,向发送端发送路由更新信息,以使发送端根据第二ed更新后的实际ip地址发送数据报文。也即,在第一ed的传输链路产生故障时,可以利用备用的edi-vxlan隧道转发数据报文以确保流量转发不丢失,同时,还能够根据路由更新信息将发送端的数据流量直接转发至第二ed,进而确保流量转发的效率。

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

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了相关技术中提供的一种单ed实现跨数据中心互联的组网示意图;

图2示出了相关技术中提供的一种双ed实现跨数据中心互联的组网示意图;

图3示出了本公开实施例所提供的一种数据报文传输系统的应用示意图;

图4示出了本公开实施例所提供的一种数据报文传输方法的流程图;

图5示出了本公开实施例所提供的另一种数据报文传输方法的流程图;

图6示出了本公开实施例所提供的另一种数据报文传输方法的流程图;

图7示出了本公开实施例所提供的一种数据报文传输装置的结构示意图;

图8示出了本公开实施例所提供的另一种数据报文传输装置的结构示意图;

图9示出了本公开实施例所提供的另一种数据报文传输装置的结构示意图;

图10示出了本公开实施例所提供的一种电子设备的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

考虑到相关技术中提供的跨数据中心互联的方案中,数据中心的所有数据报文均需要由该数据中心的边缘设备(edgedevice,ed)处理,ed的处理压力较大。

为了缓解ed的处理压力,相关技术中提供了一种双ed负载分担技术,如图2所示的双ed组网示意图,其可以在每个数据中心边缘部署两台ed(如第一数据中心部署的ed1和ed2),并将两台ed虚拟成一台设备,这样,ed可以采用虚拟ip与vtep1、远端ed建立隧道,再利用underlay网络的等价路由机制,vtep2可以将发往ed虚拟ip的流量同时发送到两台ed,从而实现负载分担。

如图2所示,第一数据中心和第二数据中心的边缘均部署有两台ed,以第一数据中心为例,其两台ed(即ed1和ed2)均可以通过underlay网络与对端数据中心(第二数据中心)的ed建立连接。如当第一数据中心的ed1的数据中心互联(datacenterinterconnect,dci)侧(对应传输链路dc1-1)的underlay网络出现故障时,由于ed1上用于建立边界网关协议(bordergatewayprotocol,bgp)的太网虚拟专用网络(ethernetvirtualprivatenetwork,evpn)邻居和隧道的环回口的状态一直是打开(up)的,所以内部网关协议(interiorgatewayprotocol,igp)路由一直存在,数据中心内部网络又无法感知该故障,这样,在第一数据中心中的vtep(可扩展虚拟局域网络隧道端点(vxlantunnelendpoint,vtep)(即vtep1)向第二数据中心中的vtep2发送数据报文时,仍会转发vtep1的流量到ed1,但此时ed1到第二数据中心的出口已经故障,相关技术由于缺乏相应的故障处理机制,这样,此状态下所有转发到此ed1的流量都将被丢弃,无法满足数据中心对数据传输完整性的要求。

为了解决相关技术中存在的上述技术问题,本公开实施例提供了一种数据报文传输方法、装置及系统,以能够在ed出现故障时,确保流量转发不丢失的前提下,进一步确保流量转发的效率。

为了便于理解本公开实施例提供的数据报文传输方法及装置,先对本公开一种实施例提供的数据报文传输系统进行说明。

本公开实施例提供了一种数据报文传输系统,该数据报文传输系统应用于不同数据中心之间的数据传输,其中每个数据中心至少包括第一ed和第二ed,第一ed与第二ed之间建立有边缘设备接口可扩展虚拟局域网络(edinterfacevirtualextensiblelocalareanetwork,edi-vxlan)隧道;

第一ed,用于若确定自身的传输链路产生故障,则利用edi-vxlan隧道将发送端发送的数据报文转发至第二ed;以及,将从第一ed到达传输链路对应的下一跳的路由置为不可用状态;

第二ed,用于接收并发送第一ed转发的数据报文;以及在确定从第一ed到达传输链路对应的下一跳的路由不可用时,向发送端发送路由更新信息;其中,路由更新信息用于指示发送端将第二ed的ip地址从虚拟ip地址更新为实际ip地址。

这里,正是为了解决在ed自身的传输链路产生故障时,所有转发到此ed的流量都将被丢弃从而无法满足数据中心对数据传输完整性的要求的问题,本公开实施例才在第一ed与第二ed之间预先建立了edi-vxlan隧道,以确保在第一ed的传输链路产生故障时,可以利用该edi-vxlan隧道将发送端发送的数据报文转发至第二ed。

这里,主要是考虑到在第一ed的传输链路产生故障时,整个数据报文传输系统所对应的网络拓扑结构将随之发生变化,网络拓扑结构的变化将使得数据报文从源地址(如图3所示vtep1的bgp地址1.1.1.1)发送到目的地址(如图3所示vtep2的bgp地址6.6.6.6)对应的路由表也随之发生变化。

然而,路由表重新建立到发送再到学习直至稳定是需要一定时间的,在达到稳定(即路由收敛)之前,仍会有一部分数据流量负载至存在传输链路故障的第一ed,这时,第一ed在数据转发层已经感知到自身的传输链路产生故障,因此可以启用预先建立的edi-vxlan隧道,并利用该edi-vxlan隧道进行流量转发,从而避免在ed的传输链路产生故障时,所有转发到此ed1的流量都将被丢弃从而无法满足数据中心对数据传输完整性的要求的问题。

值得说明的是,上述edi-vxlan隧道可以是定义的一种将第一ed和第二ed进行evpn网络连接的vxlan隧道类型,该隧道类型的特点是既可以转发可扩展虚拟局域网络(virtualextensiblelocalareanetwork,vxlan)隧道的网络流量,又可以转发可扩展虚拟局域网络数据中心互联(vxlandatacenterinterconnect,vxlan-dci)隧道的网络流量。本公开实施例中,在建立edi-vxlan隧道的同时,还可以在第一ed和第二ed之间增加一条直连链路,利用该直连链路承载上述定义的edi-vxlan隧道。除此之外,为了支持双ed(如第一ed和第二ed)的自动识别及edi-vxlan隧道的自动建立,本公开实施例还可以对多协议边界网关协议(multiprotocol-bordergatewayprotocol,mp-bgp)二层虚拟专用网络(virtualprivatenetwork,vpn)evpn地址族进行扩展,新增evpned的子地址族,该地址族可以携带bgp真实下一跳地址属性和双ed的虚拟ip地址属性,双ed之间通过识别邻居携带的这两个属性与本地配置相比较,确定是否将邻居ed作为自己的ed组员(group)。

基于上述部署,第一ed在数据转发层已经感知到自身的传输链路产生故障时,便可以启用edi-vxlan隧道,且可以利用上述mp-bgpl2vpnevpn地址族的扩展方法将直连链路对应下一跳的真实ip作为edi-vxlan隧道的目的地址,从而可以利用该edi-vxlan隧道进行流量转发。

随着故障时间的推进,第一ed在上层协议层也可以感知到链路故障,此时,该第一ed可以将从第一ed到达传输链路对应的下一跳的路由置为不可用状态。本公开实施例中,第一ed可以直接通过路由设置将上述路由置为不可用,还可以通过删除从第一ed到达传输链路对应的下一跳的路由信息以实现路由不可用的设置。无论是上述哪种实现方式,在设置完成后,均可以生成指示路由不可用的路由撤销消息,以便其它设备(如第二ed、发送端等)获知上述路由不可用的状态,并能及时的作出响应。

针对第二ed而言,在确定从第一ed到达传输链路对应的下一跳的路由不可用时,可以刷新路由表信息,并将用于指示发送端将第二ed的ip地址从虚拟ip地址更新为实际ip地址的路由更新信息发送至发送端,以使发送端可以按照从该发送端到达第二ed的更新后的路由信息传输数据报文。这里,第二ed可以在接收到第一ed指示路由不可用的路由撤销消息来确定从第一ed到达传输链路对应的下一跳的路由已经不可用。

针对发送端而言,在确定从第一ed到达传输链路对应的下一跳的路由不可用时,可以明确该第一ed到传输链路对应的下一跳无法进行数据传输,此时可以刷新自身的路由出口,并根据第二ed发送的路由更新信息向第二ed进行数据流量的传输。也即,在路由收敛之后,本公开实施例提供的数据报文传输系统可以直接将数据流量转发至第二ed,进而提升数据流量的传输效率。同理,发送端也可以在接收到第一ed指示路由不可用的路由撤销消息来确定从第一ed到达传输链路对应的下一跳的路由已经不可用。

本公开实施例中,发送端可以是数据中心包括的vtep,还可以是用于连接不同数据中心的核心设备,接下来对上述两种情况分别进行说明。

第一方面:发送端为数据中心包括的vtep,此时,vtep与第一ed和第二ed之间分别建立有vxlan隧道。在本公开实施例提供的数据报文传输系统还可以包括用于连接不同数据中心的核心设备时,该核心设备可以与第一ed和第二ed之间分别建立有vxlan-dci隧道。

基于上述建立的vxlan隧道、edi-vxlan隧道以及vxlan-dci隧道,vtep可以将数据报文转发至核心设备。

针对vtep而言:一方面,vtep能够获取数据报文,利用vxlan隧道将获取的数据报文转发至第一ed,以使第一ed接收vtep转发的数据报文;另一方面,该vtep还能够在接收到第一ed指示路由不可用的路由撤销消息和第二ed发送的路由更新消息后,根据第二ed发送的路由更新消息将第二ed的地址从虚拟ip地址更新为实际ip地址,从而可以直接将vtep的数据流量转发至第二ed以使该第二ed将数据流量转发至核心设备,进而提升数据流量的传输效率。

值得说明的是,由于路由信息中有关第二ed的地址已经从虚拟ip地址更新为实际ip地址,此时,依赖于地址信息建立的vtep与第二ed之间的vxlan隧道需要重新建立,也即,vtep可以基于路由更新信息重新建立与第二ed之间的vxlan隧道,并利用重新建立的vxlan隧道将数据报文转发至第二ed。

针对第一ed而言,该第一ed可以在确定自身与核心设备之间的传输链路产生故障时,将vtep发送的数据报文封装为便于edi-vxlan隧道传输的第一封装数据报文,并利用edi-vxlan隧道将第一封装数据报文转发至第二ed。

针对第二ed,一方面,该第二ed可以接收第一ed转发的第一封装数据报文,对第一封装数据报文进行解封装,得到第一解封装数据报文;另一方面,该第二ed还可以将第一解封装数据报文封装为便于vxlan-dci隧道传输的第二封装数据报文,利用vxlan-dci隧道将第二封装数据报文转发至核心设备。

为了便于理解上述数据报文传输系统,特举一个具体的示例进行说明。

如图3所示,两个不同数据中心分别为第一数据中心和第二数据中心,第一数据中心包括第一ed组(ed1和ed2)和vtep1,vtep1与ed1和ed2之间分别存在vxlan-1链路和vxlan-2链路,核心设备p与ed1和ed2之间分别存在dci-1链路和dci-2链路;第二数据中心包括第二ed组(ed3和ed4)和vtep4,两个ed组之间通过核心设备p实现数据传输。假设数据流量的转发方向为从第一数据中心的vtep1到第二数据中心的vtep2。

在dci-1链路(对应第一ed与核心设备之间的传输链路)发生故障时,vtep1到vtep2的数据流量依然会以负载分担方式发送到ed1,此时,ed1转发层面已经感知到dci-1的故障,将可以启动edi-vxlan隧道作为备用隧道转发来自vtep1的流量,流量到达ed2之后执行解封装,ed2再封装后利用该ed2和核心设备之间的vxlan-dci隧道继续转发数据流量到核心设备,核心设备再将数据流量转发至第二ed组以使第二ed组继续转发数据流量至vtep2。

在当ed1和第二数据中心的上层协议感知到dci-1链路故障后,ed1可以删除第二数据中心同步过来的vtep2的evpn路由,即可以将从第一ed到达传输链路对应的下一跳(即核心设备)的路由置为不可用状态,同时还可以将指示路由不可用的路由撤销消息发送给vtep1和ed2,ed2刷新路由信息,即将路由下一跳地址(即虚拟ip地址)1.2.3.4改变为bgp真实下一跳地址(即实际ip地址)3.3.3.3,这样,在vtep1刷新路由出口后,数据流量将可以从vtep1直接到ed2并继续转发。

第二方面:发送端为用于连接不同数据中心的核心设备,此时,核心设备与第一ed,以及第二ed之间分别建立有vxlan-dci隧道。在该数据中心还可以包括vtep时,该vtep可以与第一ed和第二ed之间分别建立有vxlan隧道。

基于上述建立的vxlan隧道、edi-vxlan隧道以及vxlan-dci隧道,核心设备可以将数据报文转发至vtep。

针对核心设备而言:一方面,核心设备能够在接收到需要转发给一个数据中心的数据报文后,利用vxlan-dci隧道将接收的数据报文转发至该数据中心的第一ed,以使第一ed接收核心设备转发的数据报文;另一方面,该核心设备还能够在接收到第一ed指示路由不可用的路由撤销消息和第二ed发送的路由更新消息后,根据第二ed发送的路由更新消息将第二ed的地址从虚拟ip地址更新为实际ip地址,从而可以直接将核心设备的数据流量转发至第二ed以使该第二ed将数据流量转发至vtep,进而提升数据流量的传输效率。

值得说明的是,由于路由信息中有关第二ed的地址已经从虚拟ip地址更新为实际ip地址,此时,依赖于地址信息建立的核心设备与第二ed之间的vxlan-dci隧道需要重新建立,也即,核心设备可以基于路由更新信息重新建立与第二ed之间的vxlan-dci隧道,并利用重新建立的vxlan-dci隧道将数据报文转发至vtep。

针对第一ed而言,该第一ed可以在确定自身与vtep之间的传输链路产生故障时,将核心设备发送的数据报文封装为便于edi-vxlan隧道传输的第三封装数据报文,并利用edi-vxlan隧道将第三封装数据报文转发至第二ed。

针对第二ed,一方面,该第二ed可以接收第一ed转发的第三封装数据报文,对第三封装数据报文进行解封装,得到第二解封装数据报文;另一方面,该第二ed还可以将第二解封装数据报文封装为便于vxlan隧道传输的第四封装数据报文,利用vxlan隧道将第四封装数据报文转发至vtep。

为了便于理解上述数据报文传输系统,仍结合图3进行具体的示例说明。

如图3所示,两个不同数据中心分别为第一数据中心和第二数据中心,第一数据中心包括第一ed组(ed1和ed2)和vtep1,vtep1与ed1和ed2之间分别存在vxlan-1链路和vxlan-2链路,核心设备p与ed1和ed2之间分别存在dci-1链路和dci-2链路;第二数据中心包括第二ed组(ed3和ed4)和vtep4,两个ed组之间通过核心设备p实现数据传输。假设数据流量的转发方向为从第二数据中心的vtep2到第一数据中心的vtep1。

在vxlan-1链路(对应第一ed与vtep之间的传输链路)发生故障时,vtep2到vtep1的数据流量依然会以负载分担方式发送到ed1,此时,ed1转发层面已经感知到vxlan-1的故障,将可以启动edi-vxlan隧道作为备用隧道转发来自核心设备p的流量,流量到达ed2之后执行解封装,ed2再封装后利用该ed2和vtep1之间的vxlan隧道继续转发数据流量到vtep1。

在当ed1和第二数据中心的上层协议感知到dci-1链路故障后,ed1可以删除vtep1同步过来的evpn路由,即可以将从第一ed到达传输链路对应的下一跳(即vtep1)的路由置为不可用状态,同时还可以将指示路由不可用的路由撤销消息发送给核心设备p和ed2,ed2刷新路由信息,即将路由下一跳地址(即虚拟ip地址)1.2.3.4改变为bgp真实下一跳地址(即实际ip地址)3.3.3.3,这样,ed3和ed4在转发vtep2发往vtep1的流量时将会通过目的地址为3.3.3.3的vxlan-dci隧道,流量仅转发给ed2并继续转发至vtep1,无需再经过故障链路。

可见,不管发送端是vtep还是核心设备,在第一ed自身的传输链路产生故障时,均可以利用建立的edi-vxlan隧道作为备用隧道转发数据流量以确保数据流量不丢失,还可以通过路由更新消息指示发送端直接将数据流量转发至第二ed,而无需经过故障链路,进而提升了流量传输的效率。

基于同一发明构思,本公开实施例中还提供了与数据报文传输系统对应的数据报文传输方法,由于本公开实施例中的方法解决问题的原理与本公开实施例上述数据报文传输系统相似,因此方法的实施可以参见系统的实施,重复之处不再赘述。

如图4所示,为本公开实施例所提供的一种数据报文传输方法的流程图,该数据报文传输方法应用于数据中心的第一ed,该第一ed与数据中心的第二ed之间建立有edi-vxlan隧道;方法包括:

s401、若确定自身的传输链路产生故障,则利用edi-vxlan隧道将发送端发送的数据报文转发至传输链路正常的第二ed;

s402、将从第一ed到达传输链路对应的下一跳的路由置为不可用状态,并指示第二ed向发送端发送路由更新信息;其中,路由更新信息用于指示发送端将第二ed的ip地址从虚拟ip地址更新为实际ip地址。

本公开实施例中,发送端可以是数据中心包括的vtep,还可以是用于连接不同数据中心的核心设备,接下来对上述两种情况分别进行说明。

针对发送端为数据中心包括的vtep而言,vtep可以与第一ed和第二ed之间分别建立有vxlan隧道,这样,第一ed在接收vtep利用vxlan隧道转发的数据报文之后,若确定自身的传输链路产生故障,则可以利用edi-vxlan隧道将vtep发送的数据报文转发至第二ed。

在一种实施方式中,上述第一ed可以将指示路由不可用的路由撤销消息发送至vtep,以使得vtep基于第一ed发送的路由撤销消息和第二ed发送的路由更新消息,将第二ed的地址从虚拟ip地址更新为实际ip地址。

本公开实施例中,在核心设备一端连接有上述数据中心,另一端连接有其它数据中心时,核心设备可以与第一ed和第二ed之间分别建立有vxlan-dci隧道,这样,第一ed一旦确定自身与核心设备之间的传输链路产生故障,则可以将vtep发送的数据报文封装为便于edi-vxlan隧道传输的第一封装数据报文,然后利用edi-vxlan隧道将第一封装数据报文转发至第二ed,以通过第二ed转发至核心设备。

针对发送端为用于连接不同数据中心的核心设备而言,核心设备可以与第一ed和第二ed之间分别建立有vxlan-dci隧道,这样,第一ed在接收到核心设备利用vxlan-dci隧道转发的数据报文之后,若确定自身的传输链路产生故障,则可以利用edi-vxlan隧道将核心设备发送的数据报文转发至第二ed。

在一种实施方式中,上述第一ed可以将指示路由不可用的路由撤销消息发送至核心设备,以使得核心设备基于第一ed发送的路由撤销消息和第二ed发送的路由更新消息,将第二ed的地址从虚拟ip地址更新为实际ip地址。

本公开实施例中,在上述数据中心还包括vtep时,vtep可以与第一ed和第二ed之间分别建立有vxlan隧道,这样,第一ed一旦确定自身与vtep之间的传输链路产生故障,则可以将核心设备发送的数据报文封装为便于edi-vxlan隧道传输的第三封装数据报文,然后利用edi-vxlan隧道将第三封装数据报文转发至第二ed,以通过第二ed转发至vtep。

如图5所示,为本公开实施例所提供的另一种数据报文传输方法的流程图,该数据报文传输方法应用于数据中心的第二ed,该第二ed与数据中心的第一ed之间建立有edi-vxlan隧道;方法包括:

s501、接收第一ed通过edi-vxlan隧道转发的数据报文;数据报文为第一ed在确定自身的传输链路产生故障时转发的来自发送端的数据报文;

s502、发送数据报文,并在确定从第一ed到达传输链路对应的下一跳的路由不可用时,向发送端发送路由更新信息;其中,路由更新信息用于指示发送端将第二ed的ip地址从虚拟ip地址更新为实际ip地址。

本公开实施例中,发送端可以是数据中心包括的vtep,还可以是用于连接不同数据中心的核心设备,接下来对上述两种情况分别进行说明。

针对发送端为数据中心包括的vtep而言,vtep可以与第一ed和第二ed之间分别建立有vxlan隧道,这样,第二ed可以接收第一ed利用edi-vxlan隧道转发的第一封装数据报文;第一封装数据报文为第一ed在确定自身与核心设备之间的传输链路产生故障时,将vtep发送的数据报文封装的便于edi-vxlan隧道传输的数据报文;还可以对第一封装数据报文进行解封装,得到第一解封装数据报文,将第一解封装数据报文封装为便于vxlan-dci隧道传输的第二封装数据报文,利用vxlan-dci隧道将第二封装数据报文转发至核心设备。

针对发送端为用于连接不同数据中心的核心设备而言,核心设备与第一ed和第二ed之间分别建立有vxlan-dci隧道,这样,第二ed可以接收第一ed利用edi-vxlan隧道转发的第三封装数据报文;第三封装数据报文为第一ed在确定自身与vtep之间的传输链路产生故障时,将核心设备发送的数据报文封装的便于edi-vxlan隧道传输的数据报文;对第三封装数据报文进行解封装,得到第二解封装数据报文;将第二解封装数据报文封装为便于vxlan隧道传输的第四封装数据报文,利用vxlan隧道将第四封装数据报文转发至vtep。

如图6所示,为本公开实施例所提供的另一种数据报文传输方法的流程图,该数据报文传输方法应用于不同数据中心之间进行数据传输时向数据中心中的第一ed发送数据报文的发送端,数据中心中的第一ed与第二ed之间建立有edi-vxlan隧道;发送端与第一ed和第二ed分别建立有数据传输隧道;方法包括:

s601、获取数据报文;

s602、将获取的数据报文利用建立的数据传输隧道转发至第一ed,以使第一ed在确定自身的传输链路产生故障时,利用edi-vxlan隧道将数据报文转发至第二ed;

s603、接收第二ed利用建立的数据传输隧道发送的路由更新消息,以根据路由更新消息将获取的数据报文转发至传输链路正常的第二ed;其中,路由更新信息用于指示发送端将第二ed的ip地址从虚拟ip地址更新为实际ip地址。

本公开实施例中,发送端可以是数据中心包括的vtep,还可以是用于连接不同数据中心的核心设备,接下来对上述两种情况分别进行说明。

针对发送端为数据中心包括的vtep而言,vtep与第一ed和第二ed分别建立有vxlan隧道,在具体应用中,vtep可以基于路由更新信息重新建立与第二ed之间的vxlan隧道,利用重新建立的vxlan隧道将数据报文转发至第二ed。

针对发送端为用于连接不同数据中心的核心设备而言,核心设备与第一ed和第二ed之间分别建立有vxlan-dci隧道,在具体应用中,核心设备可以基于路由更新信息重新建立与第二ed之间的vxlan-dci隧道,利用重新建立的vxlan-dci隧道将数据报文转发至第二ed。

本公开实施例还提供了与数据报文传输方法对应的数据报文传输装置,由于本公开实施例中的方法解决问题的原理与本公开实施例上述数据报文传输方法相似,因此方法的实施也可以参见系统的实施,重复之处不再赘述。

如图7所示,为本公开实施例提供的一种数据报文传输装置的结构示意图,该数据报文传输装置应用于数据中心的第一ed,该第一ed与数据中心的第二ed之间建立有edi-vxlan隧道;装置包括:

转发模块701,用于若确定自身的传输链路产生故障,则利用edi-vxlan隧道将发送端发送的数据报文转发至传输链路正常的第二ed;

指示模块702,用于将从第一ed到达传输链路对应的下一跳的路由置为不可用状态,并指示第二ed向发送端发送路由更新信息;

其中,路由更新信息用于指示发送端将第二ed的ip地址从虚拟ip地址更新为实际ip地址。

在一种实施方式中,发送端为数据中心包括的可扩展虚拟局域网络隧道端点vtep;vtep与第一ed和第二ed之间分别建立有vxlan隧道;转发模块701,具体用于:

在利用edi-vxlan隧道将发送端发送的数据报文转发至传输链路正常的第二ed之前,接收vtep利用vxlan隧道转发的数据报文;

若确定自身的传输链路产生故障,则利用edi-vxlan隧道将vtep发送的数据报文转发至第二ed。

在具体应用中,指示模块702,还用于将指示路由不可用的路由撤销消息发送至vtep,以使得vtep基于第一ed发送的路由撤销消息和第二ed发送的路由更新消息,将第二ed的地址从虚拟ip地址更新为实际ip地址。

在另一种实施方式中,数据中心与其它数据中心之间通过核心设备连接;核心设备与第一ed和第二ed之间分别建立有vxlan-dci隧道;转发模块701,具体用于:

若确定自身与核心设备之间的传输链路产生故障,则将vtep发送的数据报文封装为便于edi-vxlan隧道传输的第一封装数据报文;

利用edi-vxlan隧道将第一封装数据报文转发至第二ed,以通过第二ed转发至核心设备。

在又一种实施方式中,发送端为用于连接不同数据中心的核心设备;核心设备与第一ed和第二ed之间分别建立有vxlan-dci隧道;转发模块701,具体用于:

在利用edi-vxlan隧道将发送端发送的数据报文转发至传输链路正常的第二ed之前,接收核心设备利用vxlan-dci隧道转发的数据报文;

若确定自身的传输链路产生故障,则利用edi-vxlan隧道将核心设备发送的数据报文转发至第二ed。

在具体应用中,指示模块702,还用于将指示路由不可用的路由撤销消息发送至核心设备,以使得核心设备基于第一ed发送的路由撤销消息和第二ed发送的路由更新消息,将第二ed的地址从虚拟ip地址更新为实际ip地址。

在再一种实施方式中,数据中心还包括可扩展虚拟局域网络隧道端点vtep;vtep与第一ed和第二ed之间分别建立有vxlan隧道;转发模块701,具体用于:

若确定自身与vtep之间的传输链路产生故障,则将核心设备发送的数据报文封装为便于edi-vxlan隧道传输的第三封装数据报文;

利用edi-vxlan隧道将第三封装数据报文转发至第二ed,以通过第二ed转发至vtep。

图8所示,为本公开实施例提供的另一种数据报文传输装置的结构示意图,该数据报文传输装置应用于数据中心的第二ed,该第二ed与数据中心的第一ed之间建立有edi-vxlan隧道;装置包括:

接送模块801,用于接收第一ed通过edi-vxlan隧道转发的数据报文;数据报文为第一ed在确定自身的传输链路产生故障时转发的来自发送端的数据报文;

更新模块802,用于发送数据报文,并在确定从第一ed到达传输链路对应的下一跳的路由不可用时,向发送端发送路由更新信息;其中,路由更新信息用于指示发送端将第二ed的ip地址从虚拟ip地址更新为实际ip地址。

在一种实施方式中,发送端为数据中心包括的可扩展虚拟局域网络隧道端点vtep;vtep与第一ed和第二ed之间分别建立有vxlan隧道;接送模块801,具体用于:

接收第一ed利用edi-vxlan隧道转发的第一封装数据报文;第一封装数据报文为第一ed在确定自身与核心设备之间的传输链路产生故障时,将vtep发送的数据报文封装的便于edi-vxlan隧道传输的数据报文;

对第一封装数据报文进行解封装,得到第一解封装数据报文;

将第一解封装数据报文封装为便于vxlan-dci隧道传输的第二封装数据报文,利用vxlan-dci隧道将第二封装数据报文转发至核心设备。

在另一种实施方式中,发送端为用于连接不同数据中心的核心设备;核心设备与第一ed和第二ed之间分别建立有vxlan-dci隧道;接送模块801,具体用于:

接收第一ed利用edi-vxlan隧道转发的第三封装数据报文;第三封装数据报文为第一ed在确定自身与vtep之间的传输链路产生故障时,将核心设备发送的数据报文封装的便于edi-vxlan隧道传输的数据报文;

对第三封装数据报文进行解封装,得到第二解封装数据报文;

将第二解封装数据报文封装为便于vxlan隧道传输的第四封装数据报文,利用vxlan隧道将第四封装数据报文转发至vtep。

图9所示,为本公开实施例提供的另一种数据报文传输装置的结构示意图,该数据报文传输装置应用于不同数据中心之间进行数据传输时向数据中心中的第一ed发送数据报文的发送端,数据中心中的第一ed与第二ed之间建立有edi-vxlan隧道;发送端与第一ed和第二ed分别建立有数据传输隧道;装置包括:

获取模块901,用于获取数据报文;

转发模块902,用于将获取的数据报文利用建立的数据传输隧道转发至第一ed,以使第一ed在确定自身的传输链路产生故障时,利用edi-vxlan隧道将数据报文转发至第二ed;

更新模块903,用于接收第二ed利用建立的数据传输隧道发送的路由更新消息,以根据路由更新消息将获取的数据报文转发至传输链路正常的第二ed;其中,路由更新信息用于指示发送端将第二ed的ip地址从虚拟ip地址更新为实际ip地址。

在一种实施方式中,发送端为数据中心包括的可扩展虚拟局域网络隧道端点vtep;vtep与第一ed和第二ed分别建立有vxlan隧道;更新模块903,还用于:

基于路由更新信息重新建立与第二ed之间的vxlan隧道;

利用重新建立的vxlan隧道将数据报文转发至第二ed。

在另一种实施方式中,发送端为用于连接不同数据中心的核心设备;核心设备与第一ed和第二ed之间分别建立有vxlan-dci隧道;更新模块903,还用于:

基于路由更新信息重新建立与第二ed之间的vxlan-dci隧道;

利用重新建立的vxlan-dci隧道将数据报文转发至第二ed。

如图10所示,为本公开实施例所提供的电子设备的结构示意图,包括:处理器1001、存储器1002和总线1003,存储器1002存储执行指令,处理器1001与存储器1002之间通过总线1003通信,处理器1001执行存储器1002中存储的如上述实施例所述数据报文传输方法的步骤。

在具体应用时,上述电子设备可以是第一ed,以执行上述包括s401和s402等步骤的数据报文传输方法,还可以是第二ed,以执行包括s501、s502等步骤的数据报文传输方法,还可以是发送端,以执行包括s601、s602、s603等步骤的数据报文传输方法。

本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述数据报文传输方法的步骤。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述数据报文传输方法,从而解决ed故障情况所存在的流量丢失的问题,进而达到确保流量转发不丢失的前提下,确保流量转发的效率的效果。

本公开实施例所提供的数据报文传输方法方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。

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

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

以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

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