# 为什么有时候下载东西一开始很快，后来就越来越慢？

By [cream](https://paragraph.com/@cream) · 2022-10-13

---

答主考完试来更新了~先说正事

1、关于 P2P

P2P 可以简单理解为好多个原回答过程的叠加，但因为每个点的起点，网络环境不同，叠加状态并不同步，故速度也不能确定，使用 P2P 下载的文件（通常都是很大的文件）在下载后期速度变慢的原因主要是【可供分享的资源越来越少】即，已经全部下载完成，拥有所有资源的人一定比刚下载了一部分，拥有一部分已下载资源的人少，所以越到后面分享资源的人越少，所以越慢。可以理解为下载过程中的靡不有初鲜克有终。

2、关于 TCP

然而并不是所有的下载过程都是 P2P 下载，例如题设“下载安卓开发不同版本的 SDK”场景，就是简单的 TCP 下载过程，另外一些常见的场景包括几乎所有的浏览器下载。关于百度云是不是 P2P 下载，有的文件是有的文件不是，P2P 下载的文件有标记。

2.1 TCP 版本问题

TCP 有 30+ 个版本不过大致原理与拥塞控制过程都差不多，可能的差别就是拥塞窗口从 1 还是从 2 开始，加法增加的门限是 24 还是 30 之类，不能将这么多个版本一一列举，但基本的过程都是遵循 AIMD 模型，即加法增加乘法减小。

2.2 现在早就不用 TCP 协议了？

TCP 拥塞控制依旧是最广泛使用的拥塞控制策略，没有之一，也一直有版本的更新。

2.3 加法增加的门限？

自己设定的门限，也与版本有关

2.4 若不丢包会一直增加下去么？

还与接受区域的缓存大小有关，也就是说人家发给你这么多内容，你也得有缓存区域放得下才行，实际上的接收速度是拥塞窗口与缓存窗口两者中的较小那个值。

2.5 一个拥塞窗口传输的文件大小？

差不多 1500KB 左右，也就是一兆多点儿

再说非正事

1、计算机网络及格了么？

这个知识点虽然计算机网络也学到过，但是关于为什么越来越慢是通信网老师讲的，计算机网络 92，通信网 A~

2、刚学完就出来卖弄？

已经毕业了，这个属于基础课，后面学习的是其他方向

最后

欢迎讨论拒绝上来就喷

对于上来就喷的评论：喷完就走真刺激，这种情况答主只能双击 666 了~最烦不说正事只是喷喷喷的人，除了戾气以外什么都没贡献。

对于认真讨论与反驳的答主：谢谢大家的讨论，自己的姿势水平也提高了根据各位的评论又完善了一下回答，原答案不删，因为没错

最后的最后

很开心能够引起讨论与关注

很开心能够帮助到一部分人

很开心各位非专业能看懂我的回答

——————————————————————以下原回答：

不是套路！！！是 TCP 协议的拥塞控制机制导致的！

要理解 TCP 的拥塞控制机制，还得从古老的七层模型说起……

其中 TCP 协议应用于传输层，下载就是传输的一种，而 TCP 传输的速度基本是这样的

其中横坐标是传输次数，纵坐标是“拥塞窗口”数，就是要传输的报文需要先进入这个窗口才能发出去，简单的理解成传输速度就可以了

假设我要在百度云上下载一个文件，以之为例解释一下这个过程。

（A→B 段）

百度云：不知道当前网络环境怎么样，路上堵不堵……不管了发一个报文试试。

我：收到啦收到啦！

百度云：诶呦不错那再发两个试试~

……

百度云：行了行了差不多了可以慢点儿增加了

这一段，起点学名叫做慢开始，后面叫指数增大

（B→C 段）

百度云：加一个

我：收到啦

百度云：再加一个

我：收到啦

百度云：再加一个

我：……

百度云：？ 诶好像堵了= =

这一段，学名叫做，拥塞避免算法，即，加法增大

（C→D 段）

百度云：算了从头开始

这一段叫做，乘法减小，开始新的慢开始，指数增大，但是，只增大到刚刚的一半，就进入拥塞避免阶段啦！（D→E 段，E 纵坐标是 C 的一半）

以上是 TCP Tahoe 版本的传输过程（也是主要考试的内容），然而实际上这个版本太基础了，已经废弃不用了，实际使用的是红线的版本，叫做 TCP Reno（但是这个不考）

红色版本与蓝色版本的区别就是，红色版本的乘法减小并不是直接减到 1 然后重新慢开始，而是采用了效率高一些的“快恢复快重传”算法，也就是乘法减小至原来的一半（C→F 段，F 是 C 的一半）然后直接开始加法增大。这样可以看到比原来的蓝色版本稍微快了一点。

但下载还是很慢啊怎么办，关于这点老师的说法是，自己手动暂停一下，再重新开始下载，就又能享受一次第一次的指数增加加法增加的速度，不然后面一直减半减半减半就会越来越慢越慢越慢………………

以上都是与 TCP 协议有关的理论因素，其他因素还包括加速器啊下载器啊什么的

最后，这篇回答叫做：“为什么有时候下载东西一开始很快，后来就越来越慢”回答暨通信网理论基础课程复习笔记

---

*Originally published on [cream](https://paragraph.com/@cream/RLI0HCFvhZ8LawQlk0Be)*
