计算机网络ns2仿真实验分析(RED、丢包率、端到端延迟、吞吐量)附源码_第1页
计算机网络ns2仿真实验分析(RED、丢包率、端到端延迟、吞吐量)附源码_第2页
计算机网络ns2仿真实验分析(RED、丢包率、端到端延迟、吞吐量)附源码_第3页
计算机网络ns2仿真实验分析(RED、丢包率、端到端延迟、吞吐量)附源码_第4页
计算机网络ns2仿真实验分析(RED、丢包率、端到端延迟、吞吐量)附源码_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、引言1. NS2简介NS2是一款开放源代码的网络模拟软件,最初山UC Berkeley开发。它是一种而向对象 的网络模拟器,它本质上是一个离散爭件模拟器,其木身有一个模拟时钟,所有的模拟都由 离散事件驱动。其采用了分裂对彖模型的开发机制,采用C+和OTcl两种谄言进行开发。它 们之间采用TcICL进行自动连接和映射。考虑效率和換作便利等因索,NS2将数据通道和控 制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网 络组件对彖都使用C+编写,这些对線通过TcICL映射对OTcl解释器可见。冃前NS2可以用于模拟备种不同的通信网络,它功能强大,模块丰富,U经实现的

2、主 耍模块仃:网络传输协议,如TCP和UDP:业务源流社产生器,如FTP、Telnet. CBR、Web 和VBR:路由队列管理机制,如Droptaik RED和CBQ:路由算法:以及无线网络WLAN、 移动IP和卩.星通信网络等模块。也为进行局域网的模拟实现了第播协议以及一些MAC子层 协议。2. 基本概念(1) RED:随机早期探测(Random Early Detect, RED)。RED 属 J主动队列管理(Active Queue Management AQW),是H前常见的TCP上防止拥塞的于段。它通过以一定概率丢失或标记 报文來通知端系统网络的拥塞情况。RED使用平均队列长度度最

3、网络的拥塞程度,然后以线 性方式将拥塞依息反馈给端系统。RED使用最小阈值,放大阈值和放大概率等儿个参数。RED的基本思想是通过监控路山器输出端I I队列的平均长度來探测拥塞,一H.发现拥塞 逼近,就随机地选择连接來通知拥塞,使它们在队列溢出导致丢包Z询减少拥塞'窗I,降低 发送数据速度,缓解网络拥塞。RED配盘在路I1J器监视网络流起以便避免拥塞,拥塞即将 发牛时,它随机丢弃进來的分组,而不是等到队列缓冲区满是才开始丢弃所佇进來的分组, 这样可以星少化全局同步的发生。当拥塞发生时,RED丢弃每个连接分组的概率与该连接占 用的带宽成比例,它监视每个输出队列的平均队列长度,随机选择分组丢

4、弃。(2) 丢包率:是一个比率,农乐在单位时间内未收到的数据分组数与发送的数据分组数 的比率,山于依号衰减、网络质吊等诸多因素的影响,可能产生数据分组的丢欠。(3) 端到端时延:是由各种因索引起的,包括打包和解包时延,以及网络传送时延,本 文中主耍讨论的是网络传输时延。(4) 吞吐量:单位时间内,某个节点发送和接受的数据昴,巾位一般为b/s.二、实验结果分析1. 本仿真实验的模拟情节配咒图如下所示。包仟4个node, «节点之间都是以全双匸 的链路相连。nO和n2之间链路的带宽为2Mbps,延迟为10ms,为DropTail队列方式;nl 和n2之间链路带宽为2Mbps,延迟为10m

5、s,也为DropTail队列方式:n2和n3之间链路的 带宽为1.7Mbps,延迟为20ms,为RED方式.n0处有一个FTP的TCP流吊:产生器,nl处为 CBR的UDP流磺产生器,n3有一个接收TCP的sink和接收UDP的NULL。2.运行木仿真实验的Tel脚木产生的Trace文件的恪式说明如下。eventt iwefroiw nodeco nodepkt typepkt sizef lagsfidsrc addrdst addrseq numptet id(1 (event: V:表示分组进入链路队列那件;"一“:表示分组离开链路队列韦件;”r":表示 目的W点接受

6、分组事件;"d":农示队列丢弃分组事件。(2)time:事件发生的时间。from node:分组发送接点的id(4)tonode:分组传送的冃的节点的id。(5)pkt type:分组类熨(6)pkt size:分组大小。(7)flags:标志项fid:流标识符。(9) src addr:源地址,格式为node.port,其中node代表分组发送卩点的id, port衣爪发送分组的端口号。(10) dst addr:目的地址.格式为node.port. R1!1 node代表分组发送节点的id, port表示发 送分组的端口号.(11) seq num:分组的序列号。(12

7、)pkt id:分组的唯一标识符。3n2与n3 Z间的RED队列的平均队列长度与当前队列长度随时间的变化如F图所示:30000QJZIS wndjnu-2500020000150001000050000current and average RED queue sizeMaverage.tr" u 2:3 "current.tr" u 2:3510152«)25303540simulation time图2平均队列长度与当前队列K度随时间变化的曲线图4 运行结果中显示化如下图所示:CBR流量总共发包550,丢失16,丢包率为:0.029o丢包率随时间的变

8、the packets cF lost rate图3丢包率随时间变化的关系图5.CBR流最的时延随时间的变化如卜图所示:time图4端到端时延随时间变化的关系图6节点n2的平均吞吐13随时间的变化如下图所示:1000through-puts、q00.511.522.533.544.55time图5巧点n2的吞吐量随时间变化的关系头7.结果分析:从RED的图示中,可以看出队列的大小波动变化不是很大,在处理突发的 包时有定的优势。从丢包率、时延和吞吐量的变化图中,可以看出当丢包率增加时, 端到端之间的时延也在览加,而乔吐员则下降,丢包率、时延和吞吐最在表示网络性能 的好坏时有一定的关系。三、相关代

9、码1 网络拓扑仿真脚本simulator.tcl:#Create a simulator objectset ns new Simulator#Define different colors for data flows (for NAM)$ns color 1 Blue$ns color 2 Red#Open the NAM trace fileset nf open out.nam w$ns namtraceall $nfset nd open out.tr w$ns traceall $nd#Define a 'finish' procedureproc finish g

10、lobal ns nf nd$ns flush-traceclose $nfclose $ndexec nam out.nam &exitO#Create four nodesset nO $ns node)set nl Sns nodeset n2 $ns nodeset n3 $ns node#Create links between the nodes$ns duplex-link $n0 $n2 2Mb 10ms DropTail $ns duplex-link $nl $n2 2Mb 10ms DropTail $ns duplex-link $n2 $n3 1.7Mb 20

11、ms RED#Set Queue Size of link (n2-n3) to 100$ns queue-limit $n2 $n3 100#Give node position (for NAM)$ns duplex-linkop $n0 $n2 orient right-down $ns duplex-link-op $nl $n2 orient right-up$ns duplex-link-op $n2 $n3 orient right#Monitor the queue for link (n2-n3). (for NAM)$ns duplex-link-op $n2 $n3 qu

12、euePos 0.5#Setup a TCP connectionset tcp new Agent/TCP$tcp set class_ 2$ns attachnt $n0 $tcpset sink new Agent/TCPSink$ns attachagent $n3 $sink$ns connect $tcp $sink$tcp set fid_ 1#Setup a FTP over TCP conn ection set ftp new Application/FTP$ftp attach-agent $tcp$ftp set type_ FTP#Setup a UDP connec

13、tionset udp (new Agent/UDP$ns attachagent $nl $udpset null new Agent/Null$ns attachagent $n3 $null$ns connect $udp $null$udpset fid_ 2#Setup a CBR over UDP connectionset cbr new Application/Traffic/CBRScbr attach-agent Sudp$cbr set type_ CBR$cbr set packet_size_ 1000$cbr set rate_ lmb$cbr set random

14、_ false#Schedule events for the CBR and FTP agents$ns at 0.1 H$cbr start"$ns at 1.0 "$ftp start1'$ns at 40.0 "$ftp stop"$ns at 4.5 H$cbr stop11#Detach tcp and sink agents$ns at 50 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sinkM$ns at 50.0 "finish,#monitor n

15、2 and n3 queueset redq $ns link $n2 $n3 queueset traceq open redQueue.tr w$redq trace curq_$redq trace ave_$redq attach $traceq#Run the simulation$ns run2. RED的数据处理脚本:Sgrep "a" redQueue.tr>average.tr$grep "Q" redQueue.tr > current.tr( r|1 redQueue.tr为跟踪n2和n3队列产生的文件)然后使用gnup

16、lot T.H使用averagetr和current.tr绘制队列随时间变化的曲线。3. 丢包率数据awk处理脚<graph_lostRate. awk:#count the packet lost rate of CBRBEGIN dropNum=0; totalNum=0;i=0;event = $1;time = $2;fromNode = $3;toNode = $4;pktType = $5;pktSize = $6;flags = $7;fid = $8;srcAddr = $9;dstAddr = $10;seqNum = $11;pktld = $12;if(fromNo

17、de =1 && toNode =2 && event =,+") totalNum+;timeArri=time;lossratei=(float)(dropNum/totalNum);i+;if(fid = 2 && event* "d")dropNumENDprintf("#number of packet sent:%dost:%dn:totalNum,dropNum); printf("#lost rate of packets:%fn,/dropNum/totalNum); for(j

18、=0;j<i;j+)printf(,%ft%fn,/timeArrj/lossratej);3. 处理时延的awk代码lost_rate.awk:#delay analyseBEGINhighestPktld=O;event = $1; time = $2; fromNode = $3; toNode = $4;pktType = $5;pktSize = $6;flags = $7;fid = $8;srcAddr = $9;dstAddr = $10;seqNum = $11;pktld = $12;if(pktld>highestPktld) highestPktld=pkt

19、ld;if(beginTimepktld=O)begi nTimepktld二time;if(fid=2 && event!=nd")if(event="r")en dTimepktld=time;elseendTimepktld=-l;ENDfor(pktld=0;pktld<=highestPktld;pktld+) begi n 二 beginTimefpktld; end=endTimepktld; pktDuration=end-begin;讦(begi n< end) printf(H%ft%fn',/begin/pktDuration);4吞吐

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论