5.5. TCP SACK 如何降低数据包丢弃率


在 Red Hat Enterprise Linux (RHEL)中默认启用的 TCP Selective Acknowledgment(TCP SACK)功能是 TCP 协议的一种改进,提高了 TCP 连接的效率。

在 TCP 传输中,对于其接收的每个数据包,接收方都向发送方发送一个 ACK 数据包。例如,客户端向服务器发送 TCP 数据包 1-10,但数据包号 5 和 6 丢失了。如果没有 TCP SACK,服务器会丢弃数据包 7-10,客户端必须从丢失点重传所有数据包,这效率较低。如果两个主机上都启用了 TCP SACK,则客户端必须只重传丢失的数据包 5 和 6。

重要

禁用 TCP SACK 会降低性能,并在 TCP 连接中,在接收端造成很高的数据包丢弃率。

RHEL 中默认启用了 TCP SACK。要验证:

# sysctl net.ipv4.tcp_sack
1
Copy to Clipboard Toggle word wrap

如果在您的服务器上禁用了 TCP SACK (0),请以与您设置它的相同方式恢复设置。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat