在IPv4网络中,要使一台主机能够与网络上的其他主机进行通信,该主机需要获取一个经由DHCP分配或手动配置获得的IP地址。一旦主机拥有有效的IP地址,它就可以与同一子网上的任何主机进行通信。
为了在网络层(第3层)进行通信,主机还必须知道其他主机的IP地址。在链路层(第2层)上的通信是通过硬件嵌入的MAC地址建立的。为了知道已知IP地址的主机的MAC地址,主机会发送ARP广播请求,目标主机会作出回应并提供其MAC地址。
而在IPv6网络中,广播机制已经不再存在。启用IPv6的主机不必从DHCP获取IP地址或手动配置,它可以自动配置自己的IPv6地址。
ARP协议已经被ICMPv6邻居发现协议所取代。
IPv6网络中的主机可以使用唯一的链路本地地址来自动配置自己的IPv6地址。一旦主机获得IPv6地址,它会加入多个多播组,所有与该段相关的通信都将在这些多播地址上发生。
主机通过IPv6中的一系列状态来实现这一自动配置过程:
一旦主机完成其IPv6地址的配置,它会执行以下操作:
在IPv4中,IP地址的分配是基于地址类别的。不同的地址类别明确定义了用于网络前缀和用于主机的位数。要在IPv4中进行子网划分,通常使用默认的类别网络掩码,这允许我们借用主机位来创建子网。
然而,这种做法导致了多个子网,但每个子网中可用的主机数量相对较少。换句话说,当我们借用主机位来创建子网时,我们会牺牲一些主机地址。
而在IPv6中,IP地址由128位组成,其中包括用于子网划分的位。地址的后半部分(低64位)始终用于主机部分。因此,如果我们对IPv6网络进行子网划分,就不会有这种牺牲。IPv6地址的子网划分是更加灵活的,不会对可用的主机地址数量产生影响。
图示中展示了IPv6的子网划分示意图,其中16位子网位相当于IPv4的B类网络。使用这些子网位,一个组织可以创建多达65535个子网,每个子网可以容纳264个主机。这远远超过了IPv4的灵活性。
因此,IPv6的路由前缀通常为/64,主机部分占64位。虽然可以通过借用主机位来进一步划分子网,但是建议始终为主机地址保留64位,因为IPv6的自动配置需要64位。
IPv6的子网划分与IPv4中可变长度子网掩码的概念相似。通常,一个组织可以获得一个/48的前缀,这允许它创建多达65535个子网前缀,每个子网前缀可以容纳264个主机。这种灵活性允许将一个/64前缀分配给只有两个主机(或启用IPv6的设备)的点对点连接,而不浪费大量地址空间。