IPv6基础(2)

特殊的IPv6地址

在这里插入图片描述

接口的IP地址

  • 单个接口上可以同时开启多个任意类型的IPv6地址,但是必须又link-local地址。
  • 每个支持IPv6的地址都必须至少有一个本地地址和一个(或者多个)全局单播地址。
  • 一个接口可以同时配置IPv4和IPv6地址。

IPv6链路本地单播地址

  • 链路本地地址用于自动地址配置,邻居发现,路由器发现,很多其它路由协议也使用这种地址。
  • 在所有IPv6接口上,使用链路本地前缀FE80::/10和一个和一个64bit接口标识符创建。
  • 链路本地地址的有效范围为本地链路。

在这里插入图片描述

  • 同链路本地地址进行通信时,必须指定出站接口,因为每个接口都链接到FE80::/10.就是说最后生成路由表的时候都是FE80::/10,这样的话就不能区分最重要从路由器的哪个接口进行出去,所以要指定出接口。

IPv6全局单播地址

  • IPv6全局可聚合的单播地址(2001::/16),相当于IPv4全局单播地址。
  • 组织对链路使用的全局单播地址进行聚合,并且在ISP进行聚合。

在这里插入图片描述

  • 全局单播地址的构成:
    • 48位的全局路由选择前缀
    • 16位的子网ID
    • 64位的接口ID(通常为EUI-64格式)

在这里插入图片描述

IPv6组播地址

  • 组播是很多IPv6功能的核心,并且因此取代了广播
  • IPv6组播地址是由前缀FF00::/8定义的
  • 一个接口可以属于任意数量的组播组

在这里插入图片描述

  • 第二个字节包含前缀标记,临时标记和范围。

在这里插入图片描述

  • 组播地址FF00::到FF0F::的T标记设置为0,他们被保留。

保留IPv6组播地址

在这里插入图片描述
这里的FF02可以类比于IPv4的224,也就是组播地址。
在这里插入图片描述

请求节点组播地址

  • 请求节点组播地址(FF02::1:FF)被用于:
    • 邻居发现过程
    • 无状态自动配置
  • 邻居发现协议(ND)实现了路由器和前缀发现、地址解析、下一跳地址确定、重定向、邻居不可达检测、重复地址检测等功能,可选实现链路层地址变化、输入负载均衡、泛播地址和代理通告等功能。
  • 邻居发现协议(NDP)使用ICMPv6报文类型:
  • 邻居请求和邻居通告消息
  • 路由器请求和路由器通告消息

在这里插入图片描述

  1. ICMPv6邻居发现(NS)阶段类似于IPv4的ARP,让IPv6路由器能够获取当前链路上的邻居的MAC地址。好比现在HOST A要发给HOST B一个报文,但是没有HOST的B的MAC地址。接下来:Host A在链路上发送一条类型为135的ICMPv6消息NS。源地址为该节点的IPv6地址。

在这里插入图片描述

  • 收到NS报文之后,每个目标节点都使用类型为136的ICMPv6消息(NA进行回复)。
  • 该消息的源地址为响应地址的IPv6地址,目标地址为发送NS的源节点的IPv6地址。
  • 数据部分包括目标节点的链路层地址。

在这里插入图片描述

  • 接下来这两台设备都知道彼此的链路层地址,就可以进行正常通信了。

在这里插入图片描述

无状态自动配置

  • 每个IPv6系统能够建立他们自己的全局单播地址(除了路由器)。
  • 无状态自动配置使用RA消息中的信息进行自动配置主机。
  • RA定期发送,但是节点在启动时发送RS消息,以免等待下一个RA。

在这里插入图片描述

  • 网络上所有路由器都立刻对RS做出应答,将一个RA发送到表示所有节点的多播地址。
  • RA包含的前缀将用作主机地址的/64前缀。
  • 使用接口ID为EUI-64格式。

在这里插入图片描述

  • 主机现在根据路由器提供的RA,创建一个link-local和请求节点地址使用DAD进程,节点验证其新的IPv6地址在链路上是否唯一.
  • 在自动配置过程中,DAD用于确保没有其他设备使用自动配置地址.
  • 在DAD阶段, Host A发送NS查询链路上的其他节点是否使用了相同的IPv6地址.
  • 如果有节点对请求作出响应,就意味着该IPv6地址被占用, Host A需要手动配置.

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ssslq/article/details/129560687