均匀发送CCM报文的方法与系统与流程

文档序号:11878194阅读:789来源:国知局
均匀发送CCM报文的方法与系统与流程

本发明涉及网络通信技术领域,特别是涉及均匀发送CCM(Continuity Check Message,连续性检查消息)报文的方法与系统。



背景技术:

以太网技术以其良好的经济性、互通性以及易用性等优势得到了普遍应用。运营级以太网成为当前网络技术的重要研究领域,运营级以太网必须提供良好的业务管理、故障检测、性能监视等功能,而这一功能的核心为OAM(Operation Administration and Maintenance,操作管理维护)。

近年来,随着MPLS(Multi-Protocol Label Switch,多协议标签交换)技术的发展成熟,并且广泛应用到传输网领域,PTN(Packet Transport Network,分组传送网)技术开始被越来越多的运营商所采用。IETF(Internet Engineering Task Force,互联网工程任务组)在T-MPLS的基础上扩展原有的MPLS技术成为当前的MPLS-TP标准协议族,OAM也成为了MPLS-TP的核心内容。

当同一设备中存在大量MEP(Maintenance association End Point,维护端点)时,设备如何均匀的将CCM报文发送出去,减少网络流量的突发情况是困扰技术人员的难题。



技术实现要素:

基于此,有必要针对目前尚无一种有效均匀发送CCM报文的方法的问题,提供一种有效均匀发送CCM报文的方法与系统。

一种均匀发送CCM报文的方法,包括步骤:

获取初始MEP,记录周期定时器的当前时间;

获取初始MEP最后一次发送CCM报文的时间点;

根据周期定时器当前时间、初始MEP最后一次发送CCM报文的时间点以及初始MEP对应的预设最小MEP发送周期,判断是否到达初始MEP发送CCM报文的时间节点;

当到达时,组装并发送CCM报文;

判断初始MEP是否为最后一个MEP;

当初始MEP不为最后一个MEP时,等待预设延迟时间后,获取下一MEP;

当初始MEP为最后一个MEP时,等待预设最终延迟时间,当当前时间与预设最小MEP发送周期对齐时,返回获取初始MEP的步骤。

一种均匀发送CCM报文的系统,包括:

记录模块,用于获取初始MEP,记录周期定时器的当前时间;

时间点获取模块,用于获取初始MEP最后一次发送CCM报文的时间点;

第一判断模块,用于根据周期定时器当前时间、初始MEP最后一次发送CCM报文的时间点以及初始MEP对应的预设最小MEP发送周期,判断是否到达初始MEP发送CCM报文的时间节点;

组装发送模块,用于当到达时,组装并发送CCM报文;

第二判断模块,用于判断初始MEP是否为最后一个MEP;

第一处理模块,用于当初始MEP不为最后一个MEP时,等待预设延迟时间后,获取下一MEP;

第二处理模块,用于当初始MEP为最后一个MEP时,等待预设最终延迟时间,当当前时间与预设最小MEP发送周期对齐时,并控制记录模块重新获取初始MEP。

本发明均匀发送CCM报文的方法与系统,获取初始MEP,记录周期定时器当前时间,获取初始MEP最后一次发送CCM报文的时间点,判断初始MEP是否已经到达发送报文的时间节点,当到达时,组装并发送CCM报文,判断初始MEP是否为最后一个MEP,当不为时,等待预设延迟时间后,获取下一MEP,当为时,等待预设最终延迟时间,当当前时间与预设最小MEP发送周期对齐时,重新获取初始MEP。整个过程中,结合等待预设延迟设置和预设最终延迟设置,确保在初始MEP对应的预设最小MEP发送周期内,所有MEP均匀向外发送BFD报文并且MEP发送周期连续。

附图说明

图1为本发明均匀发送CCM报文的方法第一个实施例的流程示意图;

图2为本发明均匀发送CCM报文的方法第二个实施例的流程示意图;

图3为本发明均匀发送CCM报文的系统第一个实施例的结构示意图;

图4为本发明均匀发送CCM报文的系统第二个实施例的结构示意图。

具体实施方式

如图1所示,一种均匀发送CCM报文的方法,包括步骤:

S100:获取初始MEP,记录周期定时器当前时间。

任意一个MEP均可作为初始MEP,假定有1-10个MEP,可以随机选择一个MEP作为初始MEP,例如可以选择1号MEP为初始MEP或8号MEP为初始MEP等。一般来说,为了便于记录还是选择第一MEP作为初始MEP,具体来说,可以将MEP扫描指针指向第一个MEP来获取第一个MEP。在获取初始MEP的同时,记录此时设备中周期定时器当前时间。非必要的,周期定时器为微秒为单位的定时器,更进一步来说,周期定时器为以1微秒为单位的多级周期定时器,在这里,多级可以为7级。

S200:获取初始MEP最后一次发送CCM报文的时间点。

初始MEP最后一次发送CCM报文的时间点可以通过分析一些历史数据来获取,例如可以通过解析初始MEP配置来获取。MEP配置用于记录设备(计算机)中MEP一些基本配置参数,一般来说,在实际操作中,这部分数据是由设备基于特定协议或行业规范自动采集、记录形成。具体来说,记录周期定时器当前时间和获取初始MEP最后一次发送CCM报文的时间点可以采用拍摄周期定时器位图的快照方式进行记录,拍摄之后可以获得周期定时器的位图快照。

S300:根据周期定时器当前时间、初始MEP最后一次发送CCM报文的时间点以及初始MEP对应的预设最小MEP发送周期,判断是否到达初始MEP发送CCM报文的时间节点。

MEP最小的发送周期(minPeroid)是预先设定的,具体来说,在设定MEP最小发送周期是需要考虑周期定时器的进阶情况,即MEP最小发送周期需小于或等于周期定时器发生进阶的时长。

S400:当到达时,组装并发送CCM报文。

当已经到达发送报文的时间节点时,组装并发送CCM报文。当未达到发送报文的时间节点时,继续等待。

S500:判断初始MEP是否为最后一个MEP。

S600:当初始MEP不为最后一个MEP时,等待预设延迟时间后,获取下一MEP。

具体来说,如果不是最后一个MEP,停顿预设延迟时间(perDelay)时间后,将MEP指针指向下一个MEP,重复上述步骤S100至步骤S600。预设延迟时间是预先设定的,其可以基于实际应用环境的需要计算获得,非必要的,在计算预设延迟时间之前需要获取初始MEP对应的预设最小MEP发送周期内需发送MEP数量(MEP_num),将初始MEP对应的预设最小MEP发送周期除以MEP数量即获得预设延迟时间。具体计算公式为perDelay=minPeroid/MEP_num。使用perDelay设置,保证所有MEP均匀向外发送BFD报文,避免流量突发对网络设备的冲击。

S700:当初始MEP为最后一个MEP时,等待预设最终延迟时间,当当前时间与预设最小MEP发送周期对齐时,返回获取初始MEP的步骤。

具体来说,如果初始MEP已经是最后一个MEP,停顿预设最终延迟(finalDelay)时间,实时判断当前时间与预设最小MEP发送周期是否对齐,当当前时间与预设最小MEP发送周期对齐时,重新初始化MEP指针为步骤S100中选择的初始MEP(第一MEP),即返回步骤S100中获取初始MEP的步骤;当当前时间与预设最小MEP发送周期不对齐时,继续等待。预设最终延迟时间是预先设定的,其可以基于实际应用环境的需要计算获得,非必要的,在计算最终延迟时间之前需要获取初始MEP对应的预设最小MEP发送周期内需发送MEP数量,将初始MEP对应的预设最小MEP发送周期除以初始MEP对应的预设最小MEP发送周期内需发送MEP数量、并取余,计算预设最终延迟。具体计算公式为finalDelay=minPeriod%MEP_num。

本发明均匀发送CCM报文的方法,获取初始MEP,记录周期定时器当前时间,获取初始MEP最后一次发送CCM报文的时间点,判断初始MEP是否已经到达发送报文的时间节点,当到达时,组装并发送CCM报文,判断初始MEP是否为最后一个MEP,当不为时,等待预设延迟时间后,获取下一MEP,当为时,等待预设最终延迟时间,当当前时间与预设最小MEP发送周期对齐时,重新获取初始MEP。整个过程中,结合等待预设延迟设置和预设最终延迟设置,确保在初始MEP对应的预设最小MEP发送周期内,所有MEP均匀向外发送BFD报文并且MEP发送周期连续。

如图2所示,在其中一个实施例中,步骤S300包括:

S320:计算周期定时器当前时间与初始MEP最后一次发送CCM报文的时间点之间的差值;

S340:比较差值与初始MEP对应的预设最小MEP发送周期,判断是否到达初始MEP发送CCM报文的时间节点。

当差值大于或等于初始MEP对应的预设最小MEP发送周期时,说明此时间隔时间已经足够长了,判定此时初始MEP已经到达发送报文的时间节点;当差值小于初始MEP对应的预设最小MEP发送周期时,说明此时间隔时间还不够,判定此时初始MEP还未到达发送CCM报文的时间节点,还需继续等待。

在其中一个实施例中,周期定时器为以微秒为单位的多级周期定时器,根据周期定时器当前时间、初始MEP最后一次发送CCM报文的时间点以及初始MEP对应的预设最小MEP发送周期,判断是否到达初始MEP发送CCM报文的时间节点的步骤之前还包括:

步骤一:获取多级周期定时器发生进阶的时长。

步骤二:设定初始MEP对应的预设最小MEP发送周期小于或等于多级周期定时器发生进阶的时长。

具体来说,多级周期定时器可以为7级周期定时器。按照ITU(International Telecommunication Union,国际电信联盟)-Y1731、802.1ag标准要求,对于CCM类型的MEP,发送周期可以设置为3.33毫秒、10毫秒、100毫秒、1秒、10秒、1分钟、10分钟这7值。因此,首先设计一个以1微秒为单位的7级的定时器,使得标准中的7个不同的收发周期都有独立的定时器计量。并用一个7字节的寄存器对应7个周期。在芯片上电以后,7级定时器同时开始计时,并在每个周期到期时,更新其对应的位图。在多级周期定时器启动后,7级周期定时器开始以核心频率进行计时,同时一个微秒定时也开始计时。当到达一微秒时,所有的7级周期定时器都增加一微秒。检查7级周期定时器下一阶(8级)周期定时器中是否有时间到期的,若果有,在将8级周期定时器位图中对应的位设置为1,然后,将该7级定时器清空,开始重新计时,保证周期记录的连续性。使用7级定时器,对应802.1ag协议中定义的7个CCM发送周期,保证每个周期单独计量。

下面将采用具体应用实例,详细解释本发明均匀发送CCM报文的方法其中一个实施例中,步骤S100至步骤S400的具体过程。

S1获取初始MEP,拍摄周期定时器的位图信息,这里就相当于取位图的一个快照,在最小MEP发送周期内的按照该快照信息,发送位图中置位周期CCM报文。S2从MEP配置中读取初始MEP对应的最小MEP发送周期。S3基于拍摄周期定时器的位图信息,计算该最小MEP发送周期对应的位图索引。S4判断位图中该位图索引对应的位是否为预设位(例如为1),若为预设位(1),则表明该周期定时器已经到期,即此时已经到到达初始MEP发送CCM报文的时间节点,该MEP需要发包;若不为预设位(0),则表明该周期的定时器还未到期,还需继续等待。

如图3所示,一种均匀发送CCM报文的系统,包括:

记录模块100,用于获取初始MEP,记录周期定时器当前时间。

时间点获取模块200,用于获取初始MEP最后一次发送CCM报文的时间点。

第一判断模块300,用于根据周期定时器当前时间、初始MEP最后一次发送CCM报文的时间点以及初始MEP对应的预设最小MEP发送周期,判断是否到达初始MEP发送CCM报文的时间节点。

组装发送模块400,用于当到达时,组装并发送CCM报文。

第二判断模块500,用于判断初始MEP是否为最后一个MEP。

第一处理模块600,用于当初始MEP不为最后一个MEP时,等待预设延迟时间后,获取下一MEP。

第二处理模块700,用于当初始MEP为最后一个MEP时,等待预设最终延迟时间,当当前时间与预设最小MEP发送周期对齐时,控制记录模块100重新获取初始MEP。

本发明均匀发送CCM报文的系统,记录模块100获取初始MEP,记录周期定时器当前时间,时间点获取模块200获取初始MEP最后一次发送CCM报文的时间点,第一判断模块300判断初始MEP是否已经到达发送报文的时间节点,当到达时,组装发送模块400组装并发送CCM报文,第二判断模块500判断初始MEP是否为最后一个MEP,当不为时,第一处理模块600等待预设延迟时间后,获取下一MEP,当为时,第二处理模块700等待预设最终延迟时间,当当前时间与预设最小MEP发送周期对齐时,并控制记录模块100重新获取初始MEP。整个过程中,结合等待预设延迟设置和预设最终延迟设置,确保在初始MEP对应的预设最小MEP发送周期内,所有MEP均匀向外发送BFD报文并且MEP发送周期连续。

如图4所示,在其中一个实施例中,第一判断模块300包括:

计算单元320,用于计算周期定时器当前时间与初始MEP最后一次发送CCM报文的时间点之间的差值。

比较单元340,用于比较差值与初始MEP对应的预设最小MEP发送周期,判断是否到达初始MEP发送CCM报文的时间节点。

在其中一个实施例中,周期定时器为以微秒为单位的多级周期定时器,均匀发送CCM报文的系统还包括:

进阶时长获取模块,用于获取多级周期定时器发生进阶的时长。

设定模块,用于设定初始MEP对应的预设最小MEP发送周期小于或等于多级周期定时器发生进阶的时长。

在其中一个实施例中,第一处理模块600包括:

第一MEP数量获取单元,用于当初始MEP不为最后一个MEP时,获取初始MEP对应的预设最小MEP发送周期内需发送MEP数量。

预设延迟确定单元,用于将初始MEP对应的预设最小MEP发送周期除以初始MEP对应的预设最小MEP发送周期内需发送MEP数量,计算预设延迟。

第一处理单元,用于等待预设延迟时间后,获取下一MEP。

在其中一个实施例中,第二处理模块700包括:

第二MEP数量获取单元,用于当初始MEP为最后一个MEP时,获取初始MEP对应的预设最小MEP发送周期内需发送MEP数量。

预设最终延迟确定单元,用于将初始MEP对应的预设最小MEP发送周期除以初始MEP对应的预设最小MEP发送周期内需发送MEP数量、并取余,计算预设最终延迟。

第二处理单元,用于等待预设最终延迟时间,当当前时间与预设最小MEP发送周期对齐时,并控制记录模块100重新获取初始MEP。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1