TCP低延时传输情景杂记

如以下拓扑:
在这里插入图片描述
有以下需求:

  • 使用TCP协议将数据从A经由B送达C。
    问:
  • B作为何种角色延迟最低。

B做IP路由器不可行,因为A和C无法控制IP报文一定经过B,端到端控制不了路由。

若B做TCP代理,可行,但会有问题。

问题在A-B,B-C的共享路径B-R。若此段拥塞,A到C延时将比B作为IP路由时A到C延时加倍,甚至不止。Why?

假设B到R方向拥塞,将产生A-B连接B到A的ACK排队延时,同时产生B-C连接B到C的Data排队延时,这就加倍了。

若A到C直接建立端到端TCP连接,排队延时只有一个。有人说ACK不会排队,可不能保证。

共享路径属于物理布线以及IP路由范畴,TCP层面无法避开,那怎么办?

方法就是在A到B和B到C间搭UDP隧道,A到C之间经由两段隧道直接建立端到端连接。偶尔但不经常,可以让你的UDP隧道不仅仅“尽力而为”盲传,还能加小料,如FEC,ARQ。但太复杂不优雅,不好。

我之前说过分段TCP隧道可采用不同拥塞控制策略,但存在共享路径时,使用TCP隧道不好,可用UDP搭隧道。要灵活。

浙江温州皮鞋湿,下雨进水不会胖。

猜你喜欢

转载自blog.csdn.net/dog250/article/details/123933565