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的值