Page 438 - 《软件学报》2024年第4期
P. 438

2016                                                       软件学报  2024  年第  35  卷第  4  期


                 时, 如果吞吐量从     48 Mb/s 增长到  200 Mb/s, 则  TACK  机制的  ACK  频率将降低两个数量级      ( f tack = 2.4%· f tcp ) , 而
                 TCP  仅降低了一个数量级. 同时, 如图       22(a) 所示, 吞吐量越大, 拐点对应的      RTT  边界值越小.
                    最后, 往返时延越大, 应用        TACK  机制减少的     ACK  数目越多, 收益越大. 例如, 如图        22(b) 所示, 当  bw =
                 200 Mb/s 时, 如果往返时延从    10 ms 增长到  80 ms, 则  TACK  机制的  ACK  频率将降低  3 个数量级  ( f tack = 0.3%· f tcp ) ,
                 而  TCP  保持不变. 同时, 如图  22(b) 所示, 往返时延越大, 拐点对应的       bw  边界值越小.
                    总结起来, 在大部分情况下, TACK         机制可以显著地减少       ACK  报文的数目. 同时, 容易证明, 如果数据报文小
                 于  MSS, 也可以得到相似的结论.

                             f tcp  (bw=1000 Mb/s)  f tack  (bw=1000 Mb/s)  f tcp  (L=1)  f tack  (RTT=80 ms)
                             f tcp  (bw=100 Mb/s)  f tack  (bw=100 Mb/s)  f tack  (RTT=1 ms)  f tack  (RTT=200 ms)
                             f tcp  (bw=0.1 Mb/s)  f tack  (bw=0.1 Mb/s)  f tack  (RTT=10 ms)  f tack  (RTT=400 ms)
                             10 5
                                                                 10 5      拐点
                                            拐点
                             10 4                                10 4
                            ACK 频率 (Hz)  10 3                    ACK 频率 (Hz)  10 3 2

                                                                 10
                              2
                             10
                                                                 10 1
                                                                 10 0
                             10 1
                                 0.001  0.01  0.1  1  10  20  30  40  50  60  70  80  90  100  0.001  2  5  10  50  100  500  1 000  2 000  3 000
                                           RTT (ms)                            bw (Mb/s)
                                   (a) ACK 频率与往返时延的关系                    (b) ACK 频率与吞吐量的关系

                                         图 22 ACK  频率与往返时延、吞吐量之间的关系

                  4.4.2    TACK  机制在实际网络中的运行结果
                    (1) 实验设置
                    实验运行在基于      IEEE 802.11 b/g/n/ac 的无线链路上, 这些链路的物理速率分别为          11/54/300/866.7 Mb/s. 实验
                 对比对象为应用了       TACK  机制的  TCP  实现, 即  TCP-TACK, 以及采用  Delayed ACK  机制的传统的   TCP. 其中, L =
                 2. 实验过程中, 一台    Wi-Fi 主机  (Intel Wireless-AC 8260, 2 × 2) 通过一台无线路由器  (TLWDR7500) 连接另一台有
                 线的主机. 所有设备均放置在一个公共办公室环境中, 经检测, 峰值情况下, 环境中存在超过                          10  个其他的  Wi-Fi 路
                 由器和超过    100  个无线终端用户. 通过     Ping  进行测试, 发现  RTT  在  4 ms 到  200 ms 之间波动, 且存在少量的突发
                 丢包. 收发双方之间进行打流测试, 测试重复执行了               7×24 h.
                    (2) 实验结果
                    在给出实际的性能结果之前, 我们先进行理论数值分析. 如图                   23(a) 所示, 针对  IEEE 802.11 b  链路, 当  RTT  较
                 小  (RTT=10 ms) 时, TACK  与  TCP  具有相同的  ACK  报文数目. 然而, 针对    IEEE 802.11 ac  链路, 当  RTT  较小
                 (RTT=10 ms) 时, TACK  的  ACK  报文数目相比  TCP  降低了两个数量级, 当      RTT  较大  (RTT=80 ms) 时, TACK  的
                 ACK  报文数目相比    TCP  降低了  3  个数量级. 考虑到当前实际网络很少用到            IEEE 802.11 b  链路, 大部分实际网络
                 的带宽都要高于      IEEE 802.11 b  链路的带宽, 因此, TACK  机制在实际的网络中能够显著地减少            ACK  的数目, 从而
                 有潜力提升网络传输的性能.
                    如图  23(b) 所示, 在实际的基于     IEEE 802.11 b/g/n/ac 链路的网络中, TCP-TACK  相比传统  TCP  减少了  90%  以
                 上的  ACK  数目, 提升了   20%–28%  的吞吐量. TCP-TACK   获得有益效果的原因, 来源于         TCP-TACK  减少了  ACK
                 报文的数目, 从而减少了       ACK  报文与数据报文之间的频谱资源竞争, 从而提升了可用带宽.
                    针对前面讨论的      ACK  机制面临的问题和挑战, 我们进一步探究             TACK  机制在时延抖动和反向丢包场景下的
                 性能. 图  24(a) 给出了时延抖动下的      TACK  机制性能举例. 在这个实验中, 实际最小          RTT  为  100 ms, 蓝色虚线表示
   433   434   435   436   437   438   439   440   441   442   443