文章插图
发送方使用了 Nagle 算法 , 接收方使用了 TCP 延迟确认会发生如下的过程:
- 发送方先发出一个小报文 , 接收方收到后 , 由于延迟确认机制 , 自己又没有要发送的数据 , 只能干等着发送方的下一个报文到达;
- 而发送方由于 Nagle 算法机制 , 在未收到第一个报文的确认前 , 是不会发送后续的数据;
- 所以接收方只能等待最大时间 200 ms 后 , 才回 ACK 报文 , 发送方收到第一个报文的确认报文后 , 也才可以发送后续的数据 。
很明显 , 这两个同时使用会造成额外的时延 , 这就会使得网络"很慢"的感觉 。
要解决这个问题 , 只有两个办法:
- 要不发送方关闭 Nagle 算法
- 要不接收方关闭 TCP 延迟确认
参考资料:
[1] Wireshark网络分析的艺术.林沛满.人民邮电出版社.
[2] Wireshark网络分析就这么简单.林沛满.人民邮电出版社.
[3] Wireshark数据包分析实战.Chris Sanders .人民邮电出版社.读者问答
【一文教会实战网络抓包和分析包】
推荐阅读
- 一文说清“保障房” 保障房是什么?
- 坏男孩教会我的17件事 那些坏男人教我的事
- 一文了解高岭土加工技术及特点 高岭土成分
- 教你一文看懂股票涨幅榜 股票涨幅怎么算
- |一文读懂办公室工作忌讳!
- 一文带你了解什么是Quora广告
- 私域实战|5000字精华,讲透私域社群运营!
- 一文读懂IP地址和MAC地址有什么区别和联系 mac地址是什么
- 如何教会孩子认识钟表 认识钟表课件
- 如何带领“钢铁直男”,教会他成为你心中的暖男!