计网第五章.运输层—TCP报文的首部

以下来自湖科大计算机网络公开课笔记及个人所搜集资料

TCP报文格式如下:
计网第五章.运输层—TCP报文的首部_第1张图片
那6个标志位对应的中文名:
在这里插入图片描述

下面是按TCP首部的顺序介绍各个字段:

源端口和目的端口分别是表示发送TCP报文段的应用进程。从网络编程角度,进程里创建socket(),选用TCP协议去连接另一个主机,当前进程的端口号就写进报文了。所以前面有点误区,认为有专门的进程去作TCP通信,这是错的,TCP只是个协议。比如在浏览器上输入网址,那么浏览器进程就会构建一个封装有HTTP请求报文的TCP报文段,给的源端口就是浏览器进程的端口号。

序号:
计网第五章.运输层—TCP报文的首部_第2张图片
注意数据载荷中的那些数字不是内容,而是对字节的编号。

确认号:
在这里插入图片描述

数据偏移:
注意是以4字节为单位1,所以偏移值为0101即10进制的5,那么5x4 == 20,可以得到首部长度为20字节
计网第五章.运输层—TCP报文的首部_第3张图片

保留字段:占了6个比特,留给以后用,目前置为0

确认标志位ACK:
在这里插入图片描述

同步标志位SYN:
在连接建立那会用于同步序号,详见三次握手。
计网第五章.运输层—TCP报文的首部_第4张图片
终止标志位FIN:
计网第五章.运输层—TCP报文的首部_第5张图片
复位标志位RST:
当RST=1时,说明TCP出现了异常,必须是否连接,然后重新建立连接。RST置1还用来拒绝一个非法的报文段或拒绝打开一个TCP连接。

推送标志位PSH:
接收方的TCP收到该标志位为1的报文段会尽快上交应用进程,而不必等到接收缓存都填满后再向上交付。相当于催促作用。

紧急标志位URG和紧急指针字段:
两者同于实现紧急操作。其实就是说有紧急数据要发送,就马上封装报文并且发送。
计网第五章.运输层—TCP报文的首部_第6张图片

窗口字段:
计网第五章.运输层—TCP报文的首部_第7张图片
注意发送窗口的大小还取决于拥塞窗口的大小,即接收窗口和拥塞窗口中取小者。

校验和:
用来检查整个TCP报文段在传输过程中是否出现了误码,也就是除了TCP报文,载有的数据也会检查。不过检错功能不是TCP的重点。
在这里插入图片描述

选项部分:
最大四十字节
计网第五章.运输层—TCP报文的首部_第8张图片

填充字段:
用填充是确保报文首部能被4整除因为数据偏移字段,即首部长度字段,是以4字节为单位的,前面说过)

你可能感兴趣的:(计算机网络,tcp/ip,网络,网络协议,tcp)