本节书摘来自华章计算机《软件定义网络:基于OpenFlow的SDN》一书中的第2章,第2.3节,作者:Siamak Azodolmolky,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.3 基于软件的交换机
目前已有一些OpenFlow软件交换机可供使用,包括可作为OpenFlow实验平台的软件交换机,还有用于开发和测试OpenFlow网络应用的软件交换机。下面简单介绍一些现有的软件交换机,以及它们所支持的编程语言和OpenFlow标准:
Open vSwitch:这是一个具有产品级质量的多层虚拟交换机,使用Apache 2.0许可。该设计在支持标准的网管接口和协议(如NetFlow、sFlow、OpenFlow、OVSDB等)的同时,还能够通过可编程接口的扩展实现网络的自动化运维管理。
Indigo:这是一个开源的OpenFlow实现方案,运行于物理交换机之上,能够利用以太网交换机专用ASIC芯片的硬件特性,以线速运行OpenFlow。该方案基于斯坦福大学的OpenFlow参考实现方案。
LINC:这是一个由FlowForwarding主导的开源项目,是基于OpenFlow1.2和1.3.1版本的一个实现方案,遵循Apache 2许可。LINC架构采用流行的商用x86硬件,可运行于多种平台上,如Linux、Solaris、Windows、MacOS,在Erlang运行环境的支持下,还可以运行于FreeBSD平台。
Pantou(OpenWRT):这个实现方案可以把商用的无线路由器或无线接入点设备变为一个支持OpenFlow的交换机。它把OpenFlow作为OpenWrt上面的一个应用来实现。Pantou基于所发布的BackFire OpenWrt软件版本(Linux 2.6.32),其OpenFlow模块基于斯坦福大学的参考实现方案(用户空间)。在本书写作时,Pantou支持的设备包括:普通的Broadcom接入点设备、部分型号的LinkSys设备,以及采用Broadcom和Atheros芯片组的TP-LINK的接入点设备。
Of13softswitch:这是一个与OpenFlow 1.3版本规范兼容的用户空间的软件交换机实现方案。它基于爱立信的TrafficLab 1.1版软交换产品。该软件交换机的最新版本包括:交换机实现方案(ofdatapath),用于连接交换机和控制器的安全信道(ofprotocol),用于和OpenFlow 1.3之间进行转换的库(oflib),还有一个配置工具(dpctl)。该项目由位于巴西的爱立信创新中心(Ericsson Innovation Center)提供支持,并由同爱立信研究部门展开技术合作的CPqD提供维护。