芯片级实现多种oam时间精度的方法

文档序号:7867607阅读:377来源:国知局
专利名称:芯片级实现多种oam时间精度的方法
技术领域
本发明涉及网络通信领域,尤其涉及芯片级实现多种OAM时间精度的方法。
背景技术
以太网 0AM(0perations, Administration and Maintenance)技术最初由 IEEE802. lag, ITU-Y. 1731提出,用于在以太网中对各层次业务通道进行监测,故障定位,错误报告,在其中定义了以太网OAM发送连续性检测报文(CCM, Continuity Check Message)的发 送 Interval (间隔),共定义了 7 中 Interval,分别为 3. 33ms, 10ms, 100ms, Is, 10s, Imin 和IOmin0各种Interval可以满足不同层次OAM监测频率的需要,其中3. 33ms, IOms的多用于层次较低,需要快速检测和错误报告的链路上。后来IETF 基于 IP 提出了使用 BFD (Bidirectional Forwarding Detection,双向转发检测)作为一种OAM技术。BFD在Interval的使用上比较灵活,且支持协商,修改等功能,在Interval的精度上和传统的以太网OAM有所不同,一般的使用精度为毫秒级。在PTN(Packet Transport Network,分组传送网)逐渐兴起后,各标准组织对于PTN的各项标准也在热烈推进中。MPLS-TP由ITU-T和IETF成立的联合工作组在2008年4月提出,其前身是ITU-T于2005年5月开始开发的T-MPLS技术标准。IETF将吸收T-MPLS中的OAM保护和管理等传送技术,扩展现有MPLS (Multi-Protocol Label Switching,多协议标签交换)为MPLS-TP (Transport Profile for MPLS),以增强其对ITU-T传送需求的支持。MPLS-TP与MPLS技术的不同点之一就是它有着电信级的OAM功能。MPLS-TP OAM的主要功能是对各层次业务通道进行监测,故障定位,错误报告。为了保证PTN网络对电信级OAM切换时间50ms的需求,要求OAM功能可以快速侦测故障,必须具有满足协议规定的各种Interval的能力。而MPLS-TP的OAM技术目前仍有较大争议,主要分为基于ITU-Y. 1731的OAM以及基于BFD的0ΑΜ。因此在Interval的使用上也需要考虑到不同使用场景。为了让OAM的侦测速度满足网络需求,先进的设备厂商均已开始将OAM功能集成在交换芯片内部完成。根据应用场合不同,OAM有多种协议规定。根据协议不同,对于侦测时间的精度上的要求也有所不同,比较典型的是传统以太网OAM和BFD在侦测时间的频率和精度的要求上都是不同的。怎样把这些多种时间要求的OAM集成在一个芯片模块内完成是一难点。

发明内容
本发明的目的在于提供一种芯片级实现多种OAM时间精度的方法,以同时满足以以太网OAM为基础的,精度为3. 33ms的OAM和以BFD为基础的,精度为Ims的0ΑΜ,同时也能扩展实现其他的精度要求,以满足于不同时间精度要求的OAM的需求。为实现上述目的,本发明提出如下技术方案芯片级实现多种OAM时间精度的方法,包括
根据OAM中不同精度要求,提供多个对应所述不同精度的计时器;将整个需要更新的MEP条目按所述不同精度进行分块;根据分块后的MEP条目及精度计算出所述各计时器的更新时间间隔;各计时器分别按各自的更新时间间隔对对应的MEP条目进行更新。更进一步地,所述OAM时间精度包括基于BFD的OAM的时间精度。在BFD中设定精度为1ms,且BFD中发送BFD报文的时间间隔和接收BFD报文的检测时间间隔为Ims的整数倍。
更新MEP条目的所述更新时间间隔为UpdInterval = (1/1000)*F)/N其中N = MaxNum-MinNum,为需要芯片更新的条目数,F为芯片频率。所述芯片更新MEP条目的方法包括步骤如下SI,初始化芯片的当前循环数计数计数updCount,总的循环数计数计数TotalCount,以及MEP表项的条目索引updEntry ;S2,判断当前循环数计数updCount是否达到需要更新的时间间隔UpdInterval,如果达到,则更新MEP表项及表项中各计时器;S3,使MEP表项的条目索引updEntry递增I,以便对下一个MEP表项进行更新。S4,设置当前循环数计数updCount为零,并循环S2的判断。其中所述S2中,如果判断得到当前循环数计数updCount未达到需要更新的时间间隔UpdInterval,则将当前芯片循环数计数updCount递增I,并计入总的循环数计数TotalCount中,并循环进行S2的判断。所述S2中更新MEP表项的方法为取得当前MEP表项的各个计时器的值,当该计时器计数完毕后,则触发相应的事件,并将更新后的计时器写入芯片表项。当所述取得当前MEP表项的各个计时器的值后,则对MEP表项的各计时器的值进行递减I的操作,并对递减后的计时器进行是否计数结束的判断,当计数未结束时,则直接更新各计时器的值,并写入芯片表项。在计时器计数完毕触发相应事件后,还需重置已处理的计数器为初始值,并进行下一轮的循环更新。与现有技术相比,本发明提出的芯片级实现多种OAM时间精度的方法,能够同时满足多种时间精度的OAM的需求,包括精度为3. 33ms的以太网OAM和以BFD为基础的,精度为Ims的0ΑΜ,实现芯片级多种OAM时间精度的要求。


图I是本发明实现基于BFD的OAM的时间精度的流程图;图2是图I中S103的处理流程图;图3是本发明芯片级采用两个不同精度的计时器的模块图;图4是本发明芯片级扩展至多个不同精度的计时器的模块图。
具体实施例方式下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
对于BFD而言,按照协议(RFC5880)定义,BFD的发送报文的周期为本地期望发送BFD包的最小时间间隔DesiredMinTxInterval和对端能够接收BFD包的最小时间间隔RemoteMinRxInterval两者中的较大者,也就是说比较慢的一方决定了发送频率,由软件设置为TxInterval,以ms为单位。接收报文的检测时间(Detection Time,即该时间段未接收到BFD报文,视为会话中断的时间)为本地能够接收BFD包的最小时间间隔RequiredMinRxInterval和对端期望发送BFD包的最小时间间隔RemoteDesiredMinTXInterval两者中的较大者与乘法系数Detect Mult相乘的结果,由软件设置为RxInterval,以ms为单位,其中,此处的乘法系数是指在一组BFD报文,连续多少个BFD报文没收到,则判定这个BFD报文失效。由此可见,在BFD中,发送BFD报文的时间间隔TxInterval和接收检测时间间隔RxInterval不是固定,而是可以通过协商及修改的。协议(RFC5880)定义的相关Interval为us级,一般使用为ms级即可,如设置Interval精度为Ims,则发送Interval可以为Ims的整数倍,BFD状态机使用的时间间隔也为Ims的整数倍。 如图I所示,为本发明提出的OAM中对MEP条目更新状态机的外部循环流程图,根据精度为Ims的Interval的要求,为了达到该精度,芯片必须以一定的频率对各MEP条目进行更新,假定芯片频率为F Hz,需要更新的条目数为N,则芯片每过需要更新时间间隔UpdInterval个cycle就需要对一条MEP条目进行更新,贝丨JUpdInterval = (1/1000)*F)/N其中N = MaxNum-MinNum,即为需要芯片更新的条目数。由于更新时间间隔UpdInterval必须为整数,因此通过调整N可以使得UpdInterval近似为整数。更新时间间隔UpdInterval也即为以Ims Interval对MEP表项进行更新的芯片计数。其更新步骤如下S101,初始化当前循环数计数updCount,总的循环数计数TotalCount,以及MEP表项的条目索引updEntry,使这些变量为初始值。S102,判断当前的循环数计数updCount是否已达到需要更新的更新时间间隔UpdInterval,如到达,进行更新操作,如未到达,进入S106,将当前循环数计数updCount递增I,并计入总的循环数计数TotalCount中后,循环至S102。S103,对当前循环数计数updCount已达到更新时间间隔UpdInterval的,更新当前MEP表项。即对当前MEP表项的状态机进行更新,并更新MEP表项的各个计时器Timer,且在满足某些条件时,作出相应行为。S104,将MEP表项的条目索引updEntry递增I,表明下次对下一个MEP表项进行更新。S105,设置当前循环数计数updCount为O,表明需再经过更新时间间隔UpdInterval个芯片的循环,满足S102的条件时,对下一个MEP表项进行更新。其中,所述当前循环数计数updCount是指根据当前芯片的循环数进行的计数,总的循环数计数TotalCount是指根据芯片所需要的总的循环数的计数。如图2,为S103的具体处理过程的流程图,此处设置各类事件的计时器为Ims的倍数,即设置计时器为1,代表该事件的触发条件为1ms,设置计时器为10,则代表该事件的触发条件为10ms,以此类推。举例说明,发送BFD的时间间隔为Txlnterval,因此设置发送BFD的计时器计数为TxInterval,发现会话中断即接收检测的时间间隔为RxInterval时间间隔,则设置该事件的计时器计数为Rxlnterval。S201,取得当前MEP表项的各个计时器的值Timer,如发送BFD的计时器,接收检测的计时器等,并将取得的这些值提供给后续判断和处理。S202,当前MEP表项各计时器的值Timer减I。S203,判断各计时器的值是否等于0,为O则表明该Timer已计数完毕,即该事件需要被触发,如发送CCM的Timer初始化为4,在经过4次更新后,减为0,说明本次更新已到达I个Interval的时间间隔,需要触发CCM报文的发送。若不为0,则表明还未到达事件触发的时间间隔,进入S207,将减I后的各个计时器的值Timer写入芯片表项。
S204,如某些Timer被触发,则作出相应的操作和行为,或通过报文或中断等上报系统。S205,重置已处理的计时器的值Timer为初始值,以做下一轮循环更新。以发送BFD报文为例,当计时器的值Timer减为O时,在S204中进行发送CCM的操作,在S205中重设该事件Timer为TxInterval,即需要再经过TxInterval次更新,即TxInterval个ms才需要再次进行此项操作。S206 JfMEP表项各计时器的值Timer更新后,写入芯片表项。考虑到以太网中会出现OAM和BFD的共同使用,本发明提出在芯片中设计两个不同精度的计时器,如图3,分别为S301和S302,并将整个需要更新的MEP条目按设定的不同精度要求进行分块,如将从MinTimerlEntry MaxTimerlEntry的条目进行精度为3. 33ms的计数器更新,将从MinTimer2Entry MaxTimer2Entry的条目进行精度为Ims的计数器更新。更新时,对S301中MEP条目精度为3. 33ms的更新方法可参考本申请人在专利申请号为CN201110279676. 5,名称为芯片级实现OAM达到各种Interval的方法及装置的中国专利申请中的说明;而对S302中MEP条目更新时可采用本发明提出的方法。从而满足同时支持以太网OAM为基础的更新精度,以及BFD为基础的更新精度。更进一步地,如果有其他OAM技术提出不同的精度需求,则亦可采用本发明提出的计时器进行扩展,如图4所示,使用计时器Timerl对MinTimerlEntry MaxTimerlEntry的MEP条目进行精度为3. 33ms的计时器进行更新,使用计时器Timer2对MinTimer2Entry MaxTimer2Entry的MEP条目进行精度为Ims的计时器进行更新,依次类推,使用计时器TimerN对MinTimerNEntry MaxTimerNEntry进行精度为X的更新频率,其更新的时间间隔计算方法亦根据芯片的频率及需要更新的MEP条目,以及OAM的时间精度进行计算获得,并根据需要做必要修改即可。综上所述,本发明提出了满足不同OAM协议需求精度的方法,并可以扩展满足更多的精度需求。本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
权利要求
1.芯片级实现多种OAM时间精度的方法,其特征在于包括 根据OAM中不同精度要求,提供多个对应所述不同精度的计时器; 将OAM中整个需要更新的MEP条目按所述不同精度进行分块; 根据分块后的MEP条目及精度计算出所述各计时器的更新时间间隔; 各计时器分别按各自的更新时间间隔对对应的MEP条目进行更新。
2.根据权利要求I所述的方法,其特征在于所述OAM时间精度包括基于BFD的OAM的时间精度。
3.根据权利要求2所述的方法,其特征在于在BFD中设定精度为1ms,且BFD中发送BFD报文的时间间隔和接收BFD报文的检测时间间隔为Ims的整数倍。
4.根据权利要求2或3所述的方法,其特征在于更新MEP条目的所述更新时间间隔为UpdInterval = (1/1000)*F)/N 其中N = MaxNum-MinNum,为需要芯片更新的条目数,F为芯片频率。
5.根据权利要求4所述的方法,其特征在于所述芯片更新MEP条目的方法包括步骤如下 51,初始化芯片的当前循环数计数计数updCount,总的循环数计数计数TotalCount,以及MEP表项的条目索引updEntry ; 52,判断当前循环数计数updCount是否达到需要更新的时间间隔UpdInterval,如果达到,则更新MEP表项及表项中各计时器; 53,使MEP表项的条目索引updEntry递增I,以便对下一个MEP表项进行更新。
54,设置当前循环数计数updCount为零,并循环S2的判断。
6.根据权利要求5所述的方法,其特征在于所述S2中,如果判断得到当前循环数计数updCount未达到需要更新的时间间隔UpdInterval,则将当前芯片循环数计数updCount递增1,并计入总的循环数计数TotalCount中,并循环进行S2的判断。
7.根据权利要求5所述的方法,其特征在于所述S2中更新MEP表项的方法为取得当前MEP表项的各个计时器的值,当该计时器计数完毕后,则触发相应的事件,并将更新后的计时器写入芯片表项。
8.根据权利要求7所述的方法,其特征在于当所述取得当前MEP表项的各个计时器的值后,则对MEP表项的各计时器的值进行递减I的操作,并对递减后的计时器进行是否计数结束的判断,当计数未结束时,则直接更新各计时器的值,并写入芯片表项。
9.根据权利要求7所述的方法,其特征在于在计时器计数完毕触发相应事件后,还需重置已处理的计数器为初始值,并进行下一轮的循环更新。
全文摘要
本发明揭示了一种芯片级实现多种OAM时间精度的方法,其根据OAM中的不同精度要求,提供多个对应所述不同精度的计时器,将OAM中整个需要更新的MEP条目按所述不同精度进行分块,根据分块后的MEP条目及精度计算出所述各计时器的更新时间间隔,各计时器分别按各自的更新时间间隔对对应的MEP条目进行更新。本发明能够同时满足多种时间精度的OAM的需求,包括精度为3.33ms的以太网OAM和以BFD为基础的,精度为1ms的OAM,实现芯片级多种OAM时间精度的要求。
文档编号H04L12/26GK102970171SQ20121051783
公开日2013年3月13日 申请日期2012年12月6日 优先权日2012年12月6日
发明者何志川, 单哲 申请人:盛科网络(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1