什么是TCP连接的开销流量(加上TCP澄清)?

时间:2016-01-25 10:58:26

标签: sockets tcp network-traffic

我们有TCP连接。

  1. 没有发送任何内容;为保持该连接打开,每秒需要多少流量(字节)?
  2. 从南美洲的客户端到北欧的服务器打开连接的持续时间是多少?
  3. 如果我必须以x秒的间隔发送少量数据(最多256字节),那么最好关闭连接并再次重新打开而不是保持连接始终打开?x
  4. 我不指望确切的数据 - 估计就足够了。

2 个答案:

答案 0 :(得分:3)

1)没有。

2)一段时间。试试看吧。粗略估计,从另一端ping一端并加倍。

3)试试吧。这取决于带宽,更重要的是延迟。这些变化范围很广。通常,保持连接打开会更快,速度更快。以秒为间隔的256字节?我会保持连接打开,特别是在可能具有高延迟的路径上(例如,洲际)。

答案 1 :(得分:2)

1。根据TCP / IP标准,什么都没有。但是,根据网络条件和任何中间件(NAT设备,防火墙等),可能会丢弃没有数据通过的连接。这可能是一个staic超时(例如两分钟,或十分钟,或一小时),或者它可能基于某个设备中最近最少使用的表。

2。这取决于很多因素,最大的延迟可能来自客户的本地网络而不是洲际连接。然而,点之间的地球表面约为40光毫秒,因此(没有TCP快速打开)第一个数据包从客户端到服务器的时间为120毫秒,响应时为40毫秒,80比活动连接中的ms多。

3. 假设没有损坏的中间件,最好保持连接打开。但是,从“静默删除”连接中恢复的延迟可能比打开新连接的时间长得多;它可能适合客户端管理自己的超时(大约一秒左右),并打开一个新连接并重试最后一条消息,如果它还没有得到响应。取决于你发送的东西;事务性消息可能比syslog的远程副本更值得显式快速重试。