2

linux kernel 2.6.32 中 tcp_abc 的实现如下:

323     /* RFC3465: ABC
324      * We MAY increase by 2 if discovered delayed ack
325      */
326     if (sysctl_tcp_abc > 1 && tp->bytes_acked >= 2*tp->mss_cache)
327         cnt <<= 1;

如果我理解正确的话,它可以处理延迟 ack,最多只有两个 mss 聚合。但是当多个 ack 数据包被 LRO/GRO 聚合在一起时,这种实现效果很差。

所以我的问题是:

  1. tcp_abc 会受 Linux 中的 LRO/GRO 影响吗?
  2. 有什么办法可以解决吗?
4

0 回答 0