zoukankan      html  css  js  c++  java
  • TCP implements its own acknowledgment scheme to guarantee successful data delivery

    wTCP本身已经确保传输的成功性。

    HTTP The Definitive Guide

    4.2.4 Delayed Acknowledgments
    Because the Internet itself does not guarantee reliable packet delivery (Internet routers are free to
    destroy packets at will if they are overloaded), TCP implements its own acknowledgment scheme to
    guarantee successful data delivery.
    Each TCP segment gets a sequence number and a data-integrity checksum. The receiver of each
    segment returns small acknowledgment packets back to the sender when segments have been received
    intact. If a sender does not receive an acknowledgment within a specified window of time, the sender
    concludes the packet was destroyed or corrupted and resends the data.

    Because acknowledgments are small, TCP allows them to "piggyback" on outgoing data packets
    heading in the same direction. By combining returning acknowledgments with outgoing data packets,
    TCP can make more efficient use of the network. To increase the chances that an acknowledgment
    will find a data packet headed in the same direction, many TCP stacks implement a "delayed
    acknowledgment" algorithm. Delayed acknowledgments hold outgoing acknowledgments in a buffer
    for a certain window of time (usually 100-200 milliseconds), looking for an outgoing data packet on
    which to piggyback. If no outgoing data packet arrives in that time, the acknowledgment is sent in its
    own packet.
    Unfortunately, the bimodal request-reply behavior of HTTP reduces the chances that piggybacking
    can occur. There just aren't many packets heading in the reverse direction when you want them.
    Frequently, the disabled acknowledgment algorithms introduce significant delays. Depending on your
    operating system, you may be able to adjust or disable the delayed acknowledgment algorithm.
    Before you modify any parameters of your TCP stack, be sure you know what you are doing.
    Algorithms inside TCP were introduced to protect the Internet from poorly designed applications. If
    you modify any TCP configurations, be absolutely sure your application will not create the problems
    the algorithms were designed to avoid.

  • 相关阅读:
    计算机中丢失MSVCP110.dll
    应用程序无法正常启动0xc000007b
    查看80端口被占用
    重装系统后搭建php环境
    修改、设置root密码
    安装虚拟机时出现The Microsoft Runtime DLL
    linux网络配置
    Java拾遗
    哈希中的那些序问题
    笔记本电脑安装jupyterthemes
  • 原文地址:https://www.cnblogs.com/rsapaper/p/6360343.html
Copyright © 2011-2022 走看看