Ns2 mip切换分析
基于ns2.31
Tcl代码:http://140.116.72.80/~smallko/ns2/mobileip.htm
几个关键部分:
要使用层次地址,路由的时候是层次路由
$ns_ node-config -addressType
hierarchical
AddrParams set domain_num_ 3
lappend cluster_num 2 1 1
AddrParams set cluster_num_ $cluster_num
lappend eilastlevel 1 1 2 1
AddrParams set nodes_num_ $eilastlevel ; #
of each domain
设置一个4个节点的有线模型(包括一个固定的文件传输发起节点,一个本地代理,一个外部代理)
移动:
先从本地代理区域移动要外部代理区域,然后在移动回至本地代理区域。
设定本地代理和外部代理,这里如果设定的无线节点同有线节点之间创建链路,则将有线节点设置为基站节点(就是一个混合模型节点)
设定移动节点的本地代理
set HAaddress [AddrParams addr2id [$HA
node-addr]]
[$MH set regagent_] set home_agent_
$HAaddress
注:在混合模型中nam的画图总是出现问题,无法更改节点的大小,节点的位置显示的也是错误的。
使用ftp协议进行切换时延迟的分析
这样只要分析
步骤:
保存tcl文件至mip.tcl
# ns
mip.tcl
将:
BEGIN {
}
{
if
(($1=="r")&&($4=="AGT")&&($7
=="tcp")){
gsub(//[/,"",$18);
printf("%f
%d/n",$2,$18);
}
}
END {
}
保存至anl.awk文件中
# awk –f
anl.awk infra-out.tr |sort –k 1 –g >xy.tr
这一步将(时间,tcp序列号)的点对保存至xy.tr
# gnuplot
#plot ‘xy.tr’
将:
BEGIN {
otime = 100;
}
{
delay = $1-otime;
if(delay>1.0){
printf("delay:
%f/n",delay);
}
otime = $1;
}
END {
}
保存至anl1.awk中
# awk –f
anl1.awk xy.tr
结果:
delay:
26.688587
delay:
24.423490
得到两次切换的延时。
注:老版本trace注解:
s 1.003800194 _1_ AGT --- 2 ack 40 [0 0 0 0]
------- [1:0 0:0 32 0] [0 0] 0 0
1.
第一个字段是Event Type。s:send、r: Receive、d: Drop、f: Forward。
2.
第二个字段是Time。
3.
第三个字段是Node ID。
4.
第四个字段是Trace Name。RTR:Router
Trace、AGT:Agent Trace、MAC:Mac Trace。
5.
第七个字段是Packet Type
6.
第八个字段是Packet Size。
7.
第十四个字段是Source Address。(NodeID.PortNumber)
8.
第十五个字段是Destination Address。(NodeID.PortNumber)
来至柯志亨的网站http://hpds.ee.ncku.edu.tw/~smallko/ns2/802_11b_example.htm
补充:
9.
第十六字段是TTL的值
10.
第十七字段是下一跳地址
11.
第十八字段是tcl序列号
12.
第十九字段是ack的值