TCP协议中报文段详解

时间:2020-11-30 10:13:05

(一)TCP协议报文段格式详解:


TCP协议中报文段详解

TCP协议中报文段详解


(1)源端口和目标端口号字段--------各占2字节,端口是传输层与应用层的服务连接口,传输层的分用和复用功能都要通过端口来实现(端口对应进程);

(2)序号字段--------占4字节,TCP连接中传送的每一个报文段都有一个序号(该报文段多包含字节数中第一个字节编号);

(3)确认号--------占4字节,TCP协议在建立连接的过程中,是通过确认信号的传送来判定报文段是否已接收和发送;

(4)首部长度-----占4 bit,它指出TCP协议此报文段首部共有多少个字节,首部长度在20 ~ 60字节;

(5)标志位详解:

紧急比特 UGE(urgent),当UGE = 1时,表明紧急指针有效,告诉系统这个报文段优先级最高,先发送此报文段;

确认比特 ACK(Acknowledge),当ACK  = 1时,表明确认号有效,ACK = 0,表明确认号无效;

推送比特 PSH(push),当PUS = 1时,表明此报文段在发送的过程当中不会出现延迟现象,尽快发送给接收方,接收端不用等待;

复位比特RST(reset),当RST = 1时,表明此次连接过程当中出现了严重的差错,强制断开连接,重新连接。比如主机崩溃、访问端口不存在,异常连接等;

同步比特SYN(Sychronize),当SYN = 1时,就表明这是一次面向连接或报文段的连接,需要同步执行;

终止比特FIN(finish),当FIN = 1时,就表明报文段传送完毕,要求释放连接。

(6)窗口机制------占2字节,窗口字段用来控制对方发送的数据量,单位为字节。TCP协议连接的一端根据设置其缓存的大小,来确定自己所一次性接收报文段的大小(窗口大小),然后通知对方发送的报文段不能超过我的窗口大小;

(7)检验和-------占2字节,检验对象包括报文段的首部和数据两部分,确保在发送的过程当中,发送方格接收方的校验和相等(防止发送方在传输报文段出现报文段的丢失、被篡改以及被破坏等);

(8)紧急指针------占16位,紧急指针指出在本报文段中紧急数据的最后一个字节序号(优先处理);

(9)选项部分-------长度可变 MSS(Maximum  Segment  Size)最大报文段长度;MTU(Maximum  Transmission  Unit)最大传输单元默认为1500字节;

MSS   =   MTU   -    20Byte(IP首部)     -      20Byte(TCP首部)

(二)TCP协议的抓包详解:

(抓包图解一):


TCP协议中报文段详解


(抓包图解二)


TCP协议中报文段详解


(下篇详解TCP协议的三次握手和四次释放)