CN104954248A - 报文传送保护倒换方法、设备及系统 - Google Patents
报文传送保护倒换方法、设备及系统 Download PDFInfo
- Publication number
- CN104954248A CN104954248A CN201410121229.0A CN201410121229A CN104954248A CN 104954248 A CN104954248 A CN 104954248A CN 201410121229 A CN201410121229 A CN 201410121229A CN 104954248 A CN104954248 A CN 104954248A
- Authority
- CN
- China
- Prior art keywords
- choosing
- passage
- path
- received
- sequence number
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文传送保护倒换方法、设备及系统,通过接收端设备分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文,接收端设备获取当前选收通道与当前非选收通道的路径时延差值并逐一将第一类报文的序列号、第二类报文的序列号与期望序列号比较,确定当前选收通道的当前路径状态以及当前非选收通道的当前路径状态。之后,接收端设备确定当前选收通道的实际路径状态和当前非选收通道的实际路径状态。最后,接收端设备根据当前选收通道的实际路径状态和当前非选收通道的实际路径状态决定下一次调度时的实际选收路径。从而实现在任何流量模式下无损保护倒换,提高了进行无损保护倒换的准确性。
Description
技术领域
本发明涉及通信技术,尤其涉及一种报文传送保护倒换方法、设备及系统。
背景技术
随着网络技术的发展和网络业务量的不断增加,在网络中某一个路径出现故障时,如何保证服务的连续性成为一个重要课题。保护倒换技术作为一种保证网络服务连续性的重要技术手段越来越受到业界重视。
现有的保护倒换技术中,最高级别是电信级保护倒换,其要求在传送路径故障时,将报文从当前选收通道切换至当前非选收通道,在某些地区,运营商的客户对部分高价值业务提出更高的保护倒换需求,期望在故障发生的时候,能实现没有报文丢失,报文乱序的保护倒换功能,即无损保护倒换。目前,现有技术提出的无损保护倒换方案,通常由一条当前选收通道和一条当前非选收通道构成,当检测到当前选收通道故障,而当前非选收通道正常的时候,触发保护倒换,将业务倒换到当前非选收通道。具体的,报文发送方,在发送端为报文添加上报文序列号,然后复制报文到当前选收通道和当前非选收通道。接收方从两条路径的两个报文中选择其中一个接收,丢弃重复的报文。并且,接收方预先设置相应的期望序列号与每一个报文序列号进行比较,其中,流程优先判断当前选收通道中的报文,当报文序列号等于期望序列号时,报文被发送。如果报文序列号小于期望序列号,报文被丢弃。如果报文序列号大于期望序列号,则按同样的准则当前非选收通道的报文,如果当前非选收通道中报文的序列号与期望序列号相等,则进行保护倒换,若当前非选收通道中报文的序列号也大于期望序列号,则期望序列号增1,对下一个报文重复以上判断过程。
但是采用上述现有的无损保护倒换技术时,由于接收端仅根据报文的序列号与期望序列号是否匹配来判断当前选收通道是否出现故障,继而进行路径的倒换。当出现报文丢包、报文传输非实时,现有的无损保护倒换技术也会因为报文的序列号与期望序列号不匹配,造成无损保护倒换的误判。
发明内容
本发明提供一种报文传送保护倒换方法、设备及系统,用于实现在任何流量模式下无损保护倒换。
本发明的第一个方面是提供一种报文传送保护倒换方法,包括:
分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文,并根据时钟模块提供的时刻信息,分别标记接收每个所述第一类报文的接收时刻和接收每个所述第二类报文的接收时刻,其中所述第二类报文为所述第一类报文的备份;
将每个所述第一类报文和每个所述第一类报文的接收时刻以及每个第二类报文和每个所述第二类报文的接收时刻存储在先入先出缓存中;
获取所述当前选收通道与所述当前非选收通道的路径时延差值;
逐一将所述第一类报文的序列号与期望序列号比较或者根据所述第二类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前选收通道的当前路径状态;
逐一将所述第二类报文的序列号与所述期望序列号比较或者根据所述第一类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前非选收通道的当前路径状态;
根据所述当前选收通道的当前路径状态和所述当前选收通道的连通状态确定所述当前选收通道的实际路径状态,根据所述当前非选收通道的当前路径状态和所述当前非选收通道的连通状态确定所述当前非选收通道的实际路径状态;
根据所述当前选收通道的实际路径状态和所述当前非选收通道的实际路径状态决定下一次调度时的实际选收路径。
结合第一个方面,在第一种可能的实现方式中,所述逐一将所述第一类报文的序列号与期望序列号比较或者根据所述第二类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前选收通道的当前路径状态,包括:
将所述先入先出缓存中的第一个所述第一类报文的序列号与所述期望序列号进行比较,若第一个所述第一类报文的序列号等于所述期望序列号,则所述当前选收通道的当前路径状态为正常,发送第一个所述第一类报文,并将所述期望序列号加1,以用于之后的下一个所述第一类报文的序列号重复进行与所述期望序列号的比较;或者,
若第一个所述第一类报文的序列号小于所述期望序列号,则所述当前选收通道的当前路径状态为正常,则将第一个所述第一类报文丢弃;或者,
若第一个所述第一类报文的序列号大于所述期望序列号,则所述当前选收通道的当前路径状态为故障,将第一个所述第一类报文保留在所述先入先出缓存中;或者,
当第一个所述第二类报文在所述先入先出缓存中停留的时间与所述路径时延差值之差超过安全阈值,则所述当前选收通道的当前路径状态为故障;
所述逐一将所述第二类报文的序列号与所述期望序列号比较或者根据所述第一类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前非选收通道的当前路径状态,包括:
将所述先入先出缓存中的第一个所述第二类报文的序列号与所述期望序列号进行比较,若第一个所述第二类报文的序列号等于所述期望序列号,则所述当前非选收通道的当前路径状态为正常,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
若第一个所述第二类报文的序列号小于所述期望序列号,则所述当前非选收通道的当前路径状态为正常,将第一个所述第二类报文丢弃;或者,
若第一个所述第二类报文的序列号大于所述期望序列号,则所述当前非选收通道的当前路径状态为故障,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
当第一个所述第一类报文在所述先入先出缓存中停留的时间与所述路径时延差值之差超过安全阈值,则所述当前非选收通道的当前路径状态为故障。
结合第一个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述当前选收通道的当前路径状态和所述当前选收通道的连通状态确定所述当前选收通道的实际路径状态,包括:
若所述当前选收通道的当前路径状态为正常,以及所述当前选收通道的连通状态为正常,则所述当前选收通道的实际路径状态为正常;或者,
若所述当前选收通道的当前路径状态或所述当前选收通道的连通状态任意一个或组合为故障时,则所述当前选收通道的实际路径状态为故障;
所述根据所述当前非选收通道的当前路径状态和所述当前非选收通道的连通状态确定所述当前非选收通道的实际路径状态,包括:
若所述当前非选收通道的当前路径状态为正常,以及所述当前非选收通道的连通状态为正常,则所述当前非选收通道的实际路径状态为正常;或者,
若所述当前非选收通道的当前路径状态或所述当前非选收通道的连通状态任意一个或组合为故障时,则所述当前非选收通道的实际路径状态为故障。
结合第一个方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述当前选收通道的当前路径状态和所述当前非选收通道的实际路径状态决定下一次调度时的实际选收路径,包括:
若所述当前选收通道的实际路径状态为故障,且所述当前非选收通道的实际路径状态为正常,则下一次调度时选择所述当前非选收通道作为实际选收路径;或者,
若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为故障,则下一次调度时所述当前选收通道仍然作为实际选收路径;或者,
若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为正常,则下一次调度时选择所述当前非选收通道或所述当前选收通道作为实际选收路径;或者,
若所述当前选收通道的实际路径状态和所述当前非选收通道的实际路径状态均为故障,则将所述先入先出缓存中第一个所述第一类报文发送,所述期望序列号更新为第一个所述第一类报文的序列号加1,若所述当前选收通道没有第一类报文等待发送,切换至所述当前非选收通道作为实际选收路径,则将所述先入先出缓存中第一个所述第一类报文发送,所述期望序列号更新为第一个所述第一类报文的序列号加1。
结合第一个方面或第一个方面的上述任一种可能的实现方式,在第四种可能的实现方式中,所述根据所述当前选收通道的实际路径状态和所述当前非选收通道的实际路径状态决定下一次调度时的实际选收路径,包括:
接收第一外部倒换命令,若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为正常,则根据所述第一外部倒换命令进入手动状态,并根据所述第一外部倒换命令的通道选择指示信息选择所述当前选收通道或所述当前非选收通道作为所述实际选收路径,其中,所述通道选择指示信息为所述当前选收通道的标识或所述当前非选收通道的标识;
接收第二外部倒换命令,用于解除所述手动状态,所述第二外部倒换命令包含倒换清除指示;或者,
根据倒换恢复设置解除所述手动状态,所述倒换恢复设置包含自动恢复指示和恢复拖延时间。
结合第一个方面或第一个方面的第一种可能的实现方式或第一个方面的第二种可能的实现方式或第一个方面的第三种可能的实现方式,在第五种可能的实现方式中,在所述分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文之后,还包括:
接收第三外部倒换命令,根据所述第三外部倒换命令指示进入强制状态或倒换锁定状态,将所述当前选收通道或所述当前非选收通道中的一个通道强制作为所述实际选收路径,另一个通道为非选收路径,其中,所述第三外部倒换命令包含倒换锁定指示或强制倒换指示;
所述实际选收路径为所述当前选收通道,所述非选收路径为所述当前非选收通道,发送所述当前选收通道的第一类报文,丢弃所述当前非选收通道的第二类报文;
接收所述第二外部倒换命令,所述第二外部倒换命令用于解除所述强制状态,所述第二外部倒换命令包含倒换清除指示;或者,
根据倒换恢复设置解除所述强制状态,所述倒换恢复设置包含自动恢复指示和恢复拖延时间。
结合第一个方面的第五种可能的实现方式,在第六种可能的实现方式中,所述若强制将所述当前选收通道作为所述实际选收路径,所述当前非选收通道作为所述非选收路径,则发送所述第一类报文,丢弃所述第二类报文,包括:
将所述先入先出缓存中的第一个所述第一类报文的序列号与所述期望序列号进行比较,若第一个所述第一类报文的序列号等于所述期望序列号,则所述实际选收路径的当前路径状态为正常,若第一个所述第一类报文的序列号小于所述期望序列号,则所述实际选收路径的当前路径状态为正常,若第一个所述第一类报文的序列号大于所述期望序列号,则所述实际选收路径的当前路径状态为故障,发送第一个所述第一类报文,并将所述期望序列号更新为第一个所述第一类报文的序列号加1,以用于之后的下一个所述第一类报文的序列号重复进行与所述期望序列号的比较;
将所述先入先出缓存中的第一个所述第二类报文的序列号与所述期望序列号进行比较,若第一个所述第二类报文的序列号等于所述期望序列号,则所述非选收路径的当前路径状态为正常,将第一个所述第二类报文保留在所述先入先出缓存中,若第一个所述第二类报文的序列号小于所述期望序列号,则所述非选收路径的当前路径状态为正常,丢弃第一个所述第二类报文,若第一个所述第二类报文的序列号大于所述期望序列号,则所述非选收路径的当前路径状态为故障,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
若所述当前非选收通道第一个所述第二类报文在所述先入先出缓存中停留时间与所述的路径延时差值之差超过所述安全阈值,则所述当前选收通道当前路径状态为故障,丢弃第一个所述第二类报文。
结合第一个方面或第一个方面的上述任一种可能的实现方式,在第七种可能的实现方式中,主用路径为所述当前选收通道时,备用路径为所述当前非选收通道;或者,所述备用路径为所述当前选收通道时,所述主用路径为所述当前非选收通道。
本发明的第二个方面是提供一种设备,包括:
接收模块,用于分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文;
报文接收时刻标记模块,用于根据时钟模块提供的时刻信息,分别标记接收每个所述第一类报文的接收时刻和接收每个所述第二类报文的接收时刻,其中所述第二类报文为所述第一类报文的备份,并将每个所述第一类报文和每个所述第一类报文的接收时刻以及每个第二类报文和每个所述第二类报文的接收时刻存储在先入先出缓存中;
路径延时测量模块,用于获取所述当前选收通道与所述当前非选收通道的路径时延差值;
调度与故障检测模块,用于逐一将所述第一类报文的序列号与期望序列号比较或者根据所述第二类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前选收通道的当前路径状态;还用于逐一将所述第二类报文的序列号与所述期望序列号比较或者根据所述第一类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前非选收通道的当前路径状态;还用于根据所述当前选收通道的当前路径状态和所述当前选收通道的连通状态确定所述当前选收通道的实际路径状态,根据所述当前非选收通道的当前路径状态和所述当前非选收通道的连通状态确定所述当前非选收通道的实际路径状态;
自动保护倒换状态模块,用于根据所述当前选收通道的实际路径状态和所述当前非选收通道的实际路径状态决定下一次调度时的实际选收路径。
结合第二个方面,在第一种可能的实现方式中,所述调度与故障检测模块,具体用于将所述先入先出缓存中的第一个所述第一类报文的序列号与所述期望序列号进行比较,若第一个所述第一类报文的序列号等于所述期望序列号,则所述当前选收通道的当前路径状态为正常,发送第一个所述第一类报文,并将所述期望序列号加1,以用于之后的下一个所述第一类报文的序列号重复进行与所述期望序列号的比较;或者,
若第一个所述第一类报文的序列号小于所述期望序列号,则所述当前选收通道的当前路径状态为正常,则将第一个所述第一类报文丢弃;或者,
若第一个所述第一类报文的序列号大于所述期望序列号,则所述当前选收通道的当前路径状态为故障,将第一个所述第一类报文保留在所述先入先出缓存中;或者,
当第一个所述第二类报文在所述先入先出缓存中停留的时间与所述路径时延差值之差超过安全阈值,则所述当前选收通道的当前路径状态为故障;
所述调度与故障检测模块,具体还用于将所述先入先出缓存中的第一个所述第二类报文的序列号与所述期望序列号进行比较,若第一个所述第二类报文的序列号等于所述期望序列号,则所述当前非选收通道的当前路径状态为正常,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
若第一个所述第二类报文的序列号小于所述期望序列号,则所述当前非选收通道的当前路径状态为正常,将第一个所述第二类报文丢弃;或者,
若第一个所述第二类报文的序列号大于所述期望序列号,则所述当前非选收通道的当前路径状态为故障,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
当第一个所述第一类报文在所述先入先出缓存中停留的时间与所述路径时延差值之差超过安全阈值,则所述当前非选收通道的当前路径状态为故障。
结合第二个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述调度与故障检测模块,具体还用于若所述当前选收通道的当前路径状态为正常,以及所述当前选收通道的连通状态为正常,则所述当前选收通道的实际路径状态为正常;或者,
若所述当前选收通道的当前路径状态或所述当前选收通道的连通状态任意一个或组合为故障时,则所述当前选收通道的实际路径状态为故障;
所述调度与故障检测模块,具体还用于若所述当前非选收通道的当前路径状态为正常,以及所述当前非选收通道的连通状态为正常,则所述当前非选收通道的实际路径状态为正常;或者,
若所述当前非选收通道的当前路径状态或所述当前非选收通道的连通状态任意一个或组合为故障时,则所述当前非选收通道的实际路径状态为故障。
结合第二个方面的第二种可能的实现方式,在第三种可能的实现方式中,所述自动保护倒换状态模块,具体用于若所述当前选收通道的实际路径状态为故障,且所述当前非选收通道的实际路径状态为正常,则下一次调度时选择所述当前非选收通道作为实际选收路径;或者,
若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为故障,则下一次调度时所述当前选收通道仍然作为实际选收路径;或者,
若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为正常,则下一次调度时选择所述当前非选收通道或所述当前选收通道作为实际选收路径;或者,
若所述当前选收通道的实际路径状态和所述当前非选收通道的实际路径状态均为故障,则将所述先入先出缓存中第一个所述第一类报文发送,所述期望序列号更新为第一个所述第一类报文的序列号加1,若所述当前选收通道没有第一类报文等待发送,切换至所述当前非选收通道作为实际选收路径,则将所述先入先出缓存中第一个所述第一类报文发送,所述期望序列号更新为第一个所述第一类报文的序列号加1。
结合第二个方面或第二个方面的上述任一种可能的实现方式,在第四种可能的实现方式中,所述自动保护倒换状态模块,具体用于接收第一外部倒换命令,若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为正常,则根据所述第一外部倒换命令进入手动状态,并根据所述第一外部倒换命令的通道选择指示信息选择所述当前选收通道或所述当前非选收通道作为所述实际选收路径,其中,所述通道选择指示信息为所述当前选收通道的标识或所述当前非选收通道的标识;
所述自动保护倒换状态模块,具体还用于接收第二外部倒换命令,用于解除所述手动状态,所述第二外部倒换命令包含倒换清除指示;或者,根据倒换恢复设置解除所述手动状态,所述倒换恢复设置包含自动恢复指示和恢复拖延时间。
结合第二个方面或第二个方面的第一种可能的实现方式或第二个方面的第二种可能的实现方式或第二个方面的第三种可能的实现方式,在第五种可能的实现方式中,所述自动保护倒换状态模块,具体用于接收第三外部倒换命令,根据所述第三外部倒换命令指示进入强制状态或倒换锁定状态,将所述当前选收通道或所述当前非选收通道中的一个通道强制作为所述实际选收路径,另一个通道为非选收路径,其中,所述第三外部倒换命令包含倒换锁定指示或强制倒换指示;
实际选收路径为当前选收通道,非选收路径为当前非选收通道,指示调度与故障检测模块,具体用于发送当前选收通道的第一类报文,丢弃所述当前非选收通道的第二类报文;
所述自动保护倒换状态模块,具体还用于接收所述第二外部倒换命令,所述第二外部倒换命令用于解除所述强制状态,所述第二外部倒换命令包含倒换清除指示;或者,
根据倒换恢复设置解除所述强制状态,所述倒换恢复设置包含自动恢复指示和恢复拖延时间。
结合第二个方面的第五种可能的实现方式,在第六种可能的实现方式中,所述调度与故障检测模块,具体用于将所述先入先出缓存中的第一个所述第一类报文的序列号与所述期望序列号进行比较,若第一个所述第一类报文的序列号等于所述期望序列号,则所述实际选收路径的当前路径状态为正常,若第一个所述第一类报文的序列号小于所述期望序列号,则所述实际选收路径的当前路径状态为正常,若第一个所述第一类报文的序列号大于所述期望序列号,则所述实际选收路径的当前路径状态为故障,发送第一个所述第一类报文,并将所述期望序列号更新为第一个所述第一类报文的序列号加1,以用于之后的下一个所述第一类报文的序列号重复进行与所述期望序列号的比较;
将所述先入先出缓存中的第一个所述第二类报文的序列号与所述期望序列号进行比较,若第一个所述第二类报文的序列号等于所述期望序列号,则所述非选收路径的当前路径状态为正常,将第一个所述第二类报文保留在所述先入先出缓存中,若第一个所述第二类报文的序列号小于所述期望序列号,则所述非选收路径的当前路径状态为正常,丢弃第一个所述第二类报文,若第一个所述第二类报文的序列号大于所述期望序列号,则所述非选收路径的当前路径状态为故障,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
若所述当前非选收通道第一个所述第二类报文在所述先入先出缓存中停留时间与所述的路径延时差值之差超过所述安全阈值,则所述当前选收通道当前路径状态为故障,丢弃第一个所述第二类报文。
结合第二个方面或第二个方面的上述任一种可能的实现方式,在第七种可能的实现方式中,主用路径为所述当前选收通道时,备用路径为所述当前非选收通道;或者,所述备用路径为所述当前选收通道时,所述主用路径为所述当前非选收通道。
本发明的第三个方面是提供一种报文传送保护倒换系统,包括第二个方面或第二个方面的任意一中可行的实现方式所述的设备和发送端设备,所述发送端设备用于分别通过当前选收通道发送第一类报文、通过当前非选收通道发送第二类报文,其中所述第二类报文为所述第一类报文的备份。
本发明实施例提供的报文传送保护倒换方法、设备及系统,通过接收端设备分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文,接收端设备分别标记接收每个第一类报文的接收时刻和接收每个第二类报文的接收时刻,其中,第二类报文为第一类报文的备份,接收端设备将每个第一类报文和每个第一类报文的接收时刻以及每个第二类报文和每个第二类报文的接收时刻存储在先入先出缓存中,并获取当前选收通道与当前非选收通道的路径时延差值。接收端设备逐一将第一类报文的序列号与期望序列号比较,并根据第一类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前选收通道的当前路径状态,同时,接收端设备逐一将第二类报文的序列号与期望序列号比较,并根据第二类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前非选收通道的当前路径状态。之后,接收端设备根据当前选收通道的当前路径状态和当前选收通道的连通状态确定当前选收通道的实际路径状态,同时,接收端设备根据当前非选收通道的当前路径状态和当前非选收通道的连通状态确定当前非选收通道的实际路径状态。最后,接收端设备根据当前选收通道的实际路径状态和当前非选收通道的实际路径状态决定下一次调度时的实际选收路径。从而实现在任何流量模式下无损保护倒换,例如,连续的报文流,断续发送的报文,线速报文流或非线速报文流等。提高了进行无损保护倒换的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种报文传送保护倒换方法的流程示意图;
图2为本发明实施例提供的另一种报文传送保护倒换方法的流程示意图;
图3为本发明实施例提供的报文接收示意图;
图4为本发明实施例提供的报文接收示意图;
图5为本发明实施例提供的一种设备结构示意图;
图6为本发明实施例提供的另一种设备结构示意图;
图7为本发明实施例提供的另一种设备结构示意图;
图8为本发明实施例提供的另一种设备结构示意图;
图9为本发明实施例提供的另一种设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种报文传送保护倒换方法的流程示意图,该报文传送保护倒换方法的执行主体为网络中报文接收端设备,具体的,该接收设备可以为路由器、以太网交换机、支持分组传送到混合型微波或者纯分组微波、分组传送(Packet Transport Network,简称:PTN)设备、以及支持分组传送的光传送(Optical Transport Network,简称:OTN)设备,参照图1,该方法包括如下步骤:
步骤100、分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文,并根据时钟模块提供的时刻信息,分别标记接收每个第一类报文的接收时刻和接收每个第二类报文的接收时刻。
其中,第二类报文为第一类报文的备份。
具体的,通常情况下用户可以配置主用路径和备用路径,当主用路径为当前选收通道时,备用路径为当前非选收通道。当备用路径为当前选收通道时,主用路径为当前非选收通道。本实施例中的第一类报文指的是通过当前选收通道接收到的报文,而第二类报文指的是通过当前非选收通道接收到的报文。
步骤101、将每个第一类报文和每个第一类报文的接收时刻以及每个第二类报文和每个第二类报文的接收时刻存储在先入先出缓存中。
步骤102、获取当前选收通道与当前非选收通道的路径时延差值。
具体的,当前选收通道与当前非选收通道的路径时延差值,可以但不限定于通过将两个具有相同序列号的第一类报文与第二类报文相减,其获得的差值即为路径时延差值。
步骤103、逐一将第一类报文的序列号与期望序列号比较或者根据第二类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前选收通道的当前路径状态。
具体的,步骤103提供两种方式确定当前选收通道的当前路径状态,即:逐一将第一类报文的序列号与期望序列号比较;或者,根据第二类报文在先入先出缓存中停留的时间与路径时延差值的关系。其中,第一种方式将在下文实施例中进行具体说明,此处不做赘述。第二种方式,由于接收端设备会采用当前选收通道接收到第一类报文进行传输,当作为备份的第二类报文经当前非选收通道存入先入先出缓存,并且一直没有收到该第一类报文时,该第二类报文会一直停留在该先入先出缓存中,直到收到该第一类报文。因此,第二类报文在先入先出缓存中停留的时间超过路径时延差值时,则说明,当前选收通道出现故障。具体的,根据第二类报文在先入先出缓存中停留的时间与路径时延差值的关系具体指,例如,若当前选收通道比当前非选收通道慢5ms时,则路径时延差值为5ms,此时一个第二类报文在先入先出缓存中停留的时间10ms,其停留时间超过了路径时延差值,说明此时用来传输第一类报文的当前选收通道可能出现了断路或丢包,则该当前选收通道的当前路径状态为故障。
步骤104、逐一将第二类报文的序列号与期望序列号比较或者并根据第一类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前非选收通道的当前路径状态。
具体的,步骤104与步骤103原理类似,此处不做赘述。需要说明的是,步骤103与104是同时进行的。
步骤105、根据当前选收通道的当前路径状态和当前选收通道的连通状态确定当前选收通道的实际路径状态,根据当前非选收通道的当前路径状态和当前非选收通道的连通状态确定当前非选收通道的实际路径状态。
具体的,由于当前选收通道的当前路径状态或当前非选收通道的当前路径状态是通过报文的序列号与期望序列号比较,以及报文在先入先出缓存中停留的时间与路径时延差值的关系来判断的,在断续发送等流量模式时,没有报文发送的期间,此检测机制无法监测路径实际状态,因此,以当前选收通道为例,步骤105根据当前选收通道的当前路径状态和当前选收通道的连通状态确定当前选收通道的实际路径状态。需要说明的是,当前选收通道的连通状态其主要用于表征在没有业务报文发送的时间段内,当前选收通道是否工作正常。具体的,获取当前选收通道的连通状态的可行实现方式包括:在报文发送方增加了一个通道连通性报文生成器,周期生成连通性检测报文。连通性检测报文与业务报文一起,按照实际发送到顺序,添加序列号。以当前的当前选收通道为例,在没有业务报文收发的时候,接收端设备可以通过连通性检测报文判断当前选收通道是否工作正常。并且,接收端设备判断报文为通性检测报文后,则丢弃该通性检测报文。或者,可以在接收端设备中增加外部连通性检测功能模块,该模块可以是IEEE802.1ag、ITU Y.1731、MPLS-TP标准定义的操作管理维护(Operation Administration andMaintenance,简称:OAM)功能模块,以当前选收通道为例,该模块能在通道没有报文发送到时候检测当前选收通道的连通状态。针对当前非选收通道也做类似处理不再赘述。
步骤106、根据当前选收通道的当前路径状态和当前非选收通道的实际路径状态决定下一次调度时的实际选收路径。
具体的,若当前选收通道的当前路径状态为正常,并且当前非选收通道的当前路径状态为正常,则下一次调度时,实际选收路径保持不变,仍旧为本次调度中的当前选收通道;或者,若接收到用户的第一外部倒换命令进入手动状态,则根据用户指示选择相应的通道作为实际选收路径,下文中会对手动状态的方案进行说明,此处不再赘述。若当前选收通道的当前路径状态为故障,并且当前非选收通道的当前路径状态为正常,例如,本次调度中,当前选收通道为主用路径,当前非选收通道为备用路径,则下一次调度时,实际选收路径为备用路径,即下一次调度的当前选收通道为备用路径;若当前选收通道的当前路径状态为正常,并且当前非选收通道的当前路径状态为故障,则下一次调度时,实际选收路径不变。需要说明的是,若当前选收通道的当前路径状态为故障,并且当前非选收通道的当前路径状态为故障,则接收端设备维持实际选收路径不变,将当前选收通道的先入先出缓存中的第一个第一类报文发送出去。
本实施例提供的报文传送保护倒换方法,通过接收端设备分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文,接收端设备分别标记接收每个第一类报文的接收时刻和接收每个第二类报文的接收时刻,其中,第二类报文为第一类报文的备份,接收端设备将每个第一类报文和每个第一类报文的接收时刻以及每个第二类报文和每个第二类报文的接收时刻存储在先入先出缓存中,并获取当前选收通道与当前非选收通道的路径时延差值。接收端设备逐一将第一类报文的序列号与期望序列号比较,并根据第一类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前选收通道的当前路径状态,同时,接收端设备逐一将第二类报文的序列号与期望序列号比较,并根据第二类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前非选收通道的当前路径状态。之后,接收端设备根据当前选收通道的当前路径状态和当前选收通道的连通状态确定当前选收通道的实际路径状态,同时,接收端设备根据当前非选收通道的当前路径状态和当前非选收通道的连通状态确定当前非选收通道的实际路径状态。最后,接收端设备根据当前选收通道的实际路径状态和当前非选收通道的实际路径状态决定下一次调度时的实际选收路径。从而实现在任何流量模式下无损保护倒换,例如,连续的报文流,断续发送的报文,线速报文流或非线速报文流等。提高了进行无损保护倒换的准确性。
优选的,图1中步骤103中的“逐一将第一类报文的序列号与期望序列号比较,确定当前选收通道的当前路径状态”,具有以下三种可能的情况:
情况一:将先入先出缓存中的第一个第一类报文的序列号与期望序列号进行比较,若第一个第一类报文的序列号等于期望序列号,则当前选收通道的当前路径状态为正常,发送第一个第一类报文,并将期望序列号加1,以用于之后的下一个第一类报文的序列号重复进行与期望序列号的比较。
情况二:将先入先出缓存中的第一个第一类报文的序列号与期望序列号进行比较,若第一个第一类报文的序列号小于期望序列号,则当前选收通道的当前路径状态为正常,则将第一个第一类报文丢弃。
情况三:将先入先出缓存中的第一个第一类报文的序列号与期望序列号进行比较,若第一个第一类报文的序列号大于期望序列号,则当前选收通道的当前路径状态为故障,将第一个第一类报文保留在先入先出缓存中。
图1中步骤103中的“根据第二类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前选收通道的当前路径状态”,具有以下两种可能的情况:
情况一:当第一个第二类报文在先入先出缓存中停留的时间与路径时延差值之差超过安全阈值,则当前选收通道的当前路径状态为故障。
情况二:当第一个第二类报文在先入先出缓存中停留的时间与路径时延差值之差未超过安全阈值,则还不能判断当前选收通道的当前路径状态是否为故障。
例如,下表一为接收端设备当前选收通道的几种可行的处理方式:
表一
需要说明的是,对于“根据第二类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前选收通道的当前路径状态”,在具体的情况中,需要将当第一个第二类报文在先入先出缓存中停留的时间与路径时延差值之差超过安全阈值,其中该安全阈值通常为一个可能的最大值,通常依据经验设定。
优选的,图1中步骤104中“逐一将第二类报文的序列号与期望序列号比较,确定当前非选收通道的当前路径状态”,具有以下三种可能的情况:
情况一:将先入先出缓存中的第一个第二类报文的序列号与期望序列号进行比较,若第一个第二类报文的序列号等于期望序列号,则当前非选收通道的当前路径状态为正常,将第一个第二类报文保留在先入先出缓存中。
情况二:将先入先出缓存中的第一个第二类报文的序列号与期望序列号进行比较,若第一个第二类报文的序列号小于期望序列号,则当前非选收通道的当前路径状态为正常,将第一个第二类报文丢弃。
情况三:将先入先出缓存中的第一个第二类报文的序列号与期望序列号进行比较,若第一个第二类报文的序列号大于期望序列号,则当前非选收通道的当前路径状态为故障,将第一个第二类报文保留在先入先出缓存中。
图1中步骤104中的“根据第一类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前非选收通道的当前路径状态”,具有以下两种可能的情况:
情况一:当第一个第一类报文在先入先出缓存中停留的时间与路径时延差值之差超过安全阈值,则当前非选收通道的当前路径状态为故障。
情况二:当第一个第一类报文在先入先出缓存中停留的时间与路径时延差值之差未超过安全阈值,则还不能判断当前选收通道的当前路径状态是否为故障。
例如,下表二为接收端设备当前的当前非选收通道的几种可行的处理方式。
优选的,图1中步骤105的一种可行的实现方式为:
若当前选收通道的当前路径状态为正常,以及当前选收通道的连通状态为正常,则当前选收通道的实际路径状态为正常;或者,
若当前选收通道的当前路径状态或当前选收通道的连通状态任意一个或组合为故障时,则当前选收通道的实际路径状态为故障。
具体的,即,只有当前选收通道的当前路径状态和当前选收通道的连通状态都为正常时,该当前选收通道的实际路径状态才能为正常,只要其中有一个为故障,或者,全部为故障,则该当前选收通道的实际路径状态就为故障。
表二
进一步的,若当前非选收通道的当前路径状态为正常,以及当前非选收通道的连通状态为正常,则当前非选收通道的实际路径状态为正常;或者,
若当前非选收通道的当前路径状态或当前非选收通道的连通状态任意一个或组合为故障时,则当前非选收通道的实际路径状态为故障。
具体的,当前非选收通道的实际路径状态判断依据条件与当前选收通道类似,此处不做赘述。
基于上述实施例以及各个可行的实现方式,图1中步骤106具有如下三种情况:
情况一:若当前选收通道的实际路径状态为故障,且当前非选收通道的实际路径状态为正常,则下一次调度时选择当前非选收通道作为实际选收路径。
例如,在本次调度时,当前选收通道为用户配置的主用路径,当前非选收通道为用户配置的备用路径;当前选收通道的实际路径状态为故障,且当前非选收通道的实际路径状态为正常,即主用路径为故障,备用路径为正常时,则在下一次调度时选择备用路径作为实际选收路径。同样,当前选收通道为用户配置的备用路径,当前非选收通道为用户配置的主用路径的场景,也有类似操作,此处不再赘述。
情况二:若当前选收通道的实际路径状态为正常,且当前非选收通道的实际路径状态为故障,则下一次调度时当前选收通道仍然作为实际选收路径。
例如,在本次调度时,当前选收通道为用户配置的主用路径,当前非选收通道为用户配置的备用路径;当前选收通道的实际路径状态为正常,且当前非选收通道的实际路径状态为故障,即主用路径为正常,备用路径为故障时,则在下一次调度时仍然选择主用路径作为实际选收路径。
情况三:若当前选收通道的实际路径状态为正常,且当前非选收通道的实际路径状态为正常,则下一次调度时选择当前非选收通道或当前选收通道作为实际选收路径。
例如,在本次调度时,当前选收通道为用户配置的主用路径,当前非选收通道为用户配置的备用路径;当前选收通道的实际路径状态为正常,且当前非选收通道的实际路径状态为正常,即主用路径为正常,备用路径为正常时,通常情况下,下一次调度时,主用路径仍然作为实际选收路径。但是,如果接收到了用户发送的第一外部倒换命令,指示选择备用路径作为实际选收路径,则下一次调度时选择备用路径作为实际选收路径。对于接收第一外部倒换命令的方案将在下文中进行说明,此处不做赘述。
需要说明的是,若当前选收通道的实际路径状态和当前非选收通道的实际路径状态均为故障,则将先入先出缓存中第一个第一类报文发送,期望序列号更新为第一个第一类报文的序列号加1,若当前选收通道没有第一类报文等待发送,切换至当前非选收通道作为实际选收路径,则将先入先出缓存中第一个第一类报文发送,期望序列号更新为第一个第一类报文的序列号加1。
需要说明的是,例如,当前选收通道为当前为用户配置的主用通道,当前非选收通道为用户配置的备用通道,则此时备用通道传输的报文为第二类报文,若切换至当前非选收通道作为实际选收路径,即,在下一个调度时切换到备用通道进行报文传输,则在下一调度时,选收通道为备用通道,通过备用通道传输的报文对应为第一类报文。
进一步的,由于现有技术保护倒换的方案只会将路径倒换至最短路径进行报文的接收,无法根据用户的需求选定路径接收报文。为了解决这一问题,本发明下述实施例提供一种方法来实现基于用户需求选定路径接收报文。下面通过具体的实施例对该方案进行说明,在步骤106情况三的条件下,当前选收通道的实际路径状态为正常,且当前非选收通道的实际路径状态为正常时,还可以基于用户的第一外部倒换命令,进入手动状态,从而根据用户的需求选择相应的通道作为实际选收路径。下面通过具体实施例对该手动状态进行说明,具体的,图2为本发明实施例提供的另一种报文传送保护倒换方法的流程示意图,该报文传送保护倒换方法的执行主体为报文接收端设备,在图1的基础上,参照图2,步骤106具体可以为如下步骤:
步骤106a、接收第一外部倒换命令,若当前选收通道的实际路径状态为正常,且当前非选收通道的实际路径状态为正常,则根据第一外部倒换命令进入手动状态,并根据第一外部倒换命令的通道选择指示信息选择当前选收通道或当前非选收通道作为实际当前选收通道。
其中,通道选择指示信息为当前选收通道的标识或当前非选收通道的标识。
具体的,用户根据向接收端设备发送第一外部倒换命令,实现了根据用户需求选择用户需要的通道作为实际选收路径。
步骤106b,接收第二外部倒换命令,用于解除手动状态,第二外部倒换命令包含倒换清除指示;或者,根据倒换恢复设置解除手动状态,倒换恢复设置包含自动恢复指示和恢复拖延时间。
需要说明的是,在接收到接收第一外部倒换命令之前,上述步骤100至106处于自动状态,本实施例中自动状态的优先级大于手动状态,因此在接收到第二外部倒换命令,解除手动状态后,接收端设备恢复到自动状态,继续重复执行上述步骤100至106。
进一步的,本发明实施例中,还包括:倒换锁定状态和强制状态,其与上述自动状态和手动状态的优先级顺序为:倒换锁定状态>强制状态>自动状态>手工状态。
强制状态的作用和倒换锁定状态的作用通过下述实施例进行说明,图3为本发明实施例提供的另一种报文传送保护倒换方法的流程示意图,该报文传送保护倒换方法的执行主体为报文接收端设备,在图1的基础上,图3添加了下述步骤,在步骤100之后,还包括如下步骤:
步骤107、接收第三外部倒换命令,根据第三外部倒换命令指示进入强制状态或倒换锁定状态,将当前选收通道或当前非选收通道中的一个通道强制作为实际选收路径,另一个通道为非选收路径,其中,第三外部倒换命令包含倒换锁定指示或强制倒换指示。
需要说明的是,第三外部倒换命令指示将用户配置的主用通道强制作为实际选收路径时,则进入倒换锁定状态。第三外部倒换命令指示将用户配置的备用通道强制作为实际选收路径时,则进入强制状态。
并且,步骤107与图1中步骤100至106之间没有必然的先后逻辑联系,即只要接收端设备接收到接收第三外部倒换命令,无论此时该设备正在执行上述步骤100至106中的哪一步,都进入强制状态或倒换锁定状态。
第三外部倒换命令包含倒换锁定指示或强制倒换指示。
步骤108、实际选收路径为当前选收通道,非选收路径为当前非选收通道,发送当前选收通道的第一类报文,丢弃所述当前非选收通道的第二类报文。
例如,若强制将用户配置的主用路径作为实际选收路径,主用路径为当前选收通道,备用路径为当前非选收通道,则发送当前选收通道的第一类报文,丢弃当前非选收通道的第二类报文。
若强制将用户配置的备用路径作为实际选收路径,备用路径成为当前选收通道,主用路径为当前非选收通道。同样发送当前选收通道的第一类报文,丢弃当前非选收通道的第二类报文。
步骤109、接收第二外部倒换命令,第二外部倒换命令用于解除强制状态,第二外部倒换命令包含倒换清除指示;或者,根据倒换恢复设置解除强制状态,倒换恢复设置包含自动恢复指示和恢复拖延时间。
需要说明的是,当接收端设备接收到第二外部倒换命令后,解除强制状态,则此时继续重复步骤100至106的步骤,根据当前选收通道的实际路径状态和当前非选收通道的实际路径状态判断下一次调度中的实际选收路径,实现无损保护倒换。若接收端设备一直没有接收到该第二外部倒换命令,则该设备将一直处于强制状态。
则“若强制将当前选收通道作为实际选收路径,当前非选收通道作为非选收路径,则发送第一类报文,丢弃第二类报文”具体包括如下情况:
情况一:将先入先出缓存中的第一个第一类报文的序列号与期望序列号进行比较,若第一个第一类报文的序列号等于期望序列号,则实际选收路径的当前路径状态为正常,发送第一个第一类报文,并将期望序列号更新为第一个第一类报文的序列号加1,以用于之后的下一个第一类报文的序列号重复进行与期望序列号的比较。
情况二:将先入先出缓存中的第一个第一类报文的序列号与期望序列号进行比较,若第一个第一类报文的序列号小于期望序列号,则实际选收路径的当前路径状态为故障,发送第一个第一类报文,并将期望序列号更新为第一个第一类报文的序列号加1,以用于之后的下一个第一类报文的序列号重复进行与期望序列号的比较。
需要说明的是,由于在强制状态或倒换锁定状态下,路径不能随意切换,因此若第一个第一类报文的序列号小于期望序列号,则说明第一报文出现乱序。
情况三:将先入先出缓存中的第一个第一类报文的序列号与期望序列号进行比较,若第一个第一类报文的序列号大于期望序列号,则实际选收路径的当前路径状态为故障,发送第一个第一类报文,并将期望序列号更新为第一个第一类报文的序列号加1,以用于之后的下一个第一类报文的序列号重复进行与期望序列号的比较。
相应的,“当前非选收通道为非选收路径,则丢弃第二报文”,具有以下四种情况:
情况一:将先入先出缓存中的第一个第二类报文的序列号与期望序列号进行比较,若第一个第二类报文的序列号等于期望序列号,则非选收路径的当前路径状态为正常,保留第一个第二类报文。
情况二:将先入先出缓存中的第一个第二类报文的序列号与期望序列号进行比较,若第一个第二类报文的序列号小于期望序列号,则非选收路径的当前路径状态为正常,丢弃第一个第二类报文。
情况三:将先入先出缓存中的第一个第二类报文的序列号与期望序列号进行比较,若第一个第二类报文的序列号大于期望序列号,则非选收路径的当前路径状态为故障,保留第一个第二类报文。
情况四:若当前非选收通道第一个第二类报文在先入先出缓存中停留时间与的路径延时差值之差超过安全阈值,则当前选收通道当前路径状态为故障,丢弃第一个第二类报文。
在接收端处于上述强制状态或倒换锁定状态时,通过下面表三和表四对当前选收通道和当前非选收通道处理报文的方式进行说明。
表三
需要说明的是,当先入先出缓存中第一个第一类报文序列号大于期望序列号时,期望序列号=报文序列号+1,其作用在于:如果是第一类报文丢包,仅为期望序号增1会导致后续持续误判该当前选收通道为故障,而采用期望序列号=报文序列号+1的处理方式,后续会采用表三种第一行的处理,判断路径恢复正常。
表四为当前非选收通道为非选收路径时处理第二类报文的方式列表。
表四
图4为本发明实施例提供的报文接收示意图,图4所示,其中,假设左侧为发送端,右侧为接收端,上方的报文通过长路径传输,下方的报文通过短路径传输。两者之间差别90个报文。假设安全阈值(GuardTime)为10个报文周期。如果短路径为当前选收通道,当前选收通道与当前非选收通道延时差为-90,短路径从94开始中断,在从长径接收到94序号报文时:
当前时刻(CurrentTime)–先入先出缓存中第一个第二类报文的接收时刻(Standby packet Timestamp)>{路径的延时差(different of fiber)+安全阈值(GuardTime)}
则计算结果为:0>-90+安全阈值(GuardTime)。
此时可立即进行无损保护倒换,通过当前非选收通道接收和发送备份报文。
假设安全阈值(GuardTime)为10个报文周期。如果长路径为当前选收通道,当前选收通道与当前非选收通道延时差为90,长路径从94开始中断,此时短路径的报文在先入先出缓存中已经存储了90个报文周期,则:
当前时刻(CurrentTime)–先入先出缓存中第一个第二类报文的接收时刻(Standby.packet.Timestamp)>{路径的延时差(different of fiber)+安全阈值(GuardTime)}
计算结果为:90>90+安全阈值(GuardTime)。
过10个报文周期后,即进行无损保护倒换。可见上述两种情况均能够实现快速的保护倒换。
图5为本发明实施例提供的一种设备结构示意图,该设备可以为路由器、以太网交换机、支持分组传送到混合型微波或者纯分组微波、分组传送(PacketTransport Network,简称:PTN)设备、以及支持分组传送的光传送(OpticalTransport Network,简称:OTN)设备,该设备作为报文的接收方接收发送方设备发送的报文。参照图5,该设备包括:接收模块10、报文接收时刻标记模块11、路径延时测量模块12、调度与故障检测模块13、自动保护倒换状态模块14。
接收模块10,用于分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文。
其中,第二类报文为第一类报文的备份。
具体的,通常情况下用户可以配置主用路径和备用路径,当主用路径为当前选收通道时,备用路径为当前非选收通道。当备用路径为当前选收通道时,主用路径为当前非选收通道。本实施例中的第一类报文指的是通过当前选收通道接收到的报文,而第二类报文指的是通过当前非选收通道接收到的报文。
报文接收时刻标记模块11,用于根据时钟模块提供的时刻信息,分别标记接收每个第一类报文的接收时刻和接收每个第二类报文的接收时刻,其中第二类报文为第一类报文的备份,并将每个第一类报文和每个第一类报文的接收时刻以及每个第二类报文和每个第二类报文的接收时刻存储在先入先出缓存中。
具体的,报文接收时刻标记模块11按照时钟模块提供的时刻信息,标记接收到报文的时刻。然后将报文和时刻信息存入FIFO。
路径延时测量模块12,用于获取当前选收通道与当前非选收通道的路径时延差值。
具体的,路径延时测量模块12依据主备通道的相同序号的报文的接收时刻,判断两个报文的延时差,从而计算出当前选收通道与当前非选收通道的路径延时差值。此模块在方案中可选。当此模块可以采用由用户配置指定路径的延时差值。
调度与故障检测模块13,用于逐一将第一类报文的序列号与期望序列号比较或者根据第二类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前选收通道的当前路径状态;还用于逐一将第二类报文的序列号与期望序列号比较或者根据第一类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前非选收通道的当前路径状态;还用于根据当前选收通道的当前路径状态和当前选收通道的连通状态确定当前选收通道的实际路径状态,根据当前非选收通道的当前路径状态和当前非选收通道的连通状态确定当前非选收通道的实际路径状态。
具体的,调度与故障检测模块13为无损保护的关键执行模块。该模块依据以下信息,判断当前选收通道和当前非选收通道的当前路径状态和实际路径状态。依据实际路径状态作出相应的报文调度判断。将实际路径状态上报给自动保护倒换状态模块14,并更新期望序列号。进一步的,该模块依据的信息可以为一下任意一种或组合:期望序列号、当前选收通道和当前非选收通道对应先入先出缓存的第一个报文(第一个第一类报文或者第一个第二类报文)的序列号、报文在先入先出缓存中停留的时间与路径延时差的关系、外部连通性检测功能模块检测的连通状态、路径选收状态(强制状态、自动状态、倒换锁定状态)、自动保护倒换状态模块14指定的实际选收路径。
需要说明的是,在此命名了两种故障状态:当前路径状态,实际路径状态。当前路径状态依据序列号连续情况以及报文停留时长作出的判断。实际路径状态需要考虑故障抖动过滤、以及与外部检测的通道故障合并等因素。
自动保护倒换状态模块14,用于根据当前选收通道的实际路径状态和当前非选收通道的实际路径状态决定下一次调度时的实际选收路径。
本实施例提供的设备,通过接收端设备分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文,接收端设备分别标记接收每个第一类报文的接收时刻和接收每个第二类报文的接收时刻,其中,第二类报文为第一类报文的备份,接收端设备将每个第一类报文和每个第一类报文的接收时刻以及每个第二类报文和每个第二类报文的接收时刻存储在先入先出缓存中,并获取当前选收通道与当前非选收通道的路径时延差值。接收端设备逐一将第一类报文的序列号与期望序列号比较,并根据第一类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前选收通道的当前路径状态,同时,接收端设备逐一将第二类报文的序列号与期望序列号比较,并根据第二类报文在先入先出缓存中停留的时间与路径时延差值的关系,确定当前非选收通道的当前路径状态。之后,接收端设备根据当前选收通道的当前路径状态和当前选收通道的连通状态确定当前选收通道的实际路径状态,同时,接收端设备根据当前非选收通道的当前路径状态和当前非选收通道的连通状态确定当前非选收通道的实际路径状态。最后,接收端设备根据当前选收通道的实际路径状态和当前非选收通道的实际路径状态决定下一次调度时的实际选收路径。从而实现在任何流量模式下无损保护倒换,例如,连续的报文流,断续发送的报文,线速报文流或非线速报文流等。提高了进行无损保护倒换的准确性。
优选的,自动保护倒换状态模块14还可以依据外部倒换命令(倒换清除、倒换锁定、强制倒换、手工倒换)、倒换恢复设置(自动恢复,恢复拖延时间)以及调度与故障检测模块13上报的通道的实际路径状态,决定实际选收路径。
在用户下发倒换锁定、强制倒换命令的时候,自动保护倒换状态模块14指定自动保护倒换状态模块14进入强制态,不管用户指定通道存在丢包、乱序、断纤等故障,固定工作在用户指定的选收通道接收。此时自动保护倒换状态模块14仍然检测通道故障状态,上报给自动保护倒换状态模块14。使之在外部命令清除后能做出正确倒换判断。
没有以上外部命令存在时,自动保护倒换状态模块14指定调度与故障检测模块13进入无损接收态(自动状态)。
无损接收态下,如果当前选收通道报文序号连续、无故障,调度与故障检测模块13自动调度和发送当前选收通道报文。如果当前选收通道和当前非选收通道都检出故障,此时无法做到无损选收,调度与故障检测模块13进行一次有损调度。其他情况下,调度与故障检测模块13放弃调度报文,等待自动保护倒换状态模块14作出倒换选择。每一次调度结束时,自动保护倒换状态模块14都可以重新指定当前选收通道。
在初始化过程,自动保护倒换状态模块14将期望序列号初始为通配状态,任何报文序列号都认为符合期望值。依据配置的主备通道,将主通道设置为当前实际选收通道。清除主备选收路径的所有故障指示。然后设置调度与故障检测模块进入无损选收状态。
进一步的,自动保护倒换状态模块14指定调度与故障检测模块13进入无损接收态(自动状态)时,针对当前选收通道,调度与故障检测模块13能够执行上文表一的相应处理:
调度与故障检测模块13,具体用于将先入先出缓存中的第一个第一类报文的序列号与期望序列号进行比较,若第一个第一类报文的序列号等于期望序列号,则当前选收通道的当前路径状态为正常,发送第一个第一类报文,并将期望序列号加1,以用于之后的下一个第一类报文的序列号重复进行与期望序列号的比较;或者,
若第一个第一类报文的序列号小于期望序列号,则当前选收通道的当前路径状态为正常,则将第一个第一类报文丢弃;或者,
若第一个第一类报文的序列号大于期望序列号,则当前选收通道的当前路径状态为故障,将第一个第一类报文保留在先入先出缓存中;或者,
当第一个第二类报文在先入先出缓存中停留的时间与路径时延差值之差超过安全阈值,则当前选收通道的当前路径状态为故障。
自动保护倒换状态模块14指定调度与故障检测模块13进入无损接收态(自动状态)时,针对当前非选收通道,调度与故障检测模块13能够执行上文表二的相应处理:
调度与故障检测模块13,具体还用于将先入先出缓存中的第一个第二类报文的序列号与期望序列号进行比较,若第一个第二类报文的序列号等于期望序列号,则当前非选收通道的当前路径状态为正常,将第一个第二类报文保留在先入先出缓存中;或者,
若第一个第二类报文的序列号小于期望序列号,则当前非选收通道的当前路径状态为正常,将第一个第二类报文丢弃;或者,
若第一个第二类报文的序列号大于期望序列号,则当前非选收通道的当前路径状态为故障,将第一个第二类报文保留在先入先出缓存中;或者,
当第一个第一类报文在先入先出缓存中停留的时间与路径时延差值之差超过安全阈值,则当前非选收通道的当前路径状态为故障。
进一步的,调度与故障检测模块13,具体还用于若当前选收通道的当前路径状态为正常,以及当前选收通道的连通状态为正常,则当前选收通道的实际路径状态为正常;或者,
若当前选收通道的当前路径状态或当前选收通道的连通状态任意一个或组合为故障时,则当前选收通道的实际路径状态为故障;
调度与故障检测模块13,具体还用于若当前非选收通道的当前路径状态为正常,以及当前非选收通道的连通状态为正常,则当前非选收通道的实际路径状态为正常;或者,
若当前非选收通道的当前路径状态或当前非选收通道的连通状态任意一个或组合为故障时,则当前非选收通道的实际路径状态为故障。
其中,实际路径状态由当前路径状态、外部连通性检测功能模块判断的连通状态组合得到。
外部连通性检测功能模块可以是IEEE802.1ag、ITU Y.1731、MPLS-TP标准定义的OAM功能模块,这些功能模块能在通道没有报文发送到时候检测通道的状态。但是不能及时发现链路故障。
所以通道的实际路径状态由以上两个状态采取“或”的运算方式获得最终结果。也就是说,当外部检测模块或者调度与故障检测模块13任何一个模块判断存在故障时,认为相应通道的实际路径状态为故障。只有两者都没有故障存在时,才认为该通道的实际路径状态正常。自动保护倒换状态模块14依据当前选收通道和当前非选收通道的实际路径状态进行倒换判断。
有损调度:
在当前选收通道的实际路径状态为故障和当前非选收通道的实际路径状态同时为故障时,调度与故障检测模块13进行一次有损调度,将当前选收通道的先入先出缓存中第一个第一类报文调度出先入先出缓存,并发送。
进一步的,自动保护倒换状态模块14,具体用于若当前选收通道的实际路径状态为故障,且当前非选收通道的实际路径状态为正常,则下一次调度时选择当前非选收通道作为实际选收路径;或者,
若当前选收通道的实际路径状态为正常,且当前非选收通道的实际路径状态为故障,则下一次调度时当前选收通道仍然作为实际选收路径;或者,
若当前选收通道的实际路径状态为正常,且当前非选收通道的实际路径状态为正常,则下一次调度时选择当前非选收通道或当前选收通道作为实际选收路径;或者,
若当前选收通道的实际路径状态和当前非选收通道的实际路径状态均为故障,则将先入先出缓存中第一个第一类报文发送,期望序列号更新为第一个第一类报文的序列号加1,若当前选收通道没有第一类报文等待发送,切换至当前非选收通道作为实际选收路径,则将先入先出缓存中第一个第一类报文发送,期望序列号更新为第一个第一类报文的序列号加1。
需要说明的是,例如,当前选收通道为当前为用户配置的主用通道,当前非选收通道为用户配置的备用通道,则此时备用通道传输的报文为第二类报文,若切换至当前非选收通道作为实际选收路径,即,在下一个调度时切换到备用通道进行报文传输,则在下一调度时,选收通道为备用通道,通过备用通道传输的报文对应为第一类报文。
进一步的,参照上文图2及相应实施例,由于现有技术保护倒换的方案只会将路径倒换至最短路径进行报文的接收,无法根据用户的需求选定路径接收报文。为了解决这一问题,本发明下述实施例提供的设备还有如下功能:
自动保护倒换状态模块14,具体用于接收第一外部倒换命令,若当前选收通道的实际路径状态为正常,且当前非选收通道的实际路径状态为正常,则根据第一外部倒换命令进入手动状态,并根据第一外部倒换命令的通道选择指示信息选择当前选收通道或当前非选收通道作为实际选收路径,其中,通道选择指示信息为当前选收通道的标识或当前非选收通道的标识;
自动保护倒换状态模块14,具体还用于接收第二外部倒换命令,用于解除手动状态,第二外部倒换命令包含倒换清除指示;或者,根据倒换恢复设置解除手动状态,倒换恢复设置包含自动恢复指示和恢复拖延时间。
进一步的,参照上文图3及相应实施例,在强制状态下,本实施例提供的设备还有如下功能:
自动保护倒换状态模块14,具体用于接收第三外部倒换命令,根据第三外部倒换命令指示进入强制状态或倒换锁定状态,将当前选收通道或当前非选收通道中的一个通道强制作为实际选收路径,另一个通道为非选收路径,其中,所述第三外部倒换命令包含倒换锁定指示或强制倒换指示;
实际选收路径为当前选收通道,非选收路径为当前非选收通道,指示调度与故障检测模块13发送当前选收通道的第一类报文,丢弃所述当前非选收通道的第二类报文。
例如,若强制将用户配置的主用路径作为实际选收路径,主用路径为当前选收通道,备用路径为当前非选收通道,则指示调度与故障检测模块13发送当前选收通道的第一类报文,丢弃当前非选收通道的第二类报文。
类似的,若强制将用户配置的备用路径作为实际选收路径,备用路径成为当前选收通道,主用路径为当前非选收通道。指示调度与故障检测模块13发送当前选收通道的第一类报文,丢弃当前非选收通道的第二类报文。
自动保护倒换状态模块14,具体还用于接收第二外部倒换命令,第二外部倒换命令用于解除强制状态,第二外部倒换命令包含倒换清除指示;或者,根据倒换恢复设置解除强制状态,倒换恢复设置包含自动恢复指示和恢复拖延时间。
进一步的,调度与故障检测模块13能够执行上文表三和表四的相应处理:
调度与故障检测模块13,具体用于将先入先出缓存中的第一个第一类报文的序列号与期望序列号进行比较,若第一个第一类报文的序列号等于期望序列号,则实际选收路径的当前路径状态为正常,若第一个第一类报文的序列号小于期望序列号,则实际选收路径的当前路径状态为正常,若第一个第一类报文的序列号大于期望序列号,则实际选收路径的当前路径状态为故障,发送第一个第一类报文,并将期望序列号更新为第一个第一类报文的序列号加1,以用于之后的下一个第一类报文的序列号重复进行与期望序列号的比较;
调度与故障检测模块13,具体还用于将先入先出缓存中的第一个第二类报文的序列号与期望序列号进行比较,若第一个第二类报文的序列号等于期望序列号,则非选收路径的当前路径状态为正常,保留第一个第二类报文。
若第一个第二类报文的序列号小于期望序列号,则非选收路径的当前路径状态为正常,丢弃第一个第二类报文。
若第一个第二类报文的序列号大于期望序列号,则非选收路径的当前路径状态为故障,保留第一个第二类报文。
进一步的,调度与故障检测模块13,具体还用于当前选收通道为实际选收路径,当前非选收通道为非选收路径时,若当前非选收通道第一个第二类报文在先入先出缓存中停留时间与的路径延时差值之差超过安全阈值,则当前选收通道当前路径状态为故障,丢弃第一个第二类报文。
对于上述设备可以具有多种不同的实现方式,下面通过具体实例对该设备进行说明。
图6为本发明实施例提供的另一种设备结构示意图,参照图6,该设备还包括:业务流识别模块、传送路径封装剥离模块、时钟模块、路径时延差值存储模块、期望序列号存储模块和先入先出(First Input First Output,简称:FIFO)缓存。由于本实施例中发送端会通过当前选收通道和当前非选收通道两个路径传输报文,因此参照图6,接收端的设备设置有两个业务流识别模块101a、101b,两个传送路径封装剥离模块102a、102b,报文接收时刻标记模块11a、11b,两个FIFO缓存15a、15b、时钟模块16、期望序列号存储模块18。
其中,业务流识别模块101a、101b,用于识别接收到的业务流类型。
由于发送端通过当前选收通道和当前非选收通道分别发送内容相同的业务流,因此接收端设备需要两个业务流识别模块来分别对两个通道的业务流进行识别。并且发送端在发送业务流之前对业务流进行了封装,所以接收端设备设置有传送路径封装剥离模块,用于剥离业务流报文的封装。
时钟模块16,用于为报文接收时刻标记模块11a、11b和调度与故障检测模块13提供本地时间。
具体的,时钟模块16为当前选收通道和当前非选收通道提供一个同源的时钟参考,用于标记每个通道报文接收的时刻,当前选收通道和当前非选收通道时延差值测量,以及判断报文是否在先入先出缓存中超时停留,从而判断出另外通道的是否出现断纤故障,具体细节参照上文无损选收(自动状态)描述。
路径时延差值存储模块17,用于存储路径延时测量模块12获得的当前选收通道和当前非选收通道两个路径的路径时延差值。
FIFO缓存15a、15b,用于存储报文,例如,若图6中上侧对应当前选收通道,则FIFO缓存15a存储第一类报文,FIFO缓存15b存储第二类报文。
期望序列号存储模块18,用于存储期望的序列号。符合期望序列号的报文被调度与故障检测模块13调度发送,然后调度与故障检测模块13将期望序列号更新为报文序号+1。从而协助调度与故障检测模块13完成报文连续性的检测。具体细节参照上文表一至表四。
在初始化过程,自动保护倒换状态模块将期望序列号初始化为通配状态,任何报文序列号都认为符合期望值。
进一步,需要说明的是,自动保护倒换状态模块14可以接收由用户发送外部倒换命令,具体的,外部倒换命令可以但不限定为上述实施例中给出的:第一外部倒换命令、第二外部倒换命令、第三外部倒换命令。并依据外部倒换命令以及调度与故障检测模块13上报的各通道实际路径状态。
指示调度与故障检测模块13选择相应的通道作为实际选收路径。若自动保护倒换状态模块14没有接收到外部倒换命令,则调度与故障检测模块13为自动状态,执行图1所示步骤100至106。
路径延时测量模块12依据主备通道的相同序号的报文的接收时刻,判断两个报文的延时差,从而计算出当前选收通道与当前非选收通道的路径延时差值。此模块在方案中可选。当此模块不存在时,可以由用户配置指定路径的延时差值。
图7为本发明实施例提供的另一种设备结构示意图,参照图7,其中,报文接收时刻标记模块11可以设置在业务流识别模块之前。
进一步的,报文接收时刻标记模块11只要保证设置在FIFO缓存之前即可。
图8为本发明实施例提供的另一种设备结构示意图,参照图8,该设备中的报文接收时刻标记模块11可以合并为一个,即该报文接收时刻标记模块11可以对两个通道的报文的接收时刻分别进行标记。
下面对于发送端的设备进行说明,图9为本发明实施例提供的另一种设备结构示意图,该设备为报文的发送端,参照图9,该设备包括:业务流识别模块20、流量监督模块21、序列号添加模块22、报文复制模块23、发送模块24a、24b。
其中,报文复制模块23,用于将业务流复制成两路业务流,以使内容相同的两路业务流通过当前选收通道和当前非选收通道发送到接收端设备。
序列号添加模块22,用于在业务流识别模块20识别业务流,并完成流量监管以后,对符合服务等级契约(Service level agreement,简称:SLA)的流量,按报文进入顺序,添加序号。(序号以1的粒度递增)。
在实现1+1保护发送方流程中增加添加报文序号的处理过程。
发送模块24a、24b分别发送两路业务流,具体的,其中一个发送模块24a通过多协议标签交换传输协议(Multi-Protocol Label Switching-TransportProfile简称:MPLS-TP)传送路径1发送一个业务流,另一个发送模块通过MPLS-TP传送路径2发送一个业务流。再配合序列号添加模块22为每一个报文添加序列号。
具体的,该发送模块24a、24b可选择进行流量整形。
可选的,还可以包括:连通性报文发生器25,用于周期生成连通性检测报文,此时接收方的设备不需要外部连通性检测功能模块提供连通状态信号,在没有用户报文收发的时候,无损倒换机制自身可以通过连通性检测报文判断通道状态。调度与故障检测模块13按照上文表一中的处理方法将报文调度出先入先出缓存,在接收端设备发送从先入先出缓存调度处的报文之前,需要判断该报文是否是连通性检测报文,如果是连通性检测报文,则丢弃此报文。
本实施例还提供一种报文传送保护倒换系统,该系统包括图5至图8所示的任意一种设备,该设备作为报文的接收端,可以执行图1、图2或图3所示的各个步骤,并且能够实现图1、图2或图3对应的技术效果。该系统还包括图9所示的设备,该设备作为报文的发送端,用于分别通过当前选收通道发送第一类报文、通过当前非选收通道发送第二类报文,其中所述第二类报文为所述第一类报文的备份。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同步进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟、现场可编辑逻辑门阵列(FieldProgrammable Gate Array,简称:FPGA)、专用集成电路(Application-specificintegrated circuit)固化逻辑或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (17)
1.一种报文传送保护倒换方法,其特征在于,包括:
分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文,并根据时钟模块提供的时刻信息,分别标记接收每个所述第一类报文的接收时刻和接收每个所述第二类报文的接收时刻,其中所述第二类报文为所述第一类报文的备份;
将每个所述第一类报文和每个所述第一类报文的接收时刻以及每个第二类报文和每个所述第二类报文的接收时刻存储在先入先出缓存中;
获取所述当前选收通道与所述当前非选收通道的路径时延差值;
逐一将所述第一类报文的序列号与期望序列号比较或者根据所述第二类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前选收通道的当前路径状态;
逐一将所述第二类报文的序列号与所述期望序列号比较或者根据所述第一类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前非选收通道的当前路径状态;
根据所述当前选收通道的当前路径状态和所述当前选收通道的连通状态确定所述当前选收通道的实际路径状态,根据所述当前非选收通道的当前路径状态和所述当前非选收通道的连通状态确定所述当前非选收通道的实际路径状态;
根据所述当前选收通道的实际路径状态和所述当前非选收通道的实际路径状态决定下一次调度时的实际选收路径。
2.根据权利要求1所述的方法,其特征在于,所述逐一将所述第一类报文的序列号与期望序列号比较或者根据所述第二类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前选收通道的当前路径状态,包括:
将所述先入先出缓存中的第一个所述第一类报文的序列号与所述期望序列号进行比较,若第一个所述第一类报文的序列号等于所述期望序列号,则所述当前选收通道的当前路径状态为正常,发送第一个所述第一类报文,并将所述期望序列号加1,以用于之后的下一个所述第一类报文的序列号重复进行与所述期望序列号的比较;或者,
若第一个所述第一类报文的序列号小于所述期望序列号,则所述当前选收通道的当前路径状态为正常,则将第一个所述第一类报文丢弃;或者,
若第一个所述第一类报文的序列号大于所述期望序列号,则所述当前选收通道的当前路径状态为故障,将第一个所述第一类报文保留在所述先入先出缓存中;或者,
当第一个所述第二类报文在所述先入先出缓存中停留的时间与所述路径时延差值之差超过安全阈值,则所述当前选收通道的当前路径状态为故障;
所述逐一将所述第二类报文的序列号与所述期望序列号比较或者根据所述第一类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前非选收通道的当前路径状态,包括:
将所述先入先出缓存中的第一个所述第二类报文的序列号与所述期望序列号进行比较,若第一个所述第二类报文的序列号等于所述期望序列号,则所述当前非选收通道的当前路径状态为正常,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
若第一个所述第二类报文的序列号小于所述期望序列号,则所述当前非选收通道的当前路径状态为正常,将第一个所述第二类报文丢弃;或者,
若第一个所述第二类报文的序列号大于所述期望序列号,则所述当前非选收通道的当前路径状态为故障,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
当第一个所述第一类报文在所述先入先出缓存中停留的时间与所述路径时延差值之差超过安全阈值,则所述当前非选收通道的当前路径状态为故障。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前选收通道的当前路径状态和所述当前选收通道的连通状态确定所述当前选收通道的实际路径状态,包括:
若所述当前选收通道的当前路径状态为正常,以及所述当前选收通道的连通状态为正常,则所述当前选收通道的实际路径状态为正常;或者,
若所述当前选收通道的当前路径状态或所述当前选收通道的连通状态任意一个或组合为故障时,则所述当前选收通道的实际路径状态为故障;
所述根据所述当前非选收通道的当前路径状态和所述当前非选收通道的连通状态确定所述当前非选收通道的实际路径状态,包括:
若所述当前非选收通道的当前路径状态为正常,以及所述当前非选收通道的连通状态为正常,则所述当前非选收通道的实际路径状态为正常;或者,
若所述当前非选收通道的当前路径状态或所述当前非选收通道的连通状态任意一个或组合为故障时,则所述当前非选收通道的实际路径状态为故障。
4.根据权利要求3所述的方法,其特征在于,所述根据所述当前选收通道的当前路径状态和所述当前非选收通道的实际路径状态决定下一次调度时的实际选收路径,包括:
若所述当前选收通道的实际路径状态为故障,且所述当前非选收通道的实际路径状态为正常,则下一次调度时选择所述当前非选收通道作为实际选收路径;或者,
若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为故障,则下一次调度时所述当前选收通道仍然作为实际选收路径;或者,
若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为正常,则下一次调度时选择所述当前非选收通道或所述当前选收通道作为实际选收路径;或者,
若所述当前选收通道的实际路径状态和所述当前非选收通道的实际路径状态均为故障,则将所述先入先出缓存中第一个所述第一类报文发送,所述期望序列号更新为第一个所述第一类报文的序列号加1,若所述当前选收通道没有第一类报文等待发送,切换至所述当前非选收通道作为实际选收路径,则将所述先入先出缓存中第一个所述第一类报文发送,所述期望序列号更新为第一个所述第一类报文的序列号加1。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述根据所述当前选收通道的实际路径状态和所述当前非选收通道的实际路径状态决定下一次调度时的实际选收路径,包括:
接收第一外部倒换命令,若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为正常,则根据所述第一外部倒换命令进入手动状态,并根据所述第一外部倒换命令的通道选择指示信息选择所述当前选收通道或所述当前非选收通道作为所述实际选收路径,其中,所述通道选择指示信息为所述当前选收通道的标识或所述当前非选收通道的标识;
接收第二外部倒换命令,用于解除所述手动状态,所述第二外部倒换命令包含倒换清除指示;或者,
根据倒换恢复设置解除所述手动状态,所述倒换恢复设置包含自动恢复指示和恢复拖延时间。
6.根据权利要求1-4任意一项所述的方法,其特征在于,在所述分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文之后,还包括:
接收第三外部倒换命令,根据所述第三外部倒换命令指示进入强制状态或倒换锁定状态,将所述当前选收通道或所述当前非选收通道中的一个通道强制作为所述实际选收路径,另一个通道为非选收路径,其中,所述第三外部倒换命令包含倒换锁定指示或强制倒换指示;
所述实际选收路径为所述当前选收通道,所述非选收路径为所述当前非选收通道,发送所述当前选收通道的第一类报文,丢弃所述当前非选收通道的第二类报文;
接收所述第二外部倒换命令,所述第二外部倒换命令用于解除所述强制状态,所述第二外部倒换命令包含倒换清除指示;或者,
根据倒换恢复设置解除所述强制状态,所述倒换恢复设置包含自动恢复指示和恢复拖延时间。
7.根据权利要求6所述的方法,其特征在于,所述若强制将所述当前选收通道作为所述实际选收路径,所述当前非选收通道作为所述非选收路径,则发送所述第一类报文,丢弃所述第二类报文,包括:
将所述先入先出缓存中的第一个所述第一类报文的序列号与所述期望序列号进行比较,若第一个所述第一类报文的序列号等于所述期望序列号,则所述实际选收路径的当前路径状态为正常,若第一个所述第一类报文的序列号小于所述期望序列号,则所述实际选收路径的当前路径状态为正常,若第一个所述第一类报文的序列号大于所述期望序列号,则所述实际选收路径的当前路径状态为故障,发送第一个所述第一类报文,并将所述期望序列号更新为第一个所述第一类报文的序列号加1,以用于之后的下一个所述第一类报文的序列号重复进行与所述期望序列号的比较;
将所述先入先出缓存中的第一个所述第二类报文的序列号与所述期望序列号进行比较,若第一个所述第二类报文的序列号等于所述期望序列号,则所述非选收路径的当前路径状态为正常,将第一个所述第二类报文保留在所述先入先出缓存中,若第一个所述第二类报文的序列号小于所述期望序列号,则所述非选收路径的当前路径状态为正常,丢弃第一个所述第二类报文,若第一个所述第二类报文的序列号大于所述期望序列号,则所述非选收路径的当前路径状态为故障,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
若所述当前非选收通道第一个所述第二类报文在所述先入先出缓存中停留时间与所述的路径延时差值之差超过所述安全阈值,则所述当前选收通道当前路径状态为故障,丢弃第一个所述第二类报文。
8.根据权利要求1-7任意一项所述的方法,其特征在于,主用路径为所述当前选收通道时,备用路径为所述当前非选收通道;或者,所述备用路径为所述当前选收通道时,所述主用路径为所述当前非选收通道。
9.一种设备,其特征在于,包括:
接收模块,用于分别接收当前选收通道的第一类报文和当前非选收通道的第二类报文;
报文接收时刻标记模块,用于根据时钟模块提供的时刻信息,分别标记接收每个所述第一类报文的接收时刻和接收每个所述第二类报文的接收时刻,其中所述第二类报文为所述第一类报文的备份,并将每个所述第一类报文和每个所述第一类报文的接收时刻以及每个第二类报文和每个所述第二类报文的接收时刻存储在先入先出缓存中;
路径延时测量模块,用于获取所述当前选收通道与所述当前非选收通道的路径时延差值;
调度与故障检测模块,用于逐一将所述第一类报文的序列号与期望序列号比较或者根据所述第二类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前选收通道的当前路径状态;还用于逐一将所述第二类报文的序列号与所述期望序列号比较或者根据所述第一类报文在所述先入先出缓存中停留的时间与所述路径时延差值的关系,确定所述当前非选收通道的当前路径状态;还用于根据所述当前选收通道的当前路径状态和所述当前选收通道的连通状态确定所述当前选收通道的实际路径状态,根据所述当前非选收通道的当前路径状态和所述当前非选收通道的连通状态确定所述当前非选收通道的实际路径状态;
自动保护倒换状态模块,用于根据所述当前选收通道的实际路径状态和所述当前非选收通道的实际路径状态决定下一次调度时的实际选收路径。
10.根据权利要求9所述的设备,其特征在于,所述调度与故障检测模块,具体用于将所述先入先出缓存中的第一个所述第一类报文的序列号与所述期望序列号进行比较,若第一个所述第一类报文的序列号等于所述期望序列号,则所述当前选收通道的当前路径状态为正常,发送第一个所述第一类报文,并将所述期望序列号加1,以用于之后的下一个所述第一类报文的序列号重复进行与所述期望序列号的比较;或者,
若第一个所述第一类报文的序列号小于所述期望序列号,则所述当前选收通道的当前路径状态为正常,则将第一个所述第一类报文丢弃;或者,
若第一个所述第一类报文的序列号大于所述期望序列号,则所述当前选收通道的当前路径状态为故障,将第一个所述第一类报文保留在所述先入先出缓存中;或者,
当第一个所述第二类报文在所述先入先出缓存中停留的时间与所述路径时延差值之差超过安全阈值,则所述当前选收通道的当前路径状态为故障;
所述调度与故障检测模块,具体还用于将所述先入先出缓存中的第一个所述第二类报文的序列号与所述期望序列号进行比较,若第一个所述第二类报文的序列号等于所述期望序列号,则所述当前非选收通道的当前路径状态为正常,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
若第一个所述第二类报文的序列号小于所述期望序列号,则所述当前非选收通道的当前路径状态为正常,将第一个所述第二类报文丢弃;或者,
若第一个所述第二类报文的序列号大于所述期望序列号,则所述当前非选收通道的当前路径状态为故障,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
当第一个所述第一类报文在所述先入先出缓存中停留的时间与所述路径时延差值之差超过安全阈值,则所述当前非选收通道的当前路径状态为故障。
11.根据权利要求10所述的设备,其特征在于,所述调度与故障检测模块,具体还用于若所述当前选收通道的当前路径状态为正常,以及所述当前选收通道的连通状态为正常,则所述当前选收通道的实际路径状态为正常;或者,
若所述当前选收通道的当前路径状态或所述当前选收通道的连通状态任意一个或组合为故障时,则所述当前选收通道的实际路径状态为故障;
所述调度与故障检测模块,具体还用于若所述当前非选收通道的当前路径状态为正常,以及所述当前非选收通道的连通状态为正常,则所述当前非选收通道的实际路径状态为正常;或者,
若所述当前非选收通道的当前路径状态或所述当前非选收通道的连通状态任意一个或组合为故障时,则所述当前非选收通道的实际路径状态为故障。
12.根据权利要求11所述的方法,其特征在于,所述自动保护倒换状态模块,具体用于若所述当前选收通道的实际路径状态为故障,且所述当前非选收通道的实际路径状态为正常,则下一次调度时选择所述当前非选收通道作为实际选收路径;或者,
若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为故障,则下一次调度时所述当前选收通道仍然作为实际选收路径;或者,
若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为正常,则下一次调度时选择所述当前非选收通道或所述当前选收通道作为实际选收路径;或者,
若所述当前选收通道的实际路径状态和所述当前非选收通道的实际路径状态均为故障,则将所述先入先出缓存中第一个所述第一类报文发送,所述期望序列号更新为第一个所述第一类报文的序列号加1,若所述当前选收通道没有第一类报文等待发送,切换至所述当前非选收通道作为实际选收路径,则将所述先入先出缓存中第一个所述第一类报文发送,所述期望序列号更新为第一个所述第一类报文的序列号加1。
13.根据权利要求9-12任意一项所述的设备,其特征在于,所述自动保护倒换状态模块,具体用于接收第一外部倒换命令,若所述当前选收通道的实际路径状态为正常,且所述当前非选收通道的实际路径状态为正常,则根据所述第一外部倒换命令进入手动状态,并根据所述第一外部倒换命令的通道选择指示信息选择所述当前选收通道或所述当前非选收通道作为所述实际选收路径,其中,所述通道选择指示信息为所述当前选收通道的标识或所述当前非选收通道的标识;
所述自动保护倒换状态模块,具体还用于接收第二外部倒换命令,用于解除所述手动状态,所述第二外部倒换命令包含倒换清除指示;或者,根据倒换恢复设置解除所述手动状态,所述倒换恢复设置包含自动恢复指示和恢复拖延时间。
14.根据权利要求9-12任意一项所述的设备,其特征在于,所述自动保护倒换状态模块,具体用于接收第三外部倒换命令,根据所述第三外部倒换命令指示进入强制状态或倒换锁定状态,将所述当前选收通道或所述当前非选收通道中的一个通道强制作为所述实际选收路径,另一个通道为非选收路径,其中,所述第三外部倒换命令包含倒换锁定指示或强制倒换指示;
实际选收路径为当前选收通道,非选收路径为当前非选收通道,指示调度与故障检测模块,具体用于发送当前选收通道的第一类报文,丢弃所述当前非选收通道的第二类报文;
所述自动保护倒换状态模块,具体还用于接收所述第二外部倒换命令,所述第二外部倒换命令用于解除所述强制状态,所述第二外部倒换命令包含倒换清除指示;或者,
根据倒换恢复设置解除所述强制状态,所述倒换恢复设置包含自动恢复指示和恢复拖延时间。
15.根据权利要求14所述的设备,其特征在于,所述调度与故障检测模块,具体用于将所述先入先出缓存中的第一个所述第一类报文的序列号与所述期望序列号进行比较,若第一个所述第一类报文的序列号等于所述期望序列号,则所述实际选收路径的当前路径状态为正常,若第一个所述第一类报文的序列号小于所述期望序列号,则所述实际选收路径的当前路径状态为正常,若第一个所述第一类报文的序列号大于所述期望序列号,则所述实际选收路径的当前路径状态为故障,发送第一个所述第一类报文,并将所述期望序列号更新为第一个所述第一类报文的序列号加1,以用于之后的下一个所述第一类报文的序列号重复进行与所述期望序列号的比较;
将所述先入先出缓存中的第一个所述第二类报文的序列号与所述期望序列号进行比较,若第一个所述第二类报文的序列号等于所述期望序列号,则所述非选收路径的当前路径状态为正常,将第一个所述第二类报文保留在所述先入先出缓存中,若第一个所述第二类报文的序列号小于所述期望序列号,则所述非选收路径的当前路径状态为正常,丢弃第一个所述第二类报文,若第一个所述第二类报文的序列号大于所述期望序列号,则所述非选收路径的当前路径状态为故障,将第一个所述第二类报文保留在所述先入先出缓存中;或者,
若所述当前非选收通道第一个所述第二类报文在所述先入先出缓存中停留时间与所述的路径延时差值之差超过所述安全阈值,则所述当前选收通道当前路径状态为故障,丢弃第一个所述第二类报文。
16.根据权利要求9-15任意一项所述的设备,其特征在于,主用路径为所述当前选收通道时,备用路径为所述当前非选收通道;或者,所述备用路径为所述当前选收通道时,所述主用路径为所述当前非选收通道。
17.一种报文传送保护倒换系统,其特征在于,包括权利要求9-16任意一项所述的设备和发送端设备,所述发送端设备用于分别通过当前选收通道发送第一类报文、通过当前非选收通道发送第二类报文,其中所述第二类报文为所述第一类报文的备份。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410121229.0A CN104954248B (zh) | 2014-03-27 | 2014-03-27 | 报文传送保护倒换方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410121229.0A CN104954248B (zh) | 2014-03-27 | 2014-03-27 | 报文传送保护倒换方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104954248A true CN104954248A (zh) | 2015-09-30 |
CN104954248B CN104954248B (zh) | 2018-04-20 |
Family
ID=54168618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410121229.0A Active CN104954248B (zh) | 2014-03-27 | 2014-03-27 | 报文传送保护倒换方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104954248B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656852A (zh) * | 2016-12-30 | 2017-05-10 | 国网浙江省电力公司绍兴供电公司 | 一种实现报文二选一的电路结构 |
CN110944358A (zh) * | 2018-09-25 | 2020-03-31 | 华为技术有限公司 | 数据传输方法和设备 |
CN113055969A (zh) * | 2021-03-23 | 2021-06-29 | 浙江大华技术股份有限公司 | 节点的确定方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483549A (zh) * | 2009-02-13 | 2009-07-15 | 华为技术有限公司 | 保护倒换方法、装置和系统 |
US20100008220A1 (en) * | 2006-09-25 | 2010-01-14 | France Telecom | System for Securing the Access to a Destination in a Virtual Private Network |
CN101667970A (zh) * | 2009-10-23 | 2010-03-10 | 杭州华三通信技术有限公司 | 保护倒换方法和设备 |
-
2014
- 2014-03-27 CN CN201410121229.0A patent/CN104954248B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100008220A1 (en) * | 2006-09-25 | 2010-01-14 | France Telecom | System for Securing the Access to a Destination in a Virtual Private Network |
CN101483549A (zh) * | 2009-02-13 | 2009-07-15 | 华为技术有限公司 | 保护倒换方法、装置和系统 |
CN101667970A (zh) * | 2009-10-23 | 2010-03-10 | 杭州华三通信技术有限公司 | 保护倒换方法和设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656852A (zh) * | 2016-12-30 | 2017-05-10 | 国网浙江省电力公司绍兴供电公司 | 一种实现报文二选一的电路结构 |
CN106656852B (zh) * | 2016-12-30 | 2019-02-15 | 国网浙江省电力公司绍兴供电公司 | 一种实现报文二选一的电路结构 |
CN110944358A (zh) * | 2018-09-25 | 2020-03-31 | 华为技术有限公司 | 数据传输方法和设备 |
CN110944358B (zh) * | 2018-09-25 | 2021-12-24 | 华为技术有限公司 | 数据传输方法和设备 |
US11509597B2 (en) | 2018-09-25 | 2022-11-22 | Huawei Technologies Co., Ltd. | Data transmission method and device |
CN113055969A (zh) * | 2021-03-23 | 2021-06-29 | 浙江大华技术股份有限公司 | 节点的确定方法及装置 |
CN113055969B (zh) * | 2021-03-23 | 2023-03-24 | 浙江大华技术股份有限公司 | 节点的确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104954248B (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100534048C (zh) | 分布式以太网系统及基于该系统的故障检测方法 | |
CN101395858B (zh) | 环型冗余通信路径控制方法 | |
US7961602B2 (en) | Method and device using a backup communication path to transmit excess traffic | |
CN102377601B (zh) | 一种lsp故障通告方法和装置 | |
CN101908986B (zh) | 一种链路故障的检测方法和设备 | |
CN106789264B (zh) | 一种链路聚合组通道快速切换的方法和装置 | |
CN104980372A (zh) | 中继系统以及交换机装置 | |
CN101399737A (zh) | 用于以太环网的链路聚合组的保护方法及装置 | |
CN104170328A (zh) | 标签交换路由器的环网中的保护 | |
CN103490921B (zh) | 网络保护方法、装置、下环节点及系统 | |
US9391694B2 (en) | Protection path providing method and transmission device | |
CN106656791A (zh) | 一种设备状态切换的方法、设备及系统 | |
US9166868B2 (en) | Distributed control plane for link aggregation | |
CN102480409A (zh) | 实现rrpp环分路上行的方法、rrpp环和装置 | |
CN102158383B (zh) | 一种e1双向环网络的数据传输方法、装置及系统 | |
WO2012097595A1 (zh) | 一种共享网状保护实现方法及系统 | |
CN104954248A (zh) | 报文传送保护倒换方法、设备及系统 | |
WO2016091094A1 (zh) | 一种光传送网的保护倒换方法及装置 | |
CN104065546A (zh) | 以太网保护切换方法 | |
EP2515477A1 (en) | Method and system for service protection | |
CN107948000B (zh) | 一种主备通道的切换方法、装置及系统 | |
CN102368720A (zh) | 一种链路状态检测方法、装置及系统 | |
CN104796200A (zh) | 中继系统以及交换机装置 | |
CN101667863B (zh) | 一种复用段共享环网保护中增加通道告警触发的装置及方法 | |
CN106533771A (zh) | 一种网络设备以及控制信息传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |