一、TCP概述
-
点对点:一个发送方,一个接收方。
-
可靠的、按序的字节流
-
流水线机制:TCP拥塞控制和流量控制设置窗口尺寸。
-
发送方/接收方缓存
-
全双工(full-duplex):同一连接中能够传输双向数据流。
-
面向连接
- 通信双方在发送数据之前必须建立连接;
- 连接状态只在连接的两端中维护,在沿途节点中并不维护状态;
- TCP连接包括:两台主机上的缓存、连接状态变量、socket等。
-
流量控制机制
二、TCP:序列号和ACK
序列号
- 序列号指的是segment中第一个字节的编号,而不是segment的编号
- 建立TCP连接时,双方随机选择序列号
ACKs
- 希望接收到的下一个字节的序列号
- 累计确认:该序列号之前的所有字节均已被正确接收到
问题:接收方如何处理乱序到达的segment?
- TCP规范中没有规定,由TCP的实现者做出决策