IP 报文格式详解(IPv4、IPv6)

1 概述

IP 报文
IPv4:一直使用的协议
IPv6:新一代的协议。比 IPv4 更简洁、更高效

2 IP 报文格式

2.1 IPv4

在这里插入图片描述

中文名英文名长度 bit(位)解释
版本Version4IP 协议版本号,固定为 4
首部长度Internet Header Length, IHL44 字节 为单位,最小值 5(20Byte),最大值 15(60Byte)
服务类型Type of Service, TOS8几乎不用
总长度Total Length16整个数据报的长度, 2 16 − 1 = 65535 2^{16} -1 = 65535 2161=65535 字节,不过由于链路层的MTU限制
超过 1480 字节后就会被分片(以太帧MTU最大为 1500 - 固定首部 20)
标识Identification16报文的唯一标识
标志Flag3是否分片的标志。DF:Don’t Fragment;MF:More Fragment
DF=1:不能分片,DF=0:允许分片
MF=1:后面还有分片,MF=0:最后一个
片偏移Fragment Offset13分片在原分组中的相对位置,以 8个字节 为偏移单位
生存时间Time To Live,TTL8数据报可以经过的最多路由器数,每经一个,值减1,为0时丢弃该报文
协议Protocol8封装的协议类型
ICMP(1)、IGMP(2)、TCP(6)、UDP(17)
头部校验和Header CheckSum16仅校验数据报的首部,使用二进制反码求和
源地址Source Address32源 IP 地址
目的地址Destination Address32目标 IP 地址
可选项Options可变主要用于测试
填充Padding填充 0,确保首部长度为 4 字节的整数倍
数据Data报文数据部分

2.2 IPv6

在这里插入图片描述

中文名英文名长度 bit(位)解释
版本Version4IP 协议版本号,固定为 6
通信类型Traffic Class8类似于 IPv4 中的 服务类型(TOS)
流标签Flow Label20识别某些需要特别处理的分组
载荷长度Payload Length16类似于 IPv4 中的 总长度(Total Length),区别在于不含基本首部
下一头部Next Header8类似于 IPv4 中的 协议(Protocol)
跳数限制Hop Limit8类似于 IPv4 中的 生存时间(TTL)
源地址Source Address128源 IPv6 地址
目的地址Destination Address128目的 IPv6 地址
扩展首部Extension Header可变可选择继续使用 IPv4 中首部部分,详见下表
数据Data报文数据部分
先后顺序扩展首部说明
1逐跳选项针对路由器中的各种信息
2目标选项针对目标端的各种附加信息
3路由要访问的路由器列表
4分段数据报分段的管理
5认证验证发送方身份
6加密的安全负荷信息加密

2.3 两者区别

在这里插入图片描述

3 网工软考真题

【2022上半年 - 20】一个 IP 报文经过路由器处理后,若 TTL 字段值变为 0,则路由器会进行的操作是()
A.向IP报文的源地址发送一个出错信息,并继续转发该报文
B.向IP报文的源地址发送一个出错信息,并丢弃该报文
C.继续转发报文,在报文中做出标记
D.直接丢弃该IP报文,既不转发,也不发送错误信息

参考答案:B

【2022上半年 - 21】当 IP 报文从一个网络转发到另一个网络时,()
A.IP 地址 和 MAC 地址均发生改变
B.IP 地址改变,但 MAC 地址不变
C.MAC 地址改变,但 IP 地址不变
D.MAC 地址、IP 地址都不变

参考答案:C
IP报文从一个网络转发到另一个网络时,IP地址是不变的,而在链路层是一段链路一段链路转发的,MAC地址会改变

【2022上半年 - 32】以下关于 IPv6 与 Pv4 报文头区别比较的说法中,错误的是()
A.IPv4 的头部是变长的,IPv6 的头部是定长的
B.IPv6 与 IPv4 中均有"校验和"字段
C.IPv6 中的 HOP Limit 字段作用类似于 IPv4 中的 TTL 字段
D.IPv6 中的 Traffic Class 字段作用类似于 IPv4 中的 Tos 字段

参考答案:B

【2019下半年 - 23,24】IP数据报的分段和重装配要用到报文头部的报文ID、数据长度、段偏置值和M标志等四个字段,其中(23)的作用是指示每一分段在原报文中的位置:若某个段是原报个分段,其(24)值为“0”。
(23)A.段偏置值
   B.M标志
   C.报文ID
   D.数据长度
(24)A.段偏置值
   B.M标志
   C.报文ID
   D.数据长度

参考答案:23=A,24=B
片偏移:占13位。较长的分组在分片后,某片在原分组中的相对位置。相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。这就是说,每个分片的长度一定8字节的整数倍。
标志字段中的最低位记为mf。mf=1表示后面“还有分片”的数据报。mf=0表示这已是若干数据报片中的最后一个。

【2018下半年 - 65】IP数据报首部中IHL (Internet首部长度)字段的最小值为( )。
A.5
B.20
C.32
D.128

参考答案:A
最小值 5,最大值 15

  • 9
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CANopen是一种用于控制系统的通信协议,它定义了一套用于设备之间进行数据传输和控制命令的报文格式。CANopen报文格式包括两种基本类型,即通用数据对象(SDO)和紧急数据对象(PDO)。 SDO(Service Data Object)报文格式用于在两个设备之间传输数据和配置参数。它包括两个主要部分:COB-ID(CAN对象标识符)和数据。COB-ID指示了报文的类型和方向,其中包括了设备ID和功能码。数据部分包含了要传输的实际数据或配置参数。此外,SDO报文还包括了附加的控制字节,用于指示传输的状态和错误处理。 PDO(Process Data Object)报文格式用于在实时控制中传输数据。PDO报文包括PDO通信参数,即传输类型、传输周期和映射对象的数量。每个PDO报文中包含了一个或多个映射对象的数据值,这些数据会根据映射关系被传输到不同的设备上。 CANopen报文格式中还包括一些其他的报文类型,如NMT(网络管理)报文、SYNC(同步)报文和EMCY(紧急)报文。NMT报文用于管理设备的状态和通信连接,SYNC报文用于同步多个设备的操作,EMCY报文用于传输设备的故障和警告信息。 总之,CANopen报文格式详细描述了设备之间进行数据传输和控制命令的方式。通过使用SDO、PDO以及其他报文类型,CANopen可以实现灵活的设备通信和控制,并提供了便捷的错误处理和状态管理功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鱼丸丶粗面

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

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

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

打赏作者

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

抵扣说明:

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

余额充值