TCP Header、UDP Header、IP Header

本文详细介绍了TCP、UDP和IP协议头的结构及各字段的含义,包括TCP的序列号、确认号、控制位,UDP的长度和检验和,以及IP头的版本、服务类型、总长度和分片相关字段。这些知识对于理解网络数据传输过程至关重要。
摘要由CSDN通过智能技术生成

TCP Header

  • 16位端口号:源端口和目的端口各占16位,2的16次方等于65536,看端口的命令:netstat。
  • 序列号:字段长32位,表示发送数据的位置,每发送一次数据,就累加一次该数据字节数的大小。序列号不会从0或1开始,而是在建立连接时生成的随机数作为其初始值,通过SYN包传给接收端。然后再将每次转发过去的字节数累加到初始值上表示数据的位置。此外,在建立连接和断开连接时发送的SYN包和FIN包虽然并不携带数据,但也作为一个字节增加对应的序列号。
  • 字长32位表示下一次应该收到的数据的序列号。在此保证确认号之前的数据都被确认。
  • 4字长数据偏移:该字段表示TCP传输数据包的位置从哪个TCP包开始计算。
  • 四字节保留字段:作为有扩展使用;
  • 字长8位的控制位:依次为CWR、ECE、URG、ACK、PSH、RST、SYN、FIN

CWR和ECE都用于IP首部的ECN字段,当ECE字段为1是,通知对方,拥塞窗口已缩小。

URG标志为1表示该部分为紧急事件,做进一步处理。

ACK标志位1表示确认应答的字段有效。

PSH位为1则将接收到的数据立即发送给上层协议,为0则先缓存,缓冲区满在发送给上层协议。

RST为1是表示连接异常必须强制中断。

SYN为1表示希望建立连接,进行序列号初始值设定;连接过程是一个确认应答号和序列号同步的过程。

FIN为1表示之后不会再有数据发送,发送端完成发送,希望断开连接;每个主机对对方的FIN包进行确认应答后就断开连接。

  • 16位窗口大小;指的是从确认应答号所在报文位置开始能够接收的数据大小(8位);如果窗口大小为0,表示可以发送窗口探测。
  • 校验和:TCP校验和计算的作用是判断协议首部和数据是否被破坏。TCP在计算校验和的时候使用TCP伪首部。为了使其全长为16位的整数倍,需要在数据部分的最后填充0。首
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值