基于FPGA的MAC层地址表设计与仿真详情解析_第1页
基于FPGA的MAC层地址表设计与仿真详情解析_第2页
基于FPGA的MAC层地址表设计与仿真详情解析_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于FPGA的MAC层地址表设计与仿真详情解析为解决高速以太网链路接口中软件方式实现的MAC层地址表机制在处理效率上受到制约的问题,提出了一种基于FPGA(现场可编程门阵列)硬件电路方式实现以太网交换机中MAC地址表的查找,学习和老化。该方法采用hashing算法建立地址表项索引值与MAC地址之间的对应关系,完成满足平均时间复杂度为O(1)的地址查找。由于实际交换机中地址表容量有限,地址学习只能是MAC地址的子集,通过优化hashing函数降低地址冲突发生的概率以及设计一种地址老化机制提高地址表查找能力。仿真结果表明,地址表机制采用硬件电路方式实现比软件方式处理效率更高。引言

在计算机网络中,数据链路层完成节点到节点的通信,二层以太网交换机属于数据链路层设备[1]。MAC(介质访问控制)地址是在网络通信用来识别主机的标识。交换机的缓存中有一个MAC地址表,需要转发数据时,交换机会在地址表查询是否有与目的MAC地址对应的表项,如果有,交换机立即将数据报文往该表项中的转发端口发送;如果没有,交换机则会将数据报文以广播的形式发送到除了接收端口外的所有端口,尽最大能力保证目的主机接收到数据报文。因此,交换机地址表的构建和维护决定了数据转发的方向和效率。MAC层地址表存储查找多基于hash表。Hashing是一种用于以常熟平均时间插入、删除和查找的技术,hash表通过把关键码值映射到表中一个位置来访问记录。这个映射函数叫做hashing函数,存放记录的数组叫做hash表。交换机地址表存储的是全部MAC地址的一个子集因此必然会发生地址冲突,文献[2-3]对比了几种解决冲突的方法。MAC地址表的容量是有限的,因此交换机采用老化机制来维护MAC地址表,以保证最大限度地利用地址表项资源。交换机在构建某条表项时,会相应地开启该表项的老化定时器[4],如果在老化时间内,交换机始终没有收到该表项中的MAC地址的报文,交换机就会将该表项删除,失效的表项不会继续占用MAC地址表资源。这样,即使网络中的设备更换或者移除,交换机的MAC地址表始终能保持网络中最新的拓扑结构记录。合适的老化时间可以提高MAC地址表项资源的利用率,但过长或过短的老化时间,反而影响交换机的性能。如果老化时间过长,交换机中保存的MAC地址表项的数量过多会将地址表资源消耗完,网络中的拓扑变化就无法及时更新;如果老化时间过短,则有效的MAC地址表项会被交换机过早删除,从而降低交换机的转发效率。传统的MAC地址表处理机制主要采用软件的方式实现[5]。随着以太网链路接口的速率从1Gb/s发展到10Gb/s,基于软件的算法在速度上受到串行计算机系统的制约。新一代现场可编程门阵列(FPGA)的出现以后,算法通过硬电路描述,所有的延迟只来源于门电路,而一般门电路的延迟都在ns级别。减少了系统运行所需的时钟周期数,实现了真正的高速率。1地址表处理机制

本数字电路设计中,采用单一时钟域的同步时序设计,所有的触发器都是在同一个时钟节拍下进行翻转。这样就简化了整个设计,后端综合、布局布线的时序约束容易实现。地址表占用的空间由片内存储器RAM提供,片内存储器是基于FPGA的系统可使用的最简单的存储器,存储、读取是在FPGA内部完成,电路板上无需外部连线,具有最高吞吐量和最低反应延时的,适用于缓存和查找表。地址表表项中至少记录mac物理地址,端口号。每个mac地址表项的数据结构见表1。

定义如下:

Valid:表项有效指示,1代表有效表项,0代表空闲表项。Age:老化比特,地址表更新时查询的位段,1代表年轻,0代表老化。Macaddress:48bit物理地址。Port_id:物理地址对应的端口号。地址表项写入表中的位置即地址学习由源地址(MAC地址)经过hashing算法求得的索引值决定。地址表项的读取即地址表查询由目的地址(物理地址)经过hashing算法求得的索引值决定。Hashing算法本身消耗一部分时序,物理地址的学习和查询就需要等待这部分时序,为了使得地址表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论