CN102299971A - 基于fpga的快速地址查找算法 - Google Patents

基于fpga的快速地址查找算法 Download PDF

Info

Publication number
CN102299971A
CN102299971A CN201010211617XA CN201010211617A CN102299971A CN 102299971 A CN102299971 A CN 102299971A CN 201010211617X A CN201010211617X A CN 201010211617XA CN 201010211617 A CN201010211617 A CN 201010211617A CN 102299971 A CN102299971 A CN 102299971A
Authority
CN
China
Prior art keywords
address
algorithm
fpga
module
keyword
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.)
Pending
Application number
CN201010211617XA
Other languages
English (en)
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.)
Shenzhen Bangyan Information Technology Co Ltd
Original Assignee
Shenzhen Bangyan Information Technology 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 Shenzhen Bangyan Information Technology Co Ltd filed Critical Shenzhen Bangyan Information Technology Co Ltd
Priority to CN201010211617XA priority Critical patent/CN102299971A/zh
Publication of CN102299971A publication Critical patent/CN102299971A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明旨在提供一种基于FPGA的快速地址查找算法,可以内嵌在任何以太网交换网或传输系统中,适用于点到点、点到多点链接来传送多协议数据报文的通信方式,适用于局域网、广域网等以太网技术领域。算法基于FPGA硬件平台,包括:地址表、地址老化模块、地址学习模块、地址查找模块和配置接口。采用动态存储结构,将任意长度的二进制值映射为固定长度的较小关键字,并以关键字为地址区间中的偏移地址,作为记录在表中的存储位置。算法不需要其它外部软件或处理器的干预,程序加载后自动完成地址的学习/查找过程,可以支持单播、组播、广播多种通信方式。

Description

基于FPGA的快速地址查找算法
技术领域
本发明涉及局域网、广域网等以太网技术领域,可以内嵌在任何以太网交换网或传输系统中,适用于点到点、点到多点链接来传送多协议数据报文的通信方式,也涉及其它数据格式完成源端到目的端建立信息交换的应用模式。
背景技术
以太网技术是当今现有局域网最通用的通信协议标准,以IP为代表的数据业务的迅速发展,都给网络传输提出了更高的容量和功能要求,为了减少数据交换和查找表带来的延迟,必须建立有效而且快速的地址查找算法。
FLA算法采用动态存储结构,将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为关键字,关键字是一段数据唯一且极其紧凑的数值表示形式。如果输入数据中有变化,则关键字也会发生变化。而且把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间,代价仅仅是消耗比较多的存储空间,然而在当前可利用内存越来越多的情况下,用空间换时间的做法是值得的。另外,编码比较容易也是它的特点之一。因此作为线性数据结构,与逐条的比较算法相比,FLA算法无疑是查找速度比较快、经济实用的一种算法。
但按照关键字为每一个输入值″分类″,然后将这个元素存储在相应″类″所对应的地方,因此不能保证每个关键字与输入值是一一对应的,极有可能出现对于不同的输入值,却计算出了相同的关键字,这样就产生了″冲突″。可以采用重新FLA算法来解决该问题,简单的说就是每次产生碰撞,都会根据关键字用另一个FLA函数重新算一个关键字,直到探寻到一个不冲突的关键字。
发明内容
根据设定的FLA函数(使用好的函数公式,在输入数据中所做的更改就可以更改结果关键字中的所有位)和处理冲突方法将网络地址映射到一个有限的地址区间上,并以关键字为地址区间中的偏移地址,作为记录在表中的存储位置。本算法基于FPGA的硬件逻辑开发,不需要其它外部软件或处理器的干预,程序加载后自动完成地址的学习/查找过程,可以支持单播、组播、广播多种通信方式。
本发明的技术方案如下:
模块组件包括:
1.地址表,用来存储地址信息及接收数据的端口号;
2.地址学习模块,学习IP数据流中源地址信息,通过计算得到源地址的关键字,并把地址信息写入地址表中;
3.地址查找模块,查找IP数据流中目的地址,得到目的地址的关键字(也就是对应其它IP数据流中源地址信息),查找地址表,由此知道IP数据流的输出端口;
4.地址老化模块,可由外置的处理器模块来配置老化的参数(使能、老化时间等级、老化时间周期等)和静态地址。
5.配置接口,提供标准的通信总线,连接外置的处理器芯片。
注1:为了满足其它的以太网通信协议,地址表中可以增加其它信息来实现,如增加VLANID实现虚拟局域网技术。
注2:地址表的空间大小由FPGA芯片内嵌或外扩的RAM来决定。
注3:静态地址不受老化时间的影响。
任何一个端口的接收到IP数据流通过FLA算法,对新发现的地址信息加入到地址表中,最终形成整个交换网或传输系统的地址表项,一旦源端口需发送数据,可以快速从地址表中查找到目的地址信息和输出端口,再由交换网或传输系统建立源端口到目的端口的传送路径,完成数据的可靠传输。
为了节省地址空间,实现地址表的重复利用,开启地址老化模块,删除地址表中超时不再使用的地址信息。
附图说明
图1所示为FLA算法在系统中的模型图
具体实施方式
下面根据附图和实例对本发明做进一步详细说明:
实例系统简化模型如图1所示,以二个端口间单播数据为例,主机A(连接端口1,IP地址192.168.1.1,MAC地址00-aa-00-62-c6-01)向主机B(端口2,IP地址192.168.1.2,MAC地址00-aa-00-62-c6-02)发送数据。
1.当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播,A主机MAC地址是“主机A的MAC地址”,这表示向同一网段内的所有主机发出这样的询问:“我是192.168.1.1,我的硬件地址是″主机A的MAC地址″.请问IP地址为192.168.1.2的MAC地址是什么?”,这时FLA算法就从端口1学到了00-aa-00-62-c6-01,写入地址表中。
2.网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.2的MAC地址是00-aa-00-62-c6-02”,从端口2同样学到了00-aa-00-62-c6-02,写入地址表中。
3.主机A知道了主机B的MAC地址,而且地址表中也存储了二条地址信息,主机A向主机B发送数据时,交换网或传输系统立即查到了主机A的输入端口1,发送到主机B输出端口2,建立硬件逻辑通路,主机B就接收到了主机A的数据。
以上所述,仅为本发明典型的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (3)

1.基于FPGA的快速地址查找算法,包括:地址表、地址老化模块、地址学习模块、地址查找模块和配置接口。本发明涉及的系统,其特征是:算法由FPGA逻辑程序自动完成,不需要其它外部软件或处理器的干预。
2.根据权利要求1所述的算法,其特征在于,作为地址提取和查找模块,地址信息的多少不影响地址查找的时间,可以认为是恒定的时间周期内。
3.根据权利要求1所述的算法,其特征在于,作为快速查找算法,运算过程不影响数据流的信号,不会产生数据交换的时延。
CN201010211617XA 2010-06-25 2010-06-25 基于fpga的快速地址查找算法 Pending CN102299971A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010211617XA CN102299971A (zh) 2010-06-25 2010-06-25 基于fpga的快速地址查找算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010211617XA CN102299971A (zh) 2010-06-25 2010-06-25 基于fpga的快速地址查找算法

Publications (1)

Publication Number Publication Date
CN102299971A true CN102299971A (zh) 2011-12-28

Family

ID=45360141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010211617XA Pending CN102299971A (zh) 2010-06-25 2010-06-25 基于fpga的快速地址查找算法

Country Status (1)

Country Link
CN (1) CN102299971A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114020657A (zh) * 2021-11-03 2022-02-08 无锡沐创集成电路设计有限公司 报文查找方法、系统、存储介质及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1404591A (zh) * 2000-12-22 2003-03-19 三星电子株式会社 执行高速互联网协议路由查找和管理路由选择/转发表的装置和方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1404591A (zh) * 2000-12-22 2003-03-19 三星电子株式会社 执行高速互联网协议路由查找和管理路由选择/转发表的装置和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZHENG H Y 等: "On f ast address-lookup algorithms", 《IEEE JOURNALS ON SELECT ED AREAS IN COMMUNICAT ION》 *
佘晓轩: "高速路由器中快速地址查找方案及其实现方法研究", 《通信学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114020657A (zh) * 2021-11-03 2022-02-08 无锡沐创集成电路设计有限公司 报文查找方法、系统、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN101719877B (zh) 一种报文转发装置、网络设备及方法
US8681661B2 (en) Limiting MAC address learning on access network switches
US9853897B2 (en) Forward packet with edge device
EP3490197B1 (en) Message forwarding
US10333845B2 (en) Forwarding data packets
KR101502263B1 (ko) 하이브리드 통신 네트워크들에 대한 어드레싱 방식
CN101877671B (zh) 镜像报文的发送方法、交换芯片及以太网路由器
US20170237655A1 (en) Forwarding Data Packets In Software Defined Networks
CN108173691B (zh) 一种跨设备聚合的方法及装置
CN102769869B (zh) 无线接入点的控制和配置报文快速转发系统
CN105791072A (zh) 以太虚拟网络的接入方法及装置
CN101577722A (zh) 实现强制mac转发功能的方法和装置
CN105812264B (zh) 多路并行的mac地址学习和地址查找的装置及方法
US20140226666A1 (en) Limiting mac address learning on access network switches
JP2012161044A (ja) 通信処理装置、アドレス学習プログラムおよびアドレス学習方法
CN103763750B (zh) 在tdma协议的无线自组网中实现快速分组转发的方法
WO2008101423A1 (fr) Système et procédé de montage en pont
US10430364B2 (en) Packet forwarding
CN103581022A (zh) Mac地址的查找转发方法和装置
CN105187311A (zh) 一种报文转发方法及装置
CN101980488B (zh) Arp表项的管理方法和三层交换机
CN105812495A (zh) 报文转发方法及设备
CN103457855A (zh) 无类域间路由表建立、以及报文转发的方法和装置
CN107666445B (zh) 一种分布式系统mac地址处理方法和装置
CN115865844B (zh) 基于sdn与ndn的虚实结合动态流量调度方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111228