美文网首页
TCP 窗口 "TCP/IP详解" 第十五章 读书笔记

TCP 窗口 "TCP/IP详解" 第十五章 读书笔记

作者: 再凌 | 来源:发表于2020-10-08 12:13 被阅读0次

    ssh连接每一次的键盘敲击意味着三个数据包: 发送到服务器, 服务器确认并回显, 客户端对回显的确认
    如果客户端输入过快, 可能多个输入放在一个tcp数据包中.

    一般ssh数据包每一个包都是PSH置位的, 意味着发送端发送缓存为空, 没有其他数据

    Nagle算法

    为了减少网络中存在的小型TCP包

    策略:
    在等到所有的ack前不发送数据, 在任意时刻只有一个网络包在传输中

    弊端: 增大了延迟

    如果一端启用了延时ACK, 一端启用了Nagle算法, 那么每一轮传输都有短暂的死锁

    在要求低时延的程序中应该关闭Nagle算法

    滑动窗口

    零窗口

    当产生0窗口的时候, 发送端持续探测, 发送了1字节的数据, 这样可以保证是可靠传输(0字节的包不是可靠传输)

    糊涂窗口综合征

    当接收方有一个小窗口就通告, 导致双方一直以一个很小的窗口传输数据, 导致传输的数据都是小包

    解决方法: 窗口在大到一定程度前都不要再发送数据

    自动调优

    新版的系统会动态变化接受窗口(本地缓存)的大小, 如果能收到对方的包, 就增大自己的缓存, 否则缩小.(类似拥塞控制)

    带外数据

    使用TCP的URG指针来指明特殊数据, 这些数据应当被应用层额外的函数读取, 优先处理.

    eg.

    ssh中的Ctrl+C就应当被优先处理

    相关文章

      网友评论

          本文标题:TCP 窗口 "TCP/IP详解" 第十五章 读书笔记

          本文链接:https://www.haomeiwen.com/subject/frpqpktx.html