一种在同步串口上实现1+1冗余的方法及装置的制作方法

文档序号:7660307阅读:183来源:国知局
专利名称:一种在同步串口上实现1+1冗余的方法及装置的制作方法
技术领域
本发明涉及通信网络技术,特别涉及一种在同步串口上实现1+1冗余的方法及装置。
背景技术
在通信网络的实际组网中,在一些承载重要流量或较大流量的关键位置,通常需 要部署链路冗余。现有冗余机制主要有1+1冗余和1 N冗余两种。1+1冗余是指每一条工作链路都有一条专有的保护链路为其提供备份。发送端在 工作链路和保护链路上同时传输数据(此过程称为桥接=Bridge),在正常情况下,接收端 从工作链路上接收数据,当工作链路出现故障被接收端检测出来时,接收端将切换到保护 接口上从保护链路接收数据。切换过程只在接收端进行动作。1 N冗余是指一条保护链路同时为N条工作链路提供保护。在正常情况下,发送 端只在相应的工作链路上传输数据,保护链路上此时可以传输一些低优先级的数据,当然, 也可以不进行数据的传输。当工作链路出现故障时,发送端将要传输的数据桥接到保护链 路上,接收端此时从保护链路上接收数据。如果保护链路上原本有低优先级数据在进行传 输,此时,低优先级的数据要让位于高优先级的被保护数据,也就不能进行传输了。当同时 有几条工作链路出现故障时,则根据各个工作链路的优先级,只有最高优先级链路上的数 据可以倒换到保护链路上,其它出现故障的保护链路上的数据只能丢失。1 N冗余在保护 过程中需要发送端和接收端同时进行切换。特别的,当N = 1时,1 N冗余就是1 1冗余。无论是哪种冗余机制,均需要有主备倒换机制的支撑,才能在工作链路出现故障 时,及时发现故障,并倒换到保护链路上进行数据传输。现有技术中存在几种主备倒换机 制,下面分别进行简要介绍APS (Automatic Protection Switching, ^ ! ^! )SDH(Synchronous Digital Hierarchy,同步数字系列)网络中的一种自动保护倒换机制,利用APS可有效支 撑1 N冗余和1+1冗余。APS主要是通过在保护通道上利用STM-N帧中的K1K2字节进行 带内协商,完成从故障链路到非故障链路的倒换过程。G. 841对APS机制有详细描述,在此 不再赘述。只有STM-N接口可以使用APS机制,同步串口上无法使用APS机制。接口备份机制一般用于网络接入层,两条链路上行,一主一备。主链路物理DOWN 时,备链路物理UP,流量从主链路切换到备链路。该机制对接口类型不敏感,几乎所有接口 类型都能支持,同步串口也可以支持。然而,接口备份是一种较为古老的冗余机制,该机制 中三层转发表项中的出接口便是主备接口,这样主备切换时,将引起三层转发表项的更新, 在表项较多时,收敛速度较慢,较严重地影响了链路倒换的速度。并且,接口备份机制无法 支撑1+1冗余机制,流量不能在主备接口上同时发送。可见,现有技术中并不存在在同步串口上实现1+1冗余的技术方案。

发明内容
本发明提供了一种在同步串口上实现1+1冗余的方法及装置,以在同步串口的工 作链路出现异常时,快速倒换到保护链路。本发明提供的一种在同步串口上实现1+1冗余的方法,包括设置逻辑接口,将两个互为冗余的同步串口作为所述逻辑接口的成员口,将所述 同步串口承载的链路层以上的业务配置到所述逻辑接口;初始运行时,将所述两个互为冗余的同步串口的其中之一作为工作接口,另外一 个作为保护接口;设置序号和环形缓冲区,将所述序号的取值设置为初始值;工作接口每接收到一个报文,将所述序号的取值递增,当所述序号达到预先设置 的最大值时,将所述序号的取值重新设置为初始值;保护接口每接收到一个报文,获取所述序号的当前值,并判断所述环形缓冲区是 否溢出,如果没有溢出,将所述序号的当前值填入所述环形缓冲区的尾部;如果环形缓冲区 溢出,判断序号的当前值与环形缓冲区首部所填入序号是否相同,如果不相同,将序号的当 前值填入所述环形缓冲区的首部,否则,将工作接口和保护接口进行倒换。在将序号的当前值填入环形缓冲区时,可以进一步将指向保护接口当前所接收的 报文的指针填入环形缓冲区。较佳地,所述环形缓冲区的长度的取值范围为大于等于对工作接口的异常发生 误判的最短长度,小于等于能够及时发现工作接口的异常的最长长度。本发明还提供了一种在同步串口上实现1+1冗余的装置,包括两个互为冗余的 同步串口、逻辑接口、冗余控制模块和存储单元;所述两个互为冗余的同步串口是所述逻辑接口的成员口,所述逻辑接口用于配置 所述两个互为冗余的同步串口所承载的链路层以上的业务;所述存储单元,用于存储序号和环形缓冲区;所述冗余控制模块,用于在初始运行时将所述两个互为冗余的同步串口的其中一 个设置为工作接口,另外一个设置为保护接口 ;用于在所述工作接口接收到一个报文时,将所述序号的取值递增,当所述序号达 到预先设置的最大值时,用于将所述序号的取值重新设置为初始值;以及用于在所述保护接口接收到一个报文时,获取所述序号的当前值,并判断所 述环形缓冲区是否溢出,如果没有溢出,将所述序号的当前值填入所述环形缓冲区的尾部; 如果环形缓冲区溢出,判断序号的当前值与环形缓冲区首部所填入序号是否相同,如果不 相同,将序号的当前值填入所述环形缓冲区的首部,否则,将所述工作接口和所述保护接口 进行倒换。所述装置中的冗余控制模块在将序号的当前值填入环形缓冲区时,进一步用于将 指向保护接口当前所接收的报文的指针填入环形缓冲区。较佳地,所述环形缓冲区的长度的取值范围为大于等于对工作接口的异常发生 误判的最短长度,小于等于能够及时发现工作接口的异常的最长长度。由上述技术方案可见,本发明提供的在同步串口上实现1+1冗余的方法及装置, 通过设置逻辑接口,并将互为冗余的两个同步串口作为该逻辑接口的成员口,实现了对上层业务屏蔽同步串口,从而使同步串口的倒换不会被上层业务所感知,加快;另外,本发明 通过维护一个序号对工作接口所接收到的报文进行计数,并通过维护一个环形缓冲区存储 工作接口上序号的当前值,实现了对工作接口的异常检测,从而使工作接口的异常能够被 及时发现,并及时触发工作接口与保护接口之间的倒换,在同步串口上实现了 1+1冗余。


图1为在同步串口上进行1+1冗余组网的组网示意图;图2为本发明一实施例中环形缓冲区未满,工作接口正常的示意图;图3为本发明一实施例中环形缓冲区溢出,工作接口正常的示意图;图4为本发明一实施例中环形缓冲区溢出,工作接口异常的示意图;图5为本发明在同步串口上实现1+1冗余的装置的组成结构示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对 本发明作进一步详细说明。图1为在同步串口上进行1+1冗余组网的组网示意图。在图1所示组网中,设备 A和设备B通过两条同步串口链路相连,设备A从两条链路上发出一致的流量,要求设备B 选择一份流量,将流量转发到设备C。设备A和设备B之间通过两条同步串口链路形成了 1+1冗余。当当前接收流量的 链路异常时,设备B需要选择另外一条链路上的流量进行转发。但是,由于设备A和设备B 之间无链路监控协议可使用,因此无法实施物理检测和链路检测,无法发现链路异常,也就 无法实现1+1冗余。本发明的主要思想是在同步串口上无法实施物理检测、链路检测的前提下,利用 软件模拟检测来监控物理链路,从而在工作链路出现异常时,快速倒换到保护链路,以有效 支撑同步串口上的1+1冗余。基于上述主要思想,本发明提出一种在同步串口上实现1+1冗余的方法,该方法 包括以下步骤第1步设置逻辑接口,将两个互为冗余的同步串口作为该逻辑接口的成员口,将 所述同步串口承载的链路层以上的业务配置到该逻辑接口。在实际应用中,网络设备通常支持逻辑接口。本发明设置这样一个逻辑接口,将两 个互为冗余的同步串口作为该逻辑接口的成员口,并将承载在同步串口的上层业务(包括 链路层、网络层、应用层等)基于该逻辑接口进行配置和运行,这样,三层转发表项中记录 的就是逻辑接口而非同步串口。因此,两个同步串口之间的倒换就不会被上层业务所感知, 从而避免了现有技术中,接口备份机制所存在的当表项较多时收敛速度较慢的问题。假设本发明所设置的逻辑接口标记为redundancy,实际应用中的配置样例如下所 示interface redundancy 1link-protocol hdlcmember interface serial 1/1 master
member interface serial 1/2 slave第2步初始运行时,将上述两个互为冗余的同步串口的其中之一作为工作接口, 另外一个作为保护接口。网络设备初始运行时,两条同步串口链路都没有故障,可以设置任何一个同步串 口作为工作接口,而另一个作为保护接口。例如可以设置网络设备从master这个成员口 接收并转发流量。本发明将当前接收并转发流量的接口称为工作接口,接收但丢弃流量的 接口称为保护接口。第3步设置序号和环形缓冲区,将该序号的取值设置为初始值。本步骤中,所设置的序号用于对工作接口上所接收到的报文进行计数,环形缓冲 区用于对工作接口的异常进行检测。第4步同步串口进行流量接收与转发,并在工作接口异常时进行工作接口与保 护接口的倒换。具体而言工作接口每接收到一个报文,将所述序号的取值递增,当序号达到预先设置的最 大值时,将序号的取值重新设置为初始值;保护接口每接收到一个报文,获取序号的当前值,并判断环形缓冲区是否溢出,如 果没有溢出,将序号的当前值填入环形缓冲区的尾部;如果环形缓冲区溢出,判断序号的当 前值与环形缓冲区首部所填入序号是否相同,如果不相同,将序号的当前值填入环形缓冲 区的首部,否则,将工作接口和保护接口进行倒换。在将序号的当前值填入环形缓冲区时,还可以将指向保护接口当前所接收的报文 的指针填入环形缓冲区,从而,在工作接口异常时,可以找回异常发生之前一段时间的报 文。在具体实现时,可以设置一个冗余控制模块来实现上述维护序号和环形缓冲区的 功能,并根据环形缓冲区中所存储序号的情况对工作接口进行异常检测;也可以由工作接 口实现维护序号的功能,而由保护接口实现维护环形缓冲区以及对工作接口进行异常检测 的功能。当采用后者时,由于工作接口与保护接口随时可能发生倒换,因此,序号可以设置 于工作接口和保护接口都能访问的一段存储空间中。当前的工作接口负责维护该序号的取 值,保护接口可以随时访问,以获取序号的当前取值。当然,工作接口也可以向保护接口获 取序号的当前取值。本发明中,序号是循环计数的,序号的取值范围要足够大,以避免序号短时间反 转,如果序号短时间反转,将导致发生误判。例如可以将序号设置为无符号整型,那么,序 号的取值范围为0 232-1,序号将不会在短时间内反转,能够避免误判的发生。下面通过一个例子进行说明工作接口维护一序号,每接收转发一个报文时,该序号递增,该序号的初始值为 1 ;保护接口维护一环形报文缓存区,缓存区的长度可配置,本例中配置为12。当缓存区未满时,将指向保护接口当前所接收的报文的指针和工作接口上序号的 当前取值作为一项,填入环形缓冲区,如图2所示。图2所示环形缓冲区中,每项中的S表 示序号,P表示指向报文的指针。当缓存区溢出时,将要添加到环形缓存区的一项中的序号(该序号的取值即序号的当前值)减去环形缓冲区中首指针指向的序号,如果不为0(如图3所示),表明工作接口 正常,则首指针前移,尾指针前移,将要添加的项放入环形缓存区,替换掉最先存入环形缓 冲区的项;如果为0(如图4所示),则说明工作接口上长时间没有收到流量,工作接口发生 了异常,需要倒换两接口的角色,保护接口变为工作接口开始接收流量,工作接口变为保护 接口开始监控流量。对本发明的上述步骤进行编号只是为了便于说明,在实际应用中,并非一定要按 照上述编号实施本发明。例如,上述第2步和第3步的实施可以交换次序进行。本发明中,环形缓冲区的长度可配置。在设置环形缓冲区的长度时,需要兼顾两方 面的因素一方面,如果环形缓冲区的长度过短,可能导致对工作接口的异常发生误判,因 此,环形缓冲区的长度需要大于等于对工作接口的异常发生误判的最短长度;另一方面,如 果环形缓冲区的长度过长,可能导致工作接口的异常不能被及时发现,因此,环形缓冲区的 长度需要小于等于能够及时发现工作接口的异常的最长长度。因此,在实际应用中,需要兼 顾上述因素,合理地设置缓冲区的长度。对应于上述方法,本发明还提供了一种在同步串口上实现1+1冗余的装置,如图5 所示。图5所示装置包括两个互为冗余的同步串口 501和502、逻辑接口 503、存储单元 504和冗余控制模块505,其中上述两个互为冗余的同步串口 501和502是逻辑接口 503的成员口,逻辑接口 503 用于配置这两个互为冗余的同步串口所承载的链路层以上的业务;图5所示存储单元504,用于存储序号和环形缓冲区;图5所示冗余控制模块505负责在同步串口 501和502之间实现1+1冗余,具体 而言在初始运行时,用于将上述两个互为冗余的同步串口的其中一个设置为工作接 口,另外一个设置为保护接口 ;假设,将图5所示501设置为工作接口,502设置为保护接 Π ;在工作接口 501接收到一个报文时,用于将序号的取值递增,并在序号达到预先 设置的最大值时,用于将序号的取值重新设置为初始值;在保护接口 502接收到一个报文时,用于获取序号的当前值,并判断环形缓冲区 是否溢出,如果没有溢出,将序号的当前值填入环形缓冲区的尾部;如果环形缓冲区溢出, 判断序号的当前值与环形缓冲区首部所填入序号是否相同,如果不相同,将序号的当前值 填入环形缓冲区的首部,否则,将工作接口 501和保护接口 502进行倒换。图5所示装置中的冗余控制模块505在将序号的当前值填入环形缓冲区时,可以 进一步用于将指向保护接口 501当前所接收的报文的指针填入环形缓冲区。环形缓冲区的长度的较佳取值范围为大于等于对工作接口的异常发生误判的最 短长度,小于等于能够及时发现工作接口的异常的最长长度。在具体实现时,冗余控制模块505的功能也可以分别由工作接口 501和保护接口 502实现。例如由工作接口负责维护序号,而保护接口负责维护环形缓冲区和对工作接口 进行异常检测,具体而言工作接口 501每接收到一个报文时,用于将序号的取值递增,并在序号达到预先 设置的最大值时,将序号的取值重新设置为初始值;
保护接口 502每接收到一个报文时,用于获取序号的当前值,并判断环形缓冲区 是否溢出,如果没有溢出,将序号的当前值填入环形缓冲区的尾部;如果环形缓冲区溢出, 判断序号的当前值与环形缓冲区首部所填入序号是否相同,如果不相同,将序号的当前值 填入环形缓冲区的首部,否则,通知工作接口 501将其当前的角色切换为保护接口,并将保 护接口 502自身切换为工作接口。由上述实施例可见,本发明通过设置逻辑接口,并将互为冗余的两个同步串口作 为该逻辑接口的成员口,实现了对上层业务屏蔽同步串口,从而使同步串口的倒换不会被 上层业务所感知;另外,本发明通过维护一个序号对工作接口所接收到的报文进行计数,并 通过维护一个环形缓冲区存储工作接口上序号的当前值,实现了对工作接口的异常检测, 从而使工作接口的异常能够被及时发现,并及时触发工作接口与保护接口之间的倒换,在 同步串口上实现了 1+1冗余。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种在同步串口上实现1+1冗余的方法,其特征在于,包括设置逻辑接口,将两个互为冗余的同步串口作为所述逻辑接口的成员口,将所述同步 串口承载的链路层以上的业务配置到所述逻辑接口;初始运行时,将所述两个互为冗余的同步串口的其中之一作为工作接口,另外一个作 为保护接口;设置序号和环形缓冲区,将所述序号的取值设置为初始值;工作接口每接收到一个报文,将所述序号的取值递增,当所述序号达到预先设置的最 大值时,将所述序号的取值重新设置为初始值;保护接口每接收到一个报文,获取所述序号的当前值,并判断所述环形缓冲区是否溢 出,如果没有溢出,将所述序号的当前值填入所述环形缓冲区的尾部;如果环形缓冲区溢 出,判断序号的当前值与环形缓冲区首部所填入序号是否相同,如果不相同,将序号的当前 值填入所述环形缓冲区的首部,否则,将工作接口和保护接口进行倒换。
2.根据权利要求1所述的方法,其特征在于在将序号的当前值填入环形缓冲区时,进一步将指向保护接口当前所接收的报文的指 针填入环形缓冲区。
3.根据权利要求1或2所述的方法,其特征在于所述环形缓冲区的长度的取值范围为大于等于对工作接口的异常发生误判的最短长 度,小于等于能够及时发现工作接口的异常的最长长度。
4.一种在同步串口上实现1+1冗余的装置,其特征在于,包括两个互为冗余的同步串 口、逻辑接口、存储单元和冗余控制模块;所述两个互为冗余的同步串口是所述逻辑接口的成员口,所述逻辑接口用于配置所述 两个互为冗余的同步串口所承载的链路层以上的业务;所述存储单元,用于存储序号和环形缓冲区;所述冗余控制模块,在初始运行时,用于将所述两个互为冗余的同步串口的其中一个 设置为工作接口,另外一个设置为保护接口 ;在所述工作接口接收到一个报文时,用于将所述序号的取值递增,并在所述序号达到 预先设置的最大值时,用于将所述序号的取值重新设置为初始值;在所述保护接口接收到一个报文时,用于获取所述序号的当前值,并判断所述环形缓 冲区是否溢出,如果没有溢出,将所述序号的当前值填入所述环形缓冲区的尾部;如果环形 缓冲区溢出,判断序号的当前值与环形缓冲区首部所填入序号是否相同,如果不相同,将序 号的当前值填入所述环形缓冲区的首部,否则,将所述工作接口和所述保护接口进行倒换。
5.根据权利要求4所述的装置,其特征在于所述冗余控制模块在将序号的当前值填入环形缓冲区时,进一步用于将指向保护接口 当前所接收的报文的指针填入环形缓冲区。
6.根据权利要求4或5所述的装置,其特征在于所述环形缓冲区的长度的取值范围为大于等于对工作接口的异常发生误判的最短长 度,小于等于能够及时发现工作接口的异常的最长长度。
全文摘要
本发明提供了一种在同步串口上实现1+1冗余的方法及装置。该方法和装置通过设置逻辑接口实现了对上层业务屏蔽同步串口,通过维护一个序号对工作接口所接收到的报文进行计数,并通过维护一个环形缓冲区存储工作接口上序号的当前值,实现了对工作接口的异常检测,从而在同步串口上实现了1+1冗余。
文档编号H04L1/22GK102137028SQ20111011735
公开日2011年7月27日 申请日期2011年5月6日 优先权日2011年5月6日
发明者王海东 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1