网络模拟与网络仿真

news2024/11/24 12:40:44

目录

 

一、概念界定

二、模拟(simulation)与仿真(emulation)

2.1 模拟(simulation)

2.2 仿真(emulation)

2.3 区分

三、网络模拟与网络仿真

3.1 网络模拟

3.2 网络仿真   

3.2.1 软件实现

3.2.2 硬件实现


 

一、概念界定

        一般来说,大家在使用的时候不会刻意地区分模拟和仿真的概念,在很多的时候都是对这两个概念进行混用,在本文中,我们讨论的模拟对应的英文为simulation(其实在很多地方都会把simulation翻译成仿真,但是在这个话题下,我们希望翻译成模拟),仿真对应的英文为emulation。

二、模拟(simulation)与仿真(emulation)

2.1 模拟(simulation)

        模拟指的是选取一个(物理的或抽象的)系统的某些行为特征,用另一台系统来表示它们的过程。模拟技术的高级阶段称为仿真模拟、系统模拟,即用一个数据处理系统来(全部/部分地)模仿另一个数据处理系统,以至于模仿的系统能像被模仿的系统一样接收同样的数据,执行同样的程序,获得同样的结果。       

2.2 仿真(emulation)

        仿真指的是一个系统的执行方式和另一个完全一样,但可能速度不同。一个典型的例子就是虚拟机,我们可以通过一台计算机仿真另一台计算机。

2.3 区分

        模拟是试图模仿一个设备的内部设计,仿真是试图模仿一个设备的功能。我们可以通过仿真来替换一个系统,但是对于模拟,我们只是希望分析其行为并进行一些预测。

三、网络模拟(simulation)与网络仿真(emulation)

3.1 网络模拟(simulation)

        网络模拟(simulation)注重的是在概念上对网络层次特征进行抽象,建立尽可能近似的模型,通过软件模拟构造一个完全虚拟可控的抽象网络环境,在此环境中对网络拓扑,协议算法等软部件进行设计验证和测试。所以网络模拟的优势在于可控性和可再生性,但它仅是一种近似真实的结果。网络模拟器是由软件实现的。目前流行的网络模拟器有NS2/NS3,OPNET,OMNET++等。

        对于网络模拟来说,一般采用的是基于离散事件的网络模拟器,模拟的效果依赖于CPU性能。以OPNET为例,OPNET (Optimized Network Engineering Tool)是 1986 年由麻省理工学院的研究团队开发、基于离散事件驱动的网络性能仿真软件,是目前世界上最先进的同类软件之一,拥有全面的用户手册、丰富的学习资料和简单易用的 GUI,方便用 户构建网络模型、修改网络拓扑参数、自定义仿真过程及分析仿真结果等。Qual Net 采用 TCP/IP 层次化、模块化建模,支持无线、有线和混合网络及设备的仿真分析。 商用模拟器相比于开源的模拟器,它们的仿真速度更快、效率更高、规模更大且更准确,因此很受欢迎。

b7178bcc517a46cfbebc9822a4189377.jpeg

3.2 网络仿真(emulation)   

        网络仿真(emulation)注重的是仿真真实的网络环境,层次上比模拟高了一层,是模拟的在真实环境中的外在表现,使得仿真网络好像一个黑盒网络,内部可控仿真真实网络环境中的各种情形,而对于外界真实的网络环境具有透明性,外界真实网络环境不会觉察到仿真网络的存在,真实网络中的设备协议都可以与仿真网络直接联结运行工作。所以网络仿真的优势在于与真实环境联结直接展现真实环境下运行结果,具有真实性和可靠性,但是它忽略了对仿真网络内部网络拓扑结构的模拟,无法仿真规模网络环境。网络仿真器有软件实现和硬件实现,其原理是相同的。目前已有的网络仿真器有Mininet,CrystalNet等。

3.2.1 软件实现

        基于虚拟化的网络仿真(Emulation)是另一种流行的网络仿真方法,通过在主机上创建虚拟的网络节点构建仿真网络。以Mininet为例,Mininet是由斯坦福大学基于​ Linux Container​ 架构开发的一个进程虚拟化网络仿真工具,可以创建一个包含主机,交换机,控制器和链路的虚拟网络,其交换机支持OpenFlow,具备高度灵活的自定义软件定义网络。仿真器中的每个节点都具备真实的网络协议仿真,因此可以视为真实的网络设备,保真度较高。但是要扩大规模就需要占用更多的资源,同时拉低仿真速度。

379fdae75db944bf8fe44874b3bc8092.jpeg

3.2.2 硬件实现

        对于网络仿真来说,还可以通过硬件的方式实现,使用最多的就是网络测试床的方式。

        基于真实设备的网络测试床最大的限制就是资源和成本,因为无论是一开始搭建测试床,还是后续随着网络的发展进行相应的升级,都需要大量资金的投入(针对需要大规模仿真的大型网络),这对正在研发过程中的项目来说并不是一个好的选择。如果使用有限的成本和资源,搭建一个支持小规模实验的测试床,其结果也不适用于大型网络。还有一些公共测试床,例如 PlanetLab、Emulab、CloudLab和 GENI等。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1288062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

properties出现中文乱码解决方法(万能)

目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 在使用Properties类的时候,中文出现乱码 如图所示: 正常思维来讲,估计是中文编码有问题,于是我将其改为UTF-8的编码方式 通过下方的改动: 可到了这一步,中文还是乱码(这一步改成功的网友可自动立场,没改成功的网…

持续集成交付CICD:Sonarqube 扫描本地项目(关联Gitlab项目与Jenkins流水线)

目录 一、实验 1.Java项目扫描 2.视图徽章 3.版本管理 一、实验 1.Java项目扫描 (1)指定项目信息关联的首页为GitLab项目,持续集成为Jenkins流水线 (2)命令行 sonar-scanner -Dsonar.host.urlhttp://192.168.20…

【算法】算法题-20231206

这里写目录标题 一、非自身以外数字的乘积二、最大数三、奇数排序 一、非自身以外数字的乘积 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀…

在eclipse中安装python插件:PyDev

在eclipse中安装插件PyDev,就可以在eclipse中开发python了。 PyDev的官网:https://www.pydev.org/ 不过可以直接在eclipse中用Marketplace安装(备注:有可能一次安装不成功,是因为下载太慢了,多试几次&…

极简模式,助力宏观数据监控

随着UWA GOT Online采样的参数越来越多样化,为了提升开发者的使用体验,我们最新推出了三种预设数据采集方案:极简模式、CPU模式、内存模式。该更新旨在降低多数据采集对数据准确性的干扰,同时也为大家提供更精准且有针对性的数据指…

『亚马逊云科技产品测评』活动征文|基于亚马逊EC2云服务器安装Bolo开源博客

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器(Elastic Compute Cloud)是亚马…

微软NativeApi-NtQuerySystemInformation

微软有一个比较实用的Native接口:NtQuerySystemInformation,具体可以参考微软msdn官方文档:NtQuerySystemInformation, 是一个系统函数,用于收集特定于所提供的指定种类的系统信息。ProcessHacker等工具使用NtQuerySys…

HarmonyOS学习--TypeScript语言学习(二)

本章目录如下: 一、基础类型 二、运算符 三、变量声明 四、类型断言 五、类型推断 TypeScript支持一些基础的数据类型,如布尔型、数组、字符串等,下文举例几个较为常用的数据类型,我们来了解下他们的基本使用。 关于let 我们…

python爬虫混肴DES案例:某影视大数据平台

声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关 一、找出需要加密的参数 js运行atob(‘aHR0cHM6Ly93d3cuZW5kYXRhLmNvbS5jbi9Cb3hPZmZpY2UvQk8vTW9udGgvb25lTW9udGguaHRtbA’…

模拟电路学习笔记(一)之芯片篇(持续更新)

模拟电路学习笔记(一)之芯片篇(持续更新) 1.CD4047BE芯片 CD4047是一种包含高电压的多谐振荡器,该器件的操作可以在两种模式下完成,分别是单稳态和非稳态。CD4047需要一个外部电阻器和电容器来决定单稳态…

FL Studio中如何录音的技巧,让你的声音更加出众哦!

​ Hey小伙伴们!今天我要和大家分享一下在FL Studio中如何录音的技巧,让你的声音更加出众哦! 编曲软件FL Studio 即“Fruity Loops Studio ”,也就是众所熟知的水果软件, 全能音乐制作环境或数字音频工作站&#xff0…

一位半加法器,一位全加器,四位全加器

我们这里的加法器只考虑一位的情况。 当我们两个一位相加的话,那么就有两个输入,两个输出,两个输入很好理解,就是两个个位上的数字,0或者是1,那么为什么需要有有个输出呢?难道不是输出一个数就…

系统运维安全之病毒自检及防护

一、前言 Linux勒索病毒(Linux ransomware)是一种最令人恶心的计算机恶意病毒,它以侵入Linux系统,捆绑文件并要求支付赎金才能释放文件为主要目的,破坏用户的数据,造成数据讹诈。Linux勒索病毒它们的存在已…

HTML5+CSS3+JS小实例:焦点图波浪切换动画特效

实例:焦点图波浪切换动画特效 技术栈:HTML+CSS+JS 字体图标库:Font Awesome 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name=&…

对标Gen-2!Meta发布新模型,进军文生视频赛道

随着扩散模型的飞速发展&#xff0c;诞生了Midjourney、DALLE 3、Stable Difusion等一大批出色的文生图模型。但在文生视频领域却进步缓慢&#xff0c;因为文生视频多数采用逐帧生成的方式,这类自回归方法运算效率低下、成本高。 即便使用先生成关键帧,再生成中间帧新方法。如…

【QT】容器类的迭代

迭代器(iterator)为访问容器类里的数据项提供了统一的方法&#xff0c;Qt有两种迭代器类&#xff1a;Java类型的迭代器和STL类型的迭代器。 Java类型的迭代器更易于使用&#xff0c;且提供一些高级功能&#xff0c;而STL类型的迭代器效率更高。 Qt还提供一个关键字foreach&…

ELK(二)—Elasticsearch安装部署

一、环境准备 1.1java环境准备&#xff08;不用安装也可以&#xff0c;Elasticsearch自带了0.0,可以直接从二看了&#xff09; Elasticsearch是用Java编写的分布式搜索引擎&#xff0c;因此在安装和运行Elasticsearch时需要Java运行时环境&#xff08;Java Runtime Environmen…

如何选呼叫中心的语音通道?

如何选呼叫中心的语音通道&#xff1f; 在公网语音线路和专线语音线路中&#xff0c;选择合适的语音通道类型需要根据呼叫中心的实际需求进行综合考虑。 如果呼叫中心的预算有限&#xff0c;或者对语音质量和稳定性的要求不高&#xff0c;可以选择公网语音线路。如果需要更高…

获得矩阵对角线元素的索引 numpy.diag_indices_from()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 获得矩阵对角线元素的索引 numpy.diag_indices_from() [太阳]选择题 请问关于以下代码的选项表述错误的是&#xff1f; import numpy as np a np.array([[1, 2, 3], [4, 5, 6…

智能优化算法应用:基于寄生捕食算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于寄生捕食算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于寄生捕食算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.寄生捕食算法4.实验参数设定5.算法结果6.参考…