申海杰 陈晓范 田新志
摘要:针对新一代计算机网络架构SDN,基于Mininet平台,验证了OpenFlow协议通信过程,并通過观察流表验证了SDN中的控制转发分离技术。该实验方案能帮助学生更好地理解SDN的理论知识。
关键词:SDN;Mininet;实验教学
中图分类号: 文献标识码:A
文章编号:1009-3044(2019)09-0124-02
开放科学(资源服务)标识码(OSID):
1 引言
SDN(Software-Defined Networking,软件定义网络)是一种基于软件的网络架构和技术,支持集中化的网络控制,实现了底层网络设备对上层应用的透明,具有灵活的软件编程能力,采用软件定义网络的方式,灵活满足不同用户的应用需求[1]。
笔者在讲授SDN时发现由于SDN设备较贵,导致学生不能通过实验理解其理论知识,最终影响相应课程的教学效果和学生动手能力的培养[2]。
2 实验方案
为了使学生更好地理解SDN的通信原理,笔者设计了此实验方案。本实验使用Mininet官方提供的虚拟机镜像作为实验平台,该VM镜像系统基于14.04版Ubuntu系统。
2.1 配置开发环境
a)安装mininet
下载mininet官网170321版虚拟机镜像并解压后导入到vmware中。
b)Linux系统网络配置
启动虚拟机中的Ubuntu14.04版linux系统,修改/etc/network/interfaces和/etc/resolvconf/resolv.conf.d/base配置静态ip和dns地址以便windows下ssh访问,并测试internet。
2.2启动mininet
在h1上启动一个简单的web server并用h2访问测试,如图1所示。
2.3分析SDN通信过程
SDN中使用的核心协议OpenFlow工作在TCP传输层之上,控制器与交换机在初始化建立连接之前需要先发送hello消息,以确定双方通信所使用的OpenFlow协议的具体版本,如图2所示。下面通过使用wireshark软件抓包分析。
h1 ping h2后,当数据包到达SDN交换机后交换机首先查找其流表中有无匹配项,如未查到则会将数据包进行封装,以一个packet_in消息的形式将其发给控制器,而控制器则负责决策并将数据包进行封装,以一个packet_out消息的形式下发给交换机,交换机收到决策信息后将其添加到流表中,通过这种方式实现两个主机间的通信,如图3所示。
3 结束语
通过以上实验,我们验证了OpenFlow协议通信过程,并通过观察流表验证了SDN中的控制转发分离技术。该方案能帮助学生更好地理解SDN的理论,学生的动手能力和知识掌握都得到一定程度的提升。
参考文献:
[1] 黄家玮,韩瑞,钟萍,等.基于Mininet的计算机网络实验教学方案[J].实验技术与管理,2015(10):139-141.
[2] 张连成,奚琪,郭毅,等.基于Mininet模拟环境的软件定义网络实验课程设计[J].计算机教育,2015(6):104-107.
[3] 申海杰,陈靖,陈晓范,等.基于SDN的网络虚拟化实验教学方案[J].微型电脑应用,2018,34(1):32-36.
【通联编辑:朱宝贵】