无状态自动配置过程使用IPv6邻居发现协议(NDP)的许多特性之一来发现局域网中使用的前缀。NDP为IPv6执行许多功能,所有这些都与同一子网中的两台主机之间发生的事情有关。例如,NDP的一部分取代了IPv4 ARP协议。IPv4 ARP允许位于同一子网(邻居)的设备之间学习到彼此的MAC地址。因为这和许多其他活动只发生在同一链路上邻居之间的本地子网内,IPv6将这些基本功能收集到一个称为NDP的协议套件中。
无状态自动配置使用两个NDP消息,即路由器索取(RS)和路由器广告(RA)消息,以发现LAN上使用的IPv6前缀。主机将RS消息作为IPv6组播消息发送,询问所有路由器响应问题“此子网上使用的IPv6前缀是什么?”“此子网上任何默认路由器的IPv6地址是什么?”图17-8显示总体想法,在子网1上图17-6,PC1发送RS和Router R1回复LAN和R1的IPv6前缀作为潜在的默认路由器。
示例NDP RS / RA进程查找默认路由器
笔记- IPv6允许在RA消息中列出多个前缀和多个默认路由器;这个数字只是为了简单起见,每个人都显示出一个。
IPv6不使用广播。事实上,没有作为子网广播地址,网络范围的广播地址或相当于全主机255.255.255.255广播IPv4地址的东西。相反,IPv6使用多播地址。通过使用不同函数的不同组播IPv6地址,无需参与特定功能的计算机可以简单地忽略那些特定的多播,从而减少对主机的影响。例如,只需通过路由器接收和处理RS消息,因此RS消息的目标IP地址是FF02 :: 2,这是IPv6中保留的地址仅由IPv6路由器使用。RA消息被发送到用于链接上所有IPv6主机的组播地址(FF02 :: 1),所以不仅将发送RS的主机将学习信息,但链接上的所有其他主机也将学习细节。
表17-5总结了有关RS / RA消息的一些关键详细信息。
表17-5RS / RA流程的详细信息
信息 |
卢比 |
ra. |
多播目的地 |
FF02 :: 2 |
FF02 :: 1 |
多播地址的含义 |
此链接上的所有路由器 |
此链接上的所有IPv6节点 |
IPv6地址配置摘要
本章涵盖了用于将IPv6地址分配给主机或路由器接口的四种方法。两个变体使用静态配置,而两个动态地学习地址。但是,对于静态和动态配置,存在两个备选方案 - 提供整个IPv6地址,允许主机计算EUI-64接口ID的替代方案。表17-6总结了配置方法。
表17-6IPv6地址配置选项
静态或充满活力的 |
选项 |
部分配置或学习 |
静止的 |
不要使用EUI-64 |
整个128位地址 |
静止的 |
使用EUI-64 |
只是/ 64前缀 |
动态的 |
有状态DHCPV6. |
整个128位地址 |
动态的 |
无状态自动配置 |
只是/ 64前缀 |
使用NDP发现默认路由器
在IPv4中,主机通过主机上的静态配置发现其默认路由器(默认网关),或者更通常是DHCP。IPv6也可以使用这些相同的选项,以及如上一节中所述的NDP RS / RA消息。NDP路由器发现进程默认情况下发生在IPv6主机和路由器上,因此,虽然有状态DHCPv6服务器可以提供可能的默认路由器的IP地址,但它在IPv6中完全合理,根本不打扰在a中配置这些细节有状态DHCP服务器,允许使用内置的NDP RS / RA消息。
默认路由器发现过程相对简单。路由器在定期基础上自动发送RA消息。这些消息不仅列出了发送路由器的IPv6地址,还列出了该子网上的所有已知路由器。主机可以等待下一个定期RA消息或请求通过使用RS消息征求路由器立即发送所有本地路由器。
学习DNS服务器的IP地址
与IPv4主机一样,IPv6主机通常需要知道一个或多个DNS服务器的IP地址,以将名称解析为相应的IP地址。通常,主机还需要学习要使用的DNS域名。和IPv4主机一样,可以使用(已有状态)DHCP告诉这些IP地址的IPv6主机。当主机(或路由器)使用状态DHCP了解其IPv6地址时,主机还可以学习DNS服务器IP地址和域名,从而处理此特殊细节。
无状态DHCP,它与无状态自动配置最有用的DHCP是用于查找DNS服务器IP地址和域名的替代方法。使用无状态自动部件的主机可以自动学习其IPv6地址和前缀,并在使用NDP RS / RA消息的两种情况下学习其默认路由器IP地址。但是,无状态自动配置过程无助于主机学习DNS IP地址和域名。因此,无状态DHCP使用与状态DHCP相同的消息提供的信息。但是,要提供此信息,服务器无需跟踪有关每个客户端的任何状态信息,因此可以使用无状态DHCP服务器。
表17-7总结了有状态和无状态DHCPv6的一些关键功能。
表17-7无状态和有状态DHCPv6服务的比较
特征 |
有状态DHCP. |
无状态DHCP. |
记得提出请求的客户的IPv6地址(状态信息) |
是的 |
不 |
为客户端分配IPv6地址 |
是的 |
不 |
提供有用的信息,如DNS服务器IP地址 |
是的 |
是的 |
最有用于无状态自动配置 |
不 |
是的 |
IPv6地址
本章已经介绍了IPv6地址一般格式的概念,全局Unicast IPv6地址背后的想法以及有关组播IPv6地址的一些细节。以下各节循环解决的覆盖范围,特别是IPv6地址的三类:
单播:分配给单个接口的IP地址,以允许一个主机发送和接收数据。
组播:代表动态主机组的IP地址,以便向组的所有当前成员发送数据包。一些多播地址用于特殊目的,例如使用NDP消息,而大多数支持最终用户应用程序。
yourcast:支持相同函数的服务器可以使用相同的单播IP地址,该数据包通过转发到最近的服务器的客户端发送,允许跨不同服务器的负载平衡。
单播IPv6地址
IPv6支持三个主要的单播地址类。其中一个类,全局单播IP地址,与IPv4公共IP地址的目的紧密匹配。全球单播地址由ICANN和RIR分配,以允许所有主机的全局唯一IPv6地址。这些地址来自2000 ::/ 3前缀内,其中包括以2或3(十六进制)开头的所有地址。
这里介绍的下一类IPv6单播地址,独特的本地单播地址,具有与IPv4 RFC 1918私人地址相同的功能。在IPv4中,大多数企业和大多数每个互联网的小型或家庭办公室都使用IPv4专用网络。独特的本地单播地址以十六进制FD(FD00 :: / 8)开头,格式显示图17-9。
笔记- 原始IPv6 RFCS定义了一个名为私有地址类当地网站,意思是网站内的本地(组织)。原始站点本地地址类已被弃用并替换为唯一的本地单播地址。
唯一的本地地址格式
要使用这些地址,企业工程师将以伪随机方式选择一个40位全球ID,其中目标希望地址在宇宙中是唯一的。实际上,伪随机可能是工程师组成的数字。16位子网字段和64位接口ID工作就像使用全局单播地址,编号不同的子网和主机,并允许eUI-64接口ID分配。像往常一样,工程师可以避免使用EUI-64,使用0000:0000:0000:0001的更容易记住的值作为接口ID。
链接本地地址是此处介绍的第三类Unicast IPv6地址。IPv4没有类似链接本地IP地址的概念。在将数据包通过本地子网发送数据包时,IPv6使用这些地址;路由器永远不会向其他子网链接将本地地址链接到其他子网的数据包。
链接本地地址对于不需要离开子网的函数非常有用,特别是因为主机可以自动推出自己的链接本地IP地址,而不会在子网上发送数据包。因此,在发送第一个数据包之前,主机可以计算自己的链接本地地址,以便主机在执行第一个开销消息时使用IPv6地址。例如,在主机发送NDP RS(路由器征集)消息之前,主机已经计算了其链接本地地址。主机使用其链接本地地址作为RS消息中的源IP地址。
链接本地地址来自FE80 :: / 10范围,这意味着所有以FE80,FE90,FEA0和220开头开头的地址。不需要特定的配置,因为通过使用十六进制FE80的前10位(二进制1111111010),54更多的二进制0s,以及作为主机的EUI-64格式接口ID的最后64位,因此主机形成这些地址。图17-10.显示格式。
链接本地地址格式
路由器还在每个接口上使用链接本地地址启用以支持IPv6。像主机一样,路由器自动计算它们的链接本地IP地址。实际上,例子17-1前面的本章中列出了(R1)路由器的链接输出中的Link本地IP地址显示IPv6接口命令输出。有趣的是,路由器通常使用链接本地地址作为IPv6路由中的下一跳IP地址,而不是相邻路由器的全球单播或唯一本地单播地址。
组播和其他特殊IPv6地址
多播地址可用于与主机的动态分组进行通信,发件人发送单个数据包以及根据需要复制该数据包,以便收听发送到该组播地址的数据包的所有主机接收数据包的副本。IPv6可以限制路由器基于地址的第一个四重奏中的值的路由器转发组播的范围。本书仅检查应留在当地链接的组播;这些地址全部以FF02 :: / 16开头,因此它们很容易识别。
供参考,表17-8列出了一些更常见的IPv6多播地址。特别感兴趣的是选择用于通过路由信息协议(RIP)的地址,打开最短路径第一(OSPF),以及增强的IGRP(EIGRP),这些IGRP(EIGRP)有些镜像多播地址用于IPv4的每个协议使用。
表17-8通用链接本地多播地址
目的 |
IPv6地址 |
IPv4等价物 |
链接上的所有IP节点 |
FF02 :: 1 |
子网广播地址 |
链接上的所有路由器 |
FF02 :: 2 |
N / A. |
OSPF消息 |
FF02 :: 5,FF02 :: 6 |
224.0.0.5,224.0.0.6 |
RIP-2消息 |
FF02 :: 9. |
224.0.0.9. |
EIGRP消息 |
FF02 :: A. |
224.0.0.10 |
DHCP继电器代理(转发到DHCP服务器的路由器) |
FF02:1:2 |
N / A. |
在完成IPv6寻址讨论之前,您应该了解几个特殊的IPv6地址。首先,IPv6支持环回IP地址的概念,如下所示:
:: 1(127二进制0s和1)
就像IPv4 127.0.0.1环回地址一样,这个地址可用于测试主机的软件。主机发送到此地址的数据包逐步下来,然后备份堆栈,没有与底层网卡通信。这允许在主机上测试软件,特别是在测试新应用程序时。
其他特殊地址是::地址(所有二进制0s)。此地址表示未知地址,主机在发送数据包时可以使用,以发现其IP地址。
IP协议和寻址摘要
本章介绍了有关IPv6地址的许多概念和细节,其中许多需要一些工作要记住或记忆。此简短的部分在IPv6协议上的整个主要部分中提出了几个概念,然后在继续有关路由协议和路由器配置的一些细节之前一起解决。
当一台IPv6主机首次启动时,它需要完成几个任务,才能通过路由器将数据包发送到另一台主机。当使用动态学习IPv6地址的两种方法中的一种时,可以用来将数据包通过本地路由器发送到网络的其他部分,前几个初始化步骤是相同的,只是后面的步骤有一些不同。下面的列表总结了主机在第一次引导时所采取的步骤,至少是本章涉及的函数:
步骤1主机计算其IPv6链接本地地址(以FE80:/ 10开头)。
第2步主机发送NDP路由器索取(RS)消息,其链接本地地址作为源地址和All-Routers FF02 :: 2组播目标地址,以便路由器提供默认路由器列表和使用的前缀/长度在局域网。
第3步路由器回复RA消息,消息来自路由器的链路本地地址,发送到全ipv6 -主机在链路上的组播地址(FF02::1),提供缺省路由器和前缀信息。
第四步如果动态地址分配的类型是无状态自动配置,则会发生以下情况:
一种。主机构建U单播IP地址,它可以通过使用RA消息中学到的前缀和基于NIC MAC地址计算EUI-64接口ID的前缀来发送数据包。
湾主机使用DHCP消息来询问DNS服务器IP地址和域名的无状态DHCP服务器。