0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

IPv4报文格式各字段的含义

网络技术干货圈 来源:网络技术干货圈 2023-12-13 09:43 次阅读

来源:公众号【网络技术干货圈】

作者:圈圈

ID:wljsghq

IPv4报文格式

4675d14c-994c-11ee-8b88-92fbcf53809c.png

上图中各字段的含义如下:

Version版本 4Bit :ip报文中,用来表示该协议采用的是那一个版本的ip,相同版本的ip才能进行通信。一般此处的值为4,表示ipv4。

Header Length头部长度 4Bit :表示整个ip包头的长度,其中单位是4字节。即二进制数0000-1111(十进制数0-15),其中一个最小长度为0字节,最大长度为60字节。一般来说此处的值为0101,表示头长度为20字节。

Type of Service(ToS) 8Bit :差分服务等级的标记。

Total Length总长度 16Bit :该字段表示ip报文的总长度,单位是1字节。能表示的最大字节为2^16-1=65535字节。不过由于链路层的MTU限制。超过1480字节后就会被分片(以太帧MTU为1500的情况下,除去20字节的包头)。

Identification标记位 16Bit :该字段是ip软件实现的时候自动产生的,该字段的目的不是为了接受方的按序接受而设置的,而是在ip分片以后,用来标识同一片分片的。方便ip分片的重组。

Flag标志 3Bit :该字段是与ip分片有关的。其中有三位,第一位保留,其他两位分别为DF,MF。MF标识后面是否还有分片,为1时,表示后面还有分片。DF标识是否能分片,为0表示可以分片,如果为1不能分片,但偏移量字段又不为0,那么就会丢弃该报文。

Fragment offset偏移量 13Bit :该字段是与ip分片后,相应的ip片在总的ip片的位置。该字段的单位是8字节。比如,一个长度为2000字节的ip报文,到达路由器。这是超过了链路层的MTU,需要进行分片,2000字节中,20字节为包头,1980字节为数据,需要分成2个ip片(链路层MTU为1500),那么第一个分片的片偏移就是0,表示该分片在1980的第0位开始,第1479位结束。第二个ip片的片偏移185(1480/8),表示该分片开始的位置在原来ip的第1480位,结束在2000。

TTL 8Bit :该片表示生存周期,该值占8bit。ip分片每经过一个路由器该值减一,它的出现是为了防止路由环路,浪费带宽的问题。

Protocol协议 8Bit :该值标识上层的协议。其中1标识ICMP、2标识IGMP、6标识TCP、17标识UDP、88标识OSPF。

Header CheckSum校验和 16Bit :该值是对整个数据包的包头进行的校验。

源IP和目的IP各32Bit。

如果有Option字段,但没到32Bit,由Padding补齐(补0)。

什么情况下两主机的子网掩码不同,却可以相互通信?

一台主机为172.31.1.1 255.255.255.0
一台主机为 172.31.1.2 255.255.255.224
测试可以ping通……
问: 为什么,什么情况下两主机的子网掩码不同,却可以相互通信?
答:
因为这两台主机都在百同一网段度172.31.1.0,所以能相互通信问
A机的地址:172.31.1.1 255.255.255.0
转换为:10101100 00011111 00000001 00000001
(对齐)11111111 11111111 11111111 00000000
进行相与运算,1与1为1,0与0为0,1与0为0
等于: 10101100 00011111 00000001 00000000 (172.31.1.0)
B机的地址:172.31.1.2 255.255.255.224
转换为:10101100 00011111 00000001 00000010
(对齐)11111111 11111111 11111111 11100000
等于: 10101100 00011111 00000001 00000000 (172.31.1.0)

总结两地址IP地址和掩码相与结果相同即可通信。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ip地址
    +关注

    关注

    0

    文章

    240

    浏览量

    16742
  • IPv4
    +关注

    关注

    0

    文章

    131

    浏览量

    19688
  • Type
    +关注

    关注

    1

    文章

    132

    浏览量

    22159
  • 报文
    +关注

    关注

    0

    文章

    31

    浏览量

    3968

原文标题:网络的基石——IPv4

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IPv6地址是什么,IPv6的意思

    的扩展头部取代了IPV4中可变长度的选项字段IPV6中选项部分的出现方式也有所变化,使路由器可以简单路过选项而不做任何处理,加快了报文处理速度;   3)
    发表于 01-25 16:39

    IPv4IPv6组播过渡技术解析

    IPv4IPv6组播过渡技术解析
    发表于 05-27 06:37

    求一种IPv4/IPv6安全网关解决方案

    IPv4/IPv6安全网关原理是什么?一种IPv4/IPv6安全网关解决方案
    发表于 05-28 06:21

    IPv6相对于IPv4 WinSock的改变是什么?

    IPv6相对于IPv4 WinSock的改变是什么?兼容IPv4IPv6的WinSock网络编程规则是什么?IPv4
    发表于 05-31 07:09

    ARP报文及其在Lwip的实现

    1、ARP报文及其在Lwip的实现  对于网络世界来说,有 IP 地址就代表了身份。不过在我们常用的网络拓扑类型中,IP 地址并不能准确表达我们的身份。在 ipv4中牵扯到私有网络地址与子网划分
    发表于 10-19 11:55

    STM32F407上的硬件IPv4校验和不起作用怎么处理?

    我正在使用标准外设库和 LwIP 1.4.1 的 STM32F407 上调试遗留应用程序,除了在极少数情况下,硬件 IPv4 校验和不起作用;他们都被发送为零。当我在 lwipopts.h 中禁用
    发表于 12-09 07:22

    Matter 不能在 IPv4 网络上运行吗?

    Matter是一种基于IPv6的技术。这意味着所有互连物质设备的网络都必须在 IPv6 上?Matter 不能在 IPv4 网络上运行吗?
    发表于 04-17 08:38

    ipv4ipv6有什么区别

    IPV6和IPV4协议早已为人所共知。IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议。它的下一个版本就是IPv
    发表于 12-26 16:36 1.7w次阅读
    <b class='flag-5'>ipv4</b>和<b class='flag-5'>ipv</b>6有什么区别

    一种基于粗糙集聚类的报文格式推断方法

    报文聚类是报文格式推断的基础,现有的报文聚类方法大多以报文的全局相似性为聚类的标准,这类聚类方法的准确率往往不高,进而影响后续报文格式提取的
    发表于 04-25 11:45 3次下载
    一种基于粗糙集聚类的<b class='flag-5'>报文格式</b>推断方法

    网络协议栈:MQTT的报文格式解析

    在上一篇文章,直接在本地搭建了服务器和客户端,简单的实践了MQTT的用法。而这一篇来解析MQTT的报文格式。MQTT的报文字段很精简。但是解析起来还是有些复杂的。 解析报文最好的工具是采用
    的头像 发表于 05-13 14:06 4349次阅读
    网络协议栈:MQTT的<b class='flag-5'>报文格式</b>解析

    什么是ipv6 ipv4ipv6的区别

    ipv6的英文全称是Internet Protocol Version 6,中文为互联网协议第6版。ipv6是互联网工程任务组设计的用于替代IPv4的下一代IP协议,ipv6数量很多,
    的头像 发表于 09-03 16:03 2.2w次阅读

    什么是ipv4什么是ipv6 ipv6技术的优缺点

    IPv4IPv6的地址格式不同,它们之间没有直接的换算方法。但是,可以使用IPv4IPv6的双栈机制,实现
    发表于 05-17 18:12 3837次阅读

    ipv6和ipv4有什么区别 ipv4ipv6哪个网速快

    IPv6可以和IPv4兼容,支持IPv4地址的传输和访问,同时也支持IPv4IPv6之间的转换。总之,
    发表于 05-17 18:13 1.4w次阅读

    Path延时测量相关报文格式介绍

    Pdelay_Req报文格式定义 如下图15所示为IEEE802.1AS定义的报文格式定义: 图15 Pdelay_Req报文格式定义 上图中header与SYNCMessage头信息定义
    的头像 发表于 07-24 10:45 688次阅读
    Path延时测量相关<b class='flag-5'>报文格式</b>介绍

    IP地址:IPV4IPV6的区别

    IPV4互联协议版本4,有版本V4之前就有IPV1 IPV2IPV3,同样有IPV5 IPV6,IPV
    发表于 10-26 10:41 510次阅读
    IP地址:<b class='flag-5'>IPV4</b>和<b class='flag-5'>IPV</b>6的区别