tcp 报文段结构

Posted ts65214

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcp 报文段结构相关的知识,希望对你有一定的参考价值。

 

 技术图片

 

序号:指字节流首字节的编号,例如100 000字节的数据,MSS1000字节,

    那么第一个报文段的序号为0,第二个报文段的序号为1000,第三个为2000

    由于报文段的长度是可变的,所以不能对报文段进行确认,只能对字节进行确认

确认序号:收到0~199字节,和300~456字节,确认序号为200300~456字节会被缓存下来

    TCP提供的是累积确认

首部:一般是20字节,

接收窗口:表示接收方愿意接收的字节数量

首部长度:表示以32位字为单位的首部长度

可选且变长的选项字段:必须是32的倍数,最多40字节,第1字节指明选项类型,

   2字节指明选项长度(单位字节),后面是选项本身

可用于协商MSS

或者用作窗口调节因子,最多可将窗口大小字段向左移动14

或者携带时间戳,用来计算来回时间,或用来扩展32位序号,防止回绕

 

标志字段:ack表示确认字段是有效的,rstsynfin用于连接建立和拆除,

syn用于建立连接

rst用于重置一个混乱的连接,或者拒绝无效的段或连接请求,

收到srtTCP会立即断开连接

fin释放连接

psh表示接收方应立即交付给上层,

urg表示报文段中存在着被发送方上层实体置为紧急的数据

紧急数据的最后一个字节有紧急指针指出,此时tcp必须通知接收端的上层实体

实践中,pshurg、紧急指针未使用到

保留6位,已使用了2位:ecn表示接收方检测到网络拥塞,给发送方发送ecn

    cwr表示发送方收到了ecn,接收方不要再发ecn

 

以上是关于tcp 报文段结构的主要内容,如果未能解决你的问题,请参考以下文章

TCP协议:头部结构三次握手与四次挥手

网络自定向下学习——TCP报文段的详细解析

TCP报文头部解析

【tcp】TCP报文段中URG和PSH的区别

传输层-第九节:TCP报文段的首部格式

一个TCP报文段的数据部分最多为多少字节,为啥