CN102014112A - 一种基于mac/ip地址分类统计的硬件实现方法 - Google Patents

一种基于mac/ip地址分类统计的硬件实现方法 Download PDF

Info

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
Application number
CN2010101028792A
Other languages
English (en)
Other versions
CN102014112B (zh
Inventor
韦国英
刘钧锴
胡敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Liuzhou Dadi telecommunication technology Limited by Share Ltd
Original Assignee
LIUZHOU DADI TELECOMMUNICATION EQUIPMENT CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by LIUZHOU DADI TELECOMMUNICATION EQUIPMENT CO Ltd filed Critical LIUZHOU DADI TELECOMMUNICATION EQUIPMENT CO Ltd
Priority to CN2010101028792A priority Critical patent/CN102014112B/zh
Publication of CN102014112A publication Critical patent/CN102014112A/zh
Application granted granted Critical
Publication of CN102014112B publication Critical patent/CN102014112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于MAC/IP地址分类统计的硬件实现方法,所述的硬件实现方法包括十五个步骤,具体阐述了本发明一种基于MAC/IP地址分类统计的硬件实现方法,应用本发明一种基于MAC/IP地址分类统计的硬件实现方法能够在不用附加芯片的情况下实现MAC/IP查询,并进行分类统计的问题,同时,本发明一种基于MAC/IP地址分类统计的硬件实现方法可以满足千兆网卡全线速报文的实时统计效率。

Description

一种基于MAC/IP地址分类统计的硬件实现方法
技术领域
本发明涉及一种硬件实现方法,特别是涉及一种基于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的具体定义
Figure GSA00000008797100021
其中: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的具体定义
Figure GSA00000008797100031
其中: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中。
2.根据权利要求1所述的一种基于MAC/IP地址分类统计的硬件实现方法,其特征在于:所述硬件实现方法的第二步中,cell的具体定义见表1:
表1 cell的具体定义
Figure FSA00000008797000021
其中:Vld,为1表示该cell已经被一个MAC/IP地址占用;
Conflict,仅在高64K个cell中有效,即第二次hash计算有冲突;
Number,仅在高64K个cell中有效,冲突次数计数;
MAC/IP地址,当产生该cell地址的MAC/IP地址与cell中记录的不一致则说明发生冲突。
CN2010101028792A 2010-01-29 2010-01-29 一种基于mac/ip地址分类统计的硬件实现方法 Active CN102014112B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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.