ns-2 TCP window_ и отношение cwnd_ - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть топология, подобная этой:

[bunch of TCP/Reno sources]<---->Router1<---->Router2<---->[bunch of TCPSinks]

есть 20 пар соединений через эти два маршрутизатора.
например с соединением TCP1-Sink1 У меня есть window_, установленный в 32, и затем я запустите симуляцию и построите значения cwnd _.

Проблема в том, что cwnd_ иногда больше, чем window _,
Например, если я установил window_ в 5, я получу это: enter image description here

, а в случае 30 это: enter image description here

Почему это происходит, и почему cwnd_ не падает, когда оно превышает window_?

вот код, который собирает данные

$ns at 0.5 "activateSources"
$ns at 1.5 "startRecordingWindow"
$ns at 20.0 "finish"

proc plotWindow {tcpSource file} {
  global ns
  set time 0.01
  set now [$ns now]
  set cwnd [$tcpSource set cwnd_]
  puts $file "$now $cwnd"


  $ns at [expr $now+$time] "plotWindow $tcpSource $file"   
}
...