OMNeT ++上で動作するINETのサンプルプロジェクト "ARPTest"では、512Mb/sと100Mb/sの帯域幅を持つイーサネットケーブルを介して3つのホストからそれぞれ1メガバイトのデータがサーバーに転送されているようです。実生活では、このデータ転送には1秒未満しかかからないようです。しかし、シミュレーションをフルスピードで実行すると、シミュレーションは500秒間実行されますが、まだ終了していません。誰かがシミュレータ時間に関するこの不一致を説明することができますか?何が欠けていますか?INETでは、ARPTestネットワークの実行に500秒以上かかるのはなぜですか?
0
A
答えて
2
まず第一に、常にシミュレーションが実際にやっているかを見るためにログ出力を確認してください。 Expressモードでシミュレーションを実行する際の問題は、ログ出力がスキップされるため、実際に何が起こっているのかわかりません。
あなたの質問を見ると、シミュレーション時間とデータ転送の実際の送信時間との間に矛盾はありません。
シミュレーション時間が500秒であるのは、sim-time-limit = 500s
でomnetpp.ini
に設定されたシミュレーションの時間制限です。 OMNeT ++は、処理する予定のイベントに関係なく、500秒のシミュレーション時間でシミュレーションを停止します。
完全を期すために、私はARPtestのための最終的なログ出力を投稿しますが:ログ出力で
** Event #385441 t=5.831682347368 ARPTest.server.tcp (TCP, id=257) on ACK (inet::tcp::TCPSegment, id=499229)
DETAIL (TCP)ARPTest.server.tcp: Connection 10.0.0.14:1000 to 10.0.0.1:1025 on app[0], connId=8 in LAST_ACK
INFO (TCP)ARPTest.server.tcp: Seg arrived: .1025 > .1000: ack 2347163 win 7504
DETAIL (TCP)ARPTest.server.tcp: TCB: snd_una=2346444 snd_nxt=2346980 snd_max=2347163 snd_wnd=7504 rcv_nxt=1298578 rcv_wnd=7504 snd_cwnd=536 rto=2 ssthresh=3728
DETAIL (TCP)ARPTest.server.tcp: Processing ACK in a data transfer state
DETAIL (TCP)ARPTest.server.tcp: ACK acks our FIN
INFO (TCP)ARPTest.server.tcp: Updating send window from segment: new wnd=7504
INFO (TCP)ARPTest.server.tcp: ACK acks all outstanding segments, cancel REXMIT timer
INFO (TCP)ARPTest.server.tcp: cwnd <= ssthresh: Slow Start: increasing cwnd by one SMSS bytes to cwnd=1072
INFO (TCP)ARPTest.server.tcp: Last ACK arrived
INFO (TCP)ARPTest.server.tcp: Transition: LAST_ACK --> CLOSED (event was: RCV_ACK)
DEBUG (TCP)ARPTest.server.tcp: tcp: LAST_ACK --> CLOSED (on RCV_ACK)
INFO (TCP)ARPTest.server.tcp: Notifying app: CLOSED
INFO (TCP)ARPTest.server.tcp: Deleting TCP connection
** Event #385442 t=5.831682347368 ARPTest.server.tcpApp[0] (TCPEchoApp, id=256) on CLOSED (omnetpp::cMessage, id=499231)
** Event #385443 t=245.831667258618 ARPTest.client.tcp (TCP, id=30) on selfmsg 2MSL (omnetpp::cMessage, id=87)
DETAIL (TCP)ARPTest.client.tcp: Connection 10.0.0.1:1025 to 10.0.0.14:1000 on app[0], connId=7 in TIME_WAIT
DETAIL (TCP)ARPTest.client.tcp: 2MSL timer expired
INFO (TCP)ARPTest.client.tcp: Transition: TIME_WAIT --> CLOSED (event was: TIMEOUT_2MSL)
DEBUG (TCP)ARPTest.client.tcp: tcp: TIME_WAIT --> CLOSED (on TIMEOUT_2MSL)
INFO (TCP)ARPTest.client.tcp: Deleting TCP connection
** Event #385444 t=500 on endsimulation (omnetpp::cEndSimulationEvent)
<!> Simulation time limit reached -- at t=500s, event #385444
** Calling finish() methods of modules
INFO (TCPSessionApp)ARPTest.client.tcpApp[0]: ARPTest.client.tcpApp[0]: ARPTest.client.tcpApp[0]: received 2097152 bytes in 3447 packets
INFO (TCP)ARPTest.client.tcp: ARPTest.client.tcp: ARPTest.client.tcp: finishing with 0 connections open.
INFO (TCP)ARPTest.server.tcp: ARPTest.server.tcp: ARPTest.server.tcp: finishing with 1 connections open.
、あなたは、データ転送のための最後の確認応答は、周りの5.83秒というはっきりと見ることができます到着し、TCP接続が最後に閉じられました。その後、タイマーは約245秒で終了し、500秒でシミュレーションが終了します(シミュレーションの時間制限のため)。
シミュレーションは、すべてのタイマーがなくなるか、処理する必要のあるイベントがなくなるまで続きます(この例では最初のケースです)。
関連する問題
- 1. jQuery AJAXコールバックがHTTP 500上で実行されるのはなぜですか?
- 2. Google SafetyNet認証が5秒以上かかるのはなぜですか?
- 3. SQL Serverクエリの実行に50秒以上かかる
- 4. イオン2 - 30秒以上実行する
- 5. PHPメール機能の実行に60秒以上かかる(sendmailを使用)
- 6. なぜこのメソッドは1行に1回以上実行されたくないのですか
- 7. 1秒に1000回実行すると、このコードが遅く実行されるのはなぜですか?
- 8. 約500件以上のリクエストを送信すると、マルチカールが空のオブジェクトを返すのはなぜですか?
- 9. 500万行以上のhadoopから巨大なcsvファイルをダウンロード
- 10. なぜ別のネットワーク(iOS 11)でアプリケーションを実行できないのですか
- 11. なぜcrondはアルパインlinux上でroot以外のcrontabを実行できないのですか?
- 12. Alamofireはユニットテストでタイムアウトに30秒かかるのはなぜですか?
- 13. なぜcopy_to_userは数百ミリ秒かかるのですか?
- 14. なぜ私のdaterangepickerデモはlocalhost上で実行できないのですか?
- 15. なぜAndroid上でjavascriptが実行されるのですか?
- 16. prototype関数をjavascriptで2回以上実行できないのはなぜですか?
- 17. なぜ私のPythonコードは10秒後でも実行し続けますか?
- 18. Inet * Addressクラスに可視コンストラクタがないのはなぜですか?
- 19. 5秒以上かかるとRubyでプロセスを終了するには?
- 20. Wordpressで500以上のサブサイトを作成することは可能ですか?
- 21. SQLプロシージャに3秒かかるのはなぜですか。 SSMSでC#の分
- 22. なぜLaravelプロジェクトのウェブサイトの応答が職人のローカルホスト上で10秒以上の長さですか?
- 23. mysqlクエリは300秒以上の時間を要し、20秒以上のフェッチを行い、スキーマ内の行数はわずか500,000です。
- 24. SharePoint 2013フォームベース認証が遅い - なぜSetPrincipalAndWriteSessionTokenが20秒以上かかるのですか?
- 25. クリックハンドラがドキュメント上で実行されるのはなぜですか?
- 26. マシン上でコードが実行されるのはなぜですか?
- 27. なぜ距離行列APIはそれ以上の選択肢ですか?
- 28. build_frameworks.shの実行に失敗するのはなぜですか?
- 29. 異なるネットワーク上の同じコンピュータにネットワーク経由でpingを実行する
- 30. Omnet ++:inetでシミュレーションを実行