在上的OMNeT ++的頂部運行INET例如項目「ARPTest」,似乎1兆字節的數據被從每個三個主機的轉移通過以太網電纜給服務器512 Mb/s的和100Mb/s的帶寬。在現實生活中,這個數據傳輸似乎不到一秒鐘。但是,當全速運行模擬時,模擬運行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. 網絡運行每半秒
- 2. 爲了在iText中運行ParseHtml8示例,需要什麼jar?
- 3. 爲什麼rails需要JavaScript運行時?
- 4. HttpURLConnection.getOutputStream()需要20秒。爲什麼?
- 5. 運行速度超過15ms的秒錶
- 6. 僅當AJAX調用需要超過500毫秒時才顯示「加載」框
- 7. 爲什麼我需要使用超時?
- 8. 執行visual studio 2005網絡測試需要什麼?
- 9. 什麼是QTcpSocket在網絡過載時的行爲?
- 10. 爲什麼我們需要網絡套接字?
- 11. 爲什麼Laravel認證需要'網絡'後衛?
- 12. MySQL連接器網絡爲什麼我們需要它?
- 13. 爲什麼卷積網絡需要多個特徵映射?
- 14. 爲什麼iOS網絡服務呼叫需要IP地址?
- 15. 爲什麼神經網絡需要權重和偏差?
- 16. SQL Server查詢需要超過50秒才能執行
- 17. 什麼我需要運行哨兵我的Django的網站
- 18. 查詢查詢運行超過5秒
- 19. Perl:如何在X秒後獲取IO :: Socket :: INET超時?
- 20. 爲什麼我需要一個需要實例的方法?
- 21. 爲什麼SQL過程需要3秒。在SSMS中,C#中的分鐘數
- 22. MongoDB - 運行setFeatureCompatibilityVersion需要什麼特權?
- 23. 爲什麼我的網站超時運行JMeter負載測試
- 24. 爲什麼我需要在has_devel()= TRUE之前運行find_rtools()?
- 25. 爲什麼Android服務需要在UI線程上運行?
- 26. 爲什麼chromecast需要互聯網?
- 27. 爲什麼Gradle需要頻繁上網?
- 28. 休息,如果方法需要超過30秒的時間來執行
- 29. 爲什麼要對卷積神經網絡進行預訓練
- 30. 爲什麼運行python文件不需要執行權限?