ICMP与IPv6全局单播地址动态分配

本文探讨了ICMP在IPv6中的作用,特别是其在邻居发现协议NDP中的路由器请求(RS)和通告(RA)消息,以及SLAAC(无状态地址自动分配)的过程。重点介绍了EUI-64生成接口ID和随机生成方法,以及SLAAC与DHCPv6的交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ICMP与IPv6全局单播地址动态分配

ICMP

  • TCP/IP协议簇会在发生某些错误时提供要发送的信息,这些消息使用ICMP服务发送
  • ICMP报文可大致分为两类:差错报文查询或信息类报文
  • ICMP版本类型有ICMPv4ICMPv6,这分别对应IPv4与IPv6

ICMP报文格式

ICMPv4

ICMPv4报文位置
  • 在IPv4的包中,当协议字段为1,则显示该包携带ICMPv4,其位置如下图所示

ICMPv4类型与代码
  • 部分ICMPv4报文类型及对应的代码如下(此外还包含重定向等类型)

ICMPv6

ICMPv6报文位置
  • IPv6包中存在扩展头部,则ICMPv6报文位于扩展头部之后;若IPv6包中不存在扩展头部,则ICMPv6报文位于IPv6头部之后

ICMPv6类型与代码
  • 图片源于百度

  • 差错类报文从0-127,信息类报文类型从128-255

  • 下面为非0标准报文类型的代码值

ICMPv4与ICMPv6通用消息

  • 主机确认
  • 目的不可达(网路、主机、协议、端口)
  • 超时
  • 路由重定向

IPv6全局单播地址动态分配

基础

路由请求与路由器通告消息

由上文可知,ICMP在**邻居发现协议(ND或NDP)**中包括4个新协议

IPv6路由器与IPv6设备

  • 路由器请求(RS)消息
  • 路由器通告(RA)消息

其中RA消息包括:

  • 网络前缀和前缀长度
  • 默认网关:IPv6本地链路地址,RA消息源IPv6地址
  • DNS地址和域名:DNS服务器地址和域名
  • 选项:
    • 选项1:SLAAC–前缀、前缀长度和默认网关
    • 选项2:无状态DHCPv6的SLAAC–SLAAC信息,但要向DHCPv6服务器请求其他信息(如DNS)
    • 选项3:有状态DHCPv6(无SLAAC)–向DHCPv6服务器请求所有信息
EUI-64流程与随机生成

通过EUI-64流程还是随机生成来生成接口ID取决于操作系统

EUI-64流程

该流程使用了MAC地址,并在48位MAC地址中插入16位生成接口ID

  • 划分OUI和设备标识符之间的MAC地址
  • 插入16进制值FFFE
  • 将OUI前两个十六进制值转为二进制,并颠倒U/L位(第7位)
随机生成
  • 操作系统随机生成64位接口ID
二者对比
  • EUI-64流程优势在于通过MAC生成接口ID,可确保其唯一性且地址可充分利用,但同时会带来隐私问题,因为可通过MAC地址来跟踪IPv6地址。
  • 随机生成相对更安全,但其唯一性要通过DAD流程确保。

IPv6设备之间

  • 邻居请求(NS)消息
  • 邻居通告(NA)消息

无状态地址自动分配(SLAAC)

描述
  • SLAAC是允许设备从IPv6路由器获取IPv6前缀、前缀长度、默认网关地址以及其他信息而无需使用DHCPv6服务器的方法(DHCPv6服务不是必须向)
  • 通过此方式获得的地址仅前缀,接口ID通过EUI-64流程或随机生成接口ID
过程
  • 设备发送RS
  • 路由器发送RA,设备接收,获取前缀、前缀长度、默认网关

SLAAC与无状态DHCPv6

描述
  • 通过SLAAC获取信息,并向DHCPv6服务器请求其他信息
过程
  • 设备发送RS
  • 路由器发送RA,设备接收并获取前缀、前缀长度、默认网关
  • 设备发送DHCPv6请求
  • DHCPv6服务器响应并返回信息(DNS服务器地址与域名等信息)
  • 设备接收来自DHCPv6信息并进行配置

有状态DHCPv6

描述
  • 使用本地链路地址,即RA源IPv6地址作为默认网关
  • 通过DHCPv6服务器获取全局单播地址、DNS服务器地址、域名和其他信息(而不是通过SLAAC生成全局单播地址)
过程
  • 设备发送RS
  • 路由器发送RA,设备接收,获取默认网关
  • 设备发送DHCPv6请求
  • DHCPv6回应
  • 设备接收,获取全局单播地址、DNS服务器地址、域名和其他信息

注意

  • 设备发送的RA是面向全部IPv6路由器的
  • 设备发送的DHCPv6请求是面向全部DHCPv6服务器的
  • 为确保任何IPv6单播地址唯一性,客户端可以使用重复地址检测(DAD)流程。该过程类似与ARP。若没有回应请求,则该地址唯一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值