基于fpga的丢包率监测方法及装置的制作方法

文档序号:7689161阅读:206来源:国知局
专利名称:基于fpga的丢包率监测方法及装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种网络链路质量监测技术中基于 FPGA(Field-Programmable Gate Array,现场可编程门阵列)的丢包率监测方法及装置。
背景技术
随着数据通信技术的不断发展,通信设备的设计不断复杂化,挂接在通信网络系统上的通信设备不断增多,使得这些通信设备的稳定性面临着挑战。操作员在调试通信设备时,常常会产生链路不畅或者信息包丢失情况。目前,一种测量链路丢包率的方法是在报文加入计数/序列号,通过计数/序列号测量链路丢包率。该方法包括至少两个维护端点在通信网络中相互周期性地发送连接确认报文的过程,其步骤具体包括:A.在连接确认报文的协议数据单元中携带报文序列号; B.维护端点通过连接确认报文的序列号计算丢包率。上述方法虽然仅需要通过报文序列号就能计算丢包率,过程快捷方便,并可提高 LM(低电压版移动处理器)性能监控的便利性,但是,该方法因引入测量报文,对原有报文流量产生了较大影响,其总需要主动发起专用的测量报文流,会占用大量的网络带宽资源, 导致在测量丢包率时网络的正常通信受到极大的影响,甚至中断网络正常通信,从而增加了网络系统的带宽开销难度,降低了系统的可使用性。

发明内容
本发明的主要目的在于提供一种基于FPGA的丢包率监测方法及装置,在不影响网络可用带宽的情况下,实现对链路丢包率的监测。为了达到上述目的,本发明提出一种基于FPGA的丢包率监测方法,包括本端FPGA接收对端FPGA发送的报文;当所述报文为第一普通报文时,记录接收所述第一普通报文时的接收计数值;当所述报文为第一协议报文时,将当前接收计数值填入所述第一协议报文;根据所述第一协议报文携带的当前发送计数值、上次发送计数值、上次接收计数值、所述当前接收计数值以及预设的协议报文发送间隔时间计算本端链路丢包率。优选地,所述当前发送计数值是指所述对端FPGA发送所述第一协议报文至所述本端FPGA时,该对端FPGA填入该第一协议报文内的、当前统计的第一普通报文的发送计数值。优选地,所述计算本端链路丢包率之后还包括将所述第一协议报文、第一普通报文以及本端链路丢包率发送至本端交换芯片。优选地,还包括所述本端FPGA接收本端交换芯片发送的第二普通报文;根据预置策略生成第二协议报文;将所述第二普通报文及第二协议报文按照预设的发送策略发送至所述对端FPGA,由所述对端FPGA计算对端链路丢包率。优选地,所述将第二普通报文及第二协议报文按照预设的发送策略发送至所述对端FPGA的步骤包括判断本端FPGA端口发送速率是否达到预定阀值;若是,则不允许第二协议报文进入发送队列,否则,允许所述第二协议报文进入发送队列, 并对第二协议报文及第二普通报文进行排序;对待发送的所述第二普通报文进行计数,得到发送计数值; 在发送所述第二协议报文时,将当前发送计数值填入所述第二协议报文;将所述第二普通报文及携带有当前发送计数值的第二协议报文按照排序先后发送至对端FPGA。优选地,所述本端FPGA接收本端交换芯片发送的第二普通报文的步骤之前还包括配置所述预置策略;所述预置策略包括设置协议报文发送间隔时间、发送时间长度、上次发送计数值、上次接收计数值和/或使能。本发明还提出一种基于FPGA的丢包率监测装置,包括第一接收模块,用于接收对端FPGA发送的报文;记录模块,用于当所述报文为第一普通报文时,记录接收所述第一普通报文时的接收计数值;当所述报文为第一协议报文时,将当前接收计数值填入所述第一协议报文;计算模块,用于根据所述第一协议报文携带的当前发送计数值、上次发送计数值、 上次接收计数值、所述当前接收计数值以及预设的协议报文发送间隔时间计算本端链路丢包率。优选地,所述当前发送计数值是指所述对端FPGA发送所述第一协议报文至所述本端FPGA时,该对端FPGA填入该第一协议报文内的、当前统计的第一普通报文的发送计数值。优选地,还包括第一发送模块,用于将所述第一协议报文、第一普通报文以及本端链路丢包率发送至本端交换芯片。优选地,还包括第二接收模块,用于接收本端交换芯片发送的第二普通报文;生成模块,用于根据预置策略生成第二协议报文;第二发送模块,用于将所述第二普通报文及第二协议报文按照预设的发送策略发送至所述对端FPGA,由所述对端FPGA计算对端链路丢包率。优选地,所述第二发送模块包括判断操作单元,用于判断本端FPGA端口发送速率是否达到预定阀值;若是,则不允许第二协议报文进入发送队列,否则,允许所述第二协议报文进入发送队列,并对第二协议报文及第二普通报文进行排序;计数单元,用于对待发送的所述第二普通报文进行计数,得到发送计数值;写入单元,用于当发送所述第二协议报文时,将当前发送计数值填入所述第二协议报文;
5
发送单元,用于将所述第二普通报文及携带有当前发送计数值的第二协议报文按照排序先后发送至对端FPGA。优选地,还包括配置模块,用于配置所述预置策略;所述预置策略包括设置协议报文发送间隔时间、发送时间长度、上次发送计数值、上次接收计数值和/或使能。本发明提出的一种基于FPGA的丢包率监测方法及装置,根据测量丢包率的需求, 配置协议报文的生成策略,发送测量丢包率的协议报文,减少对有限的网络带宽资源的占用。同时可不依赖专门的用于测量丢包率的序列报文,而利用网络环境中原有的普通报文, 在基本不影响网络可用带宽的情况下,记录监测链路中的丢包率,降低了后期对网络系统环境的影响,并提高了网络系统的可用性。与现有技术相比,本发明使得网络系统可操作性更强,适应面更广泛。


图1是本发明基于FPGA的丢包率监测方法一实施例流程示意图;图2是本发明基于FPGA的丢包率监测方法涉及的网络架构示意图;图3是本发明基于FPGA的丢包率监测方法另一实施例流程示意图;图4是本发明基于FPGA的丢包率监测方法另一实施例中将第二普通报文及第二协议报文按照预设的发送策略发送至对端FPGA,由对端FPGA计算对端链路丢包率的流程示意图;图5是发明基于FPGA的丢包率监测装置一实施例结构示意图;图6是发明基于FPGA的丢包率监测装置另一实施例结构示意图;图7是发明基于FPGA的丢包率监测装置另一实施例中第二发送模块的结构示意图。为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施例方式本发明实施例解决方案主要是根据测量丢包率的需求,配置策略生成协议报文, 并结合协议报文与现有网络中的普通报文,实现对链路丢包率的监测,以减少对有限的网络带宽资源的占用,提高网络系统的可用性。如图1所示,本发明一实施例提出一种基于FPGA的丢包率监测方法,包括步骤SlOl,本端FPGA接收对端FPGA发送的报文;如图2所示,本实施例方法运行环境涉及网络设备中的发送端及接收端之间的数据包的传输,发送端及接收端分别对应设置有负责报文交换的本端交换芯片及对端交换芯片,为了监测本端交换芯片及对端交换芯片之间链路的丢包率,在发送端及接收端之间设置有本端FPGA及对端FPGA。对端FPGA向本端FPGA发送的报文包括普通报文及用于测量丢包率的协议报文, 即本实施例所称第一普通报文及第一协议报文。对于报文的识别可以通过报文识别器来进行区分。上述第一协议报文是在对端FPGA收到对端交换芯片发送的第一普通报文时,根据预定的配置策略生成的。其中,预定的配置策略可以由对端交换芯片配置,也可以由对端FPGA在对端交换芯片或CPU(中央处理器)的控制下配置,该配置策略包括设置协议报文发送间隔时间、发送时间长度、上次发送计数值、上次接收计数值以及使能等。如下表1所示,其中表内的值可以根据实际情况设定
权利要求
1.一种基于FPGA的丢包率监测方法,其特征在于,包括 本端现场可编程门阵列FPGA接收对端FPGA发送的报文;当所述报文为第一普通报文时,记录接收所述第一普通报文时的接收计数值;当所述报文为第一协议报文时,将当前接收计数值填入所述第一协议报文;根据所述第一协议报文携带的当前发送计数值、上次发送计数值、上次接收计数值、所述当前接收计数值以及预设的协议报文发送间隔时间计算本端链路丢包率。
2.根据权利要求1所述的方法,其特征在于,所述当前发送计数值是指所述对端FPGA 发送所述第一协议报文至所述本端FPGA时,该对端FPGA填入该第一协议报文内的、当前统计的第一普通报文的发送计数值。
3.根据权利要求2所述的方法,其特征在于,所述计算本端链路丢包率之后还包括 将所述第一协议报文、第一普通报文以及本端链路丢包率发送至本端交换芯片。
4.根据权利要求1、2或3所述的方法,其特征在于,还包括 所述本端FPGA接收本端交换芯片发送的第二普通报文; 根据预置策略生成第二协议报文;将所述第二普通报文及第二协议报文按照预设的发送策略发送至所述对端FPGA,由所述对端FPGA计算对端链路丢包率。
5.根据权利要求4所述的方法,其特征在于,所述将第二普通报文及第二协议报文按照预设的发送策略发送至所述对端FPGA的步骤包括判断本端FPGA端口发送速率是否达到预定阀值;若是,则不允许第二协议报文进入发送队列,否则,允许所述第二协议报文进入发送队列,并对第二协议报文及第二普通报文进行排序;对待发送的所述第二普通报文进行计数,得到发送计数值; 在发送所述第二协议报文时,将当前发送计数值填入所述第二协议报文; 将所述第二普通报文及携带有当前发送计数值的第二协议报文按照排序先后发送至对端FPGA。
6.根据权利要求4所述的方法,其特征在于,所述本端FPGA接收本端交换芯片发送的第二普通报文的步骤之前还包括配置所述预置策略;所述预置策略包括设置协议报文发送间隔时间、发送时间长度、上次发送计数值、上次接收计数值和/或使能。
7.一种基于FPGA的丢包率监测装置,其特征在于,包括 第一接收模块,用于接收对端FPGA发送的报文;记录模块,用于当所述报文为第一普通报文时,记录接收所述第一普通报文时的接收计数值;当所述报文为第一协议报文时,将当前接收计数值填入所述第一协议报文;计算模块,用于根据所述第一协议报文携带的当前发送计数值、上次发送计数值、上次接收计数值、所述当前接收计数值以及预设的协议报文发送间隔时间计算本端链路丢包率。
8.根据权利要求7所述的装置,其特征在于,所述当前发送计数值是指所述对端FPGA 发送所述第一协议报文至所述本端FPGA时,该对端FPGA填入该第一协议报文内的、当前统计的第一普通报文的发送计数值。
9.根据权利要求7所述的装置,其特征在于,还包括第一发送模块,用于将所述第一协议报文、第一普通报文以及本端链路丢包率发送至本端交换芯片。
10.根据权利要求7、8或9所述的装置,其特征在于,还包括 第二接收模块,用于接收本端交换芯片发送的第二普通报文; 生成模块,用于根据预置策略生成第二协议报文;第二发送模块,用于将所述第二普通报文及第二协议报文按照预设的发送策略发送至所述对端FPGA,由所述对端FPGA计算对端链路丢包率。
11.根据权利要求10所述的装置,其特征在于,所述第二发送模块包括判断操作单元,用于判断本端FPGA端口发送速率是否达到预定阀值;若是,则不允许第二协议报文进入发送队列,否则,允许所述第二协议报文进入发送队列,并对第二协议报文及第二普通报文进行排序;计数单元,用于对待发送的所述第二普通报文进行计数,得到发送计数值; 写入单元,用于当发送所述第二协议报文时,将当前发送计数值填入所述第二协议报文;发送单元,用于将所述第二普通报文及携带有当前发送计数值的第二协议报文按照排序先后发送至对端FPGA。
12.根据权利要求10所述的装置,其特征在于,还包括配置模块,用于配置所述预置策略;所述预置策略包括设置协议报文发送间隔时间、发送时间长度、上次发送计数值、上次接收计数值和/或使能。
全文摘要
本发明涉及一种基于FPGA的丢包率监测方法及装置,其方法包括本端FPGA接收对端FPGA发送的报文;当报文为第一普通报文时,记录接收第一普通报文时的接收计数值;当报文为第一协议报文时,将当前接收计数值填入第一协议报文;根据第一协议报文携带的当前发送计数值、上次发送计数值、上次接收计数值、当前接收计数值以及预设的协议报文发送间隔时间计算本端链路丢包率。本发明根据测量丢包率的需求,配置协议报文的生成策略,发送测量丢包率的协议报文,减少对有限的网络带宽资源的占用。同时利用网络中原有的普通报文,在不影响网络可用带宽的情况下,记录监测链路中的丢包率,降低后期对网络环境的影响,并提高了网络的可用性。
文档编号H04L12/26GK102223263SQ20111015416
公开日2011年10月19日 申请日期2011年6月9日 优先权日2011年6月9日
发明者刘一远 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1