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

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

本发明涉及网络通信技术领域,特别是涉及均匀发送BFD(Bidirectional Forwarding Detection,双向转发检测)报文的方法与系统。



背景技术:

以太网技术以其良好的经济性、互通性以及易用性等优势得到了普遍应用。运营级以太网成为当前网络技术的重要研究领域,运营级以太网必须提供良好的业务管理、故障检测、性能监视等功能,而这一功能的核心为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,维护端点)时,设备如何均匀的将BFD报文发送出去,减少网络流量的突发情况是困扰技术人员的难题。



技术实现要素:

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

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

获取初始MEP,记录全局定时器当前时间;

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

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

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

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

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

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

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

记录模块,用于获取初始MEP,记录全局定时器当前时间;

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

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

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

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

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

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

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

附图说明

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

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

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

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

具体实施方式

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

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

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

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

初始MEP最后一次发送BFD报文的时间点可以通过分析一些历史数据来获取,例如可以通过解析初始MEP配置来获取。MEP配置用于记录设备(计算机)中MEP一些基本配置参数,一般来说,在实际操作中,这部分数据是由设备基于特定协议或行业规范自动采集、记录形成。

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

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

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

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

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。

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

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

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

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

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

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

步骤一:获取BFD全局定时器发生翻转的时长。

步骤二:设定初始MEP对应的预设最小MEP发送周期小于或等于BFD全局定时器发生翻转的时长。

按照RFC(Remote Function Call,远程函数调用)5880标准要求,对于BFD类型的MEP,发送周期可以设置为以微妙为单位的任意值,因此,在这里选取一个以微秒为单位的全局BFD定时器。在芯片上电以后,BFD全局定时器开始以核心频率进行计时,当到达一微秒时,BFD全局定时器增加一微秒,随着时间的累积,BFD全局定时器会因为位宽的限制而翻转,所以在计算超时,需要考虑BFD全局定时器翻转的情况,配置MEP最小发送周期作为所有MEP一轮发送的周期,是为了保证BFD全局定时器翻转时,最小发送周期的MEP也能正确发送。定义一个全局的微秒为单位的BFD全局定时器,能在定时器翻转发生时也能保证BFD报文的正确发送周期。

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

读取BFD全局定时器的当前值(bfdTimer),从MEP配置中获取最近一次发送BFD报文的时间。通过用BFD全局定时器的值与MEP最近一次发送BFD报文时间值进行比较,判断BFD全局定时器是否已经翻转。如果没有翻转,则翻转标志位(overflow)设置为0,否则设置为1。从MEP的配置信息中获取全局最小Tx、需求最小Rx配置信息,并使用发送周期(sendPeriod)=min{localMinTx,requiredMinRx}公式,计算出该MEP发送BFD报文的周期。判断{overflow,bfdTimer}考虑翻转情况的BFD全局定时器值与最近一次发送BFD报文的时间的差值是否已经超过发送周期。如果超过,则超时成立,否则不成立继续等待下一轮扫描。

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

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

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

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

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

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

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

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

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

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

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

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

在其中一个实施例中,全局定时器为以微秒为单位的BFD全局定时器,均匀发送BFD报文的系统还包括:

翻转时长获取模块,用于获取BFD全局定时器发生翻转的时长。

设定模块,用于设定初始MEP对应的预设最小MEP发送周期小于或等于BFD全局定时器发生翻转的时长。

在其中一个实施例中,第一处理模块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