IPv6地址分类细则

IPv6总共采用128比特去表示一个地址,这个众所周知。而且在一个接口上配置多个IPv6的单播地址,但是链路本地地址只能配置一个,因为链路本地地址的本质含义是代表了一条链路,所以只能配置一个

同时采用16进制表示128位的二进制IPv6地址。

128位被分为8块,每块里面有四位16进制数值。

同时采用压缩简写当有多个块里面的值全为0,那么可以使用::代替,但是这个::只能使用一次。同时比如一个块里面的值为0011,那么前面的0是可以忽略的,也就是可以写为11.

IPv6的地址类型

单播

任意播

组播

单播地址

其中单播又分为全球单播地址,唯一本地地址,链路本地地址,未指定地址(::),

本地环回地址(::1)

全球单播的范围为2000::/3。IANA拿和RIR到这个网络之后,也就是掩码为3的网络之后,它再将其分为多个掩码为32位或35位的网络,然后将32位或者35位的网络分配各个地方的大ISP,然后ISP再将该网络中的48位掩码的网络分配给各个地方需要的客户。一般会分配48位掩码,然后留16位掩码用于客户自己进行子网的划分,然后留64位作为主机号,但是有的时候也有一些其他的情况:

目前使用的IPv6地址是2001::/16(因特网地址)2002::/16(IPv4到IPv6

的过渡地址)

唯一本地地址

唯一本地地址是一种私有地址,相当于IPv4的私有地址,它原本的范围是:

FC00::/7,将这个范围分为两块,第八位是0则是保留的私有地址的范围,当第八位是1则是目前正在使用的私有地址范围

FC00::/8:这个用作保留

FD00::/8:这个是目前使用的

唯一本地地址的格式和上面的全球单播地址差不多,同样是7位,41位由地址分配机构分配的内容,16位子网ID,64位接口ID。

链路本地地址

链路本地地址是旨在链路内有效的地址,这个地址仅仅在同一链路上有效,当设备启动后就会根据他的mac地址分配一个对应的链路本地地址。

链路本地地址的格式分为三块,

1、固定10位 fe80::/10

2、54位的0

3、64位的接口ID

其中64位的接口Id是根据EUI-64算法生成的,首先将mac地址从中间分开,然后在它们中间添加一个FFFE,然后还要将该结果的第7位取反,于是48位的mac地址加上16位FFFE最后就生成了一个64位接口ID。当然在路由器上我们也可以自己设置链路本地地址,在一些操作系统上链路本地地址也可以由系统生成。

未指定地址

::/128

环回地址

::1/128

任播

任播的地址范围和单播一样

多台设备可以配置相同的IPv6地址,当有一个关于该IPv6地址的请求的时候,可以通过筛选出一个于源设备最近的设备进行响应,主要应用于服务器负载分担的场景,但是现在还没有大规模应用。

组播

组播的范围如下图所示:

组播的前面八位全部都是1,然后是4位的标识,如果第四位是0,则代表是永久的组播地址如果是1代表是自定义的组播地址,在标识的后面还要4位的范围标识,后面的范围标识表示了组播的范围。

范围标识的取值(常见):1本地接口

                                            2链路本地

本地接口仅作用于本地,一般用于自身的测试。

链路本地用于同一链路的组播,其中2是最常见的。

紧接着的是80位的保留,全部以0填充,使用最后的32位作为组播组的标识,因为32位的组播位已经足够表示组播组了。

固定的组播组ID:

1 代表所有节点

2 代表所有路由器

5代表所有ospfv3路由器

6代表所有ospfv3的DR路由器

9代表所有rip路由器

C代表dhcp的路由器和中继

IPv6的组播地址和mac地址的对应的映射关系:

组播MAC地址=3333+组播地址的后32位

比如一个IPv6地为FF02::1,那么它就会使用这样的一个格式:3333+组播地址的后32位,于是就凑成了48位的组播mac地址,于是这个例子的最终结果就是33-33-00-00-00-01

被请求节点的组播地址

FF02::0001:FFXX:XXXX

其中红色部分就是被请求节点的网络前缀,后面的蓝色部分就是待填充的部分,该块内容填充IPv6地址的后面24位。被请求节点主要用于ICMPv6中MAC信息的查询地址冲突的检测,因为在IPv6中取消了广播,所以ARP也被取消了,所以MAC信息的查询和地址冲突的检测的重担都落在ICMPv6身上,既然取消了广播,那么我们到底该如何在广播链路中找到目标节点的身影呢?这里就要使用被请求节点的组播地址,因为被请求节点的组播地址的最后24位与IPv6地址的最后24位挂钩,所以我们可以认为配置某个IPv6地址的接口都加入了该IPv6地址对应的组播组中,所以当我们进行MAC信息的查询的时候,只要将目的IP设置为该组播组IP地址,然后报文的目的MAC再根据目的IP与组播MAC的映射关系进行填充,在报文内部填入我们想要获取MAC地址信息的对象的IP地址,当对象接收到这个报文之后就会进行单播回应,IPv6就是以这种方式进行MAC地址信息的获取。地址冲突检测其实就相当于免费ARP,其核心原理就不赘述了。这样的话可以减少主机对无关报文的处理,因为它们看到目的MAC的时候就能很快的判断自己是否是这个报文的接收者。

--------------------------------------------------------------------------------------------------------------------------------

总结

--------------------------------------------------------------------------------------------------------------------------------

全球单播地址范围

2000::/3

全球单播地址格式:

三位固定值+45位地址分配机构分配的值+16位子网ID+64位接口ID

--------------------------------------------------------------------------------------------------------------------------------

唯一本地地址地址范围

FD00::/8

唯一本地地址地址格式

7位的固定格式+41位由机构分配的值+64位的接口ID 

--------------------------------------------------------------------------------------------------------------------------------

链路本地地址范围

FE80::/10

链路本地地址格式

10位的固定值+54位的0+64的接口ID

其中接口ID由EUI64和mac地址组成的

--------------------------------------------------------------------------------------------------------------------------------

本地环回地址

::1/128

未分配地址

::/128

--------------------------------------------------------------------------------------------------------------------------------

组播地址格式

8位ff+4位组播性质标识+4位的组播范围标识+112位的组播ID(112组播ID仅仅使用32位)

ipv6组播地址的最后32位+3333组成组播mac地址。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mllllk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值