CN102014112A - 一种基于mac/ip地址分类统计的硬件实现方法 - Google Patents
一种基于mac/ip地址分类统计的硬件实现方法 Download PDFInfo
- Publication number
- CN102014112A CN102014112A CN2010101028792A CN201010102879A CN102014112A CN 102014112 A CN102014112 A CN 102014112A CN 2010101028792 A CN2010101028792 A CN 2010101028792A CN 201010102879 A CN201010102879 A CN 201010102879A CN 102014112 A CN102014112 A CN 102014112A
- Authority
- CN
- China
- Prior art keywords
- mac
- address
- cell
- vld
- conflict
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明公开了一种基于MAC/IP地址分类统计的硬件实现方法,所述的硬件实现方法包括十五个步骤,具体阐述了本发明一种基于MAC/IP地址分类统计的硬件实现方法,应用本发明一种基于MAC/IP地址分类统计的硬件实现方法能够在不用附加芯片的情况下实现MAC/IP查询,并进行分类统计的问题,同时,本发明一种基于MAC/IP地址分类统计的硬件实现方法可以满足千兆网卡全线速报文的实时统计效率。
Description
技术领域
本发明涉及一种硬件实现方法,特别是涉及一种基于MAC/IP地址分类统计的硬件实现方法。
背景技术
在进行网络分析时,需要根据不同的MAC/IP地址进行不同报文长度的分类统计计算。当网络报文数据非常大时,往往无法通过软件来进行统计处理,所以必须经过硬件完成统计过程。FPGA具有编码灵活、易于升级等特点,已经被广泛应用在网络通信处理过程中,但是,在基于不同的MAC/IP地址进行不同报文长度的统计过程中,如何查询MAC/IP地址表成了需要解决的问题。目前,通常采用附加芯片完成地址表的查询过程,这样,增加了设备实现的复杂度和成本。
发明内容
本发明旨在提供一种通过FPGA实现MAC/IP地址标的查询方式,从而实现基于不同MAC/IP地址的不同报文长度的分类统计要求的硬件实现方法。
本发明一种基于MAC/IP地址分类统计的硬件实现方法:包括以下步骤:
第一步:提取网络报文MAC/IP地址,并计算报文长度;
第二步:将DDR存储空间划分为cell,使每个cell的存储空间为64字节,提供一个用于存储一个cell的数据的32字节×16的RAM;cell的定义见表1;
第三步:将MAC/IP地址进行16位Hash计算得到16位值;
第四步:将上一步的值前面加一位0构成17位DDR地址;
第五步:读取此地址中的有效标志vld和MAC/IP,并比较报文中的MAC/IP地址和此MAC/IP:
第六步:如果vld=1,则继续,否则跳至第十四步,
第七步:比较MAC/IP地址是否相等,如果相等,则跳至第十三步,否则继续;
第八步:将MAC/IP地址再次进行16位Hash计算得到16位值;
第九步:将上一步的值前面加一位1构成17位DDR地址;
第十步:读取此地址中的有效标志vld和MAC/IP,并比较报文中的MAC/IP地址和此MAC/IP:
第十一步:如果vld=1,则继续,否则跳至第十四步,
第十二步:MAC/IP地址是否相等,如果相等,则跳至第十五步,否则,冲突标志conflict置为1,冲突次数Number加1,并将冲突状态写入DDR;
第十三步:从对应地址的DDR中读取统计值;
第十四步:将长度对应范围的值加1,标志vld置1;
第十五步:将统计值,标志,MAC/IP地址写入DDR中。
进一步地,所述硬件实现方法的第二步中,cell的具体定义见表1:
表1 cell的具体定义
其中:Vld,为1表示该cell已经被一个MAC/IP地址占用;
Conflict,仅在高64K个cell中有效,即第二次hash计算有冲突;
Number,仅在高64K个cell中有效,冲突次数计数;
MAC/IP地址,当产生该cell地址的MAC/IP地址与cell中记录的不一致则说明发生冲突。
本发明一种基于MAC/IP地址分类统计的硬件实现方法的有益效果在于:
本发明一种基于MAC/IP地址分类统计的硬件实现方法能够在不用附加芯片的情况下实现MAC/IP查询,并进行分类统计的问题,同时,本发明一种基于MAC/IP地址分类统计的硬件实现方法可以满足千兆网卡全线速报文的实时统计效率。
附图说明
图1是本发明一种基于MAC/IP地址分类统计的硬件实现方法的算法流程图。
具体实施方式
本发明一种基于MAC/IP地址分类统计的硬件实现方法,参见附图1:首先,提取网络报文MAC/IP地址,并计算报文长度;之后将DDR存储空间划分为cell,使每个cell的存储空间为64字节,提供一个用于存储一个cell的数据的32字节×16的RAM;cell的具体定义见表1:
表1 cell的具体定义
其中:Vld,为1表示该cell已经被一个MAC/IP地址占用;
Conflict,仅在高64K个cell中有效,即第二次hash计算有冲突;
Number,仅在高64K个cell中有效,冲突次数计数;
MAC/IP地址,当产生该cell地址的MAC/IP地址与cell中记录的不一致则说明发生冲突;之后,将MAC/IP地址进行16位Hash计算得到16位值;之后,将上一步的值前面加一位0构成17位DDR地址;之后,读取此地址中的有效标志vld和MAC/IP,并比较报文中的MAC/IP地址和此MAC/IP:之后,如果vld=1,则继续,否则跳至第十四步;之后,比较MAC/IP地址是否相等,如果相等,则跳至第十三步,否则继续;之后,将MAC/IP地址再次进行16位Hash计算得到16位值;之后,将上一步的值前面加一位1构成17位DDR地址;之后,读取此地址中的有效标志vld和MAC/IP,并比较报文中的MAC/IP地址和此MAC/IP:之后,如果vld=1,则继续,否则跳至第十四步;之后,MAC/IP地址是否相等,如果相等,则跳至第十五步,否则,冲突标志conflict置为1,冲突次数Number加1,并将冲突状态写入DDR;之后,从对应地址的DDR中读取统计值;之后,将长度对应范围的值加1,标志vld置1;最后,将统计值,标志,MAC/IP地址写入DDR中。
Claims (2)
1.一种基于MAC/IP地址分类统计的硬件实现方法,其特征在于:包括以下步骤:
第一步:提取网络报文MAC/IP地址,并计算报文长度;
第二步:将DDR存储空间划分为cell,使每个cell的存储空间为64字节,提供一个用于存储一个cell的数据的32字节×16的RAM;cell的定义见表1;
第三步:将MAC/IP地址进行16位Hash计算得到16位值;
第四步:将上一步的值前面加一位0构成17位DDR地址;
第五步:读取此地址中的有效标志vld和MAC/IP,并比较报文中的MAC/IP地址和此MAC/IP:
第六步:如果vld=1,则继续,否则跳至第十四步,
第七步:比较MAC/IP地址是否相等,如果相等,则跳至第十三步,否则继续;
第八步:将MAC/IP地址再次进行16位Hash计算得到16位值;
第九步:将上一步的值前面加一位1构成17位DDR地址;
第十步:读取此地址中的有效标志vld和MAC/IP,并比较报文中的MAC/IP地址和此MAC/IP:
第十一步:如果vld=1,则继续,否则跳至第十四步,
第十二步:MAC/IP地址是否相等,如果相等,则跳至第十五步,否则,冲突标志conflict置为1,冲突次数Number加1,并将冲突状态写入DDR;
第十三步:从对应地址的DDR中读取统计值;
第十四步:将长度对应范围的值加1,标志vld置1;
第十五步:将统计值,标志,MAC/IP地址写入DDR中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101028792A CN102014112B (zh) | 2010-01-29 | 2010-01-29 | 一种基于mac/ip地址分类统计的硬件实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101028792A CN102014112B (zh) | 2010-01-29 | 2010-01-29 | 一种基于mac/ip地址分类统计的硬件实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102014112A true CN102014112A (zh) | 2011-04-13 |
CN102014112B CN102014112B (zh) | 2013-08-14 |
Family
ID=43844128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101028792A Active CN102014112B (zh) | 2010-01-29 | 2010-01-29 | 一种基于mac/ip地址分类统计的硬件实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102014112B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079489A (zh) * | 2013-03-28 | 2014-10-01 | 日立金属株式会社 | 网络中继装置 |
CN111158588A (zh) * | 2019-12-12 | 2020-05-15 | 北京邮电大学 | 一种双倍速率控制方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1829188A (zh) * | 2005-03-01 | 2006-09-06 | 杭州华为三康技术有限公司 | 对介质访问控制地址学习进行策略管理的方法 |
CN101179514A (zh) * | 2007-12-18 | 2008-05-14 | 杭州华三通信技术有限公司 | 分布式网络处理系统mac表项维护方法和维护装置 |
US20090196287A1 (en) * | 2006-06-02 | 2009-08-06 | Hangzhou H3C Technologies Co., Ltd. | Method and apparatus for forwarding data in Ethernet |
-
2010
- 2010-01-29 CN CN2010101028792A patent/CN102014112B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1829188A (zh) * | 2005-03-01 | 2006-09-06 | 杭州华为三康技术有限公司 | 对介质访问控制地址学习进行策略管理的方法 |
US20090196287A1 (en) * | 2006-06-02 | 2009-08-06 | Hangzhou H3C Technologies Co., Ltd. | Method and apparatus for forwarding data in Ethernet |
CN101179514A (zh) * | 2007-12-18 | 2008-05-14 | 杭州华三通信技术有限公司 | 分布式网络处理系统mac表项维护方法和维护装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079489A (zh) * | 2013-03-28 | 2014-10-01 | 日立金属株式会社 | 网络中继装置 |
CN104079489B (zh) * | 2013-03-28 | 2018-08-28 | 日立金属株式会社 | 网络中继装置 |
CN111158588A (zh) * | 2019-12-12 | 2020-05-15 | 北京邮电大学 | 一种双倍速率控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102014112B (zh) | 2013-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618361B (zh) | 一种网络流数据重排序方法 | |
CN102754394B (zh) | 一种哈希表存储、查找方法以及装置 | |
CN107229747A (zh) | 一种基于流式处理框架的大规模数据处理装置及方法 | |
CN104158744A (zh) | 用于网络处理器的建表和查找方法 | |
CN105591914A (zh) | 一种openflow流表的查表方法和装置 | |
CN106713144A (zh) | 一种报文出口信息的读写方法及转发引擎 | |
CN111988231A (zh) | 一种掩码五元组规则匹配的方法及装置 | |
US20180225247A1 (en) | Packet forwarding | |
CN102014112B (zh) | 一种基于mac/ip地址分类统计的硬件实现方法 | |
CN113986560B (zh) | 一种在智能网卡/DPU内实现P4与OvS逻辑复用的方法 | |
CN101478482B (zh) | 报文分类中的非规则匹配方法、装置和系统 | |
CN103795490A (zh) | 一种数据传输加速的方法及系统 | |
CN110324204A (zh) | 一种在fpga中实现的高速正则表达式匹配引擎及方法 | |
CN103905310A (zh) | 报文处理的方法及转发设备 | |
CN106850559A (zh) | 一种可扩展的网络协议解析系统及方法 | |
CN109213745A (zh) | 一种分布式文件存储方法、装置、处理器及存储介质 | |
US20220231945A1 (en) | Message matching table lookup method, system, storage medium, and terminal | |
CN102780620A (zh) | 一种网络处理器和报文处理方法 | |
CN103138766A (zh) | 数据压缩与解压缩的方法及装置 | |
CN101848091B (zh) | 数据查找处理方法及系统 | |
CN101604398B (zh) | 一种软硬件结合的rfid编码解析系统 | |
CN104901947B (zh) | 一种基于tcam连续数值匹配方法和装置 | |
US9794580B2 (en) | Cache management device, and motion picture system and method using the same | |
CN104243395B (zh) | 一种高频次写操作方法、接口机及系统 | |
CN103220274A (zh) | 一种用于运营商网络出口的网络报文模式匹配方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP03 | Change of name, title or address |
Address after: 545006 the Guangxi Zhuang Autonomous Region Avenue in the City District of Liuzhou city in Guangxi, No. 17, science and Technology Park Patentee after: Liuzhou Dadi telecommunication technology Limited by Share Ltd Address before: 100083 Beijing city Haidian District Wudaokou Dongsheng Park Huaqingjiayuan No. 7 Building 1601 room Patentee before: Liuzhou Dadi Telecommunication Equipment Co., Ltd. |