ipv6地址分类知识整理(主要包括单播地址分类)(来自网络)
发布网友
发布时间:2024-09-17 07:00
我来回答
共1个回答
热心网友
时间:2024-09-29 05:28
IPv6地址划分:如图所示,地址分为三大类:组播、单播、任意播(也称泛播);
这样的分配方案支持可集聚地址、本地用地址和组播地址的直接分配,并有保留给NSAP地址和IPX地址的空间。其余的地址空间留给将来用。可用于已有使用的扩展(如附加可集聚地址等)或者新的用途(如将定位符和标识符分开)。地址空间的15%是初始分配的,其余85%的地址空间留作将来使用。
一.全球单播地址
单播可分为:全球单播地址(可理解为公网地址---IPv6)、本地链路地址、站点本地地址、回环地址、未指定地址、内嵌IPv4地址。
IPv6单播地址有以下六种类型:1-Aggregate Global Unicast Address 2xxx:xxxxx/3 - 3FFF: :FFFF 2001::/16 IPV6因特网地址 2002::/16 6to4过渡地址 2-Link Local Address FE80::/10 (前10位以FE80开头) 3-Site Local Address (Private) FEC0::/10(已经弃用,已部署的ipv6站点含有) 4-Unspecified Address 0:0:0:0:0:0:0:0/128 => ::/128 5-Loopback Address 0:0:0:0:0:0:0:1/128 => ::1/128 6-IPv4 Compatible Address ::192.168.30.1 => ::C0A8:1E01
前3bit固定001;
地址范围:2xxx:xxxxx/3 - 3FFF: :FFFF;
2001::/16 IPV6因特网地址;
2002::/16 6to4过渡地址;
3ffe::/16 用于6bone测试目的的前缀;
注意:接口标识符:指64bit的MAC地址(未来网络适配器的MAC地址),或者是基于48bit MAC地址扩展为64bit(EUI 64)。在全球单播地址中,规定如2001:BCFF:FEA6::/48表示一个IPv6路由前缀,2001:BCFF:FEA6:6C01::/64表示一个IPv6子网前缀。
1. 可聚集全球单播地址(简单点理解,这种单播地址就是公网上能用的普通IPV6地址)
全部可集聚全球单播地址定义在[AGGR]中。设计这样的地址格式为了既支持基于当前供应商的集聚,又支持被称为交换局的新的集聚类型。其组合使高效的选路集聚可用于直接连接到供应商和连接到交换局两者的站点上。站点可以选择连接到两种类型中的任何一种集聚点。IPv6可集聚全球单播地址格式如下所示:
2.本地链路地址
固定前缀FE80::/10;当一个节点启用IPv6时自动生成,格式如下图,64位拓展由MAC地址按照EUI 64转换而来。
EUI-64格式:基于MAC地址自动构造;
例如:MAC地址为0012:3400:ABCD;
首先把MAC地址对半分开,插入一个固定值FFFE;
0012:3400:ABCD ----> 0012:34FF:FE00:ABCD;
再把第七位翻转:0----> 1, 1---->0
0012:34FF:FE00:ABCD ----> 0212:34FF:FE00:ABCD;
最后加上前缀:
FE80:212:34FF::FE00:ABCD;
何为链路,我理解此处的链路就是TCP/IP网络模型中的链路层。也就是说,通过链路层能互通的接口可以称之为在同一个链路上。
链路本地地址是自动配置的,也就是说你开启IPv6协议后,就会自动的为每个接口配置一个链路本地地址。链路本地只在本链路使用,路由器不会转发任何源地址或目的地址为链路本地地址的报文。链路本地地址是为了在无法正确配置IPv6地址的情况下保证邻居发现协议能够正常工作,设计链路本地地址的目的是为了用于诸如自动地址配置、邻居发现或无路由器存在的单链路的寻址。
路由器不能将带有链路本地源地址或目的地址的任何包转发到其他链路上去。其格式如下:
所以链路本地地址的前缀是:fe80::/64
链路本地地址只在本链路生效,而且可能重复,并且也无法路由,所以在ping一个链路本地地址的时候必须指定接口,否则节点不知道将请求发往哪个接口。
格式一般如下:
ping6 fe80::713e:a426:d167:37ab%eth0
举个例子:我的是教育网,有全球单播IPV6地址(其中一个网络interface的情况,实际中还有很多隧道呀,和虚拟网卡)
2001:250:4000:4000:f80f:6d4c:4310:xxxx就是能在公网上出现的IPV6地址。
看那个本地链接IPV6地址: fe80::f80f:6d4c:4310:b18e%11 这个就是链接本地地址。这个地址只能对应某一条链路!后面的%11就是指你的网络interface标识符,如下图标志的. (输入route print后,有一部分显示出下图)
3.本地站点地址
类似于IPv4中的私有地址,仅在内部网络使用,如打印机。
固定前缀FEC0::/10;
对于IPv6本地站点地址的配置,必须通过DHCPv6进行地址的分配、无状态的前缀公告、或者手工的进行输入。16进制表示为:FEC0::X:X:X:X , 站点本地地址的设计目的是为了用于无需全球前缀的站点内部寻址。路由器不应转发站点外具有站点本地源或目的地址的任何包。
4.唯一本地地址
ULA,唯一本地地址,概念上相当于私有IP,仅能够在本地网络使用,在IPv6 Internet上不可被路由。上面提到的站点本地地址由于起初的标准定义模糊而被弃用,而后RFC又重新定义了唯一本地地址以满足本地环境中私有IPv6地址的使用。
在RFC4193中标准化了一种用来在本地通信中取代站点本地单播地址的类型。ULA拥有固定前缀FC00::/7,分为两块:FC00::/8暂未定义,FD00::/8定义如下:
5.未指定地址
形式:0:0:0:0:0:0:0:0/128 --> ::/128;
表示地址未指定,或者在写默认路由时代表所有路由;
该地址作为某些报文的源IP地址,比如作为重复地址检测时DAD时发送的邻居请求报文的源地址,或者DHCPv6初始化过程中客户端所发送报文的源IP。
6.回环地址
形式:0:0:0:0:0:0:0:1;
同IPV4中127.0.0.1地址的含义一样,表示节点自己。
7.内嵌IPv4
映射IPV4的IPV6地址--仅用于拥有IPV4和IPV6双协议栈节点的本地范围
其中高80bit设为0,后16bit设为1,再跟IPV4地址
0000:0000:0000:0000:0000:ffff:206.123.31.2
0000:0000:0000:0000:0000:ffff:ce7b:1f01
8.组播地址(IPv6通信的核心)
前缀:FFxx::/8;
在IPV6中没有广播的概念,而是使用用组播来代替;因此IPv6中存在大量的组播使用。
标志位为0000表示是永久保留的组播地址,分配给各种技术使用;
标志位为0001表示是用户可使用的临时组播地址;
范围段定义了组播地址的范围,其定义如下:
二进制 十六进制 范围类型
0001 1 本地接口范围
0010 2 本地链路范围
0011 3 本地子网范围
0100 4 本地管理范围
0101 5 本地站点范围 类似组播的私网地址
1000 8 组织机构范围
1110 E 全球范围 类似组播的公网地址
下面是一些组播指定地址:
FF02::1 all nodes 在本地链路范围的所有节点
FF02::2 all routers 在本地链路范围的所有路由器
FF02::5 all ospf routers
FF02::9 all rip routers 所有运行RIP的路由器
FF02::A all eigrp routers 所有运行eigrp的路由器
FF05::2 在一个站点范围内的所有路由器
中国三大运营商用的ipv6:
电信是240e开头的(240e::/20)
移动是2409开头的(2409:8000::/20)
联通是2408开头的(2408:8000::/20)
其他一些标记有teredo也不是原生ipv6
fe80开头就像169.254.x.x,是这个网段里没人给你分ip,自动协商的地址,其地址不能在网络上路由,也就是说,通常无法用于上网。
注意:在IPv4中除了IP地址外,还有子网掩码之说,但在IPv6中已不再使用,IPv6仅支持前缀长度表示法。