本章首先讨论寻址和地址分配对IP网络的影响,然后讨论IPv6选路与IPv4选路的区别,重点介绍IPv6选路协议,也将讨论与选路相关的不同传输类型—单播、任意点播和组播。
8.1 地址对IP网络的影响
追溯至7 0年代后期、8 0年代初期, IP刚诞生的时候,几乎无人想到IP和Internet会发展为上万个不同网络、数千万个主机的规模。在描述早期IP实现的文档RFC 8 1 4 (名字、地址、端口和路由)中,只使用了3 2位地址中的8位来标识网络。即,这些互联网络最多只支持2 5 6个网络。即使较复杂的实现也使用比较简单的寻址机制,即单个网络使用一个选路表项来指定,每个网络内部的单个主机使用一个主机表项来指定。
主机名和网络域名与主机地址和网络地址是通过简单的表链接到一起的。如果一个主机的网络地址改变了,例如由于网络重构而导致地址变化,就必须更新相关的表。如果一个网络域的地址改变,也必须更新选路表。主机地址的变化只需要在主机所在的域内进行更新,
而网络地址的变化还需要对外部路由器的表进行更新。通过使用域名系统( D N S )服务器可以简化这种情形,而D N S还有待充分地规范和实现。在D N S的支持下,节点可访问D N S服务器以查询与主机名字相对应的网络地址。因此应用程序无需考虑IP地址,除非主机名所对应的IP地址可能改变。
然而,使用IP地址作为主机或节点的全球唯一标识已经有很长的历史,而且暂时还很稳定。即,不仅每个IP主机和网络都是通过唯一地址标识的,而且在一段时间内,该地址将保持不变。直到9 0年代中期,这种方案的效果一直很好。当Internet作为一种通信媒体,大规模地提供给各机构和个人访问,如同使用电信业务一样,此时IP地址的使用和分发也随之发生了变化。此前,大多数使用IP和Internet的公司直接向负责编址的授权机构申请网络地址和网络域,直接负责自己的Internet (或Internet的前身,如N S F N e t或A R PA N e t )连接,或与某些专业网络厂商(如B o l t,B e r a n e k和N e w m a n,即B B N )合作负责。
但是,当Internet进入商用之后,情况就发生了变化。尤其是随着负责编址的授权机构对地址进行严格管理,单独的机构不再直接控制其IP地址。这些授权机构把编址任务交给ISP来代理,并且与CIDR共同使用,这样就可以对路由进行集聚。由于选路表的膨胀,集聚路由成为一个重要特性。
这种趋势导致IP寻址发生了巨大变化。首先,若一个机构改变了其ISP,可能必须要随之改变其网络地址。其次,由于对IP地址的控制更加严格,一个有5 0 0个节点的机构可能只能得到2 5 5个节点的地址空间。本章将介绍一些与IP寻址机制相关的IP寻址分支,以及这些分支与IPv6选路的关系。
8.1.1 标识符和定位符
RFC 2101(目前IPv4地址行为)发布于1997年2月,该文档描述了IPv4地址的使用如何随时间的推移而变化。它的要点在于对标识符和定位符的使用进行了区分。文档中将标识符定义为“两台主机的通信会话的整个生存期内使用的位串,用于对其中一台主机相对于另一台进行标识”。即,在用于Internet通信时,标识符看起来类似源主机的IP地址。而定位符被定义为“用于对某个特定包必须交付的位置进行标识的位串,例如它可用于在Internet拓扑中对目的主机所连接的位置进行定位”。即,定位符看起来类似目的主机的IP地址。
因此,标识符用于标识源端,而定位符用于标识目的端。这样做很直观,也很合理,主机IP地址既可以用作标识符,也可用作定位符。但是给予定位功能(即发现目的地)的优先权高于标识功能(即了解数据的源头)。即,与能够准确了解包的源头却不能交付该包相比,能够首先交付包然后再找出其源头更重要。
RFC 2101的作者指出,对于标识符和定位符的要求有两个重要区别:一是唯一性,二是持久性。
首先讨论唯一性。对于通信节点双方来说,标识符必须是唯一的,即各节点之间进行通信时,其标识符都必须唯一。有唯一合法IP地址的主机能够通过识别有唯一合法IP地址的任何其他主机,且连接到同一个互联网的所有此类主机都是唯一的。而另一方面,对于相互通信的路由器而言,定位符仅在某些情况下要求是唯一的。即,在同一选路域内,定位符必须唯一,但在不同的选路域内,定位符可以重叠。例如,一个路由器可以将1 0号网络连接到其他网络,但不能将两个或多个1 0号网络互相连接,否则即使规范没有禁止转发1 0号网络的包,路由器也不知道该向哪条链路上发送目的地址为1 0号网络的包。
现在考虑持久性。标识符的生存期要比定位符长。标识符至少要保持到两个节点间的通信结束。如果在通信过程中,一个节点的标识符有所改变,另一个节点则无法对后续包正确寻址。而另一方面,定位符只在相关的选路机制需要时才起作用。即,对于在节点通信过程
中定位符改变的情况,路由器有能力进行处理。
目前,尽管定位符和标识符大多来源于节点的IPv4地址,但两者还是有不同的属性,且其理想化特性不同而且不一致。例如,理想的标识符只在节点初次安装到网络上时分配一次,其后永远不变。理想的标识符与一个节点相捆绑,并且只捆绑到一个节点,不能再重新使用或重新分配,这样就可以一直将该标识符与该节点相链接,而不会链接到其他节点。总之标识符的功能是将节点作为数据源进行标识。
而另一方面,定位符用于确定包必须向何处发送,它不需要持续很长时间,但是它应该描述在网络拓扑中节点实际所处的位置。这样,如果主机在网络拓扑中的位置由于某种原因而改变,定位符也随之改变。例如,如果主机从一个网络中迁移到另一个网络中,在理想情
况下,其定位符应该改变。同样,如果主机所连接的网络重新编号,主机的定位符也随之变化。
RFC 2101的作者已注意到,不论作为定位符或标识符, IP地址都不理想。由于IP地址不再是全球唯一的,例如网络号1 0代表了共享同一网络和主机地址?br />