NS2仿真实例汇总

NS-2仿真模拟实例汇总(以方路平的书为主)1.例4.5a:DropTail队列管理的NS_2模拟实例(P161) set ns [new Simulator]set nf [open out.nam w]$ns namtrace-all $nfset tf [open out.tr w]set windowVsTime [open win w]set param [open parameters w]$ns trace-all $tfproc finish {} {global ns nf tf$ns flush-traceclose $nfclose $tfexec nam out.nam &exit 0}set n2 [$ns node]set n3 [$ns node]$ns duplex-link $n2 $n3 0.7Mb 20ms DropTailset NumbSrc 3set Duration 50for {set j 1} {$j <=$NumbSrc} {incr j} {set S($j) [$ns node]}set rng [new RNG]$rng seed 2set RVstart [new RandomVariable/Uniform]$RVstart set min_ 0$RVstart set max_ 7$RVstart use-rng $rngfor {set i 1} {$i <=$NumbSrc} {incr i} {set startT($i) [expr [$RVstart value]]set dly($i) 1puts $param "startT($i) $startT($i) sec"}for {set j 1} {$j <=$NumbSrc} {incr j} {$ns duplex-link $S($j) $n2 10Mb $dly($j)ms DropTail$ns queue-limit $S($j) $n2 20}$ns queue-limit $n2 $n3 100for {set j 1} {$j <=$NumbSrc} {incr j} {set tcp_src($j) [new Agent/TCP/Reno]$tcp_src($j) set window_ 8000}for {set j 1} {$j<=$NumbSrc} {incr j} {set tcp_snk($j) [new Agent/TCPSink]}for {set j 1} {$j <=$NumbSrc} {incr j} {$ns attach-agent $S($j) $tcp_src($j)$ns attach-agent $n3 $tcp_snk($j)$ns connect $tcp_src($j) $tcp_snk($j)}for {set j 1} {$j <=$NumbSrc} {incr j} {set ftp($j) [$tcp_src($j) attach-source FTP]}for {set j 1} {$j <=$NumbSrc} {incr j} {$tcp_src($j) set packetSize_ 552}for {set i 1} {$i <=$NumbSrc} {incr i} {$ns at $startT($i) "$ftp($i) start"$ns at $Duration "$ftp($i) stop"}proc plotWindow {tcpSource file k} {global ns NumbSrcset time 0.03set cwnd [$tcpSource set cwnd_]if {$k==1} {puts -nonewline $file "$now \t $cwnd \t"} else {if {$k< $NumbSrc} {puts -nonewline $file "$cwnd \t"}}if {$k== $NumbSrc } {puts -nonewline $file "$cwnd \n"}$ns at [expr $now+$time] "plotWindow $tcpSource $file $k"} for {set j 1} {$j <= $NumbSrc} {incr j} {$ns at 0.1 "plotWindow $tcp_src($j) $windowVsTime $j"}$ns monitor-queue $n2 $n3 [open queue.tr w] 0.05[$ns link $n2 $n3] queue-sample-timeout$ns at [expr $Duration] "finish"$ns run2.例4.5b:RED队列管理的NS-2模拟实例(P164) set ns [new Simulator]set nf [open out.nam w]$ns namtrace-all $nfset tf [open out.tr w]set windowVsTime [open win w]set param [open parameters w]$ns trace-all $tfproc finish {} {global ns nf tf$ns flush-traceclose $nfclose $tfexec nam out.nam &exit 0}set n2 [$ns node]$ns duplex-link $n2 $n3 0.7Mb 20ms REDset NumbSrc 3set Duration 50for {set j 1} {$j <=$NumbSrc} {incr j} {set S($j) [$ns node]}set rng [new RNG]$rng seed 2set RVstart [new RandomVariable/Uniform]$RVstart set min_ 0$RVstart set max_ 7$RVstart use-rng $rngfor {set i 1} {$i <=$NumbSrc} {incr i} {set startT($i) [expr [$RVstart value]]set dly($i) 1puts $param "startT($i) $startT($i) sec"}for {set j 1} {$j <=$NumbSrc} {incr j} {$ns duplex-link $S($j) $n2 10Mb $dly($j)ms DropTail$ns queue-limit $S($j) $n2 20}$ns queue-limit $n2 $n3 100for {set j 1} {$j <=$NumbSrc} {incr j} {set tcp_src($j) [new Agent/TCP/Reno]$tcp_src($j) set window_ 8000}for {set j 1} {$j<=$NumbSrc} {incr j} {set tcp_snk($j) [new Agent/TCPSink]}for {set j 1} {$j <=$NumbSrc} {incr j} {$ns attach-agent $S($j) $tcp_src($j)$ns attach-agent $n3 $tcp_snk($j)$ns connect $tcp_src($j) $tcp_snk($j)for {set j 1} {$j <=$NumbSrc} {incr j} {set ftp($j) [$tcp_src($j) attach-source FTP]}for {set j 1} {$j <=$NumbSrc} {incr j} {$tcp_src($j) set packetSize_ 552}for {set i 1} {$i <=$NumbSrc} {incr i} {$ns at $startT($i) "$ftp($i) start"$ns at $Duration "$ftp($i) stop"}proc plotWindow {tcpSource file k} {global ns NumbSrcset time 0.03set now [$ns now]set cwnd [$tcpSource set cwnd_]if {$k==1} {puts -nonewline $file "$now \t $cwnd \t"} else {if {$k< $NumbSrc} {puts -nonewline $file "$cwnd \t"}}if {$k== $NumbSrc } {puts -nonewline $file "$cwnd \n"}$ns at [expr $now+$time] "plotWindow $tcpSource $file $k"} for {set j 1} {$j <= $NumbSrc} {incr j} {$ns at 0.1 "plotWindow $tcp_src($j) $windowVsTime $j"}set redq [[$ns link $n2 $n3] queue]set traceq [open red-queue.tr w]$redq trace curq_$redq trace ave_$redq attach $traceq$ns at [expr $Duration] "finish"$ns run$grep "a" red-queue.tr > ave.tr$grep "Q" red-queue.tr > cur.trgnplot > set title "current and average queue size" gnplot > set xlabel "time"gnplot > set ylabel "queue size"gnplot > plot ""。

合集下载

NS2仿真实验报告

NS2仿真实验报告

Ns2简单有线网络仿真实验报告一、实验概述1、在windows系统下安装Centos虚拟机2、在Centos系统下安装NS2仿真工具包3、Nam方式示例二、实验内容1)NS2仿真工具包安装说明1.在Centos系统下设置root账户2.解压NS2文件3.安装ns-allinone-2.35设置环境变量4.验证NS2工具包安装情况2)Nam方式Otcl脚本# 产生一个仿真的对象set ns [new Simulator]#针对不同的资料流定义不同的颜色,这是要给NAM用的$ns color 1 Green$ns color 2 Red#开启一个NAM trace fileset nf [open out.nam w]$ns namtrace-all $nf#开启一个trace file,用来记录封包传送的过程set nd [open out.tr w]$ns trace-all $nd#定义一个结束的程序proc finish {} {global ns nf nd$ns flush-traceclose $nfclose $nd#以背景执行的方式去执行NAMexec nam out.nam &exit 0}#产生6个网络节点set n0 [$ns node]set n1 [$ns node]set n2 [$ns node]set n3 [$ns node]set n4 [$ns node]set n5 [$ns node]#把节点连接起来$ns duplex-link $n0 $n2 2Mb 10ms DropTail$ns duplex-link $n1 $n2 2Mb 10ms DropTail$ns duplex-link $n2 $n3 1.7Mb 20ms DropTail$ns duplex-link $n3 $n4 1.7Mb 30ms DropTail$ns duplex-link $n3 $n5 1.5Mb 30ms DropTail#设定ns2到n3之间的Queue Size为10个封包大小$ns queue-limit $n2 $n3 10$ns queue-limit $n3 $n4 5#$ns queue-limit $n3 $n5 10#设定节点的位置,这是要给NAM用的$ns duplex-link-op $n0 $n2 orient right-down$ns duplex-link-op $n1 $n2 orient right-up$ns duplex-link-op $n2 $n3 orient right$ns duplex-link-op $n3 $n4 orient right-up$ns duplex-link-op $n3 $n5 orient right-down#观测n2到n3之间queue的变化,这是要给NAM用的$ns duplex-link-op $n2 $n3 queuePos 0.5#建立一条n0-n5TCP的联机set tcp [new Agent/TCP]$ns attach-agent $n0 $tcpset sink [new Agent/TCPSink]$ns attach-agent $n5 $sink$ns connect $tcp $sink#在NAM中,TCP的联机会以Green表示$tcp set fid_ 1#在TCP联机之上建立FTP应用程序set ftp [new Application/FTP]$ftp attach-agent $tcp$ftp set type_ FTP#建立一条UDP的联机set udp [new Agent/UDP]$ns attach-agent $n1 $udpset null [new Agent/Null]$ns attach-agent $n3 $null$ns connect $udp $null#在NAM中,UDP的联机会以红色表示$udp set fid_ 2#在UDP联机之上建立CBR应用程序set cbr [new Application/Traffic/CBR]$cbr attach-agent $udp$cbr set type_ CBR$cbr set packet_size_ 1000$cbr set rate_ 1mb$cbr set random_ false#设定FTP和CBR资料传送开始和结束时间$ns at 0.1 "$cbr start"$ns at 1.0 "$ftp start"$ns at 4.0 "$ftp stop"$ns at 4.5 "$cbr stop"#结束TCP的联机(不一定需要写下面的程序代码来实际结束联机)$ns at 4.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink"#在仿真环境中,5秒后去呼叫finish来结束仿真(这样要注意仿真环境中#的5秒并不一定等于实际仿真的时间$ns at 5.0 "finish"#执行仿真$ns run3)仿真结果仿真结束后,会产生out.nam和out.tr两个档案用来把仿真的过程用可视化的方式呈现出来4)数据分析1.End-to-End Delay把测量CBR封包端点到端点间延迟时间的awk程序,写在档案measure-delay.awk档案中BEGIN {#程序初始化,设定一变量以记录目前最高处理封包的ID。

基于NS2的无线多媒体传感器网络多路径路由算法仿真与实现

基于NS2的无线多媒体传感器网络多路径路由算法仿真与实现

3、GEAR算法:GEAR(Geographical Energy Aware Routing)算法是一种基 于地理位置的路由算法。它通过优化数据传输路径,使得能量消耗更加均衡。 GEAR算法根据节点的位置信息计算最短路径,并选择能量剩余较多的节点作为 下一跳节点。
三、无线传感器网络路由算法的 仿真实现
相关技术综述
无线多媒体传感器网络相关研究
无线多媒体传感器网络是一种集成了传感器、微处理器、无线通信和多媒体技 术的网络。它的主要任务是收集、处理和传输各种多媒体信息,如音频、视频、 图像等。无线多媒体传感器网络具有广泛的应用前景,如环境监测、智能交通、 智能家居等。
QoS路由算法相关研究
QoS路由算法是一种能够保证网络服务质量的新型路由协议。它能够在传输过 程中有效地分配网络资源,以满足不同的服务质量需求。QoS路由算法主要包 括基于端到端、基于中间节点和基于源节点三种类型。在无线多媒体传感器网 络中,
3、数据采集与处理:通过实验平台采集数据,对路由算法的性能进行评估, 包括吞吐量、能耗等方面的分析。
谢谢观看
基于NS2的无线多媒体传感器 网络多路径路由算法仿真与实

01 引言
03 算法描述
目录
02 相关研究 04 参考内容
引言
无线多媒体传感器网络(WMSN)在许多领域都具有广泛的应用前景,如环境监 测、智能交通和军事侦察等。在这些应用场景中,由于传感器节点资源的限制, 如何有效地传输多媒体数据成为一个重要的问题。多路径路由算法作为一种提 高网络容错能力和
四、结论
无线传感器网络中的路由算法是实现高效、可靠数据传输的关键。针对不同应 用场景和需求,我们需要选择合适的路由算法来优化网络的性能表现。通过仿 真实验,我们可以对不同路由算法的性能进行评估和比较,为实际应用提供参 考依据。

第2章 NS2网络仿真实验

第2章 NS2网络仿真实验
• NS2采用两级体系结构,为了提高代码的执行效率,NS2 将数据操作与控制部分的实现相分离,事件调度器和大部 分基本的网络组件对象后台使用C++实现和编译,称为编 译层,主要功能是实现对数据包的处理;NS2的前端是一 个OTcl 解释器,称为解释层,主要功能是对模拟环境的 配置、建立。从用户角度看,NS2 是一个具有仿真事件 驱动、网络构件对象库和网络配置模块库的OTcl脚本解 释器。NS2中编译类对象通过OTcl连接建立了与之对应 的解释类对象,这样用户间能够方便地对C++对象的函数 进行修改与配置,充分体现了仿真器的一致性和灵活性。
2.1.5 NS2的仿真过程
• 进行网络仿真前,首先分析仿真涉及哪个层次,NS2仿真 分两个层次:一个是基于OTcl编程的层次,利用NS2已 有的网络元素实现仿真,无需修改NS2本身,只需编写 OTcl脚本;另一个是基于C++和OTcl编程的层次,如果 NS2中没有所需的网络元素,则需要对NS2进行扩展,添 加所需网络元素,即添加新的C++和OTcl类,编写新的 OTcl脚本。
2.1.4 NS2的仿真元素(续)
• (3)通过对节点附加路由协议可以完成对网络的路由设 置。NS2包括静态、动态和会话三种单播路由策略。 • (4)可以设置链路的带宽、时延和丢弃模型。NS2支持 Drop-tail(FIFO)队列、RED缓冲管和CBO(包括优先 权和Round-robin调度)。各种公平队列如FQ,SFQ和 DRR等。 • (5)对于通信量的仿真,NS2提供了多种通信的应用方 法如:FTP(它产生较大的峰值数据传输);Telnet(它能 依照相应的文件随机选取不同大小的传输数据)。此外, NS2提供了EXPOO,POO,CBR和Traffic Trace四种不 同类型的通信量产生器。

网络仿真器NS-2及其一个应用实例

网络仿真器NS-2及其一个应用实例

NS- 2 是 一个具有仿真事件驱 动、网 络构件 对象库 和网络 配
置模块库的 Otcl 脚本解释器。NS- 2 中编译 类对象通过 Otcl
连接建立了与之对应的解释类对象, 这样用户 可以在 Otcl 空
间能够方便地对 C+ + 对象的 函数和 变量进 行修改与 配置, 充分体现了仿真器的一致和灵活性。 2. 3 NS- 2 的功能模块
本文要介绍的是目前应用较 为广泛的 网络仿 真软件 NS - 2( Network Simulator) , 它是由 UC Berkely 大学开 发的一个 基 于事件驱动的仿真器。它能近乎真实地模 拟网络环 境, 让 我 们可以在各个层次上模拟网络的运行。
2 NS- 2 结构和功能
2. 1 NS- 2 简介 NS- 2 是 面向对象的, 基 于离散 事件驱 动的网 络环境 模
3) 链路( Link) : 由 多个组 件复 合而成, 用来 连接 网络 节 点。所有的链路都是以队列的形式来管理 分组的到 达、离 开 和丢弃。在链路中增加了 Trace/ EnqT 、Trace/ DeqT、Trace/ DrpT 以及 Tracer/ RecvT 等对象可以跟踪每个数据包到达、进入、离 开队列以及被丢弃的时间; 还可以用队列监视 器( Queue Mon itor) 来监测队列长度和平均队长的变化情况。
用户使用 NS- 2 实现tcl 源 程序来初始 化一个事 件 调度器, 定义网络拓扑结构, 配置业务源, 确定 发送和接受 传 输数据包的时间, 然后启动 NS- 2 仿真器。
2) 运行仿真程序。 3) 仿真结果分析: 程序运行 结束后, 用户根据记录 模拟数 据的文档, 利用 NS- 2 中的可视化仿真软件 NAM 动态 查看仿 真的运 行过 程、观察 跟 踪数 据, 或 使用 Linux 中的 Xgraph 或 Windows 下的 Origin 等软件将结果转换成带有坐标的平面图。

基于NS2的TCP拥塞控制仿真

基于NS2的TCP拥塞控制仿真

基于NS2的TCP建模与仿真摘要:TCP/IP协议是计算机之间常用的组网形式,是互联网事实上的工业标准,由IETF负责制定,其具体内容通过RFC文档公开发布。

本文利用NS2网络仿真器对TCP/IP中的拥塞控制与拥塞窗口,快速重传与快速恢复算法进行了仿真,使对协议中的几种机制和算法有了形象的理解。

关键字:TCP/IP协议,NS2仿真,拥塞控制,快速重传,快速恢复一、引言TCP/IP协议是计算机之间常用的组网形式,是互联网事实上的工业标准,由IETF负责制定,其具体内容通过RFC文档公开发布。

例如,TCP协议在RFC793中正式定义;RFC1122对如何检测错误和不一致性以及解决方法进行了说明;RFC1323给出了对TCP的一些扩展功能;RFC2518中重点阐述了TCP的拥塞控制机制描述了更新后避免过度拥塞的算法;RFC3168描述了对显示拥塞的报告等。

据统计,当前在所有因特网的数据包中,大约有95%包的传送使用了TCP 协议,因此针对TCP协议相关机制的研究很有实际意义。

在TCP协议的研究中,仿真是一种有效又经济的研究方法,而且可以给人以更加形象的认识。

目前的网络仿真工具主要包括两类:一是基于大型网络开发的网络仿真工具,如OPNET、GloMoSim等;二是基于小型网络开发的网络仿真工具,如NS2、COMNET III等。

大多数网络仿真工具的价格昂贵,而本文采用的NS2是一种应用广泛、影响力较大和源代码公开的免费网络模拟软件。

二、网络仿真器NS2NS是Network Simulator的英文缩写,又称网络仿真器。

它是一款开放源代码的网络模拟软件,最初由加州大学伯克利分校(UC Berkeley)开发。

NS-2支持Windows、Linux、Unix、Mac以及其他支持POSIX标准的操作系统,它主要支持的操作系统是Linux系统,目前几乎支持所有主流的Linux发行版本,本文使用的是Windows+Cygwin平台。

基于NS2的UDP仿真报告

基于NS2的UDP仿真报告

基于NS2的UDP协议仿真1. UDP协议的特点UDP 是OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

UDP 协议基本上是IP协议与上层协议的接口。

UDP协议适用端口分别运行在同一台设备上的多个应用程序。

UDP协议并不提供数据传送的保证机制。

如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。

UDP协议称为不可靠的传输协议。

UDP报头由4个域组成,其中每个域各占用2个字节,具体如表1所示:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1819 20 21 22 23 24 25 26 27 28 29 30 31表1 UDP报头结构UDP协议使用端口号为不同的应用保留其各自的数据传输通道。

数据发送一方(可以是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。

UDP协议使用报头中的校验值来保证数据的安全。

校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。

如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。

2. NS2软件的安装与配置2.1 ubuntu实验环境Ubuntu是Linux的一个版本,是一款免费的操作系统,Ubuntu 项目完全遵从开源软件开发的原则;用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。

这是其他的操作系统所做不到的。

NS2在linux环境下运行比在windows下更稳定,出现更少的错误,还可以更改linux内核,使得仿真效果更好。

2.2 软件安装NS2可以再Linux平台下运行,因此一般需要安装Linux操作系统。

也可以采用Windows+虚拟机(VMware,Virtual PC)+NS组合的方式。

NS2仿真MM1K队列


# generate random interarrival times and packet sizes setInterArrivalTime [new RandomVariable/Exponential] $InterArrivalTime set avg_ [expr 1/$lambda] setpktSize [new RandomVariable/Exponential] $pktSize set avg_ [expr 100000.0/(8*$mu)] setsrc [new Agent/UDP] $ns attach-agent $n1 $src # queue monitoring setqm [$ns monitor-queue $n1 $n2 [open qtr w] 0.01] [$ns link $n1 $n2] queue-sample-timeout
图 1,链路中的瞬间队长
图 2 表示,平均逗留时间 其中横轴表示数据包开始发送时间,纵轴表示该数据包的延迟
图 2,每个数据包的延迟
附录:
TCL、Gawk 代码如下所示: TCL: (mm1.tcl 生成网络拓扑结构)
set ns [new Simulator] settf [open out.tr w] $ns trace-all $tf set lambda 30.0 set mu 40.0 set n1 [$ns node] set n2 [$ns node] # Since packet sizes will be rounded to an integer # number of bytes, we should have large packets and # to have small rounding errors, and so we take large bandwidth set link [$ns duplex-link $n1 $n2 100kb 0ms DropTail] $ns queue-limit $n1 $n2 100000

ns2通信网仿真作业6

D/D/1、M/D/1、M/M/1排队性能分析排队系统按主要特征进行分类。

一般是以相继顾客到达系统的间隔时间分布、服务时间的分布和服务台数目为分类标志。

现代常用的分类方法是英国数学家D.G .肯德尔提出的分类方法,即用肯德尔记号 X/Y/Z 进行分类。

X 处填写相继到达间隔时间的分布;Y 处填写服务时间分布; Z 处填写并列的服务台数目。

例如,D/D/1表示顾客按照确定的时间间隔到达、服务时间为确定的时间间隔和单个服务台的模型;M/D/1表示顾客相继到达的间隔时间为负指数分布、确定的服务时间间隔和单个服务台的模型;M/M/1表示顾客相继到达的时间间隔为负指数分布、服务时间间隔为负指数分布和单个服务台的模型。

M/M/1系统系统空间无限、顾客源无限、FCFSλ:顾客平均到达率。

μ:服务台平均服务率对于泊松流,在时间t 内,系统内有n 个顾客的概率服务泊松分布()()2,1,0,0!=>=-n t en t t P tn nλλ若顾客流为泊松流时,顾客到达的时间间隔服从负指数分布 ()⎩⎨⎧<≥=-00t t e t a t λλ 二、负指数分布的均值和方差顾客到达的时间间隔服从负指数分布,可求得到达的时间间隔均值为()λ1=T E ;到达时间间隔方差为()21λ=T D三、服务过程分析 1、服务时间的分布当服务机构只有一个服务台时,对一个顾客的服务时间,即忙期内两顾客离开系统的时间间隔,服从参数为μ的负指数分布,μ为平均服务率,即单位时间内离开系统的顾客平均数。

服务时间的均值和方差为:()()211μμ==T D T E四、服务系统的基本指标1、 系统中无顾客的概率 μλ-=10P2、 平均排队的顾客数()λμμλ-=2q L3、系统中的平均顾客数μλ+=q s L L4、顾客花在排队上的平均等待时间λqq L W =5、 顾客在系统中的平均逗留时间μ1+=q s W W6、 顾客得不到及时服务必须排队等待的概率μλ=w P7、系统中恰好有n 个顾客的概率 ()0P P n n μλ=此外,还有,平均队长:系统状态的数学期望(顾客数的期望值)λμλ-=s L ;平均排队长:排队顾客数的期望值()λμμλ-=2q L ;逗留时间分布为()()te t T P λμ--=≥;所以平均逗留时间λμ-=1s W ;平均排队时间:()λμμλλμρ-==-q W ;关于ρ:服务强度,反映了服务员忙期所占的比例,同时实际上也是平均服务台数。

NS2仿真实验分析报告

NS2仿真实验分析报告一引言1 NS2简介NS2是一款开放源代码的网络模拟软件,最初由UC Berkeley开发。

它是一种向象的网络模拟器,它本质上是一个离散事件模拟器,其本身有一个模拟时钟,所有的模拟都由离散事件驱动。

其采用了分裂对象模型的开发机制,采用C++和OTcl两种语言进行开发。

它们之间采用Tclcl 进行自动连接和映射。

考虑效率和操作便利等因素,NS2将数据通道和控制通道的实现相分离。

为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++编写,这些对象通过Tclcl映射对OTcl解释器可见。

目前NS2可以用于模拟各种不同的通信网络,它功能强大,模块丰富,已经实现的主要模块有:网络传输协议,如TCP和UDP;业务源流量产生器,如FTP、Telnet、CBR、We b和VBR;路由队列管理机制,如DropTail、RED和CBQ;路由算法;以及无线网络WLAN、移动IP和卫星通信网络等模块,也为进行局域网的模拟实现了多播协议以及一些MAC子层协议。

2 基本概念(1)RED:随机早期探测(Random Early Detect,RED)。

RED属于主动队列管(Active Queue Management, AQW),是目前常见的TCP上防止拥塞的手段。

它通过以一定概率丢失或标记报文来通知端系统网络的拥塞情况。

RED使用平均队列长度度量网络的拥塞程度,然后以线性方式将拥塞信息反馈给端系统。

RED使用最小阈值,最大阈值和最大概率等几个参数。

RED的基本思想是通过监控路由器输出端口队列的平均长度来探测拥塞,一旦发现拥塞逼近,就随机地选择连接来通知拥塞,使它们在队列溢出导致丢包之前减少拥塞窗口,降低发送数据速度,缓解网络拥塞。

RED配置在路由器监视网络流量以便避免拥塞,当拥塞即将发生时,它随机丢弃进来的分组,而不是等到队列缓冲区满是才开始丢弃所有进来的分组,这样可以最少化全局同步的发生。

无线网络中多媒体信息传输的NS2仿真设计

摘要无线网络中多媒体信息传输的NS2仿真在无线多媒体通信系统中,视频信源在发送端按照一定的编码方式进行编码,形成视频帧,然后在网络层和传输层封装成IP数据包,再经过无线信道传输到达接收端,在接收端进行解包和恢复,得到视频帧,再形成重建后的视频流。

在此过程中,无线信道的传输特性会影响到视频的传输质量。

本文在利用Evalvid 工具的基础上,综合NS2仿真工具,建立研究多媒体信息在无线网络中传输的平台。

在视频流仿真方面,本文采用了将视频流的Trace 文件引入NS仿真环境的方法,来模拟实际网络传送的视频流,并在tcl程序代码中设定G-E模型的参数变量,这样就可以得到经模拟网络传输后数据包的收发情况,并对无线信道对多媒体信息传输质量的影响进行评估。

实验中采用的网络拓扑结构为无线局域网拓扑结构。

仿真结果表明,由于无线信道特性的不理想,在接收端恢复视频信息与视频信源相比较,会出现一定的失真。

本文还综合利用多种工具对视频信息的质量变化进行评估,如数据封包的时延、视频的PSNR值、可解画面比例与原始图像和重建后的图像的差异等。

关键词:无线网络;多媒体信息;网络仿真;AbstractThe Simulation Of Multimedia Information Transmission in Wireless Network Video information are encoded by a certain means in the sending end among the system of wireless-multimedia communication,informing the video frames,and then they was encapsulated in the network layer and the transmission layer.Before they reach the sink,they transmit across the wireless channel,and now they are download and renew,getting the new frames,which inform the rebuided video stream.Among this course,the characteristic of wireless channel could affect the quality of video transmission.Based the useage of Evalvid tool and integrated ns2 simulation tool,we construct the platform for researching the transmission of multimedia in wireless network.In the simulation of video stream, in order to simulate the actual transmission of video stream in the network,we apply the method that importing the traffic trace file of video stream into the ntework simulation circumstance,and then we enactment the parameter of the G-E model in the tcl script,in this way,we can get the condition of datagramme,meanwile,we evaluate the effect of wireless channel for the transmission of multimedia.In this experiment,we adopt the WAN topologyframework as the network framework.The result revealed that as the ideallessness characteristic of wireless channel,there is a certain distortion between the original video source and the rebuilded video information.Meanwhile,we utilize kinds of tools,such as the delaytime of datagrame、the value of PSNR for video、decodable frame rate 、the difference between the source video file and the rebuilded video file and so on,evaluating the quality of video information.Key words:wireless network;multimedia information; network simulation目录第一章绪论31.1引言31.2 选题意义41.3 论文章节安排5第二章无线网络的信道模型与视频帧52.1无线局域网的传输标准52.2无线信道的G-E模型82.3视频流的封装原理92.3.1 MPEG标准92.3.2MPEG中有关GOP的概念102.3.3封包和帧的关系102.4画图工具的介绍11第三章无线局域网视频仿真环境的构建143.1 基于myevalvid工具的多媒体传输系统143.2 NS2模拟无线网络的传输163.2.1 NS2与其基本原理163.2.2 网络拓扑结构的组成183.2.3无线传输差错模型的实现193.3仿真网络的结构213.4 视频仿真的细节22第四章视频信息传输研究244.1实验探究步骤244.2视频传输研究294.2.1视频帧的比较294.2.2 数据包的延时31第五章总结与展望32致33参考文献33第一章绪论1.1引言随着无线网络和多媒体技术的迅猛发展,无线网络已逐步从单一的数据传送网向数据、语音、图像等多媒体信息的综合传输网演化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档