刘世华 导师:方路平 浙江工业大学软件学院 2018年9月20日星期四

Slides:



Advertisements
Similar presentations
《网络基础与Internet应用》.
Advertisements

电信网络的现状和发展趋势 以IP为主的数据业务量将超过目前主体的话音业务。 Voice Data Relative Capacity (%)
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
第6章 计算机网络基础 1.
第一章 概 述.
Network Simulator.
Ns2 一個常用的網路模擬器 台灣科技大學資管系資料庫實驗室 洪振洲.
计算机网络 暨南大学计算机科学系 学年 第一学期.
第1章 概述.
第8章 系統架構.
实用操作系统概念 张惠娟 副教授 1.
計算機概論 1001課後輔導教材 單元 4:電腦網路 主講老師:徐培倫.
網路基本概念與設定方法 林文宗 資管系助理教授
J2EE与中间件技术 ——Lab.
Author: Shigeki Takeuchi,Hiroyuki Koga, Katsuyoshi Iida,
計算機網路實驗- 使用NS2模擬多媒體通訊與無線網路(實驗四)
Linux.
网络仿真工具介绍
Computer Network Lab 資碩一 黃麒瑋
通訊協定 OSI分層模式 與 TCP/IP協定
Qt Quick 4小时入门 安晓辉(foruok)
網路技術管理進階班---區域網路的技術發展
網路技術管理進階班---網路連結 講師 : 陳鴻彬 國立東華大學 電子計算機中心.
亂數函數(Random-Number Function)
第二讲 搭建Java Web开发环境 主讲人:孙娜
Installation, advance wireless module and evaluation 2008/11/11
讲议: PXE 介绍及实现 Jarvis
第4章 网络互联与广域网 4.1 网络互联概述 4.2 网络互联设备 4.3 广域网 4.4 ISDN 4.5 DDN
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
第二十二章 電子商務網路架構.
实用组网技术 第一章 网络基础知识.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
第7單元 網路和資料通訊 McGraw-Hill Education.
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
Visual Studio Team System 简介
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
NS2 - Basic Ming-Feng Yang.
NS2 – TCP/IP Simulation How-Wei Wu.
校園網路架構介紹與資源利用 主講人:趙志宏 圖書資訊館網路通訊組.
第5讲 网络层 本讲目的: 概述: 理解网络层服务原理: 因特网的实现实例 网络层的服务 路由选择原理 分层的路由选择 IP协议
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
数据挖掘工具性能比较.
ENS 10.1安装配置指南 王俊涛 | SE.
DevDays ’99 The aim of this mission is knowledge..
三:基于Eclipse的集成开发环境搭建与使用
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
程序设计工具实习 Software Program Tool
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
NS2 (Network Simulator - version 2)
Source: Journal of Network and Computer Applications, Vol. 125, No
VisComposer 2019/4/17.
分裂对象模型 C++ otcl.
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第十七讲 网络系统的规划与设计.
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
網路模擬技術與應用 授課老師:潘仁義 日期:2014/02/18.
2019/5/8 第2章 数据分析软件介绍.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
code::blocks 與GLUT 程式開發
NS3 & NS2 (network simulator)
Copyright © 2004 HRBEU.605. All Rights Reserved
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
入侵检测技术 大连理工大学软件学院 毕玲.
LIU Lei Shanghai Center for Bioinformation Technology 03/05/2013
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
Presentation transcript:

刘世华 导师:方路平 浙江工业大学软件学院 2018年9月20日星期四 网络仿真与NS-2简介 刘世华 导师:方路平 浙江工业大学软件学院 2018年9月20日星期四

内容提要 网络仿真概述 主流网络仿真软件简介 NS-2简介 NS-2安装 NS-2架构与使用 NS-2简单实例 参考资料

网络研究的三类方法 分析方法 实验方法 模拟方法 模型分析、协议分析 通用表达式、集合论、概率分析方法 网络实验床(testbed) 实验室测试网 实际网络、小规模试验网 模拟方法 虚拟网络实验床(Virtual network testbed)--仿真软件

为什么需要仿真? 学习:学习协议和算法的实现,包括它们的行为和性能 测试:对未实现和未投入实际应用的协议和算法进行测试 比较:对各种研究结果、协议和算法的优缺点进行比较直观和客观的比较

仿真的优点 Inexpensive, Flexible and Reconfigurable Network phenomena interested can be reproduced Opportunity to study large-scale network Easier comparison of results across research efforts

仿真的缺点 Important network details may be missed Protocols or algorithms must be “added” before simulation can be done Have to be carefully verified before the test results can be used

网络仿真软件的基本要求 Easy network topology setup Protocols and application implementation TCP,UDP,… FTP, Telnet, Web, CBR, VBR,… Routing protocols Queue management protocols Configurability Extensibility

内容提要 网络仿真概述 主流网络仿真软件简介 NS-2简介 NS-2安装 NS-2架构与使用 NS-2简单实例 参考资料

主流仿真软件有哪些? OPNET NS-2 MATLAB SPW QualNet/GloMoSim

OPNET简介 OPNET:Optimized Performance Network Engineering Tool OPNET最早是由麻省理工学院LIDS实验室受美国军方委拖开发. 可模拟LAN, WAN, ISDN及卫星通信网的模型.

OPNET界面

OPNET的特性 三层建模机制:最底层为Process模型,以状态机来描述协议;其次为Node模型,由相应的协议模型构成,反映设备特性;最上层为网络模型。三层模型和实际的网络、设备、协议层次完全对应,全面反映了网络的相关特性; 齐全的模型库:包括路由器、交换机、服务器、客户机、ATM设备、DSL设备、ISDN设备等常见网络设备模型;

OPNET的特性(续) 混合建模机制:把基于包的分析方法和基于统计的数学建模方法结合起来,既可得到非常细节的模拟结果,也大大提高了仿真效率。 丰富的统计量收集和分析功能:它可以直接收集常用的各个网络层次的性能统计参数,能够方便地编制和输出仿真报告。 网管系统、流量监测系统的接口:能够方便的利用现有的拓扑和流量数据建立仿真模型,同时还可对仿真结果进行验证。

OPNET的功能 Define Problem Gather Data OPNET可以模拟现有的绝大部分网络和协议: ATM, Frame Relay, FDDI Ethernet, Token Ring TCP/UDP/IP, HTTP Network Editor Node Editor Process Editor Build Models Run Simulations Simulation Tool Debugging Tool Analyze Results Analysis Tool Animation Viewer

MATLAB简介 MATLAB软件是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文MATrix LABoratory (矩阵实验室)的缩写。 MATLAB环境下,用户集成了程序设计、数值计算、图形绘制、输入输出、文件管理等各项功能。 MATLAB提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩陈对象时,不要求作明确的维数说明。 开放源代码的Scilab与matlab类似。

SPW简介 SPW(Signal Process WorkSystem)仿真软件是Cadence公司的产品

SPW的特点 SPW的一个显著特点是他提供了HDS接口和MATLAB接口。MATLAB里面的很多模型可以直接调入SPW,然后利用HDS生成C语言仿真代码或者是HDL语言仿真代码。 SPW通常可以应用于无线和有线载波通信、多媒体和网络设计与分析等领域,特别提供第三代移动通信的模块支持。 适用于无线通信物理层、链路层算法和协议的开发仿真。

QualNet简介 QualNet 原是美国加州大学洛杉矶分校 (UCLA) 开发的开放源代码的GloMoSim 的商业版,Scalable Simulation Solutions 成功地将QualNet 由学术性质的开源软件转变为商业软件,主要客户包括:政府部门、军方承包商以及世界 500 强的许多公司。 从有线LAN和WAN,到蜂窝、卫星、WLAN和移动Ad Hoc网络,QualNet支持广泛的联网应用。

GloMoSim简介 GloMoSim(Global Mobile Information System Simulator) is a scalable simulation environment for wireless network systems. GloMoSim developer: University of California,Los Angeles Computer Science Department GloMoSim is a library written by Parsec.

GloMoSim的层次与功能 Application Layer PROPAGATION-MODEL BANDWIDTH Channel Layer Radio Layer MAC Layer Network Layer Transport Layer Application Layer PROPAGATION-MODEL BANDWIDTH MAC-PROTOCOL NETWORK-PROTOCOL ROUTING-PROTOCOL TRANSPORT-PROTOCOL MOBILITY

主流仿真软件比较 软件 条目 OPNET NS-2 MATLAB SPW QualNet/ GloMoSim 界面友好性 GUI、代码 Tcl script 主要是代码 拓扑结构配置 GUI,配置方便 代码编程 GUI?代码 支持的构件库 丰富的构件库 比较丰富 丰富的工具箱 丰富 配置灵活性 一般 非常灵活 比较灵活 执行效率 较高 低 较低 支持语言 Proto-C C++/OTcl C/FORTRAN C/HDL C/C++/Parsec 可扩展性 差 好 比较好 兼容性 与MATLAB兼容 使用成本 高 开源免费 高/开源免费 入门难度 难度大 较难 难 通用性 较好

内容提要 网络仿真概述 主流网络仿真软件简介 NS-2简介 NS-2安装 NS-2架构与使用 NS-2简单实例 参考资料

NS-2简介 NS2(Network Simulator, version 2)是一种面向对象的网络仿真器,最初由UC Berkeley开发而成。 它本质上是一个离散事件模拟器,本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。 官方网址:http://www.isi.edu/nsnam/ns/ 维客(Wiki)网址:http://nsnam.isi.edu/nsnam/index.php/Main_Page

NS-2的历史 NEST (Network Simulation Testbed)  REAL (Realistic and Large)  NS-1  NS-2 1989: REAL network simulator 1995: DARPA VINT project (Virtual InterNetwork Testbed) at LBL, Xerox PARC, UCB, and USC/ISI Present: DARPA SAMAN(Simulation Augmented by Measurement and Analysis for Network) project and NSF CONSER(Collaborative Simulation for Education and Research) project.

NS-2的功能 Wired Wireless Tracing, visualization, various utilities Transportation: TCP,UDP,RTP,SRM Traffic sources:web, ftp, telnet, cbr, stochastic Queuing disciplines:drop-tail, RED, FQ, SFQ, DRR QoS: IntServ and Diffserv Emulation Wireless Ad hoc routing and mobile IP Directed diffusion, sensor-MAC Tracing, visualization, various utilities

NS-2版本状态 最新发布的稳定版本:2.30 最近发布时间:2006年9月26日 5月27日: ns-allinone-2.29.3发布 “A new four-year program to develop the next major version of ns-3 was officially started on July 1, 2006. The program is funded as part of the NSF CISE CRI program.”

NS-2的组成部分 Tcl release 8.4.13 (必备组件) Tk release 8.4.13 (必备组件) Otcl release 1.12 (必备组件) TclCL release 1.18 (必备组件) Ns release 2.30 (必备组件 ) Nam release 1.12 (可选组件) Xgraph version 12 (可选组件) CWeb version 3.4g (可选组件) SGB version 1.0 (?) (可选组件, 为所有类UNIX平台安装sgblib库) Gt-itm gt-itm and sgb2ns 1.1 (可选组件) Zlib version 1.2.3 (可选, 安装Nam软件包需要用到)

内容提要 网络仿真概述 主流网络仿真软件简介 NS-2简介 NS-2安装 NS-2架构与使用 NS-2简单实例 参考资料

NS-2安装基本要求 必要的开发工具包 binutils gcc/g++ make 必要的库文件 glibc Xlibs-dev, libx11-dev

NS-2.30的安装 NS-2.30在Ubuntu6.06 Linux下的安装 (进入ns-allinone-2.30的源码目录) lsh@Ubuntu6:~$tar zxf ns-allinone-2.30.tar.gz ¶ 解压 lsh@Ubuntu6:~$cd ns-allinone-2.30¶ (进入ns-allinone-2.30的源码目录) lsh@Ubuntu6:~/ns-allinone-2.30$./intall ¶ 安装

环境变量设置 在家目录下的.bashrc文件中加入下面三行: export PATH=$PATH:~/ns-allinone-2.30/bin:/home/lsh/ns-allinone-2.30/tcl8.4.13/unix:/home/lsh/ns-allinone-2.30/tcl8.4.13/unix export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/lsh/ns-allinone-2.30/otcl-1.12:/home/lsh/ns-allinone-2.30/lib export TCL_LIBRARY=$TCL_LIBRARY:/home/lsh/ns-allinone-2.30/tcl8.4.13/library

Cygwin的下载

Cygwin的安装

NS-2与操作系统的匹配(来源:网络论坛) 操作系统版本 NS版本 备注 RedHat Linux RH9.0 2.26~2.30 完全安装 FC2 2.29 FC4 2.28~2.30 FC5 2.26,2.30 FC6 2.30 AS4 2.29,2.30 装Xlib Ubuntu Linux 5.04 2.28,2.29 5.10 6.06 2.27~2.30 Kubuntu6.06 only KDE SuSe Linux Enterprise 10 NS-2.29.3 Mac OS X10.4 2.28~2.29 install X11 Windows 2000,XP + VC6 2.26 逐个编译 Cygwin 需要的包和库

内容提要 网络仿真概述 主流网络仿真软件简介 NS-2简介 NS-2安装 NS-2架构与使用 NS-2简单实例 参考资料

NS-2的分裂对象模型 实现层:采用C++对象 方便协议和算法的实现 提高执行效率 表示层:采用OTcl对象 方便拓扑和节点属性的修改 提高仿真便利性

OTcl对象树

NS-2的体系架构

NS-2使用一般流程 问题 修改源代码 仿真建模 结果分析 建立/运行 仿真程序

NS-2的实际操作界面 用户采用NS-2原有的模块进行仿真分析时,其实际工作就是通过Tcl/OTcl编程建模/运行并分析结果。

内容提要 网络仿真概述 主流网络仿真软件简介 NS-2简介 NS-2安装 NS-2架构与使用 NS-2简单实例 参考资料

NS-2实例详解 节点0:主机 四个节点:0~3 其中节点2作为路由器对网络流量进行转发 节点2:路由器 节点3:主机 节点1:主机 本实例的拓扑结构

NS-2仿真脚本的基本框架 set ns [new Simulator] //新建仿真器对象 set nf [open out.nam w] //打开输出文件 $ns namtrace-all $nf //记录所有输出 proc finish {} { //定义一个退出过程 //里面进行删除对象,关闭文件等操作 } $ns at 5.0 “finish“ //定时运行结束过程 $ns run //启动仿真程序

NS-2的网络构件 节点(网络设备或主机) set n0 [$ns node] #创建节点 链路(连接节点的通路) $ns duplex-link $n0 $n2 1Mb 10ms DropTail 代理(网络协议实体) set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0

本例完整代码(一) Set ns [new Simulator] proc finish {} { global ns nf #Define different colors for data flows $ns color 1 Blue $ns color 2 Red #Open the nam trace file set nf [open out.nam w] $ns namtrace-all $nf #Define a 'finish' procedure proc finish {} { global ns nf $ns flush-trace #Close the trace file close $nf exec nam out.nam & exit 0 }

(二)建立节点和链路 set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] $ns duplex-link $n0 $n2 1Mb 10ms DropTail $ns duplex-link $n1 $n2 1Mb 10ms DropTail $ns duplex-link $n3 $n2 1Mb 10ms SFQ (二)建立节点和链路 #Monitor the queue for the link between node 2 and node 3 $ns duplex-link-op $n2 $n3 queuePos 0.5 set udp0 [new Agent/UDP] $udp0 set class_ 1 $ns attach-agent $n0 $udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetSize_ 500 $cbr0 set interval_ 0.005 $cbr0 attach-agent $udp0

(三)新建Agent set udp1 [new Agent/UDP] $udp1 set class_ 2 $ns attach-agent $n1 $udp1 set cbr1 [new Application/Traffic/CBR] $cbr1 set packetSize_ 500 $cbr1 set interval_ 0.005 $cbr1 attach-agent $udp1 #Create a Null agent (a traffic sink) and attach it to node n3 set null0 [new Agent/Null] $ns attach-agent $n3 $null0 #Connect the traffic sources with the traffic sink $ns connect $udp0 $null0 $ns connect $udp1 $null0

(四)运行时间调度 #Schedule events for the CBR agents $ns at 0.5 "$cbr0 start“ $ns at 4.0 "$cbr1 stop“ $ns at 4.5 "$cbr0 stop“ #Call the finish procedure after 5 seconds of simulation time $ns at 5.0 "finish“ #Run the simulation $ns run

(五)运行结果

(六)结果的处理 了解trace文件的结构,自己编程处理 使用现有工具 Linux提供了许多小工具对结果进行处理 脚本语言:gawk、tcl、shell 绘制曲线图形: xgraph,gnuplot,tracegraph

实用参考资料 网络论坛(Network Forum):http://www.netforum.com.cn/ 科研论坛网络仿真版: http://bbs.sciei.com/index.asp?boardid=66 台湾柯志亨教授的主页: http://140.116.72.80/~smallko/ns2/ns2.htm NS by Example:http://nile.wpi.edu/NS/ Ns tutorial:http://www.isi.edu/nsnam/ns/tutorial/index.html 源码与架构分析: http://www-sop.inria.fr/planete/software/ns-doc/ns-current 中文书籍:《NS与网络模拟》 官方手册:~/ns-allinone-2.30/ns-2.30/doc/everything.pdf NS2学习交流论坛: http://ns2.tech.topzj.com/ (我们自己新建的论坛)

结束语 我们的兴趣方向: 1、NS2资料整理:出版第二本简体中文书籍 2、NS2应用研究:用于网络仿真(如Ad hoc) 谢谢大家!