基于Docker的网络仿真平台设计与实现_黄俊 (1).pdf
《基于Docker的网络仿真平台设计与实现_黄俊 (1).pdf》由会员分享,可在线阅读,更多相关《基于Docker的网络仿真平台设计与实现_黄俊 (1).pdf(6页珍藏版)》请在咨信网上搜索。
1、2023 年 2 月 25 日第 7 卷第 4 期现代信息科技Modern Information Technology Feb.2023 Vol.7 No.401012023.022023.02收稿日期:2022-10-08基金项目:国家重点研发计划课题(2019YFB1802805);中国博士后科学基金(2018M643448);四川省重点研发计划项目(2022YFG0208,2022YFG0161);中央高校基本科研业务费专项资金(2021NYYXS53)基于 Docker 的网络仿真平台设计与实现黄俊1,陈曦1,2,吴涛3(1.西南民族大学 计算机科学与工程学院,四川 成都 61004
2、1;2.电子科技大学 信息与通信工程学院,四川 成都 611731;3.成都信息工程大学 计算机学院,四川 成都 610225)摘 要:网络模拟仿真类软件是计算机网络体系结构、协议、算法研究和教学的关键支撑,研发此类软件对于网络强国战略具有重要意义。目前市面上此类软件存在保真度较低、部署不便等问题,需要一款高保真、易编程的网络模拟仿真软件。针对上述问题,在 SDN 理念及框架下,采用 Docker 等轻量级技术,搭建容器化网络仿真平台,一体化提供虚拟网络的拓扑部署、流量注入等功能,用于观察、验证、分析、优化网络,能够广泛支持计算机网络的研究与教学。关键词:网络仿真;Docker;高保真;计算机
3、网络中图分类号:TP311.5 文献标识码:A 文章编号:2096-4706(2023)04-0001-06Design and Implementation of Network Simulation Platform Based on DockerHUANG Jun1,CHEN Xi1,2,WU Tao3(1.School of Computer Science and Engineering,Southwest Minzu University,Chengdu 610041,China;2.School of Information and Communication Engineeri
4、ng,University of Electronic Science and Technology of China,Chengdu 611731,China;3.School of Computer Science,Chengdu University of Information Technology,Chengdu 610225,China)Abstract:The software of network simulation is the key support of computer network system architecture,protocol,algorithm re
5、search and teaching.The development of such software is of great significance for network power strategy.At present,there are many problems in such software on the market,such as low fidelity and inconvenient deployment.A high fidelity and easy programming network simulation software is urgently nee
6、ded.To solve these problems,under the SDN concept and framework,this paper adopts Docker and other lightweight technologies,builds a containerized network simulation platform.It provides the topology deployment,traffic injection and other functions of the virtual network for observation,verification
7、,analysis,and optimization of the network to widely support the research and teaching of computer network.Keywords:network simulation;Docker;high fidelity;computer network0 引 言当今世界互联网正处于飞速发展阶段,大数据、云计算和人工智能等 IT 领域相继兴起,这些行业的正常运作必须基于网络基础设施和网络技术,网络模拟仿真1就成了计算机网络体系结构、协议、算法研究的关键支撑。网络模拟仿真可以根据用户的需求自主设计和部署网络模
8、型2,在消耗相对较少的费用成本和时间成本的情况下,了解网络在不同条件下的各种特性3,同时获取网络研究的海量高效的数据,提供了一个便捷、高效的观察、验证、分析、优化网络的手段,在现代互联网的设计和研究中的作用正变得越来越大。然而现有网络仿真和模拟软件还存在着多方面的问题4,主要集中在协议配置验证困难、用户流量注入困难、海量资源供应困难等5,若能在网络协议、算法的设计和验证中,DOI:10.19850/ki.2096-4706.2023.04.001充分融合网络仿真的易编程性和网络模拟的高保真特性,这对于快速、便捷、准确、真实地实施网络验证,具有重要价值。针对上述问题,本文提出基于 Docker6
9、的网络仿真平台,采用 Docker、Open vSwitch7等轻量级虚拟化技术,配合 SDN控制器和 Docker 容器集群框架,利用 PyQt58开发前端操作界面,提供虚拟网络拓扑的设计部署、海量用户流量的灵活注入等关键功能,支撑网络仿真、网络协议验证,助力网络研发。1 相关技术1.1 DockerDocker 是一种开源容器引擎,其部署于宿主机中具有更高的启动效率和更少的性能开销。本平台以 Docker 容器为核心构建虚拟网络中的各虚拟节点,配合虚拟链路技术形成虚拟网络在物理宿主机上进行仿真。同时 Docker 具有完整的网络协议栈,结合 Quagga 创建支持多种路由协议的路由器,能够
10、更加真实准确地再现网络,极大提高网络的保真度,方便对网络协议的监控和研究。1.2 PyQt5PyQt5 是一个跨平台的 Python 开发库,包含一组 Python02022023.022023.02第 4 期现代信息科技模块,主要用于开发图形用户界面。本平台主要使用 PyQt5中的 QtCore、QtWidgets、QtGui 模块开发前端界面,利用其信号槽特性与界面中的各功能按钮绑定,完成与平台后端各函数的交互,以实现平台各项功能。1.3 OpenvSwitchOpenvSwitch 简称 OVS,是一种开源的、支持多种协议的虚拟交换机,其作为虚拟端口灵活性更高,与传统交换机相比具有良好的
11、编程可扩展性,同时也具备网络隔离和数据转发功能,本平台使用 OVS 技术并结合虚拟路由器实现不同局域网络中主机的数据转发。1.4 veth-pairveth-pair 是 Linux 系统底下一种成对出现的虚拟网络设备,用于连接两个虚拟网络设备,本文平台中的网元与网元之间即通过 veth-pair 技术连接,其一端与网络协议栈连接,一端在网元之间彼此相连,以实现虚拟网络中的节点连通。2 平台设计2.1 框架设计本文利用轻量级虚拟化技术,实现网络设备控制平面和数据平面的模拟,结合网络模拟的高保真性和网络仿真的易编程性,充分融合发挥两者技术优势,提出高保真、一体化的网络仿真平台,能够对网络协议进行
12、监控,对网络流量进行统计,对网络配置进行验证,从而达到观察、分析、优化网络的目的。结合以上对平台的描述,本平台架构如图 1 所示,根据前后端到计算机底层划分为 4 个层次,依次为用户界面层、网络实验层、虚拟网络层、基础设施层。下面对各层次进行详细介绍。网络实验层用户界面层PyQt主界面Matplotlib实验结果绘制工具 实验内容定制工具SDN技术支撑存储资源网络资源计算资源资源支撑链路规格仓库节点镜像仓库镜像支撑基础设施层虚拟网络层TCP/IP实验包SDN实验包网络安全实验包自定义实验包用于实验的虚拟网络运行实验定制实验部署运行实例化按需一键生成虚拟网络Terminal命令行工具X Serv
13、er远程登录工具图 1 平台架构2.1.1 用户界面层本平台利用 PyQt5 提供用户界面,呈现实验列表、实验手册、拓扑结构板块,利用 X Server 图形接口服务器提供进入节点内部的图形化UI,如Wireshark、packETH、Firefox等,Terminal 终端提供进入节点内部的命令行 UI。2.1.2 网络实验层呈现平台包含的实验,分为 SDN 实验、TCP/IP 实验、路由与交换实验、网络安全实验等。2.1.3 虚拟网络层OVS 虚拟交换机能够连接网络设备(如虚拟路由器、防火墙等)和终端设备(如虚拟计算机、服务器等),使网络可编程扩展,Docker 容器可通过 veth-pa
14、ir 与 OVS 交换机直连,实现容器间的通信。2.1.4 基础设施层平台所用到的 Docker 镜像存储在本地镜像仓库里,包括主机、路由器、服务器等镜像,所有镜像均可使用提供的Dockerfile 通过 Docker build 命令构建。本平台部署在 Linux系统上,在 Python 环境下运行。2.2 功能设计2.2.1 前后端设计本平台采用前后端分离的方式开发,前端呈现用户操作界面,提供一键式部署拓扑结构、节点呈现、操控节点等功能,构成交互式网络模拟环境,同时界面提供显示拓扑结构的窗口,用于反应网络中各节点间连接情况,界面呈现虚拟网络中各节点操作台供用户调用节点功能。后端则为前端提供
15、实现各功能实现、接口设计等,具体实现见 3.1 节前后端实现。2.2.2 拓扑部署后 端 部 署 拓 扑 设 计 阶 段 生 成 的 shell 文 件,利 用Docker、OVS等轻量级虚拟化技术,实现低开销的网络设备、拓扑结构模拟,生成虚拟网络并部署在底层宿主机(物理机、虚拟机均可)之上,各节点配置虚拟网络设备接口,实现节点之间的相互通信,具体实现见 3.2 节部署功能实现。2.2.3 流量注入一 方 面,Docker 提 供 各 主 流 编 程 语 言 的 API 支 持(Python、Java、Go 等),用于与容器交互,无须人工操作容器,同时利用 Docker API 可以方便地启停
16、容器、调用容03032023.022023.02第 4 期器内部功能,直接运行逻辑脚本即实现用户流量的灵活注入。另一方面,用户可通过进入容器内部的方式,执行输入命令或调用 packETH、浏览器等图形化应用的形式向网络注入流量。与传统网络仿真工具通过编程对协议行为、时序、语义进行模仿不同,本平台搭建的整个虚拟网络运行的是真实的协议。本节具体实现见 3.3 节流量注入功能实现。2.2.4 网络监控采用非侵入式设计对部署的整个虚拟网络进行监控,监控模块和实验部署模块互不影响,实现高内聚低耦合,同时对 Wireshark、Pyshark 等抓包工具进行封装,利用 X Server 技术和 Docke
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Docker的网络仿真平台设计与实现_黄俊 1 基于 Docker 网络 仿真 平台 设计 实现
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。