一种vxlan网络中的报文转发方法及装置制造方法

文档序号:7816170阅读:144来源:国知局
一种vxlan网络中的报文转发方法及装置制造方法
【专利摘要】本发明公开了一种VXLAN网络中的报文转发方法,该方法包括:配置第一虚拟通道终端VTEP和第二VTEP之间的VXLAN隧道;计算所述第一VTEP和第二VTEP之间的第一优选路径和第二优选路径;将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进行关联,并将所述第一优选路径作为主路径,将所述第二优选路径作为备路径,以使报文在所述第一优选路径上转发;若在预定时间内未接收到故障检测报文,则确定第一优选路径故障,并进行主备路径切换,以使报文在所述第二优选路径上转发。本发明还公开了一种VXLAN网络中的报文转发装置。采用本发明能够减少业务中断时间。
【专利说明】-种VXLAN网络中的报文转发方法及装置

【技术领域】
[0001]本发明涉及网络通信【技术领域】,特别涉及一种VXLAN网络中的报文转发方法及装 置。

【背景技术】
[0002] 在云计算的多租户环境中,每个租户都需要分配一个能够与其它逻辑网络进行 很好隔离的逻辑网络。逻辑网络的隔离一般通过虚拟局域网(VLAN, Virtual Local Area Network)技术来解决。在IEEE802· IQ标准中,由于VLAN的标识最大12bit,所以一定范围 内最大的VLAN个数只有4K。随着云环境下的多租户需求越来越多,4K个VLAN已经不能满 足数据中心大规模网络部署的需求。另外,在云计算环境中,工作负载经常需要在多个数据 中心和多个云平台中进行迁移,而当前基于IP子网的区域划分限制了二层连通性的应用。
[0003] 目前VXLAN组网示意图如图1所示。虚拟通道终端(VTEP)设备是VXLAN的边 缘设备。VXLAN的相关处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基 于VXLAN对数据帧进行二层转发、封装/解封装报文等,可以是物理服务器的虚拟交换机 (vSwitch),也可以是物理交换机。如图1,在一个物理服务器上跑一台虚拟机VMi,同时在 该服务器上有vSwitchl作为第一 VTEP用于VXLAN报文的封装解封装,在另一个物理服务 器上跑一台虚拟机VM2,同时在该服务器上有vSwitch2作为第二VTEP用于VXLAN报文的 封装解封装,那么VM1和VM2之间通过VXLAN进行通信,第一 VETP和第二VTEP之间会建立 VXLAN隧道(Tunnel),这个隧道建立依赖路由,当隧道所在路径上有链路或者站点出现故 障时,只能路由协议重计算路由进行恢复,计算路由需要占用一定时间,称为收敛时间,那 么在网络收敛时间内就会出现VXLAN业务断流现象,VXLAN业务的恢复依赖于路由收敛时 间。对于完全由控制设备控制的网络,如果交换机之间不运行任何路由协议,那么隧道所在 路径上链路或者站点出现故障时,VXLAN业务根本无法继续进行。


【发明内容】

[0004] 本发明提供了一种VXLAN网络中的报文转发方法及装置,能够减少业务中断时 间。
[0005] 为实现上述发明目的,本发明提供了一种VXLAN网络中的报文转发方法,该方法 包括:
[0006] 配置第一虚拟通道终端VTEP和第二VTEP之间的VXLAN隧道;
[0007] 计算所述第一 VTEP和第二VTEP之间的第一优选路径和第二优选路径;
[0008] 将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进行关联,并将所述 第一优选路径作为主路径,将所述第二优选路径作为备路径,以使报文在所述第一优选路 径上转发;
[0009] 若在预定时间内未接收到故障检测报文,则确定第一优选路径故障,并进行主备 路径切换,以使报文在所述第二优选路径上转发。
[0010]为实现上述发明目的,本发明还提供了一种VXLAN网络中的报文转发装置,该装 置包括:
[0011] 配置模块,用于配置第一虚拟通道终端VTEP和第二VTEP之间的VXLAN隧道;
[0012] 计算模块,用于计算所述第一 VTEP和第二VTEP之间的第一优选路径和第二优选 路径;
[0013] 关联模块,用于将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进行 关联,并将所述第一优选路径作为主路径,将所述第二优选路径作为备路径,以使报文在所 述第一优选路径上转发;
[0014] 故障确定模块,用于在预定时间内未接收到故障检测报文时,则确定第一优选路 径故障,并通过切换模块进行主备路径切换,以使报文在所述第二优选路径上转发。
[0015] 综上所述,本发明实施例中所提供的VXLAN网络中的报文转发方法包括:配置第 一虚拟通道终端VTEP和第二VTEP之间的VXLAN隧道;计算所述第一 VTEP和第二VTEP之间 的第一优选路径和第二优选路径;将所述第一优选路径和所述第二优选路径与所述VXLAN 隧道进行关联,并将所述第一优选路径作为主路径,将所述第二优选路径作为备路径,以使 报文在所述第一优选路径上转发;若在预定时间内未接收到故障检测报文,则确定第一优 选路径故障,并进行主备路径切换,以使报文在所述第二优选路径上转发。由此可知,本发 明通过计算主备路径,并且在流量转发的路径上对故障进行快速检测,在检测到故障时,及 时将流量切换到备路径上,从而保证VXLAN业务能够快速恢复。而现有技术中,一旦链路或 者某个站点出现故障,就只能依靠路由收敛恢复业务,收敛过程中就会导致VXLAN业务中 断,所以与现有技术相比,大大减少了业务中断时间。

【专利附图】

【附图说明】
[0016] 图1为VXLAN组网示意图;
[0017]图2为本发明提供的一种VXLAN网络中的报文转发方法的流程示意图;
[0018]图3为本发明实施例一的应用组网场景示意图;
[0019]图4为本发明实施例二的应用组网场景示意图;
[0020]图5为本发明实施例提出的一种VXLAN网络中报文转发的装置结构示意图。

【具体实施方式】
[0021] 以下参照附图,对本发明实施例作进一步地详细说明。
[0022] 如图2所示,本发明提供了一种VXLAN网络中的报文转发方法,该方法包括: [0023] 步骤21、配置第一虚拟通道终端VTEP和第二VTEP之间的VXLAN隧道;
[0024]步骤22、计算所述第一 VTEP和第二VTEP之间的第一优选路径和第二优选路径; [0025]步骤23、将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进行关联, 并将所述第一优选路径作为主路径,将所述第二优选路径作为备路径,以使报文在所述第 一优选路径上转发;
[0026]步骤24、若在预定时间内未接收到故障检测报文,则确定第一优选路径故障,并进 行主备路径切换,以使报文在所述第二优选路径上转发。
[0027] 进一步地,在进行主备路径切换之后,该方法进一步包括:
[0028] 计算第一 VTEP和第二VTEP之间的第三优选路径;
[0029]将所述第三优选路径与所述VXLAN隧道关联,将所述第一优选路径与所述VXLAN 隧道去关联,并将所述第二优选路径作为主路径,将所述第三优选路径作为备路径,以使报 文在所述第二优选路径上进行转发。
[0030] 进一步地,在计算第一 VTEP和第二VTEP之间的第三优选路径,将所述第二优选路 径作为主路径,将所述第三优选路径作为备路径之后,所述方法还包括:
[0031]接收第一优选路径恢复的消息;
[0032] 将所述第一优选路径与所述VXLAN隧道关联,将所述第三优选路径与所述VXLAN 隧道去关联,并将所述第一优选路径作为主路径,将所述第二优选路径作为备路径,以使报 文在所述第一优选路径上进行转发。
[0033] 上述方案包括两种应用场景,一种场景是传统网络,即网络中交换机间会运行路 由协议;一种场景是完全由控制设备控制的网络,网络中的设备不运行任何路由协议,依靠 流表进行报文转发。下面通过本发明实施例一和二进一步说明,本发明通过计算主备路径, 并且在流量转发的路径上对故障进行快速检测,在检测到故障时,及时将流量切换到备路 径上,从而保证VXLAN业务能够快速恢复。
[0034] 实施例一
[0035] 对于运行路由协议的VXLAN网络,其网络结构示意图如图3所示,图3中第一 VTEP 下挂用户1,第二VTEP下挂用户2。由于本实施例中VTEP和交换机都没有控制设备控制, 所以下面各配置,都是通过命令行的方式静态配置。在第一 VTEP和第二VTEP之间的VXLAN 隧道上还包括交换机1至交换机N等多个中间设备。
[0036] 实施例一 VXLAN网络中的报文转发方法包括以下步骤:
[0037] 步骤31、第一 VTEP配置第一 VTEP和第二VTEP之间的VXLAN隧道。
[0038] 步骤32、第一 VTEP计算所述第一 VTEP和第二VTEP之间的第一优选路径和第二优 选路径。
[0039] 步骤33、第一 VTEP将在所述第一优选路径和第二优选路径上的第一 VTEP的下一 跳和出接口与所述VXLAN隧道进行关联,形成与所述VXLAN隧道关联的主备路径表项,所述 与所述VXLAN隧道关联的主备路径表项中第一优选路径为激活状态,第二优选路径为未激 活状态,以使报文在所述第一优选路径上转发。
[0040] 需要说明的是,在与VXLAN隧道关联的主备路径表项中,主路径处于激活状态,备 路径处于未激活状态,这样,报文就会在处于激活状态的主路径进行转发。
[0041] 步骤34、第一 VTEP在第一 VTEP和第二VTEP之间的VXLAN隧道上建立双向转发 检测BFD会话;如果第一 VTEP在预定时间内没有接收到第二VTEP发送的BFD故障检测报 文,则确定该BFD故障检测报文所经过的第一优选路径故障。
[0042] 具体地,本发明为实现故障快速检测,在第一 VTEP和第二VTEP之间的隧道上建 立双向转发检测(Bidirectional Forwarding Detection,BFD)会话。需要说明的是,BFD 用来检测两个设备之间的通信故障。一对设备在它们之间的每条通道上周期性的发送BFD 报文,如果某个设备在足够长的时间内没有接收到BFD报文,则认为在这条到对端设备的 双向通道的某个部分出了故障。本发明实施例中以故障检测报文为BFD报文为例进行了说 明,在具体应用中,故障检测报文并不限于BFD报文,只要能够实现故障检测的报文都在本 发明的保护范围内。
[0043] 步骤35、第一 VTEP更新所述与所述VXLAN隧道关联的主备路径表项中第一优选路 径和第二优选路径的激活状态,将第一优选路径更新为未激活状态,将第二优选路径更新 为激活状态,以使报文在所述第二优选路径上转发。 _
[0044] 进一步地,在步骤35之后,第一 VTEP计算第一 VTEP和第二VTEP之间的第三优选 路径,将在所述第三优选路径上的第一 VTEP的下一跳和出接口与所述VXLAN隧道关联,将 在所述第一优选路径上的第一VTEP的下一跳和出接口与所述VXLAN隧道去关联,并将所述 第二优选路径作为主路径,将所述第三优选路径作为备路径,即更新所述与所述 VXLAN隧 道关联的主备路径表项,将所述与所述VXLAN隧道关联的主备路径表项中第二优选路径设 置为激活状态,第三优选路径设置为未激活状态,以使报文在所述第二优选路径上进行转 发。
[0045] 优选地,第一 VTEP根据路由协议确定第一优选路径是否恢复,当接收到第一优选 路径恢复的路由通告消息,该方法进一步包括:
[0046] 第一 VTEP将在所述第一优选路径上的第一 VTEP的下一跳和出接口与所述VXLAN 隧道关联,将在所述第三优选路径上的第一 VTEP的下一跳和出接口与所述VXLAN隧道去关 联,并将所述第一优选路径作为主路径,将所述第二优选路径作为备路径,即更新所述与隧 道关联的主备路径表项,将所述与所述VXLAN隧道关联的主备路径表项中第一优选路径设 置为激活状态,第二优选路径设置为未激活状态,以使报文在所述第一优选路径上进行转 发。
[0047] 下面列举具体场景进行详细说明。
[0048] 第一 VTEP (VTEP1)创建 VXLAN Tunnel,在 VXLAN Tunnel 中配置源 IP 地址:VTEP1, 目的IP地址:VTEP2 ;
[0049] VTEP1根据路由协议计算到VTEP2的路径,如果发现到VTEP2只有一条路径,说明 无法进行路径切换,只能在该条路径上进行报文转发,所以结束处理。
[0050] VTEP1如果发现到VTEP2有至少两条路径,则找出第一优选路径和第二优选路径 分别作为主备路径,将在第一优选路径和第二优选路径上的VTEP1的下一跳和出接口与 VXLAN Tunnel进行关联,形成与VXLAN Tunnel关联的主路径表项1和备路径表项2 :,如 表1所示
[0051]
[0052] 表 1

【权利要求】
1. 一种VXLAN网络中的报文转发方法,该方法包括: 配置第一虚拟通道终端VTEP和第二VTEP之间的VXLAN隧道; 计算所述第一 VTEP和第二VTEP之间的第一优选路径和第二优选路径; 将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进行关联,并将所述第一 优选路径作为主路径,将所述第二优选路径作为备路径,以使报文在所述第一优选路径上 转发; 若在预定时间内未接收到故障检测报文,则确定第一优选路径故障,并进行主备路径 切换,以使报文在所述第二优选路径上转发。
2. 如权利要求1所述的方法,其特征在于,在进行主备路径切换之后,该方法进一步包 括: 计算第一 VTEP和第二VTEP之间的第三优选路径;将所述第三优选路径与所述VXLAN 隧道关联,将所述第一优选路径与所述VXLAN隧道去关联,并将所述第二优选路径作为主 路径,将所述第三优选路径作为备路径,以使报文在所述第二优选路径上进行转发。
3. 如权利要求2所述的方法,其特征在于,在计算第一 VTEP和第二VTEP之间的第三优 选路径,将所述第二优选路径作为主路径,将所述第三优选路径作为备路径之后,所述方法 还包括: 接收第一优选路径恢复的消息; 将所述第一优选路径与所述VXLAN隧道关联,将所述第三优选路径与所述VXLAN隧道 去关联,并将所述第一优选路径作为主路径,将所述第二优选路径作为备路径,以使报文在 所述第一优选路径上进行转发。
4. 如权利要求1-3任一所述的方法,其特征在于,对于运行路由协议的VXLAN网络,所 述方法应用于所述第一 VTEP ; 所述将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进行关联,并将所述 第一优选路径作为主路径,将所述第二优选路径作为备路径,以使报文在所述第一优选路 径上转发的方法具体包括: 将在所述第一优选路径和第二优选路径上的第一 VTEP的下一跳和出接口与所述 VXLAN隧道进行关联,形成与所述VXLAN隧道关联的主备路径表项,所述与所述VXLAN隧道 关联的主备路径表项中第一优选路径为激活状态,第二优选路径为未激活状态,以使报文 在所述第一优选路径上转发。
5. 如权利要求4所述的方法,其特征在于, 所述进行主备路径切换,以使报文在第二优选路径上转发的方法具体包括: 更新所述与所述VXLAN隧道关联的主备路径表项中第一优选路径和第二优选路径的 激活状态,将第一优选路径更新为未激活状态,将第二优选路径更新为激活状态,以使报文 在所述第二优选路径上转发。
6. 如权利要求4所述的方法,其特征在于,所述将所述第一优选路径和所述第二优选 路径与所述VXLAN隧道进行关联,并将所述第一优选路径作为主路径,将所述第二优选路 径作为备路径之后,该方法进一步包括:在第一 VTEP和第二VTEP之间的VXLAN隧道上建立 双向转发检测BFD会话; 所述若在预定时间内未接收到故障检测报文,则确定第一优选路径故障具体包括: 如果第一 VTEP在预定时间内没有接收到第二VTEP发送的BFD故障检测报文,则确定 该ΒΠ )故障检测报文所经过的第一优选路径故障。
7. 如权利要求1-3任一所述的方法,其特征在于,对于由控制设备控制,流表指导转发 的VXLAN网络,所述方法应用于控制设备; 所述将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进行关联,并将所述 第一优选路径作为主路径,将所述第二优选路径作为备路径,以使报文在所述第一优选路 径上转发的方法具体包括: 将在所述第一优选路径和第二优选路径上的第一 VTEP的下一跳和出接口与所述 VXLAN隧道进行关联;向第一 VTEP下发第一优选路径对应的流表和第二优选路径的对应的 流表,所述第一优选路径对应的流表和第二优选路径的对应的流表的匹配项相同,且所述 第一优选路径对应的流表的优先级高于第二优选路径对应的流表的优先级,以使第一 VTEP 根据所述第一优选路径对应的流表在所述第一优选路径上转发报文。
8. 如权利要求7所述的方法,其特征在于, 所述进行主备路径切换,以使报文在第二优选路径上转发的方法具体包括: 向第一 VTEP发送修改流表,所述修改流表用于告知所述第一 VTEP第一优选路径对应 的流表的优先级已修改为低于第二优选路径对应的流表的优先级,以使第一 VTEP根据所 述第二优选路径对应的流表在所述第二优选路径上转发报文。
9. 如权利要求7所述的方法,其特征在于,所述将所述第一优选路径和所述第二优选 路径与所述VXLAN隧道进行关联,并将所述第一优选路径作为主路径,将所述第二优选路 径作为备路径之后,该方法进一步包括:控制设备向第一 VTEP下发匹配BFD故障检测报文, 且出接口为所述VXLAN隧道接口的流表,控制设备向第一 VTEP下发BFD故障检测报文,以 使第一 VTEP向第二VTEP发送BFD故障检测报文; 所述若在预定时间内未接收到故障检测报文,则确定第一优选路径故障具体包括: 如果控制设备在预定时间内没有接收到第二VTEP上送的BFD故障检测报文,则确定该 BFD故障检测报文所经过的第一优选路径故障。
10. -种VXLAN网络中的报文转发装置,该装置包括: 配置模块,用于配置第一虚拟通道终端VTEP和第二VTEP之间的VXLAN隧道; 计算模块,用于计算所述第一 VTEP和第二VTEP之间的第一优选路径和第二优选路 径; 关联模块,用于将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进行关 联,并将所述第一优选路径作为主路径,将所述第二优选路径作为备路径,以使报文在所述 第一优选路径上转发; 故障确定模块,用于在预定时间内未接收到故障检测报文时,则确定第一优选路径故 障,并通过切换模块进行主备路径切换,以使报文在所述第二优选路径上转发。
11. 如权利要求10所述的装置,其特征在于,在切换模块进行主备路径切换之后, 所述计算模块,还用于计算第一 VTEP和第二VTEP之间的第三优选路径; 所述关联模块,还用于将所述第三优选路径与所述VXLAN隧道关联,将所述第一优选 路径与所述VXLAN隧道去关联,并将所述第二优选路径作为主路径,将所述第三优选路径 作为备路径,以使报文在所述第二优选路径上进行转发。
12. 如权利要求11所述的装置,其特征在于, 所述装置还包括路径恢复接收模块,用于接收第一优选路径恢复的消息; 所述关联模块,还用于将所述第一优选路径与所述VXLAN隧道关联,将所述第三优选 路径与所述VXLAN隧道去关联,并将所述第一优选路径作为主路径,将所述第二优选路径 作为备路径,以使报文在所述第一优选路径上进行转发。
13. 如权利要求10-12任一所述的装置,其特征在于,对于运行路由协议的VXLAN网络, 所述装置应用于所述第一 VTEP ; 所述关联模块,在将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进行关 联,并将所述第一优选路径作为主路径,将所述第二优选路径作为备路径,以使报文在所述 第一优选路径上转发时,具体用于将在所述第一优选路径和第二优选路径上的第一 VTEP 的下一跳和出接口与所述VXLAN隧道进行关联,形成与所述VXLAN隧道关联的主备路径表 项,所述与所述VXLAN隧道关联的主备路径表项中第一优选路径为激活状态,第二优选路 径为未激活状态,以使报文在所述第一优选路径上转发。
14. 如权利要求13所述的装置,其特征在于, 所述切换模块,在进行主备路径切换,以使报文在第二优选路径上转发时,具体用于更 新所述与所述VXLAN隧道关联的主备路径表项中第一优选路径和第二优选路径的激活状 态,将第一优选路径更新为未激活状态,将第二优选路径更新为激活状态,以使报文在所述 第二优选路径上转发。
15. 如权利要求13所述的装置,其特征在于,所述装置进一步包括双向转发检测BFD会 话建立模块,用于关联模块将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进 行关联,并将所述第一优选路径作为主路径,将所述第二优选路径作为备路径之后,在第一 VTEP和第二VTEP之间的VXLAN隧道上建立双向转发检测BFD会话; 所述故障确定模块,具体用于,如果第一 VTEP在预定时间内没有接收到第二VTEP发送 的BFD故障检测报文,则确定该BFD故障检测报文所经过的第一优选路径故障。
16. 如权利要求10-12任一所述的装置,其特征在于,对于由控制设备控制,流表指导 转发的VXLAN网络,所述装置应用于控制设备; 所述关联模块,在将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进行关 联,并将所述第一优选路径作为主路径,将所述第二优选路径作为备路径,以使报文在所述 第一优选路径上转发时,具体用于将在所述第一优选路径和第二优选路径上的第一 VTEP 的下一跳和出接口与所述VXLAN隧道进行关联;向第一 VTEP下发第一优选路径对应的流表 和第二优选路径的对应的流表,所述第一优选路径对应的流表和第二优选路径的对应的流 表的匹配项相同,且所述第一优选路径对应的流表的优先级高于第二优选路径的对应的流 表的优先级,以使第一 VTEP根据所述第一优选路径对应的流表在所述第一优选路径上转 发报文。
17. 如权利要求16所述的装置,其特征在于, 所述切换模块,在进行主备路径切换,以使报文在第二优选路径上转发时,具体用于向 第一 VTEP发送修改流表,所述修改流表用于告知所述第一 VTEP第一优选路径对应的流表 的优先级已修改为低于第二优选路径对应的流表的优先级,以使第一 VTEP根据所述第二 优选路径对应的流表在所述第二优选路径上转发报文。
18.如权利要求16所述的装置,其特征在于,所述装置进一步包括BFD下发模块,用 于关联模块将所述第一优选路径和所述第二优选路径与所述VXLAN隧道进行关联,并将所 述第一优选路径作为主路径,将所述第二优选路径作为备路径之后,向第一 VTEP下发匹配 BFD故障检测报文,且出接口为所述VXLAN隧道接口的流表,向第一 VTEP下发BFD故障检测 报文,以使第一 VTEP向第二VTEP发送BFD故障检测报文; 所述故障确定模块,具体用于,如果控制设备在预定时间内没有接收到第二VTEP上送 的BFD故障检测报文,则确定该BFD故障检测报文所经过的第一优选路径故障。
【文档编号】H04L12/707GK104270298SQ201410521367
【公开日】2015年1月7日 申请日期:2014年9月30日 优先权日:2014年9月30日
【发明者】王茹萍, 王伟 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1