Pica8北京研发中心技术支持QQ:2408416547地址:北京市海淀区北京国际大厦微博:weibo.com/pica8chinaOpenFlow实验手册Pica8北京研发中心2015.1.1注:本文档命令行及操作流程随PicOS软件版本不同略有差异,如有疑问请参考相关配置手册或联系技术支持。Pica8北京研发中心技术支持QQ:2408416547地址:北京市海淀区北京国际大厦微博:weibo.com/pica8chinaOpenFlow实验床介绍本文档介绍在多种应用场景中如何配置pica8交换机。此文档适用于初次接触OpenFlow协议及OVS实施方案的用户。如果想了解更多关于OVS和OpenFlow的知识请参考和通过学习本节文档,用户可以掌握如何基于Pica8交换机配置OpenFlow,同时将获得在应用环境中如何优化配置Openflow的方法,加深了解OVS和的OpenFlow协议。本文档提供了屏幕截图,和完成配置需要的一些应用程序,以及高亮显示在安装过程中你可能遇到的一些问题。(注:Pica8交换机提供OVSGUI配置界面,本文档内容以命令行配置为主)本实验手册将分别介绍如何配置openflow交换机并完成基本实验,步骤包括:将Pica8交换机配置为OVSOpenFlow交换机;创建bridge,添加port,显示bridge和端口统计信息、状态及OVS数据库;配置单向流表、双向流表、流量切换、一到多组播、镜像、过滤器、多到一聚合等等;通过OpenFlow控制器RYU/Opendaylight/Floodlight配置Pica8OpenFlow交换机的端口;图1测试平台配置图1所示的网络为测试平台拓扑,配置如下:一台P-3295交换机,有48个1G的接口和4个10Gb的上行接口;5台PC机,运行Ubuntu12.4.1Linux系统。其中一台PC机连接到交换机的管理口(RJ45)和串口(RJ45F),上面运行OpenFlow控制器,称为ControllerPC;其余四台PC机分别连接到交换机的四个端口上,用来监控流量或产生流量;PC机上需要安装的工具如下所示。通过Linux安装工具apt-get可完成安装终端模拟器minicom流量监控工具Wireshark包产生器Packethftp和ftpd远程终端telnet和telnetdPica8北京研发中心技术支持QQ:2408416547地址:北京市海淀区北京国际大厦微博:weibo.com/pica8china01交换机上电及基本配置交换机的上电配置启动交换机前,用网线连接交换机的控制端口和ControllerPC的串口(如图1所示),然后在该PC上运行终端模拟器Minicom。Minicom的配置参数如下:波特率(Bautrate)1152008N1关闭硬件流控制关闭软件流控制交换机上电启动后,如果连接正常,交换机控制口的输出将通过串口传递至Minicom显示于PC屏幕,如图2所示。如果出现乱码,请检查波特率设置。常见问题请参阅FAQ。出现启动选择菜单前不要点击任何键。根据提示信息,选择2启动交换机的OVS模式。然后,交换机提示是否进入手动配置过程,输入no进入自动配置模式。该模式下,OVS将按默认配置自行启动。图2上电控制口输出根据提示信息输入交换机的静态IP地址,这里用的网段是200.16.1.x。当然你也可以输入自己的子网地址。接着就要输入一个网关地址。为了存储所有的配置信息,系统需要一个数据库配置文件,这里用的是ovs-vswitchd.conf.db。如果此前配置中该数据库文件不存在,它就会被创建到默认路径/ovs目录下。这是基于/ovs/share/openvswitch/vswitch.ovsschema中定义的数据库架构创建的。还可以创建多个数据库来提供不同的配置,但是只能输入一个数据库到启动序列,也就是说OVS启动后只能加Pica8北京研发中心技术支持QQ:2408416547地址:北京市海淀区北京国际大厦微博:weibo.com/pica8china载一个数据库文件。OVS系统在运行过程中可以手动重启或停止该OVS进程。配置数据库文件是固定的,存储在数据库中的配置会在OVS进程启动时重新加载。该例中,由于以前的配置中用的是ovs-vswitchd.conf.db文件,所以系统会找到这个文件并将它的初始化配置显示出来。图1中交换机的管理口eth0和控制器的控制口eth0连接,这是为了运行控制器的PC机能够远程登录到交换机而不受控制台的限制。在这个配置中,所有的PC机都被配上静态的IP从而形成独立的测试环境。然后交换机会继续启动,注意控制台输出的ovsdb-server和ovs-vswitchd的消息。这些是ovsdb的服务器和ovs换机的进程。IP地址是交换机的IP地址,6633是默认用来和ovs交换机数据库服务进程通信的端口号。可以手动配置不同的端口号。关于OVS模式的详细配置过程可以参考文档ovs-configuration-guide.pdf。图3交换机进程及bridge信息后面小节中将讨论ovs-vsctl和ovs-ofctl中用到的IP地址和端口号。由于测试用交换机之前已经创建了一个bridgebr0,并为该bridge添加了四个端口,这些配置信息均被存储到了数据库文件ovs-vswitchd.conf.db中,所以当ovs-vswitchd进程起来时,设备br0上的消息就被显示出来,这说明之前已经创建了该bridge。Root用户的shell提示框(root@PicOS-OVS#)将被显示出来且为用户输入命令使用。Pica8北京研发中心技术支持QQ:2408416547地址:北京市海淀区北京国际大厦微博:weibo.com/pica8china配置交换机操作系统用Linux命令ps–A可以显示正在运行的进程。ovsdb-server和ovs-vswtichd两个进程都运行起来时OVS交换机才算正常启动。用ovs-vsctlshow命令可以查看交换机的bridge配置信息。它显示出数据库的ID和网桥br0的信息,包括四个1G端口及网桥类型internal。在大多数启动案例中,用户可以选择进入一个新的数据库文件,这时就创建了一个空的数据库文件。用show命令查看配置的时候只能查看到数据库的ID。如果创建了一个新的数据库文件,下一步就可以省略用show命令显示配置信息的步骤,而直接开始用add-br来添加bridge等一系列操作。该例中,我们将删除原来的bridge(ovs-vsctldel-brbr0).然后添加新的bridge和port信息。配置OVS的命令如下所示;root@PicOS-OVS$root@PicOS-OVS$ovs-vsctladd-brbr0--setbridgebr0datapath_type=pica8devicebr0enteredpromiscuousmoderoot@PicOS-OVS$ovs-vsctladd-portbr0te-1/1/1vlan_mode=trunktag=1--setinterfacete-1/1/1type=pica8root@PicOS-OVS$ovs-vsctladd-portbr0te-1/1/2vlan_mode=trunktag=1--setinterfacete-1/1/2type=pica8root@PicOS-OVS$ovs-vsctladd-portbr0te-1/1/3vlan_mode=trunktag=1--setinterfacete-1/1/3type=pica8root@PicOS-OVS$ovs-vsctladd-portbr0te-1/1/4vlan_mode=trunktag=1--setinterfacete-1/1/4type=pica8root@PicOS-OVS$root@PicOS-OVS$ovs-vsctlshowd4d12890-c07a-4303-80cc-c6f79cf3afd7Bridgebr0Portte-1/1/3tag:1Interfacete-1/1/3type:pica8Portte-1/1/4tag:1Interfacete-1/1/4type:pica8Portbr0Interfacebr0type:internalPortte-1/1/2tag:1Interfacete-1/1/2type:pica8Portte-1/1/1tag:1Interfacete-1/1/1type:pica8root@PicOS-OVS$Pica8北京研发中心技术支持QQ:2408416547地址:北京市海淀区北京国际大厦微博:weibo.com/pica8china配置网桥bridge创建新的bridge的命令为:ovs-vsctladd-brbr0--setbridgebr0datapath_type=pica8。接下来用ovs-vsctladd-portbr0ge-1/1/1–setinterfacege-1/1/1type=pica8来添加端口到bridge里面。这里添加了四个端口。用ovs-vsctlshow命令可以查看自己的配置。这些配置都被下发到了数据库文件中。正如屏幕截图中显示的那样,bridge有四个1G的端口和一个内部端口。接下来,我们可以用ovs-ofctlshowbr0来监控端口的状态和查看端口的配置信息。以下的命令用来显示bridge的配置。root@PicOS-OVS$ovs-ofctlshowbr0OFPT_FEATURES_REPLY(OF1.4)(xid=0x2):dpid:5e3ec80aa9ae0a66n_tables:254,n_buffers:256capabilities:FLOW_STATSTABLE_STATSPORT_STATSGROUP_STATSOFPST_PORT_DESCreply(OF1.4)(xid=0x4):1(te-1/1/1):addr:c8:0a:a9:ae:0a:66config:0state:LINK_DOWNcurrent:FIBERadvertised:1GB-FDFIBERsupported:1GB-FD10GB-FDFIBERAUTO_NEGspeed:0Mbpsnow,10000Mbpsmax2(te-1/1/2):addr:c8:0a:a9:ae:0a:66config:0state:LINK_DOWNcurrent:FIBERadvertised:1GB-FDFIBERsupported:1GB-FD10GB-FDFIBERAUTO_NEGspeed:0Mbpsnow,10000Mbpsmax3(te-1/1/3):addr:c8:0a:a9:ae:0a:66config:0state:LINK_DOWNcurrent:FIBERadvertised:1GB-FDFIBERsupported:1GB-FD10GB-FDFIBERAUTO_NEGspeed:0Mbpsnow,10000Mbpsmax4(te-1/1/4):addr:c8:0a:a9:ae:0a:66config:0state:LINK_DOWNcurrent:FIBERadvertised:1GB-FDFIBERsupported:1GB-FD10GB-FDFIBERAUTO_NEGspeed:0Mbpsnow,10000MbpsmaxLOCAL(br0):addr:c8:0a:a9:ae:0a:66config:0state:LINK_UPcurrent:10MB-FDCOPPERPica8北京研发中心技术支持QQ:2408416547地址:北京市海淀区北京国际大厦微博:weibo.com/pica8chinasupported: