Sender Buffer

因为 TCP 是一个可靠的协议,这就意味着它要保证发送的每一个 byte 都被 ACK,并不是发送出去就可以了。所以 sender buffer,不光是发送端程序将要发送的内容传送给 Kernel,Kernel 还要在 sender buffer 中存储这些数据,直到被接收端 ACK。 Buffer 需要多大才会不成为瓶颈呢?就是足够大能存放住所有未被 ACK 的数据。那么没有被 ACK 的数据最大是多大呢?其实就是 BDP。 比如带宽是 10Mib/s, RTT 是 1s,那么 BDP 就是 10Mib/s * 1s = 10Mib,这个连接上最多可能有 10Mib 的数据没有被 ACK,发送端的容量必须比这个大才行