支持SDN的计算机网络实验室方案设计与实现

known 发布于 2025-08-25 阅读(316)

摘 要:网络应用与流量的爆发式增长,SDN架构成为未来网络关键技术之一,而目前大部分高职院校计算机网络实验室并不支持开展SDN网络的相关实验,不利于计算机网络相关专业的学生对SDN网络的架构、配置与应用进行系统学习,基于SDN关键技术及现有实验环境,提出一种支持SDN的计算机网络实验改造方案,解决SDN网络中控制器、OpenFlow交换机以及虚拟主机的仿真问题,并在该实验室环境下进行了利用Mininet搭建SDN网络对比性实验和Ryu与Mininet联合流表实验。

关键词:SDN;计算机网络实验室;Ryu控制器

中图分类号:TP393 文献标识码:A 文章编号:2096-4706(2025)02-0007-05

Design and Implementation of SDN-enabled Computer Network Laboratory Scheme

WU Pei, XU Helong, ZHANG Fan

(Engineering College, Ankang Vocational and Technical College, Ankang 725000, China)

Abstract: With the explosive growth of network applications and traffic, SDN architecture has become one of the key technologies of future networks. However, currently, most computer network laboratories in higher vocational colleges do not support relevant experiments on SDN networks, which is not conducive to the systematic learning of the architecture, configuration and application of SDN networks for students majoring in computer networks. Based on the key technologies of SDN and the existing experimental environment, a transformation scheme for computer network experiments that supports SDN is proposed to solve the simulation problems of controllers, OpenFlow switches and virtual hosts in SDN networks. In this laboratory environment, a comparative experiment on building SDN networks with using Mininet and a joint flow table experiment with Ryu and Mininet are carried out.

Keywords: SDN; computer network laboratory; Ryu Controller

DOI:10.19850/j.cnki.2096-4706.2025.02.002

0 引 言

随着技术的飞速发展,互联网已经成为现代社会重要的公共基础设施之一,特别是近年来大数据和人工智能等技术兴起,网络应用与流量爆发式增长,传统完全分布式的网络体系架构逐渐暴露出一系列的问题,如体系庞大,架构臃肿,不够灵活,难以满足新业务的需求,服务质量得不到保障,新的网络协议部署困难等,软件定义网络(Software-Define-Network, SDN)技术应运而生[1]。

SDN可以实现网络灵活控制,提供一个更具弹性和可编程性的网络架构,满足数据中心、智慧校园、运营商等网络环境中的动态、灵活的网络需求,其核心思想是分离控制平面和数据平面,通过集中控制器完成对网络的可编程控制,对网络资源进行集中式的管理与调度,还可以根据用户需求灵活地提供不同质量等级的服务[2]。

SDN已经成为推动网络架构和管理创新的新技术,并被国际电信标准化部门认可为下一代网络主流技术。一些标准化组织和设备厂商已经开始积极推动和制定与SDN相关的标准和规范。例如,开放网络基金会(ONF)、Internet工程任务组(IETF)、国际电信联盟(ITU)、中国通信标准化协会(CCSA)等。在中国,SDN技术的应用也受到了重视。工信部在2021年发布的《“十四五”信息通信行业发展规划》中,已经将推进网络功能虚拟化(NFV)、软件定义网络(SDN)等技术应用,提高网络资源智能化调度能力和资源利用效能列为重点任务之一[3]。

而高校作为培养网络创新人才的主阵地,建设SDN网络实验室具有重要意义。让计算机网络相关专业的学生主动投身于SDN技术的研究与应用,对其未来的职业生涯发展起到推动作用,还能为培养国家互联网领域创新型人才的培育做出积极贡献。本文介绍了SDN的体系架构及其关键技术,并对如何搭建SDN网络实验环境,开展SDN网络实验进行详细说明,为高校开展SDN网络实验及课程提供思路。

1 高校开展SDN网络教学的必要性

SDN在全球范围内已经得到广泛应用,并且被运营商、通信设备商、高校和科研机构等各方重视和采用。国内外主流运营商陆续开始了多项网络重构计划,主动拥抱SDN、NFV等新技术推动网络转型,增强网络业务创新能力,并取得了初步成果[4]。早在2012 年Google 公司发布了SDN广域网络B4,并在全球大规模的成功部署。中国三大运营商在SDN领域也是先行者之一,他们早在2014年就完成了全球首个运营商SDN商用部署。此外,华为、华三、锐捷、盛科等通信设备商也推出了一系列的SDN软硬件产品。在高校和科研机构方面,清华大学、北京邮电大学等一些高校的团队也致力于SDN的研究,并在实践中开展了校园SDN网络的部署和测试[5]。

预计未来的网络将大规模应用SDN架构,从事计算机网络相关工作的毕业生将不可避免地接触到SDN相关内容。因此,在高校开设SDN相关课程是非常有必要的,同时在计算机网络实验室中搭建SDN实验环境也有助于学生在SDN应用场景中进行学习和实践。

2 SDN网络的关键技术

2.1 SDN网络体系架构

SDN是一种新型网络创新架构,其主要工作原理是从传统设备中分离出数据平面和控制平面,通过南向协议实现二者间的通信,利用逻辑集中的控制器对数据平面进行集中控制,并且提供开放的、标准化的网络编程接口,满足上层用户多样化需求[6]。

SDN网络架构主要由应用层、控制层、转发层组成,SDN网络架构图如图1所示,其中应用层由若干应用程序组成,可通过北向接口实现与SDN控制器的通信,这些应用程序能够以可编程的方式向控制器提交需求[7]。对开发者而言,这一层是开放的,可以为网络创新应用提供平台;控制层通过南向协议实现将应用平面的用户请求下发到转发层,可以提供一套完整的、标准的、开放的编程接口,上层的应用软件可通过这套接口灵活的控制网络资源以及行为。最下层的转发层也叫基础设施层,由各种实体或虚拟的网络设备组成,按照控制层生成的转发表项执行用户数据的转发。

SDN网络架构最突出的特点之一是将控制平面与数据平面的解耦,控制器成为连接两个平面的桥梁,通过北向接口和南向接口协议分别与上层应用和下层转发设备进行通信[8]。控制策略不再局限于传统的分布式网络,而是跃升至整个网络之上,控制层演变一个单一的、逻辑高度集中的系统,这个系统宛如网络世界的智慧大脑,不仅可以实现对底层网络资源的抽象与隔离,更能在全局视图下化解资源冲突,实现资源的高效精准分配[9]。控制层运用标准化的南向接口协议控制底层转发交换设备,赋予了系统更佳的灵活性与扩展性,使得对复杂网络环境的精准调控成为可能。控制器提供一套标准化的指令取代了各底层交换设备厂商独有的设备和协议,降低了网络架构复杂性和运维难度,标准化接口的普及,这使得交换设备厂商得以将更多的精力投入到核心硬件的研发中,进而打破目前一些行业巨头的垄断,推动网络技术的高速发展。

2.2 SDN接口协议

SDN的接口协议支撑起了SDN强大的可编程能力,是SDN关键的技术环节之一。南向接口协议负责实现控制层与转发数据层之间的通信,以及部分配置与管理功能。其中ONF组织推进的OpenFlow系列协议,无论是在技术上还是市场上都较为成熟,大多数的SDN设备和控制器都对OpenFlow支持[10]。北向接口协议实现控制与上层应用的交互,为SDN设计者提供了二次开发的能力。SDN应用的多样性,使得北向接口的需求多变,其设计同还需要满足合理性、开放性等要求,因此统一设计标准颇具挑战,目前业界尚无公认的标准。

3 支持SDN的计算机网络实验室设计

搭建SDN实验环境是开展SDN教学的前提。考虑到目前SDN硬件设备昂贵,本文主要拟采用模拟软件搭建SDN实验环境。

3.1 计算机网络实验室改进

按照图2计算机网络实验室改进拓扑图,需要对传统的网络实验室进行改进,增加支持SDN的网络设备,在原实验室机柜区,新增一台服务器,服务器上根据实验室需求,部署多台运行Ubantu(本文使用22.04.1版本)操作系统的虚拟机,虚拟机采用桥接模式连接计算机网络实验室的网络,与实验区机柜中的网络设备使用同一网段。在虚拟机中安装Mininet网络仿真工具,Open vSwtich、Ryu控制器等相关工具。

3.2 利用Mininet搭建OpenFlow环境

Mininet是一款支持大规模SDN原型网络系统的轻量级网络仿真工具,可安装到普通的计算机中,无须庞大的硬件资源。该工具能够模拟终端、OpenFlow交换机以及控制器等网络节点,同时支持OpenFlow交换机与其他外部控制器的联用,自由地搭建网络环境,以便于研究人员对各种创新理念或网络协议进行测试和验证。目前Mininet已经作为官方的演示平台对各个版本的OpenFlow协议进行演示和测试,并且已经集成Open vSwitch软件,支持OVS命令。

为了获取Mininet的完整功能,到官方网站上获取源代码,以root用户身份使用Mininet/util/install.sh -a 命令进行全安装,安装后可使用mn命令进行简单验证。本文使用的Mininet 2.3.1b4版本。

3.3 Ryu控制器

Ryu是一款比较流行的开源SDN控制器。在为用户提供灵活编程的网络控制接口的同时,能轻松在逻辑上集中控制数千个OpenFlow交换机。Ryu基于Python语言进行开发,简单、易用,在业界得到了广泛应用,特别是Ryu可以与云计算平台OpenStack实现无缝对接。

使用pip install ryu命令进行安装,安装后使用ryu-mangar –verbose命令启动Ryu,本文使用Ryu 4.34 版本。启动Ryu控制器后,可以将Mininet中控制器设置成remote,实现Mininet与Ryu控制器的连接。

4 SDN网络实验实例

SDN网络的最突出的两大特征是数据与控制的分离和网络功能可编程(软件化)。本文拟采用2组实验来证明设计的改进方案可以支持大部分SDN网络实验,帮助学生学习和掌握SDN相关技术。第一组实验分别使用传统网络和SDN网络实现VLAN隔离的局域网络,使学生在新旧技术对比中,感知不同网络架构实现相同网络功能的差异。第二组实验使用Ryu和Mininet搭建了一个简单的SDN网络,分别使用自动和手工配置流表的方式实现了控制器对转发设备(交换机)的配置,说明了SDN的控制与数据的分离。

4.1 利用Mininet搭建SDN网络对比性实验实例

按照图3的拓扑结构,实验一利用传统网络设备搭建VLAN隔离的局域网络,根据网络实验室实际的网络设备选择实体设备或者虚拟设备,本文选取虚拟环境做演示。实验二利用Mininet搭建实验环境。

实验一,采用Cisio Packet搭建VLAN隔离的局域网,需要登录到交换机设备,并在交换机的不同端口上需要配置不同VLAN,按照图3的网络规划,PC1和PC3连接的交换机端口分别配置VLAN10,PC2和PC4连接的交换机端口分别配置VLAN20,对4台PC配置对应的IP地址后,进行连通性测试,属于同一VLAN之间的用户网络连通,例如PC1与PC3之间,属于不同VLAN之间的用户网络不连通,例如PC1与PC2之间,或者PC3与PC4之间,实现了利用VLAN隔离局域网,实验结果如图4所示。

实验二,采用Mininet搭建VLAN隔离的局域网,分别给连接主机连接的端口设置不同的tag号,连接h1和h3的端口设置tag10,连接h2和h4的端口设置tag20,配置完成后,与实验一结果一致,如图5所示。本实验也可以利用—nat标签将虚拟交换机连接到真实的网络中进行,这里不再赘述。因此利用虚拟化的SDN架构平台,可以构建绝大部分的网络实验,通过与传统环境的对比,帮助学生尽快熟悉SDN网络环境,进而掌握SDN网络的相关知识。

两个实验的本质上二层交换机的不同,前者是传统网络设备,后者使用了SDN架构的网络的设备,学生通过实验可以对比出两种架构的网络实现网络功能的不同之处。

4.2 Ryu与Mininet联合流表实验实例

本文以图6Ryu控制SDN简单网络为实验拓扑为例,使用Mininet搭建实验环境,以Ryu作为SDN控制器。

1)使用官方例程创建Ryu控制器如图7所示。

2)使用Mininet连接Ryu控制器,同时创建图6的简单网络拓扑,用图8所示的命令连接Ryu控制器。

3)如图9所示,查询网络连接。

4)如图10所示,查看交换机s1的流表信息,此时s1中只有一条流表项,该流表项的匹配域为通配,优先级为0(优先级最低),即就是当收到的数据包没有匹配到任何一条流表时,则将该数据包发送给控制器(action=CONTOLLER),限制数据包最大长度为65 535字节。

5)在Mininet中执行pingall,测试h1与h2之间的连通性,此时Ryu控制器会向交换机s1下发流表,使h1与h2互相能ping通,再此查看流表。

此时交换机s1的流表中会出现由Ryu控制器自动下发的流表,Ryu自动下发流表如图11所示。

6)为了证明交换机s1的流表为Ryu控制器下发,删除之前所有的流表后,使h1与h2无法ping通,删除流表后连通性测试如图12所示。

手工添加流表项,实现数据流从s1-eth1进,s1-eth2出,从s1-eth2进,s1-eth1出。从而使得h1与h2再次互相通信,如图13所示,手工添加流表后连通性测试通过本次实验,说明交换机的流表可以通过Ryu控制器自动下发,也可以通过命令的方式手工实现流表的配置与修改,从而改变交换机数据包的流向,实现数据与控制的分离,使管理人员对网络的控制变得更加灵活方面,体现出SDN网络的优势。

5 结 论

本文通过对SDN技术背景分析,引出了高校开展SDN网络实验教学的必要性,提出了在现有计算机网络机房搭建SDN网络实验室的建设方案。然后详细阐述了利用传统网络环境和SDN网络环境实现网络功能的方法并进行了对比说明,为学生学习SDN网络技术提供参考。同时还进行了SDN中Ryu控制器与Mininet虚拟平台的联合实验,利用Ryu控制器对交换机分别进行自动和手工下发流表的实验,展现了SDN中控制平面与数据平面(转发平面)的分离的特性,突出了SDN技术实现对网络集中管理的优势,帮助学生直观感受SDN网络的核心特质,深化对SDN技术实践运用的理解。

本文提出的在传统计算机网络实验室中扩建SDN网络的方案,可优先涵盖多种SDN实验需求,同时鼓励创新实验场景的构建。同时能融合实际的网络,使学生能在一个可参照对比的环境中,学习SDN网络特性,并锻炼SDN网络的实际操作能力。

参考文献:

[1] 李泽威.基于蚁群优化算法的SDN负载均衡研究 [D].西安:西安电子科技大学,2022:14-20.

[2] 徐冉.基于SDN/NFV的资源管理与调度相关问题研究 [D].北京:北京邮电大学,2022:9-12.

[3] 胡坚波.《“十四五”信息通信行业发展规划》解读 [J].通信世界,2021(23):11-13.

[4] 庹鑫.基于强化学习的SDN数据中心网络拥塞控制方法的研究 [D].杭州:浙江工商大学,2018.

[5] 鲁义轩.走出观望加快测试,2017年SDN/NFV有望提速商用 [J].通信世界,2017(1):53-54.

[6] 李月溶,薛涛,薛文生.基于SDN的高校计算机网络实验室设计 [J].软件工程,2019,22(1):51-53+50.

[7] 陈显辉,蔡怡挺,陈梦娴,等.SDN技术架构的适用性研究 [J].电信科学,2023,39(10):166-176.

[8] 翟亚红,崔峻玮.软件定义网络安全研究进展 [J].科技导报,2023,41(13):76-88.

[9] Nadeau T,Gray K. 软件定义网络:SDN与OpenFlow解析 [M].毕军,单业,张绍宇,译.北京:人民邮电出版社,2014:11-19.

[10] 赵开新,魏勇.SDN网络架构及安全研究 [J].无线互联科技,2023,20(19):155-157.

作者简介:伍佩(1989—),女,汉族,陕西安康人,助教,硕士研究生,研究方向:现代通信网、信息安全;徐合龙(1985—),男,汉族,陕西安康人,讲师,硕士研究生,研究方向:计算机网络、人工智能及大数据;张凡(1975—),男,汉族,陕西安康人,助教,本科,研究方向:信息安全。

收稿日期:2024-07-10

基金项目:安康职业技术学院科学研究项目(AZJKY2024020);陕西省职业教育学会教育教学改革项目(2024SZX584)

标签:  网络 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor