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

 

posted @ 2020-05-26 19:42  是的哟  阅读(619)  评论(0编辑  收藏  举报