有人遇到过tcp的zerowindow问题么?跪求各位大神指点迷津~~ 200送上
在有些情况下,一些客户端连上来以后,会发生zerowindow的问题.
于是,我把发送策略改了一下. 情况有所好转.但不能彻底解决问题.
之前的发送方式是(方案A),数据包先进缓冲,一次投递过程结束后/缓冲满以后,再整体投递到网络上.
现在的发送方式是(方案B),数据包先投递,如果没有发送完全,则放到缓冲等待下次投递过程.
这两种方式产生的区别是.当一个视频帧被拆分成多个数据包投递时.方案A会把几个视频包一起投递.而方案B则尽可能的把数据包分别投递,但无法避免合并投递的问题.整个过程用wireshark分析后,并没有发现错误数据包.应该不存在数据处理逻辑的错误.
按理说,客户端发生zerowindow是因为客户端收数据不及时,或发送数据太多导致.当zerowindow后,发送端会等待接收端收取数据.
但是,当发生这个问题以后,客户端就再以不处理数据了,一直处于zerowindow状态.于是,服务器就一直死等.直到超时断开链接.
我在网上搜索,发现也有人遇到过这种问题,但最后解决了...不知道是如何解决的?似乎还有人说,出现zerowindow后,他select不到事件了...
怎奈,客户端是现成的...没法调试,更没法修改.
还有什么原因,会造成这种问题呢?
跪求各位大神指点迷津~~
相关推荐
wireshark高级分析1
这对于诊断流量控制或拥塞控制问题很有用。要深入了解这个主题,可以参考Wireshark的文档:http://www.wireshark.org/docs/dfref/t/tcp.html3.
Wireshark 实战分析 TCP 滑动窗口与流量控制:3 个真实网络包案例解读
本文通过Wireshark工具分析三个真实网络抓包案例,深入解析TCP滑动窗口与流量控制的工作机制。从基础观测到Zero Window诊断,再到性能优化建议,全面展示如何利用Wireshark诊断和解决TCP流量控制问题,提升网络通信效率。
Wireshark 4.2 实战:5种TCP异常标记(重传/乱序/窗口)根因定位与修复
本文基于Wireshark 4.2版本,深入解析五种典型TCP异常标记(重传、乱序、零窗口等)的根因定位方法,并提供可落地的解决方案。通过量化指标分析、决策树构建和实战案例演示,帮助工程师快速定位网络瓶颈,提升报文分析效率。
Wireshark 4.2 实战:3分钟定位以太网帧、IP包、TCP/UDP段结构差异
本文通过Wireshark 4.2实战演示,详细解析以太网帧、IP包与TCP/UDP段的结构差异,帮助网络工程师快速定位通讯问题。文章涵盖协议分析工具的价值、以太网帧结构、IP数据包分片机制及传输层协议对比,提供实用的过滤技巧和故障排查方法,提升网络故障诊断效率。
Wireshark实战:TCP协议深度解析与网络故障排查指南
网络协议是互联网通信的基石,其中TCP(传输控制协议)作为面向连接、可靠传输的核心协议,承载了绝大部分网络流量。其工作原理基于序列号、确认应答和滑动窗口等机制,通过三次握手建立连接、四次挥手终止连接,并利用流量控制和拥塞控制确保数据传输的可靠性与效率。掌握TCP协议对于网络性能优化、故障诊断具有重要价值,尤其在分析网络延迟、连接中断、吞吐量不足等场景时不可或缺。通过Wireshark这一专业的网络封包分析工具,工程师可以直观地捕获和解析流经网卡的原始数据包,将抽象的协议原理转化为可视化的字节流。例如,在排查


