博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(转)添加一个新的应用和代理(三)
阅读量:6696 次
发布时间:2019-06-25

本文共 1946 字,大约阅读时间需要 6 分钟。

这里给出测试的脚本:

#Author:Vivian

#File:test-mmapp.tcl
#Written:08-26-10

set ns [new Simulator]

set tracefd [open out.tr w]

$ns trace-all $tracefd

 

proc finish {} {
 global ns tracefd
 $ns flush-trace
 close $tracefd
 exit 0
}

set node_(s1) [$ns node]

set node_(s2) [$ns node]
set node_(r1) [$ns node]
set node_(r2) [$ns node]
set node_(s3) [$ns node]
set node_(s4) [$ns node]

$ns duplex-link $node_(s1) $node_(r1) 5Mb 3ms DropTail

$ns duplex-link $node_(s2) $node_(r1) 5Mb 3ms DropTail
$ns duplex-link $node_(r1) $node_(r2) 2Mb 10ms RED
$ns duplex-link $node_(r2) $node_(s3) 5Mb 3ms DropTail
$ns duplex-link $node_(r2) $node_(s4) 5Mb 3ms DropTail

#setup RED queue parameter

$ns queue-limit $node_(r1) $node_(r2) 20
Queue/RED set thresh_ 5
Queue/RED set maxthresh_ 10
Queue/RED set q_weight_ 0.002
Queue/RED set ave_ 0

#setup a MM UDP connection

set udp_s [new Agent/UDP/UDPmm]
set udp_r [new Agent/UDP/UDPmm]
$ns attach-agent $node_(s1) $udp_s
$ns attach-agent $node_(s3) $udp_r
$ns connect $udp_s $udp_r
$udp_s set packetSize_ 1000
$udp_r set packetSize_ 1000
$udp_s set fid_ 1
$udp_r set fid_ 1

#setup a MM Application

set mmapp_s [new Application/MmApp]
set mmapp_r [new Application/MmApp]
$mmapp_s attach-agent $udp_s
$mmapp_r attach-agent $udp_r
$mmapp_s set pktsize_ 1000
$mmapp_s set random_ false

#setup a TCP conneciton

set tcp [$ns create-connection TCP/Reno $node_(s2) TCPSink $node_(s4) 0]
$tcp set window_ 15
$tcp set fid_ 2

#setup a FTP Application

set ftp [$tcp attach-source FTP]

$ns at 0.0 "$ftp start"

$ns at 1.0 "$mmapp_s start"
$ns at 10.0 "finish"

$ns run

 

添加一个新的应用和代理(三) - vivi - vivian
 
基本上,这个实验到这就结束了,不过,我考虑如何测试s1是变速的发送MM包。目前我想到的方法是利用测量吞吐量的方法测试。以0.1s为时间间隔,最后得到吞吐量的图如下:
添加一个新的应用和代理(三) - vivi - vivian
由于我们速率的缺省值分别为0.3mb,0.6mb,0.9mb,1.2mb,1.5mb。拥塞减半,畅通加1。吞吐量较为符合这个特征。
当然这样的测试也不是充分的,因为mmapp这个应用的吞吐量的变化还与另外的FTP流有关系。不知道大家有没有什么更好的方法。最好能直接记录rate的改变。如果知道的朋友请告知。感谢!
 
PS:这个实验做了两天。算是我第一次接触稍微复杂点的源码吧。大家见笑了,当然我还有很多不理解的地方。
1、首先对于supportMM()和enableMM()这两个函数不理解。到底在哪里判断传送来到时MM包还是非MM包。亦或是这个应用直接规定传送的都是MM包?这是我最不理解的地方。

转载地址:http://japoo.baihongyu.com/

你可能感兴趣的文章
WinForm界面布局空间---WeifenLuo.WinformUI.Docking
查看>>
关于提示表单执行的一些小问题!
查看>>
C#字符串的方法
查看>>
POJ 1274 二分图匹配
查看>>
交叉编译iperf源代码
查看>>
学习小结(一) —— 基础数据结构
查看>>
WinDbg内核调试命令
查看>>
React文档(十七)非受控组件
查看>>
centos系统初始化脚本
查看>>
Hadoop源码学习笔记(2) ——进入main函数打印包信息
查看>>
python中的metaclass
查看>>
大白叔叔专题之匹配、网络流(二)(第一题不是呐~)
查看>>
在centos中使用rpm安装包安装jenkins
查看>>
Linux释放内存空间
查看>>
利用ASP.NET DataGrid显示主次关系的数据
查看>>
关于CachedRowSetImpl类
查看>>
Typora – Markdown 简介
查看>>
qt 免注册下载
查看>>
一致性hash算法实现(伪码)
查看>>
Leetcode 215. Kth Largest Element in an Array
查看>>