CN113765783B - 通信方法及装置 - Google Patents
通信方法及装置 Download PDFInfo
- Publication number
- CN113765783B CN113765783B CN202110894819.7A CN202110894819A CN113765783B CN 113765783 B CN113765783 B CN 113765783B CN 202110894819 A CN202110894819 A CN 202110894819A CN 113765783 B CN113765783 B CN 113765783B
- Authority
- CN
- China
- Prior art keywords
- vbgp
- routing message
- bgp
- bgp routing
- module
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种通信方法及装置,该方法应用于控制器,该方法包括:当接收到leaf发送的vm上线报文时,根据vm上线报文,生成第一BGP路由消息;向vbgp主模块传输第一BGP路由消息,以使vbgp主模块向broader发送所述第一BGP路由消息;当检测到vbgp主模块故障时,向vbgp备模块传输第一BGP路由消息,以使vbgp备模块向broader再次发送第一BGP路由消息。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
云是网络、互联网的一种比喻说法,通常用云表示电信网,也可用来表示互联网和底层基础设施的抽象。
云服务是指通过网络以按需、易扩展的方式获得所需服务。也即是,云服务可将企业所需的软硬件、资料均放置在网络中,在任何时间、地点,使用不同的IT设备相互连接,实现数据存取、运算等目的。云服务仍需依靠现有的通信网络保障业务的正常运行,如图1所示,图1为现有基础网络实现云服务的组网示意图。
在图1中,该组网包括控制器、脊节点(spine)、叶节点(leaf)、边界交换机(broader)、外网交换机以及外网虚机。控制器内包括虚拟边界网关协议(英文:BorderGateway Protocol,简称:vbgp)模块,leaf内包括开源虚拟交换机(英文:OpenvSwitch,简称:ovs)、计算机(computer)、虚拟交换机(英文:virtual machine,简称:vm)。下面以leaf1内vm1为例进行说明。
一方面,vm1建立后,vm1在控制器处进行上线处理。控制器为vm1分配IP地址、网络资源。控制器为vm1接入的ovs1进行流表的下发。其中,流表的作用主要用于ovs内部的通信、跨设备之间的通信,以及与外部交换机下接入的vm之间的通信。
当vm1在控制器处上线后,若vm1配置的业务存在对外访问的需求,则控制器需根据对应的业务,将流表转化为对应的vm1主机路由,并向vbgp模块推送。
vbgp模块与border建立BGP协议邻居。当vbgp模块接收到控制器推送的vm1主机路由后,再向border发送BGP路由消息。border接收到BGP路由消息后,在本地生成vm1主机路由以及与vm1主机路由对应的转发表项。border向外网交换机下发转发表项。
另一方面,border接收到外网交换机接入的vm5的上线报文后,根据vm5的主机地址生成vm5主机路由,并将其通过BGP路由消息,发送至vbgp模块。vbgp模块将接收到的BGP路由消息推送至控制器。控制器根据BGP路由消息,生成vm5主机路由以及与vm5主机路由对应的流表并下发至ovs1。如此,即可完成vm1与vm5之间的通信互通。
但是,前述方案也存在一定的缺陷:当在某种场景下,例如,vbgp模块故障或ovs1故障,vbgp模块会将vm1的主机路由撤销后重新发送,此时,将导致border反复对主机路由、转发表项进行增删操作,增加border负担。
发明内容
有鉴于此,本申请提供了一种通信方法及装置,用以解决vbgp模块在将主机路由撤销后重新发送的过程中,border内反复对主机路由、转发表项进行增删操作,增加border负担的问题。
第一方面,本申请提供了一种通信方法,所述方法应用于控制器,所述控制器包括vbgp主模块以及vbgp备模块,所述vbgp主模块、所述vbgp备模块分别与broader建立BGP邻居,所述方法包括:
当接收到leaf发送的vm上线报文时,根据所述vm上线报文,生成第一BGP路由消息,所述第一BGP路由消息包括第一vm的地址信息以及第一标志;
向所述vbgp主模块传输所述第一BGP路由消息,以使所述vbgp主模块向所述broader发送所述第一BGP路由消息,用于所述broader在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息生成第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标识将所述第一vm主机路由设置为保护状态;当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的所述BGP邻居,将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项;
当检测到所述vbgp主模块故障时,向所述vbgp备模块传输所述第一BGP路由消息,以使所述vbgp备模块向所述broader再次发送所述第一BGP路由消息,用于所述broader在预设时间内接收到所述vbgp备模块发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态;或者,所述broader在预设时间内未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的第一vm主机路由以及所述第一转发表项。
第二方面,本申请提供了一种通信方法,所述方法应用于broader,所述broader与控制器包括的vbgp主模块、vbgp备模块分别建立BGP邻居,所述方法包括:
接收所述vbgp主模块发送的第一BGP路由消息,所述第一BGP路由消息包括第一vm的地址信息以及第一标志;
当在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息,生成所述第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标识将所述第一vm主机路由设置为保护状态;
当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的BGP邻居;
将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项;
当在预设时间内接收到所述vbgp备模块再次发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态;
当在预设时间内未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的所述第一vm主机路由以及所述第一转发表项。
第三方面,本申请提供了一种通信装置,所述装置应用于控制器,所述控制器包括vbgp主模块以及vbgp备模块,所述vbgp主模块、所述vbgp备模块分别与broader建立BGP邻居,所述装置包括:接收单元、生成单元、传输单元以及检测单元;
所述生成单元,用于当所述接收单元接收到leaf发送的vm上线报文时,根据所述vm上线报文,生成第一BGP路由消息,所述第一BGP路由消息包括第一vm的地址信息以及第一标志;
所述传输单元,用于向所述vbgp主模块传输所述第一BGP路由消息,以使所述vbgp主模块向所述broader发送所述第一BGP路由消息,用于所述broader在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息生成第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标识将所述第一vm主机路由设置为保护状态;当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的所述BGP邻居,将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项;
所述传输单元还用于,当检测单元检测到所述vbgp主模块故障时,向所述vbgp备模块传输所述第一BGP路由消息,以使所述vbgp备模块向所述broader再次发送所述第一BGP路由消息,用于所述broader在预设时间内接收到所述vbgp备模块发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态;或者,所述broader在预设时间内未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的第一vm主机路由以及所述第一转发表项。
第四方面,本申请提供了一种通信装置,所述装置应用于broader,所述broader与控制器包括的vbgp主模块、vbgp备模块分别建立BGP邻居,所述装置包括:接收单元、设置单元、断开单元以及删除单元;
所述接收单元,用于接收所述vbgp主模块发送的第一BGP路由消息,所述第一BGP路由消息包括第一vm的地址信息以及第一标志;
所述设置单元,用于当在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息,生成所述第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标识将所述第一vm主机路由设置为保护状态;
所述断开单元,用于当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的BGP邻居;
所述设置单元还用于,将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项;
所述设置单元还用于,当在预设时间内所述接收单元接收到所述vbgp备模块再次发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态;
所述删除单元,用于当在预设时间内所述接收单元未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的所述第一vm主机路由以及所述第一转发表项。
第五方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
第六方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
因此,通过应用本申请提供的通信方法及装置,当接收到leaf发送的vm上线报文时,根据vm上线报文,控制器生成第一BGP路由消息,该第一BGP路由消息包括第一vm的地址信息以及第一标志;控制器向vbgp主模块传输第一BGP路由消息,以使vbgp主模块向broader发送第一BGP路由消息,用于broader在本地路由表中未获取到第一vm主机路由时,根据第一vm的地址信息生成第一vm主机路由以及第一vm主机路由对应的第一转发表项,并根据第一标识将第一vm主机路由设置为保护状态;当vbgp主模块故障时,断开与vbgp主模块已建立的BGP邻居,将处于保护状态的第一vm主机路由设置为待删除状态,并维持第一转发表项;当检测到vbgp主模块故障时,控制器向vbgp备模块传输第一BGP路由消息,以使vbgp备模块向broader再次发送第一BGP路由消息,用于broader在预设时间内接收到vbgp备模块发送的第一BGP路由消息时,将处于待删除状态的第一vm主机路由设置为保护状态;或者,broader在预设时间内未接收到vbgp备模块发送的第一BGP路由消息时,删除处于待删除状态的第一vm主机路由以及第一转发表项。
如此,当vbgp主模块向border发送BGP路由消息时,border生成vm主机路由、转发表项,并将vm主机路由设置为保护状态;当与vbgp主模块端口BGP邻居时,border将处于保护状态的vm主机路由设置为待删除状态,并维持转发表项。Border再次接收到BGP路由消息时,将处于待删除状态的vm主机路由设置为保护状态。border不再根据BGP邻居情况直接删除vm主机路由、转发表项,解决了vbgp模块在将主机路由撤销后重新发送的过程中,border内反复对主机路由、转发表项进行增删操作,增加border负担的问题,提高了组网的健壮性、稳定性。
附图说明
图1现有基础网络实现云服务的组网示意图;
图2为本申请实施例提供的一种通信方法的流程图;
图3为本申请实施例提供的基础网络实现云服务的组网示意图;
图4为本申请实施例提供的另一种通信方法的流程图;
图5为本申请实施例提供的一种通信装置结构图;
图6为本申请实施例提供的另一种通信装置结构图;
图7为本申请实施例提供的网络设备硬件结构体。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的通信方法进行详细地说明。参见图2,图2为本申请实施例提供的一种通信方法的流程图。该方法应用于控制器,本申请实施例提供的通信方法可包括如下所示步骤。
步骤210、当接收到leaf发送的vm上线报文时,根据所述vm上线报文,生成第一BGP路由消息,所述第一BGP路由消息包括第一vm的地址信息以及第一标志。
具体地,如图3所示,第一vm(也可称之为vm1)在leaf内建立后,vm1需在控制器处进行上线处理。leaf1生成vm上线报文并向控制器发送。控制器接收到vm上线报文后,为vm1分配IP地址(例如,100.1.1.2)以及网络资源。
可以理解的是,vm上线报文包括vm的媒体存取控制位址(英文:Media AccessControl Address,简称:MAC)地址、接入ovs1的接口、leaf1接入控制器的接口等信息。
同时,控制器还生成到达该vm1的流表并向ovs1下发。其中,流表的作用主要用于ovs内部的通信、跨设备之间的通信,以及与外部交换机下接入的vm之间的通信。
当vm1在控制器处上线后,若vm1配置的业务存在对外访问的需求,则控制器需根据对应的业务,将vm1的流表转化为对应的vm1主机路由。
控制器生成第一BGP路由消息,第一BGP路由消息包括vm1的地址信息以及第一标志。其中,地址信息可具体包括vm1的MAC地址(例如,1-1-1)、IP地址(例如,100.1.1.2);第一标志可具体为一种保护标志,其值可为1。第一标志用于使border根据该标志将自行生成的vm1主机路由设置为保护状态。
可以理解的是,第一BGP路由消息还包括MSG类型(例如,BGP)、段标识(segmentID,例如,100)、L3 VNI(例如,10000)、出接口(例如,到ovs1的隧道口,隧道口可为VXLAN隧道口)等字段。上述字段可参考现有标准协议进行配置,在此不再复述。
步骤220、向所述vbgp主模块传输所述第一BGP路由消息,以使所述vbgp主模块向所述broader发送所述第一BGP路由消息,用于所述broader在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息生成第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标识将所述第一vm主机路由设置为保护状态;当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的所述BGP邻居,将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项。
具体地,在本申请实施例中,如图3所示,控制器内包括vbgp模块,该vbgp模块采用双备份模式,即通过两个vbgp模块同时与broader建立BGP邻居,进而提高组网的高可靠性。
上述两个vbgp模块具体为vbgp主模块以及vbgp备模块。在正常模式下,由vbgp主模块与border相互通告BGP路由消息,vbgp备模块与vbgp主模块之间同步BGP路由消息。
控制器向vbgp主模块推送第一BGP路由消息。vbgp主模块接收到第一BGP路由消息后,向broader发送第一BGP路由消息。
broader接收到第一BGP路由消息后,从第一BGP路由消息中获取vm1的地址信息以及第一标志。根据vm1的地址信息,broader从本地路由表中,判断是否已存在与vm1的地址信息匹配的vm1主机路由。
若未存在,则broader生成vm1主机路由以及vm1主机路由对应的第一转发表项。
可以理解的是,broader还从第一BGP路由消息中获取出接口,通过vm1的地址信息以及出接口,生成vm1主机路由。broader根据vm1主机路由生成对应的第一转发表项。
同时,根据第一标志,broader确定该vm1主机路由为需保护的路由,并将vm1主机路由设置为保护状态。也即是,即使broader与vbgp主模块断开BGP邻居时,也停止执行删除该vm1主机路由以及第一转发表项的操作,而执行等待在预设时间内是否再次接收到第一BGP路由消息的操作。
在本申请实施例中,broader生成第一转发表项后,向外部交换机下发到达该vm1的第一转发表项。
步骤230、当检测到所述vbgp主模块故障时,向所述vbgp备模块传输所述第一BGP路由消息,以使所述vbgp备模块向所述broader再次发送所述第一BGP路由消息,用于所述broader在预设时间内接收到所述vbgp备模块发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态;或者,所述broader在预设时间内未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的第一vm主机路由以及所述第一转发表项。
具体地,vbgp主模块向broader发送第一BGP路由消息后,控制器周期性探测vbgp主模块的当前状态。若控制器检测到vbgp主模块故障,则控制器还向vbgp备模块推送第一BGP路由消息。该第一BGP路由消息与前述步骤210中描述的第一BGP路由消息相同。vbgp备模块接收到第一BGP路由消息后,向broader再次发送第一BGP路由消息。
需要说明的是,当vbgp主模块故障时,broader断开与vbgp主模块已建立的BGP邻居。broader获取vbgp主模块在先发送的第一BGP路由消息生成的主机路由,即vm1主机路由。根据步骤210的描述可知,broader已将该vm1主机路由设置为保护状态。此时,broder将vm1主机路由设置为待删除状态;同时,broader不删除与vm1主机路由对应的第一转发表项,即boarder维持第一转发表项,若此时接收到需向vm1转发的业务报文,broader仍可根据第一转发表项向vm1转发业务报文,保证业务不中断。
进一步地,borader在将vm1主机路由设置为待删除状态,且维持第一转发表项后,border启动一保护定时器,该定时器的预设时间可设置为1min。
borader在该预设时间内,判断是否再次接收到vbgp备模块发送的第一BGP路由消息。若borader在该预设时间内,再次接收到第一BGP路由消息,则borader从第一BGP路由消息中获取vm1的地址信息以及第一标志。
根据vm1的地址信息,border从本地路由表中,判断是否已存在与vm1的地址信息匹配的vm1主机路由。
若存在,则broader判断vm1主机路由的当前状态。若vm1主机路由的当前状态为待删除状态,则borader根据第一标志,将vm1主机路由设置为保护状态,也即是borader再次激活vm1主机路由。
若borader在该预设时间内,未接收到第一BGP路由消息,则borader确定vm1主机路由此时已失效,borader删除处于待删除状态的vm1主机路由以及第一转发表项。
因此,通过应用本申请提供的通信方法,当接收到leaf发送的vm上线报文时,根据vm上线报文,控制器生成第一BGP路由消息,该第一BGP路由消息包括第一vm的地址信息以及第一标志;控制器向vbgp主模块传输第一BGP路由消息,以使vbgp主模块向broader发送第一BGP路由消息,用于broader在本地路由表中未获取到第一vm主机路由时,根据第一vm的地址信息生成第一vm主机路由以及第一vm主机路由对应的第一转发表项,并根据第一标识将第一vm主机路由设置为保护状态;当vbgp主模块故障时,断开与vbgp主模块已建立的BGP邻居,将处于保护状态的第一vm主机路由设置为待删除状态,并维持第一转发表项;当检测到vbgp主模块故障时,控制器向vbgp备模块传输第一BGP路由消息,以使vbgp备模块向broader再次发送第一BGP路由消息,用于broader在预设时间内接收到vbgp备模块发送的第一BGP路由消息时,将处于待删除状态的第一vm主机路由设置为保护状态;或者,broader在预设时间内未接收到vbgp备模块发送的第一BGP路由消息时,删除处于待删除状态的第一vm主机路由以及第一转发表项。
如此,当vbgp主模块向border发送BGP路由消息时,border生成vm主机路由、转发表项,并将vm主机路由设置为保护状态;当与vbgp主模块端口BGP邻居时,border将处于保护状态的vm主机路由设置为待删除状态,并维持转发表项。Border再次接收到BGP路由消息时,将处于待删除状态的vm主机路由设置为保护状态。border不再根据BGP邻居情况直接删除vm主机路由、转发表项,解决了vbgp模块在将主机路由撤销后重新发送的过程中,border内反复对主机路由、转发表项进行增删操作,增加border负担的问题,提高了组网的健壮性、稳定性。
可选地,在本申请实施例中,还包括当ovs故障时,控制器向vbgp模块传输第二BGP路由消息,以使vbgp模块向broader发送第二BGP路由消息的过程。
具体地,当leaf1内ovs1故障时,leaf1生成ovs故障报文,ovs故障报文包括ovs1的标识。leaf1向控制器发送ovs故障报文。
控制器接收到ovs故障报文后,从ovs故障报文中获取ovs1的标识,并确定ovs1故障。根据ovs1的标识,控制器确定接入ovs1的第二vm。第二vm为接入ovs1的全部vm。例如,vm1、vm2。下面以vm1为例进行说明。
由于ovs1已故障,其无法再继续执行转发业务报文的操作,此时,控制器生成第二BGP路由消息,第二BGP路由消息包括vm1的地址信息以及第二标志。其中,地址信息可具体包括vm1的MAC地址(例如,1-1-1)、IP地址(例如,100.1.1.2);第二标志可具体为一种特殊标志,其可为第一值(例如,1)。第二标志用于使border根据该标志将vm1主机路由设置为待删除状态。
在本申请实施例中,控制器可向当前正常运行的vbgp模块推送第二BGP路由消息。在一个例子中,根据前述实施例的描述,vbgp主模块故障,则控制器向vbgp备模块推送第二BGP路由消息;在另一个例子中,vbgp主模块一直为正常运行,则控制器向vbgp主模块推送第二BGP路由消息。
下面以控制器向vbgp备模块推送第二BGP路由消息为例进行说明。
vbgp备模块接收到第二BGP路由消息后,向broader发送第二BGP路由消息。
broader接收到第二BGP路由消息后,从第二BGP路由消息中获取vm1的地址信息以及第二标志。根据步骤210的描述可知,broader本地路由表中已存储vm1主机路由。因此,在本步骤中,根据vm1的地址信息,broader从本地路由表中,获取与vm1的地址信息匹配的vm1主机路由。
根据步骤210的描述可知,broader已将该vm1主机路由设置为保护状态。broader识别第二标志的值。在本申请实施例中,第二标志的值为1,则broader将vm1主机路由设置为待删除状态;同时,broader不删除与vm1主机路由对应的第一转发表项,即boarder维持第一转发表项。
进一步地,borader在将vm1主机路由设置为待删除状态,且维持第一转发表项后,border启动一删除定时器,该定时器的预设时间可设置为1min。
borader在该预设时间内,判断是否接收到第三BGP路由消息。该第三BGP路由消息包括vm1的地址信息以及第二标志。其中,地址信息可具体包括vm1的MAC地址(例如,1-1-1)、IP地址(例如,100.1.1.2);第二标志可具体为一种特殊标志,其可为第二值(例如,0)。第二标志用于使border根据该标志再次激活vm1主机路由。
更近一步地,ovs1故障后,控制器定时检测ovs1的当前状态。当ovs1故障恢复时,控制器生成第三BGP路由消息。
根据前述可知,vbgp主模块故障,控制器向vbgp备模块推送第三BGP路由消息。vbgp备模块接收到第三BGP路由消息后,向broader发送第三BGP路由消息。
可以理解的是,此时,broader已启动删除定时器,并在预设时间内,判断是否接收到第三BGP路由消息。若broader在该预设时间内,接收到第三BGP路由消息,则broader从第三BGP路由消息中获取vm1的地址信息以及第二标志。
根据步骤210的描述可知,broader本地路由表中已存储vm1主机路由。因此,在本步骤中,根据vm1的地址信息,broader从本地路由表中,获取与vm1的地址信息匹配的vm1主机路由。
根据前述可知,broader已将该vm1主机路由设置为待删除状态。broader识别第二标志的值。在本申请实施例中,第二标志的值为0,则broader将vm1主机路由设置为保护状态,也即是borader再次激活vm1主机路由。
若borader在该预设时间内,未接收到第三BGP路由消息,则borader确定vm1主机路由此时已失效,borader删除处于待删除状态的vm1主机路由以及第一转发表项。
下面对本申请实施例提供的通信方法进行详细地说明。参见图4,图4为本申请实施例提供的另一种通信方法的流程图。该方法应用于borader,本申请实施例提供的通信方法可包括如下所示步骤。
步骤410、接收所述vbgp主模块发送的第一BGP路由消息,所述第一BGP路由消息包括第一vm的地址信息以及第一标志。
具体地,如图3所示,第一vm(也可称之为vm1)在leaf内建立后,vm1需在控制器处进行上线处理。leaf1生成vm上线报文并向控制器发送。控制器接收到vm上线报文后,为vm1分配IP地址(例如,100.1.1.2)以及网络资源。
当vm1在控制器处上线后,控制器生成第一BGP路由消息,第一BGP路由消息可参考前述步骤210中描述,在此不再复述。
控制器向vbgp主模块推送第一BGP路由消息。vbgp主模块接收到第一BGP路由消息后,向broader发送第一BGP路由消息。
broader接收到第一BGP路由消息。
步骤420、当在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息,生成所述第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标识将所述第一vm主机路由设置为保护状态。
具体地,根据步骤410的描述,broader接收到第一BGP路由消息后,从第一BGP路由消息中获取vm1的地址信息以及第一标志。根据vm1的地址信息,broader从本地路由表中,判断是否已存在与vm1的地址信息匹配的vm1主机路由。
若未存在,则broader生成vm1主机路由以及vm1主机路由对应的第一转发表项。
可以理解的是,broader还从第一BGP路由消息中获取出接口,通过vm1的地址信息以及出接口,生成vm1主机路由。broader根据vm1主机路由生成对应的第一转发表项。
同时,根据第一标志,broader确定该vm1主机路由为需保护的路由,并将vm1主机路由设置为保护状态。也即是,即使broader与vbgp主模块断开BGP邻居时,也停止执行删除该vm1主机路由以及第一转发表项的操作,而执行等待在预设时间内是否再次接收到第一BGP路由消息的操作。
在本申请实施例中,broader生成第一转发表项后,向外部交换机下发到达该vm1的第一转发表项。
步骤430、当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的BGP邻居。
具体地,当vbgp主模块未故障时,broader与vbgp主模块维持BGP邻居,并相互交互BGP路由消息;当vbgp主模块故障时,broader断开与vbgp主模块已建立的BGP邻居。
步骤440、将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项。
具体地,根据步骤430的描述,broader断开与vbgp主模块已建立的BGP邻居后,broader获取vbgp主模块在先发送的第一BGP路由消息生成的主机路由,即vm1主机路由。
根据步骤420的描述可知,broader已将该vm1主机路由设置为保护状态。此时,broder将vm1主机路由设置为待删除状态;同时,broader不删除与vm1主机路由对应的第一转发表项,即boarder维持第一转发表项,若此时接收到需向vm1转发的业务报文,broader仍可根据第一转发表项向vm1转发业务报文,保证业务不中断。
步骤450、当在预设时间内接收到所述vbgp备模块再次发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态。
具体地,根据步骤410的描述,vbgp主模块向broader发送第一BGP路由消息后,控制器周期性探测vbgp主模块的当前状态。若控制器检测到vbgp主模块故障,则控制器还向vbgp备模块推送第一BGP路由消息。该第一BGP路由消息与前述步骤210中描述的第一BGP路由消息相同,在此不再复述。
vbgp备模块接收到第一BGP路由消息后,向broader再次发送第一BGP路由消息。
进一步地,borader在将vm1主机路由设置为待删除状态,且维持第一转发表项后,border启动一保护定时器,该定时器的预设时间可设置为1min。
borader在该预设时间内,判断是否再次接收到第一BGP路由消息。若borader在该预设时间内,再次接收到第一BGP路由消息,则borader从第一BGP路由消息中获取vm1的地址信息以及第一标志。
根据vm1的地址信息,border从本地路由表中,判断是否已存在与vm1的地址信息匹配的vm1主机路由。
根据步骤440的描述可知,本地路由表中存在vm1主机路由,则broader判断vm1主机路由的当前状态。若vm1主机路由的当前状态为待删除状态,则borader根据第一标志,将vm1主机路由设置为保护状态,也即是borader再次激活vm1主机路由。
步骤460、当在预设时间内未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的所述第一vm主机路由以及所述第一转发表项。
具体地,根据步骤450的描述,若borader在该预设时间内,未接收到第一BGP路由消息,则borader确定vm1主机路由此时已失效,borader删除处于待删除状态的vm1主机路由以及第一转发表项。
因此,通过应用本申请提供的通信方法,borader接收vbgp主模块发送的第一BGP路由消息,该第一路由消息包括第一vm的地址信息以及第一标志;当在本地路由表中未获取到第一vm主机路由时,根据第一vm的地址信息,borader生成第一vm主机路由以及第一vm主机路由对应的第一转发表项,并根据第一标识将第一vm主机路由设置为保护状态;当vbgp主模块故障时,borader断开与vbgp主模块已建立的BGP邻居;borader将处于保护状态的第一vm主机路由设置为待删除状态,并维持第一转发表项;当在预设时间内接收到vbgp备模块再次发送的第一BGP路由消息时,borader将处于待删除状态的第一vm主机路由设置为所述保护状态;当在预设时间内未接收到vbgp备模块发送的第一BGP路由消息时,borader删除处于待删除状态的第一vm主机路由以及第一转发表项。
如此,当vbgp主模块向border发送BGP路由消息时,border生成vm主机路由、转发表项,并将vm主机路由设置为保护状态;当与vbgp主模块端口BGP邻居时,border将处于保护状态的vm主机路由设置为待删除状态,并维持转发表项。Border再次接收到BGP路由消息时,将处于待删除状态的vm主机路由设置为保护状态。border不再根据BGP邻居情况直接删除vm主机路由、转发表项,解决了vbgp模块在将主机路由撤销后重新发送的过程中,border内反复对主机路由、转发表项进行增删操作,增加border负担的问题,提高了组网的健壮性、稳定性。
可选地,在本申请实施例中,还包括borader接收vbgp模块发送的第二BGP路由消息的过程。
具体地,当leaf1内ovs1故障时,leaf1生成ovs故障报文,ovs故障报文包括ovs1的标识。leaf1向控制器发送ovs故障报文。
控制器接收到ovs故障报文后,从ovs故障报文中获取ovs1的标识,并确定ovs1故障。根据ovs1的标识,控制器确定接入ovs1的第二vm。第二vm为接入ovs1的全部vm。例如,vm1、vm2。下面以vm1为例进行说明。
由于ovs1已故障,其无法再继续执行转发业务报文的操作,此时,控制器生成第二BGP路由消息,第二BGP路由消息可参考前述实施例中描述,在此不再复述。
下面以控制器向vbgp备模块推送第二BGP路由消息为例进行说明。
vbgp备模块接收到第二BGP路由消息后,向broader发送第二BGP路由消息。
broader接收到第二BGP路由消息后,从第二BGP路由消息中获取vm1的地址信息以及第二标志。根据步骤410的描述可知,broader本地路由表中已存储vm1主机路由。因此,在本步骤中,根据vm1的地址信息,broader从本地路由表中,获取与vm1的地址信息匹配的vm1主机路由。
根据步骤420的描述可知,broader已将该vm1主机路由设置为保护状态。broader识别第二标志的值。在本申请实施例中,第二标志的值为1,则broader将vm1主机路由设置为待删除状态;同时,broader不删除与vm1主机路由对应的第一转发表项,即boarder维持第一转发表项。
进一步地,borader在将vm1主机路由设置为待删除状态,且维持第一转发表项后,border启动一删除定时器,该定时器的预设时间可设置为1min。
borader在该预设时间内,判断是否接收到第三BGP路由消息。该第三BGP路由消息包括vm1的地址信息以及第二标志。第三BGP路由消息可参考前述实施例中描述,在此不再复述。
更近一步地,ovs1故障后,控制器定时检测ovs1的当前状态。当ovs1故障恢复时,控制器生成第三BGP路由消息。
根据前述可知,vbgp主模块故障,控制器向vbgp备模块推送第三BGP路由消息。vbgp备模块接收到第三BGP路由消息后,向broader发送第三BGP路由消息。
可以理解的是,此时,broader已启动删除定时器,并在预设时间内,判断是否接收到第三BGP路由消息。若broader在该预设时间内,接收到第三BGP路由消息,则broader从第三BGP路由消息中获取vm1的地址信息以及第二标志。
根据步骤410的描述可知,broader本地路由表中已存储vm1主机路由。因此,在本步骤中,根据vm1的地址信息,broader从本地路由表中,获取与vm1的地址信息匹配的vm1主机路由。
根据前述可知,broader已将该vm1主机路由设置为待删除状态。broader识别第二标志的值。在本申请实施例中,第二标志的值为0,则broader将vm1主机路由设置为保护状态,也即是borader再次激活vm1主机路由。
若borader在该预设时间内,未接收到第三BGP路由消息,则borader确定vm1主机路由此时已失效,borader删除处于待删除状态的vm1主机路由以及第一转发表项。
基于同一发明构思,本申请实施例还提供了与通信方法对应的通信装置。参见图5,图5为本申请实施例提供的一种通信装置结构图。所述装置应用于控制器,所述控制器包括vbgp主模块以及vbgp备模块,所述vbgp主模块、所述vbgp备模块分别与broader建立BGP邻居,所述装置包括:接收单元510、生成单元520、传输单元530以及检测单元540;
所述生成单元520,用于当所述接收单元510接收到leaf发送的vm上线报文时,根据所述vm上线报文,生成第一BGP路由消息,所述第一BGP路由消息包括第一vm的地址信息以及第一标志;
所述传输单元530,用于向所述vbgp主模块传输所述第一BGP路由消息,以使所述vbgp主模块向所述broader发送所述第一BGP路由消息,用于所述broader在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息生成第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标识将所述第一vm主机路由设置为保护状态;当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的所述BGP邻居,将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项;
所述传输单元530还用于,当检测单元540检测到所述vbgp主模块故障时,向所述vbgp备模块传输所述第一BGP路由消息,以使所述vbgp备模块向所述broader再次发送所述第一BGP路由消息,用于所述broader在预设时间内接收到所述vbgp备模块发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态;或者,所述broader在预设时间内未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的第一vm主机路由以及所述第一转发表项。
可选地,所述接收单元510还用于,接收leaf发送的ovs故障报文,所述ovs故障报文包括所述ovs的标识;
所述生成单元520还用于,根据所述ovs的标识,确定所述ovs故障以及接入所述ovs的第二vm,并生成第二BGP路由消息,所述第二BGP路由消息包括所述第二vm的地址信息以及第二标志;
所述传输单元530还用于,向vbgp模块传输所述第二BGP路由消息,以使得所述vbgp模块向所述broader发送所述第二BGP路由消息,用于所述broader根据所述第二vm的地址信息以及第二标志,从本地路由表中获取处于保护状态的第二vm主机路由,将所述第二vm主机路由设置为待删除状态,并维持所述第二vm主机路由对应的第二转发表项;
其中,所述第二标志为第一值。
可选地,所述生成单元520还用于,当所述检测单元540检测到所述ovs故障恢复时,生成第三BGP路由消息,所述第三BGP路由消息包括所述第二vm的地址信息以及第二标志;
所述传输单元530还用于,向所述vbgp模块传输所述第三BGP路由消息,以使得所述vbgp模块向所述broader发送第三BGP路由消息,用于所述broader在预设时间内接收到所述第三BGP路由消息时,根据所述第二vm的地址信息以及第二标志,将处于待删除状态的所述第二vm主机路由设置为所述保护状态;或者,所述broader在预设时间内未接收到所述第三BGP路由消息时,删除处于待删除状态的所述第二vm主机路由以及所述第二转发表项;
其中,所述第二标志为第二值。
因此,通过应用本申请提供的通信装置,当接收到leaf发送的vm上线报文时,根据vm上线报文,控制器生成第一BGP路由消息,该第一BGP路由消息包括第一vm的地址信息以及第一标志;控制器向vbgp主模块传输第一BGP路由消息,以使vbgp主模块向broader发送第一BGP路由消息,用于broader在本地路由表中未获取到第一vm主机路由时,根据第一vm的地址信息生成第一vm主机路由以及第一vm主机路由对应的第一转发表项,并根据第一标识将第一vm主机路由设置为保护状态;当vbgp主模块故障时,断开与vbgp主模块已建立的BGP邻居,将处于保护状态的第一vm主机路由设置为待删除状态,并维持第一转发表项;当检测到vbgp主模块故障时,控制器向vbgp备模块传输第一BGP路由消息,以使vbgp备模块向broader再次发送第一BGP路由消息,用于broader在预设时间内接收到vbgp备模块发送的第一BGP路由消息时,将处于待删除状态的第一vm主机路由设置为保护状态;或者,broader在预设时间内未接收到vbgp备模块发送的第一BGP路由消息时,删除处于待删除状态的第一vm主机路由以及第一转发表项。
如此,当vbgp主模块向border发送BGP路由消息时,border生成vm主机路由、转发表项,并将vm主机路由设置为保护状态;当与vbgp主模块端口BGP邻居时,border将处于保护状态的vm主机路由设置为待删除状态,并维持转发表项。Border再次接收到BGP路由消息时,将处于待删除状态的vm主机路由设置为保护状态。border不再根据BGP邻居情况直接删除vm主机路由、转发表项,解决了vbgp模块在将主机路由撤销后重新发送的过程中,border内反复对主机路由、转发表项进行增删操作,增加border负担的问题,提高了组网的健壮性、稳定性。
基于同一发明构思,本申请实施例还提供了与通信方法对应的通信装置。参见图6,图6为本申请实施例提供的另一种通信装置结构图。所述装置应用于broader,所述broader与控制器包括的vbgp主模块、vbgp备模块分别建立BGP邻居,所述装置包括:接收单元610、设置单元620、断开单元630以及删除单元640;
所述接收单元610,用于接收所述vbgp主模块发送的第一BGP路由消息,所述第一BGP路由消息包括第一vm的地址信息以及第一标志;
所述设置单元620,用于当在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息,生成所述第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标识将所述第一vm主机路由设置为保护状态;
所述断开单元630,用于当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的BGP邻居;
所述设置单元620还用于,将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项;
所述设置单元620还用于,当在预设时间内所述接收单元接收到所述vbgp备模块再次发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态;
所述删除单元640,用于当在预设时间内所述接收单元未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的所述第一vm主机路由以及所述第一转发表项。
可选地,所述接收单元610还用于,接收vbgp模块发送的第二BGP路由消息,所述第二BGP路由消息包括第二vm的地址信息以及第二标志;
所述装置还包括:获取单元(图中未示出),用于根据所述第二vm的地址信息,从本地路由表中获取处于保护状态的第二vm主机路由;
所述设置单元620还用于,根据所述第二标志,将所述第二vm主机路由设置为待删除状态,并维持所述第二vm主机路由对应的第二转发表项;
其中,所述第二标志为第一值。
可选地,所述设置单元620还用于,当在预设时间内所述接收单元接收到所述vbgp模块发送的第三BGP路由消息时,根据所述第三BGP路由消息包括的所述第二vm的地址信息以及第二标志,将处于待删除状态的所述第二vm主机路由设置为所述保护状态;
所述删除单元640还用于,当在预设时间内所述接收单元未接收到所述vbgp模块发送的第三BGP路由消息时,删除处于待删除状态的所述第二vm主机路由以及所述第二转发表项;
其中,所述第二标志为第二值。
因此,通过应用本申请提供的通信方法,borader接收vbgp主模块发送的第一BGP路由消息,该第一路由消息包括第一vm的地址信息以及第一标志;当在本地路由表中未获取到第一vm主机路由时,根据第一vm的地址信息,borader生成第一vm主机路由以及第一vm主机路由对应的第一转发表项,并根据第一标识将第一vm主机路由设置为保护状态;当vbgp主模块故障时,borader断开与vbgp主模块已建立的BGP邻居;borader将处于保护状态的第一vm主机路由设置为待删除状态,并维持第一转发表项;当在预设时间内接收到vbgp备模块再次发送的第一BGP路由消息时,borader将处于待删除状态的第一vm主机路由设置为所述保护状态;当在预设时间内未接收到vbgp备模块发送的第一BGP路由消息时,borader删除处于待删除状态的第一vm主机路由以及第一转发表项。
如此,当vbgp主模块向border发送BGP路由消息时,border生成vm主机路由、转发表项,并将vm主机路由设置为保护状态;当与vbgp主模块端口BGP邻居时,border将处于保护状态的vm主机路由设置为待删除状态,并维持转发表项。Border再次接收到BGP路由消息时,将处于待删除状态的vm主机路由设置为保护状态。border不再根据BGP邻居情况直接删除vm主机路由、转发表项,解决了vbgp模块在将主机路由撤销后重新发送的过程中,border内反复对主机路由、转发表项进行增删操作,增加border负担的问题,提高了组网的健壮性、稳定性。
基于同一发明构思,本申请实施例还提供了一种网络设备,如图7所示,包括处理器710、收发器720和机器可读存储介质730,机器可读存储介质730存储有能够被处理器710执行的机器可执行指令,处理器710被机器可执行指令促使执行本申请实施例所提供的通信方法。前述图5、图6所示的通信装置,可采用如图7所示的网络设备硬件结构实现。
上述计算机可读存储介质730可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质730还可以是至少一个位于远离前述处理器710的存储装置。
上述处理器710可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器710通过读取机器可读存储介质730中存储的机器可执行指令,被机器可执行指令促使能够实现处理器710自身以及调用收发器720执行前述本申请实施例描述的通信方法。
另外,本申请实施例提供了一种机器可读存储介质730,机器可读存储介质730存储有机器可执行指令,在被处理器710调用和执行时,机器可执行指令促使处理器710自身以及调用收发器720执行前述本申请实施例描述的通信方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于通信装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种通信方法,其特征在于,所述方法应用于控制器,所述控制器包括虚拟边界网关协议vbgp主模块以及vbgp备模块,所述vbgp主模块、所述vbgp备模块分别与边界交换机broader建立BGP邻居,所述方法包括:
当接收到leaf发送的虚拟机vm上线报文时,根据所述vm上线报文,生成第一BGP路由消息,所述第一BGP路由消息包括第一vm的地址信息以及第一标志;
向所述vbgp主模块传输所述第一BGP路由消息,以使所述vbgp主模块向所述broader发送所述第一BGP路由消息,用于所述broader在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息生成第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标志将所述第一vm主机路由设置为保护状态;当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的所述BGP邻居,将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项;
当检测到所述vbgp主模块故障时,向所述vbgp备模块传输所述第一BGP路由消息,以使所述vbgp备模块向所述broader再次发送所述第一BGP路由消息,用于所述broader在预设时间内接收到所述vbgp备模块发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态;或者,所述broader在预设时间内未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的第一vm主机路由以及所述第一转发表项。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收leaf发送的开源虚拟交换机ovs故障报文,所述ovs故障报文包括所述ovs的标识;
根据所述ovs的标识,确定所述ovs故障以及接入所述ovs的第二vm,并生成第二BGP路由消息,所述第二BGP路由消息包括所述第二vm的地址信息以及第二标志;
向vbgp模块传输所述第二BGP路由消息,以使得所述vbgp模块向所述broader发送所述第二BGP路由消息,用于所述broader根据所述第二vm的地址信息以及第二标志,从本地路由表中获取处于保护状态的第二vm主机路由,将所述第二vm主机路由设置为待删除状态,并维持所述第二vm主机路由对应的第二转发表项;
其中,所述第二标志为第一值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当检测到所述ovs故障恢复时,生成第三BGP路由消息,所述第三BGP路由消息包括所述第二vm的地址信息以及第二标志;
向所述vbgp模块传输所述第三BGP路由消息,以使得所述vbgp模块向所述broader发送第三BGP路由消息,用于所述broader在预设时间内接收到所述第三BGP路由消息时,根据所述第二vm的地址信息以及第二标志,将处于待删除状态的所述第二vm主机路由设置为所述保护状态;或者,所述broader在预设时间内未接收到所述第三BGP路由消息时,删除处于待删除状态的所述第二vm主机路由以及所述第二转发表项;
其中,所述第二标志为第二值。
4.一种通信方法,其特征在于,所述方法应用于边界交换机broader,所述broader与控制器包括的虚拟边界网关协议vbgp主模块、vbgp备模块分别建立BGP邻居,所述方法包括:
接收所述vbgp主模块发送的第一BGP路由消息,所述第一BGP路由消息包括第一虚拟机vm的地址信息以及第一标志;
当在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息,生成所述第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标志将所述第一vm主机路由设置为保护状态;
当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的BGP邻居;
将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项;
当在预设时间内接收到所述vbgp备模块再次发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态;
当在预设时间内未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的所述第一vm主机路由以及所述第一转发表项。
5.根据权利要求4所述的方法,其特征在于,所述方法包括:
接收vbgp模块发送的第二BGP路由消息,所述第二BGP路由消息包括第二vm的地址信息以及第二标志;
根据所述第二vm的地址信息,从本地路由表中获取处于保护状态的第二vm主机路由;
根据所述第二标志,将所述第二vm主机路由设置为待删除状态,并维持所述第二vm主机路由对应的第二转发表项;
其中,所述第二标志为第一值。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当在预设时间内接收到所述vbgp模块发送的第三BGP路由消息时,根据所述第三BGP路由消息包括的所述第二vm的地址信息以及第二标志,将处于待删除状态的所述第二vm主机路由设置为所述保护状态;
当在预设时间内未接收到所述vbgp模块发送的第三BGP路由消息时,删除处于待删除状态的所述第二vm主机路由以及所述第二转发表项;
其中,所述第二标志为第二值。
7.一种通信装置,其特征在于,所述装置应用于控制器,所述控制器包括虚拟边界网关协议vbgp主模块以及vbgp备模块,所述vbgp主模块、所述vbgp备模块分别与边界交换机broader建立BGP邻居,所述装置包括:接收单元、生成单元、传输单元以及检测单元;
所述生成单元,用于当所述接收单元接收到leaf发送的虚拟机vm上线报文时,根据所述vm上线报文,生成第一BGP路由消息,所述第一BGP路由消息包括第一vm的地址信息以及第一标志;
所述传输单元,用于向所述vbgp主模块传输所述第一BGP路由消息,以使所述vbgp主模块向所述broader发送所述第一BGP路由消息,用于所述broader在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息生成第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标志将所述第一vm主机路由设置为保护状态;当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的所述BGP邻居,将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项;
所述传输单元还用于,当检测单元检测到所述vbgp主模块故障时,向所述vbgp备模块传输所述第一BGP路由消息,以使所述vbgp备模块向所述broader再次发送所述第一BGP路由消息,用于所述broader在预设时间内接收到所述vbgp备模块发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态;或者,所述broader在预设时间内未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的第一vm主机路由以及所述第一转发表项。
8.根据权利要求7所述的装置,其特征在于,所述接收单元还用于,接收leaf发送的开源虚拟交换机ovs故障报文,所述ovs故障报文包括所述ovs的标识;
所述生成单元还用于,根据所述ovs的标识,确定所述ovs故障以及接入所述ovs的第二vm,并生成第二BGP路由消息,所述第二BGP路由消息包括所述第二vm的地址信息以及第二标志;
所述传输单元还用于,向vbgp模块传输所述第二BGP路由消息,以使得所述vbgp模块向所述broader发送所述第二BGP路由消息,用于所述broader根据所述第二vm的地址信息以及第二标志,从本地路由表中获取处于保护状态的第二vm主机路由,将所述第二vm主机路由设置为待删除状态,并维持所述第二vm主机路由对应的第二转发表项;
其中,所述第二标志为第一值。
9.根据权利要求8所述的装置,其特征在于,所述生成单元还用于,当所述检测单元检测到所述ovs故障恢复时,生成第三BGP路由消息,所述第三BGP路由消息包括所述第二vm的地址信息以及第二标志;
所述传输单元还用于,向所述vbgp模块传输所述第三BGP路由消息,以使得所述vbgp模块向所述broader发送第三BGP路由消息,用于所述broader在预设时间内接收到所述第三BGP路由消息时,根据所述第二vm的地址信息以及第二标志,将处于待删除状态的所述第二vm主机路由设置为所述保护状态;或者,所述broader在预设时间内未接收到所述第三BGP路由消息时,删除处于待删除状态的所述第二vm主机路由以及所述第二转发表项;
其中,所述第二标志为第二值。
10.一种通信装置,其特征在于,所述装置应用于边界交换机broader,所述broader与控制器包括的虚拟边界网关协议vbgp主模块、vbgp备模块分别建立BGP邻居,所述装置包括:接收单元、设置单元、断开单元以及删除单元;
所述接收单元,用于接收所述vbgp主模块发送的第一BGP路由消息,所述第一BGP路由消息包括第一虚拟机vm的地址信息以及第一标志;
所述设置单元,用于当在本地路由表中未获取到第一vm主机路由时,根据所述第一vm的地址信息,生成所述第一vm主机路由以及所述第一vm主机路由对应的第一转发表项,并根据所述第一标志将所述第一vm主机路由设置为保护状态;
所述断开单元,用于当所述vbgp主模块故障时,断开与所述vbgp主模块已建立的BGP邻居;
所述设置单元还用于,将处于保护状态的所述第一vm主机路由设置为待删除状态,并维持所述第一转发表项;
所述设置单元还用于,当在预设时间内所述接收单元接收到所述vbgp备模块再次发送的所述第一BGP路由消息时,将处于待删除状态的所述第一vm主机路由设置为所述保护状态;
所述删除单元,用于当在预设时间内所述接收单元未接收到所述vbgp备模块发送的所述第一BGP路由消息时,删除处于待删除状态的所述第一vm主机路由以及所述第一转发表项。
11.根据权利要求10所述的装置,其特征在于,所述接收单元还用于,接收vbgp模块发送的第二BGP路由消息,所述第二BGP路由消息包括第二vm的地址信息以及第二标志;
所述装置还包括:获取单元,用于根据所述第二vm的地址信息,从本地路由表中获取处于保护状态的第二vm主机路由;
所述设置单元还用于,根据所述第二标志,将所述第二vm主机路由设置为待删除状态,并维持所述第二vm主机路由对应的第二转发表项;
其中,所述第二标志为第一值。
12.根据权利要求11所述的装置,其特征在于,所述设置单元还用于,当在预设时间内所述接收单元接收到所述vbgp模块发送的第三BGP路由消息时,根据所述第三BGP路由消息包括的所述第二vm的地址信息以及第二标志,将处于待删除状态的所述第二vm主机路由设置为所述保护状态;
所述删除单元还用于,当在预设时间内所述接收单元未接收到所述vbgp模块发送的第三BGP路由消息时,删除处于待删除状态的所述第二vm主机路由以及所述第二转发表项;
其中,所述第二标志为第二值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110894819.7A CN113765783B (zh) | 2021-08-05 | 2021-08-05 | 通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110894819.7A CN113765783B (zh) | 2021-08-05 | 2021-08-05 | 通信方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113765783A CN113765783A (zh) | 2021-12-07 |
CN113765783B true CN113765783B (zh) | 2022-11-18 |
Family
ID=78788552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110894819.7A Active CN113765783B (zh) | 2021-08-05 | 2021-08-05 | 通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113765783B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109412926A (zh) * | 2018-11-16 | 2019-03-01 | 新华三技术有限公司 | 一种隧道建立方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243102B (zh) * | 2016-12-27 | 2022-03-11 | 迈普通信技术股份有限公司 | 一种快速重路由的实现方法和pe设备 |
CN108600109B (zh) * | 2018-03-19 | 2020-12-04 | 新华三技术有限公司 | 一种报文转发方法和装置 |
CN108199967B (zh) * | 2018-03-30 | 2020-08-11 | 新华三技术有限公司 | 路由处理方法及装置 |
CN110971516B (zh) * | 2019-10-25 | 2021-01-15 | 华为技术有限公司 | 路由信息的处理方法和装置 |
CN113132227A (zh) * | 2019-12-30 | 2021-07-16 | 华为技术有限公司 | 更新路由信息的方法、装置、计算机设备和存储介质 |
CN111698154B (zh) * | 2020-04-30 | 2023-04-07 | 新华三技术有限公司 | 一种主机路由频繁迁移的抑制方法及装置 |
-
2021
- 2021-08-05 CN CN202110894819.7A patent/CN113765783B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109412926A (zh) * | 2018-11-16 | 2019-03-01 | 新华三技术有限公司 | 一种隧道建立方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113765783A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111740899B (zh) | 一种arp请求报文转发方法、跨设备链路聚合组及网络设备 | |
US10263808B2 (en) | Deployment of virtual extensible local area network | |
CN111865779B (zh) | 一种路由同步方法及跨设备链路聚合组 | |
JP6494150B2 (ja) | ルーティング規則取得方法、デバイス、およびシステム | |
US7549078B2 (en) | Redundancy in routing devices | |
US10560550B1 (en) | Automatic configuration of a replacement network device in a high-availability cluster | |
US11146484B2 (en) | Method, device, and system for deferring switchback | |
JP2006202280A (ja) | 状態の同期化を有するクラスタのための仮想マルチキャスト経路指定 | |
JPH11154979A (ja) | 多重化ルータ装置 | |
CN108243114B (zh) | 一种转发报文的方法、设备及系统 | |
CN103825826B (zh) | 一种动态路由的实现方法和装置 | |
JPWO2016121293A1 (ja) | ネットワーク中継装置、ゲートウェイ冗長化システム、プログラム、および冗長化方法 | |
WO2020057445A1 (zh) | 一种通信系统、方法及装置 | |
CN103631652A (zh) | 虚拟机迁移的实现方法及系统 | |
US20190215191A1 (en) | Deployment Of Virtual Extensible Local Area Network | |
CN108777663B (zh) | 一种路由信息的同步方法及装置 | |
WO2018107974A1 (zh) | 一种路由回切方法、控制器及系统 | |
CN108833272A (zh) | 一种路由管理方法和装置 | |
CN109302328B (zh) | 一种vxlan网络热备切换方法及系统 | |
CN113765783B (zh) | 通信方法及装置 | |
WO2016177211A1 (zh) | 地址解析协议arp表项的同步方法及装置 | |
KR20180099143A (ko) | Tcp 세션 복구 장치 및 방법 | |
CN106878051B (zh) | 一种多机备份实现方法及装置 | |
US20140293827A1 (en) | Method And Apparatus For Peer Node Synchronization | |
US10291435B2 (en) | Router device, packet control method based on prefix management, and program |
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 |