首页 > 编程知识 正文

sack选项,tcp的拥塞控制算法分别是

时间:2023-05-06 06:37:19 阅读:111049 作者:4969

基本的TCP ACK说“到x .为止已经收到了所有的字节”。 在选择性ACK中,可以说“收到了字节X-Y和V-Z”。

因此,例如,如果主机发送了10,000个字节,并且在传输过程中丢失了3000-5000个字节,ACK将说“我所有的内容都达到了3000个”。 另一端必须再次发送字节5001-10000,可以说是“得到了1000-2999和5001-10000”

这在高带宽、有损耗(或高延迟)的链路上非常有用。 问题是在特定情况下可能会引起严重的性能问题。 普通的TCP ACK要求服务器处理带儿童手套的高带宽、有损连接(发送500字节、等待、发送500字节、等待等)。 SACK可以准确地知道实际丢失了多少包,从而应对高延迟。

这是可能发生坏事的地方。 攻击者可以让你的服务器长时间保持巨大的重发队列,一次又一次地处理该狗屎。 这可能会占用CPU、占用内存,并消耗过多的带宽。 简单来说,轻量级系统可以向更强大的服务器启动DoS。

如果服务器功能强大且不提供大型文件,则可以完全避免这种情况

如果您主要服务于内部网或其他低延迟用户组,SACK不会为您购买任何东西。 此外,出于安全原因,可以关闭而不影响性能。

如果使用低带宽链路(例如,使用1Mbps或更低的完全随意的经验法则),则SACK可能会导致连接饱和,从而导致正常操作问题,必须关闭。

毕竟,这取决于你。请考虑一下对你所服务的对象、对象的对象以及SACK性能的影响的风险程度。

有SACK及其漏洞here的概要。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。