CN111064662B - 虚拟路由冗余协议配置方法及相关装置 - Google Patents
虚拟路由冗余协议配置方法及相关装置 Download PDFInfo
- Publication number
- CN111064662B CN111064662B CN202010000486.4A CN202010000486A CN111064662B CN 111064662 B CN111064662 B CN 111064662B CN 202010000486 A CN202010000486 A CN 202010000486A CN 111064662 B CN111064662 B CN 111064662B
- Authority
- CN
- China
- Prior art keywords
- vrid
- node
- candidate
- list
- voting
- 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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- 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/16—Multipoint routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及计算机网络技术领域,提供一种虚拟路由冗余协议配置方法及相关装置,应用于第一计算机集群中的第一节点的方法包括:获取本地存储的第一VRID列表,其中,第一VRID列表包括第一节点所属的组播组中已用虚拟路由VRID;将满足预设条件的数值确定为候选VRID,其中,候选VRID不在第一VRID列表中;向第二节点发起针对候选VRID的投票选举,将选举通过的候选VRID确定为有效VRID,以依据有效VRID进行虚拟路由冗余协议VRRP通信。本发明实施例可以自动生成有效VRID,提高了VRID配置的效率,避免了手动配置VRID容易出错的问题。
Description
技术领域
本发明涉及计算机网络技术领域,具体而言,涉及一种虚拟路由冗余协议配置方法及相关装置。
背景技术
虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol,VRRP)是由国际互联网工程任务组IETF(The Internet Engineering Task Force,IETF)提出的解决局域网中配置静态网关出现单点失效现象的路由协议。
在计算机集群系统中VRRP被广泛地用来实现浮动IP地址,从而达到高可用性。虚拟路由VRID(Virtual Router,ID)是VRRP协议中的关键字段,用来标识不同的VRRP组,在同一局域网或者组播域中如果出现两个VRRP组的话则会产生冲突。通常需要在配置设备的VRRP参数时保证任意两个组之间不出现冲突。现有技术需要配置人员确认同一局域网或者组播域中不产生冲突才能保证所有VRRP组进行正常的工作。
发明内容
本发明的目的在于提供了一种虚拟路由冗余协议配置方法及相关装置,用于解决手动配置VRID效率低下、且容易出错的问题。
为了实现上述目的,本发明的实施例采用的技术方案如下:
第一方面,本实施例提供一种虚拟路由冗余协议配置方法,应用于第一计算机集群中的第一节点,第一计算机集群还包括第二节点,第一节点与第二节点通信连接,所述方法包括:获取本地存储的第一VRID列表,其中,第一VRID列表包括第一节点所属的组播组中已用虚拟路由VRID;将满足预设条件的数值确定为候选VRID,其中,候选VRID不在第一VRID列表中;向第二节点发起针对候选VRID的投票选举,将选举通过的候选VRID确定为有效VRID,以依据有效VRID进行虚拟路由冗余协议VRRP通信。
第二方面,本实施例提供一种虚拟路由冗余协议配置方法,应用于第一计算机集群中的第二节点,第一计算机集群还包括第一节点,第一节点与第二节点通信连接,所述方法包括:接收第一节点发送的候选VRID,其中,候选VRID为第一节点确定的、不在第一VRID列表中、且满足预设条件的VRID,第一VRID列表为第一节点存储的、包括第一节点所属的组播组中已使用的VRID;获取本地存储的第二VRID列表;依据第二VRID列表确定候选VRID的投票选举结果,并将投票选举结果发送至第一节点,以使第一节点将投票选举结果为选举通过的候选VRID确定为有效VRID、并使第一节点依据有效VRID进行VRRP通信。
第三方面,本实施例提供一种虚拟路由冗余协议配置装置,应用于第一计算机集群中的第一节点,第一计算机集群还包括第二节点,第一节点与第二节点通信连接,所述装置包括第一获取模块、确定模块及选举请求模块,其中,第一获取模块,用于获取本地存储的第一VRID列表,其中,第一VRID列表包括第一节点所属的组播组中已用虚拟路由VRID;确定模块,用于将满足预设条件的数值确定为候选VRID,其中,候选VRID不在第一VRID列表中;选举请求模块,用于向第二节点发起针对候选VRID的投票选举,将选举通过的候选VRID确定为有效VRID,以依据有效VRID进行虚拟路由冗余协议VRRP通信。
第四方面,本实施例提供一种虚拟路由冗余协议配置装置,应用于第一计算机集群中的第二节点,第一计算机集群还包括第一节点,第一节点与第二节点通信连接,所述装置包括接收模块、第二获取模块及选举响应模块。其中,接收模块,用于接收第一节点发送的候选VRID,其中,候选VRID为第一节点确定的、不在第一VRID列表中、且满足预设条件的VRID,第一VRID列表为第一节点存储的、包括第一节点所属的组播组中已使用的VRID;第二获取模块,用于获取本地存储的第二VRID列表;选举响应模块,用于依据第二VRID列表确定候选VRID的投票选举结果,并将投票选举结果发送至第一节点,以使第一节点将投票选举结果为选举通过的候选VRID确定为有效VRID、并使第一节点依据有效VRID进行VRRP通信。
第五方面,本实施例提供一种计算机设备,所述计算机设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前述实施方式中任一项应用于第一节点的所述的虚拟路由冗余协议配置方法,或者如前述实施方式中任一项应用于第二节点的所述的虚拟路由冗余协议配置方法。
第六方面,本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项应用于第一节点的所述的虚拟路由冗余协议配置方法,或者如前述实施方式中任一项应用于第二节点的所述的虚拟路由冗余协议配置方法。
相对于现有技术,本发明实施例提供一种虚拟路由冗余协议配置方法及相关装置,应用于第一计算机集群中的第一节点,第一计算机集群还包括第二节点,第一节点与第二节点通信连接,第一节点获取本地存储的第一VRID列表,其中,第一VRID列表包括第一节点所属的组播组中已用虚拟路由VRID;第一节点再将满足预设条件的数值确定为候选VRID,其中,候选VRID不在第一VRID列表中;第一节点接下来向第二节点发起针对候选VRID的投票选举,将选举通过的候选VRID确定为有效VRID,以依据有效VRID进行虚拟路由冗余协议VRRP通信。本发明实施例可以自动生成有效VRID,提高了VRID配置的效率,避免了手动配置VRID容易出错的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的应用场景示意图。
图2示出了本发明实施例提供的一种应用于第一节点的虚拟路由冗余协议配置方法的流程图。
图3示出了本发明实施例提供的另一种应用于第一节点的虚拟路由冗余协议配置方法的流程图。
图4示出了本发明实施例提供的另一种应用于第一节点的虚拟路由冗余协议配置方法的流程图。
图5示出了本发明实施例提供的一种应用于第二节点的虚拟路由冗余协议配置方法的流程图。
图6示出了本发明实施例提供的另一种应用于第二节点的虚拟路由冗余协议配置方法的流程图。
图7示出了本发明实施例提供的第一节点、第二节点和第四节点的交互示意图。
图8示出了本发明实施例提供的应用于第一节点的虚拟路由冗余协议配置装置的方框示意图。
图9示出了本发明实施例提供的应用于第二节点的虚拟路由冗余协议配置装置的方框示意图。
图10示出了本发明实施例提供的计算机设备的方框示意图。
图标:10-第一节点;20-第二节点;30-第三节点;40-第四节点;100-计算机设备;101-存储器;102-通信接口;103-处理器;104-总线;200-应用于第一节点的虚拟路由冗余协议配置装置;210-生成模块;220-第一获取模块;230-确定模块;240-选举请求模块;250-拦截模块;260-冲突处理模块。300-应用于第二节点的虚拟路由冗余协议配置装置;310-接收模块;320-第二获取模块;330-选举响应模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
由于VRID的可使用范围为:1~255,因此,任意两个VRRP组出现VRID冲突的概率并不小,为了避免出现VRID冲突,现有技术需要配置人员人工确认,以保证待配置的VRRP组的VRID与已经在用的VRID不冲突,人工确认不但耗时费力,而且容易出错。
针对上述问题,本发明实施例提供一种虚拟路由冗余协议配置方法及相关装置,通过自动配置VRRP,自动生成与已经在用的VRID不冲突的有效VRID,提高了VRID的而配置效率,避免人工配置VRID容易出错的问题,下面进行详细介绍。
请参照图1,图1示出了本发明实施例提供的应用场景示意图,图1中,第一计算机集群包括相互通信连接的第一节点10、第二节点20及第四节点40,第二计算机集群包括第三节点30,第一计算机集群与第二计算机集群可以通过路由通信,第一节点10、第二节点20、第三节点30及第四节点40均可以是主机、服务器等实体计算机设备,也可以是能够实现实体计算机设备功能的虚拟机、还可以是实现网络通信功能的计算机设备,例如路由器等。第一节点10、第二节点20、第三节点30及第四节点40属于同一个组播组。组播组包括一组端口,组播报文或者数据帧会发送至组播组中的所有端口。第一计算机集群为待配置VRRP的集群,第二计算机集群为预先配置有VRRP的集群,且设置有一个VRID,该VRID对于第一计算机集群来说为已使用的VRID,第一节点10通过捕获来自第二计算机集群的VRRP报文,根据VRRP报文中的VRID,即可以得知第二计算机集群当前正在用的VRID,然后第一节点10将满足预设条件的数值确定为候选VRID,第一节点10将该候选VRID发送至第一计算机集群中的其他节点:第二节点20及第四节点40进行投票选举,当第二节点20和第四节点40均向第一节点10反馈投票选举通过的选举结果时,第一节点10将该候选VRID确定为有效VRID,该有效VRID即为第一计算机集群共用的VRID,实现第一计算机集群对外进行VRRP通信。
需要说明的是,第一节点10、第二节点20及第四节点40均可以是第一计算机集群中的任一节点,例如,第一计算机集群包括:节点A、节点B和节点C,当节点A为第一节点10时,节点B和节点C分别为第二节点20和第四节点40,当节点B为第一节点10时,节点A和节点C分别为第二节点20和第四节点40,当节点C为第一节点10时,节点A和节点B分别为第二节点20和第四节点40,第三节点30可以是第二计算机集群中的任一节点。
还需要说明的是,图1只示出了第一计算机集群与一个第二计算机集群通信的场景,事实上,根据场景的需要,第一计算机集群还可以同时与多个第二计算机集群通信,每个第二计算机集群中均可以包括多个第三节点30,第一计算机集群中的所有节点与第二计算机集群中的所有节点均属于一个组播组。
在图1的应用的场景下,本发明实施例给出了一种应用于第一节点的虚拟路由冗余协议配置方法,请参照图2,图2示出了本发明实施例提供的一种应用于第一节点的虚拟路由冗余协议配置方法的流程图,该方法包括以下步骤:
步骤S102,获取本地存储的第一VRID列表,其中,第一VRID列表包括第一节点所属的组播组中已用虚拟路由VRID。
在本实施例中,第一VRID列表可以是预先存储于第一节点10的,也可以是第一节点10在进行VRRP配置时自动生成的。
在本实施例中,第一节点10需要预先加入组播组,当第一节点10只包括一个网络接口时,该网络接口即为需要配置VRRP的网络接口,配置该网络接口加入组播组,此时,第一节点10加入了组播组,当第一节点10包括多个网络接口时,对需要配置VRRP的目标网络接口进行配置,配置目标网络接口加入组播组,此时,第一节点10加入了组播组,其中目标网络接口可以为一个或者多个。
步骤S103,将满足预设条件的数值确定为候选VRID,其中,候选VRID不在第一VRID列表中。
在本实施例中,候选VRID为第一节点10根据预设算法得到的满足预设条件的数值,该数值的取值范围在1~255之间,例如,第一VRID列表中包括2个VRID,分别为100和200,可以将候选VRID确定为150。
步骤S104,向第二节点发起针对候选VRID的投票选举,将选举通过的候选VRID确定为有效VRID,以依据有效VRID进行虚拟路由冗余协议VRRP通信。
在本实施例中,有效VRID为第一计算机集群中所有节点共用的VRID,第一节点10产生的候选VRID只有通过第一计算机集群中的其他节点的认可后才能成为有效VRID。例如,当第一计算机集群包括第一节点10和第二节点20时,第一节点10产生的候选VRID,需要征得第二节点20的认可后,该候选VRID才能成为第一节点10和第二节点20共用的有效VRID。又例如,在图1所示的场景下,第一节点10产生的候选VRID,需要征得第二节点20和第四节点40的认可后,该候选VRID才能成为有效VRID。
本实施例提供的上述应用于第一节点的虚拟路由冗余协议配置方法,可以自动生成有效VRID,提高了VRID配置的效率,避免了手动配置VRID容易出错的问题。
在图2的基础上,本发明实施例还提供了另一种应用于第一节点的虚拟路由冗余协议配置方法,该方法可以得到第一VRID列表,请参照图3,图3示出了本发明实施例提供的另一种应用于第一节点的虚拟路由冗余协议配置方法的流程图,该方法还包括:
步骤S100,获取第三节点发送的VRRP报文,其中,VRRP报文中携带有VRID。
在本实施例中,第一节点10加入至组播组后,第一节点10就可以捕获到在该组播组中的第二计算机集群中第三节点30发送的VRRP报文,从而可以得到VRRP报文中的VRID,即已用VRID。
步骤S101,将VRID加入至第一VRID列表。
在本实施例中,第一VRID列表为第一节点10从捕获的VRRP报文中得到的已用VRID。作为一种具体实施方式,第一节点10在预设时间段内捕获VRRP报文,并提取出其中的VRRP报文,将其加入至第一VRID列表中,为了便于存储和使用,第一VRID列表中不会出现重复的VRID,即每个VRID只会在第一次获取到时加入第一VRID列表,例如,当前第一VRID列表为空,t1时刻捕获的VRRP报文中的VRID为100,将100加入第一VRID列表,t2时刻捕获的VRRP报文中的VRID仍然为100,由于100已经在第一VRID列表中,此时不需要将100再次加入第一VRID列表,t3时刻捕获的VRRP报文中的VRID为200,将100加入第一VRID列表。
需要说明的是,步骤S100~S101可以与步骤S102连续执行,也可以预先执行,在需要的时候再执行步骤S102。
在本实施例中,为了使得确定的候选VRID最大可能地被第一计算机集群中所有节点均认可,作为一种具体的确定候选VRID的方法,预先条件可以设置为:预设范围内、且与已用VRID列表中所有VRID的平均值最接近的数值,候选VRID可以通过如下公式产生:
继续参照图3,步骤S104包括以下子步骤:
子步骤S1041,将候选VRID发送至第二节点。
子步骤S1042,当接收到第二节点发送的投票选举通过的投票选举结果时,将候选VRID确定为有效VRID。
在本实施例中,第二节点20接收到第一节点10发送的候选VRID后,获取本地存储的第二VRID列表,当该候选VRID在第二VRID列表中时,确定候选VRID未通过投票选举,当该候选VRID不在第二VRID列表中时,确定候选VRID通过投票选举。
在本实施例中,若候选VRID未通过第二节点20的投票选举时,第一节点10不能将该候选VRID作为有效VRID,为了得到有效VRID,第一节点10首先将该候选VRID作为已用VRID加入至第一VRID列表,再重新确定新的候选VRID,重新发起投票选举,直至确定出有效VRID,因此,本发明实施例还包括:
子步骤S1043,当接收到第二节点发送的投票选举未通过的投票选举结果时,将候选VRID加入至第一VRID列表中,并确定新的候选VRID、针对新的候选VRID重新发起投票选举,直至确定出有效VRID。
本发明实施例提供的上述应用于第一节点10的虚拟路由冗余协议配置方法,通过设置预设条件,可以使候选VRID最大可能地通过第二节点20的选举投票,即得到第二节点20的认可,提高了自动生成VRID的效率,另外,在第二节点20的选举投票未通过的情况下,可以自动地将未通过投票选举的候选VRID加入第一VRID列表,从而排除候选VRID后再次重新生成新的候选VRID,重新发起投票选举,最终得到有效VRID,整个过程均不需要人工干预,实现了自动生成VRID。
在本实施例中,第一计算机集群的有效VRID确定后,第一计算机集群中的所有节点即可进行正常的VRRP通信,在正常VRRP通信过程中,如果检测到第二计算机集群配置了与该有效VRID相同的VRID,此处就会产生VRID冲突,为了解决此冲突,在图2的基础上,本发明实施例还提供了另一种应用于第一节点的虚拟路由冗余协议配置方法,该方法可以得到解决第二计算机集群与第一计算机集群的VRID冲突的情形,请参照图4,图4示出了本发明实施例提供的另一种应用于第一节点的虚拟路由冗余协议配置方法的流程图,该方法还包括:
步骤S105,当接收到第三节点发送的VRRP报文且VRRP报文中的VRID与有效VRID相同时,将VRRP报文丢弃。
在本实施例中,当正常进行VRRP通信的第一计算机集群的第一节点10捕获到第三节点30发送的VRRP报文,且该VRRP报文中的VRID与第一计算机集群的有效VRID相同时,为了屏蔽第二计算机集群对第一计算机集群的VRRP通信的影响,此时,第一节点10对该VRRP报文进行过滤,即将该VRRP报文丢弃,不让其流入第一计算机集群,从而避免了第二计算机集群与第一计算机集群的VRID冲突下,第二计算机集群对第一计算机集群的影响。
继续参照图4,进一步地为了使第二计算机集群与第一计算机集群的VRID冲突下,第二计算机集群可以恢复正常的VRRP通信,本发明实施例在检测到冲突的情况下,可以通过重新确定第一计算机集群的有效VRID,以解决第二计算机集群与第一计算机集群的VRID冲突的问题,本发明实施例还包括:
步骤S106,当接收到第三节点发送的VRRP报文且VRRP报文中的VRID与有效VRID相同时,确定新的候选VRID、针对新的候选VRID重新发起投票选举,以确定有效VRID。
在本实施例中,当第一节点10接收到第三节点30发送的VRRP报文且VRRP报文中的VRID与有效VRID相同时,第一节点10将当前有效的VRID加入至第一VRID列表中,重新确定新的候选VRID,重新发起投票选举,以确定新的有效VRID,具体重新确定VRID的方法及重新发起投票选举的方法在前述实施的方法中已经介绍,此处不再赘述。
需要说明的是,步骤S105和步骤S106可以只执行其中一个步骤,当只执行步骤S105时,过滤来自第二计算机集群的VRRP报文,避免第二计算机集群对第一计算机集群产生影响,当只执行步骤S106时,通过重新确定第一计算机集群的有效VRID,解决了第二计算机集群与第一计算机集群的VRID冲突,使得第二计算机集群也能恢复正常的VRRP通信。步骤S105和步骤S106也可以同时使用,即在重新确定第一计算机集群的有效VRID之前,可以通过步骤S105暂时避免第二计算机集群对第一计算机集群产生影响,步骤S105和步骤S106还可以独自或者组合与图3配合使用,与图3配合使用时,步骤S105和步骤S106在步骤S1042或者步骤S1043之后执行。
本发明实施例提供的上述应用于第一节点10的虚拟路由冗余协议配置方法,在第二计算机集群与第一计算机集群的VRID冲突的情况下,一方面,通过过滤来自第二计算机集群的VRRP报文,避免了第二计算机集群的影响,另一方面,通过重新确定第一计算机集群自身的有效VRID,解决了第二计算机集群与第一计算机集群的VRID冲突,使得第二计算机集群也能恢复正常的VRRP通信。
在图1的应用的场景下,本发明实施例给出了一种应用于第二节点的虚拟路由冗余协议配置方法,请参照图5,图5示出了本发明实施例提供的一种应用于第二节点的虚拟路由冗余协议配置方法的流程图,该方法包括以下步骤:
步骤S201,接收第一节点发送的候选VRID,其中,候选VRID为第一节点确定的、不在第一VRID列表中、且满足预设条件的VRID,第一VRID列表为第一节点存储的、包括第一节点所属的组播组中已使用的VRID。
步骤S202,获取本地存储的第二VRID列表。
在本实施例中,第二节点20获取第二VRID列表、生成第二VRID列表的方法与第一节点10获取第一VRID列表、生成第一VRID列表的方法类似,此处不再赘述。
步骤S203,依据第二VRID列表确定候选VRID的投票选举结果,并将投票选举结果发送至第一节点,以使第一节点将投票选举结果为选举通过的候选VRID确定为有效VRID、并使第一节点依据有效VRID进行VRRP通信。
在图5的基础上,本发明实施例给出了另一种应用于第二节点的虚拟路由冗余协议配置方法,请参照图6,图6示出了本发明实施例提供的另一种应用于第二节点的虚拟路由冗余协议配置方法的流程图,步骤S203包括以下子步骤:
子步骤S2031,当第二VRID列表中存在候选VRID时,确定候选VRID的投票选举结果为未通过投票选举。
子步骤S2032,当第二VRID列表中不存在候选VRID时,确定候选VRID的投票选举结果为通过投票选举。
当第一计算机集群包括第四节点时,为了尽快地使候选VRID通过投票选举,步骤S203还包括子步骤S2033:
子步骤S2033,当第二VRID列表中不存在候选VRID时,向第四节点发送候选VRID。
在本实施例中,当候选VRID通过第二节点20的投票选举时,即第二节点20认可该候选VRID,第二节点20还将该候选VRID发送至第四节点40,以尽快通知第四节点40自己已经认可该候选VRID。
需要说明的是,第一计算机集群包括第一节点10、第二节点20和第四节点40时,第一节点10会将候选VRID发送至第二节点20和第四节点40,第二节点20认可该候选VRID时会将该候选VRID发送至第四节点40,第四节点40首先响应第一节点10,然后响应第二节点20。在具体实现时,会采用请求链的方式,保证候选VRID不会在第一节点10、第二节点20和第四节点40之间无限循环的传递。
为了更清楚地说明第一节点10、第二节点20和第四节点40之间的交互,本发明实施例还提供了第一节点10、第二节点20和第四节点40的交互示意图,请参照图7,图7示出了本发明实施例提供的第一节点10、第二节点20和第四节点40的交互示意图,交互步骤如下:
步骤S1:第一节点10发送候选VRID至第二节点20。
步骤S2:第二节点20确定候选VRID的投票选举结果。
步骤S3:当第二节点20确定投票选举结果为通过时,向第一节点10发送通过投票选举的选举结果,同时向第四节点40发送候选VRID。
步骤S4:当第二节点20确定投票选举结果为未通过时,向第一节点10发送未通过投票选举的选举结果。
需要说明的是,图7只示意出了第一节点10发送候选VRID至第二节点20及第二节点20与第四节点40的主要交互步骤,事实上,第一节点10还会将该候选VRID发送至第四节点40,第四节点40还会与第二节点20进行交互,具体交互过程与图7类似,此处不再赘述。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种应用于第一节点的虚拟路由冗余协议配置装置的方框示意图的实现方式,请参看图8,图8示出了本发明实施例提供的应用于第一节点的虚拟路由冗余协议配置装置200的方框示意图。需要说明的是,本实施例所提供的应用于第一节点的虚拟路由冗余协议配置装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出,可参考上述实施例中的相应内容。
应用于第一节点的虚拟路由冗余协议配置装置200包括生成模块210、第一获取模块220、确定模块230、选举请求模块240、拦截模块250及冲突处理模块260。
生成模块210,用于获取第三节点发送的VRRP报文,其中,VRRP报文中携带有VRID;将VRID加入至第一VRID列表。
第一获取模块220,用于获取本地存储的第一VRID列表,其中,第一VRID列表包括第一节点所属的组播组中已用虚拟路由VRID。
确定模块230,用于将满足预设条件的数值确定为候选VRID,其中,候选VRID不在第一VRID列表中。
具体地,预设条件为预设范围内、且与所述已用VRID列表中所有VRID的平均值最接近的数值。
选举请求模块240,用于向第二节点发起针对候选VRID的投票选举,将选举通过的候选VRID确定为有效VRID,以依据有效VRID进行虚拟路由冗余协议VRRP通信。
具体地,选举请求模块240将候选VRID发送至第二节点;当接收到第二节点发送的投票选举通过的投票选举结果时,选举请求模块240将候选VRID确定为有效VRID。
具体地,当接收到第二节点发送的投票选举未通过的投票选举结果时,选举请求模块240将候选VRID加入至第一VRID列表中,并确定新的候选VRID、针对新的候选VRID重新发起投票选举,直至确定出有效VRID。
拦截模块250,用于当接收到第三节点发送的VRRP报文且所述VRRP报文中的VRID与所述有效VRID相同时,将VRRP报文丢弃。
冲突处理模块260,用于当接收到第三节点发送的VRRP报文且VRRP报文中的VRID与有效VRID相同时,确定新的候选VRID、针对新的候选VRID重新发起投票选举,以确定有效VRID。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种应用于第二节点的虚拟路由冗余协议配置装置的方框示意图的实现方式,请参看图9,图9示出了本发明实施例提供的应用于第二节点的虚拟路由冗余协议配置装置300的方框示意图。需要说明的是,本实施例所提供的应用于第二节点的虚拟路由冗余协议配置装置300,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出,可参考上述实施例中的相应内容。
应用于第二节点的虚拟路由冗余协议配置装置300包括接收模块310、第二获取模块320、选举响应模块330。
接收模块310,用于接收第一节点发送的候选VRID,其中,候选VRID为第一节点确定的、不在第一VRID列表中、且满足预设条件的VRID,第一VRID列表为第一节点存储的、包括第一节点所属的组播组中已使用的VRID。
第二获取模块320,用于获取本地存储的第二VRID列表。
选举响应模块330,用于依据第二VRID列表确定候选VRID的投票选举结果,并将投票选举结果发送至第一节点,以使第一节点将投票选举结果为选举通过的候选VRID确定为有效VRID、并使第一节点依据有效VRID进行VRRP通信。
具体地,当第二VRID列表中存在候选VRID时,选举响应模块330用于确定候选VRID的投票选举结果为未通过投票选举。当第二VRID列表中不存在候选VRID时,选举响应模块330用于确定候选VRID的投票选举结果为通过投票选举。
具体地,当第二VRID列表中不存在候选VRID时,选举响应模块330还用于向第四节点发送候选VRID。
本实施例提供一种计算机设备100,请参照图10,图10示出了本发明实施例提供的计算机设备100的方框示意图,计算机设备100包括存储器101、通信接口102、处理器103、总线104。存储器101、通信接口102和处理器103通过总线104连接,处理器103用于执行存储器101中存储的可执行模块,例如计算机程序。
其中,存储器101可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口102(可以是有线或者无线)实现该计算机设备100与其他计算机设备的通信连接。
总线104可以是ISA总线、PCI总线或EISA总线等。图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器103可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器103中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器103可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器101用于存储程序,处理器103在接收到执行指令后,执行程序以实现本发明上述实施例揭示的虚拟路由冗余协议配置方法。
计算机设备100可以是图1中的第一节点10,也可以是图1中的第二节点20。
当计算机设备100为图1中的第一节点10时,存储器101用于以程序的形式存储应用于第一节点的虚拟路由冗余协议配置装置200,当处理器103在接收到执行指令后,执行存储器101中的装置对应的程序,以实现本发明实施例揭示的应用于第一节点的虚拟路由冗余协议配置方法。
当计算机设备100为图1中的第二节点20时,存储器101用于以程序的形式存储应用于第二节点的虚拟路由冗余协议配置装置300,当处理器103在接收到执行指令后,执行存储器101中的装置对应的程序,以实现本发明实施例揭示的应用于第二节点的虚拟路由冗余协议配置方法。
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项应用于第一节点的所述的虚拟路由冗余协议配置方法,或者如前述实施方式中任一项应用于第二节点的所述的虚拟路由冗余协议配置方法。
综上所述,本发明实施例提供了一种虚拟路由冗余协议配置方法及相关装置,应用于第一计算机集群中的第一节点的虚拟路由冗余协议配置方法包括:获取本地存储的第一VRID列表,其中,第一VRID列表包括第一节点所属的组播组中已用虚拟路由VRID;将满足预设条件的数值确定为候选VRID,其中,候选VRID不在第一VRID列表中;向第二节点发起针对候选VRID的投票选举,将选举通过的候选VRID确定为有效VRID,以依据有效VRID进行虚拟路由冗余协议VRRP通信。本发明实施例可以自动生成有效VRID,提高了VRID配置的效率,避免了手动配置VRID容易出错的问题。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种虚拟路由冗余协议配置方法,其特征在于,应用于第一计算机集群中的第一节点,所述第一计算机集群还包括第二节点,所述第一节点与所述第二节点通信连接,所述第一计算机集群与第二计算机集群通信,所述第二计算机集群中存在已加入组播组的第三节点,所述方法包括:
获取所述第三节点发送的VRRP报文,其中,所述VRRP报文中携带有VRID;
将所述VRID加入至第一VRID列表;
获取本地存储的第一VRID列表,其中,所述第一VRID列表包括所述第一节点所属的所述组播组中已用虚拟路由VRID;
将在预设范围内、且与所述第一VRID列表中所有VRID的平均值最接近的数值确定为候选VRID,其中,所述候选VRID不在所述第一VRID列表中;
向所述第二节点发起针对所述候选VRID的投票选举,将选举通过的所述候选VRID确定为有效VRID,以依据所述有效VRID进行虚拟路由冗余协议VRRP通信;
当接收到所述第二节点发送的投票选举未通过的投票选举结果时,将所述候选VRID加入至所述第一VRID列表中,并确定新的候选VRID、针对所述新的候选VRID重新发起投票选举,直至确定出有效VRID。
2.如权利要求1所述的虚拟路由冗余协议配置方法,其特征在于,向所述第二节点发起针对所述候选VRID的投票选举,将投票选举通过的所述候选VRID确定为有效VRID的步骤包括:
将所述候选VRID发送至所述第二节点;
当接收到所述第二节点发送的投票选举通过的投票选举结果时,将所述候选VRID确定为所述有效VRID。
3.如权利要求1所述的虚拟路由冗余协议配置方法,其特征在于,所述方法还包括:
当接收到所述第三节点发送的VRRP报文且所述VRRP报文中的VRID与所述有效VRID相同时,将所述VRRP报文丢弃。
4.如权利要求1所述的虚拟路由冗余协议配置方法,其特征在于,所述方法还包括:
当接收到所述第三节点发送的VRRP报文且所述VRRP报文中的VRID与所述有效VRID相同时,确定新的候选VRID、针对所述新的候选VRID重新发起投票选举,以确定有效VRID。
5.一种虚拟路由冗余协议配置方法,其特征在于,应用于第一计算机集群中的第二节点,所述第一计算机集群还包括第一节点,所述第一节点与所述第二节点通信连接,所述第一计算机集群与第二计算机集群通信,所述第二计算机集群中存在已加入组播组的第三节点,所述方法包括:
接收所述第一节点发送的候选VRID,其中,所述候选VRID为所述第一节点确定的、不在第一VRID列表中、且在预设范围内、且与所述第一VRID列表中所有VRID的平均值最接近的VRID,所述第一VRID列表为所述第一节点存储的、包括所述第一节点所属的所述组播组中已使用的VRID,所述第一VRID列表的更新步骤为:获取所述第三节点发送的VRRP报文,其中,所述VRRP报文中携带有VRID;将所述VRID加入至所述第一VRID列表;
获取本地存储的第二VRID列表;
依据所述第二VRID列表确定所述候选VRID的投票选举结果,并将所述投票选举结果发送至所述第一节点,以使所述第一节点将所述投票选举结果为选举通过的所述候选VRID确定为有效VRID、并使所述第一节点依据所述有效VRID进行VRRP通信、以及使所述第一节点当接收到所述第二节点发送的投票选举未通过的投票选举结果时,将所述候选VRID加入至所述第一VRID列表中,并确定新的候选VRID、针对所述新的候选VRID重新发起投票选举,直至确定出有效VRID。
6.如权利要求5所述的虚拟路由冗余协议配置方法,其特征在于,所述依据所述第二VRID列表确定所述候选VRID的投票选举结果的步骤包括:
当所述第二VRID列表中存在所述候选VRID时,确定所述候选VRID的投票选举结果为未通过投票选举;
当所述第二VRID列表中不存在所述候选VRID时,确定所述候选VRID的投票选举结果为通过投票选举。
7.如权利要求5所述的虚拟路由冗余协议配置方法,其特征在于,所述第一计算机集群还包括第四节点,所述第四节点与所述第二节点通信连接,所述方法还包括:
当所述第二VRID列表中不存在所述候选VRID时,向所述第四节点发送所述候选VRID。
8.一种虚拟路由冗余协议配置装置,其特征在于,应用于第一计算机集群中的第一节点,所述第一计算机集群还包括第二节点,所述第一节点与所述第二节点通信连接,所述第一计算机集群与第二计算机集群通信,所述第二计算机集群中存在已加入组播组的第三节点,所述装置包括:
生成模块,用于获取所述第三节点发送的VRRP报文,其中,所述VRRP报文中携带有VRID、以及将所述VRID加入至第一VRID列表;
第一获取模块,用于获取本地存储的第一VRID列表,其中,所述第一VRID列表包括所述第一节点所属的所述组播组中已用虚拟路由VRID;
确定模块,用于将在预设范围内、且与所述第一VRID列表中所有VRID的平均值最接近的数值确定为候选VRID,其中,所述候选VRID不在所述第一VRID列表中;
选举请求模块,用于向所述第二节点发起针对所述候选VRID的投票选举,将选举通过的所述候选VRID确定为有效VRID,以依据所述有效VRID进行虚拟路由冗余协议VRRP通信、以及当接收到所述第二节点发送的投票选举未通过的投票选举结果时,将所述候选VRID加入至所述第一VRID列表中,并确定新的候选VRID、针对所述新的候选VRID重新发起投票选举,直至确定出有效VRID。
9.一种虚拟路由冗余协议配置装置,其特征在于,应用于第一计算机集群中的第二节点,所述第一计算机集群还包括第一节点,所述第一节点与所述第二节点通信连接,所述第一计算机集群与第二计算机集群通信,所述第二计算机集群中存在已加入组播组的第三节点,所述装置包括:
接收模块,用于接收所述第一节点发送的候选VRID,其中,所述候选VRID为所述第一节点确定的、不在第一VRID列表中、且在预设范围内、且与所述第一VRID列表中所有VRID的平均值最接近的VRID,所述第一VRID列表为所述第一节点存储的、包括所述第一节点所属的所述组播组中已使用的VRID,所述第一VRID列表的更新步骤为:获取所述第三节点发送的VRRP报文,其中,所述VRRP报文中携带有VRID;将所述VRID加入至所述第一VRID列表;
第二获取模块,用于获取本地存储的第二VRID列表;
选举响应模块,用于依据所述第二VRID列表确定所述候选VRID的投票选举结果,并将所述投票选举结果发送至所述第一节点,以使所述第一节点将所述投票选举结果为选举通过的所述候选VRID确定为有效VRID、并使所述第一节点依据所述有效VRID进行VRRP通信、以及使所述第一节点当接收到所述第二节点发送的投票选举未通过的投票选举结果时,将所述候选VRID加入至所述第一VRID列表中,并确定新的候选VRID、针对所述新的候选VRID重新发起投票选举,直至确定出有效VRID。
10.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-4中任一项所述的虚拟路由冗余协议配置方法,或者如权利要求5-7中任一项所述的虚拟路由冗余协议配置方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-4中任一项所述的虚拟路由冗余协议配置方法,或者如权利要求5-7中任一项所述的虚拟路由冗余协议配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010000486.4A CN111064662B (zh) | 2020-01-02 | 2020-01-02 | 虚拟路由冗余协议配置方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010000486.4A CN111064662B (zh) | 2020-01-02 | 2020-01-02 | 虚拟路由冗余协议配置方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111064662A CN111064662A (zh) | 2020-04-24 |
CN111064662B true CN111064662B (zh) | 2021-05-25 |
Family
ID=70306310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010000486.4A Active CN111064662B (zh) | 2020-01-02 | 2020-01-02 | 虚拟路由冗余协议配置方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111064662B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013135830A1 (en) * | 2012-03-14 | 2013-09-19 | Ruprecht-Karls-Universität Heidelberg | Epigenetic signatures as marker for cardiomyopathies and myocardial insufficiencies |
CN108029069A (zh) * | 2015-07-08 | 2018-05-11 | 联邦快递服务公司 | 与无线节点网络中的id节点相关的事件候选的事件监测 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139067B (zh) * | 2011-11-28 | 2015-08-05 | 百度在线网络技术(北京)有限公司 | 基于vrrp协议扩展虚拟路由器数量的方法、系统和装置 |
CN104468869B (zh) * | 2014-12-31 | 2018-04-06 | 新华三技术有限公司 | 为终端分配ip地址的方法、获取ip地址的方法及装置 |
CN106254087A (zh) * | 2015-06-12 | 2016-12-21 | 中兴通讯股份有限公司 | 一种检查vrrp配置的方法和装置 |
US10382329B1 (en) * | 2016-09-30 | 2019-08-13 | Juniper Networks, Inc. | Source MAC access controls in a virtual redundant router protocol environment |
CN110086862B (zh) * | 2019-04-19 | 2021-06-18 | 新华三信息安全技术有限公司 | 一种标识分配方法、装置、设备及存储介质 |
-
2020
- 2020-01-02 CN CN202010000486.4A patent/CN111064662B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013135830A1 (en) * | 2012-03-14 | 2013-09-19 | Ruprecht-Karls-Universität Heidelberg | Epigenetic signatures as marker for cardiomyopathies and myocardial insufficiencies |
CN108029069A (zh) * | 2015-07-08 | 2018-05-11 | 联邦快递服务公司 | 与无线节点网络中的id节点相关的事件候选的事件监测 |
Non-Patent Citations (2)
Title |
---|
《Cloud Data Center Network Construction》;LLC Cloud Strategy Partners;《IEEE》;20141231;全文 * |
《SHMC-OVX:一种基于OVX的集中式网络虚拟化平台》;罗成程;《中国优秀硕士学位论文全文数据库》;20170331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111064662A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9923984B2 (en) | Methods, systems, and computer readable media for remote authentication dial in user service (RADIUS) message loop detection and mitigation | |
CN110070445B (zh) | 一种基于区块链系统的交易处理方法及装置 | |
CN110971698B (zh) | 一种数据转发系统、方法及装置 | |
US11936551B2 (en) | BGP route identification method, apparatus, and device | |
JP7434504B2 (ja) | ルート処理方法およびネットワークデバイス | |
CN108965137B (zh) | 一种报文处理方法和装置 | |
CN106559246B (zh) | 集群的实现方法和服务器 | |
CN109889411B (zh) | 一种数据传输的方法及装置 | |
CN110430135B (zh) | 一种报文处理方法和装置 | |
CN109327544B (zh) | 一种领导节点的确定方法和装置 | |
TW201637417A (zh) | 一種保障動物園管理員系統快速完成領導者選舉的方法、裝置及系統 | |
WO2020173424A1 (zh) | 报文处理的方法和网关设备 | |
CN114143283A (zh) | 一种隧道自适应配置方法、装置,中心端设备及通信系统 | |
CN110581805A (zh) | 路由表更新方法、装置、交换机及存储介质 | |
CN111064662B (zh) | 虚拟路由冗余协议配置方法及相关装置 | |
CN109818869B (zh) | 组播流量转发端口的生成方法及相关设备 | |
CN105634944B (zh) | 路由环路确定方法及设备 | |
CN107547431B (zh) | 报文处理方法及装置 | |
CN112637053B (zh) | 路由的备份转发路径的确定方法及装置 | |
CN111404827B (zh) | 一种数据包处理方法、装置及电子设备和存储介质 | |
EP3160104B1 (en) | Method and device for generating bgp logical topology | |
CN116806010A (zh) | 报文传输方法及通信装置 | |
CN112769686B (zh) | 一种智能物联网关及数据传输方法 | |
CN107968720B (zh) | 一种信息传输方法及云系统、组件 | |
CN113992566B (zh) | 一种报文广播方法及装置 |
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 |