十七章:TCP-传输控制协议
本章介绍TCP头部
(1)TCP头部:
20字节IP头部+20字节TCP头部+TCP数据
---------------------
TCP报文段
(2)TCP头部:
《1》源目端口号:每个16位,用于寻找发端和收到的应用程序
伯克利版socket:定义了IP+端口号,主要为客户端----接收端应用程序建立连接
《2》seq:32位,表示这个报文段中的某个数据字节。seq的范围是从2的32次方-1之后又从0开始。
-1这一位主要是计算机或设备的ISN(初始序号),没当设备发送数据报文时,会以”ISN+传输字节大小“的形式来增加;
《3》ack:32位,每当接收端收到包时,都会在已收到的数据字节序号加1(ACK标志为1),发送给对方;
因为TCP为应用层提供双向传输服务,因此我们经常看到两边数据包ACK置位为1;
《4》首部长度:32位,这个值可变。
《5》保留:给日后扩展用;
《6》标志:URG、ACK、PSH、RST、SYN、FIN
《7》滑动窗口大小:16位,最大为2的16次方=65535字节,表明接收端正期待接收的字节。
《8》校验和:16bit,利用TCP首部+数据进行计算,保证数据传输的完整性
《9)紧急指针:16bit,用于当URG表示为1时,该位表示的是紧急数据
《10》可选字项:一般没有,但有的情况下,一般常见得是最长报文大小,又称MSS(MAX Segment Size)