信息网络基础研讨专题实验
(SDN网络部分)
姓 名: 单赟吉
学 号:
班 级: 通信1109班
********
实验时间: 第十周周二
(一) openflow交换机的手动配置
1、实验目的
1.数据openflow交换机的手动配置环境
2. 配置openflow交换机初始信息
3.手动配置转发表,实现主机之间通信
2、实验原理
关于openflow交换机的实验系列由五个实验构成,这前四个实验须按顺序进行,因为后面的实验需要应用前面实验搭建的软件和硬件环境。第一个实验“openflow交换机的手动配置”熟悉交换机的手工配置环境,实现转发表的手工配置,配置交换机控制端口的地址;第二个实验搭建控制器的软件环境,实现控制器和交换机的互联,运行控制器应用程序,把openflow交换机的功能通过程序实现为一个二层交换机;第三个实验编写一个简单的控制器软件,实现一个简单的广播交换机功能;第四个实验编写一个控制器软件,实现流表的下发和删除,通过这个实验测试控制器提供的编程接口。
第五个实验研究在仿真软件中测试控制器程序和功能,同学们可以在自己计算机上调试好程序以后,再到真实的物理机器上实验,以提高实验设备的使用效率。
分组交换机按照转发表把某一个输入端口的分组搬移到另外一个输出端口上输出。转发表
实现分组目的地址和交换机输出端口之间的映射。转发表决定了交换机的行为。
传统的交换机根据标准协议形成转发表,这部分代码封装在交换机的操作系统中,交换机的运营者不能对转发表的形成继续修改,这样做的好处是保证了交换机的速率和可靠性。但是,运营者不能根据网络的具体特点和业务特性对交换机的转发行为进行专门的定制和设计,影响新业务的提供和增加网络运营成本。
OpenFlow交换机把控制层面和转发层面分离,交换机的转发表可以由运营者手工本地配置,或者通过控制器远程修改和控制。在实际使用环境中,通过控制器远程修改和控制交换机流表。一个控制器就可以控制全网的交换机,控制器可以从全网的角度对每一个交换机的流表进行配置,从而实现全局优化和快速提供新的业务,极大降低了人工运营成本。
国家标准化组织已经制定了交换机和控制器之间的消息格式和交互过程,基于OpenFlow交换机的网络又称为软件定义网络,在大的数据中心已经实用。
在OpenFlow网络中,所有的转发决策从各个交换机转移到控制器上,由控制器集中管理数据包的转发策略,通过OpenFlow协议负责与所有网络交换机进行交互,配置数据转发路径。
OpenFlow网络示意图如上图所示,所有的数据包在网络中的传输路径由控制器(Controller)统一控制决定,OpenFlow交换机只负责转发数据包。
控制器通过对交换机下发流(flow)来实现上述控制流程。一个OpenFlow交换机通常包含多个流表,每个流表含有多条流表条目(flow entries),每条条目由匹配域(match fields),计数器(counters)和指令(instructions)组成。匹配域定义待匹配的数据包特征,如数据包到达的交换机入端口、源以太网地址、目的以太网地址、源IP地址、目标IP地址、VLAN标签。计数器用于对匹配流表的流量统计,更新进入OpenFlow与流匹配的数据包个数以及总字节数。指令用于修改匹配报文的动作集合,决定报文的转发操作,通常的操作有输出数据包到某端口、修改数据包首部信息等。
控制器和OpenFlow交换机之间通过OpenFlow消息实现信息交互。 当一个数据包到达交换机时,如果与流表中的某一条流相匹配,便顺序执行该条流指令的操作。如果没有匹配的流,则把整个数据包缓存在交换机中,并为该数据包配一个Buffer ID,随数据包一起作为Packet In消息发往控制器,控制器根据数据包的首部定义一条新的流决定该类数据包的处理策略,下发Flow Mod信息给交换机,Flow Mod消息用于在交换机中添加或删除流表条目,
同时控制器以Packet Out消息作为载体将数据包返回交换机,Packet Out消息用于控制报文从指定端口发出,交换机依据随包的Buffer ID取出数据包,再根据新定义的流进行交换处理。
本实验实现手动配置交换机转发表。为后续的实验准备实验环境和交换机基本配置。
3、实验器材
1.盛科V330 openflow交换机
2.台式电脑 (一台)
3.普通交换机一台
4、实验内容
1.连接交换机的控制端口和计算机以太网卡。
交换机的控制端口位于交换机右上角,交换机的控制端口的地址已经初始化为,一般不允许学生再进行修改。
配置计算机的以太网卡的地址也要设为 网段,如。
把交换机的控制端口和计算机都连接到一台普通交换机
如下图所示
2.登陆交换机并熟悉交换局配置环境
在计算机上面打开命令行终端,输入telnet 输入?获取交换机配置的帮助。如下图所示,可以获得交换机的各种命令的列表
在命令的名字后面输入?可以获得这个命令的功能和使用说明。例如congfigure ?, 就会显
示这个命令是配置终端所用
3.常用交换机命令
Show命令显示交换机的工作状态。输入以下命令: show interface status; show openflow controller status; show openflow ovsdb。观察结果,并根据帮助对这些命令进行解释
配置控制器地址
1.输入configure terminal, 进入配置状态。
2.输入: openflow set controller tcp 6633。在交换机上面设置控制器的地址。这里假设控制器的地址为,默认端口6633。后面的实验中,需要按照控制器的实际地址在交换机上设置。
3.输入end,推出配置状态
4.手动配置流表。Ovs-ofctl 指令实现openflow交换机上流表的添加、删除和查询等动作。Ovs-ofctl指令集合的详细介绍见附录
把测试计算机连接到openflow交换机的端口2,把openflow交换机的端口8连接到内网交换机。openflow交换机的端口号在交换机的面板上有数字标明。内网交换机地址设为。
telnet登陆交换机,执行如下命令
ovs-ofctl add-flow ovs-switch "in_port=2,actions=output:8" 这个命令把openflow 交换机第2个端口接收到的分组转发到第8个端口。
ovs-ofctl add-flow ovs-switch "in_port=8,actions=output:2" 这个命令把openflow 交换机第8个端口接收到的分组转发到第2个端口。
5.验证流表配置
输入如下命令观察配置的流表:
ovs-ofctl dump-flows br0
在测试计算机终端上面运行如下命令: ping ,观察是否连通。
上述命令的实际执行过程如下图所示
其中,第一个“ovs-ofctl dump-flows br0”是在配置了流表,但是没有连接测试计算机时候得到的结果。第二个显示流表的命令是在连接了测试计算机以后观察到结果。可见流表确实实现了端口2和端口8之间的分组交换。
测试计算机上也能观察到ping确实有反映,如果把测试计算机连接到其它物理端口,这ping没有响应。
(二)Openflow交换机和控制软件的互联及控制软件加载
1、实验目的
Controller控制器的软件安装
控制器和Openflow交换机的互联
加载控制软件到Openflow交换机
验证交换机预期功能
2、实验原理
软件测试app把RYU控制器连接到Openflow交换机,把一个控制器软件加载到Openflow交换机,这个控制器软件的原理是: 交换机接收到一个分组后,把这个分组报告给控制器终端,控制器终端显示;交换机把分组的源地址和接收到分组的物理端口关联起来;交换机查目的地址对应的端口号,如果到,把该分组转发到目的端口,否则在交换机的所有端口广播该分组。
控制器软件加载到交换机以后,将实现一个普通交换机的功能,通过一个普通计算机终端验证这个功能。
.
3、实验器材
1盛科V330 openflow交换机一台
2普通交换机一台台
3普通计算机2台
4、实验内容和步骤
1)连接网络拓扑
网络连接如下图所示。Openflow交换机的控制端口的地址设为,Openflow交换机控制端口和一个数据端口连接到内网交换机。RYU控制器连接到内网交换机。计算机终端连接到openflow交换机。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论