本技术涉及通信,尤其涉及一种通信恢复方法以及相关装置。
背景技术:
1、跨设备链路聚合组(multi-chassis link aggregation group,m-lag)是链路聚合组(link aggregation group,lag)的一种扩展,被广泛应用于跨设备的可靠性保护场景。具体的,m-lag主要应用于普通以太网络、多链接透明互联(transparentinterconnection of lots of links,trill)网络、虚拟可扩展局域网(virtualextensible local area network,vxlan)和互联网协议(internet protocol,ip)网络等网络的双规接入。一方面可以起到负载分担流量的作用,另一方面可以起到备份保护的作用。如图1所示,图1为跨设备链路聚合组的一种组网场景示意图。服务器(或者其他设备,例如交换机或者防火墙等)采用双规接入的方式接入到网络中。在接入侧,采用m-lag保证了设备级可靠性和链路级可靠性。在主(master)设备和备用(backup)设备之间部署m-lag,主(master)设备和备用(backup)设备之间通过互连链路(peer link)建立连接。上述主设备和备用设备也可以称为m-lag设备。
2、监控链路(monitor link)是一种实现倒换的技术,monitor link技术具体通过监控通信设备的上行(uplink)端口,根据上行端口的连接(up)状态或者上行端口的断开(down)状态的变化,来同步下行端口的连接(up)状态或者下行端口的断开(down)状态的变化,从而触发下游设备(例如通信设备下挂的服务器)进行链路的切换。通信设备中相互配合工作的上行端口和下行端口组成一个监控链路组。具体的,每个监控链路组独立进行上行端口的监控和下行端口的链路。当监控链路组中所有的上行端口处于断开状态或者该监控链路组中不包括上行端口时,该监控链路组中所有的下行端口强制设置为断开状态。当监控链路组中任一个上行端口从断开状态恢复为连接状态,该监控链路组的状态恢复为连接状态,该监控链路组中所有的下行端口的状态恢复为连接状态。
3、在m-lag组网中,为了避免流量中断或者流量绕行互联链路导致丢包,通常在m-lag设备上配置监控链路功能。以主设备的上行端口故障为例,该上行端口的故障触发上行端口切换为断开状态,该上行端口属于某个监控链路组。联动该处于断开状态的上行端口,在该监控链路组中的下行端口切换为断开状态。该m-lag设备(主设备)下挂的其他设备(包括但不限于服务器、交换机或者防火墙)将流量转发至另一台m-lag设备(备用设备)。当该故障的上行端口恢复正常,该上行端口由断开状态切换为连接状态。联动该恢复为连接状态的上行端口,监控链路组中的下行端口由断开状态切换为连接状态。当下行端口切换为连接状态时,该下行端口下挂的其他设备与备用设备之间的连接断开,流量经由该下行端口传输至主设备。
4、在下行端口从断开状态切换为连接状态的过程中,需要由备用设备下发业务表项,该下行端口配置完成该业务表项后,才能传输流量。随着通信需求的增长,监控端口组包括下行端口的数量较大。当监控端口组包括的多个下行端口联动上行端口从断开状态切换为连接状态,下行端口需要下发并配置完成业务表项后才能传输流量。而监控端口组包括的多个下行端口完成配置业务表项的时间较长,造成较长的业务中断,影响正常通信。
技术实现思路
1、第一方面,本技术实施例提出一种通信恢复方法,方法应用于第一通信装置,方法包括:响应于第一通信装置的上行端口恢复连接状态,下行端口组包括的第一下行端口由断开状态恢复为连接状态,下行端口组除第一下行端口外其他的下行端口处于断开状态,上行端口与下行端口组包括的下行端口组成监控链路monitor link组;根据第一业务表项,同步第一下行端口的业务表项,第一业务表项与第一下行端口对应;步骤一:等待时间间隔,下行端口组包括的第二下行端口由断开状态恢复为连接状态,下行端口组除第一下行端口和第二下行端口外其他的下行端口处于断开状态;步骤二:根据第二业务表项,同步第二下行端口的业务表项,第二业务表项与第二下行端口对应;重复执行步骤一和步骤二,直至下行端口组包括的所有下行端口恢复为连接状态并同步完成业务表项。
2、本技术实施例中,通过设置时间间隔,实现下行端口逐个恢复为连接状态。在恢复的过程中,下行端口组的其他下行端口保持断开状态,保证需要流经第一通信装置的流量依然可以通过备用设备(例如第二通信装置)传输,保证业务的平滑切换。
3、在第一方面的一种可能实现方式中,业务表项包括以下任意一项或多项:媒体访问控制mac表项、地址解析协议arp表项,或者邻居发现协议nd表项。
4、本技术实施例对业务表项的类型不作限制,示例性的,本技术实施例中业务表项包括以下一项或多项:媒体访问控制mac表项、地址解析协议arp表项、邻居发现协议nd表项、转发信息表(forwarding information base,fib)、二层的转发表、三层的转发表,组播的转发表项,或者,转发端口的属性信息等。提升了方案的实现灵活性。
5、在第一方面的一种可能实现方式中,时间间隔大于或等于第二下行端口同步完毕业务表项所需要的时间。例如第二下行端口同步完毕业务表项需要3秒,则该时间间隔为大于或等于3秒,例如时间间隔设置为10秒。通过上述方法,保证等待时间间隔后,第一下行端口(或者前一个由断开状态恢复为连接状态的下行端口)可以同步完毕业务表项。
6、在第一方面的一种可能实现方式中,获取下行端口组中下行端口的最大同步用时,最大同步用时为下行端口组包括的多个下行端口的同步用时中最大的同步用时,同步用时为下行端口同步完毕业务表项的用时;根据下行端口的最大同步用时,确定时间间隔,时间间隔大于或等于下行端口的最大同步用时。
7、例如,下行端口组1包括端口1、端口2和端口3,其中,端口1的同步用时为5秒,端口2的同步用时为8秒,端口3的同步用时为4秒。则下行端口组1的最大同步用时为8秒。然后,第一通信装置根据该下行端口的最大同步用时,确定时间间隔,该时间间隔大于或等于下行端口的最大同步用时。以下行端口组1为例,则确定的时间间隔大于或等于8秒。
8、在第一方面的一种可能实现方式中,获取下行端口组中下行端口的最大同步用时,包括:获取下行端口组中任意多个下行端口的业务表项数量;根据多个下行端口的业务表项数量,确定单个下行端口的最大业务表项数量;根据下行端口的最大业务表项数量,以及,第一通信装置同步业务表项的速率,确定最大同步用时。
9、具体的,第一通信装置获取下行端口组中任意多个下行端口的业务表项数量。例如,获取下行端口组1中端口1的业务表项、端口2的业务表项和端口3的业务表项,其中,端口1的业务表项为100个,端口2的业务表项为180个,端口3的业务表项为70个。然后,第一通信装置根据多个下行端口的业务表项数量,确定单个下行端口的最大业务表项数量。例如上述下行端口组1中,单个下行端口的最大业务表项数量为180个(即端口3的业务表项数量)。然后,第一通信装置根据下行端口的最大业务表现数量,以及,第一通信装置同步业务表项的速率,确定最大同步用时。具体的,由下行端口的最大业务表项数量除以第一通信装置同步业务表项的速率,得到最大同步用时。
10、在第一方面的一种可能实现方式中,第一通信装置同步业务表项的速率,包括以下任意一项或多项:第一通信装置学习业务表项的速率,第一通信装置与第二通信装置之间业务列表的传输速率,或,第一通信装置配置下行端口的业务表项的配置速率,第二通信装置和第一通信装置为双活通信装置。
11、具体的,第一通信装置学习业务表项的速率指的是第一通信装置从其他通信装置学习业务表项的速率;第一通信装置与第二通信装置之间业务表项的传输速率,指的是第一通信装置与第二通信装置之间peer link的传输业务表项的速率;第一通信装置配置下行端口的业务表项的配置速率,指的是第一通信装置向内部芯片下发业务表项的速率,该内部芯片与下行端口对应。
12、在第一方面的一种可能实现方式中,获取下行端口组中下行端口的最大同步用时,包括:统计第一时间段内下行端口组中任意一个或多个下行端口的同步用时,确定统计结果,统计结果包括第一时间段内的多个同步用时;根据统计结果,确定最大同步用时。
13、具体的,第一通信装置还可以统计第一时间段内下行端口组中任意一个或多个下行端口的同步用时,确定统计结果,统计结果包括第一时间段内的多个同步用时。然后,根据统计结果,确定最大同步用时。可选的,可以将统计结果适当放大,得到最大同步用时。例如,统计结果中最大用时为3秒,则确定最大同步用时为10秒。保证在时间间隔内,可成功同步业务表项。
14、在第一方面的一种可能实现方式中,根据第一业务表项,同步第一下行端口的业务表项,包括:接收第二通信装置发送的第一业务表项,第一业务表项为第二通信装置响应于第一下行端口由断开状态恢复为连接状态下发的业务表项,第二通信装置和第一通信装置为双活通信装置;根据第一业务表项配置第一下行端口。
15、在第一方面的一种可能实现方式中,根据第一业务表项,同步第一下行端口的业务表项,包括:从第三通信装置学习第一业务表项,第三通信装置为第一通信装置的下游通信装置;根据第一业务表项配置第一下行端口。
16、在第一方面的一种可能实现方式中,根据第二业务表项,同步第二下行端口的业务表项,包括:第一通信装置接收第二通信装置发送的第二业务表项,第二业务表项为第二通信装置响应于第二下行端口由断开状态恢复为连接状态下发的业务表项;第一通信装置根据第二业务表项配置第二下行端口。
17、在第一方面的一种可能实现方式中,根据第二业务表项,同步第一下行端口的业务表项,包括:从第三通信装置学习第二业务表项,第三通信装置为第一通信装置的下游通信装置;根据第二业务表项配置第二下行端口。
18、第二方面,本技术实施例提出一种通信恢复方法,方法应用于第一通信装置,方法包括:响应于第一通信装置的上行端口恢复连接状态,下行端口组包括的第一下行端口由断开状态恢复为连接状态,下行端口组除第一下行端口外其他的下行端口处于断开状态,上行端口与下行端口组包括的下行端口组成监控链路monitor link组;根据第一业务表项,同步第一下行端口的业务表项,第一业务表项与第一下行端口对应;步骤一:响应于第一下行端口同步完成业务表项,下行端口组包括的第二下行端口由断开状态恢复为连接状态,下行端口组除第一下行端口和第二下行端口外其他的下行端口处于断开状态;步骤二:根据第二业务表项,同步第二下行端口的业务表项,第二业务表项与第二下行端口对应;重复执行步骤一和步骤二,直至下行端口组包括的所有下行端口恢复为连接状态并同步完成业务表项。
19、本技术实施例中,通过检测业务列表是否同步完毕,实现下行端口逐个恢复为连接状态。在恢复的过程中,下行端口组的其他下行端口保持断开状态,保证需要流经第一通信装置的流量依然可以通过备用设备(例如第二通信装置)传输,保证业务的平滑切换。
20、在第二方面的一种可能实现方式中,业务表项包括以下任意一项或多项:媒体访问控制mac表项、地址解析协议arp表项,或者邻居发现协议nd表项。
21、本技术实施例对业务表项的类型不作限制,示例性的,本技术实施例中业务表项包括以下一项或多项:媒体访问控制mac表项、地址解析协议arp表项、邻居发现协议nd表项、转发信息表(forwarding information base,fib)、二层的转发表、三层的转发表,组播的转发表项,或者,转发端口的属性信息等。提升了方案的实现灵活性。
22、在第二方面的一种可能实现方式中,响应于第一下行端口同步完成业务表项,下行端口组包括的第二下行端口由断开状态恢复为连接状态,包括:接收第二通信装置的指令,指令指示第一业务表项已发送至第一通信装置,第二通信装置和第一通信装置为双活通信装置;响应于指令和第一通信装置已配置完成第一业务表项,下行端口组包括的第二下行端口由断开状态恢复为连接状态。
23、在第二方面的一种可能实现方式中,响应于第一下行端口同步完成业务表项,下行端口组包括的第二下行端口由断开状态恢复为连接状态,包括:响应于第一通信装置已配置完成第一业务表项,下行端口组包括的第二下行端口由断开状态恢复为连接状态。
24、在第二方面的一种可能实现方式中,根据第一业务表项,同步第一下行端口的业务表项,包括:接收第二通信装置发送的第一业务表项,第一业务表项为第二通信装置响应于第一下行端口由断开状态恢复为连接状态下发的业务表项,第二通信装置和第一通信装置为双活通信装置;根据第一业务表项配置第一下行端口。
25、在第二方面的一种可能实现方式中,根据第一业务表项,同步第一下行端口的业务表项,包括:从第三通信装置学习第一业务表项,第三通信装置为第一通信装置的下游通信装置;根据第一业务表项配置第一下行端口。
26、在第二方面的一种可能实现方式中,根据第二业务表项,同步第二下行端口的业务表项,包括:第一通信装置接收第二通信装置发送的第二业务表项,第二业务表项为第二通信装置响应于第二下行端口由断开状态恢复为连接状态下发的业务表项;第一通信装置根据第二业务表项配置第二下行端口。
27、在第二方面的一种可能实现方式中,根据第二业务表项,同步第一下行端口的业务表项,包括:从第三通信装置学习第二业务表项,第三通信装置为第一通信装置的下游通信装置;根据第二业务表项配置第二下行端口。
28、第三方面,本技术实施例提出一种通信装置,通信装置应用于第一通信装置,通信装置包括收发模块和处理模块:
29、处理模块,用于响应于第一通信装置的上行端口恢复连接状态,下行端口组包括的第一下行端口由断开状态恢复为连接状态,下行端口组除第一下行端口外其他的下行端口处于断开状态,上行端口与下行端口组包括的下行端口组成监控链路monitor link组;
30、处理模块,还用于根据第一业务表项,同步第一下行端口的业务表项,第一业务表项与第一下行端口对应;
31、处理模块,还用于步骤一:等待时间间隔,下行端口组包括的第二下行端口由断开状态恢复为连接状态,下行端口组除第一下行端口和第二下行端口外其他的下行端口处于断开状态;
32、处理模块,还用于步骤二:根据第二业务表项,同步第二下行端口的业务表项,第二业务表项与第二下行端口对应;
33、处理模块,还用于重复执行步骤一和步骤二,直至下行端口组包括的所有下行端口恢复为连接状态并同步完成业务表项。
34、一种可能的实现方式中,业务表项包括以下任意一项或多项:媒体访问控制mac表项、地址解析协议arp表项,或者邻居发现协议nd表项。
35、一种可能的实现方式中,时间间隔大于或等于第二下行端口同步完毕业务表项所需要的时间。
36、一种可能的实现方式中,处理模块,还用于获取下行端口组中下行端口的最大同步用时,最大同步用时为下行端口组包括的多个下行端口的同步用时中最大的同步用时,同步用时为下行端口同步完毕业务表项的用时;
37、处理模块,还用于根据下行端口的最大同步用时,确定时间间隔,时间间隔大于或等于下行端口的最大同步用时。
38、一种可能的实现方式中,处理模块,还用于获取下行端口组中任意多个下行端口的业务表项数量;
39、处理模块,还用于根据多个下行端口的业务表项数量,确定单个下行端口的最大业务表项数量;
40、处理模块,还用于根据下行端口的最大业务表项数量,以及,第一通信装置同步业务表项的速率,确定最大同步用时。
41、一种可能的实现方式中,第一通信装置同步业务表项的速率,包括以下任意一项或多项:
42、第一通信装置学习业务表项的速率,第一通信装置与第二通信装置之间业务列表的传输速率,或,第一通信装置配置下行端口的业务表项的配置速率,第二通信装置和第一通信装置为双活通信装置。
43、一种可能的实现方式中,处理模块,还用于统计第一时间段内下行端口组中任意一个或多个下行端口的同步用时,确定统计结果,统计结果包括第一时间段内的多个同步用时;
44、处理模块,还用于根据统计结果,确定最大同步用时。
45、一种可能的实现方式中,收发模块,还用于接收第二通信装置发送的第一业务表项,第一业务表项为第二通信装置响应于第一下行端口由断开状态恢复为连接状态下发的业务表项,第二通信装置和第一通信装置为双活通信装置;
46、处理模块,还用于根据第一业务表项配置第一下行端口。
47、一种可能的实现方式中,收发模块,还用于从第三通信装置学习第一业务表项,第三通信装置为第一通信装置的下游通信装置;
48、处理模块,还用于根据第一业务表项配置第一下行端口。
49、一种可能的实现方式中,收发模块,还用于接收第二通信装置发送的第二业务表项,第二业务表项为第二通信装置响应于第二下行端口由断开状态恢复为连接状态下发的业务表项;
50、处理模块,还用于根据第二业务表项配置第二下行端口。
51、一种可能的实现方式中,收发模块,还用于从第三通信装置学习第二业务表项,第三通信装置为第一通信装置的下游通信装置;
52、处理模块,还用于根据第二业务表项配置第二下行端口。
53、第四方面,本技术实施例提出一种通信装置,通信装置应用于第一通信装置,通信装置包括:收发模块和处理模块;
54、处理模块,用于响应于第一通信装置的上行端口恢复连接状态,下行端口组包括的第一下行端口由断开状态恢复为连接状态,下行端口组除第一下行端口外其他的下行端口处于断开状态,上行端口与下行端口组包括的下行端口组成监控链路monitor link组;
55、处理模块,还用于根据第一业务表项,同步第一下行端口的业务表项,第一业务表项与第一下行端口对应;
56、处理模块,还用于步骤一:响应于第一下行端口同步完成业务表项,下行端口组包括的第二下行端口由断开状态恢复为连接状态,下行端口组除第一下行端口和第二下行端口外其他的下行端口处于断开状态;
57、处理模块,还用于步骤二:根据第二业务表项,同步第二下行端口的业务表项,第二业务表项与第二下行端口对应;
58、处理模块,还用于重复执行步骤一和步骤二,直至下行端口组包括的所有下行端口恢复为连接状态并同步完成业务表项。
59、在一种可能的实现方式中,业务表项包括以下任意一项或多项:媒体访问控制mac表项、地址解析协议arp表项,或者邻居发现协议nd表项。
60、在一种可能的实现方式中,
61、收发模块,用于接收第二通信装置的指令,指令指示第一业务表项已发送至第一通信装置,第二通信装置和第一通信装置为双活通信装置;
62、处理模块,还用于响应于指令和第一通信装置已配置完成第一业务表项,下行端口组包括的第二下行端口由断开状态恢复为连接状态。
63、在一种可能的实现方式中,处理模块,还用于响应于第一通信装置已配置完成第一业务表项,下行端口组包括的第二下行端口由断开状态恢复为连接状态。
64、在一种可能的实现方式中,收发模块,还用于接收第二通信装置发送的第一业务表项,第一业务表项为第二通信装置响应于第一下行端口由断开状态恢复为连接状态下发的业务表项,第二通信装置和第一通信装置为双活通信装置;
65、处理模块,还用于根据第一业务表项配置第一下行端口。
66、在一种可能的实现方式中,收发模块,还用于从第三通信装置学习第一业务表项,第三通信装置为第一通信装置的下游通信装置;
67、处理模块,还用于根据第一业务表项配置第一下行端口。
68、在一种可能的实现方式中,收发模块,还用于接收第二通信装置发送的第二业务表项,第二业务表项为第二通信装置响应于第二下行端口由断开状态恢复为连接状态下发的业务表项;
69、处理模块,还用于根据第二业务表项配置第二下行端口。
70、在一种可能的实现方式中,收发模块,还用于从第三通信装置学习第二业务表项,第三通信装置为第一通信装置的下游通信装置;
71、处理模块,还用于根据第二业务表项配置第二下行端口。
72、第五方面,提供了一种通信系统,通信系统包括如第三方面或第四方面的通信装置。
73、本技术第六方面提供一种计算机存储介质,该计算机存储介质可以是非易失性的;该计算机存储介质中存储有计算机可读指令,当该计算机可读指令被处理器执行时实现第一方面或第二方面中任意一种实现方式中的方法。
74、本技术第七方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第二方面中任意一种实现方式中的方法。
75、本技术第八方面提供一种芯片系统,该芯片系统包括处理器和接口电路,用于支持网络设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,芯片系统还包括存储器,存储器,用于保存网络设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
76、本技术第九方面提供一种通信装置,包括:通信接口;
77、与通信接口连接的处理器,基于通信接口和处理器,使得通信装置执行如前述第一方面或第二方面中的方法。
1.一种通信恢复方法,其特征在于,所述方法应用于第一通信装置,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述业务表项包括以下任意一项或多项:媒体访问控制mac表项、地址解析协议arp表项,或者邻居发现协议nd表项。
3.根据权利要求1或2所述的方法,其特征在于,所述时间间隔大于或等于所述第二下行端口同步完毕业务表项所需要的时间。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,获取所述下行端口组中下行端口的所述最大同步用时,包括:
6.根据权利要求5所述的方法,其特征在于,所述第一通信装置同步业务表项的速率,包括以下任意一项或多项:
7.根据权利要求4所述的方法,其特征在于,获取所述下行端口组中下行端口的所述最大同步用时,包括:
8.根据权利要求1-7中任一项所述的方法,其特征在于,根据所述第一业务表项,同步所述第一下行端口的业务表项,包括:
9.根据权利要求1-7中任一项所述的方法,其特征在于,根据所述第一业务表项,同步所述第一下行端口的业务表项,包括:
10.根据权利要求1-9中任一项所述的方法,其特征在于,根据所述第二业务表项,同步所述第二下行端口的业务表项,包括:
11.根据权利要求1-9中任一项所述的方法,其特征在于,根据所述第二业务表项,同步所述第一下行端口的业务表项,包括:
12.一种通信装置,其特征在于,所述通信装置应用于第一通信装置,所述通信装置包括收发模块和处理模块:
13.根据权利要求12所述的通信装置,其特征在于,所述业务表项包括以下任意一项或多项:媒体访问控制mac表项、地址解析协议arp表项,或者邻居发现协议nd表项。
14.根据权利要求12或13所述的通信装置,其特征在于,所述时间间隔大于或等于所述第二下行端口同步完毕业务表项所需要的时间。
15.根据权利要求12-14中任一项所述的通信装置,其特征在于,
16.根据权利要求15所述的通信装置,其特征在于,
17.根据权利要求16所述的通信装置,其特征在于,所述第一通信装置同步业务表项的速率,包括以下任意一项或多项:
18.根据权利要求15所述的通信装置,其特征在于,
19.根据权利要求12-18中任一项所述的通信装置,其特征在于,
20.根据权利要求12-19中任一项所述的通信装置,其特征在于,
21.根据权利要求12-20中任一项所述的通信装置,其特征在于,
22.根据权利要求12-21中任一项所述的通信装置,其特征在于,
23.一种通信装置,其特征在于,包括:
24.一种通信系统,其特征在于,所述通信系统包括通信装置,所述通信装置用于执行权利要求1-11任一项所述的方法。
25.一种计算机可读存储介质,包括指令,其特征在于,当所述指令被处理器执行时,实现权利要求1-11任一项所述的方法。
26.一种计算机程序产品,包括程序,其特征在于,当所述程序被处理器执行时,实现权利要求1-11任一项所述的方法。