第五届全国高校软件定义网络(SDN)
应用创新开发大赛
学校名称:北京邮电大学
指导老师:
队员:
队伍名称:
第五届全国高校 SDN 应用创新开发大赛
目录
第一部分:基础题(22 分,共计 2 大题)......................................................................................1
第 1 题:搭建基于 SDN 架构的实验网络(9 分).............................................................. 1
1.1 搭建网络环境方案及软硬件作用(4 分)........................................................................ 1
1.2 拓扑视图展示(2 分)..............................................................................................................3
1.3 两两互 ping 测试截图(3 分)..............................................................................................4
第 2 题:浅析基于 OpenFlow 的 SDN 网络的控制功能(13 分)............................... 6
2.1 实现要求 1 的操作、流表信息和 ping 测试结果(4 分).......................................... 6
2.2 给出报文结构图,并分析报文的结构和作用(4 分).............................................. 12
2.3 传统分布式网络的实现步骤及与 SDN 实现的差别(5 分)...................................15
第二部分:提高题(38 分,共计 2 大题)................................................................................... 15
第 3 题:基于 LLDP 和 OpenFlow 的网络拓扑检测(18 分).............................................. 16
3.1 网络环境搭建、拓扑截图及拓扑检测原理(8 分)..................................................16
3.2 全局拓扑检测方案、流程图和结构化数据(10 分)............................................... 24
第 4 题:动态改变转发规则(20 分).............................................................................................32
4.1 仿真网络环境与网络拓扑(4 分)...................................................................................32
4.2 北向 API 及功能介绍(4 分)...........................................................................................33
4.3 程序设计方案和 IP 验证程序截图及分析(12 分)..................................................34
第三部分:设计题(40 分).......................................................................... 错误!未定义书签。
一、设计名称、具体问题及研究现状和意义...........................................错误!未定义书签。
二、解决方案和实现思路.................................................................................错误!未定义书签。
2.1 系统框架总览...................................................................................... 错误!未定义书签。
2.2 系统架构详解...................................................................................... 错误!未定义书签。
2.3 AI 控制模块...........................................................................................错误!未定义书签。
2.4 实验平台系统底层实现....................................................................错误!未定义书签。
三、实验测试........................................................................................................错误!未定义书签。
3.1 基于上述实验平台的一个流量负载均衡实验示例................. 错误!未定义书签。
3.2 基于上述实验平台及 AI 代理的省电测试 ................................. 错误!未定义书签。
四、结论................................................................................................................. 错误!未定义书签。
附加内容(代码):............................................................................................................................... 46
第五届全国高校 SDN 应用创新开发大赛
第一部分:基础题(22 分,共计 2 大题)
第 1 题:搭建基于 SDN 架构的实验网络(9 分)
1.1 搭建网络环境方案及软硬件作用(4 分)
1.1.1 搭建网络环境方案
实验采用 VMware,在其中分别建立 Ubuntu14.04LTS 虚机和 Ubuntu16.04LTS 虚机。在
Ubutn14.04LTS 系统中搭建 mininet 环境,用于构建基于 OpenFlow 协议的虚拟网络,在
Ubuntu16.04LTS 系统中搭建 ONOS 环境,用其作为 SDN 网络控制器。在创建实验时,利用
mininet 快速构建网络功能,可借助 python 语言通过 mininet 提供的接口编写自定义网络拓
扑脚本,同时开启 SDN 控制器,之后通过 Openflow 协议实现网络中 OF 交换机与控制器的
通信与交互。
Ubuntu14.04LTS 虚机中安装 2.2.1 版本的 mininet 网络仿真软件(IP 地址为
192.168.88.136);
1 台 ubuntu16.04LTS 虚机分别安装 ONOS1.10.13 版本的控制器(IP 地址为
192.168.88.128);
1.1.2 onos 控制器作用
作为 SDN 网络中的控制器部分,用于管理底层网络和上层应用的交互,可获取底层网
络拓扑,实现流表下发,执行协议等,负责流量控制以确保智能网络,可通过 onos 控制器
实现服务器告诉交换机向哪里发送数据包的功能。操作如下:
1) 启动 ONOS 控制器
2) ONOS 安装完成后,通过 onos 脚本启动控制器:
图 1-1-1 ONOS 启动命令
3) ONOS 默认工作 6653 端口下,REST 监听工作在 8181 端口下,通过加载 ONOS 脚本命
令可以进入 ONOS 的控制台界面,输入 ONOS 命令即可获取到对应的底层信息,控制
器界面如下图所示:
1
第五届全国高校 SDN 应用创新开发大赛
图 1-1-2 ONOS 控制台界面
1.1.3 mininet 作用
轻量级网络仿真平台,本实验中用于模拟 SDN 网络中的底层网络创建与功能验证。使
用 mininet 搭建网络,可以模拟主机、交换机、链路以及到控制器的链路。本实验的拓扑脚
本如下所示,直接运行此脚本即可连接远端控制器:
图 1-1-3 mininet 脚本
2
第五届全国高校 SDN 应用创新开发大赛
图 1-1-4 mininet 脚本(续)
ONOS 作为控制器,运行 mininet,搭起所要求的网络。
图 1-1-5 启动 mininet
1.2 拓扑视图展示(2 分)
ONOS 启动后,执行 mininet 脚本,此时控制器会通过端口与拓扑中的交换机连接。访
问 http://127.0.0.1:8181/onos/ui 打开 ONOS 提供的 UI 管理页面,可以查看网络的信息视图,
包括交换机、主机信息、流表等:
3
第五届全国高校 SDN 应用创新开发大赛
图 1-2-1 网络拓扑图
1.3 两两互 ping 测试截图(3 分)
1.3.1 实验步骤
ONOS 启动时默认加载了 openflow、fwd 转发、lldp、arp 代理等模块,在底层网络连
接控制器时,控制器会收到底层网络发送的消息,进而获取网络拓扑和泛洪,下发流表到对
应的交换机中实现网络通信。在本网络中存在环路,arp 代理模块可以有效的阻止广播风暴,
从而实现整个网络的通信可达。
1.3.2 实验结果
在拓扑连接控制器后,在 mininet 一侧执行 ping 命令可以测试各个主机之间的连通性,
其 ping 测试结果如下图中所示:
图 1-3-1 总体连通性测试图
4
第五届全国高校 SDN 应用创新开发大赛
图 1-3-2 H1 ping H2
图 1-3-3 H1 ping H3
图 1-3-4 H1 ping H4
图 1-3-5 H2 ping H3
图 1-3-6 H2 ping H4
5