传输层的TCP协议

在这里插入图片描述

在这里插入图片描述
源端口:
目的端口:
序号:本报文所发送的数据部分的第一个字节的序号
确认号:期望收到的下一个报文首部序号字段的值
数据偏移:TCP首部的长度,单位是4字节,一般为5
URG:为1的话表示本报文包含紧急数据,和紧急指针联合使用
ACK:确认号字段,ACK为1时,本报文序号不增加,为0时表示报文不包含确认信息,即确认号字段无效
PSH:尽快将数据交给应用程序,不用等缓存满再交
RST:连接出现错误,必须重新建立连接
SYN:建立连接时的同步,会消耗序号,若ACK 和 SYN表示同意建立连接
FIN:释放连接,置1时表发送端没数据发了,也需要消耗序号
窗口: 接收方允许发送方发送多少数据,接收方对发送方的流量控制
校验和: TCP的首部,TCP的数据,TCP的伪首部
**紧急指针:**在URG置1有效,表示本报文段中紧急数据的字节数
选项 TCP除去首部后的数据,0~40个字节,长度是4字节的倍数,常用的有MSS(TCP报文段长度 - TCP首部长度)
在这里插入图片描述

TCP建立和释放连接

TCP连接建立过程的三次握手
在这里插入图片描述
第一步:主机A向主机B发送同步报文段,此段算序号,选择一个序号SEQ
第二步:主机B收到请求后,发回确认消息,主机B选择一个SEQ
第三部:序号字段仍为1

通过MSS(最大报文长度)协商
在这里插入图片描述

传输释放
在这里插入图片描述

TCP可靠传输:
(1)序号确认机制
(2)超时重传机制
(3)定时器

若收到的报文无差错,但未按序号,如何处理?
(1)将不按序的丢掉
(2)先把其暂存在接收缓冲内,待所缺序号的报文段收齐再一起上交给应用层,当接收端收到全部数据,再回复ACK

猜你喜欢

转载自blog.csdn.net/Hao_Zhen/article/details/84571033