万金流
以码会友。 吾Q:578751655。 水平有限,轻喷,谢!

最近对照IPv4看了关于v6,做出整理如下。以此为骨干,继续对照学习就很容易了。

想看懂本文,你得有点v4的基础。

128位表示法、前缀、压缩表示等等基础不提。


 常见说法:

当前链路------------对应v4的网段,由路由器分隔。

组播、多播--------我理解为广播。

部分常见地址(小写x表示任意,数制、长度结合上下文):

意义 地址 说明
唯一地址 FD00::/8

本意是为节点上的设备(如打印机)正常工作,提供的内网访问地址。用途不大。

作用域在链路上,类似v4的私网地址。

链路本地地址 FE80::/10 初始或不得已才使用的地址。就是v4里的“169.254.x.x”。链路内有效。
全球单播地址 2000::/3 v4的公网ip,可被全球路由。
本地环回地址 ::1/128 v4的“127.0.0.1”。
三层广播地址 FF00::/8

以前的“255.255.255.255”等,可细分。常见的如:"FF02::1"为当前链路所有主机;1

"FF02::2"为当前链路所有路由器。1

三层广播地址的一种:

单个节点广播地址2

FF02:0:0:0:0:1:FF00::/104 

由前缀后面,接上ip地址的后24位构成。用于寻址节点,并标明性质(广播)1

组播mac地址2

”33-33-FF“开头

后面接上ip地址的后24位,构成形如”33-33-FF-xx-xx-xx“的48位广播mac地址。

功能上,就是v4的”FF-FF-FF-FF-FF-FF“。1

表说明:

1、思想上,IPv6想让广播更具有针对性,以减少链路上节点的负荷,所以有了上表中形形色色细分的广播。

2、用节点广播地址和组播mac地址,来进行广播,取代以前的二层ARP寻址。后面有说明。

二层基本思想没变,以前ARP的漏洞仍然存在。

相对于ARP,这种寻址是否安全,还要看v6自带的验证(防欺骗)机制够不够强。


 

常见ICMPv6协议:

路由器请求RS(Router Solicitation)数据包Type字段值为133,路由器通告RA(RouterAdvertisement)数据包Type字段值为134。
邻居发现协议(NDP):邻居请求(Neighbor Solicitation)数据包Type字段值为135,邻居通告(Neighbor Adivertisment)数据包Type字段值为136。

上述四个协议,分为两组。

其实就是1、针对路由器广播,获取路由器信息。2、针对链路内节点广播,获取节点信息。


 

IPv6的工作方式:

基本和v4一样,下面列出我看到的特点。

在获取地址上:

1、节点启动,先给自己一个FE80地址。通过上面提到的“RS/RA”[三层广播("FF02::2")寻找路由器],获得链路网段。

1-1、如果路由器有DHCPv6,节点也接受,即获取到IP地址和配置。

DHCPv6-PD中的PD,是指"Prefix Delegation",前缀代理。DHCP服务器从它前面(更靠近公网)那一侧拿到的DHCP前缀如果不足64位,它自己会划分成补足的64位前缀,下发给内部链路节点。

1-2、如果路由器不做DHCP,节点可以根据最常见的“EUI-64”规则(也可以是其他规则),结合自己的mac地址,算出一个ip地址,用于联网。

关于EUI-64,自行查找资料。

1-3、计划好给自己什么地址以后,会用NDP,通过"NS/NA"拿这个地址进行广播。链路上机器都没有异议,即正式分配给自己。

2、节点间的通讯(ARP广播),地址表下方略有提及。也是通过NDP来实现。

在路由上:

由于IPv6在最初顶级地址的分配上,就按组织给出了地址段(例如有报道说,中国电信的IPv6地址段为240e::/18,中国联通的IPv6地址段为2408:8000::/20,中国移动的IPv6地址段为2409:8000::/20)。所以除了v4里的那些路由之外,v6应该还可以根据ip做默认路由(向上层转发未匹配的ip包)。只不过这种路由方式……跟以前国内的三网分离一样,会很慢。


其他的,跟v4大同小异吧。

 

posted on 2023-12-27 21:59  万金流  阅读(219)  评论(0编辑  收藏  举报