TCP在没有采用pacing rate的方式(即将要发送的报文以一定的速率慢慢地发送)发送速率时,可能会出现一次性发送大量数据的情况(burstiness)。
那么在什么情况下TCP发送端会一次性发送大量数据呢?这里有两种情况。
第一种,接收方为了节约带宽,在收到N个报文后才发送一个ACK(累计ACK,ACK Compression),该ACK报文一次性向发送端确认了多个报文的接收。当发送端接收到该ACK后,就会一次性发送多个报文。
第二种,发送端暂时没有数据要传输而导致了发送窗口有大量的空余。此时,当应用层需要传输数据时,发送端就会一次性将多个报文传输出去。
发送端以burstiness发送报文可能会总造成路由器交换机的大的队列,从而导致了高的延时,不利于实时性应用。