1.一种路径切换的方法,其特征在于,包括:
控制器确定数据流的主用路径和至少一条备用路径,所述主用路径和所述备用路径的源交换机和目的交换机相同;
所述控制器向备用路径交换机下发流表,所述备用路径交换机在所述备用路径上且不在所述主用路径上,以使所述备用路径交换机在所述数据流从所述主用路径切换到所述备用路径后,根据所述流表转发所述数据流,其中所述流表包括表示所述流表的流表项一直未命中也不删除的指示;
所述控制器向各故障切换交换机分别下发路径组表,所述路径组表包括所述主用路径的标示和备用端口信息,以使所述各故障切换交换机在根据所述主用路径的标示检测到所述主用路径故障时,根据所述备用端口信息进行路径切换,其中所述故障切换交换机为在所述主用路径上且在所述备用路径的任意一条路径上的交换机,所述故障切换机不为所述目的交换机,所述故障切换交换机具有至少一个备用端口,所述故障切换交换机的主用端口对应所述主用路径,所述故障切换交换机的各备用端口分别对应一条备用路径。
2.根据权利要求1所述的方法,其特征在于,所述表示所述流表的流表项一直未命中也不删除的指示具体为所述流表的硬超时和空闲超时均被置为0。
3.根据权利要求1或2所述的方法,其特征在于,在所述控制器向所述各故障切换交换机分别下发路径组表之后,所述方法还包括:
所述控制器向源交换机发送测试指示报文,以指示所述主用路径上的各故障切换交换机检测所述主用路径是否故障。
4.根据权利要求3所述的方法,其特征在于,所述测试指示报文包括:所述主用路径的标示、检测周期以及故障判别周期个数M。
5.一种路径切换的方法,所述路径切换方法由故障切换交换机执行,所述故障切换交换机为在主用路径上且在所述主用路径的任意一条备用路径上的交换机,所述主用路径和所述备用路径的源交换机和目的交换机相同,所述故障切换交换机具有至少一个备用端口,所述故障切换交换机的主用端口对应所述主用路径,所述故障切换交换机的各备用端口分别对应一条备用路径,其特征在于,所述方法包括:
所述故障切换交换机接收控制器下发的路径组表,所述路径组表包括所述主用路径的标示;
所述故障切换交换机根据接收到的故障检测消息以及所述路径组表检测所述主用路径是否故障。
6.根据权利要求5所述的方法,其特征在于,当所述故障切换交换机不为所述源交换机时,所述故障切换交换机根据接收到的故障检测消息以及所述路径组表检测所述主用路径是否故障,包括:
所述故障切换交换机在M个检测周期内接收到所述主用路径上的相邻的上游故障切换交换机发送的至少一个检测报文,所述检测报文中携带所述主用路径的标示、检测周期以及故障判别周期个数M;
所述故障切换交换机根据所述主用路径的标示向所述相邻的上游故障切换交换机发送检测响应报文以及向所述主用路径上相邻的下游故障切换交换机或者所述目的交换机转发所述的检测报文;以及
若所述故障切换交换机在所述M个检测周期内没有接收到所述相邻的下游故障切换交换机或者所述目的交换机返回的检测响应报文,则所述故障切换交换机确定所述主用路径故障,其中,M为大于等于1的正整数。
7.根据权利要求5所述的方法,其特征在于,当所述故障切换交换机为所述源交换机时,所述故障切换交换机根据接收到的故障检测消息以及所述路径组表检测所述主用路径是否故障,包括:
所述故障切换交换机接收所述控制器发送的测试指示报文,所述测试指示报文包括:所述主用路径的标示、检测周期以及故障判别周期个数M,其中,M为大于等于1的正整数;
所述故障切换交换机根据所述主用路径的标示在每个检测周期向相邻的下游故障切换交换机发送检测报文,所述检测报文中携带所述主用路径的标示、所述检测周期以及所述故障判别周期个数M,以使所述主用路径上的所述相邻的下游故障切换交换机根据所述主用路径的标示转发所述检测报文;
若所述故障切换交换机在M个所述检测周期内没有接收到相邻的下游故障切换交换机或者所述目的交换机返回的检测响应报文,则所述故障切换交换机确定所述主用路径故障。
8.根据权利要求6或7所述的方法,其特征在于,所述路径组表中进一步包括所述故障切换交换机的备用端口信息,所述方法还包括:
所述故障切换交换机在检测到所述主用路径故障时根据所述备用端口信息进行路径切换。
9.根据权利要求8所述的方法,其特征在于,所述根据所述备用端口信息进行路径切换包括:
所述故障切换交换机根据所述备用端口信息选择一个目的备用端口,将发送端口从所述主用端口切换到所述目的备用端口,以完成将所述数据流从所述主用路径切换到所述目的备用端口对应的备用路径上。
10.根据权利要求5所述的方法,其特征在于,当所述故障切换交换机不为所述源交换机时,所述故障切换交换机根据接收到的故障检测消息以及所述路径组表检测所述主用路径是否故障,包括:
若所述故障切换交换机在M个检测周期内没有接收到相邻的上游故障切换交换机发送的检测报文,而且在所述M个检测周期内没有接收到相邻的下游故障切换交换机或者所述目的交换机返回的检测响应报文,则所述故障切换交换机确定所述主用路径故障,其中,M为大于等于1的正整数,所述检测报文中携带所述主用路径的标示、检测周期以及故障判别周期个数M,以使所述主用路径上的各交换机根据所述主用路径的标示转发所述检测报文。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括,所述故障切换交换机不进行路径切换。
12.一种控制器,其特征在于,包括:
路径确定模块,用于确定数据流的主用路径和至少一条备用路径,所述主用路径和所述备用路径的源交换机和目的交换机相同;
流表下发模块,用于向备用路径交换机下发流表,所述备用路径交换机在所述备用路径上且不在所述主用路径上,以使所述备用路径交换机在所述数据流从所述主用路径切换到所述备用路径后,根据所述流表转发所述数据流,其中所述流表包括表示所述流表的流表项一直未命中也不删除的指示;
确定模块,用于根据以下条件确定故障切换交换机:所述故障切换交换机在所述主用路径上且在所述备用路径的任意一条路径上,所述故障切换机不为所述目的交换机,所述故障切换交换机具有至少一个备用端口,所述故障切换交换机的主用端口对应所述主用路径,所述故障切换交换机的各备用端口分别对应一条备用路径;
路径组表下发模块,用于向所述各故障切换交换机分别下发路径组表,所述路径组表包括所述主用路径的标示和备用端口信息,以使所述各故障切换交换机在根据所述主用路径的标示检测到所述主用路径故障时,根据所述备用端口信息进行路径切换。
13.根据权利要求12所述的控制器,其特征在于,所述表示所述流表的流表项一直未命中也不删除的指示具体为所述流表的硬超时和空闲超时均被置为0。
14.根据权利要求12或13所述的控制器,其特征在于,所述控制器还包括:
发送模块,用于向源交换机发送测试指示报文,以指示所述主用路径上的各故障切换交换机检测所述主用路径是否故障。
15.根据权利要求14所述的控制器,其特征在于,所述测试指示报文包括:所述主用路径的标示、检测周期以及故障判别周期个数M。
16.一种故障切换交换机,所述故障切换交换机为在主用路径上且在所述主用路径的任意一条备用路径上的交换机,所述主用路径和所述备用路径的源交换机和目的交换机相同,所述故障切换交换机具有至少一个备用端口,所述故障切换交换机的主用端口对应所述主用路径,所述故障切换交换机的各备用端口分别对应一条备用路径,其特征在于,所述故障切换交换机包括:
接收模块,用于接收控制器下发的路径组表,所述路径组表包括所述主用路径的标示;
故障检测模块,用于根据接收到的故障检测消息以及所述路径组表检测所述主用路径是否故障。
17.根据权利要求16所述的故障切换交换机,其特征在于,当所述故障切换交换机不为所述源交换机时,所述接收模块还用于接收相邻的上游故障切换交换机发送的检测报文,以及接收所述主用路径上的相邻的下游故障切换交换机或者所述目的交换机返回的检测响应报文,其中,所述检测报文中携带所述主用路径的标示、检测周期以及故障判别周期个数M;
所述故障切换交换机还包括:发送模块,用于根据所述主用路径的标示向所述相邻的下游的故障切换交换机转发所述检测报文;
所述故障检测模块具体用于:
若所述接收模块在M个检测周期内接收到所述主用路径上的相邻的上游故障切换交换机发送的至少一个检测报文,但在所述M个检测周期内没有接收到所述相邻的下游故障切换交换机或者所述目的交换机返回的检测响应报文,则确定所述主用路径故障,其中,M为大于等于1的正整数。
18.根据权利要求16所述的故障切换交换机,其特征在于,当所述故障切换交换机为所述源交换机时,所述接收模块还用于:接收所述控制器发送的测试指示报文,以及相邻的下游故障切换交换机或者所述目的交换机返回的检测响应报文,所述测试指示报文包括:所述主用路径的标示、检测周期以及故障判别周期个数M,其中,M为大于等于1的正整数;
所述故障切换交换机还包括:发送模块,用于根据所述主用路径的标示在每个检测周期向相邻的下游故障切换交换机发送检测报文,所述检测报文中携带所述主用路径的标示、所述检测周期以及所述故障判别周期个数M;
所述故障检测模块具体用于:若所述接收模块在M个所述检测周期内没有接收到所述相邻的下游故障切换交换机或者所述目的交换机返回的检测响应报文,则确定所述主用路径故障。
19.根据权利要求17或18所述的故障切换交换机,其特征在于,所述路径组表中进一步包括所述故障切换交换机的备用端口信息,所述故障切换交换机还包括:
路径切换模块,用于在所述故障检测模块检测到所述主用路径故障时根据所述备用端口信息进行路径切换。
20.根据权利要求19所述的故障切换交换机,其特征在于,所述路径切换模块具体用于:
根据所述备用端口信息选择一个目的备用端口,将发送端口从所述主用端口切换到所述目的备用端口,以完成将所述数据流从所述主用路径切换到所述目的备用端口对应的备用路径上。
21.根据权利要求16所述的故障切换交换机,其特征在于,当所述故障切换交换机不为所述源交换机时,所述接收模块还用于:接收所述主用路径上相邻的上游故障切换交换机发送的检测报文,以及接收所述主用路径上相邻的下游故障切换交换机或者所述目的交换机返回的检测响应报文,其中,所述检测报文中携带所述主用路径的标示、检测周期以及故障判别周期个数M,以使所述主用路径上的各交换机根据所述主用路径的标示转发所述检测报文;
所述故障检测模块具体用于:
若所述接收模块在M个检测周期内没有接收到所述相邻的上游故障切换交换机发送的检测报文,并且在所述M个检测周期内没有接收到所述相邻的下游故障切换交换机或者所述目的交换机返回的检测响应报文,则所述故障切换交换机确定所述主用路径故障,其中,M为大于等于1的正整数。
22.根据权利要求21所述的故障切换交换机,其特征在于,所述故障切换交换机还包括:
路径切换模块,用于在所述故障检测模块检测到所述主用路径故障时不进行路径切换。