Omnet++ 在INET中,为什么ARPTest示例网络运行时间超过500秒?

Omnet++ 在INET中,为什么ARPTest示例网络运行时间超过500秒?,omnet++,arp,inet,Omnet++,Arp,Inet,在运行于OMNeT++之上的INET示例项目“ARPTest”中,似乎有1兆字节的数据通过带宽为512 Mb/s和100 Mb/s的以太网电缆从三台主机中的每台主机传输到服务器。在现实生活中,这种数据传输似乎不到一秒钟。但是,当全速运行模拟时,模拟运行500虚拟秒,但仍未完成。有人能解释关于模拟器时间的差异吗,或者我遗漏了什么 首先,始终检查日志输出,以查看模拟实际在做什么。在快速模式下运行模拟的问题是日志输出被跳过,因此您看不到实际发生的情况 现在,看看你的问题,在模拟时间和数据传输的实际传输

在运行于OMNeT++之上的INET示例项目“ARPTest”中,似乎有1兆字节的数据通过带宽为512 Mb/s和100 Mb/s的以太网电缆从三台主机中的每台主机传输到服务器。在现实生活中,这种数据传输似乎不到一秒钟。但是,当全速运行模拟时,模拟运行500虚拟秒,但仍未完成。有人能解释关于模拟器时间的差异吗,或者我遗漏了什么


首先,始终检查日志输出,以查看模拟实际在做什么。在快速模式下运行模拟的问题是日志输出被跳过,因此您看不到实际发生的情况

现在,看看你的问题,在模拟时间和数据传输的实际传输时间之间没有差异

500秒模拟时间由模拟时间限制决定,模拟时间限制通过
sim time limit=500秒在
omnetpp.ini
中设置。 OMNeT++将在500秒模拟时间停止模拟,而不考虑要处理的其他事件

为了完整起见,我将发布ARP测试的最终日志输出:

** 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.
**Event#385441 t=5.831682347368 ARPTest.server.tcp(tcp,id=257)on ACK(inet::tcp::TCPSegment,id=499229)
详细信息(TCP)ARPTest.server.TCP:应用程序[0]上的连接10.0.0.14:1000到10.0.0.1:1025,最后一次确认中的connId=8
信息(TCP)ARPTest.server.TCP:Seg到达:.1025>.1000:ack 2347163 win 7504
详细信息(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
详细信息(TCP)ARPTest.server.TCP:在数据传输状态下处理ACK
详细信息(TCP)ARPTest.server.TCP:ACK确认我们的FIN
信息(TCP)ARPTest.server.TCP:从段更新发送窗口:new wnd=7504
信息(TCP)ARPTest.server.TCP:ACK确认所有未完成的段,取消REXMIT计时器
信息(TCP)ARPTest.server.TCP:cwnd已关闭(事件为:RCV_ACK)
调试(TCP)ARPTest.server.TCP:TCP:LAST_ACK-->已关闭(在RCV_ACK上)
信息(TCP)ARPTest.server.TCP:通知应用程序:已关闭
信息(TCP)ARPTest.server.TCP:删除TCP连接
**事件#385442 t=5.831682347368 ARPTest.server.tcpApp[0](TCPEchoApp,id=256)关闭(omnetpp::cMessage,id=499231)
**selfmsg 2MSL(omnetpp::cMessage,id=87)上的事件#385443 t=245.831667258618 ARPTest.client.tcp(tcp,id=30)
详细信息(TCP)ARPTest.client.TCP:应用程序[0]上的连接10.0.0.1:1025到10.0.0.14:1000,connId=7及时\u等待
详细信息(TCP)ARPTest.client.TCP:2MSL计时器已过期
信息(TCP)ARPTest.client.TCP:转换:时间等待-->关闭(事件为:超时)
调试(TCP)ARPTest.client.TCP:TCP:TIME_WAIT-->关闭(超时时)
信息(TCP)ARPTest.client.TCP:删除TCP连接
**事件#385444 t=500端模拟(omnetpp::cEndSimulationEvent)
达到模拟时间限制——t=500秒时,事件#385444
**调用模块的finish()方法
INFO(TCPSessionApp)ARPTest.client.tcpApp[0]:ARPTest.client.tcpApp[0]:ARPTest.client.tcpApp[0]:收到3447个数据包中的2097152字节
信息(TCP)ARPTest.client.TCP:ARPTest.client.TCP:ARPTest.client.TCP:在打开0个连接的情况下完成。
信息(TCP)ARPTest.server.TCP:ARPTest.server.TCP:ARPTest.server.TCP:在1个连接打开时完成。
在日志输出中,您可以清楚地看到大约5.83秒,数据传输的最后确认到达,TCP连接最终关闭。之后,计时器将在245秒左右过期,500秒时,模拟退出(由于模拟时间限制)


模拟将继续进行,直到所有计时器用完或无需处理进一步的事件为止(无论本例的第一种情况是什么)。

首先,始终检查日志输出,以查看模拟实际执行的操作。在快速模式下运行模拟的问题是日志输出被跳过,因此您看不到实际发生的情况

现在,看看你的问题,在模拟时间和数据传输的实际传输时间之间没有差异

500秒模拟时间由模拟时间限制决定,模拟时间限制通过
sim time limit=500秒在
omnetpp.ini
中设置。 OMNeT++将在500秒模拟时间停止模拟,而不考虑要处理的其他事件

为了完整起见,我将发布ARP测试的最终日志输出:

** 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.
**Event#385441 t=5.831682347368 ARPTest.server.tcp(tcp,id=257)on ACK(inet::tcp::TCPSegment,id=499229)
详细信息(TCP)ARPTest.server.TCP:应用程序[0]上的连接10.0.0.14:1000到10.0.0.1:1025,最后一次确认中的connId=8
信息(TCP)ARPTest.server.TCP:Seg到达:.1025>.1000:ack 2347163 win 7504
详细信息(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
详细信息(TCP)ARPTest.server.TCP:在数据传输状态下处理ACK
详细信息(TCP)ARPTest.server.TCP:ACK确认我们的FIN
信息(TCP)ARPTest.server.TCP:从段更新发送窗口:new wnd=7504
信息(TCP)ARPTest.server.TCP:ACK确认所有未完成的段,取消REXMIT计时器
信息(TCP)ARPTest.server.TCP:cwnd已关闭(事件为:RCV_ACK)
调试(TCP)ARPTest.server.TCP:TCP:LAST_ACK-->已关闭(在RCV_ACK上)
信息(TCP)ARPTest.server.TCP:通知应用程序:已关闭
信息(TCP)ARPTest.server.TCP:删除TCP连接
**事件#385442 t=5.831682347368 ARPTest.server.tcpApp[0](TCPEchoApp,id=256)关闭(omnetpp::cMessage,id=499231)
**selfmsg 2MSL(omnetpp::cMessage,id=87)上的事件#385443 t=245.831667258618 ARPTest.client.tcp(tcp,id=30)
详细信息(TCP)ARPTest.client.TCP:应用程序[0]上的连接10.0.0.1:1025到10.0.0.14:1000,connId=7及时\u等待
详细信息(TCP)ARPTest.client.TCP:2MSL计时器已过期
信息(TCP)ARPTes