CN114301994A - 一种双栈转换方法、装置、网络设备及存储介质 - Google Patents
一种双栈转换方法、装置、网络设备及存储介质 Download PDFInfo
- Publication number
- CN114301994A CN114301994A CN202111643772.3A CN202111643772A CN114301994A CN 114301994 A CN114301994 A CN 114301994A CN 202111643772 A CN202111643772 A CN 202111643772A CN 114301994 A CN114301994 A CN 114301994A
- Authority
- CN
- China
- Prior art keywords
- network
- migration
- protocol stack
- duration
- stack
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种双栈转换方法、装置、网络设备及存储介质,用于改善双协议栈切换迁移过程中出现业务中断的不稳定的问题。该双栈转换方法应用于网络设备,网络设备上运行有Underlay网络和Overlay网络,Underlay网络配置有正在运行的第一协议栈和未运行的第二协议栈;双栈转换方法包括:接收控制器发送的迁移指令,迁移指令中包括:同步网络时长和迁移保持时长;在等待同步网络时长之后,针对Underlay网络中的每条隧道发送探测请求;判断在预设时长内是否接收Underlay网络中所有隧道返回的探测响应;若是,则将第一协议栈迁移至第二协议栈,并在迁移保持时长之后,撤销并删除第一协议栈。
Description
技术领域
本申请涉及数据通信和计算机网络的技术领域,具体而言,涉及一种双栈转换方法、装置、网络设备及存储介质。
背景技术
双栈转换,又被称为双协议栈转换,是指在互联网协议第四版(InternetProtocol version 4,IPv4)与互联网协议第六版(Internet Protocol version 6,IPv6)这两个协议栈之间相互转换的过程。
虚拟可扩展局域网络(Virtual Extensible Local Area Network,VXLAN)是一种基于三层网络虚拟化(Network Virtualization over Layer 3,NVO3)的网络虚拟化技术,可以改进云计算在部署时的扩展问题,VXLAN可以穿透三层网络对二层进行扩展,可以通过VXLAN来封装流量并将其扩展到第三层网关,从而可以访问在外部子网上的服务器。通常将数据中心三层网络以下的承载网络称之为Underlay网络,将数据中心三层网络以上的虚拟化技术实现的叠加网络称之为Overlay网络,有时也称租户网络。
目前,通常使用IPv4业务网络运行在IPv4承载网络的VXLAN隧道之上,可以称之为IPv4 over IPv4;同理,还有IPv6 over IPv4、IPv4 over IPv6以及IPv6 over IPv6共四种VXLAN类型。当数据中心的Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移时,通常会在业务中断的情况下进行切换迁移,并且通常会采用逐台设备迁移的方式,具体例如:在国庆期间早上2点开始让Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移,然而,由于各个地方的时区和生活习惯不同,此时仍然会有部分租户或者用户正在使用Overlay网络,从而让双协议栈切换迁移过程中出现业务中断的不稳定情况。
发明内容
本申请实施例的目的在于提供一种双栈转换方法、装置、网络设备及存储介质,用于改善双协议栈切换迁移过程中出现业务中断的不稳定的问题。
本申请实施例提供了一种双栈转换方法,应用于网络设备,网络设备上运行有Underlay网络和Overlay网络,Overlay网络使用Underlay网络中的隧道来传递数据报文,Underlay网络配置有正在运行的第一协议栈和未运行的第二协议栈;双栈转换方法包括:接收控制器发送的迁移指令,迁移指令中包括:同步网络时长和迁移保持时长,同步网络时长小于迁移保持时长;在等待同步网络时长之后,针对Underlay网络中的每条隧道发送探测请求;判断在预设时长内是否接收Underlay网络中所有隧道返回的探测响应;若是,则将第一协议栈迁移至第二协议栈,并在迁移保持时长之后,撤销并删除第一协议栈。在上述的实现过程中,通过在等待同步网络时长之后,针对Underlay网络中的每条隧道发送探测请求;并在接收到Underlay网络中所有隧道返回的探测响应的情况下,才将第一协议栈迁移至第二协议栈,并在迁移保持时长之后,撤销并删除第一协议栈,避免了部分隧道没有返回的探测响应的情况下强制迁移导致业务中断的情况,从而保证了在双协议栈切换迁移时的网络稳定性。
可选地,在本申请实施例中,在判断在预设时长内是否接收Underlay网络中所有隧道返回的探测响应之后,该方法还包括:若在预设时长内没有接收Underlay网络中所有隧道返回的探测响应,则生成迁移失败响应,并向日志服务器发送迁移失败响应。在上述的实现过程中,通过在预设时长内没有接收Underlay网络中所有隧道返回的探测响应的情况下,就生成迁移失败响应,并向日志服务器发送迁移失败响应,使得网络管理员可以根据日志服务器中的信息排查出迁移过程中的问题,继而决定继续迁移或者回切。从而避免了迁移失败的情况下,网络管理员不能及时感知并排查错误或进行回切导致网络运行出错的问题,从而保证了在双协议栈切换迁移时的网络稳定性。
可选地,在本申请实施例中,接收控制器发送的迁移指令,包括:通过以太网虚拟私有网络EVPN协议或者网络配置Netconf协议接收控制器发送的迁移指令。在上述的实现过程中,通过EVPN协议或者Netconf协议接收控制器发送的迁移指令,避免了传统的逐台设备手工迁移方式会导致长时间业务中断的情况,从而提升了迁移效率和迁移的易用性。
可选地,在本申请实施例中,将第一协议栈迁移至第二协议栈,包括:判断在将第一协议栈迁移至第二协议栈的过程中是否出现异常;若是,则向日志服务器发送迁移失败响应。在上述的实现过程中,通过在将第一协议栈迁移至第二协议栈的过程中出现异常的情况下,就向日志服务器发送迁移失败响应,网络管理员可以根据日志服务器中的信息排查出迁移过程中的问题,继而决定继续迁移或者回切。从而避免了迁移失败的情况下,网络管理员不能及时感知并排查错误或进行回切导致网络运行出错的问题,从而保证了在双协议栈切换迁移时的网络稳定性。
可选地,在本申请实施例中,网络设备是虚拟可扩展局域网隧道端点VTEP,控制器是以太网虚拟私有网络的路由反射器,路由反射器与VTEP通过Underlay网络建立EVPN的邻居关系,并相互同步EVPN的路由信息。
本申请实施例还提供了一种双栈转换方法,应用于控制器,包括:获取同步网络时长和迁移保持时长,并根据同步网络时长和迁移保持时长生成迁移指令;向网络设备发送迁移指令,以使网络设备根据迁移指令将正在运行的第一协议栈迁移至未运行的第二协议栈。在上述的实现过程中,通过根据同步网络时长和迁移保持时长生成迁移指令,并向网络设备发送迁移指令,从而让网络设备在接收到Underlay网络中所有隧道返回的探测响应的情况下,才将第一协议栈迁移至第二协议栈,避免了部分隧道没有返回的探测响应的情况下强制迁移导致业务中断的情况,从而保证了在双协议栈切换迁移时的网络稳定性。
可选地,在本申请实施例中,还包括:若接收到网络设备发送的迁移失败响应,则获取回切指令,并向网络设备发送回切指令,以使网络设备根据回切指令将第二协议栈迁移至第一协议栈。在上述的实现过程中,通过在接收到网络设备发送的迁移失败响应,则获取回切指令,并向网络设备发送回切指令,避免了迁移失败的情况下没有及时发送回切指令导致网络运行出错的问题,从而保证了在双协议栈切换迁移时的网络稳定性。
本申请实施例还提供了一种双栈转换装置,应用于网络设备,网络设备上运行有Underlay网络和Overlay网络,Overlay网络使用Underlay网络中的隧道来传递数据报文,Underlay网络配置有正在运行的第一协议栈和未运行的第二协议栈;双栈转换装置,包括:迁移指令接收模块,用于接收控制器发送的迁移指令,迁移指令中包括:同步网络时长和迁移保持时长,同步网络时长小于迁移保持时长;探测请求发送模块,用于在等待同步网络时长之后,针对Underlay网络中的每条隧道发送探测请求;探测响应判断模块,用于判断在预设时长内是否接收Underlay网络中所有隧道返回的探测响应;隧道协议迁移模块,用于若在预设时长内接收到Underlay网络中所有隧道返回的探测响应,则将第一协议栈迁移至第二协议栈,并在迁移保持时长之后,撤销并删除第一协议栈。
可选地,在本申请实施例中,双栈转换装置,还包括:第一响应发送模块,用于若在预设时长内没有接收Underlay网络中所有隧道返回的探测响应,则生成迁移失败响应,并向日志服务器发送迁移失败响应。
可选地,在本申请实施例中,迁移指令接收模块,包括:通过协议接收模块,用于通过以太网虚拟私有网络EVPN协议或者网络配置Netconf协议接收控制器发送的迁移指令。
可选地,在本申请实施例中,隧道协议迁移模块,包括:迁移异常判断模块,用于判断在将第一协议栈迁移至第二协议栈的过程中是否出现异常;第二响应发送模块,用于若在将第一协议栈迁移至第二协议栈的过程中出现异常,则向日志服务器发送迁移失败响应。
可选地,在本申请实施例中,网络设备是虚拟可扩展局域网隧道端点VTEP,控制器是以太网虚拟私有网络的路由反射器,路由反射器与VTEP通过Underlay网络建立EVPN的邻居关系,并相互同步EVPN的路由信息。
本申请实施例还提供了一种双栈转换装置,应用于控制器,包括:迁移指令生成模块,用于获取同步网络时长和迁移保持时长,并根据同步网络时长和迁移保持时长生成迁移指令;迁移指令发送模块,用于向网络设备发送迁移指令,以使网络设备根据迁移指令将正在运行的第一协议栈迁移至未运行的第二协议栈。
可选地,在本申请实施例中,双栈转换装置,还包括:回切指令发送模块,用于若接收到网络设备发送的迁移失败响应,则获取回切指令,并向网络设备发送回切指令,以使网络设备根据回切指令将第二协议栈迁移至第一协议栈。
本申请实施例还提供了一种网络设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请实施例中的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的网络设备执行的双栈转换方法的流程示意图;
图2示出的本申请实施例提供的双栈转换系统的网络结构示意图;
图3示出的本申请实施例提供的控制器与网络设备交互的流程示意图;
图4示出的本申请实施例提供的私有扩展团体属性的示意图;
图5示出的本申请实施例提供的私有类型的EVPN协议路由的示意图;
图6示出的本申请实施例提供的双栈转换装置的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例中的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请实施例的详细描述并非旨在限制要求保护的本申请实施例的范围,而是仅仅表示本申请实施例中的选定实施例。基于本申请实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
在介绍本申请实施例提供的双栈转换方法之前,先介绍本申请实施例中所涉及的一些概念:
虚拟私有网络(Virtual Private Network,VPN)是常用于连接中、大型企业或团体间私有网络的通讯方法,VPN利用隧道协议(Tunneling Protocol)来达到发送端认证、消息保密与准确性等功能。
以太网虚拟私有网络(Ethernet Virtual Private Network,EVPN)是一种用于二层网络互联的VPN技术。EVPN颠覆了传统二层虚拟私有网络(Virtual Private Network,VPN)通过转发面来学习媒体访问控制(Media Access Control,MAC)地址的机制,引入了控制面,利用边界网关协议(Border Gateway Protocol,BGP)扩展协议来传递MAC信息。
虚拟可扩展局域网网络编号(VXLAN Network Identification,VNI),又被简称为VXLAN网络编号,是唯一标示一个转发域的编号。
互联网控制消息协议(Internet Control Message Protocol,ICMP)是互联网协议族的核心协议之一,ICMP用于IP网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈。
访问控制列表(Access Control List,ACL)是指一系列的访问控制规则组成的访问控制列表,每条访问控制规则都是一个允许、拒绝或注释的语句,声明了相应的匹配条件及行为;其中,ACL中的访问控制规则可以被防火墙、交换机或者出口路由器等设备使用。
简单网络管理协议(SNMP,Simple Network Management Protocol)构成了互联网工程工作小组(IETF,Internet Engineering Task Force)定义的Internet协议族的一部分,该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。
地址解析协议(Address Resolution Protocol,ARP),是指根据IP地址获取物理地址的一个通信协议;ARP映射表,是指该协议对应的IP地址和MAC地址的映射关系表。
需要说明的是,本申请实施例提供的双栈转换方法可以被网络设备执行,这里的网络设备是指并非数据流量的最终接收者,而只是将数据流量转发给最终接收者的设备,网络设备包括:三层交换机和路由器等。
下面介绍该双栈转换方法适用的应用场景,这里的应用场景包括但不限于:使用该双栈转换方法将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移,或者,使用该双栈转换方法将Underlay网络中的Ipv6协议栈向Ipv4协议栈切换迁移等,从而避免强制迁移Underlay网络中的协议栈导致业务中断的情况,从而保证了在双协议栈切换迁移时的网络稳定性。为了便于理解和说明,下面均以将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移为例进行详细地说明。
本申请实施例提供了一种双栈转换方法,该双栈转换方法可以被运行有隧道的网络设备所执行,网络设备上运行有Underlay网络和Overlay网络,Overlay网络使用Underlay网络中的隧道来传递数据报文,Underlay网络配置有正在运行的第一协议栈和未运行的第二协议栈。可以理解的是,此处的协议栈可以是IPv4协议栈或者IPv6协议栈,因此,可以使用该双栈转换方法将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移,或者,将Underlay网络中的Ipv6协议栈向Ipv4协议栈切换迁移;为了便于理解和说明,下面均以将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移为例进行详细地说明。
请参见图1示出的本申请实施例提供的网络设备执行的双栈转换方法的流程示意图;该双栈转换方法的主要思路是,通过在等待同步网络时长之后,针对Underlay网络中的每条隧道发送探测请求;并在接收到Underlay网络中所有隧道返回的探测响应的情况下,才将第一协议栈迁移至第二协议栈,并在迁移保持时长之后,撤销并删除第一协议栈,避免了部分隧道没有返回的探测响应的情况下强制迁移导致业务中断的情况,从而保证了在双协议栈切换迁移时的网络稳定性。上述的双栈转换方法具体可以包括:
步骤S110:网络设备接收控制器发送的迁移指令,迁移指令中包括:同步网络时长和迁移保持时长,同步网络时长小于迁移保持时长。
可以理解的是,上面的网络设备可以是虚拟可扩展局域网隧道端点VTEP,上面的控制器可以采用以太网虚拟私有网络(EVPN)的路由反射器(Router Reflector,RR),路由反射器与VTEP通过Underlay网络建立EVPN的邻居关系,并相互同步EVPN的路由信息。如果将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移,那么在网络设备接收控制器发送的迁移指令之前,还可以在路由反射器上启用Underlay网络的切换迁移功能,先设置控制器的IPv6地址,以及设置网络设备的IPv6地址,配置IPv6路由协议,保证通过IPv6在Underlay网络上可以到达。然后,配置网络设备与控制器的IPv6 EVPN邻居关系,使得网络设备通过控制器完成全网携带Underlay IPv6下一跳路由的同步。由于此时没有切换迁移,因此,此时的Overlay网络仍然叠加在Underlay IPv4网络上,Overlay流量仍然在使用IPv4隧道转发,转发平面上的表项没有任何变化。
上述步骤S110的实施方式可以包括:控制器向网络设备发送迁移指令的方式包括但不限于:第一种发送方式,迁移指令采用EVPN协议中新增的私用扩展团体属性携带在既有类型路由中来发送;第二种发送方式,迁移指令采用新增的私有类型的EVPN协议路由来发送;第三种发送方式,迁移指令采用网络配置(Netconf)协议来发送,由于这三种方式比较复杂,因此会在后面详细的描述这部分内容。在Underlay网络上的所有网络设备均可以通过EVPN协议或者Netconf协议接收控制器发送的迁移指令,迁移指令中包括:同步网络时长(Update Time)和迁移保持时长(Hold Time),同步网络时长小于迁移保持时长。
在步骤S110之后,执行步骤S120:网络设备在等待同步网络时长之后,针对Underlay网络中的每条隧道发送探测请求。
上述步骤S120的实施方式例如:网络设备从接收到迁移指令之后到同步网络时长的定时器超时之间的这段时间,在流量入方向保持原安装的IPv4隧道解封装芯片资源,并安装新的IPv6隧道解封装芯片资源,从而保证Underlay网络在切换过程中接收到其他VTEP发出的IPv4隧道和IPv6隧道流量都能正确转发,直到同步网络时长的定时器超时,且在所有IPv6隧道探测成功之后,才会将第二层或者第三层转发表项依赖的IPv4隧道切换到IPv6隧道。网络设备在等待同步网络时长的定时器超时之后,此时该网络设备可以认为全网VTEP都已接收到了迁移指令并完成了上面的动作,因此,针对Underlay网络中的每条隧道发送探测请求,具体可以对VTEP下所有虚拟扩展局域网网络编号(VNI)对应的隧道发送探测请求,理论上可以收到Underlay网络中所有隧道返回的探测响应。
在步骤S120之后,执行步骤S130:网络设备判断在预设时长内是否接收Underlay网络中所有隧道返回的探测响应。
上述步骤S130的实施方式有很多种,包括但不限于如下几种:
第一种实施方式,根据在VNI内选取的接入侧主机地址作为源地址来探测,该实施方式具体例如:如果接收到在每个VNI内随机选取一个接入侧主机地址作为源地址,并根据该源地址封装成ICMP报文,向隧道的远端主机发出ICMP报文。然后,如果通过访问控制列表(ACL)机制截取到上述ICMP报文的响应报文,则确定在预设时长内接收到Underlay网络中所有隧道返回的探测响应;如果没有截取到上述ICMP报文的响应报文,则确定在预设时长内没有接收到Underlay网络中所有隧道返回的探测响应。
第二种实施方式,根据随机选取的主机地址作为源地址来探测,该实施方式具体例如:从转发流量中随机选取数据报文中的源地址,并根据该源地址封装成单播ARP报文,然后向远端主机发送该单播ARP报文,探测即通过该单播ARP报文对每个隧道进行探测。然后,如果通过访问控制列表(ACL)机制截取到上述单播ARP报文对应的响应报文,则确定在预设时长内接收到Underlay网络中所有隧道返回的探测响应;如果没有截取到上述单播ARP报文对应的响应报文,则确定在预设时长内没有接收到Underlay网络中所有隧道返回的探测响应。
在步骤S130之后,执行步骤S140:若在预设时长内接收到Underlay网络中所有隧道返回的探测响应,则将第一协议栈迁移至第二协议栈,并在迁移保持时长之后,撤销并删除第一协议栈。
上述步骤S140的实施方式包括:若在预设时长内接收到Underlay网络中所有隧道返回的探测响应,则网络设备将Underlay网络中的所有隧道由第一协议栈迁移至第二协议栈。然后,在迁移保持时长之后,撤销并删除第一协议栈,并通过系统日志(SysLog)的方式或者简单网络管理协议跟踪(SNMP trap)的方式通知VTEP迁移成功,当然也可以向日志服务器发送迁移成功响应。可以理解的是,本申请实施例中的日志服务器可以与上面的控制器是同一个设备或者同一个服务器,当然也可以是不同的设备或服务器,不应理解为本申请实施例的限制。
在上述的实现过程中,通过在等待同步网络时长之后,针对Underlay网络中的每条隧道发送探测请求;并在接收到Underlay网络中所有隧道返回的探测响应的情况下,才将第一协议栈迁移至第二协议栈,并在迁移保持时长之后,撤销并删除第一协议栈,避免了部分隧道没有返回的探测响应的情况下强制迁移导致业务中断的情况,从而保证了在双协议栈切换迁移时的网络稳定性。
可选地,在判断在预设时长内是否接收Underlay网络中所有隧道返回的探测响应之后,该双栈转换方法还包括:
在步骤S130之后,执行步骤S150:若在预设时长内没有接收Underlay网络中所有隧道返回的探测响应,则生成迁移失败响应,并向日志服务器发送迁移失败响应。
在上述的实现过程中,通过在预设时长内没有接收Underlay网络中所有隧道返回的探测响应的情况下,就生成迁移失败响应,并向日志服务器发送迁移失败响应,使得网络管理员可以根据日志服务器中的信息排查出迁移过程中的问题,继而决定继续迁移或者回切。从而避免了迁移失败的情况下,网络管理员不能及时感知并排查错误或进行回切导致网络运行出错的问题,从而保证了在双协议栈切换迁移时的网络稳定性。
可选地,在将第一协议栈迁移至第二协议栈的过程中,还可以判断迁移是否出现异常,具体例如:判断在将第一协议栈迁移至第二协议栈的过程中是否出现异常;若在将第一协议栈迁移至第二协议栈的过程中出现异常(例如VTEP未迁移成功),则网络设备向日志服务器发送迁移失败响应。在上述的实现过程中,通过在将第一协议栈迁移至第二协议栈的过程中出现异常的情况下,就向日志服务器发送迁移失败响应,使得网络管理员可以根据日志服务器中的信息排查出迁移过程中的问题,继而决定继续迁移或者回切。从而避免了迁移失败的情况下,网络管理员不能及时感知并排查错误或进行回切导致网络运行出错的问题,从而保证了在双协议栈切换迁移时的网络稳定性。
请参见图2示出的本申请实施例提供的双栈转换系统的网络结构示意图;该双栈转换系统包括:控制器和多个网络设备,控制器可以采用EVPN协议路由反射器(RR),此处的多个网络设备可以包括:VTEP1和VTEP2;其中,VTEP1分别与主机A和主机B通信,VTEP2分别与主机C和主机D通信。VTEP1的IPv4还回口地址为1.1.1.1,VTEP2的IPv4还回口地址为2.2.2.2,RR与VTEP1和VTEP2通过还回口地址建立EVPN的IPv4邻居关系,且VTEP1可以与VTEP2建立起了IPv4的VXLAN隧道。假设上面的网络设备是VTEP1,那么在迁移之前的网络是IPv4(overlay)over IPv4(underlay)的EVPN-VXLAN数据中心网络,那么图中的主机A是属于VNI 1的,其IPv4地址是10.0.0.1,MAC地址是aaa.aaa.aaa。主机B是属于VNI 2的,其IPv4地址是20.0.0.2,MAC地址是bbb.bbb.bbb;主机C是属于VNI 1的,其IPv4地址是10.0.0.3,MAC地址是ccc.ccc.ccc;主机D是属于VNI 2的,其IPv4地址是20.0.0.4,MAC地址是ddd.ddd.ddd。
请参见图3示出的本申请实施例提供的控制器与网络设备交互的流程示意图;该双栈转换方法可以被控制器所执行,该控制器还可以与网络设备交互,其交互过程可以包括:
步骤S210:控制器获取同步网络时长和迁移保持时长,并根据同步网络时长和迁移保持时长生成迁移指令。
上述步骤S210的实施方式例如:控制器从配置文件或者数据库中获取同步网络时长和迁移保持时长,并根据同步网络时长和迁移保持时长生成迁移指令。其中,此处的配置文件的格式可以选择INI文件(Initialization File)和可扩展标记语言(eXtensibleMarkup Language,XML)等等格式。
在步骤S210之后,执行步骤S220:控制器向网络设备发送迁移指令,以使网络设备根据迁移指令将正在运行的第一协议栈迁移至未运行的第二协议栈。
由于VTEP1将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移的过程与VTEP2将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移的过程是完全相同的,因此,下面均以VTEP1将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移的过程为例进行说明。可以理解的是,在具体的实践过程中,路由反射器与VTEP还可以通过以太网虚拟私有网络(EVPN)协议建立EVPN的邻居关系,并相互同步EVPN的路由信息,从而保证将迁移指令扩散到全网的VTEP中,所以,控制器向网络设备发送迁移指令的方式包括但不限于:
第一种发送方式,迁移指令采用EVPN协议中新增的私用扩展团体属性携带在既有类型路由中来发送。在接收迁移指令并进行切换迁移之前,将VTEP1、VTEP2和RR的还回口IPv6地址分别配置为1::1、2::2和3::3,并以此IPv6地址建立EVPN的IPv6邻居关系,然后全网相互通告EVPN协议路由。此时VTEP1上学习到的部分路由表项例如:
此时VTEP1的本地主机表项例如:
所属VNI | 主机信息 |
VNI 1 | IP:10.0.0.1MAC:aaa.aaa.aaa |
VNI 2 | IP:20.0.0.3MAC:bbb.bbb.bbb |
此时VTEP1的解封装资源表项例如:
所属VNI | 远端隧道信息 |
VNI 1 | ipv4:2.2.2.2 |
VNI 2 | ipv4:2.2.2.2 |
此时VTEP1的二层MAC转发表项例如:
所属VNI | MAC | 依赖的隧道 |
VNI 1 | mac:ccc.ccc.ccc | ipv4:2.2.2.2 |
VNI 2 | mac:ddd.ddd.ddd | ipv4:2.2.2.2 |
请参见图4示出的本申请实施例提供的私有扩展团体属性的示意图;在RR上先配置启用迁移功能,RR将迁移指令通过EVPN协议路由更新发送至所有VTEP(包括VTEP1和VTEP2)上。上述的迁移指令体现在RR构建的EVPN协议中的私有扩展团体属性中,即该EVPN协议路由携带上面的underlay迁移扩展团体属性。其中,类型字段(Type)为3时表示不透明扩展团体属性,子类型(Sub-Type)字段为254时表示携带Underlay迁移指令,标志字段(Flag)为二进制00000001时表示将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移,同步网络时长(Update-Time)的单位为分钟,该字段表示等待控制信息扩散至全网的时间,迁移保持时长(Hold-Time)单位为分钟,该字段表示需要维持原有隧道解封装资源的时间,保留字段(Reserved)为全0,以备后面网络功能升级使用。在VTEP1接收携带该私有扩展团体属性的EVPN协议路由之后,可以从该EVPN协议路由中解析出上面的私有扩展团体属性信息,即从迁移指令中解析出同步网络时长和迁移保持时长等等信息,然后就可以根据同步网络时长和迁移保持时长等信息执行上面的步骤S110,此处不再赘述。
第二种发送方式,迁移指令采用新增的私有类型的EVPN协议路由来发送。请参见图5示出的本申请实施例提供的私有类型的EVPN协议路由的示意图;图中新增的扩展EVPN协议路由类型可以采用254,表示EVPN-VXLAN网络Underlay中的双栈转换。标志字段(Flag)是二进制00000001时表示将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移,同步网络时长(Update-Time)单位为分钟,该字段表示等待控制信息扩散至全网的时间,迁移保持时长(Hold-Time)的单位为分钟,该字段表示需要维持原有隧道解封装资源的时间,保留字段(Reserved)是变长字段,这里暂时未使用,以备后面网络功能升级使用。在VTEP1接收私有类型的EVPN协议路由之后,可以从该EVPN协议路由中解析出上面的每个字段信息,即从迁移指令中解析出同步网络时长和迁移保持时长等等字段信息,然后就可以根据同步网络时长和迁移保持时长等等信息执行上面的步骤S110,此处不再赘述。
第三种发送方式,迁移指令采用Netconf协议来发送。同理地,该Netconf协议的迁移指令可以包括:8位的标志字段(Flag),当标志位字段的值是二进制00000001时表示将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移;以及8位的同步网络时长(Update-Time)的单位为分钟,该字段表示等待控制信息扩散至全网的时间;还有16位的迁移保持时长(Hold-Time)单位为分钟,该字段表示需要维持原有隧道解封装资源的时间。在VTEP1接收Netconf协议的迁移指令之后,可以从该Netconf协议的迁移指令中解析出上面的每个字段信息,即从迁移指令中解析出同步网络时长和迁移保持时长等等字段信息,然后就可以根据同步网络时长和迁移保持时长等等信息执行上面的步骤S110,此处不再赘述。
可选地,上面的控制器还可以在迁移失败的情况下进行回切,控制器进行回切的过程可以包括:若接收到网络设备发送的迁移失败响应,则获取回切指令,并向网络设备发送回切指令,以使网络设备根据回切指令将第二协议栈迁移至第一协议栈。可以理解的是,此处的回切指令所采用的通信方式与上面的迁移指令的通信方式是类似的,假设将Underlay网络中的IPv4协议栈向IPv6协议栈切换迁移的指令是迁移指令,那么将Underlay网络中的Ipv6协议栈向Ipv4协议栈切换迁移就是回切指令。因此,此处的回切指令所采用的实施原理与上面的迁移指令的实施原理是类似的,此处便不再赘述。
请参见图6示出的本申请实施例提供的双栈转换装置的结构示意图。本申请实施例提供了一种双栈转换装置300,应用于网络设备,网络设备上运行有Underlay网络和Overlay网络,Overlay网络使用Underlay网络中的隧道来传递数据报文,Underlay网络配置有正在运行的第一协议栈和未运行的第二协议栈;双栈转换装置,包括:
迁移指令接收模块310,用于接收控制器发送的迁移指令,迁移指令中包括:同步网络时长和迁移保持时长,同步网络时长小于迁移保持时长。
探测请求发送模块320,用于在等待同步网络时长之后,针对Underlay网络中的每条隧道发送探测请求。
探测响应判断模块330,用于判断在预设时长内是否接收Underlay网络中所有隧道返回的探测响应。
隧道协议迁移模块340,用于若在预设时长内接收到Underlay网络中所有隧道返回的探测响应,则将第一协议栈迁移至第二协议栈,并在迁移保持时长之后,撤销并删除第一协议栈。
可选地,在本申请实施例中,双栈转换装置,还包括:
第一响应发送模块,用于若在预设时长内没有接收Underlay网络中所有隧道返回的探测响应,则生成迁移失败响应,并向日志服务器发送迁移失败响应。
可选地,在本申请实施例中,迁移指令接收模块,包括:
通过协议接收模块,用于通过以太网虚拟私有网络EVPN协议或者网络配置Netconf协议接收控制器发送的迁移指令。
可选地,在本申请实施例中,隧道协议迁移模块,包括:
迁移异常判断模块,用于判断在将第一协议栈迁移至第二协议栈的过程中是否出现异常。
第二响应发送模块,用于若在将第一协议栈迁移至第二协议栈的过程中出现异常,则向日志服务器发送迁移失败响应。
可选地,在本申请实施例中,网络设备是虚拟可扩展局域网隧道端点VTEP,控制器是以太网虚拟私有网络的路由反射器,路由反射器与VTEP通过Underlay网络建立EVPN的邻居关系,并相互同步EVPN的路由信息。
本申请实施例提供了一种双栈转换装置,应用于控制器,包括:
迁移指令生成模块,用于获取同步网络时长和迁移保持时长,并根据同步网络时长和迁移保持时长生成迁移指令。
迁移指令发送模块,用于向网络设备发送迁移指令,以使网络设备根据迁移指令将正在运行的第一协议栈迁移至未运行的第二协议栈。
可选地,在本申请实施例中,双栈转换装置,还包括:
回切指令发送模块,用于若接收到网络设备发送的迁移失败响应,则获取回切指令,并向网络设备发送回切指令,以使网络设备根据回切指令将第二协议栈迁移至第一协议栈。
应理解的是,该装置与上述的双栈转换方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
本申请实施例提供的一种网络设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上的方法。其中,计算机可读存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种双栈转换方法,其特征在于,应用于网络设备,所述网络设备上运行有Underlay网络和Overlay网络,所述Overlay网络使用所述Underlay网络中的隧道来传递数据报文,所述Underlay网络配置有正在运行的第一协议栈和未运行的第二协议栈;所述双栈转换方法包括:
接收控制器发送的迁移指令,所述迁移指令中包括:同步网络时长和迁移保持时长,所述同步网络时长小于所述迁移保持时长;
在等待所述同步网络时长之后,针对所述Underlay网络中的每条隧道发送探测请求;
判断在预设时长内是否接收所述Underlay网络中所有隧道返回的探测响应;
若是,则将所述第一协议栈迁移至所述第二协议栈,并在所述迁移保持时长之后,撤销并删除所述第一协议栈。
2.根据权利要求1所述的方法,其特征在于,在所述判断在预设时长内是否接收所述Underlay网络中所有隧道返回的探测响应之后,所述方法还包括:
若在预设时长内没有接收所述Underlay网络中所有隧道返回的探测响应,则生成迁移失败响应,并向日志服务器发送所述迁移失败响应。
3.根据权利要求1所述的方法,其特征在于,所述接收控制器发送的迁移指令,包括:
通过以太网虚拟私有网络EVPN协议或者网络配置Netconf协议接收控制器发送的迁移指令。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一协议栈迁移至所述第二协议栈,包括:
判断在将所述第一协议栈迁移至所述第二协议栈的过程中是否出现异常;
若是,则向日志服务器发送迁移失败响应。
5.根据权利要求1-4任一所述的方法,其特征在于,所述网络设备是虚拟可扩展局域网隧道端点VTEP,所述控制器是以太网虚拟私有网络的路由反射器,所述路由反射器与所述VTEP通过所述Underlay网络建立EVPN的邻居关系,并相互同步所述EVPN的路由信息。
6.一种双栈转换方法,其特征在于,应用于控制器,包括:
获取同步网络时长和迁移保持时长,并根据所述同步网络时长和所述迁移保持时长生成迁移指令;
向网络设备发送所述迁移指令,以使所述网络设备根据所述迁移指令将正在运行的第一协议栈迁移至未运行的第二协议栈。
7.根据权利要求6所述的方法,其特征在于,还包括:
若接收到所述网络设备发送的迁移失败响应,则获取回切指令,并向所述网络设备发送所述回切指令,以使所述网络设备根据所述回切指令将所述第二协议栈迁移至所述第一协议栈。
8.一种双栈转换装置,其特征在于,应用于网络设备,所述网络设备上运行有Underlay网络和Overlay网络,所述Overlay网络使用所述Underlay网络中的隧道来传递数据报文,所述Underlay网络配置有正在运行的第一协议栈和未运行的第二协议栈;所述双栈转换装置,包括:
迁移指令接收模块,用于接收控制器发送的迁移指令,所述迁移指令中包括:同步网络时长和迁移保持时长,所述同步网络时长小于所述迁移保持时长;
探测请求发送模块,用于在等待所述同步网络时长之后,针对所述Underlay网络中的每条隧道发送探测请求;
探测响应判断模块,用于判断在预设时长内是否接收所述Underlay网络中所有隧道返回的探测响应;
隧道协议迁移模块,用于若在预设时长内接收到所述Underlay网络中所有隧道返回的探测响应,则将所述第一协议栈迁移至所述第二协议栈,并在所述迁移保持时长之后,撤销并删除所述第一协议栈。
9.一种网络设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643772.3A CN114301994B (zh) | 2021-12-29 | 2021-12-29 | 一种双栈转换方法、装置、网络设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643772.3A CN114301994B (zh) | 2021-12-29 | 2021-12-29 | 一种双栈转换方法、装置、网络设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114301994A true CN114301994A (zh) | 2022-04-08 |
CN114301994B CN114301994B (zh) | 2023-09-19 |
Family
ID=80971316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111643772.3A Active CN114301994B (zh) | 2021-12-29 | 2021-12-29 | 一种双栈转换方法、装置、网络设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301994B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819542A (zh) * | 2006-03-17 | 2006-08-16 | 清华大学 | 在IPv4网络上传递IPv6隧道信息的方法 |
CN1921481A (zh) * | 2005-08-26 | 2007-02-28 | 华为技术有限公司 | 一种用户面协议栈和一种无损迁移实现方法 |
CN1992957A (zh) * | 2005-12-30 | 2007-07-04 | 华为技术有限公司 | 无线接入网络架构及其实时业务无损迁移的实现方法 |
CN101383834A (zh) * | 2008-10-15 | 2009-03-11 | 杭州华三通信技术有限公司 | 在6to4网络间转发IPv6组播报文的方法及6to4设备 |
CN101465812A (zh) * | 2009-01-06 | 2009-06-24 | 北京航空航天大学 | 跨子网在线迁移时虚拟机网络连接重定向方法 |
CN103313149A (zh) * | 2012-03-12 | 2013-09-18 | 中兴通讯葡萄牙公司 | 用于DPoE网络中的分界自动配置机制的双协议栈支持 |
CN107547349A (zh) * | 2017-07-31 | 2018-01-05 | 新华三技术有限公司 | 一种虚拟机迁移的方法及装置 |
CN111130978A (zh) * | 2019-12-03 | 2020-05-08 | 杭州迪普科技股份有限公司 | 网络流量转发方法、装置、电子设备及机器可读存储介质 |
CN111556008A (zh) * | 2020-03-16 | 2020-08-18 | 中国人民解放军战略支援部队信息工程大学 | 拟态架构交换设备中有状态协议的同步方法 |
CN113438329A (zh) * | 2020-03-23 | 2021-09-24 | 华为技术有限公司 | Mac地址发送方法、装置和系统 |
-
2021
- 2021-12-29 CN CN202111643772.3A patent/CN114301994B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921481A (zh) * | 2005-08-26 | 2007-02-28 | 华为技术有限公司 | 一种用户面协议栈和一种无损迁移实现方法 |
CN1992957A (zh) * | 2005-12-30 | 2007-07-04 | 华为技术有限公司 | 无线接入网络架构及其实时业务无损迁移的实现方法 |
CN1819542A (zh) * | 2006-03-17 | 2006-08-16 | 清华大学 | 在IPv4网络上传递IPv6隧道信息的方法 |
CN101383834A (zh) * | 2008-10-15 | 2009-03-11 | 杭州华三通信技术有限公司 | 在6to4网络间转发IPv6组播报文的方法及6to4设备 |
CN101465812A (zh) * | 2009-01-06 | 2009-06-24 | 北京航空航天大学 | 跨子网在线迁移时虚拟机网络连接重定向方法 |
CN103313149A (zh) * | 2012-03-12 | 2013-09-18 | 中兴通讯葡萄牙公司 | 用于DPoE网络中的分界自动配置机制的双协议栈支持 |
CN107547349A (zh) * | 2017-07-31 | 2018-01-05 | 新华三技术有限公司 | 一种虚拟机迁移的方法及装置 |
CN111130978A (zh) * | 2019-12-03 | 2020-05-08 | 杭州迪普科技股份有限公司 | 网络流量转发方法、装置、电子设备及机器可读存储介质 |
CN111556008A (zh) * | 2020-03-16 | 2020-08-18 | 中国人民解放军战略支援部队信息工程大学 | 拟态架构交换设备中有状态协议的同步方法 |
CN113438329A (zh) * | 2020-03-23 | 2021-09-24 | 华为技术有限公司 | Mac地址发送方法、装置和系统 |
Non-Patent Citations (1)
Title |
---|
孙彧: "基于WLAN的IPV6协议栈的实现与应用", 中国优秀硕士学位论文全文数据库 * |
Also Published As
Publication number | Publication date |
---|---|
CN114301994B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10862783B2 (en) | OAM mechanisms for EVPN active-active services | |
EP2725737B1 (en) | Network policy configuration method, management device and network management centre device | |
CN117278503A (zh) | 软件定义联网分布式系统中的活性检测和路由收敛 | |
US10560550B1 (en) | Automatic configuration of a replacement network device in a high-availability cluster | |
CN112929273A (zh) | 一种处理路由的方法、设备及系统 | |
CN111736958B (zh) | 虚拟机迁移方法、系统、计算机设备及存储介质 | |
EP3641241A1 (en) | Node protection for bum traffic for multi-homed node failure | |
WO2021082803A1 (zh) | 路由信息传输方法及装置、数据中心互联网络 | |
US10581669B2 (en) | Restoring control-plane connectivity with a network management entity | |
EP3813306A1 (en) | Message processing method, and gateway device | |
US10404544B2 (en) | Network topology determining method and apparatus, and centralized network status information storage device | |
US20190215191A1 (en) | Deployment Of Virtual Extensible Local Area Network | |
CN108540386B (zh) | 一种防止业务流中断方法及装置 | |
CN112152920B (zh) | 一种实现表项备份的方法和装置 | |
US8670299B1 (en) | Enhanced service status detection and fault isolation within layer two networks | |
CN105391612A (zh) | 一种vxlan vtep邻接学习的方法及装置 | |
CN112995027B (zh) | 路由发布方法及vtep节点 | |
CN110380966B (zh) | 一种发现转发路径的方法及其相关设备 | |
CN113037883B (zh) | 一种mac地址表项的更新方法及装置 | |
CN113254148A (zh) | 一种虚拟机的迁移方法及云管理平台 | |
CN108768845B (zh) | 一种多归属主机路由同步方法及装置 | |
CN114301994B (zh) | 一种双栈转换方法、装置、网络设备及存储介质 | |
US11907253B2 (en) | Secure cluster pairing for business continuity and disaster recovery | |
US20220400075A1 (en) | Failure detection and mitigation in an mc-lag environment | |
CN111954102B (zh) | 一种dhcpv6 pd场景下的路由控制方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |