[发明专利]一种校验100GE数据包FCS值的方法在审
申请号: | 202110505809.X | 申请日: | 2021-05-10 |
公开(公告)号: | CN113190376A | 公开(公告)日: | 2021-07-30 |
发明(设计)人: | 王东锋;陈晖;王连岳 | 申请(专利权)人: | 天津光电通信技术有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 天津中环专利商标代理有限公司 12105 | 代理人: | 李美英 |
地址: | 300211*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 校验 100 ge 数据包 fcs 方法 | ||
本发明公开了一种校验100GE数据包FCS值的方法。该方法通过在数据包头补0,将数据包处理成在包尾没有余数字节的整包,从而避免数据包尾有余数带来的FCS值计算复杂的问题。首先,将原始数据包的FCS值去掉,以得到待处理的没有FCS值的数据包,与此同时将原始数据包的FCS值提取出来供后续校验使用;其次,对去掉FCS值的数据包通过包头补0的方法实现FCS值的计算;最后,将计算得到的FCS值以及从原始数据包中提取的FCS值进行比较,以完成对原始数据包的校验。采用本发明提供的方法可很好的解决在校验100GE数据包FCS值时消耗逻辑资源多以及需要实时校验处理的问题,为100GE解析处理技术提供有益参考。
技术领域
本发明涉及100GE解析处理技术领域,尤其涉及一种校验100GE数据包FCS值的方法,主要用于100GE数据包的FCS校验。
背景技术
在对100GE进行解析处理时,需要完成对从100GE中解析出的数据包进行FCS值的校验,来达到校验当前数据包是否有比特错误,从而决定是否舍弃当前包。由于100GE的速率非常高,单个时钟周期的数据位宽很大,例如,在312.5MHz的时钟频率下数据位宽为512bit,而100GE是基于字节的包协议,即数据包的最小颗粒度为byte,这样在每包的最后一个数据可能会有字节余数,对于512bit的数据位宽,余数可能从0到63,0表示没有余数。为了对100GE的数据包进行实时的FCS值校验,则需要实时的将数据包的FCS值提取出来,并在本地对原始数据包除FCS值外的其余所有字节进行实时计算。通常的处理方法是,在数据包尾处将所有可能的余数字节进行CRC的计算,然后在所有CRC的计算结果中根据实际的余数信息进行选择。这种实现方式是最直接的,但弊端也是显而易见的,由于对所有可能的余数字节都要进行CRC的计算,这将消耗大量的逻辑资源,这在一些逻辑资源紧张的设计中是无法接受的。另外的方法是通过软件的方式实现,即先将数据包进行缓存,然后再以byte为颗粒度进行FCS计算处理,这样的处理方式因为没有字节余数的问题,而且数据位宽只有一个字节,所以处理也是最简单的,但不能满足实时处理的要求。
发明内容
鉴于上述技术存在的问题,本发明提供一种校验100GE数据包FCS值的方法。本发明的目的就是要解决上述技术中存在的消耗逻辑资源多、要求实时处理的问题。
本发明采取的技术方案是:一种校验100GE数据包FCS值的方法,该方法基于FPGA的硬件平台上实现,步骤如下:
(1)首先将原始数据包尾的FCS值去掉,以得到不带FCS值的数据包,与此同时将原始数据包的FCS值提取出来以供后续校验使用;
(2)接下来将去掉FCS值的数据包缓存到pkg_fifo,并在包尾处统计字节余数,将统计的字节余数信息缓存到rem_fifo;然后,根据字节余数信息,将数据包从pkg_fifo读取出来进行包头补0处理,补0的字节数与统计的字节余数相等,目的是将数据包处理成在包尾处没有字节余数的整包;之后,对经处理的包头补0的数据整包进行FCS值计算;
(3)最后将(2)中FCS的计算结果与(1)中提取的原始FCS值进行比较,以完成对原始数据包的校验。
本发明所产生的有益效果是:极大的减少了逻辑资源,例如,如果按照背景技术中的方法实现FCS校验,在XILINX VU095的FPGA上实现该功能,LUT资源消耗超过3万个,而采用本发明提供的方法LUT资源仅消耗1千个;此外,本发明提供的方法区别于软件实现的方式,可以对100GE流量的数据包进行实时的FCS校验处理,总之本发明提供的方法在100GE解析处理技术领域有广泛的应用价值。
附图说明
图1为本发明校验100GE数据包FCS值的方法示意图。
具体实施方式
以下结合附图对本发明做进一步说明;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津光电通信技术有限公司,未经天津光电通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110505809.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于FPGA实现包交叉的方法
- 下一篇:实时数据处理方法