这个链接中 TCP 重传为什么没有起效果

我家里 Macbook Pro 老是上不了 github,但用 windows 却能上。
当然有网络质量差的原因,但既然同路由局域网下的 win10 能上,说明 Mac 也有一些问题。
我用 wireshark 监听了 curl https://github.com 的过程,的确发现一些问题,但自己对TCP了解太少,希望有朋友帮助解答。

下面图中,192.168.0.4 是我的 Mac ip 地址, 192.30.253.113 是 github 的服务器

1, 刚开始三次握手、秘钥交换什么的挺正常
图片描述

2, 到 github 服务开始返回网页数据就开始丢包了(第21行),不过很快触发了一次快速重传(第31行),总体还好。
图片描述

3, 接着鬼畜的地方来了,客户端更新了一次 TCP window, 接着就一直重复请求 Dup ACK=7155,服务器也一点反应没有,自顾自发送网页数据,请问一下,这次怎么就没有快速重传了呢?客户端的 ACK 包全丢了吗?
图片描述

4, 最后,好不容易服务端开始重传 seq=7155 的包了(第71行),但为什么我这边的客户端完全没反应啊?还是一个劲请求 ACK=7155(第72行),这不都到了吗?接下来就一直重复这两种,直到连接结束了,这肯定是哪有问题吧?
图片描述

困扰我好长时间了,完全没头绪,希望哪位给我解惑,不胜感激

阅读 1.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题