- 如今在某些方面TCP超越UDP的主要原因如下
- 在硬件层面的TOE(TCP Offload Engine)功能,将越来越多的TCP功能卸载到网卡上。它极大地提升了TCP的性能,使其在高吞吐量场景下的表现更为出色。
- 近年TCP的拥塞控制算法实现了显著进步。这些新算法显著提高了TCP在高延迟环境下的通信效率,进而使TCP在长距离传输上逐渐夺回了优势。
- 另外,TCP本身的拥塞控制和流量控制,具有的可靠性传输,也让其具有了更广泛的适用性。
- TSO/GSO/GRO
- TSO(TCP Segmentation Offload)TSO 是一种网络技术,旨在减轻主机 CPU 的负载,提高网络传输性能。在传统情况下,主机上的 TCP 协议栈需要将应用层的大块数据分段成适合网络传输的小块数据,这个过程称为分段(segmentation),然后将这些分段发送到网络。TSO 允许网络适配器(NIC)负责执行分段操作,而不是由主机 CPU 完成。因此,主机 CPU 可以将大量的计算工作交给 NIC 完成,从而降低了主机 CPU 的负载。
- GSO(Generic Segmentation Offload)和GRO(Generic Receive Offload)与TSO相类似,GRO减轻主机 CPU 的负载和提高网络接收性能。在传统情况下,接收到的网络数据包需要在主机 CPU 上进行重组和排序,然后传递给网络协议栈进行进一步处理。GRO 允许网络适配器在接收数据包时执行重组和排序操作,而不是由主机 CPU 完成。这样可以减轻主机 CPU 的负载,提高网络接收性能。
- 10.254.2.13à10.254.1.11
-
yudt@ubuntu:~/workspace/bugs$ sudo ethtool -K eno1 tso off gso off gro off(下面左图)
yudt@ubuntu:~/workspace/bugs$ sudo ethtool -K eno1 tso on gso on gro on (下面右图)