Page 32 - Web性能权威指南
P. 32
户数据报协议)或者其他可用协议来发送 HTTP 消息。但在现实当中,由于 TCP 提
供了很多有用的功能,几乎所有 HTTP 流量都是通过 TCP 传送的。
因此,理解 TCP 的某些核心机制就成为了优化 Web 体验的必修课。虽然我们一般
不会直接使用 TCP 套接口,但应用层的一些决定可能会对 TCP 以及底层网络的性
能产生极大影响。
TCP 和 IP 协议的历史
我们都知道有 IPv4 和 IPv6,那 IPv1~3 和 IPv5 呢? IPv4 中的 4 表示 TCP/IP 协议的第 4
个版本,发布于 1981 年 9 月。最初的 TCP/IP 建议中同时包含两个协议,但标准草案
第 4 版将这两个协议分开,使之各自成为独立的 RFC。实际上,IPv4 中的 v4 只是表
明了它与 TCP 前 3 个版本的承继关系,之前并没有单独的 IPv1、IPv2 或 IPv3 协议。
1994 年,当工作组着手制定 Internet Protocol next generation(IPng)需要一个新版
本号时,v5 已经被分配给了另一个试验性协议 Internet Stream Protocol(ST)。但
ST 一直没有什么进展,这也是我们为什么很少听说它的原因。结果 TCP/IP 的下
一版本就成了 IPv6。
2.1 三次握手
所有 TCP 连接一开始都要经过三次握手(见图 2-1)。客户端与服务器在交换应用数
据之前,必须就起始分组序列号,以及其他一些连接相关的细节达成一致。出于安
全考虑,序列号由两端随机生成。
݀ໃ܋ থ܋
ᆌᆩຕ
图 2-1:三次握手
14 | 第 2 章