《一种通信故障的检测方法、装置及系统.pdf》由会员分享,可在线阅读,更多相关《一种通信故障的检测方法、装置及系统.pdf(34页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104219107A43申请公布日20141217CN104219107A21申请号201410425003X22申请日20140826H04L12/26200601H04L12/2420060171申请人华为技术有限公司地址518129广东省深圳市龙岗区坂田华为总部办公楼72发明人张小东田彦峰孙名逊74专利代理机构北京中博世达专利商标代理有限公司11274代理人申健54发明名称一种通信故障的检测方法、装置及系统57摘要本发明的实施例提供一种通信故障的检测方法、装置及系统,涉及通信领域,解决了现有技术中LAG无法检测到发生异常操作的故障端口的问题,避免了使用故障端口传输数据的。
2、风险。该方案包括检测设备分别获取X个服务器内N个端口的探测结果,所述探测结果包括每个端口根据接收到的其他端口发送的探测消息,确定的所述其它端口的错包数据和丢包数据;所述检测设备根据所述每个端口确定的所述其它端口的错包数据和丢包数据,确定第一端口的状态,所述第一端口的状态用于指示所述第一端口是否有故障;所述检测设备根据所述第一端口的状态,生成所述第一端口的故障通知。51INTCL权利要求书4页说明书25页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书4页说明书25页附图4页10申请公布号CN104219107ACN104219107A1/4页21一种通信故障的检测方法,其特征。
3、在于,包括检测设备分别获取X个服务器内N个端口的探测结果,所述探测结果包括每个端口根据接收到的其他端口发送的探测消息,确定的所述其它端口的错包数据和丢包数据,N2,X2;所述检测设备根据所述每个端口确定的所述其它端口的错包数据和丢包数据,确定第一端口的状态,所述第一端口的状态用于指示所述第一端口是否有故障;所述检测设备根据所述第一端口的状态,生成所述第一端口的故障通知。2根据权利要求1所述的方法,其特征在于,所述检测设备根据所述每个端口确定的所述其它端口的错包数据和丢包数据,确定第一端口的状态,包括所述检测设备根据所述探测结果分别计算所述N个端口之间互相发送所述检测消息的丢包率;所述检测设备根。
4、据所述N个端口之间互相发送所述检测消息的丢包率确定所述第一端口是否有故障。3根据权利要求2所述的方法,其特征在于,所述检测设备根据所述探测结果分别计算所述N个端口之间互相发送所述检测消息的丢包率,包括所述检测设备将所述探测结果中的错包数据按照第一预置函数折算为相对丢包数据;所述检测设备根据所述相对丢包数据和所述探测结果中的丢包数据,按照第二预置函数分别计算所述N个端口之间互相发送所述检测消息的丢包率。4根据权利要求2所述的方法,其特征在于,所述检测设备根据所述N个端口之间互相发送所述检测消息的丢包率确定所述第一端口是否有故障,包括在所述N个端口中,若有至少N/2个端口发送所述检测消息到所述第一。
5、端口的丢包率大于第一预设值,且所述至少N/2个端口之间发送所述检测消息的丢包率小于第二预设值,所述检测设备则确定所述第一端口有故障;否则,所述检测设备则确定所述第一端口没有故障。5根据权利要求1至4中任一项所述的方法,其特征在于,所述故障通知包含第一故障通知,所述第一故障通知用于指示所述第一端口有故障,其中,生成所述第一端口的故障通知,包括所述检测设备生成所述第一端口的所述第一故障通知,以使得服务器获取所述第一故障通知后,将所述第一端口从链路聚合组LAG中移除。6根据权利要求5所述的方法,其特征在于,所述故障通知包含第二故障通知,所述第二故障通知用于指示所述X个服务器内的N个端口均有故障,其中。
6、,生成所述第一端口的故障通知,包括所述检测设备生成所述第一端口的所述第二故障通知,以使得所述服务器获取所述第二故障通知,并调用分布式资源调度程序DRS对所述服务器内运行的虚拟机进行虚拟机热迁移。7根据权利要求1至6中任一项所述的方法,其特征在于,所述N个端口为所述X个服务器内的物理端口,或者,为所述X个服务器内运行的虚拟机中的虚拟端口。8一种通信故障的检测方法,其特征在于,包括权利要求书CN104219107A2/4页3服务器通过第一端口接收来自其他服务器内N1个端口的探测消息,所述探测消息用于确定所述N1个端口的错包数据和丢包数据,N2;所述服务器根据所述探测消息生成探测结果,所述探测结果包。
7、括所述N1个端口发送所述探测消息到所述第一端口的丢包数据和错包数据;所述服务器根据所述探测结果获取检测设备发送的故障通知,所述故障通知用于指示所述第一端口是否有故障。9根据权利要求8所述的方法,其特征在于,所述第一端口为所述服务器内的物理端口,或者,为所述服务器内运行的虚拟机中的虚拟端口,其中,在服务器根据所述探测结果获取检测设备发送的故障通知之后,还包括若所述第一端口为所述服务器内的物理端口,且所述第一端口有故障,所述服务器则根据所述故障通知将所述第一端口从链路聚合组LAG中移除;若所述第一端口为所述服务器内运行的虚拟机中的虚拟端口,且所述第一端口有故障,所述服务器则根据所述故障通知对所述第。
8、一端口对应的虚拟机进行虚拟机热迁移。10根据权利要求8所述的方法,其特征在于,在服务器根据所述探测结果获取检测设备发送的故障通知之后,还包括若所述第一端口没有故障,所述服务器则查询所述第一端口是否在所述LAG中;若所述第一端口不在所述LAG中,所述服务器则将所述第一端口添加至所述LAG中,以便通过所述第一端口进行数据收发。11根据权利要求8所述的方法,其特征在于,服务器根据所述探测消息生成探测结果,包括所述服务器根据在预置时间内接收到的所述探测消息的个数,计算所述N1个端口到所述第一端口的丢包数据;所述服务器根据在所述预置时间内接收到的探测消息分析所述探测消息是否是错包,以统计所述N1个端口到。
9、所述第一端口的错包数据;所述服务器根据所述丢包数据和所述错包数据,生成所述探测结果。12根据权利要求8所述的方法,其特征在于,所述方法还包括所述服务器分别获取所述N1个端口的介质访问控制MAC地址;所述服务器根据所述MAC地址构造所述探测消息;所述服务器根据所述N1个端口的MAC地址,通过所述第一端口将所述探测消息发送至所述N1个端口。13一种检测设备,其特征在于,包括获取单元,用于分别获取X个服务器内N个端口的探测结果,所述探测结果包括每个端口根据接收到的其他端口发送的探测消息,确定的所述其它端口的错包数据和丢包数据,N2,X2;确定单元,用于根据所述获取单元中每个端口确定的所述其它端口的错。
10、包数据和丢包数据,确定第一端口的状态,所述第一端口的状态用于指示所述第一端口是否有故障,所述第一端口为所述N个端口中的一个;处理单元,用于根据所述确定单元中所述第一端口的状态,生成所述第一端口的故障通知。权利要求书CN104219107A3/4页414根据权利要求13所述的检测设备,其特征在于,所述确定单元包括计算子单元,其中,所述计算子单元,用于根据所述探测结果分别计算所述N个端口之间互相发送所述检测消息的丢包率;所述确定单元,具体用于根据所述计算子单元中的N个端口之间互相发送所述检测消息的丢包率确定所述第一端口是否有故障。15根据权利要求14所述的检测设备,其特征在于,所述计算子单元,具体。
11、用于将所述探测结果中的错包数据按照第一预置函数折算为相对丢包数据;以及根据所述相对丢包数据和所述探测结果中的丢包数据,按照第二预置函数分别计算所述N个端口之间互相发送所述检测消息的丢包率。16根据权利要求14所述的检测设备,其特征在于,所述确定单元,具体用于在所述N个端口中,若有至少N/2个端口发送所述检测消息到所述第一端口的丢包率大于第一预设值,且所述至少N/2个端口之间发送所述检测消息的丢包率小于第二预设值,则确定所述第一端口有故障;否则,则确定所述第一端口没有故障。17根据权利要求13至16中任一项所述的检测设备,其特征在于,所述处理单元,具体用于生成所述第一端口的所述第一故障通知,以使。
12、得服务器获取所述第一故障通知后,将所述第一端口从链路聚合组LAG中移除;其中,所述故障通知包含第一故障通知,所述第一故障通知用于指示所述第一端口有故障。18根据权利要求17所述的检测设备,其特征在于,所述处理单元,具体用于生成所述第一端口的所述第二故障通知,以使得所述服务器获取所述第二故障通知,并调用分布式资源调度程序DRS对所述服务器内运行的虚拟机进行虚拟机热迁移;其中,所述故障通知包含第二故障通知,所述第二故障通知用于指示所述X个服务器内的N个端口均有故障。19根据权利要求13至18中任一项所述的检测设备,其特征在于,所述N个端口为所述X个服务器内的物理端口,或者,为所述X个服务器内运行的。
13、虚拟机中的虚拟端口。20一种服务器,其特征在于,包括接收单元,用于通过第一端口接收来自其他服务器内N1个端口的探测消息,所述探测消息用于确定所述N1个端口的错包数据和丢包数据,N2;处理单元,用于根据所述接收单元的探测消息生成探测结果,所述探测结果包括所述N1个端口发送所述探测消息到所述第一端口的丢包数据和错包数据;获取单元,用于根据所述处理单元的探测结果获取检测设备发送的故障通知,所述故障通知用于指示所述第一端口是否有故障。21根据权利要求20所述的服务器,其特征在于,所述第一端口为所述服务器内的物理端口,或者,为所述服务器内运行的虚拟机中的虚拟端口,其中,所述服务器还包括移除单元和迁移单元。
14、,所述移除单元,用于若所述获取单元中所述第一端口为所述服务器内的物理端口,且权利要求书CN104219107A4/4页5所述第一端口有故障,则根据所述获取单元中的故障通知将所述第一端口从链路聚合组LAG中移除;所述迁移单元,用于若所述获取单元中所述第一端口为所述服务器内运行的虚拟机中的虚拟端口,且所述第一端口有故障,则根据所述获取单元中的故障通知对所述第一端口对应的虚拟机进行虚拟机热迁移。22根据权利要求20所述的服务器,其特征在于,所述处理单元,还用于若所述获取单元中所述第一端口没有故障,则查询所述第一端口是否在所述LAG中;以及若所述第一端口不在所述LAG中,则将所述第一端口添加至所述LA。
15、G中,以便通过所述第一端口进行数据收发。23根据权利要求20所述的服务器,其特征在于,所述处理单元,具体用于根据在预置时间内接收到的所述接收单元中的探测消息的个数,计算所述N1个端口到所述第一端口的丢包数据;并根据在所述预置时间内接收到的所述接收单元中的探测消息分析所述探测消息是否是错包,以统计所述N1个端口到所述第一端口的错包数据;以及根据所述丢包数据和所述错包数据,生成所述探测结果。24根据权利要求20所述的服务器,其特征在于,所述服务器还包括发送单元,所述获取单元,还用于分别获取所述N1个端口的介质访问控制MAC地址;所述处理单元,还用于根据所述获取单元中的MAC地址构造所述探测消息;所。
16、述发送单元,用于根据所述获取单元中N1个端口的MAC地址,通过所述第一端口将所述处理单元中的探测消息发送至所述N1个端口。25一种通信故障的检测系统,其特征在于,所述检测系统包括如权利要求13至19中任一项所述的检测设备,以及与所述检测设备相连接的如权利要求20至24中任一项所述的服务器。权利要求书CN104219107A1/25页6一种通信故障的检测方法、装置及系统技术领域0001本发明涉及通信领域,尤其涉及一种通信故障的检测方法、装置及系统。背景技术0002在网络组建技术中,通常采用各类服务器端口聚合及交换机堆叠的方式提升网络平面可靠性。然而,在各类服务器内进行端口聚合及交换机堆叠后,服务。
17、器内的各个端口可能会因为出现一些故障而不可用,进而导致端口之间的通信路径不可用。0003在现有技术中,服务器内的LAGLINKAGGREGATIONGROUP,链路聚合组可以周期性地检测自身的端口的状态,当端口不可用时,服务器根据LACPLINKAGGREGATIONCONTROLPROTOCOL,链路聚合控制协议,将不可用端口从LAG中移除以实现通信路径的切换。如图1所示,当服务器1的1号端口不可用,且2、3、4号端口正常运行时,将1号端口从LAG中移除,LAG自动选择2、3、4号端口进行数据包的转发。0004然而,各个端口在收发数据包时,可能会因为一些故障出现“亚健康”状态为方便说明,本发。
18、明统一将“亚健康”状态的端口称为故障端口,此时,端口仍然可以与其他端口进行数据包的收发动作即端口依然可用,但该端口在发送数据包时可能会出现丢包,或者,篡改数据包中的内容等异常操作,由于该端口对其他端口表现的状态仍为可用状态,因此LAG无法检测到该端口在收发数据包时的异常现象,也无法实现与该端口相关的通信路径的切换,这样一来,通过该故障端口“亚健康”端口进行传输的数据将持续受损,使数据传输的风险增加。发明内容0005本发明的实施例提供一种通信故障的检测方法、装置及系统,解决了现有技术中LAG无法检测到发生异常操作的故障端口的问题,避免了使用故障端口传输数据的风险。0006为达到上述目的,本发明的。
19、实施例采用如下技术方案0007第一方面,本发明的实施例提供一种通信故障的检测方法,包括0008检测设备分别获取X个服务器内N个端口的探测结果,所述探测结果包括每个端口根据接收到的其他端口发送的探测消息,确定的所述其它端口的错包数据和丢包数据,N2,X2;0009所述检测设备根据所述每个端口确定的所述其它端口的错包数据和丢包数据,确定第一端口的状态,所述第一端口的状态用于指示所述第一端口是否有故障;0010所述检测设备根据所述第一端口的状态,生成所述第一端口的故障通知。0011在第一方面的第一种可能的实现方式中,所述检测设备根据所述每个端口确定的所述其它端口的错包数据和丢包数据,确定第一端口是否。
20、有故障,包括0012所述检测设备根据所述探测结果分别计算所述N个端口之间互相发送所述检测消息的丢包率;0013所述检测设备根据所述N个端口之间互相发送所述检测消息的丢包率确定所述说明书CN104219107A2/25页7第一端口是否有故障。0014结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述检测设备根据所述探测结果分别计算所述N个端口之间互相发送所述检测消息的丢包率,包括0015所述检测设备将所述探测结果中的错包数据按照第一预置函数折算为相对丢包数据;0016所述检测设备根据所述相对丢包数据和所述探测结果中的丢包数据,按照第二预置函数分别计算所述N个端口之间互相。
21、发送所述检测消息的丢包率。0017结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述检测设备根据所述N个端口之间互相发送所述检测消息的丢包率确定所述第一端口是否有故障,包括0018在所述N个端口中,若有至少N/2个端口发送所述检测消息到所述第一端口的丢包率大于第一预设值,且所述至少N/2个端口之间发送所述检测消息的丢包率小于第二预设值,所述检测设备则确定所述第一端口有故障;否则,所述检测设备则确定所述第一端口没有故障。0019结合前述的第一方面或第一方面的第一至第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述故障通知包含第一故障通。
22、知,所述第一故障通知用于指示所述第一端口有故障,0020其中,生成所述第一端口的故障通知,包括0021所述检测设备生成所述第一端口的所述第一故障通知,以使得服务器获取所述第一故障通知后,将所述第一端口从链路聚合组LAG中移除。0022结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述故障通知包含第二故障通知,所述第二故障通知用于指示所述X个服务器内的N个端口均有故障,0023其中,生成所述第一端口的故障通知,包括0024所述检测设备生成所述第一端口的所述第二故障通知,以使得所述服务器获取所述第二故障通知,并调用DRSDISTRIBUTEDRESOURCESCHEDUL。
23、ER,分布式资源调度程序对所述服务器内运行的虚拟机进行虚拟机热迁移。0025结合前述的第一方面或第一方面的第一至第五种可能的实现方式中的任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述N个端口为所述X个服务器内的物理端口,或者,为所述X个服务器内运行的虚拟机中的虚拟端口。0026第二方面,本发明的实施例提供一种通信故障的检测方法,包括0027服务器通过第一端口接收来自其他服务器内N1个端口的探测消息,所述探测消息用于确定所述N1个端口的错包数据和丢包数据,N2;0028服务器根据所述探测消息生成探测结果,所述探测结果包括所述N1个端口发送所述探测消息到所述第一端口的丢包数据和错包。
24、数据;0029服务器根据所述探测结果获取检测设备发送的故障通知,所述故障通知用于指示所述第一端口是否有故障。0030在第二方面的第一种可能的实现方式中,所述第一端口为所述服务器内的物理端说明书CN104219107A3/25页8口,或者,为所述服务器内运行的虚拟机中的虚拟端口,0031其中,在服务器根据所述探测结果获取检测设备发送的故障通知之后,还包括0032若所述第一端口为所述服务器内的物理端口,且所述第一端口有故障,所述服务器则根据所述故障通知将所述第一端口从链路聚合组LAG中移除;0033若所述第一端口为所述服务器内运行的虚拟机中的虚拟端口,且所述第一端口有故障,所述服务器则根据所述故障。
25、通知对所述第一端口对应的虚拟机进行虚拟机热迁移。0034在第二方面的第二种可能的实现方式中,在服务器根据所述探测结果获取检测设备发送的故障通知之后,还包括0035若所述第一端口没有故障,所述服务器则查询所述第一端口是否在所述LAG中;0036若所述第一端口不在所述LAG中,所述服务器则将所述第一端口添加至所述LAG中,以便通过所述第一端口进行数据收发。0037在第二方面的第三种可能的实现方式中,服务器根据所述探测消息生成探测结果,包括0038所述服务器根据在预置时间内接收到的所述探测消息的个数,计算所述N1个端口到所述第一端口的丢包数据;0039所述服务器根据在所述预置时间内接收到的探测消息分。
26、析所述探测消息是否是错包,以统计所述N1个端口到所述第一端口的错包数据;0040所述服务器根据所述丢包数据和所述错包数据,生成所述探测结果。0041在第二方面的第四种可能的实现方式中,所述方法还包括0042所述服务器分别获取所述N1个端口的MACMEDIAACCESSCONTROL,介质访问控制地址;0043所述服务器根据所述MAC地址构造所述探测消息;0044所述服务器根据所述N1个端口的MAC地址,通过所述第一端口将所述探测消息发送至所述N1个端口。0045第三方面,本发明的实施例提供一种检测设备,包括0046获取单元,用于分别获取X个服务器内N个端口的探测结果,所述探测结果包括每个端口根。
27、据接收到的其他端口发送的探测消息,确定的所述其它端口的错包数据和丢包数据,N2,X2;0047确定单元,用于根据所述获取单元中每个端口确定的所述其它端口的错包数据和丢包数据,确定第一端口的状态,所述第一端口的状态用于指示所述第一端口是否有故障,所述第一端口为所述N个端口中的一个;0048处理单元,用于根据所述确定单元中所述第一端口的状态,生成所述第一端口的故障通知。0049在第三方面的第一种可能的实现方式中,所述确定单元包括计算子单元,其中,0050所述计算子单元,用于根据所述探测结果分别计算所述N个端口之间互相发送所述检测消息的丢包率;0051所述确定单元,具体用于根据所述N个端口之间互相发。
28、送所述检测消息的丢包率确定所述第一端口是否有故障。0052结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式说明书CN104219107A4/25页9中,0053所述计算子单元,具体用于将所述探测结果中的错包数据按照第一预置函数折算为相对丢包数据;以及根据所述相对丢包数据和所述探测结果中的丢包数据,按照第二预置函数分别计算所述N个端口之间互相发送所述检测消息的丢包率。0054结合第三方面的第一种可能的实现方式,在第三方面的第三种可能的实现方式中,0055所述确定单元,具体用于在所述N个端口中,若有至少N/2个端口发送所述检测消息到所述第一端口的丢包率大于第一预设值,且所述至少。
29、N/2个端口之间发送所述检测消息的丢包率小于第二预设值,则确定所述第一端口有故障;否则,则确定所述第一端口没有故障。0056结合前述的第三方面或第三方面的第一至第三种可能的实现方式中的任一种可能的实现方式,在第三方面的第四种可能的实现方式中,0057所述处理单元,具体用于生成所述第一端口的所述第一故障通知,以使得服务器获取所述第一故障通知后,将所述第一端口从LAG中移除;0058其中,所述故障通知包含第一故障通知,所述第一故障通知用于指示所述第一端口有故障。0059结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,0060所述处理单元,具体用于生成所述第一端口的所述第二故。
30、障通知,以使得所述服务器获取所述第二故障通知,并调用分布式资源调度程序DRS对所述服务器内运行的虚拟机进行虚拟机热迁移;0061其中,所述故障通知包含第二故障通知,所述第二故障通知用于指示所述X个服务器内的N个端口均有故障。0062结合前述的第三方面或第三方面的第一至第五种可能的实现方式中的任一种可能的实现方式,在第三方面的第六种可能的实现方式中,所述N个端口为所述X个服务器内的物理端口,或者,为所述X个服务器内运行的虚拟机中的虚拟端口。0063第四方面,本发明的实施例提供一种服务器,包括0064接收单元,用于通过第一端口接收来自其他服务器内N1个端口的探测消息,所述探测消息用于确定所述N1个。
31、端口的错包数据和丢包数据,N2;0065处理单元,用于根据所述探测消息生成探测结果,所述探测结果包括所述N1个端口发送所述探测消息到所述第一端口的丢包数据和错包数据;0066获取单元,用于根据所述探测结果获取检测设备发送的故障通知,所述故障通知用于指示所述第一端口是否有故障。0067在第四方面的第一种可能的实现方式中,所述第一端口为所述服务器内的物理端口,或者,为所述服务器内运行的虚拟机中的虚拟端口,其中,所述服务器还包括移除单元和迁移单元,0068所述移除单元,用于若所述获取单元中所述第一端口为所述服务器内的物理端口,且所述第一端口有故障,则根据所述获取单元中的故障通知将所述第一端口从LAG。
32、中移除;说明书CN104219107A5/25页100069所述迁移单元,用于若所述获取单元中所述第一端口为所述服务器内运行的虚拟机中的虚拟端口,且所述第一端口有故障,则根据所述获取单元中的故障通知对所述第一端口对应的虚拟机进行虚拟机热迁移。0070在第四方面的第二种可能的实现方式中,0071所述处理单元,还用于若所述第一端口没有故障,则查询所述第一端口是否在所述LAG中;以及若所述第一端口不在所述LAG中,则将所述第一端口添加至所述LAG中,以便通过所述第一端口进行数据收发。0072在第四方面的第三种可能的实现方式中,0073所述处理单元,具体用于根据在预置时间内接收到的所述接收单元中的探测。
33、消息的个数,计算所述N1个端口到所述第一端口的丢包数据;并根据在所述预置时间内接收到的所述接收单元中的探测消息分析所述探测消息是否是错包,以统计所述N1个端口到所述第一端口的错包数据;以及根据所述丢包数据和所述错包数据,生成所述探测结果。0074在第四方面的第四种可能的实现方式中,所述服务器还包括发送单元,0075所述获取单元,还用于分别获取所述N1个端口的介质访问控制MAC地址;0076所述处理单元,还用于根据所述获取单元中的MAC地址构造所述探测消息;0077所述发送单元,用于根据所述获取单元中N1个端口的MAC地址,通过所述第一端口将所述处理单元中的探测消息发送至所述N1个端口。0078。
34、第五方面,本发明的实施例提供一种通信故障的检测系统,所述检测系统包括第三方面以及第三方面的第一至第六种可能的实现方式中任一种可能的实现方式所述的检测设备,以及与所述检测设备相连接的第四方面以及第四方面的第一至第四种可能的实现方式中任一种可能的实现方式所述的服务器。0079本发明的实施例提供一种通信故障的检测方法、装置及系统,检测设备获取服务器内N个端口的探测结果,所述探测结果为服务器根据N个端口分别接收到的检测消息生成的,由于所述探测结果包括每个端口根据接收到的其他端口发送的探测消息,确定的所述其它端口的错包数据和丢包数据,因此,检测设备根据每个端口确定的所述其它端口的错包数据和丢包数据,确定。
35、N个端口中的某一端口是否为故障端口,以检测是否出现“亚健康”状态的端口影响了通过该端口的数据传输的效率,从而提高了数据传输的可靠性。附图说明0080为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。0081图1为现有技术中通信故障的检测系统的架构示意图;0082图2为本发明实施例提供的一种通信故障的检测系统的架构示意图;0083图3为本发明实施例提供的检测设备的硬件示意图;0084图4为本发明实施例提供的服务器的硬件示意图;0085图5为本发明实施例提供的一种通信故障的检测方法的流程图一;0086图6为本发明实施例提供的一种通信故障。
36、的检测方法的流程图二;0087图7为本发明实施例提供的一种通信故障的检测方法的流程图三;0088图8为本发明实施例提供的一种检测设备的结构示意图一;说明书CN104219107A106/25页110089图9为本发明实施例提供的一种检测设备的结构示意图二;0090图10为本发明实施例提供的一种服务器的结构示意图一;0091图11为本发明实施例提供的一种服务器的结构示意图二;0092图12为本发明实施例提供的一种服务器的结构示意图三。具体实施方式0093以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有。
37、这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。0094本文中术语“系统”和“网络”在本文中常被可互换使用。为方便理解本发明实施例提供的一种通信故障的检测方法、装置及系统,首先介绍与本发明相关的一些概念。0095端口聚合,也叫做以太通道ETHERNETCHANNEL,主要用于交换机或服务器之间连接。使用端口聚合的话,交换机会把一组物理端口联合起来作为一个逻辑的通道如图1所示的端口1、2、3、4,也就是CHANNELGROUP,这样交换机会认为这个逻辑通道为一个端口。使用端口聚合技术后,只要组内不是所有的端。
38、口都DOWN掉停机,两个交换机之间仍然可以继续通信,这样一来,使用端口聚合技术可以允许多个交换器之间通过多个端口并行连接同时传输数据以提供更高的带宽、更大的吞吐量和可恢复性的技术,增加了系统的可靠性。0096交换机堆叠,是指将一台以上的交换机组合起来共同工作,以便在有限的空间内提供尽可能多的端口。多台交换机堆叠后,具有足够的系统带宽,增加了系统的可靠性。0097LACP协议,是一种实现链路动态聚合与解聚合的协议。使用某端口的LACP协议后,该端口将通过发送LACPDU向对端通告自己的系统优先级、系统MAC、端口优先级、端口号。对端接收到这些信息后,将这些信息与其它端口所保存的信息比较以选择能够。
39、聚合的端口,从而双方可以对端口加入或退出某个动态聚合组达成一致。0098链路聚合LINKAGGREGATION,是指将多个物理端口捆绑在一起,成为一个逻辑端口,以实现出/入流量在各成员端口中的负荷分担,交换机根据用户配置的端口负荷分担策略决定报文从哪一个成员端口发送到对端的交换机。当交换机或服务器检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送数据,并根据负荷分担策略在剩下链路中重新计算报文发送的端口,故障端口恢复后再次重新计算数据再发送端口,因此,链路聚合在增加链路带宽、实现链路传输弹性和冗余等方面是一项很重要的技术。0099另外,本发明中涉及的服务器,可以是各种类型的服务器,例。
40、如刀片服务器,并且,服务器内可以运行至少一个虚拟机,所述虚拟机中包含虚拟端口。本发明中涉及的交换机,是一种用于电信号转发的网络设备,它至少可以满足二层交换需求,即可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。0100具体的,在各类服务器内进行端口聚合及交换机堆叠后,服务器内的各个端口可能会出现“亚健康”状态,此时,端口仍然可以与其他端口进行数据包的收发动作即端口依然可用,但该端口在发送数据包时可能会出现丢包,或者,篡改数据包中的内容等异常说明书CN104219107A117/25页12操作。而现有技术中LAG无法检测到“亚。
41、健康”状态的端口,导致通过该“亚健康”端口进行传输的数据将持续受损,因此,本发明的实施例提供一种通信故障的检测方法、装置及系统,解决了现有技术中LAG无法检测到端口可能出现的“亚健康”状态的问题,提高了数据传输的可靠性。0101实施例一0102本发明的实施例提供一种通信故障的检测系统,如图2所示,包括链路聚合后的X个服务器01,和进行交换机堆叠后的Y个交换机02,以及检测设备03,其中,0103所述服务器01内包含有至少一个端口,所述交换机02内包含有至少一个端口,所述服务器01与所述交换机02通过对应端口相连接。0104所述服务器01内运行有至少一个虚拟机,所述虚拟机包含有虚拟端口。0105。
42、所述检测设备03,可以部署在所述X个服务器01中的任意一个上,也可以独立于所述X个服务器01单独部署在所述通信故障的检测系统中。0106一方面,在本发明的实施例中,所述检测设备03分别获取X个服务器01内N个端口的探测结果,所述探测结果包括每个端口根据接收到的其他端口发送的探测消息,确定的所述其它端口的错包数据和丢包数据,N2,X2;所述检测设备03根据所述每个端口确定的所述其它端口的错包数据和丢包数据,确定第一端口是否有故障,所述第一端口为所述N个端口中的一个。0107进一步地,所述检测设备03根据所述每个端口确定的所述其它端口的错包数据和丢包数据,确定第一端口是否有故障,可以具体包括以下步。
43、骤所述检测设备03根据所述探测结果分别计算所述N个端口之间互相发送所述检测消息的丢包率;所述检测设备03根据所述N个端口之间互相发送所述检测消息的丢包率确定所述第一端口是否有故障。0108进一步地,所述检测设备03根据所述探测结果分别计算所述N个端口之间互相发送所述检测消息的丢包率,可以具体包括以下步骤所述检测设备03将所述探测结果中的错包数据按照第一预置函数折算为相对丢包数据;所述检测设备03根据所述相对丢包数据和所述探测结果中的丢包数据,按照第二预置函数分别计算所述N个端口之间互相发送所述检测消息的丢包率。0109进一步地,所述检测设备03根据所述N个端口之间互相发送所述检测消息的丢包率确。
44、定所述第一端口是否有故障,可以具体包括以下步骤在所述N个端口中,若有至少N/2个端口发送所述检测消息到所述第一端口的丢包率大于第一预设值,且所述至少N/2个端口之间发送所述检测消息的丢包率小于第二预设值,所述检测设备03则确定所述第一端口有故障;否则,所述检测设备03则确定所述第一端口没有故障。0110进一步地,在所述检测设备03根据所述N个端口之间互相发送检测消息的丢包数据和错包数据,确定第一端口是否有故障之后,还可以包括以下步骤若所述第一端口有故障,所述检测设备03则向所述服务器01发送第一故障通知,以使得所述服务器01根据所述第一故障通知将所述第一端口从LAG中移除。0111进一步地,在。
45、所述检测设备03根据所述N个端口之间互相发送检测消息的丢包数据和错包数据,确定第一端口是否有故障之后,还可以包括以下步骤0112若所述服务器01内的各个端口均有故障,所述检测设备03则调用DRS对所述服务器01内运行的虚拟机进行虚拟机热迁移,或者,说明书CN104219107A128/25页130113若所述服务器01内的各个端口均有故障,所述检测设备03则向所述服务器01发送第二故障通知,以使得所述服务器01根据所述第二故障通知调用DRS对所述服务器01内运行的虚拟机进行虚拟机热迁移。0114另一方面,在本发明的实施例中,服务器01通过第一端口接收来自其他服务器01内其他N1个端口的探测消息。
46、,所述探测消息用于确定所述N1个端口的错包数据和丢包数据,N2;服务器01根据所述探测消息生成探测结果,所述探测结果包括所述N1个端口发送所述探测消息到所述第一端口的丢包数据和错包数据;服务器01根据所述探测结果获取检测设备03发送的故障通知,所述故障通知用于指示所述第一端口是否有故障。0115进一步地,所述第一端口为所述服务器01内的物理端口,或者,为所述服务器01内运行的虚拟机中的虚拟端口,其中,在服务器01根据所述探测结果获取检测设备03发送的故障通知之后,还可以包括以下步骤0116若所述第一端口为所述服务器01内的物理端口,且所述第一端口有故障,所述服务器01则根据所述故障通知将所述第。
47、一端口从LAG中移除;0117若所述第一端口为所述服务器01内运行的虚拟机中的虚拟端口,且所述第一端口有故障,所述服务器01则根据所述故障通知对所述第一端口对应的虚拟机进行虚拟机热迁移。0118进一步地,在服务器01根据所述探测结果获取检测设备03发送的故障通知之后,还可以包括以下步骤若所述第一端口没有故障,所述服务器01则查询所述第一端口是否在所述LAG中;若所述第一端口不在所述LAG中,所述服务器01则将所述第一端口添加至所述LAG中,以便通过所述第一端口进行数据收发。0119进一步地,服务器01根据所述探测消息生成探测结果,可以具体包括以下步骤所述服务器01根据在预置时间内接收到的所述探。
48、测消息的个数,计算所述N1个端口到所述第一端口的丢包数据;所述服务器01根据在所述预置时间内接收到的探测消息分析所述探测消息是否是错包,以统计所述N1个端口到所述第一端口的错包数据;所述服务器01根据所述丢包数据和所述错包数据,生成所述探测结果。0120进一步地,所述通信故障的检测方法还可以包括以下步骤所述服务器01分别获取所述N1个端口的介质访问控制MAC地址;所述服务器01根据所述MAC地址构造所述探测消息;所述服务器01根据所述N1个端口的MAC地址,通过所述第一端口将所述探测消息发送至所述N1个端口。0121需要说明的是,所述N个端口为所述服务器01内的物理端口,或者,为所述服务器01。
49、内运行的虚拟机中的虚拟端口。这样一来,本发明的实施例提供一种通信故障的检测方法、装置及系统,即可以应用于IAASINFRASTRUCTUREASASERVICE,基础设施即服务场景,也可以应用于PAASPLATFORMASASERVICE,平台即服务场景,实现云场景下通信平面的自动切换,具体在IAAS和PAAS场景下实施通信故障的检测方法将在后续实施例中详细阐述,故此处不再赘述。0122另外,上述IAAS和PAAS都是云计算中不同层次的一种服务形式,所述云计算CLOUDCOMPUTING,是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态地、易扩展地,且经常是虚拟化的资源。其中,云计算可以包括以下几个层次的服务基础设施即服务IAAS,平台即服务PAAS和软件即服务SAAS,说明书CN104219107A139/25页14SOFTWAREASASERVICE。IAAS是指消费者通过INTERNET可以从完善的计算机基础设施获得服务,例如硬件服务器租用;PAAS是指将软件研发的平台作为一种服务,例如软件的个性化定制开发。0123而本发明实施例提供的通信故障的检测方法,既可以应用在IAAS场景中,即对IAAS中的服务器的物理端口进行全互联的通信故障检测,并对通信故障的端口进行路径切换,同时,本发明提供的通信故障的检测方法还可以应用在。