【计算机网络05】传输层之TCP数据格式

在这里插入图片描述

1.数据偏移(Data Offset)

占 4 位,取值范围是0x0101~0x1111

乘以4:首部长度(Header Length)

首部长度是20~60字节

一个细节

UDP的首部中有个16位的字段记录了整个UDP报文段的长度(首部+数据),但是,TCP的首部中仅仅有个4位的字段记录了TCP报文段的首部长度,并没有字段记录TCP报文段的数据长度。

分析:

UDP首部中占16位的长度字段是冗余的,纯粹是为了保证首部是32bit对齐

TCP\UDP的数据长度,完全可以由IP数据包的首部推测出来:

传输层的数据长度 = 网络层的总长度 – 网络层的首部长度 – 传输层的首部长度

2.保留(Reserved)

占6位,目前全为0

一个细节

在这里插入图片描述

有些资料中,TCP首部的保留(Reserved)字段占 3 位,标志(Flags)字段占 9 位,Wireshark中正是如此。

3.检验和(Checksum)

跟UDP一样,TCP检验和的计算内容:伪首部 + 首部 + 数据。

伪首部:占用12字节,仅在计算检验和时起作用,并不会传递给网络层。

在这里插入图片描述

4.标志位(Flags)

URG(Urgent)

当URG=1时,紧急指针字段才有效。表明当前报文段中有紧急数据,应优先尽快传送。

ACK(Acknowledgment)

当ACK=1时,确认号字段才有效。

PSH(Push)

RST(Reset)

当RST=1时,表明连接中出现严重差错,必须释放连接,然后再重新建立连接。

SYN(Synchronization)

当SYN=1、ACK=0时,表明这是一个建立连接的请求。

若对方同意建立连接,则回复SYN=1、ACK=1。

FIN(Finish)

当FIN=1时,表明数据已经发送完毕,要求释放连接。

5.序号(Sequence Number)

占4字节

首先,在传输过程的每一个字节都会有一个编号。

在建立连接后,序号代表:这一次传给对方的TCP数据部分的第一个字节的编号。

6.确认号(Acknowledgment Number)

占4字节

在建立连接后,确认号代表:期望对方下一次传过来的TCP数据部分的第一个字节的编号。

在这里插入图片描述

7.窗口(Window)

占2字节

这个字段有流量控制功能,用以告知对方下一次允许发送的数据大小(字节为单位)。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值