浅谈ipv6 您所在的位置:网站首页 ipv6无状态和有状态自动配置的区别 浅谈ipv6

浅谈ipv6

2024-07-13 07:51| 来源: 网络整理| 查看: 265

目录

IPv6 地址分类

IPv6 地址—IPv6接口ID的生成方式

IPv6 地址—IPv6组播地址

预定义的All Nodes Addresses组播地址:

预定义的All Routers Addresses组播地址:

Solicited-Node多播地址:

icmpv6协议

IPv6 邻居发现协议

重复地址检测

重定向

Path MTU—PMTU发现过程

 NS报文作用

ipv4和ipv6地址和DNS获取区别

无状态、有状态地址分配

无状态(Stateless M=0):根据RA中的前缀信息自动配置ipv6地址

有状态(M=1):通过DHCPv6⽅式获得IPv6地址

最后附上一个大佬的文章!!

(IPv6地址组成:前缀 + 接口标识)

IPv6 地址分类 单播地址:标识一个接口,目的为单播地址的报文会被送到被标识的接口

链路本地地址:用于本地链路寻址,自动地址配置和邻居发现,以FE80开头, 例FE80::E0:F726:4E58

组播地址任播地址

(单播地址或任播地址的后64位除特殊情况必须是该接口的接口标识符)

IPv6 地址—IPv6接口ID的生成方式

依据IEEE-EUI-64自动生成:将48比特的MAC地址转化为64比特的接口ID(在中间插入FFFE,将表示Universal/Local (U/L)位由0改成1)

IPv6 地址—IPv6组播地址

前缀:FFxx::/8;

在IPV6中没有广播的概念,而是使用用组播来代替;因此IPv6中存在大量的组播使用。

预定义的All Nodes Addresses组播地址:

FF01:0:0:0:0:0:0:1   (interface-local)

FF02:0:0:0:0:0:0:1   (link-local).

预定义的All Routers Addresses组播地址:

FF01:0:0:0:0:0:0:2    (interface-local)

FF02:0:0:0:0:0:0:2    (link-local).

FF05:0:0:0:0:0:0:2    (site-local).

Solicited-Node多播地址:

(Solicited-Node多播地址的前缀都是相同的,只有最后24位不同,而最后24位取自单播或者任播地址的最后24位。这24位实际就是取自于64位接口标识符的后24位。)

 RFC 4861 IPv6邻居发现中规定,在节点进行地址解析时,要将邻居请求(NeighborSolicitation)消息发送到请求目标地址(目的地址是一个组播地址)的请求-节点多播地址。

  

RFC4862 无状态地址自动配置 中规定,在节点执行 DAD重复地址检测(DuplicateAddress Detection) 时,要将邻居请求(NeighborSolicitation)消息发送到请求目标地址的  被请求-节点多播地址。(源地址为空,进行组播检测是否有人在使用此地址了,如果有带上地址的回复,则证明此地址被用了)

回复带了地址(则表示此地址有人在用):

数据包的目的地址是根据target address 生成的

简单描述:

我想用这个target地址,那我就先把这个NS报文发送给这个target地址所在的组放ff02::16,所有的组成员就会收到,如果有某个组成员用了这个target ip,则就会回复带有此target ip的报文证明有人在用此ip了。

IPv6的ND模块中用于报文目的地址、IPv6重复地址检测(DAD)的目的地址(也就是正在被进行地址解析或者重复地址检测的地址)

        FF02:0:0:0:0:1:FFXX:XXXX XX:XXXX取单播/任播地址的接口ID的后24Bits

ipv6 与MAC地址的映射关系

        FF02:0:0:0:0:1:FFXX:XXXX  MAC 地址是3333+接口ID后32bits。

icmpv6协议

邻居发现、PathMTU发现机制均是基于ICMPv6协议报文实现的

IPv6 邻居发现协议 重复地址检测

使用NS和NA的交互过程 邻居请求NS使用组播(根据ip的到mac),相当于IPV4的arp请求,从协议地址向硬件地址映射的功能, 邻居公告NA返回则直接使用单播。

link-local地址自动配置

主机和路由器在接口初始化时都会自动生成 Link-local地址 接口ID通常使用EUI-64格式生成

非link-local地址自动配置

非Link-local地址的自动配置只应用于主机,主机需要从路由器公告获取前缀信息。(isp给我们最外层路由器分配两个地址,一个是全球单播ipv6地址、一个是前缀),只有主机可以直接使用此前缀生成ipv6。想其他设备也可以使用前缀生成地址,则需要再搭建一个服务器,

重定向

可以直接到达想要到的目的地,节省带宽资源、已经减轻中介设备的负担。

Path MTU—PMTU发现过程

( IPV6只在源节点分片,目的节点重组)

路由器转发时,将数据包的大小和出接口的MTU比较,不大于MTU就可以通过,否则就给源节点发送ICMPv6的数据包过大消息,并告知MTU的值。即需要协商最小MTU。

 NS报文作用

1、DAD地址检测

2、根据ip建立通信获取mac

链路本地地址(Link-local Address)是一类特殊的IP地址,仅用于在网段内、同一广播域内的主机相互通讯使用,这类主机可认为是不须要外部互联网服务的。

 inet6 addr: fe80::e267:b3ff:fe00:2/64(链路本地地址,即使没给分配,都会自动根据自己的mac生成,因为NS交互就是要通过ip通信来获取对方mac,但是生成前(NS报文)会进行DAD检测,无冲突则用此地址)

 E0:67:B3:00:00:02  ---》fe80::e267:b3ff:fe00:2生成说明:

fe80 :开头的ip地址在ipv6中是链路本地地址。

e2:根据mac中的E0,将第七位翻转而得到 E0: 1110 0000  --》E2:1110 0010

ff:fe:在fe80之后的第4、5字节替换为FFFE

(生成链路本地地址的方式不止这一种)

ipv4和ipv6地址和DNS获取区别

1.ipv4 dhcp 获取,可以获取一切信息,包括ipv4地址掩码,网关;DNS

2.ipv6地址获取有2种方式,有状态和无状态获取。

无状态、有状态地址分配

通过RA中的M、O标志位决定是无状态还是有状态地址分配

M标记值为0时,表示RA中携带的Prefix Information Option可以用于完成无状态地址分配;

M标记值为1时,表示需要使用DHCPv6协议获取IPv6地址。

M标记为0时,Host可以使用RA中Prefix Information Option中的IPv6 Prefix和自己的接口ID组成IPv6全球单播地址

目前IPv6地址的分配方法有以下几种: ❑ 手动配置。手动配置 IPv6 地址 / 前缀及其他网络配置参数( DNS 、 NIS 、 SNTP 服务器地址等参数) ❑ 无状态自动地址分配。由接口 ID 生成链路本地地址,再根据路由通告报文 RA ( Router Advertisement )包含的前缀信息自动配置本机地址 ❑ 有状态自动地址分配,即 DHCPv6 方式。 DHCPv6 又分为如下两种 :        ➢ DHCPv6 有状态自动分配。 DHCPv6 服务器自动分配 IPv6 地址 /PD 前缀及         其他网络配置参数(DNS 、 NIS 、 SNTP 服务器地址等参数)         ➢ DHCPv6 无状态自动分配。主机 IPv6 地址仍然通过路由通告方式自动生         成,DHCPv6 服务器只分配除 IPv6 地址以外的配置参数,包括 DNS 、 NIS 、         SNTP服务器等参数 无状态(Stateless M=0):根据RA中的前缀信息自动配置ipv6地址

IPv6无状态地址分配,使用ND协议的RSRA交互完成

ipv6地址通过路由通告RA方式生成

有状态(M=1):通过DHCPv6⽅式获得地址

  IPv6地址、其他参数(如DNS)均通过DHCPv6获取     

m=0就是无状态(ipv6地址通过ra前缀生成),m=1就是有状态(ipv6地址通过dhcpv6获取)

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信息的(因此图表里SLAAC方式的DNS是无)

注意: 网关不做讨论,网关都是通过RA的源地址生成的(因为网关地址是本地链路地址)

所以就看他俩怎么生成的(地址(GUA)和其他信息(DNS))

这样的话是不是就好理解了呢?

拿SLACC为例  A=1 GUA就通过RA来实现,

                        M=0 GUA不要使用DHCPv6实现

                        O=0  其他信息通过RA来获取,但是呢  RA里是没有这个东西的,如果是1 就要去                                   通过DHCP找DNS(其他信息)

RA报文中的M, O 标志分别可以用来控制,地址和其他信息的获取方式,M=1,O=1 表示地址和dns等其他信息都从dhcpv6服务器中获取;M=0,O=1表示地址根据RA分配的前缀自动生产,dns等信息从dhcpv6服务其中获取;M=0,O=0 表示地址和dns等信息都从RA中获取;M=1,O=0  是不合法的。

最后附上一个大佬的文章!!

深入浅出ipv6有状态、无状态



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有