《网络性能分析与开源工具包 (2)幻灯片.ppt》由会员分享,可在线阅读,更多相关《网络性能分析与开源工具包 (2)幻灯片.ppt(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络性能分析与开网络性能分析与开源工具包源工具包计算机网络高级教程计算机网络高级教程1第1页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程2网络性能分析与网络性能分析与模拟软件的基本概念模拟软件的基本概念 第2页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程3网络性能分析与模拟软件发展的背景网络性能分析与模拟软件发展的背景 网络的设计者网络的设计者网络运营商网络运营商 网络研究人员网络研究人员 第3页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程4基本方法基本方法分析的方法分析的方法实验的方法实验的方法模拟的方法模拟
2、的方法 第4页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程5网络性能分析与仿真软件的发展趋势网络性能分析与仿真软件的发展趋势向网络系统的规划与设计向网络系统的规划与设计方向发展方向发展与网络管理与网络安全的与网络管理与网络安全的结合结合 第5页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程6实际网络系统设计工作步骤实际网络系统设计工作步骤根据经验和计算进行初步的设计;根据经验和计算进行初步的设计;对于依靠经验和初步计算难以确定的问题,建立网络仿真对于依靠经验和初步计算难以确定的问题,建立网络仿真模型,通过仿真计算获取必要的参数;模型,通过仿
3、真计算获取必要的参数;如有必要,可以搭建小型试验网络系统,验证仿真结果;如有必要,可以搭建小型试验网络系统,验证仿真结果;对于不同的设计方案,可以通过仿真进行比较;对于不同的设计方案,可以通过仿真进行比较;在确定最终实施方案之前在确定最终实施方案之前,还可以通过网络仿真对整体网还可以通过网络仿真对整体网络方案进行设计方案验证和评估。络方案进行设计方案验证和评估。第6页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程7网络性能定义网络性能定义与网络性能分析与网络性能分析 第7页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程8网络性能网络性能 网络
4、可用性网络可用性 网络响应时间网络响应时间 网络带宽网络带宽网络吞吐率网络吞吐率网络利用率网络利用率第8页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程9开源工具包开源工具包第9页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程10网络性能开源工具包网络性能开源工具包 网络流量观察工具网络流量观察工具 网络性能测试工具网络性能测试工具应用程序性能测量工具应用程序性能测量工具 Internet网络协议的仿真和建模软件网络协议的仿真和建模软件 第10页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程11开源工具包开源工具包1
5、 libpcap libpcap库是由库是由Lawrence Berkeley国家实国家实 验室开发的验室开发的libpcap库库 捕捉网络流量的应用程序捕捉网络流量的应用程序 对于对于UNIX、Linux与与FreeBSD都提供了都提供了 API接口接口 libpcap源代码下载地址:源代码下载地址:http:/ Libnet库库 网络数据包构造和发送的开发包,它网络数据包构造和发送的开发包,它允许开发者构造自己的底层网络数据包,允许开发者构造自己的底层网络数据包,隐藏了很多底层细节,省去了缓冲区管隐藏了很多底层细节,省去了缓冲区管理、字节流顺序、校验和计算;理、字节流顺序、校验和计算;Li
6、bnet主要由主要由Mike E.Schiffman开发和开发和维护的,下载地址:维护的,下载地址:http:/ 网络入侵检测开发包网络入侵检测开发包Libnids Libnids主要功能:主要功能:数据包捕获数据包捕获Tcp数据流重组数据流重组IP分片重组分片重组端口扫描检测端口扫描检测异常数据包检测异常数据包检测 Libnids是由是由Rafal Wojtczuk开发的其下载页面:开发的其下载页面:http:/ tcpdump程序程序 tcpdump程序也是由程序也是由Lawrence Berkeley 国家实验室开发的,是目前最流行的国家实验室开发的,是目前最流行的 UNIX环境的网络监
7、视程序环境的网络监视程序 由由Tcpdump Group维护,网站地址为:维护,网站地址为:http:/www.tcpdump.org 第14页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程15开源工具包开源工具包5 WinDump程序程序 WinDump是由是由Torino理工大学理工大学 NetGroup开发的运行在开发的运行在Windows环境的环境的 捕获网络数据包的应用程序捕获网络数据包的应用程序 WinDump源代码下载的地址:源代码下载的地址:http:/www.winpcap.org/windump/install/default.htm 目前的最新版
8、本是目前的最新版本是3.9.3 第15页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程16开源工具包开源工具包6 Analyzer程序程序 Analyzer是是Windows应用程序,它提供一个图应用程序,它提供一个图 形化的用户界面,使得被捕获的数据包分析结形化的用户界面,使得被捕获的数据包分析结 构清晰构清晰 它的基本功能是:它的基本功能是:捕获并显示网络数据包捕获并显示网络数据包 显示存储在文件中的数据包显示存储在文件中的数据包 显示网络统计信息显示网络统计信息 执行实时网络监控执行实时网络监控 Analyzer最新版本为最新版本为3.0版版 源代码下载的地址:
9、源代码下载的地址:http:/analyzer.polito.it/download.htm/第16页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程17开源工具包开源工具包7 Ethereal程序程序 Ethereal程序是一种可以在程序是一种可以在UNIX与与 Windows环境之下运行的图形化网络监控应用环境之下运行的图形化网络监控应用 程序程序 可以使用可以使用libpcap库、库、winpcap库,从主机网库,从主机网 络接口中捕获数据包络接口中捕获数据包 Ethereal目前最新版本是目前最新版本是0.99.0 源代码下载地址为:源代码下载地址为:http:
10、/ net-snmp软件包软件包 由美国加州戴维斯分校开发由美国加州戴维斯分校开发 利用简单网络管理协议利用简单网络管理协议SNMP查询托管网络设查询托管网络设 备,获取网络性能的网络设备利用率监测工具备,获取网络性能的网络设备利用率监测工具 net-snmp软件包由一组库文件与可执行文件,软件包由一组库文件与可执行文件,以及一组用于定义以及一组用于定义SNMP代理信息的配置文件代理信息的配置文件 组成组成 下载下载net-snmp源代码的地址是:源代码的地址是:http:/net- 第18页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程19开源工具包开源工具包9 n
11、etperf程序程序由惠普公司开发的,运行在由惠普公司开发的,运行在HP UNIX操作系统操作系统 netperf程序的服务器程序程序的服务器程序netserver负责监听远负责监听远 程主机之间的通信,客户程序程主机之间的通信,客户程序netperf配合服务配合服务 器启动网络测试过程器启动网络测试过程 服务器程序与客户程序通过使用服务器程序与客户程序通过使用TCP数据包或数据包或 UDP数据包,测量不同协议、不同数据据包长数据包,测量不同协议、不同数据据包长 度情况下网络主机之间端度情况下网络主机之间端-端吞吐量与响应时间端吞吐量与响应时间 最新版本是最新版本是2.4.1 源代码下载地址是
12、:源代码下载地址是:http:/perf.org/netperf/DownloadNetperf.html 第19页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程20开源工具包开源工具包10 dbs程序程序 分布式基准系统(分布式基准系统(distributed benchmark system,dbs)是日本奈良)是日本奈良 工业科技大学工业科技大学Yukio Murayama开发开发 dbs程序主要用于测试网络上程序主要用于测试网络上TCP与与 UDP的性能的性能 下载下载dbs源代码的地址:源代码的地址:http:/www.kusa.ac.jp/yukio-m/
13、dbs/download.html 第20页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程21开源工具包开源工具包11 Iperf程序程序 由美国应用网络研究国家实验室由美国应用网络研究国家实验室NLANR开发开发 最新版本最新版本2.0.2 在在UNIX与与Windows环境下,对两台主机之间环境下,对两台主机之间 TCP与与UDP通信状况进行测试,帮助网络管理员通信状况进行测试,帮助网络管理员 调整网络应用程序与服务器的调整网络应用程序与服务器的TCP参数的设定参数的设定用于确定网络的标准性能统计信息,以及用于确定网络的标准性能统计信息,以及UNIX与与 Wind
14、ows主机之间的网络测试流主机之间的网络测试流TCP窗口性能窗口性能 网站地址为:网站地址为:http:/ Pathrate程序与程序与Pathload程序程序 Pathrate程序可以用于确定在给定的条件之下两个结点之程序可以用于确定在给定的条件之下两个结点之 间传输数据包可能达到的最大传输速率间传输数据包可能达到的最大传输速率 Pathload程序可以用于在给定的当前流量情况下的链路吞程序可以用于在给定的当前流量情况下的链路吞 吐量吐量 Pathrate程序与程序与Pathload程序应用统计分析的模型与计算程序应用统计分析的模型与计算 方法来确定运营的网络最大容量和可用带宽估算值方法来确
15、定运营的网络最大容量和可用带宽估算值 Pathrate程序与程序与Pathload程序是由美国佐治亚理工学院程序是由美国佐治亚理工学院 Constantinos Dovrolis开发和维护的开发和维护的 最新版本分别是最新版本分别是2.4.1和和1.3.2 维护网站的地址是:维护网站的地址是:http:/www-static.cc.gatech.edu/fac/Constantinos.Dovrolis/pathrate.html http:/www-static.cc.gatech.edu/fac/Constantinos.Dovrolis/pathload.html 第22页,共51页,编
16、辑于2022年,星期二计算机网络高级教程计算机网络高级教程23开源工具包开源工具包13 Nettest程序程序 Nettest程序是由美国劳伦思伯克利研究室开程序是由美国劳伦思伯克利研究室开 发和维护的发和维护的 设计设计Nettest程序的目的就是要在一个安全的程序的目的就是要在一个安全的 环境中执行网络测试。环境中执行网络测试。Nettest程序要求参加程序要求参加 测试的主机在测试之前,要对自己的身份进测试的主机在测试之前,要对自己的身份进 行验证,以防止未授权的主机启动带宽密集行验证,以防止未授权的主机启动带宽密集 等有害测试或攻击等有害测试或攻击 源代码下载的地址:源代码下载的地址:
17、http:/dsd.lbl.gov/boverhof/nettest/download_info.html 第23页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程24开源工具包开源工具包14 Netlogger程序程序 由劳伦思伯克利研究室开发的网络测试应用由劳伦思伯克利研究室开发的网络测试应用 程序程序 用于监视网络主机与设备,它允许网络管理用于监视网络主机与设备,它允许网络管理 员在网络中设置监视点,在文件中记录网络员在网络中设置监视点,在文件中记录网络 中分布式应用程序的活动、活动的时间与日中分布式应用程序的活动、活动的时间与日 志,并提供分析工具,以图形化界面
18、显示分志,并提供分析工具,以图形化界面显示分 析结果析结果 最新版本是最新版本是1.0版版 Netlogger的的Web网站地址为网站地址为 http:/dsd.lbl.gov/NetLogger/第24页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程25开源工具包开源工具包15 tcptrace程序程序 由美国由美国Ohio大学大学Shawn Ostermann开发开发 通过分析网络上通过分析网络上TCP会话,来查找网络中存会话,来查找网络中存 在问题,分析网络的吞吐量、数据包回程时在问题,分析网络的吞吐量、数据包回程时 间、数据包序列、重传与窗口大小,以及间、数据
19、包序列、重传与窗口大小,以及 TCP会话的其他特性会话的其他特性 Web网站地址:网站地址:http:/jarok.cs.ohiou.edu/software/tcptrace/第25页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程26开源工具包开源工具包16 net-snmp软件包软件包 ntop应用程序是由意大利应用程序是由意大利Pisa大学开发大学开发 可以根据消耗大部分网络系统资源的主可以根据消耗大部分网络系统资源的主 机和协议,显示网络的资源利用率,机和协议,显示网络的资源利用率,监视网络流量及发展趋势监视网络流量及发展趋势 Web网站地址:网站地址:htt
20、p:/www.ntop.org 第26页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程27网络环境中应用程序网络环境中应用程序性能测量软件性能测量软件第27页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程28网络环境中应用程序性能测量网络环境中应用程序性能测量利用测试网络进行测量利用测试网络进行测量利用实际运行的网络进行测量利用实际运行的网络进行测量利用网络仿真器进行仿真测量利用网络仿真器进行仿真测量利用网络模拟器进行性能模拟利用网络模拟器进行性能模拟第28页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程29开源工具
21、包开源工具包17 dummynet应用程序应用程序 dummynet是是FreeBSD内部的系统工具软件,内部的系统工具软件,是一种典型的网络模拟工具是一种典型的网络模拟工具 网络特性仿真:网络特性仿真:带宽限制带宽限制路由特性路由特性数据包延迟特性数据包延迟特性数据包丢失数据包丢失有限包队列与加权公平队列有限包队列与加权公平队列WFQ Web网站地址:网站地址:http:/info.iet.unipi.it/luigi/ip_dummynet/第29页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程30开源工具包开源工具包18 NIST Net程序程序 NIST Ne
22、t程序是由美国国家标准和技术研究所程序是由美国国家标准和技术研究所NAST研究和测研究和测试试IP网络动力学方法而开发的网络模拟软件包网络动力学方法而开发的网络模拟软件包 NIST Net由五个部分组成:由五个部分组成:用于截获网络数据包的用于截获网络数据包的Linux内核模块内核模块用于添加、删除或修改网络模拟规则的命令行工具模块用于添加、删除或修改网络模拟规则的命令行工具模块用于添加、删除或修改网络模拟规则的图形用于添加、删除或修改网络模拟规则的图形X-Windows工具工具模块模块用于监控和统计对应网络模拟规则的网络数据的用于监控和统计对应网络模拟规则的网络数据的Linux内核内核模块和
23、应用程序模块和应用程序用于截获网络数据包,并将这些包重定向到一个备用位置的用于截获网络数据包,并将这些包重定向到一个备用位置的Linux内核模块内核模块 Web网站地址:网站地址:http:/www-x.antd.nist.gov/nistnet/requestform.html 第30页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程31开源工具包开源工具包19 traffic程序程序 由由Robert Sandilands开发的一种网络流量生成开发的一种网络流量生成 器程序器程序 允许一个允许一个UNIX工作站或服务器仿真多个网络工作站或服务器仿真多个网络 工作站生
24、成的网络流量,提供一种在实际运行工作站生成的网络流量,提供一种在实际运行 的网络上对不同类型的网络流量进行仿真,形的网络上对不同类型的网络流量进行仿真,形 成不同类型的数据包在网络上叠加的实际流量成不同类型的数据包在网络上叠加的实际流量 状况,以便对研究实际运行的网络的性能状况,以便对研究实际运行的网络的性能 Web网站地址:网站地址:http:/ 第31页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程32Internet网络协议网络协议仿真和建模软件仿真和建模软件 第32页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程33开源工具包开源工具
25、包20 net-snmp软件包软件包 SSFNet是一个是一个Internet网络协议的仿真和建模软件,网络协议的仿真和建模软件,以基于以基于java和和C+的的SSF(Scalable Simulation Framework)的软件框架所组成)的软件框架所组成 作为教育和科学研究用途的作为教育和科学研究用途的SSFNet是开放软件,可是开放软件,可扩展仿真建模的并行运算环境允许用户扩展仿真建模的并行运算环境允许用户 按需要按需要进行补充和修改进行补充和修改 主要支持主要支持IP包级别以上的细粒度仿真,链路层和物包级别以上的细粒度仿真,链路层和物理层的协议模型以独立的组件方式提供理层的协议模
26、型以独立的组件方式提供 Web网站地址:网站地址:http:/www.ssfnet.org/exchangePage.html第33页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程34开源工具包开源工具包21 NS网络模拟器网络模拟器网络模拟器的研究起源于网络模拟器的研究起源于1989年的年的REAL网络模拟器;网络模拟器;1995年得到美国年得到美国DARPA的支持,也就是的支持,也就是题目为题目为VINT(virtual InterNet Testbed)多协议网络模拟器的研究;多协议网络模拟器的研究;由由LBL、Xerox PARC、UCB与与USC/ISI合作
27、完成;合作完成;目前网络模拟器目前网络模拟器NS的开发由的开发由DARPA的的SAMAN与与NSF的的CONSER项目的支持。项目的支持。第34页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程35NS网络模拟器特点网络模拟器特点 不同粒度的抽象不同粒度的抽象要研究网络的行为可能涉及网络拓扑、网络性能、服务要研究网络的行为可能涉及网络拓扑、网络性能、服务质量、组播支持、网络安全与移动网络等不同的对象与质量、组播支持、网络安全与移动网络等不同的对象与不同的条件,网络仿真器需要能够提供不同粒度的抽象,不同的条件,网络仿真器需要能够提供不同粒度的抽象,允许单一的网络模拟器既能
28、够模拟出底层详尽的细节,允许单一的网络模拟器既能够模拟出底层详尽的细节,又能够进行高层的较为宏观的行为模拟;又能够进行高层的较为宏观的行为模拟;网络模拟器既需要对网络不同层次的模拟,又需要多层次不网络模拟器既需要对网络不同层次的模拟,又需要多层次不同条件组合下综合的行为模拟;同条件组合下综合的行为模拟;网络模拟器允许使用者在综合考虑以上因素的基础上,网络模拟器允许使用者在综合考虑以上因素的基础上,对网络在不同条件下的行为特征进行全面、有效地的研对网络在不同条件下的行为特征进行全面、有效地的研究的能力。究的能力。第35页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程36
29、真实状态的仿真真实状态的仿真一个理想的网络模拟器除了可以独立地一个理想的网络模拟器除了可以独立地在模拟软件中,在模拟软件中,“模拟模拟”不同的网络运不同的网络运行条件,还需要行条件,还需要“仿真仿真”实际运行网络实际运行网络对象,将真实网络的分组引入到模拟器对象,将真实网络的分组引入到模拟器中,与实际网络中的结点实现交互,但中,与实际网络中的结点实现交互,但是做到这一点是非常困难的;是做到这一点是非常困难的;网络模拟器网络模拟器NS在这方面做了一些尝试,在这方面做了一些尝试,但是离实际应用还是有很大的距离。但是离实际应用还是有很大的距离。第36页,共51页,编辑于2022年,星期二计算机网络高
30、级教程计算机网络高级教程37场景的自动生成场景的自动生成如何在一组适当的网络运行场景下,完如何在一组适当的网络运行场景下,完成被测试协议的行为模拟,得出一系列成被测试协议的行为模拟,得出一系列有效的测试结果,这是设计网络模拟器有效的测试结果,这是设计网络模拟器的重要目标;的重要目标;网络模拟器网络模拟器NS提供了相关的场景生成工提供了相关的场景生成工具,用户可以通过编写适合自己设计的具,用户可以通过编写适合自己设计的网络环境的脚本,由网络模拟器网络环境的脚本,由网络模拟器NS自动自动创建复杂的拓扑结构、业务模型、链路创建复杂的拓扑结构、业务模型、链路状态,达到场景的状态,达到场景的自动生成的目
31、的。自动生成的目的。第37页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程38结果的可视化结果的可视化网络模拟器网络模拟器NS为用户提供动画工具,为为用户提供动画工具,为用户增加动态过程的演示与描述是十分用户增加动态过程的演示与描述是十分重要的。重要的。系统的可扩充性系统的可扩充性网络模拟器网络模拟器NS通过自身编程模型的设计通过自身编程模型的设计与用户自己设计网络环境的脚本的方式,与用户自己设计网络环境的脚本的方式,使得系统具有很好地可扩展性。使得系统具有很好地可扩展性。第38页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程39NS基本设计
32、思想基本设计思想网络模拟器网络模拟器NS是一种离散事件模拟器;是一种离散事件模拟器;典型的事件是分组到达、超时等。一个分组接收的处典型的事件是分组到达、超时等。一个分组接收的处理会引起更多分组的发送。模拟器将不断地处理这样理会引起更多分组的发送。模拟器将不断地处理这样一个个的事件,直到所有的事件被处理完或者某一个一个个的事件,直到所有的事件被处理完或者某一个特定的事件发生为止;特定的事件发生为止;网络模拟器网络模拟器NS的核心是一个离散事件模拟引擎;的核心是一个离散事件模拟引擎;网络模拟器网络模拟器NS中有一个中有一个“调度器调度器”(scheduler)类,负)类,负责记录当前的时间,调度网
33、络事件队列中的事件,提供函责记录当前的时间,调度网络事件队列中的事件,提供函数产生新事件,指定事件发生的时间;数产生新事件,指定事件发生的时间;有了离散事件模拟引擎,用户原则上就可以对网络事件进有了离散事件模拟引擎,用户原则上就可以对网络事件进行模拟。行模拟。第39页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程40针对网络模拟,网络模拟器针对网络模拟,网络模拟器NS已经预先做了大量已经预先做了大量的模型化的工作,对网络系统的通用实体进行了建模,的模型化的工作,对网络系统的通用实体进行了建模,如链路、队列、分组与结点等,并用面向对象的方法如链路、队列、分组与结点等,并
34、用面向对象的方法实现了这些实体的特性与功能,形成了规模很大的网实现了这些实体的特性与功能,形成了规模很大的网络模拟器构件库;络模拟器构件库;用户可以利用这些构件,进行少量的扩展与组合,用户可以利用这些构件,进行少量的扩展与组合,形成符合用户要求的网络系统模型,然后再进行模形成符合用户要求的网络系统模型,然后再进行模拟;拟;网络模拟器网络模拟器NS的构件库覆盖了广域网、城域网、的构件库覆盖了广域网、城域网、局域网、移动网络以及卫星通信网络,也覆盖了局域网、移动网络以及卫星通信网络,也覆盖了层次型路由、多播路由、动态路由等多种路由方层次型路由、多播路由、动态路由等多种路由方法;法;构件库还能够提供
35、随机数产生、随机变量产生与构件库还能够提供随机数产生、随机变量产生与积分等数学计算工具。积分等数学计算工具。第40页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程41NS-2经过不断地改进,出现了很多版本;经过不断地改进,出现了很多版本;在在NS2.1b6版开始,开始加入了对无线移版开始,开始加入了对无线移动结点的支持;动结点的支持;在在NS2.1b9版开始,版开始,NS开始对目录结构进开始对目录结构进行了调整,新的版本号表示为行了调整,新的版本号表示为NS2.26;NS作为一种开放源代码的网络模拟器已经作为一种开放源代码的网络模拟器已经被很多网络研究人员,尤其是学生
36、使用;被很多网络研究人员,尤其是学生使用;NS2.1b3之后的版本可以从之后的版本可以从http:/www.isi.edu/nsnam/dist获得获得 第41页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程42开源工具包开源工具包22 网络模拟工具网络模拟工具OPNET OPNET Modeler网络模拟工具是网络模拟工具是1986年年由美国由美国MIT的两位博士研究开发;的两位博士研究开发;1987年开始商业化;年开始商业化;目前广泛应用于网络设备制造商、网络目前广泛应用于网络设备制造商、网络运营商、大型网络系统,以及银行网络、运营商、大型网络系统,以及银行网络、
37、保险企业网络、校园网以及军事网络中。保险企业网络、校园网以及军事网络中。第42页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程43主要功能主要功能对于实际运行的企业网,对于实际运行的企业网,OPNET调用标准组网模型,调用标准组网模型,对网络的数据流实际状况进行模拟,以评价网络对网络的数据流实际状况进行模拟,以评价网络运行状态,以及造成网络系统性能瓶颈的类型和运行状态,以及造成网络系统性能瓶颈的类型和位置;位置;对于实际运行的传输网络,对于实际运行的传输网络,OPNET可以实现应用层可以实现应用层的流量模拟,寻找网络设备、服务器配置中出现的错的流量模拟,寻找网络设备、
38、服务器配置中出现的错误和参数不合适的情况;误和参数不合适的情况;对于网络研究人员,对于网络研究人员,OPNET提供一个开放的环境,提供一个开放的环境,使研究人员可以根据被研究的设备、协议与算法,在使研究人员可以根据被研究的设备、协议与算法,在多个层次进行定义和模拟,以确定被研究的设备、协多个层次进行定义和模拟,以确定被研究的设备、协议与算法的性能优劣。议与算法的性能优劣。第43页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程44主要技术特点主要技术特点 层次化的结构层次化的结构 采用面向对象的模拟方式采用面向对象的模拟方式 采用离散事件驱动的建模方法采用离散事件驱动的
39、建模方法 开发源代码开发源代码 采用混合建模方法,能够提供多种模型库采用混合建模方法,能够提供多种模型库 应用领域广应用领域广 第44页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程45主要应用领域主要应用领域端端端结构的设计端结构的设计系统级的仿真系统级的仿真新的协议开发和优化新的协议开发和优化网络应用的优化与性能分析网络应用的优化与性能分析第45页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程46基本工作原理基本工作原理 采用离散事件驱动的建模方法,事件指的是网络采用离散事件驱动的建模方法,事件指的是网络状态的变化;状态的变化;通信模拟机
40、制的核心是离散事件驱动的事件调度通信模拟机制的核心是离散事件驱动的事件调度器(器(event scheduler),它对所有的进程模块要求完),它对所有的进程模块要求完成的事件按事件发生的时间进行列表和排序;成的事件按事件发生的时间进行列表和排序;事件调度器维护一个具有优先级的队列,按事件事件调度器维护一个具有优先级的队列,按事件发生的时间进行排序,遵循先进先出发生的时间进行排序,遵循先进先出FIFO的原的原则顺序执行事件;则顺序执行事件;各个模块之间的通信采用基于包的仿真(各个模块之间的通信采用基于包的仿真(simulation on packet level)机制来模拟物理网络中网络设)机
41、制来模拟物理网络中网络设备之间,以及网络设备内部包的传输与处理过程。备之间,以及网络设备内部包的传输与处理过程。第46页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程47结点模型编辑器用来定义网络中每一个结点的行结点模型编辑器用来定义网络中每一个结点的行为;为;每一个结点模型编辑器提供模拟内部功能的所需资源;每一个结点模型编辑器提供模拟内部功能的所需资源;每一个模块实现结点的某一个方面的行为,如数据生每一个模块实现结点的某一个方面的行为,如数据生成、数据存储、数据封装、数据包路由选择、数据包成、数据存储、数据封装、数据包路由选择、数据包传输;传输;在这些模块的共同作用
42、下,用户可以对结点的行为进行在这些模块的共同作用下,用户可以对结点的行为进行模拟;模拟;进程模型编辑器用于产生处理机的模型,实现结点进程模型编辑器用于产生处理机的模型,实现结点模型编辑器中模块的功能;模型编辑器中模块的功能;链路模型编辑器用来产生新的链路类型,每个链路类链路模型编辑器用来产生新的链路类型,每个链路类型都有不同的特性,在链路模型中需要对各个链路对型都有不同的特性,在链路模型中需要对各个链路对象进行说明;象进行说明;第47页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程48OPNET提供两种类型的统计值:矢量统计值与标量提供两种类型的统计值:矢量统计值与标
43、量统计值;统计值;矢量值是指动态的、基于事件的十进制数据,每个数矢量值是指动态的、基于事件的十进制数据,每个数据都是某个时刻仿真程序自动地将动态变化的矢量值据都是某个时刻仿真程序自动地将动态变化的矢量值写入的;写入的;根据数据收集的范围,矢量统计又分为本地矢量统计根据数据收集的范围,矢量统计又分为本地矢量统计与全局矢量统计;与全局矢量统计;本地矢量统计只针对某个模块,其结果只反映单本地矢量统计只针对某个模块,其结果只反映单个模块的行为;个模块的行为;全局矢量统计是针对整个的网络,它反映出整个全局矢量统计是针对整个的网络,它反映出整个网络的行为,如端网络的行为,如端端延时等;端延时等;标量文件只
44、记录静态的数据,它是由用户手工生成标量文件只记录静态的数据,它是由用户手工生成的,一般属于仿真属性设定值。的,一般属于仿真属性设定值。第48页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程49OPNET建模的层次分为网络层、结点建模的层次分为网络层、结点层与进程层;层与进程层;进程层又进一步细分为根进程、子进程、进程层又进一步细分为根进程、子进程、孙进程等;孙进程等;它们构成了更加完整的它们构成了更加完整的OPNET编程环编程环境。境。第49页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程50评价网络系统性能的关键是应用建模;评价网络系统性能
45、的关键是应用建模;仿真的业务需求与业务模型能够正确地仿真的业务需求与业务模型能够正确地反映网络的实际运行情况;反映网络的实际运行情况;OPNET为了保证业务模型的准确性,除为了保证业务模型的准确性,除了采用离散事件仿真机制之外,精确的了采用离散事件仿真机制之外,精确的服务建模通过封装包的精确模拟从应用服务建模通过封装包的精确模拟从应用层、网络层与低层通信协议等三个协议层、网络层与低层通信协议等三个协议层来实现;层来实现;OPNET对应的定义了应用级业务流、网对应的定义了应用级业务流、网络层的业务流与低层业务流。络层的业务流与低层业务流。第50页,共51页,编辑于2022年,星期二计算机网络高级教程计算机网络高级教程51业务建模方法业务建模方法完全精确的方式完全精确的方式采用背景流的方式模拟业务流采用背景流的方式模拟业务流加载链路背景业务加载链路背景业务 第51页,共51页,编辑于2022年,星期二