TCP报文头部结构详解和作用解析

TCP报文的头部结构

这个头部结构非常的重要,建议大家记住.可以画出来并且可以说出来每个部分的作用是什么,主要是要会解释TCP怎么保证通讯的可靠机制的。

 

其中,32位序号是指通讯过程中,某个传输方向上的字节流的每个字节的编号。

32位确认号:用作另外一方发送来的TCP报文段的响应。其值就是收到的TCP报文段的序号值加1。

4位头部长度:标识该TCP头部有多少个32bit字(4字节)。4位最大能表示15,所以TCP头部最长是60字节。

URG:表示紧急指针是否有效

ACK:    确认号是否有效。

PSH:提示接收端应用程序应该立即从TCP接受缓冲区读走数据,为之后的接受的数据腾出位置。

RST:表示要求对方重写建立连接。复位报文端。

SYN:表示建立一个连接。同步报文段。

FIN:表示通知对方本端要关闭连接了。结束报文端

 

16位窗口大小:是TCP流量控制的一个手段。它告诉对方本段的TCP接受缓冲区的情况,控制对方的发送的速度。

 

16位校验和:由发送端填充,接收端对TCP报文端执行CRC算法以校验TCP报文段在传输过程是否损坏。(数据和头部全部校验的。)

 

16位紧急指针:发送端向接受端发送紧急数据使用的。

 

TIME_WAIT状态

这个状态客户端连接要等待一段长为2MSL的时间,才能完全关闭。MSL是TCP报文段在网络中最大生存时间。

 

作用:

1,可靠地终止TCP连接。

2,保证让迟来的TCP报文段有足够的时间被识别并丢弃。

 

三种特殊情况下连接的一端向另外一端发送携带RST标志的报文段

1,访问不存在的端口。

2,异常终止连接。

3,处理半打开连接。

带外数据

有些传输层协议具有带外数据的概念,用于迅速通告对方本端发送的重要事件。因此带外数据比普通的数据有更高的优先级。它

应该先被发送,而不论发送缓冲区是否有排队等待的普通的数据。

UDP没有实现带外数据传输,TCP也没有真正的带外数据。

 

TCP利用其紧急指针标记和紧急指针俩个字段,给应用程序提供了一种紧急方式。TCP紧急数据称为带外数据。

 

超时重传

TCP服务必须能够重传超时时间内未收到确认的TCP报文段。为此,TCP模块为每个TCP报文段都维护一个重传定时器,该定时器在TCP报文段第一次被发送时启动。如果超时时间内未收到接收方的应答,TCP模块将重传TCP报文段并重置定时器。

 

拥塞控制

提高网络利用率,降低丢包率,保证网络资源对每条数据流的公平性。这就是所谓的拥塞控制。

慢启动;
拥塞避免;
快速重传;
快速恢复;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值