TCP和UDP以及IP报文格式

TCP和UDP以及IP报文格式

TCP报文:


源端口: 数据发送方的端口号。

目的端口: 数据接受方的端口号。

序号:本数据报文中的的第一个字节的序号(在数据流中每个字节都对应一个序号)。

确认号:希望收到的下一个数据报文中的第一个字节的序号。

数据偏移:表示本报文数据段距离报文段有多远。

保留:顾名思义,用来保留给以后用的。

紧急比特URG:当值为1时表示次报文段中有需要紧急处理。

确认比特ACK:值为1时确认号有效,值为0时确认号无效。

复位比特RST:值为1时表示TCP连接存在严重的错误,需要重新进行连接。

同步比特SYN:值为1表示这是一个连接请求或连接接受报文。

终止比特FIN: 值为1表示要发送的数据报已经发送完毕,需要释放传送连接。

窗口字段:TCP连接的一端根据缓存空间的大小来确定自己接受窗口的大小,限制发送放的窗口上限。

检验和:用来检验首部和数据两部分的正确性。

紧急指针字段:本报文紧急数据的最后一个字节的序号。


—————————————————————————————————————————————————

UDP报文:



源端口号和目的端口号如上和TCP的相同。

UDP长度:UDP报文的字节长度(包括首部和数据)。

UDP校验和: 检验UDP首部和数据部分的正确性。



—————————————————————————————————————————————————

IP数据报


版本:IP协议的版本,目前的IP协议版本号为4,下一代IP协议版本号为6。

首部长度:IP报头的长度。固定部分的长度(20字节)和可变部分的长度之和。共占4位。最大为1111,即10进制的15,代表IP报头的最大长度可以为15个32bits(4字节),也就是最长可为15*4=60字节,除去固定部分的长度20字节,可变部分的长度最大为40字节。

服务类型:Type Of Service。

总长度:IP报文的总长度。报头的长度和数据部分的长度之和。

标识:唯一的标识主机发送的每一分数据报。通常每发送一个报文,它的值加一。当IP报文长度超过传输网络的MTU(最大传输单元)时必须分片,这个标识字段的值被复制到所有数据分片的标识字段中,使得这些分片在达到最终目的地时可以依照标识字段的内容重新组成原先的数据。

标志:共3位。R、DF、MF三位。目前只有后两位有效,DF位:为1表示不分片,为0表示分片。MF:为1表示“更多的片”,为0表示这是最后一片。

片位移:本分片在原先数据报文中相对首位的偏移位。(需要再乘以8)

生存时间:IP报文所允许通过的路由器的最大数量。每经过一个路由器,TTL减1,当为0时,路由器将该数据报丢弃。TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为 64。发送 ICMP 回显应答时经常把 TTL 设为最大值 255。

协议:指出IP报文携带的数据使用的是那种协议,以便目的主机的IP层能知道要将数据报上交到哪个进程(不同的协议有专门不同的进程处理)。和端口号类似,此处采用协议号,TCP的协议号为6,UDP的协议号为17。ICMP的协议号为1,IGMP的协议号为2.

首部校验和:计算IP头部的校验和,检查IP报头的完整性。

源IP地址:标识IP数据报的源端设备。

目的IP地址:标识IP数据报的目的地址。

其中,当IP数据报在路由器之间传输时,必然变化的是 生存时间(TTL)、首部校验和,因为每经过一跳路由器,TTL值减一;首部校验和是根据首部生成的,TTL字段变化,首部校验和随之也要变化。
可能变化的有 标志片偏移数据报总长度

文章参考
https://blog.csdn.net/kernel_jim_wu/article/details/7447377
https://blog.csdn.net/Mary19920410/article/details/59035804
https://zhidao.baidu.com/question/1988454009235222107.html

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stig_Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值