IP协议详细介绍

+----------------+----------------+----------------+----------------+  
| 版本(4bit)     | 首部长度(4bit) | 服务类型(8bit) | 总长度(16bit)  |  
+----------------+----------------+----------------+----------------+  
| 标识(16bit)    | 标志(3bit)     | 片偏移(13bit)  | TTL(8bit)      |  
+----------------+----------------+----------------+----------------+  
| 协议(8bit)     | 首部校验和(16bit)| 源地址(32bit)  | 目的地址(32bit)|  
+----------------+----------------+----------------+----------------+  
| 选项(可变长)| 数据(可变长)  |                |                |  
+----------------+----------------+----------------+----------------+

下面是对各个字段的详细解释:

  1. 版本:4位,表示IP报文的版本号。IPv4的版本号为4,IPv6的版本号为6。在这个字符格式中,我们假设是IPv4,所以版本字段为“4”。

  2. 首部长度:4位,以32位字(4字节)为单位,表示IP报文头部的长度。没有选项字段时,一般为5(即20字节)。这个字段告诉接收端IP报文头部有多长,以便正确解析。

  3. 服务类型(TOS):8位,也称为优先级与服务类型。前3位是优先级,接下来4位是服务类型(如延迟、吞吐、可靠性等),最后1位未使用。不过,这个字段在现代网络中一般不常使用。

  4. 总长度:16位,表示整个IP报文(包括头部和数据)的总长度,单位为字节。这个字段用于接收端确定需要接收多少字节的数据。

  5. 标识:16位,是IP报文的唯一标识符。当报文被分片时,所有分片的标识字段值相同,以便接收端能够重组报文。

  6. 标志:3位,用于控制分片。第0位未使用,第1位为DF(Don't Fragment)标志,设置为1表示不允许分片;设置为0表示允许分片。第2位为MF(More Fragments)标志,设置为1表示后面还有分片;设置为0表示这是最后一个分片或未分片。

  7. 片偏移:13位,表示该分片在原报文中的偏移量,单位为8字节。这对于接收端重组报文至关重要。

  8. TTL(Time To Live):8位,表示报文的生存时间,即报文在网络中可以经过的最大路由器跳数。每经过一个路由器,TTL值减1。当TTL值为0时,报文被丢弃。

  9. 协议:8位,表示上层协议的类型。例如,ICMP的协议号为1,TCP的协议号为6,UDP的协议号为17。

  10. 首部校验和:16位,用于校验IP报文头部的正确性。接收端在收到报文后,会重新计算校验和并与发送端的校验和进行比较。如果两者不同,则报文被丢弃。

  11. 源地址和目的地址:各32位,分别表示发送端和接收端的IP地址。

  12. 选项:这是一个可变长的字段,用于包含一些可选的信息。不过,在现代网络中,这个字段一般不常使用。

  13. 数据:这是上层的报文数据,如TCP报文、UDP报文等。它的长度是可变的,取决于总长度字段减去头部长度的值。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值