TCP有一个传输效率的公式:

Delivery Rate = CWND / RTT

CWND

拥塞窗口大小,以字节为单位。

* 在没有出现拥塞时,CWND = 对端通告window大小

* 出现拥塞时,CWND 受本端拥塞算法控制,原则上<=带宽最大值*RTT

RTT

TCP报文一来一去的延迟,以秒为单位。

如果想

充分利用100M带宽,需要尽可能增加CWND大小,而在没有拥堵时,等于对端advertised window (对端缓存)的大小

假定RTT时间是基本不变的。

为何TCP多线程可以充分利用带宽

变相增加对端的缓存大小。

为何UDP可以充分利用带宽

因为UDP没有拥塞机制,应用程序发送的速率 = 链路的最大带宽。