# Chapter 1: 简介

互联网可以毫无疑问的被认为是一项工程上的成功。今天，它连接了数十亿个设备，支持所有能想象的到的通信程序，并且兼容从每天数十 bit 到每秒数百 Gigabits 的各种速率。互联网的核心是一个棘手的技术挑战，在过去30多年来一直受到来自试图让互联网表现的更好的从业者和希望理解其数理基础的理论家的广泛关注。这个核心的挑战就是：如何将资源最好地分配给所有竞争使用互联网的相关者。

对于任何计算机系统来说，资源分配都是个难题，对于像互联网这样一个复杂的系统来说，更是难上加难。互联网资源分配的问题在 1980 年代初 TCP/IP 协议栈刚刚部署时并不严重，但是到了 1980 年代末，随着互联网在大学中的重度使用（当时甚至还没有 World Wide Web），网络开始经历了一种叫做拥塞崩溃（congestion collapse）的现象。一种解决方案——拥塞控制——在1980 年代末开发并部署，立即解决了危机。从那以后，互联网社区就开始研究并优化拥塞控制方法。本书将讲述这段历程。

早期最著名的有关拥塞控制的工作由两位研究人员：Van Jacobson 和 Mike Karels 提出。相关论文：*Congestion Avoidance and Control，*&#x5728;1988年发表，是网络领域引用的最多的论文之一。论文之所以有这么高的影响力，有很多原因：

* 当时拥塞崩溃的确威胁到了初生的互联网，而论文中的工作对于互联网的最终成功具有基础性意义。没有论文中的工作，我们不太可能有如今的全球互联网。
* 另一个原因是，拥塞控制在过去 30 年是一个硕果累累的研究领域。拥塞控制，或者更宽泛的说资源分配，有着广泛的设计空间以及足够的创新领域。不过这几十年来的研究和实现都还是基于早期的基础（注，所以说明最初的论文被引用的次数多），并且可以合理推断，只要互联网还存在，针对已有方案的改进和新方法还会继续出现。

本书中，我们将会探讨互联网中拥塞控制的设计选择，并展示过去 30 年间开发出来的管理拥塞和规避拥塞一些主要方法。

*更多阅读：V. Jacobson.* [*Congestion Avoidance and Control*](https://dl.acm.org/doi/10.1145/52324.52356)*. ACM SIGCOMM ‘88 Symposium, August 1988.*
