怎么用NS看802.11中MAC层的时序?
12-16
用NS编了一个TCL程序来模拟802.11网络,只用了两个节点,
macType设为:Mac/802_11
运行完后看.tr文件,跟踪类型中只有AGT和RTR、没有MAC,
因此看不到MAC层的运作情况,
主要是想看一下,MAC层数据帧的时序,
向大侠请教。
以下是tr文件的一部分,问题是:数据帧2、3为何同时发送,
4是2的ack,在2得到ack后,又同时发送数据帧5、6,
而这时3还未被接收端接收,
这个怎么来解释?
s 3.011899386 _0_ AGT --- 2 tcp 1040 [0 0 0 0]
r 3.011899386 _0_ RTR --- 2 tcp 1040 [0 0 0 0]
s 3.011899386 _0_ AGT --- 3 tcp 1040 [0 0 0 0]
r 3.011899386 _0_ RTR --- 3 tcp 1040 [0 0 0 0]
s 3.011899386 _0_ RTR --- 2 tcp 1060 [0 0 0 0]
s 3.011899386 _0_ RTR --- 3 tcp 1060 [0 0 0 0]
r 3.067408903 _1_ AGT --- 2 tcp 1060 [13a 1 0 800]
s 3.067408903 _1_ AGT --- 4 ack 40 [0 0 0 0]
r 3.067408903 _1_ RTR --- 4 ack 40 [0 0 0 0]
s 3.067408903 _1_ RTR --- 4 ack 60 [0 0 0 0]
r 3.073252187 _0_ AGT --- 4 ack 60 [13a 0 1 800]
s 3.073252187 _0_ AGT --- 5 tcp 1040 [0 0 0 0]
r 3.073252187 _0_ RTR --- 5 tcp 1040 [0 0 0 0]
s 3.073252187 _0_ AGT --- 6 tcp 1040 [0 0 0 0]
r 3.073252187 _0_ RTR --- 6 tcp 1040 [0 0 0 0]
s 3.073252187 _0_ RTR --- 5 tcp 1060 [0 0 0 0]
s 3.073252187 _0_ RTR --- 6 tcp 1060 [0 0 0 0]
r 3.081376173 _1_ AGT --- 3 tcp 1060 [13a 1 0 800]
s 3.081376173 _1_ AGT --- 7 ack 40 [0 0 0 0]
r 3.081376173 _1_ RTR --- 7 ack 40 [0 0 0 0]
macType设为:Mac/802_11
运行完后看.tr文件,跟踪类型中只有AGT和RTR、没有MAC,
因此看不到MAC层的运作情况,
主要是想看一下,MAC层数据帧的时序,
向大侠请教。
以下是tr文件的一部分,问题是:数据帧2、3为何同时发送,
4是2的ack,在2得到ack后,又同时发送数据帧5、6,
而这时3还未被接收端接收,
这个怎么来解释?
s 3.011899386 _0_ AGT --- 2 tcp 1040 [0 0 0 0]
r 3.011899386 _0_ RTR --- 2 tcp 1040 [0 0 0 0]
s 3.011899386 _0_ AGT --- 3 tcp 1040 [0 0 0 0]
r 3.011899386 _0_ RTR --- 3 tcp 1040 [0 0 0 0]
s 3.011899386 _0_ RTR --- 2 tcp 1060 [0 0 0 0]
s 3.011899386 _0_ RTR --- 3 tcp 1060 [0 0 0 0]
r 3.067408903 _1_ AGT --- 2 tcp 1060 [13a 1 0 800]
s 3.067408903 _1_ AGT --- 4 ack 40 [0 0 0 0]
r 3.067408903 _1_ RTR --- 4 ack 40 [0 0 0 0]
s 3.067408903 _1_ RTR --- 4 ack 60 [0 0 0 0]
r 3.073252187 _0_ AGT --- 4 ack 60 [13a 0 1 800]
s 3.073252187 _0_ AGT --- 5 tcp 1040 [0 0 0 0]
r 3.073252187 _0_ RTR --- 5 tcp 1040 [0 0 0 0]
s 3.073252187 _0_ AGT --- 6 tcp 1040 [0 0 0 0]
r 3.073252187 _0_ RTR --- 6 tcp 1040 [0 0 0 0]
s 3.073252187 _0_ RTR --- 5 tcp 1060 [0 0 0 0]
s 3.073252187 _0_ RTR --- 6 tcp 1060 [0 0 0 0]
r 3.081376173 _1_ AGT --- 3 tcp 1060 [13a 1 0 800]
s 3.081376173 _1_ AGT --- 7 ack 40 [0 0 0 0]
r 3.081376173 _1_ RTR --- 7 ack 40 [0 0 0 0]
能够同时发多个正是因为TCP是按照窗口发送。要从mac trace看时序,还得把macTrace
打开。 推荐用gdb, ddd跟踪c++的代码
你用gdb跟踪c++代码,来观察包的发送过程? admire
真的这么做的话,那可厉害了
偶一直不是特别清楚,到底处理过程怎么在OTCL和C++之间跳来跳去的
相关文章:
- 做编码的时候的碰到时序的问题,不知如何解决,请大侠帮忙出个(05-08)
- DSP搭建的通信系统如何控制时序(05-08)
- 请介绍有关sensor networks的入门文章!(05-08)
- 求救:关于ns中mobiwan安装的问题(05-08)
- ns问题请教(05-08)
- Re: wireless sensor network物理层有什么可以做的吗?(05-08)
射频专业培训教程推荐