IPv6地址分配方式

IPv6 的地址配置方式        

IPv6 是没有广播寻址模式的,所以ARP在 IPv6 中已被弃用。代而替之的,IPv6 支持 3 种地址配置方式:

  1. 手动配置
  2. 基于 ICMPv6 NDP 协议的自动配置
  3. 基于 DHCPv6 协议的自动配置

        在IPv6自动配置IP的过程中支持三种配置方式:

  1. SLAAC:即无状态自动配置。主机可以通过RA(Router-Advertisement)消息ICMP type134中携带的前缀得到地址的前缀部分,同时通过该接口自动生成接口ID部分,从而得到一个完整的128位的IPV6地址,该消息默认情况下每200S发送一次。当然主机(或路由器)也可以主动发送RS(Router Solicit)消息ICMP Type=133来主动请求该前缀。
  2. Stateful DHCPv6:即有状态DHCP v6地址分配。通过DHCPv6向主机下发相关前缀、地址、DNS等参数。同时在Stateful DHCPv6又可根据RA报文等配置分为
  3. Stateless DHCPv6:Stateless 和 Stateful 并不完全冲突,可以同时部署,协同使用。利用 NDP 下发网关和子网前缀等信息,主机根据子网前缀自动生成 IPv6 地址。同时,利用 DHCPv6 配置 DNS Server 等其他信息。
模式DHCPv6NDP
SLAAC-网关、子网前缀、MTU、主机根据子网前缀自动生成 IPv6 地址、DNS等
StatefulMTU、主机IP、DNS子网前缀、网关
子网前缀、MTU、主机IP、DNS网关
StatelessDNS子网前缀、网关、MTU、主机IP、DNS

ICMPv6 NDP 协议

        IPv6 引入了 ICMPv6 NDP(Neighbor Discovery Protocol,邻居发现协议)来替代 IPv4 的 ARP(Address Resolution Protocol,地址解析协议)。NDP 基于 ICMPv6(Internet Control Message Protocol Version 6,网络控制消息协议第六版)实现,ICMPv6 报文(作为 IPv6 扩展头部)封装在 L3 报文中,可视为 3 层协议。

        NDP(Neighbor Discovery Protocol,邻居发现协议)是IPv6的一个关键协议,它组合了IPv4中的ARP、ICMP路由器发现和ICMP重定向等协议,并对它们作了改进。作为IPv6的基础性协议,NDP还提供了前缀发现、邻居不可达检测、重复地址监测、地址自动配置等功能。
                NDP 控制了 IPv6 本地链路上的以下主要活动:

功能解释
邻居发现(Router Discovery)帮助节点确定相邻节点的链路本地地址
前缀发现(Prefix Discovery)使节点能够搜索已分配给链路的已知子网前缀。节点通过子网前缀来区分位于本地链路上的目标、以及其他链路上的目标
路由器发现帮助主机查找本地链路上的路由器
参数(Parameter Discovery)节点能够发现所在链路的参数,像链路的 MTU 和跳数限制等
地址自动配置(Address Auto Configuration)使节点能够为其接口自动配置 IPv6 地址
邻居状态跟踪可达性
地址解析(Address Resolution)节点不需要通过 ARP 就能够获取链路上其它节点的 MAC 地址
确定下一跳(Next-Hop Determination)能够确定到达目的节点的下一跳链路层节点,或者所在链路的目的节点,或是到达目的节点的路由器
邻居不可达检测(Neighbor Unreachability Detection)节点上能够检测到链路上的邻居何时不可达,邻居有可能是主机,也可能是路由器
重复地址检测(Duplicate Address Detection)使节点能够确定其要使用的地址是否尚未被使用
路由重定向(Redirect)使路由器能够通知主机要用于到达特定目标的较好(优选)的下一个跃点节点

ICMPv6 NDP 协议的消息类型

        NDP协议中一共有五种ICMPv6报文类型,分别是RS,RA,NS,NA和Redirect报文。

ICMPv6消息名称作用
Type=133RS(Router Solicitation,路由器请求)地址自动配置
Type=134RA(Router Advertisement,路由器公告)
Type=135NS(Neighbor Solicitation,邻居请求)地址解析
Type=136NA(Neighbor Advertisement,邻居公告)
Type=137Redirect(重定向报文)路由器重定向

       IPv6地址自动分配流程

        IPv6自动配置地址 RA里的A、M、O标记位

        在ICMPv6 RA(Router Advertisement)包里面的标识位,标识位可以表示你自动获得地址的方式,发过来的RA默认的标识位是A=1 M=0 O=0 代表SLAAC方式(SLAAC就是通过RA包来生成地址),我们可以通过去改标识位来改变ipv6的地址自动分配方式,具体标识位的使用如下:

        A flag标识位(Address Autoconfiguration) 在RA的前缀字段 其实代表有无状态 A=1,使用RA里面的前缀字段生成GUA(全球单播地址)地址 A=0 则不通过RA前缀生成,说白了就是:你的GUA是怎么来的,是通过DHCP 还是SLAAC?

        M flag标识位(Managed Address Configuration)在flag字段里 代表使不使用DHCPv6 M=1,使用DHCP分配GUA地址, M=0 不使用DHCP分配地址,事实上 当你配完M=1 就不用管O了 因为M的意思就是无论是地址还是其他信息 都是通过DHCP去分配

        O flag标识位 (Other Configuration)和M在同一字段,代表其他的信息,O=1 使用DHCP获取其他信息(如:DNS地址)这里可以理解为DNS信息 O=0 从RA获取其他信息,其实RA里是没有DNS信息的,所以SLAAC的获取地址方式是没有DNS信息的

        IPV6 SLAAC地址分配过程

        主机可以通过RA(Router-Advertisement)消息ICMP type134中携带的前缀得到地址的前缀部分,同时通过该接口自动生成接口ID部分,从而得到一个完整的128位的IPV6地址,该消息默认情况下每200S发送一次。当然主机(或路由器)也可以主动发送RS(Router Solicit)消息ICMP Type=133来主动请求该前缀。

无状态地址具体地址分配过程
序号动作
1根据接口标识产生链路本地地址。
2主机发送RS报文前缀地址,Type类型133为配置接口,主机需要前缀信息(类似于IPV4地址的网络部分),因此它会发送一条路由器请求(RouterSolicitation,RS)消息。该消息以组播方式发送给所有路由器。这实际上是一种ICMP消息,并用编号进行标识。PC发送RS(Router Solicitation)给到本地节点,所有路由器组播地址FF02::2。
3路由设备回复RA,Type类型134路由器使用一条路由器通告(Router-Advertisement,RA)消息进行应答,其中包含请求的前级信息。RA消息也是组播分组,被发送到表示所有节点的组播地址,其ICMP类型为134。RA消息是定期发送的,但主机发送RS消息后,可立即得到响应,因此无需等待下一条定期发送的RA消息,就能获得所需的信息。
4路由分配地址发送NS,消息类型Type=135路由器发送NS,Type=135,给主机分配具体IPv6地址
5主机回复NA,消息类型Type=136主机回复NA,Type=136,主机回复确认使用NS发分配的地址
6针对IPv6单播地址执行DAD检测

IPv6 DHCP分配地址

DHCPv6地址分配又分为两种:有状态DHCPv6和无状态DHCPv6

Stateful DHCPv6地址、前缀和其他参数如DNS通过DHCP发送
Stateless DHCPv6地址通过RA通告获取,其他参数如DNS通过DHCPv6发送

Stateful DHCPv6地址自动分配过程

        在有状态地址配置过程中,DHCPv6服务器为主机分配一个完整的IPv6地址,并提供DNS服务器地址等其他配置信息。此外,DHCPv6服务器还可以对已经分配的IPv6地址和客户端进行集中管理。

DHCPv6有状态地址自动分配过程
序号动作
1根据接口标识产生链路本地地址。
2主机发送RS报文前缀地址,Type类型133主机在向DHCPv6服务器发送请求报文之前,会发送RS报文,在同一链路范围的路由器接收到此报文后会回复RA报文。在RA报文中包含前缀地址标识位(A=0)管理地址配置标记(M=1)和有状态配置标记(O=1)。
3主机发送Solicit报文请求DHCPv6服务器为其分配IPv6地址和网络配置参数
4路由设备将主机请求通过中继转发给DHCPv6服务器转发来自主机方向DHCPv6请求报文,协助DHCPv6客户端和DHCPv6服务器完成地址配置功能。
5DHCPv6服务器回复Advertise报文,该报文中携带了为客户端分配的IPv6地址以及其它网络配置参数。
6DHCPv6客户端根据收到的Advertise报文中的服务器优先级等参数来选择优先级最高的一台服务器,并向所有的服务器发送Request组播报文。
7DHCPv6服务器被选定的DHCPv6服务器回复Reply报文,确认将IPv6地址和网络配置参数分配给客户端使用。

Stateless DHCPv6地址自动分配过程

DHCPv6无状态工作过程如下:
DHCPv6客户端以组播方式向DHCPv6服务器发送Information-Request报文,该报文中携带Option Request选项,用来指定DHCPv6客户端需要从DHCPv6服务器获取的配置参数。
DHCPv6服务器收到Information-Request报文后,为DHCPv6客户端分配网络配置参数,并单播发送Reply报文,将网络配置参数返回给DHCPv6客户端。
DHCPv6客户端根据收到的Reply报文中提供的参数完成DHCPv6客户端无状态配置

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值