![TCP 窗口大小分配、TCP 窗口零错误和网络延迟](https://linux22.com/image/641246/TCP%20%E7%AA%97%E5%8F%A3%E5%A4%A7%E5%B0%8F%E5%88%86%E9%85%8D%E3%80%81TCP%20%E7%AA%97%E5%8F%A3%E9%9B%B6%E9%94%99%E8%AF%AF%E5%92%8C%E7%BD%91%E7%BB%9C%E5%BB%B6%E8%BF%9F.png)
我的脑子快要爆炸了,因为每个人都在指责网络人员造成网络断开和缓慢,但 Solarwinds 报告称,网络设备和链接的所有利用率都正常。所以我尝试嗅探,然后得到了“零窗口”错误。因此,请允许我问一下:
1.) TCP 窗口大小如何分配?(是否按 TCP 对话进行,例如如果您有 1 个应用程序(Mozilla Firefox)并打开了 5 个选项卡,则操作系统会按每个选项卡分配窗口大小?)
2.) 什么原因导致“TCP 零窗口”问题以及如何修复它?(股票交易服务器在处理突发流量和向交易员发送 TCP 零窗口消息时遇到了困难,但基于 Solarwinds 中的网络利用率(网络设备的 CPU、内存和链路利用率)以及股票交易服务器和数据库服务器中的性能监控(CPU、磁盘空间、内存、NIC 利用率),它表明这完全正常,甚至利用不足!)
3.) 它是否可能在交易服务器的设置中?(32 GB 内存,但仅使用 64 MB 的默认 tcp 窗口分配大小)
4.) 交易应用程序处理数据的速度是否有问题?(我计划将 TCP 缓冲区大小从 64KB 增加到 256KB,但如果交易应用服务器本身处理数据很慢,这可能无济于事。)
5.) 此外,所有交易者都遇到了“无法连接到交易服务器”和“间歇性连接”错误。(但没有“链接断开”或“链接充分利用”等网络问题的报告。我甚至尝试将轮询数据更改为每 1 分钟一次以捕获短暂的断开连接,但我仍然没有发现任何问题)所以我认为可能存在延迟问题
6.) 如何有效地测量网络通信的延迟?您推荐哪些免费和付费软件解决方案?(Traceroute 报告 4ms,即使我将 ping 数据包增加到 1mb,它也会显示 1-3ms 的延迟,所以我认为这没用)
7.) 如果源端口和目标端口相同且数据被加密,如何整理每个 TCP 线程/对话?(例如,如果股票交易服务器和 SQL 服务器在相同的端口号上通信但有多个交易正在进行。)
抱歉,我刚进入网络世界,所以有很多东西我不知道,也无法在书籍和其他资源中找到。我认为这类事情是通过经验来学习的,所以请分享你的智慧。
谢谢你,有一个美好的一天! :)