主要成员
 
项目信息
项目名称:基于Zynq高层次综合的SDN设备流表设计  
项目信息:
应用领域:网络与通信
设计摘要:
在基于Zynq的高速网络设备中,流表作为SDN设备转发功能的核心,具有很重要的地位。经过实验,仅仅使用ARM Cortex A9的通用运算能力实现的流表在性能上很难保证千兆转发,更合理的方法是在FPGA上实现流表。使用高层次综合的方法设计流表,一方面能够利用FPGA逻辑使得包查找匹配变得更加迅速,另一方面在开发和使用上给不熟悉FPGA的科研人员带来很大的方便。随着SDN越来越广泛的应用,网络设备对流表的灵活性有了更高的要求,高层次综合带来的更强大的表达能力,对描述复杂匹配逻辑,实现更灵活的流表有着开拓性的意义。
本设计利用高层次综合的方法设计流表,讨论其中的细节,并测试高层次综合得到的查找匹配引擎与使用硬件描述语言直接编写的流表在性能,资源占用率上的优劣,最后根据比较的结果,对实现进行优化。
系统原理和技术特点:

 流表是对网络设备数据转发功能的一种抽象,在传统网络设备中,交换机和路由器的数据转发需要依赖设备中保存的2MAC地址转发表或者3IP地址路由表,而SDN交换机中使用的流表也是类似,但是他在流表中整合了各个层次的网络信息,从而在进行数据转发的时候可以使用的信息与规则更加丰富。流表结构如下:

http://image.c114.net/Openflow-201209011-01.jpg

       每个流表项由上面图中的6部分组成:用于数据包匹配的包头域(Match Fields),标志流表项优先级的(Priority),用于统计匹配数据包个数的计数器(Counters),以及用于确定匹配命中的数据包如何处理的动作(Instructions),用于标志流表有效时间的(Timeouts),以及标志着某些特定信息的(Cookie)。

       包头域中用于和交换机收到的数据包进行匹配的元组涵盖了网络模型中的第2到第4层的网络信息,除此之外还需要能处理VLANMPLS等协议。

       动作与传统交换机相比也不再是简单的指定端口转发,还需要对数据包做处理。每个流表项可以对应多达7个动作。例如转发,丢弃,排队,修改域等等。每个动作都对应复杂度不同的包转发与信息修改。

       随着OpenFlow标准的不断升级,支持的包头域与动作种类都在不断增加,这对于使用硬件实现的流表去支持最新的协议来说是个很大的挑战。本项目中使用高层次综合的方法实现OpenFlow 1.1 流表,包括匹配与转发等部分。希望通过高层次综合的帮助,使得流表快速开发部署成为可能性,方便硬件快速实现OpenFlow最新协议,进而完成高性能转发的SDN数据平面。

      设计中还会讨论高层次综合实现的流表与直接使用HDL实现的流表中的性能与资源占用率的差距,比较各自优劣,并寻找实现SDN流表的最佳途径。

当前项目状态:
参赛信息:
指导老师姓名: 张兴军
指导老师职称: 副教授
学校: 西安交通大学
研究方向: 计算机网络体系结构及关键技术;网络计算理论与技术等
参赛情况: OpenHW2014开源硬件与嵌入式计算大赛
需求信息:
拟采用的平台:ZED板
是否需要设计扩展板?
需要的基本功能:
最新版本:
暂无发布的版本信息   了解目前项目的开发进度
相关评论:  
添加评论  更多评论
正在读取数据……
关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:aimei@eefocus.com  联系电话: 0512-80981663-8069    Fax:0512-80981279
Powered by eefocus.com