1、基于 SDN 的高校计算机网络实验室设计打开文本图片集摘要:网络应用数量的迅猛增长,让新型网络创新架构 SDN 受到各界的广泛推崇。为了解决许多高校的计算机网络实验室还不支持 SDN 相关实验,对计算机相关专业学生在 SDN 的学习、应用和研究方面形成阻碍,不利于学生的系统学习和就业的问题,本文从 SDN 的理论建设出发,基于 OpenFlow 标准,搭建基于 SDN 的计算机网络创新环境实验平台并设计了五种基本网络连接通信情况,为高校计算机网络实验室提供能够支持 SDN 相关实验的低成本可行性设计方案。关键词:软件定义网络;SDN;控制器;OpenFlow中图分类号:TP391.1文献标识码
2、:ADesign and Research of the University ComputerNetwork Laboratory Based on SDNLI Yuerong,XUE Tao,XUE Wensheng(School of Computer Science,Xian Polytechnic University,Xian 710048,China)Abstract:With the rapid growth of network applications and huge trafficdata,network links are congested,and network
3、management is facing severechallenges.SDN has also been noticeable since its birth.However,at present,many computer network laboratories in universities do not support SDNexperiments,which hinders the learning,application and research of SDN forcomputer-related majors,and is not conducive to student
4、s systematic learningand employment.Based on the OpenFlow standard this paper builds anexperimental platform of computer network innovation environment based onSDN,and provides a feasible design scheme to support SDN related experimentsfor computer network laboratories in colleges and universities.K
5、eywords:software defined network;SDN;controller;OpenFlow1引言(Introduction)随着大数据时代的到来,网络应用数量的迅猛增长,用户对流量的需求不断扩大,封闭的网络设备内置了过多的复杂协议,增加了运营商定制优化网络的难度,科研人员无法在真实环境中大规模部署新协议,一系列问题的激化催生了软件定义网络(SoftwareDefined Network,SDN)1。SDN 是一种新兴的网络体系结构,具有动态性,可管理性,自适应性。该架构解耦了网络控制和转发功能,使网络控制成为可直接编程的,并为应用程序和网络服务抽象出底层基础架构。SDN
6、可以实现网络虚拟化,是一种创新网络架构,最具鲜明的特色在于具备松耦合的控制平面和数据平面、支持集中化的网络状态控制、实现低层网络实施对上层应用的透明,能够灵活控制网络流量,使网络能最大程度的接近智能化2。SDN 在数据中心、园区、广域网中的持续创新,使各厂商之间的博弈也将随之进入白热化3。然而目前很多高校的计算机网络实验室只支持传统网络实验,使学生在学习 SDN 相关知识时缺乏实际操作,这不仅会增加理论知识的学习难度,也会导致理论知识和实际操作脱节,遇到实际问题无从下手。另外,让大学生积极参与 SDN 技术实践及研究对学生职业规划发展和我国知识人才储备有着积极影响。本文介绍了 SDN 的相关技
7、术和架构,详细阐述了如何为计算机网络实验室搭建 SDN 网络实验环境,为高校在计算机网络实验室进行 SDN 相关实验提供思路。2SDN 发展背景(SDN development background)随着大数据、云计算及相关技术的发展,带来了服务器应用需求的爆炸式增长,众多企业也迎来互联网化、数字化浪潮。虚拟化技术因为能够解决单一物理服务器承载能力有限的问题而更加引人注目。动态地为用户分配所需资源,使用户能够灵活的进行各种操作是虚拟化技术最重要的特点,但这样一来也是给网络资源配置增加了负担,并且虚拟化技术在最大化服務器使用效率的同时也带来了性能损耗4。另一方面,网络中充斥着很多互相没有联系的网
8、络协议,这些协议不能对共性问题进行抽象,这样一来就会为本来繁琐的传统网络增添复杂性,导致网络变得更加脆弱和难以管理。因此,只有尽可能少的网络变动才能勉强维持传统网络的通畅运转,无形中给网络管理员进行网络管理增添了巨大压力。为此,集简化网络配置、优化网络管理、提高网络效率、平滑升级软件等各种优点于一身的新型网络创新架构 SDN 从诞生之初就备受各界的关注,如今更是受到各界的广泛推崇。SDN 使网络行为能够由位于提供物理连接的网络设备之外的软件控制。因此,网络用户可以定制其网络的行为以支持新服务。通过将硬件与软件分离,运营商可以快速地从封闭式和专有平台的限制中引入创新型和差异化的新服务。从早期的各
9、种开源组织、开源项目、初创公司,到连续四届的开放网络峰会。业界巨头的战略转变,SDN 的发展越来越壮大。现下,每当数据中心网络中基于软件的服务通过因特网协议(IP)地址访问时,就会引发动态配置,而 SDN 就可以很好的对服务器提供的所有主要资源,如计算容量、内存、存储等进行调控,并且能根据根据负载性能响应做出相对应的调整,能够提高资源利用率、节省存储空间和加速网络运行。SDN 通过创建与物理组件执行相同角色的虚拟设备来解决网络可编程性问题。当给出网络命令的信道可以与用户数据交换的信道分开时,编程网络进行自适应调整变得非常容易,使得诸如超收敛的方法成为可能。3SDN 网络体系架构(SDN net
10、work architecture)在 SDN 网络体系架构中,网络的控制平面和数据平面相互分离,并通过南向协议进行通信,使得逻辑集中的控制器可以对分布式的数据平面进行编程控制5。SDN 颠覆了 OSI的七层架构,将网络划分为转发层、控制层和协同应用层,在 SDN 技术上运行的服务和应用程序是从提供网络控制的物理连接的底层技术和硬件中抽象出来的。应用程序将通过API 与网络交互,而不是与硬件紧密耦合的管理接口。如图 1 所示。协同应用层是实现用户目的的各种层应用程序集合,统称为协同层应用程序。对于开发者而言,这一层是开放区域,供开发者进行开发各种创新应用。也为企业和数据中心网络提供各种端到端的
11、解决方案。需要特别说明的是,转发平面、控制平面和管理平面并不是 SDN 独有的。相比于同样拥有这三个特质的传统网络,SDN 能够对它们进行集中控制,而这一点是传统网络无法做到的。控制层是 SDN 控制器管理网络的基础设施,主要负责网络路径交换的管理和边界业务路由的生成,并负责维护不同的网络信息、拓扑细节。控制器包含大量业务逻辑,维护网络的全局视图,应用程序和策略引擎将其视为单个逻辑交换机。转发层也叫基础设施层,主要由转发器和连接器的线路构成基础转发网络,这一层负责执行用户数据的转发,转发过程中所需要的转发表项是由控制层生成的。在 SDN 架构中,SDN 剥离了网络的控制平面与数据平面,通过增加
12、对网络的可编程性来革新当前偏重静态、配置复杂、改动麻烦的网络架构。SDN 允许网络管理员通过动态的自动化 SDN 程序快速配置、管理、保护和优化网络资源,他们可以自行编写代码,因为程序不依赖于专有软件。数据平面也不必具体实现各种网络协议,只需接收控制平面的操作指令并执行即可实现控制功能。SDN 还有一个非常大的优点是它通过开放标准实施时简化了网络设计和操作,控制器提供的指令代替了多个供应商特定的设备和协议。它不属于某一家商业公司,而是属于所有 IT 企业和一些标准组织,因此 SDN 的发展也可以打破目前一些网络巨头的垄断并为网络技术的飞速发展提供动力。4SDN 南向接口和 OpenFlow(S
13、DN south facinginterface and OpenFlow)在 SDN 架构中,网络的控制平面和数据平面相互分离,并通过南向协议进行通信,使逻辑集中的控制器能够可以对分布式的数据平面进行编程控制6。南向接口是为网络数据平面提供统一开放和具有更多编程能力的接口,控制器可以利用这些接口对数据平面设备进行编程控制和指导网络流量的转发。目前 OpenFlow 是标准化组织 ONF 唯一确定的控制器南向接口,在 SDN 发展中举足轻重7。南向接口对于 SDN 架构的演进非常重要。在一个真实网络应用方案中,数据平面的南向接口能力决定了 SDN 方案用户编程能力的上限。在南向接口中,应用最多
14、的是 OpenFlow协议,大多数 SDN 设备和控制器都对 OpenFlow 支持。相比传统网络的配置协议,支持OpenFlow 的网络设备给网络管理员提供了一组更细粒度的可编程 API。网络运维人员通过OpenFlow 协议可以自定义网络设备的转发行为。但是 OpenFlow 交换机只是定义了一种通用转发抽象模型。最理想的 SDN 数据平面是协议无关的通用可编程网络处理模型。传统的网络体系结构已经不能适应企业、运营商和网络端用户的需求。创新网络架构SDN 已经成为新潮流。在高校计算机网络实验室中利用支持 OpenFlow 协议的 OVS 搭建 SDN实验环境无疑是最佳选择。5SDN 计算机
15、网络实验室设计(Design of the SDNcomputer networklaboratory)搭建支持 SDN 实验的计算机网络实验室有助于学生在 SDN 实际应用场景中的学习,对SDN 的理论学习具有指导意义。5.1利用 Mininet 搭建 OpenFlow 环境Mininet 是由一些虚拟的终端节点、交换机、路由器连接而成的一个网络仿真器,它采用轻量级的虚拟化技术让系统可以尽可能的接近真实网络。采用 Mininet 平台在计算机网络实验室来搭建 OpenFlow 环境最重要的原因是,在 Mininet 中得到验证的代码程序可以无缝迁移到真实的硬件环境中,因此非常适合教学研究。目
16、前 Mininet 官方已经对各个版本的 OpenFlow 协议进行了测试,并把 Mininet 集成到了支持 OpenFlow 协议的开源控制器環境中。本文设计平台中包括:VMware Player 上的 Mininet 虚拟机、作为客户端的putty、Xming(X-Server),其中 putty 能够以图形化输出的方式运行程序,便于观察到图形化输出结果。搭建步骤如下:(1)启动虚拟机程序中的 Mininet 虚拟机镜像并登录到 Mininet 虚拟机中。(2)找到虚拟机的 IP 地址,建立与 Mininet 虚拟机的 SSH 会话,启动 Wireshark 作为后台进程。(3)在 Wireshark 中选择所用的数据包捕获设备,或者选择环回的网络接口,捕获和 OpenFlow 相关的流量。(4)建立好 Mininet 仿真环境后,用 OpenFlow 控制器和交换机启动 OpenFlow 协议的通信,如果能在 Wireshark 窗口查看到捕获的数据包(图 2),则表示利用 Mininet 搭建 OpenFlow 环境成功。