【问题标题】:How to know if the data transmission is finished in NS2?NS2中如何知道数据传输是否完成?
【发布时间】:2015-12-02 06:19:32
【问题描述】:

我在 NS2 中进行编码以模拟一个网络场景,其中 N 个发送者同时将他们的数据块发送到单个接收者(所有数据块的大小相同:256KB)。我想重复这个行为5次,也就是说,当所有的发送者都完成传输后,整个传输过程会再次重复,总共重复5次。结果,我想弄清楚如何知道数据传输是否完成,以便我可以开始新一轮的传输。 谢谢!

【问题讨论】:

    标签: networking ns2


    【解决方案1】:

    这么简单!!!
    当你设置你的连接时,你也会说它什么时候结束...
    您可以简单地说第一轮何时结束............
    例如:

    $ns_ attach-agent $node(0) $tcp(0)  
    $ns_ attach-agent $node(3) $tcpsink(0)
    $ns_ connect $tcp(0) $tcpsink(0)
    $ftp(0) set rate_ 500Kb
    $tcp(0) set packetSize_ 200b
    $ftp(0) attach-agent $tcp(0)
    
    $ns_ at 5 "$ftp(0) start"
    $ns_ at 100.0 "$ftp(0) stop" # this line is what i'm talking about
    

    你收到了吗?

    【讨论】:

    • 您好 Jenova,感谢您的回答。但我认为有一个误解。我知道 $ns_ at 100.0 "$ftp(0) stop 会在 100.0 停止传输,但我想知道的是数据传输结束的确切时间。例如第一轮传输可能在 38.41 结束或 42.98 或任何时间(我们称之为 XSec),但我不知道如何计算 XSec 的确切时间,以便我可以在 XSec "$ftp(0) stop" 处使用 $ns_ 来完成第一轮并开始下一轮。
    • 欢迎您...但我认为您不了解 ns 的工作原理...在 ns2 中,如果您不说明何时停止传输,它不会随机停止或类似的东西,传输将一直持续到最后。这是 4 个移动节点的示例:link .... 尝试评论传输的停止时间,看看会发生什么...
    • 我忘了说注释“节点关闭”,所以你的模拟可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 2014-05-08
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多