一种报文转发方法及装置与流程

文档序号:15683198发布日期:2018-10-16 20:47阅读:155来源:国知局

本申请涉及计算机通信领域,尤其涉及一种报文转发方法及装置。



背景技术:

vxlan(virtualextensiblelan,可扩展虚拟局域网络)是基于ip(internetprotocoladdress,互联网协议地址)网络、采用“mac(mediaaccesscontrol,媒体访问控制)inudp(userdatagramprotocol,用户数据报协议)”封装形式的二层vpn(virtualprivatenetwork,虚拟专用网络)技术。vxlan可以基于已有的服务提供商或企业ip网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。

在vxlan网络中,两个vtep(vxlantunnelendpoint,vxlan隧道端点)之间可建立vxlan隧道。通常,vxlan隧道对应有实际的物理转发路径,该物理转发路径用于转发通过该vxlan隧道的报文,该物理转发路径通常由路由协议计算得出。当隧道源vtep需要将报文发送到隧道目的vtep时,隧道源vtep可对该报文进行vxlan封装,并将封装后的vxlan报文通过该vxlan隧道对应的物理转发路径发送至隧道目的vtep。但是,当该物理转发路径拥堵或者故障时,隧道源vtep就会将该报文丢弃,从而造成断流。



技术实现要素:

有鉴于此,本申请提供一种报文转发方法及装置,用以防止断流。

具体地,本申请是通过如下技术方案实现的:

根据本申请的第一方面,提供一种报文转发方法,所述方法应用于vtep,包括:

根据本申请的第一方面,提供一种报文转发方法,所述方法应用于vtep,所述vtep设备配置了与至少一个vxlan隧道对应的多个物理转发路径;其中,所述vtep设备为所述多个物理转发路径的头节点时,所述方法包括:

接收报文;

在确定接收到的报文匹配的转发表项的出接口为目标vxlan隧道的隧道口时,在所述目标vxlan隧道对应的多个物理转发路径中,选择目标物理转发路径;所述目标vxlan隧道为所述至少一个vxlan隧道中的任一个;

依据所述目标物理转发路径,转发对所述报文进行封装后的第一vxlan报文;所述第一vxlan报文携带了该目标物理转发路径的信息。

可选的,所述在所述目标vxlan隧道对应的多个物理转发路径中,选择目标物理转发路径,包括:

在确定本vtep到所述目标vxlan隧道连接的目的vtep的路由不可达时,选择不同于该不可达路由的目标物理转发路径。

可选的,所述目标物理转发路径的信息包括目标物理转发路径上的节点的ip地址;

所述依据所述目标物理转发路径,转发对所述报文进行封装后的第一vxlan报文,包括:

在所述目标物理转发路径上除本vtep和终节点之外的其他节点中,选择目标节点;

在确定本vtep到所述目标节点的路由可达时,将所述报文封装成第一vxlan报文,并转发所述第一vxlan报文;

其中,所述第一vxlan报文的目的ip地址为所述目标节点的ip地;所述第一vxlan报文携带该目标节点和该目标物理转发路径上的终节点之间的中间节点的ip地址、以及该目标物理转发路径上的终节点的ip地址;

或者所述第一vxlan报文仅携带目标物理转发路径上的终节点的ip地址。

可选的,所述方法还包括:

将所述第一vxlan报文的指定字段的取值设置为第一预设值;所述第一预设值表示第一vxlan报文携带有所述目标物理转发路径上的节点的ip地址。

可选的,当所述vtep是sdn网络中的sdn转发设备时,所述至少一个vxlan隧道对应的多个物理转发路径通过如下方式配置:

接收sdn控制器下发的vxlan隧道标识、以及预配置的多个物理转发路径的对应关系。

可选的,所述方法还包括:

在确定本vtep到所述目标vxlan隧道连接的目的vtep的路由不可达时,对所述报文进行vxlan封装,形成第二vxlan报文;

其中,第二vxlan报文的目的ip地址为所述目的vtep的ip地址;所述第二vxlan报文的预设字段的取值为第二预设值;所述第二预设值表示该第二vxlan报文不携带任何物理转发路径上的节点的ip地址。

根据本申请的第二方面,提供一种报文转发方法,所述方法应用于vtep,所述vtep设备配置了与至少一个vxlan隧道对应的多个物理转发路径;其中,所述vtep设备为多个物理转发路径上的非头节点,所述方法包括:

接收由目标隧道对应的目标物理转发路径上的头节点发出的第一vxlan报文;所述目标vxlan隧道为所述第一vxlan报文对应的vxlan隧道;所述目标物理转发路径是所述头节点从所述目标vxlan隧道对应的多条物理转发路径中选择出的物理转发路径;

在确定所述第一vxlan报文的目的ip地址是本vtep的ip地址后,检查所述第一vxlan报文是否携带目标物理转发路径的信息;

如果携带,则依据所述目标物理转发路径的信息,对所述第一vxlan报文解封装后的报文重新进行vxlan封装,形成第二vxlan报文并转发。

可选的,所述检查所述第一vxlan报文是否携带目标物理转发路径的信息,包括:

检查所述第一vxlan报文的指定字段的取值;

若所述第一vxlan报文的指定字段的取值是第一预设值,确定所述第一vxlan报文携带目标物理转发路径的信息;

若所述第一vxlan报文的指定字段的取值是第二预设值,确定所述第一vxlan报文未携带目标物理转发路径的信息。

可选的,所述目标物理转发路径的信息为所述目标物理转发路径上的节点的ip地址;

所述依据所述目标物理转发路径的信息,对所述第一vxlan报文解封装后的报文重新进行vxlan封装,形成第二vxlan报文并转发,包括:

当确定本vtep到所述目标物理转发路径上的终节点的路由不可达、且本vtep到所述终节点之间存在中间节点时,从所述第一vxlan报文携带的目标物理转发路径上的除终节点之外的节点中,选择目标节点;

在确定本vtep到所述目标节点路由可达时,对该第一vxlan报文解封装后的报文重新进行vxlan封装,形成第二vxlan报文并转发;

其中,所述第二vxlan报文的目的ip地址为所述目标节点ip地址;

所述第二vxlan报文携带所述目标节点和所述终节点之间的中间节点的ip地址、以及所述终节点的ip地址;或者所述第二vxlan报文仅携带所述终节点的ip地址;

所述第二vxlan报文的指定字段的取值为第一预设值;所述第一预设值标识第二vxlan报文携带了目标物理转发路径上节点的ip地址。

可选的,所述依据所述目标物理转发路径的信息,对所述第一vxlan报文解封装后的报文重新进行vxlan封装,形成第二vxlan报文并转发,还包括:

当确定本vtep到所述目标物理转发路径上的终节点的路由可达时,对该第一vxlan报文解封装后的报文重新进行vxlan封装,形成第三vxlan报文;

其中,所述第三vxlan报文的目的ip地址为所述终节点的ip地址;所述第三vxlan报文不携带目标物理转发路径上节点的ip地址;

所述第三vxlan报文的指定字段的取值为第二预设值,所述第二预设值表示该第三vxlan报文不携带该目标物理转发路径上节点的ip地址。

可选的,所述方法还包括:

如果所述第一vxlan报文未携带目标物理转发路径的信息,则对所述第一vxlan报文进行解封装,并对解封装后的报文进行转发。

根据本申请的第三方面,提供一种报文转发装置,所述装置应用于vtep,所述vtep设备配置了与至少一个vxlan隧道对应的多个物理转发路径;其中,所述vtep设备为所述多个物理转发路径的头节点时,所述装置包括:

接收单元,用于接收报文;

选择单元,用于在确定接收到的报文匹配的转发表项的出接口为目标vxlan隧道的隧道口时,在所述目标vxlan隧道对应的多个物理转发路径中,选择目标物理转发路径;所述目标vxlan隧道为所述至少一个vxlan隧道中的任一个;

转发单元,用于依据所述目标物理转发路径,转发对所述报文进行封装后的第一vxlan报文;所述第一vxlan报文携带了该目标物理转发路径的信息。

可选的,所述选择单元,在所述目标vxlan隧道对应的多个物理转发路径中,选择目标物理转发路径时,具体用于在确定本vtep到所述目标vxlan隧道连接的目的vtep的路由不可达时,选择不同于该不可达路由的目标物理转发路径。

可选的,所述目标物理转发路径的信息包括目标物理转发路径上的节点的ip地址;

所述转发单元,具体用于在所述目标物理转发路径上除本vtep和终节点之外的其他节点中,选择目标节点;在确定本vtep到所述目标节点的路由可达时,将所述报文封装成第一vxlan报文,并转发所述第一vxlan报文;其中,所述第一vxlan报文的目的ip地址为所述目标节点的ip地;所述第一vxlan报文携带该目标节点和该目标物理转发路径上的终节点之间的中间节点的ip地址、以及该目标物理转发路径上的终节点的ip地址;或者所述第一vxlan报文仅携带目标物理转发路径上的终节点的ip地址。

根据本申请的第四方面,提供一种报文转发装置,所述装置应用于vtep,所述vtep设备配置了与至少一个vxlan隧道对应的多个物理转发路径;其中,所述vtep设备为多个物理转发路径上的非头节点,所述装置包括:

接收单元,用于接收由目标隧道对应的目标物理转发路径上的头节点发出的第一vxlan报文;所述目标vxlan隧道为所述第一vxlan报文对应的vxlan隧道;所述目标物理转发路径是所述头节点从所述目标vxlan隧道对应的多条物理转发路径中选择出的物理转发路径;

检查单元,用于在确定所述第一vxlan报文的目的ip地址是本vtep的ip地址后,检查所述第一vxlan报文是否携带目标物理转发路径的信息;

转发单元,用于如果携带,则依据所述目标物理转发路径的信息,对所述第一vxlan报文解封装后的报文重新进行vxlan封装,形成第二vxlan报文并转发。

可选的,所述目标物理转发路径的信息为所述目标物理转发路径上的节点的ip地址;

所述转发单元,具体用于当确定本vtep到所述目标物理转发路径上的终节点的路由不可达、且本vtep到所述终节点之间存在中间节点时,从所述第一vxlan报文携带的目标物理转发路径上的除终节点之外的节点中,选择目标节点;在确定本vtep到所述目标节点路由可达时,对该第一vxlan报文解封装后的报文重新进行vxlan封装,形成第二vxlan报文并转发;其中,所述第二vxlan报文的目的ip地址为所述目标节点ip地址;所述第二vxlan报文携带所述目标节点和所述终节点之间的中间节点的ip地址、以及所述终节点的ip地址;或者所述第二vxlan报文仅携带所述终节点的ip地址;所述第二vxlan报文的指定字段的取值为第一预设值;所述第一预设值标识第二vxlan报文携带了目标物理转发路径上节点的ip地址。

可选的,所述转发单元,还具体用于当确定本vtep到所述目标物理转发路径上的终节点的路由可达时,对该第一vxlan报文解封装后的报文重新进行vxlan封装,形成第三vxlan报文;其中,所述第三vxlan报文的目的ip地址为所述终节点的ip地址;所述第三vxlan报文不携带目标物理转发路径上节点的ip地址;所述第三vxlan报文的指定字段的取值为第二预设值,所述第二预设值表示该第三vxlan报文不携带该目标物理转发路径上节点的ip地址。

由于本申请的vtep在接收待通过隧道转发的报文后,不再通过该隧道对应的、由路由协议计算的默认物理转发路径转发该报文,而是在该隧道对应的多条物理转发路径中选择一条物理转发路径转发该报文,一方面,减少了针对默认物理转发路径的拥堵;另一方面,在vtep通过隧道转发报文时的物理转发路径的选择更为灵活。

此外,当上述默认物理转发路径不通(即本vtep到该vxlan隧道连接的目的vtep的路由不可达)时,vtep可以不将待转发的报文丢弃,而是选择不同于该不可达路由的物理转发路径转发该以太网报文,从而防止了业务流量的中断。

附图说明

图1是本申请示出的一种underlay网络中的物理实际路径转发示意图;

图2是本申请一示例性实施例示出的一种报文转发方法的流程图;

图3是本申请一示例性实施例示出的另一种报文转发方法的流程图;

图4是本申请示出的另一种underlay网络中的物理实际路径转发示意图;

图5是本申请提供一种报文转发装置所在vtep的硬件架构图;

图6是本申请一示例性实施例示出的一种与图5对应的报文转发装置的框图;

图7是本申请提供另一种报文转发装置所在vtep的硬件架构图;

图8是本申请一示例性实施例示出的一种与图7对应的报文转发装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

vxlan技术将已有的三层物理网络作为underlay网络,在其上构建出虚拟的二层网络,即overlay网络。overlay网络通过封装技术、利用underlay网络提供的三层转发路径,实现租户二层报文跨越三层网络在不同站点间传递。

例如,overlay网络的vtep1和vtep4之间建立有vxlan隧道1,该vxlan隧道1的实际物理转发路径是由underlay网路中的vtep构成的。

参见图1,图1是本申请示出的一种underlay网络中的物理实际路径转发示意图。

假设vtep1和vtep4之间的vxlan隧道1的实际物理转发路径有4条,分别是:

vtep1→vtep2→vtep4;

vtep1→vtep5→vtep3→vtep4;

vtep1→vtep5→vtep4;

vtep1→vtep2→vtep6→vtep4。

通常vtep1和vtep4之间的vxlan隧道1默认的物理转发路径可以根据路由协议计算得到。

假设,根据路由协议计算得到的vxlan隧道1的物理转发路径为vtep1→vtep5→vtep4。一旦这个路由协议计算出的物理转发路径形成了,vtep1上就会生成与该物理转发路径对应的路由表项1,该,路由表项1的目的ip地址为vtep4的ip地址,下一跳为vtep5的ip地址。然后vtep1还依据路由表项1生成转发表项1,该转发表项1的目的ip地址为vtep4的ip地址,下一跳为vtep5的ip地址。

同时,vtep5上还会生成与该物理转发路径对应的路由表项2,该路由表项2的目的ip地址为vtep4的ip地址,下一跳为vtep4的ip地址。然后,vtep5还会依据路由表项2生成转发表项2,该转发表项2的目的ip地址为vtep4的ip地址,下一跳为vtep4的ip地址。

当vtep1接收到以太网报文时,若该以太网报文匹配的转发表项的出接口为vxlan隧道1的隧道口时,vtep1可将该以太网报文进行vxlan封装,形成vxlan报文。该vxlan报文的目的ip为vtep4的ip地址。

然后,vtep1可根据目的ip为vtep4的ip地址的转发表项(即转发表项1)所指示的下一跳(即vtep5的ip地址),将该vxlan报文发送给vtep5。

当vtep5收到vxlan报文后,可查找目的ip地址与该vxlan报文携带的目的ip地址相同的转发表项2,然后vtep5可依据该转发表项2的下一跳指示的vtep(即vtep4),将该vxlan报文发送给vtep4。

vtep1就是通过上述转发方法,将接收到的以太网报文通过vxlan隧道1发送给vtep4。

然而,以vtep1为例,vtep1路由表项具有一定的老化时间,当老化时间到时,如果没有收到与该路由表项1对应的路由通告,则vtep1会将该路由表项1删除。

当vtep1→vtep5→vtep4路径上的出现流量拥塞时,vtep1很难收到与该路由表项1对应的路由通告,使得vtep1将该路由表项1删除,进而使得与该路由表项1对应的转发表项1也被删除。

当vtep1需要对上述封装好的vxlan报文进行转发时,由于无法查找到转发表项1,所以无法对该vxlan报文进行转发,因此会将该vxlan报文丢弃。

有鉴于此,本申请提出一种报文转发方法,至少解决上述问题。

参见图2,图2是本申请一示例性实施例示出的一种报文转发方法的流程图,该方法可以应用在vtep设备上,该vtep设备配置了与至少一个vxlan隧道对应的多个物理转发路径;其中,所述vtep设备为所述多个物理转发路径的头节点时,所述方法包括可包括步骤201至步骤203。

在介绍本申请提供的报文转发方法之前,先介绍几个概念。

1)物理转发路径

在overlay网络上搭建的vxlan隧道,在underlay网络中配置有与该vxlan隧道对应的实际的物理转发路径。该物理转发路径主要用于转发vxlan报文。

比如,overlay上的vtep1和vtep4之间建立有vxlan隧道1,vxlan隧道1对应的实际物理转发路径为underlay上的物理转发路径1(即vtep1→vtep5→vtep4)。

当vtep1将vxlan报文通过vxlan隧道1发送给vtep4时,报文实际的物理转发路径是:vtep1将vxlan报文发送给vtep5,vtep5再将该vxlan报文发送给vtep4。

vxlan隧道可以对应有多条实际的物理转发路径,其中一条物理转发路径是由路由协议计算出的路径(这里将由路由协议计算出的转发路径记为默认物理转发路径),其他为非默认物理转发路径。通常当vxlan隧道的源vtep设备检测到源vtep到目的vtep的路由可达时,源vtep设备会通过该默认物理转发路径(即查找ip转发表项)将报文转发给目的vtep。而当源vtep设备检查到源vtep到目的vtep路由不可达时,源vtep会将报文丢弃,从而造成断流。

而在本申请中,vtep上配置了vxlan隧道的标识、以及该vxlan隧道标识对应的至少一个物理转发路径的对应关系,使得源vtep可以灵活地选择物理转发路径来转发需要vxlan隧道转发的报文,而不再采用只通过默认物理转发路径的方式转发。

其中,该vxlan隧道标识、以及至少一个物理转发路径的对应关系可通过如下方式生成:

方式一:vtep可以接收用户配置的vxlan隧道标识、以及至少一个物理转发路径的对应关系。

方式二:当vtep是sdn网络中的sdn转发设备时,vtep可接收sdn控制器下发的vxlan隧道标识、以及至少一个物理转发路径的对应关系。

下面详细介绍下本申请提供的报文转发方法。该方法应用于vtep,所述vtep设备配置了与至少一个vxlan隧道对应的多个物理转发路径;其中,所述vtep设备为所述多个物理转发路径的头节点时,所述方法包括:

步骤201:接收报文;

这里接收到的报文可以是通过本vtep的ac口接收到的以太网报文,当然也可以是其他类型的报文,这里只是对报文进行示例性地说明,不对其进行具体限定。

下文在介绍本申请提供的方法时,以该报文为以太网报文为例进行介绍,这里不再赘述。

步骤202:在确定接收到的报文匹配的转发表项的出接口为目标vxlan隧道的隧道口时,在所述目标vxlan隧道对应的多个物理转发路径中,选择目标物理转发路径;所述目标vxlan隧道为所述至少一个vxlan隧道中的任一个。

在实现时,vtep可通过本地的ac口接收以太网报文。然后vtep可查找目的mac地址为该以太网报文的目的mac地址的转发表项。当查找到的转发表项的出接口为vxlan隧道(这里为了方便叙述,记为目标vxlan隧道)的隧道口时,vtep可在该目标vxlan隧道对应的多个物理转发路径中,选择目标物理转发路径。

需要说明的是,目标该vxlan隧道为本vtep设备上配置的至少一个vxlan隧道中的任一个vxlan隧道。

在选择时:

方法一:vtep可在目标vxlan隧道对应的多个物理转发路径中,任意选择一个物理转发路径作为目标物理转发路径。

方法二:vtep在确定本vtep到所述目标vxlan隧道连接的目的vtep的路由不可达时,选择不同于该不可达路由的目标物理转发路径。

在实现时,本vtep可以检查本vtep到该目标vxlan隧道连接的目的vtep的路由是否可达。

在检查时,vtep可检查本地是否存在目的ip地址是该目的vtep的ip地址的路由表项,若存在,则确定本vtep到该目标vxlan隧道连接的目的vtep的路由可达。若不存在,则确定本vtep到该目标vxlan隧道连接的目的vtep不可达。

当本vtep确定本vtep到该目的vtep不可达时,本vtep可在该目标vxlan隧道对应的多个物理转发路径中,选择不同于该不可达路由的目标物理转发路径。

这样的好处在于,本vtep到该vxlan隧道连接的目的vtep的路由不可达时,vtep可以不将该以太网报文丢弃,而是选择不同于该不可达路由的物理转发路径转发该以太网报文,从而防止了业务流量的中断。

步骤203:依据所述目标物理转发路径,转发对所述报文进行封装后的第一vxlan报文;所述第一vxlan报文携带了该目标物理转发路径的信息。

其中,上述目标物理转发路径的信息,可以是目标物理转发路径上节点的ip地址等等,这里只是对目标物理转发路径的信息进行示例性地说明,不对其进行具体地限定。

下面以该目标物理转发路径的信息为该目标物理转发路径上节点的ip地址为例来进行说明。

步骤1:vtep可在目标物理转发路径上除本vtep和终节点之外的其他节点中,选择目标节点。

在一种选择目标节点的方式中,vtep可以按照目标物理转发路径从头节点到终节点的顺序,选择距离终节点最近的节点作为目标节点。

例如,目标物理转发路径为vtep1→vtep2→vtep6→vtep4。

该目标物理转发路径上的节点依次为vtep1、vtep2、vtep6以及vtep4。其中,vtep1为该路径2上的头节点,vtep4为该路径2上的终节点,vtep2和vtep6为该路径2上的中间节点。

由于vtep6距离终节点vtep4的距离最近,所以vtep可选择vtep6作为目标节点。

在另一种选择目标节点的方式中,vtep可以在目标物理转发路径上除本vtep和终节点之外的其他节点中,选择任意一个节点,作为目标节点。

这里只是对选择目标节点的示例性说明,不对选择该目标节点进行具体地限定。

步骤2:vtep可检查本vtep到选择出的目标节点的路由是否可达。

在实现时,vtep可检测本地是否存在目的ip地址是该目标节点的ip地址的路由表项。如果存在,确定本vtep到该目标节点的路由可达,如果不存在,确定本vtep到该目标节点的路由不可达。

步骤3:当vtep确定本vtep到该目标节点的路由可达时,vtep可对该以太网报文进行vxlan封装形成第一vxlan报文,并转发该第一vxlan报文。

该第一vxlan报文的目的ip地址为所述目标节点的ip地址。

当目标节点和该目标物理转发路径上的终节点之间存在中间节点时,所述第一vxlan报文携带该目标节点和该目标物理转发路径上的终节点之间的中间节点的ip地址、以及该目标物理转发路径上的终节点的ip地址。

当目标节点和该目标物理转发路径上的终节点之间不存在中间节点时,该第一vxlan报文仅携带所述目标物理转发路径上的终节点的ip地址。

此外,vtep还可将该第一vxlan报文的指定字段的取值设置为第一预设值,该第一预设值表明该第一vxlan报文中携带了目标物理转发路径上的节点的ip地址。

然后,vtep可将依据与该第一vxlan报文的目的ip匹配的转发表项,转发该第一vxlan报文。

其中,该携带该目标物理转发路径上的终节点的ip地址的位置,以及该指定字段的位置可以是第一vxlan报文的封装信息。

该封装信息可以包括vxlan报头等,这里只是对携带位置、指定字段的位置以及封装信息进行示例性地说明,不对其进行具体地限定。

步骤4:若vtep确定本vtep到该目标节点的路由不可达时,vtep可在目标物理转发路径上的、除目标节点、本vtep和终节点之外的剩余节点中,重新选择目标节点。

在重新选择出目标节点后,vtep可重复执行步骤2至步骤4。

步骤204:在确定本vtep到所述目标vxlan隧道连接的目的vtep的路由可达时,对所述报文进行vxlan封装,形成第二vxlan报文。

其中,第二vxlan报文的目的ip地址为所述目的vtep的ip地址;所述第二vxlan报文的预设字段的取值为第二预设值;所述第二预设值表示该第二vxlan报文不携带任何物理转发路径上的节点的ip地址。

参见图3,图3是本申请一示例性实施例示出的另一种报文转发方法的流程图,该方法可以应用在vtep设备上,该vtep设备配置了与至少一个vxlan隧道对应的多个物理转发路径;其中,所述vtep设备为多个物理转发路径上的非头节点,所述方法包括步骤301至步骤304。该非头节点包括头节点与终节点之间的中间节点,以及终节点。

步骤301:接收由目标隧道对应的目标物理转发路径上的头节点发出的第一vxlan报文;所述目标vxlan隧道为所述第一vxlan报文对应的vxlan隧道;所述目标物理转发路径是所述头节点从所述目标vxlan隧道对应的多条物理转发路径中选择出的物理转发路径。

步骤302:在确定所述第一vxlan报文的目的ip地址是本vtep的ip地址后,检查所述第一vxlan报文是否携带目标物理转发路径的信息;

在实现时,vtep在确定所述第一vxlan报文携带的目的ip地址是本vtep的ip地址,可以对该第一vxlan报文进行vxlan解封装,得到封装信息和被封装的报文。该被封装的报文可以是以太网报文,也可以是其他类型的报文,这里只是示例性地说明,不对该被封装的报文进行具体地限定。

下面以被封装的报文是以太网报文为例进行说明。

vtep可检查所述第一vxlan报文的指定字段的取值。

例如,该指定字段是该第一vxlan报文封装信息中的字段,此时,vtep可检查该封装信息中的指定字段的取值;该封装信息可以包括第一vxlan报文的vxlan头、ip头、udp头等等。这只只是对指定字段的位置进行示例性地说明,不对其进行具体地限定。

若所述指定字段的取值是第一预设值,确定所述第一vxlan报文携带目标物理转发路径上的节点的ip地址;

若所述封装信息的指定字段的取值是第二预设值,确定所述第二vxlan报文中未携带目标物理转发路径上的节点的ip地址。

其中,第一预设值表示第二vxlan报文的封装信息携带了目标物理转发路径上的节点的ip地址;

第二预设值表示第二vxlan报文的封装信息未携带目标物理转发路径上的节点的ip地址。

需要说明的是,目标物理转发路径上的节点的ip地址可以携带于第一vxlan报文的封装信息,如第一vxlan报文的vxlan报头中,这里只是对携带目标物理转发路径上节点的ip地址的位置进行示例性地说明,不对其进行具体地限定。

步骤303:如果携带,则依据所述目标物理转发路径的信息,对所述第一vxlan报文解封装后的报文重新进行vxlan封装,形成第二vxlan报文并转发。

在实现时,当确定第一vxlan报文携带目标物理转发路径上节点的ip地址后,本vtep可检测本vtep到所述目标物理转发路径上的终节点的路由是否可达。

在检测时,本vtep可检测是否存在目的ip地址是该终节点的ip地址的路由表项,如果存在,确定本vtep到该目标物理转发路径上的终节点的路由可达。若不存在,确定本vtep到该目标物理转发路径上的终节点的路由不可达。

此外,本vtep还可通过该第一vxlan报文携带的物理转发路径上节点的数量来确定本vtep和该终节点之间是否存在中间节点。

比如,当第一vxlan报文携带的一个节点的ip地址,则表明本vtep与该终节点之间的不存在中间节点,该第一vxlan报文仅携带了该终节点的ip地址。当该第一vxlan报文携带的多个节点的ip地址,则表明本vtep与该终节点之间存在中间节点。

1)当确定本vtep到所述目标物理转发路径上的终节点的路由不可达、且本vtep到所述终节点之间存在中间节点时,从所述第一vxlan报文携带的目标物理转发路径上的除终节点之外的节点中,选择目标节点;

在确定本vtep到所述目标节点路由可达时,对该第一vxlan报文解封装后的以太网报文重新进行vxlan封装,形成第二vxlan报文并转发;

其中,所述第二vxlan报文的目的ip地址为所述目标节点ip地址;

所述第二vxlan报文携带所述目标节点和所述终节点之间的中间节点的ip地址、以及所述终节点的ip地址;或者所述第二vxlan报文仅携带所述终节点的ip地址;

所述第二vxlan报文的指定字段的取值为第一预设值,所述第一预设值标识第二vxlan报文携带了目标物理转发路径上节点的ip地址。

2)当确定本vtep到所述目标物理转发路径上的终节点的路由可达时,对该第一vxlan报文解封装后的报文重新进行vxlan封装,形成第三vxlan报文;

其中,所述第三vxlan报文的目的ip地址为所述终节点的ip地址;所述第三vxlan报文不携带目标物理转发路径上节点的ip地址。

所述第三vxlan报文的指定字段的取值为第二预设值,所述第二预设值表示该第三vxlan报文不携带该目标物理转发路径上节点的ip地址。

3)当确定本vtep到该目标节点的路由不可达时,则从第一vxlan报文携带的目标物理转发路径上的除终节点、该不可达的目标节点之外的其他节点中,重新选择目标节点。重新检测本vtep到该重新选择的目标节点的路由是否可达。

若本vtep到该第一vxlan报文携带的所有节点的路由都不可达,则将该第一vxlan报文丢弃。

4)当确定本vtep到所述目标物理转发路径上的终节点的路由不可达、且本vtep到所述终节点之间不存在中间节点时,则将该第一vxlan解封装后的以太网报文丢弃。

步骤304:如果不携带,对所述第一vxlan报文进行解封装,并对解封装后的报文进行转发。

如果所述第一vxlan报文未携带目标物理转发路径的信息,则对所述第一vxlan报文进行解封装,并对解封装后的报文进行转发。

由上述描述可以看出:

第一方面,当vtep在接收待通过隧道转发的报文后,不再通过该隧道对应的、由路由协议计算的默认物理转发路径转发该报文,而是在该隧道对应的多条物理转发路径中选择一条物理转发路径转发该报文,一方面,减少了针对默认物理转发路径的拥堵;另一方面,在vtep通过隧道转发报文时的物理转发路径的选择更为灵活。

第二方面,当vtep确定本vtep到vxlan隧道连接的目的vtep的路由不可达(即由路由协议计算出的本vtep到目的vtep物理转发路径不可用)时,vtep可以不将待通过vxlan隧道转发的报文丢弃,而是从物理转发路径表中,查找不同于该不可达路由的物理转发路径转发该报文,从而防止了业务流量的中断。

第三方面,本申请对vxlan报文的vxlan报头进行了扩展,使得vxlan报文里可以携带物理转发路径上的节点的ip地址、以及本申请还对vxlan报文的转发流程进行改进。

当vtep接收到vxlan报文后,若该vxlan报文的目的ip地址是本vtep的ip地址,则将该vxlan报文进行vxlan解封装。并进一步查看该vxlan报文是否携带了物理转发路径上的节点ip地址,若携带,则可选择目标节点,并将解封装后的报文重新进行vxlan封装,封装后的vxlan报文的目的ip地址为目标节点的ip地址。然后再将该重新封装后vxlan报文进行转发,直到将该vxlan报文转发至终节点。这就使得在不改变各个vtep上的转发表的前提下,就可以将该vxlan报文沿着为该vxlan隧道另配置的物理转发路径进行转发。

第四方面,本申请vxlan报文的转发流程与现有的vxlan报文的转发流程不同。

现有方式中,当本vtep和目的vtep之间的中间节点接收到vxlan报文后,直接对该vxlan报文进行查表转发,而不对该vxlan报文进行封装和解封装操作。

而在本申请中,本vtep和目的vtep之间的中间节点接收到vxlan报文后,若该vxlan报文的目的ip地址是本节点的ip地址,则对该vxlan报文进行解封装,可选择目标节点,再对vxlan报文重新进行封装,然后再转发。

参见图4,图4是本申请示出的另一种underlay网络中的物理实际路径转发示意图。

下面通过具体地例子并结合图4,对本申请提供的报文转发方法进行详细地说明。

首先,介绍下本申请的组网架构,以及本申请提出的物理转发路径表。

假设vtep41和vtep44之间建立有vxlan隧道41,vtep41与用户主机vm41相连,vtep44与用户主机vm42相连。

假设vtep41的ip地址为1.1.1.1,vtep44的ip地址为4.4.4.4,则vxlan隧道41的源ip地址为1.1.1.1,目的ip地址为4.4.4.4。

假设,由路由协议计算出的vxlan隧道41的默认物理转发路径为物理转发路径1,该物理转发路径1上节点依次为vtep41、vtep43、vtep44。其中,vtep41为头节点,vtep43为中间节点,vtep44为终节点。

同时,vtep41上还配置vxlan隧道的隧道标识、与至少一个物理转发路径的对应关系。

比如,配置了vxlan隧道41对应有物理转发路径1、物理转发路径2和物理转发路径3。

其中,该物理转发路径2上的节点依次为vtep41、vtep42、vtep46以及vtep44。其中,vtep41为该路径2上的头节点,vtep44为该路径2上的终节点,vtep42和vtep46为该路径2上的中间节点。其中,vtep42的ip地址为2.2.2.2,vtep46的ip地址为6.6.6.6。

物理转发路径3上的节点依次为vtep41、vtep45和vtep44。

该对应关系可以通过如下方式生成:

方式一:vtep41可以接收用户配置的vxlan隧道标识、以及至少一个物理转发路径的对应关系。

方式二:当vtep41是sdn网络中的sdn转发设备时,vtep41可接收sdn控制器下发的vxlan隧道标识、以及至少一个物理转发路径的对应关系。

比如,vtep41可接收sdn控制器下发的vxlan隧道41、和物理转发路径1、物理转发路径2和物理转发路径3的对应关系。

其次,介绍本申请提出的报文转发方法。

本申请对vxlan报文的vxlan报头做了扩展,使得vxlan报头可以携带选择出的目标物理转发路径上的节点的ip地址,以及携带用于指示vxlan报头是否携带目标物理转发路径上的节点的ip地址的指定字段。当该指定字段的取值为第一预设值时,表明该vxlan报头携带了目标物理转发路径上节点的ip地址,当该指定字段的取值为第二预设值时,表明该vxlan报头未携带目标物理转发路径上节点的ip地址。

在本申请中,假设第一预设值为1,第二预设值为0。

假设vm41要向vm42发送报文。

vm41可将以太网报文发送给vtep41。当vtep41接收到该以太网报文后,可查找与该以太网报文的目的mac地址匹配的转发表项。

当查找到的转发表项的出接口为本地ac口,vtep41依据通过该本地ac口转发该以太网报文。

若查找到的转发表项的出接口为vxlan隧道1的隧道口时,vtep41可在该vxlan隧道1对应的多个物理转发路径中选择目标物理转发路径。

方法一:vtep41可以在该vxlan隧道1对应的多个物理转发路径中,任意选择一个物理转发路径,作为目标物理转发路径。

方式二:在vtep41确定vtep41到vxlan隧道1连接的目的vtep(即vtep44)的路由不可达时,选择不同于该不可达路由(即物理转发路径1)的物理转发路径,作为目标物理转发路径。

在实现时,vtep41可检查vtep41到vxlan隧道1连接的目的vtep(即vtep44)的路由是否可达。

在检查时,vtep41可检测是否存在目的ip地址为vtep44的ip地址的路由表项,若存在,则确定vtep41到vtep44的路由可达。若不存在,则确定vtep41到vtep44的路由不可达。

当检测到vtep41到vtep44的路由不可达时,vtep41可在vxlan隧道1对应的物理转发路径1、物理转发路径2和物理转发路径3中,选择不同于物理转发路径1的目标物理转发路径。在本例中,假设选择出的目标物理转发路径为物理转发路径2。

按照该物理转发路径2从头节点到终节点的顺序,该物理转发路径2上的节点依次为vtep41、vtep42、vtep46以及vtep44。其中,vtep41为该路径2上的头节点,vtep44为该路径2上的终节点,vtep42和vtep46为该路径2上的中间节点。

然后,vtep41可在该物理转发路径2上的、除本vtep和vtep44之外的节点中选择目标节点(即在vtep42和vtep46中选择目标节点)。

在一种选取目标节点的方式中,vtep41可以按照物理转发路径2从头节点到终节点的顺序,优先距离终节点vtep44最近的节点。比如,vtep46最靠近vtep44,所以可以选择vtep46作为目标节点。

在另一种选取目标节点的方式中,vtp41可以在vtep42和vtep46中选择任意一个节点作为目标节点。

以vtep41选择vtep46作为目标节点为例进行说明。

在选择出目标节点后,vtep41可检查vtep41到vtep46的路由是否可达。

在检查时,vtep41可检查本地是否存在目的ip地址是vtep46的ip地址的路由表项,如果存在,确定vtep41到vtep46的路由可达,若不存在,确定vtep41到vtep46的路由不可达。

当确定vtep41到vtep46的路由可达时,vtep41可对该以太网报文1进行vxlan封装,形成vxlan报文2。该vxlan报文2的目的ip地址是vtep46的ip地址。vxlan报文2的vxlan报头里还携带了目标节点与终节点之间的中间节点的ip地址和终节点的ip地址,或者vxlan报文2的vxlan报头里仅携带了终节点的ip地址。

在本例中,由于vtep46与vtep44之间没有中间节点,所以vxlan报文2的vxlan报头里携带了物理转发路径2上的终节点vtep44的ip地址。同时,vtep41还可将vxlan报文2的vxlan报头里的指定字段的取值设置为1。

然后,vtep41可根据与该vxlan报文2的目的ip地址匹配的转发表项,对该vxlan报文2进行转发。

当vtep46确定vtep41到vtep46的路由不可达时,vtep41可在剩余节点(即物理转发路径2上的、除本vtep、终节点以及vtep46之外的节点)中重新选择目标节点。并按照上述针对vtep46的步骤,检查vtep41到重新选择的目标节点的路由是否可达、以及在路由可达时转发以太网报文的操作。

若vtep41到该物理转发路径2上的所有节点的路由均不可达,则将该以太网报文1丢弃。

在本例中,假设vtep41到vtep46的路由可达,vtep41可通过上述方式将上述vxlan报文2发送给了vtep46。

在本申请实施例中,当vtep41检测到vtep41到vtep44的路由可达时,vtep41可对该以太网报文进行vxlan封装,形成vxlan报文1。该vxlan报文1的目的ip地址为vtep44的ip地址,该vxlan报文1的vxlan头中的指定字段的取值为0。该vxlan报文1里不携带任务物理转发路径上节点的ip地址。

当vtep46接收到该vxlan报文2后,可检查vxlan报文2的目的ip地址是否为本vtep的ip地址。

如果vxlan报文2的目的ip地址不是本vtep的ip地址,vtep46可查找与该vxlan报文2的目的ip匹配的转发表项,然后按照该查找到的转发表项对该vxlan报文2进行转发。

在本例中,vxlan报文2的目的ip地址是本vtep的ip地址,所以vtep46可对该vxlan报文2进行vxlan解封装,得到vxlan报头等封装信息,以及被封装的以太网报文1。

vtep46可检查vxlan报文2的vxlan报头的指定字段的取值。在本例中,vxlan报文2的vxlan报头的取值为1,vtep46可确定该vxlan报头里携带了物理转发路径2上的节点的ip地址。

然后,vtep46可以检查vtep46到终节点(即vtep44)的路由是否可达,以及检查vtep46到该终节点(即vtep44)之间是否有中间节点。

若vtep46到终节点的路由不可达,且vtep46到该终节点之间存在中间节点,则在该vxlan报文2的vxlan报头中携带除终节点之外的节点中选择目标节点。

若确定vtep46到该选择出的目标节点路由可达时,对该以太网报文1进行vxlan封装,形成vxlan报文3。

该vxlan报文3的目的ip地址为该目标节点的ip地址,该vxlan报文3还携带了目标节点与该终节点之间的中间节点的ip地址,和终节点ip地址;或者该vxlan报文3仅携带了终节点的ip地址。该vxlan报文3指定字段的取值为1。

若vtep46到选择出的目标节点路由不可达时,vtep46可重新在该vxlan报文3携带的除终节点、选择出的目标节点之外的其他节点中,重新选择目标节点,并检测vtep46到重新选择出的目标节点的路由是否可达。

若vtep46到终节点的路由可达,则将对该以太网报文1进行vxlan封装,形成vxlan报文4。该vxlan报文4的目的地址为该终节点的ip地址,该vxlan报文4不携带物理转发路径2上的任何节点的ip地址,该vxlan报文4指定字段的取值为0。

若vtep46到终节点的路由不可达,且vtep46到该终节点之间不存在中间节点,则将以太网报文1丢弃。

在本例中,若vtep46到vtep44路由可达,则vtep46对该以太网报文1进行vxlan封装,形成vxlan报文4。该vxlan报文4的目的ip地址为vtep44的ip地址。vxlan报文4的vxlan报头里不携带物理转发路径2上的节点的ip地址。此时vtep46可将该vxlan报文4的vxlan报头里的指定字段的取值为0。

然后,vtep46可查找目的ip地址为vxlan报文4的ip地址的转发表项,然后按照该转发表项对vxlan报文3进行转发。

若vtep46到vtep44的路由不可达,由于vxlan报文2的vxlan报头里只携带了vtep44的ip地址,所以vtep46可确定vtep46到vtep44之间不存在中间节点。此时,vtep46可将该以太网报文1丢弃。

在本例中,假设vtep46将vxlan报文4发送给了vtep44。

当vtep44接收到该vxlan报文4后,可检查vxlan报文4的目的ip地址是否为vtep44的ip地址。在本例中,vxlan报文4的目的ip地址为vtep44的ip地址。vtep44可对该vxlan报文4进行vxlan解封装,得到vxlan报文4的vxlan报头等封装信息和以太网报文1。

然后,vtep44可检查vxlan报文4的vxlan报头里的指定字段的取值,在本例中,vxlan报文4的vxlan报头里的指定字段的取值为0,vtep44确定vxlan报文4的vxlan报头里未携带物理转发路径2上的节点ip地址。此时,vtep44可查找目的mac地址是该以太网报文1携带的mac地址的转发表项,然后依据该转发表项对该以太网报文1进行转发。

由上述描述可以看出:

第一方面,当vtep41在接收待通过隧道转发的报文后,不再通过该隧道对应的、由路由协议计算的物理转发路径1转发该报文,而是在该隧道对应的多条物理转发路径中选择一条物理转发路径转发该报文,一方面,减少了针对物理转发路径1的拥堵;另一方面,在vtep通过隧道转发报文时的物理转发路径的选择更为灵活。

第二方面,当vtep41确定vtep41与vtep44的路由不可达(即由路由协议计算出的vtep41和vtep44物理转发路径不可用)时,vtep11可以不将待转发的以太网报文丢弃,而是选择不同于物理转发路径1的物理转发路径2转发该以太网报文,从而防止了业务流量的中断。

第三方面,本申请对vxlan报文的vxlan报头进行了扩展,使得vxlan报文里可以携带物理转发路径上的节点的ip地址、以及本申请还对vxlan报文的转发流程进行改进。

当vtep接收到vxlan报文后,若该vxlan报文的目的ip地址是本vtep的ip地址,则将该vxlan报文进行vxlan解封装。并进一步查看该vxlan报文的vxlan报头是否携带了物理转发路径上的节点ip地址,若携带,则选择目标节点,并解封装后的以太网报文重新进行vxlan封装,封装后的vxlan报文的目的ip地址为目标节点的ip地址。然后再将该vxlan报文进行转发,直到将该vxlan报文转发至终节点。这就使得在不改变各个vtep上的转发表的前提下,就可以将该vxlan报文沿着为vxlan隧道1另配置的物理转发路径2进行转发。

第四方面,本申请vxlan报文的转发流程与现有的vxlan报文的转发流程不同。

现有方式中,当vtep41和vtep44之间的中间节点接收到vxlan报文后,直接对该vxlan报文进行查表转发,而不对该vxlan报文进行封装和解封装操作。

而在本申请中,vtep41和vtep44之间的中间节点接收到vxlan报文后,若该vxlan报文的目的ip地址是本节点的ip地址,则对该vxlan报文进行解封装,并重新选择目标节点,再对vxlan报文重新进行封装,然后再转发。

参见图5,本申请还提供一种报文转发方法所在vtep的硬件架构图,该vtpe包括:通信接口501、处理器502、存储器503和总线504;其中,通信接口501、处理器502和存储器503通过总线504完成相互间的通信。

其中,处理器502可以是一个cpu,存储器503可以是非易失性存储器(non-volatilememory),并且存储器503中存储有报文转发的逻辑指令,处理器502可以执行存储器503中存储的报文转发的逻辑指令,以实现防止断流的功能。

至此,完成图5所示的硬件结构描述。

参见图6,图6是本申请一示例性实施例示出的一种与图5对应的报文转发装置的框图。该装置应用于vtep,该vtep设备配置了与至少一个vxlan隧道对应的多个物理转发路径;其中,所述vtep设备为所述多个物理转发路径的头节点时,可包括如下所示单元。

接收单元601,用于接收报文;

选择单元602,用于在确定接收到的报文匹配的转发表项的出接口为目标vxlan隧道的隧道口时,在所述目标vxlan隧道对应的多个物理转发路径中,选择目标物理转发路径;所述目标vxlan隧道为所述至少一个vxlan隧道中的任一个;

转发单元603,用于依据所述目标物理转发路径,转发对所述报文进行封装后的第一vxlan报文;所述第一vxlan报文携带了该目标物理转发路径的信息。

可选的,所述选择单元602,在所述目标vxlan隧道对应的多个物理转发路径中,选择目标物理转发路径时,具体用于在确定本vtep到所述目标vxlan隧道连接的目的vtep的路由不可达时,选择不同于该不可达路由的目标物理转发路径。

可选的,所述目标物理转发路径的信息包括目标物理转发路径上的节点的ip地址;

所述转发单元603,具体用于在所述目标物理转发路径上除本vtep和终节点之外的其他节点中,选择目标节点;在确定本vtep到所述目标节点的路由可达时,将所述报文封装成第一vxlan报文,并转发所述第一vxlan报文;其中,所述第一vxlan报文的目的ip地址为所述目标节点的ip地;所述第一vxlan报文携带该目标节点和该目标物理转发路径上的终节点之间的中间节点的ip地址、以及该目标物理转发路径上的终节点的ip地址;或者所述第一vxlan报文仅携带目标物理转发路径上的终节点的ip地址。

可选的,所述装置包括:

设置单元604,用于将所述第一vxlan报文的指定字段的取值设置为第一预设值;所述第一预设值表示第一vxlan报文携带有所述目标物理转发路径上的节点的ip地址。

可选的,当所述vtep是sdn网络中的sdn转发设备时,所述至少一个vxlan隧道对应的多个物理转发路径通过如下方式配置:

接收sdn控制器下发的vxlan隧道标识、以及预配置的多个物理转发路径的对应关系。

可选的,所述转发单元603,还用于在确定本vtep到所述目标vxlan隧道连接的目的vtep的路由可达时,对所述报文进行vxlan封装,形成第二vxlan报文;其中,第二vxlan报文的目的ip地址为所述目的vtep的ip地址;所述第二vxlan报文的预设字段的取值为第二预设值;所述第二预设值表示该第二vxlan报文不携带任何物理转发路径上的节点的ip地址。

参见图7,本申请还提供另一种报文转发方法所在vtep的硬件架构图,该vtpe包括:通信接口701、处理器702、存储器703和总线704;其中,通信接口701、处理器702和存储器703通过总线704完成相互间的通信。

其中,处理器702可以是一个cpu,存储器703可以是非易失性存储器(non-volatilememory),并且存储器703中存储有报文转发的逻辑指令,处理器702可以执行存储器703中存储的报文转发的逻辑指令,以实现防止断流的功能。

至此,完成图7所示的硬件结构描述。

参见图8,图8是本申请一示例性实施例示出的一种与图7对应的报文转发装置的框图。该装置应用于vtep,所述vtep设备配置了与至少一个vxlan隧道对应的多个物理转发路径;其中,所述vtep设备为多个物理转发路径上的非头节点,所述装置可包括如下所示单元。

接收单元801,用于接收由目标隧道对应的目标物理转发路径上的头节点发出的第一vxlan报文;所述目标vxlan隧道为所述第一vxlan报文对应的vxlan隧道;所述目标物理转发路径是所述头节点从所述目标vxlan隧道对应的多条物理转发路径中选择出的物理转发路径;

检查单元802,用于在确定所述第一vxlan报文的目的ip地址是本vtep的ip地址后,检查所述第一vxlan报文是否携带目标物理转发路径的信息;

转发单元803,用于如果携带,则依据所述目标物理转发路径的信息,对所述第一vxlan报文解封装后的报文重新进行vxlan封装,形成第二vxlan报文并转发。

可选的,所述检查单元802,具体用于检查所述第一vxlan报文的指定字段的取值;若所述第一vxlan报文的指定字段的取值是第一预设值,确定所述第一vxlan报文携带目标物理转发路径的信息;若所述第一vxlan报文的指定字段的取值是第二预设值,确定所述第一vxlan报文未携带目标物理转发路径的信息。

可选的,所述目标物理转发路径的信息为所述目标物理转发路径上的节点的ip地址;

所述转发单元803,具体用于当确定本vtep到所述目标物理转发路径上的终节点的路由不可达、且本vtep到所述终节点之间存在中间节点时,从所述第一vxlan报文携带的目标物理转发路径上的除终节点之外的节点中,选择目标节点;在确定本vtep到所述目标节点路由可达时,对该第一vxlan报文解封装后的报文重新进行vxlan封装,形成第二vxlan报文并转发;其中,所述第二vxlan报文的目的ip地址为所述目标节点ip地址;所述第二vxlan报文携带所述目标节点和所述终节点之间的中间节点的ip地址、以及所述终节点的ip地址;或者所述第二vxlan报文仅携带所述终节点的ip地址;所述第二vxlan报文的指定字段的取值为第一预设值;所述第一预设值标识第二vxlan报文携带了目标物理转发路径上节点的ip地址。

可选的,所述转发单元803,还具体用于当确定本vtep到所述目标物理转发路径上的终节点的路由可达时,对该第一vxlan报文解封装后的报文重新进行vxlan封装,形成第三vxlan报文;其中,所述第三vxlan报文的目的ip地址为所述终节点的ip地址;所述第三vxlan报文不携带目标物理转发路径上节点的ip地址;所述第三vxlan报文的指定字段的取值为第二预设值,所述第二预设值表示该第三vxlan报文不携带该目标物理转发路径上节点的ip地址。

可选的,所述转发单元803,还用于如果所述第一vxlan报文未携带目标物理转发路径的信息,则对所述第一vxlan报文进行解封装,并对解封装后的报文进行转发。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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