当前位置: 首页 > news >正文

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报文等。它的长度是可变的,取决于总长度字段减去头部长度的值。

 


http://www.mrgr.cn/news/50348.html

相关文章:

  • Linux概述
  • 坚持每天写代码,真的能提高编程水平吗?
  • 加密算法介绍
  • Qt-系统播放音频(67)
  • UEFI——Device Path
  • 【华三】基本QinQ配置实验
  • 【Linux系统编程】第三十二弹---动态库实战指南:从零构建与高效集成的奥秘
  • yjs机器学习常见算法01——KNN(K—近邻算法)
  • SQL进阶技巧:如何删除第N次连续出现NULL值所存在的行?
  • 深刻,深克
  • 唐寅,风流倜傥的艺术天才
  • 【力扣刷题实战】环形链表
  • 安全光幕的Mutting功能
  • fastify 中的 payload 作用
  • Java8开始ConcurrentHashMap,为什么舍弃分段锁?
  • 在vue项目中如何合理高效的使用生命周期钩子函数
  • 智能之眼:如何用监督学习教机器看懂世界
  • 基于springboot的网页时装购物系统(含源码)
  • BASE 原则
  • Redis如何实现高性能和高可用