中文  |  English
所在位置:市场活动 > 客户案例与技术文章

【科普系列】ICMPv6协议基础简介

引言


 在科普介绍文章《IPv6协议—互联网通信协议第六版》中介绍了IPv6协议,这次的科普主题是ICMPv6(Internet Control Message Protocol version 6),它作为IPv6网络中的核心协议之一,是网络通信中不可或缺的一部分。ICMPv6的设计继承了IPv4中ICMPv4协议的基本功能,然而,它不仅仅是IPv6中错误报告和诊断工具,更在IPv6网络的运行中扮演了重要角色。与IPv4不同,IPv6不再依赖ARP(地址解析协议)来解析网络节点的物理地址,而是通过ICMPv6的邻居发现(Neighbor Discovery)功能来实现此类操作。此外,ICMPv6还支持地址自动配置、路径MTU发现、网络邻居的可达性检测等功能,这些都大大简化了IPv6网络的配置和管理。

 在IPv6网络的日常运行中,ICMPv6不仅提供了基础的错误报告机制,还使得网络设备能够更加灵活地自动配置和发现网络拓扑。因此,理解ICMPv6协议及其各类报文的作用,对于网络工程师和系统管理员来说是非常必要的。

  

ICMPv6的报文格式

 

 

图 ICMPv6报文通用格式

 

ICMPv6报文的通用格式如上图所示,主要包括以下几个字段,每个字段在网络通信中都起到至关重要的作用:

Type(报文类型):这是ICMPv6报文的首个字段,用于标识报文的类型。ICMPv6报文根据其功能可分为两大类:差错报文(类型范围:0-127)和消息报文(类型范围:128-255)。每种类型对应特定的错误报告或网络功能。

 Code(报文子类型):Code字段进一步细化了报文的类型。根据不同的报文类型,Code的值代表不同的具体子类型。例如,目的不可达报文中Code字段的值为0表示网络不可达,为1表示主机不可达,等等。

 Checksum(校验和):该字段用于对ICMPv6报文的完整性进行校验。校验和的计算能够确保在传输过程中数据未发生错误。ICMPv6要求对报文进行完整性检查,以保证通信的可靠性。


 ICMPv6报文分类


 ICMPv6报文根据功能的不同,分为差错报文和消息报文。

 1. 差错报文(Type 0-127)

差错报文主要用于报告网络中的错误,帮助设备发现和解决通信问题。

 2. 消息报文(Type 128-255)

 消息报文则负责执行网络配置、诊断等功能。


 

图 RS报文示例

 

 

图 RA报文示例

 NS报文(Neighbor Solicitation, Type 135):NS报文主要包括以下功能:

1)地址解析:在IPv6中,没有类似IPv4中的ARP(地址解析协议)来解析链路层地址(如MAC地址)。而NS报文用于请求或查询目标节点的链路层地址,当一个IPv6主机需要发送数据包到网络中某个已知的IPv6地址时,它首先需要知道目标节点的链路层地址(MAC地址)。此时,发送NS报文给目标节点,并在Target Address字段中填入目标节点的IPv6地址。

 2)邻居可达性检测:NS报文还用于检测网络中某一节点是否仍然活跃,是否能够正常接收数据。当发送节点收到目标节点的NA(详见下文)报文时,即可确认该目标节点是可达的。若目标节点没有回应,发送节点会根据超时情况判断目标节点是否不可达。

 3)地址冲突检测:在进行IPv6地址自动配置时,主机会随机选择一个IPv6地址,并通过发送NS报文来检测该地址是否已经被其他节点使用。如果网络中有其他节点回复NA报文,表示该地址已被占用,主机则需要选择另一个地址。

 

图 NS报文示例

 

1)响应地址解析请求:当一个节点接收到NS报文时,它会通过发送NA报文来响应请求,提供自己的链路层地址(通常是MAC地址)。

2)确认邻居可达性:如果节点A通过NS报文检测到节点B的可达性,节点B通过发送NA报文来响应,确认其处于活动状态。

3)地址冲突响应:如果某个节点在收到NS报文时发现该地址与自己冲突(即自己已经使用该地址),它将通过NA报文告知发送NS报文的节点。

图 NA报文示例

 

 

ICMPv6的安全性

 

 

尽管ICMPv6在IPv6网络中扮演着重要角色,但其也可能成为网络攻击的潜在目标。以下是几种可能的攻击类型:

 总结

 ICMPv6不仅是IPv6网络中不可或缺的协议,它还为网络设备提供了关键的支持功能,包括地址自动配置、邻居发现、路径MTU发现等。ICMPv6的广泛应用大大简化了IPv6网络的配置与管理,提高了网络的自适应能力和可扩展性。而随着IPv6在车载网络的逐步普及(例如大众、奥迪等整车厂早已应用IPv6),掌握ICMPv6协议的基础及其应用,能够帮助汽车电子领域的网络工程师更好地管理和优化网络环境,并确保网络的高效、安全运行。

 北汇信息是一家专注于汽车电子测试领域的企业,对车载以太网测试有着丰富经验,并可提供相关培训、咨询服务以及测试解决方案,帮助汽车制造商和零部件供应商确保其车载以太网系统的可靠性和安全性。如果需要具体的测试服务或了解更多信息,欢迎大家来联系我们。

 参考文献

 【1】《RFC 4861》

【2】《RFC 4443》