Sockets TCP连接建立=如何基于Ping RRT测量时间?
如果我有Ping RoundTripTip,了解建立TCP连接需要多长时间,我将非常感谢您的帮助: 根据维基百科,TCP连接将分三步建立:Sockets TCP连接建立=如何基于Ping RRT测量时间?,sockets,Sockets,如果我有Ping RoundTripTip,了解建立TCP连接需要多长时间,我将非常感谢您的帮助: 根据维基百科,TCP连接将分三步建立: 1.SYN-SENT (=>CLIENT TO SERVER) 2.SYN/ACK-RECEIVED (=>SERVER TO CLIENT) 3.ACK-SENT (=>CLIENT TO SERVER) 我的问题是: 是否正确,第三次传输(ACK-SENT)尚未携带任何有效载荷(我的数据),但仅用于建立连接。(由此得出结论,第四个pa
1.SYN-SENT (=>CLIENT TO SERVER)
2.SYN/ACK-RECEIVED (=>SERVER TO CLIENT)
3.ACK-SENT (=>CLIENT TO SERVER)
我的问题是:
汤姆
< P>这些基本上是正确的,虽然α2假定往返时间是对称的。 < P>来测量这个,称为“时间到SYN/ACK”(这不是建立连接的时间-在该状态下连接只是半开的,需要第三个包确认建立起来考虑它建立),您通常需要包含自己的TCP堆栈的专业工具,以实现这种测量。最常用的一种称为,但也有或BreakingPoint Systems box(BPS现已被Ixia btw收购) 请注意,是的,第三个数据包没有任何数据,前两个数据包也是如此。它们只有Syn和Syn+Ack标记(这些是TCP标记),不包含任何应用程序数据。这种初始交换称为三方握手,因此会产生一些开销,这就是为什么TCP通常不用于实时应用程序(语音、实时视频等)的原因同样如上所述,您不能假设延迟=RTT/2。事实上,在第3层(IP)之上测量单向延迟是非常复杂的,您已经在第4层(TCP)了。这篇博文详细介绍了这一挑战:+1。互联网上的路由通常很少是对称的。在企业内部,情况就不同了。如果您可以测量到主机的ping时间,为什么不同时测量连接呢?基本上,您只需在代码中为connect调用计时。