论文部分内容阅读
传统网络中,网络主要固件被各设备厂商锁定与控制,协议实现也与硬件绑定,各自只是针对某个问题工作,互相独立互不干扰。这与目前网络需求非常不符。人们需要能够对网络有更大的控制权,将控制与转发隔离。在此背景下SDN技术提出并得到迅速发展。面对SDN技术的发展,各大厂商公司纷纷推出了自己的SDN交换机,但是现有的交换机处理器系统和FPGA相互独立,由不同的器件实现,再加上外围电路,使得交换机体积大,功耗高,这在教学演示和科研中非常不便。对此,本文提出利用具有高集成度,高性能和低功耗特点的SOC实现SDN交换机以满足教学和科研需求。交换机的实现平台选用xilinx公司新推出的zynq-7000 SOC芯片。这款SOC不同以往的SOC,它的处理器与FPGA处于同一个架构上,所以性能大幅度提升。这有利于突破传统交换机处理器与FPGA存在的数据传输传输瓶颈。在设计中,我们选用SOC的高速数据通道完成数据在可编程逻辑和可编程系统之间的传输。选择芯片上位于可编程逻辑部分的DMA负责数据的传输控制,因为相比于可编程处理器部分的DMA其性能更加优越。交换机的帧类型主要考虑控制帧,实现交换机与控制器的交互。本文首先介绍与SDN交换机实现相关的技术,包括SDN架构、OpenFlow交换机组成和工作过程。在设计中,数据的传输完全依赖基于AXI协议的DMA,所以会介绍AXI协议和应用的AXI-DMA核的工作原理。然后给出测试所用的平台zynq-7000的组成和性能,结合关键性实验演示相关开发工具的使用。接着根据OpenFlow交换机的结构,设计利用SOC技术实现SDN交换机所适合的整体架构并规划具体的交换机各部分功能实现方式。按照从硬件到软件,底层到高层的顺序逐一介绍。最后,通过对各个功能进行测试,结果与预计的相符,完成了控制帧传输的目的。而且交换机与控制器可以顺利建立连接,完成几种控制帧的交互。关于AXI通道的性能,也是测试中比较重要的部分,不过因为方向较新,没有进行对比,但是测出的性能非常优秀,完全可以满足交换机控制帧的传输要求。