TCP/IP

http://serverfault.com/questions/340223/troubleshoot-large-number-of-tcp-retransmits-dup-ack-segment-lost

 

You are receiving the following packages:

  1. TCP Retransmits
  2. Duplicate ACK
  3. Segment lost

If you receive a TCP retransmit, this is because the ACK you have sent was not received by the server. The server was not aware the TCP packet was received, thinks it was lost underway and will send it again.

The duplicate ACK is typically received at the Sender in the following scenario:

  • Receiver receives packet 1
  • Receiver sends ACK for packet 1
  • Receiver receives packet 3
  • Receiver sends ACK for packet 1 (maximum packet sequence number received). This is a Duplicate ACK for the Sender.
  • Receiver receives packet 4
  • Receiver sends ACK for packet 1 (maximum packet sequence number received). This is a Duplicate ACK for the Sender.

The third error (Segment Lost) is exactly this scenario, but at the Receiver side. It indicates packet 3 was received before packet 2.

All these errors indicate congestion: somewhere along the way packets are dropped. This can have a lot of causes, so we really need a good indication of your network architecture to be able to tell you what the cause is.

Normally, congestion is not a bad thing. TCP is made to automatically adjust to this scenario, increasing transfer rate until packet drops / slowdown starts to occur. The fact that congestion poses problems here can have a number of different causes:

  1. Your network is so congested it cannot handle the minimum required transfer rate for RDP. This would be the case for a 2G cell phone connection.
  2. The algorithms in server or client are badly configured. Some ADSL "optimizer" programs can cause this, messing with the parameters of the Vegas TCP algorithm in Windows.
  3. There is some other error (very high load on server or client, bad firmware/driver for network card, ...)

posted on   暖风的风  阅读(220)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器

导航

点击右上角即可分享
微信分享提示