RFC3056:Connection of IPv6 Domains via IPv4 Clouds,February 2001
本备忘录的状态
本文档为互联网社区指定了一个互联网标准跟踪协议,并要求讨论和提出改进建议。请参阅当前版本的“互联网官方协议标准”(STD 1),了解该协议的标准化状态和状态。这份备忘录的分发是无限的。
版权声明
版权所有(C)互联网协会(2001)。保留所有权利。
摘要
本备忘录规定了一种可选的临时机制,使IPv6站点在没有明确隧道设置的情况下通过IPv4网络相互通信,并通过中继路由器与本地IPv6域通信。实际上,它将广域IPv4网络视为单播点对点链路层。该机制旨在作为IPv4和IPv6共存期间使用的启动过渡工具。这不是一个永久的解决方案。
该文档定义了一种方法,用于为当前具有至少一个全局唯一IPv4地址的任何站点分配临时唯一IPv6地址前缀,并指定了一种封装机制,用于在全球IPv4网络上使用这种前缀传输IPv6数据包。
这种方法的动机是允许连接到没有本机IPv6支持的IPv4网络的隔离IPv6域或主机在获得自然IPv6连接之前,通过最少的手动配置与其他此类IPv6域或宿主进行通信。它顺便为任何具有至少一个全球唯一IPv4地址的站点提供一个临时的全球唯一IPv6地址前缀,即使与IPv4网络地址转换器(Network Address Translator,NAT)结合使用。
1、导言
本备忘录规定了一种可选的临时机制,使IPv6站点在没有明确隧道设置的情况下通过IPv4网络相互通信,并通过中继路由器与本地IPv6域通信。实际上,它将广域IPv4网络视为单播点对点链路层。该机制旨在作为IPv4和IPv6共存期间使用的启动过渡工具。这不是一个永久的解决方案。
该文件定义了一种为当前至少有一个全球唯一IPv4地址的任何站点分配临时唯一IPv6地址前缀的方法,并指定了一种封装机制,用于在全球IPv4网络上使用这种前缀传输IPv6数据包。它还描述了在IPv4到IPv6过渡的共存阶段使用这种前缀的场景。请注意,这些场景只是向IPv6过渡的全貌的一部分。另请注意,这被认为是一种临时解决方案,站点应尽可能迁移到本机IPv6前缀和本机IPv6连接。一旦该站点的ISP提供本机IPv6连接,这将成为可能。
本文档中描述的基本机制适用于站点而不是单个主机,它将通过限制给定中继路由器服务的站点数量来无限扩展(见第5.2节)。它不会在IPv4路由表中引入新条目,而在本机IPv6路由表中只会引入一个新条目(见第5.10节)。
虽然该机制是为IPv6站点指定的,但它同样可以应用于单个IPv6主机或非常小的站点,只要它至少有一个全局唯一的IPv4地址。然而,后一种情况引发了严重的规模问题,这是进一步研究的主题[SCALE]。
这种方法的动机是允许连接到没有本机IPv6支持的广域网的隔离IPv6站点或主机,以最少的手动配置与其他此类IPv6域或主机通信。
使用此方法连接的IPv6站点或主机不需要IPv4兼容的IPv6地址[MECH]或配置的隧道。通过这种方式,IPv6获得了底层广域网的相当大的独立性,并且可以跨越IPv4子网的许多跳。此机制的缩写名称为6to4(不要与[6OVER4]混淆)。6to4机制通常几乎完全在边界路由器中实现,除了建议的默认地址选择外,没有特定的主机修改。只需要少量的路由器配置。
本文件第2至4节从技术上详细说明了6to4方案。第5节讨论了6to4站点的一些(但不是全部)使用场景,包括路由方面。本文档中没有讨论隔离的6to4主机的场景。第6至第9节讨论了其他一般考虑因素。
本文档中的关键字“必须”、“禁止”、“需要”、“应”、“不应”、“宜”、“不宜”、“推荐”、“可以”和“可选”应按照[RFC2119]中的描述进行解释。
1.1、术语
[IPV6]的术语适用于本文档。
6to4 pseudo-interface:6to4伪接口,IPv6数据包在IPv4数据包中的6to4封装发生在逻辑上与IPv6接口等效的点上,链路层是IPv4单播网络。这一点被称为伪接口。一些实现者可能会像对待任何其他接口一样对待它,而另一些人可能会把它当作隧道端点。
6to4 prefix:6to4前缀,根据下面第2节中的规则构造的IPv6前缀。
6to4 address:6to4地址,使用6to4前缀构造的IPv6地址。
Native IPv6 address:原生IPv6地址,使用6to4以外的另一种前缀构造的IPv6地址。
6to4路由器(或6to4边界路由器):支持6to4伪接口的IPv6路由器。它通常是IPv6站点和广域IPv4网络之间的边界路由器。
6to4主机:恰好具有至少一个6to4地址的IPv6主机。在所有其他方面,它都是一个标准的IPv6主机。
注意:在某些情况下,IPv6节点可能会为配置的隧道使用6to4地址。这样的节点可以在其配置的隧道接口上使用6to4地址作为IPv6主机,也可以通过6to4伪接口作为其他主机的IPv6路由器,但这些是不同的功能。
6to4站点:在内部使用6to4地址运行IPv6的站点,因此包含至少一个6to4主机和至少一个6-to4路由器。
中继路由器:配置为支持6to4地址和本机IPv6地址之间的传输路由的6to4路由器。
6to4外部路由域:将一组6to4路由器和中继路由器互连的路由域。它不同于IPv6站点的内部路由域,也不同于所有原生IPv6外部路由域。
2、IPv6前缀分配
假设一个用户站点至少有一个有效的、全局唯一的32位IPv4地址,在本文档中称为V4ADDR。此地址必须由地址注册表(可能通过服务提供商)正式分配给站点,并且不得是私有地址[RFC 1918]。
IANA已为6to4方案在IPv6格式前缀001[AARCH,AGGR]下永久分配了一个13位IPv6顶级聚合器(Top Level Aggregator,TLA)标识符。它的数值是0x0002,即当表示为IPv6地址前缀时,它是2002::/16。
然后,用户站点被认为具有以下IPv6地址前缀,而不需要任何进一步的分配过程:
Prefix length:前缀长度,48位
Format prefix:格式前缀,001
TLA值:0x0002
NLA值:V4ADDR
如下图所示:
因此,此前缀的格式与根据[AGGR]分配的普通/48前缀完全相同。它可以缩写为2002:V4ADDR::/48。在用户站点内,它可以像任何其他有效的IPv6前缀一样使用,例如,根据[CONF,DISC]等正常机制进行自动地址分配和发现,用于本地IPv6路由,或用于“6over4”机制[6over4]。
请注意,如果IPv4地址是动态分配的,则相应的IPv6前缀本质上也是动态的,具有相同的生存期。
2.1、地址选择
为了确保6to4在复杂拓扑中的正确操作,必须适当地实现源地址和目的地址的选择。如果发送数据包的源IPv6主机至少分配了一个2002::地址,并且DNS为目的主机返回的IPv6地址集至少包含一个2002::地址,则源主机必须适当选择要使用的源地址和目的地址。在撰写[SELECT]时,通常正在研究地址选择的机制。根据这些一般机制,通常允许6to4正确操作的原则是:
如果一个主机只有6to4地址,而另一个主机同时拥有6to4和本机IPv6地址,那么6to4的地址应该同时用于这两个地址。
如果两台主机都有一个6to4地址和一个本机IPv6地址,则应同时使用6to4和本机IPv6。选择应该是可配置的。两者的默认配置都应该是本机IPv6。
3、IPv4报文封装
来自6to4站点的IPv6数据包在通过其外部IPv4连接离开站点时被封装在IPv4数据包中。请注意,承载6to4流量的IPv4接口在概念上等同于IPv6接口,下面称为伪接口,尽管这个短语不是为了定义实现技术。必须在IPv4接口上配置V4ADDR。
IPv6数据包以IPv4数据包[RFC 791]的形式传输,IPv4协议类型为41,与为IPv4帧内隧道传输的IPv6数据包分配的[MECH]相同。IPv4报文头包含目的和源IPv4地址。其中一个或两个将与如上所述形成的IPv6前缀的V4ADDR字段相同(有关更多详细信息,请参阅第5节)。IPv4数据包主体包含IPv6报文头和有效载荷。
IPv4生存时间将设置为正常[RFC 791],封装的IPv6跳数限制[IPv6]也是如此。其他考虑因素如[MECH]第4.1.2节所述。
3.1、链接本地地址和NUD
如果需要,执行6to4封装的6to4伪接口的链路本地地址将按照[MECH]第3.7节所述形成。然而,由于对端6to4网关无法确定要发送到的适当链路层(IPv4)地址,因此目前还不知道这种地址在什么情况下有用。
邻居不可达性检测(Neighbor Unreachability Detection,NUD)按照[MECH]第3.8节所述进行处理。
4、最大传输单元
MTU大小考虑因素如[MECH]中隧道所述。
如果IPv6 MTU大小对于某些中间IPv4子网来说太大,IPv4分片将随之而来。虽然这是不可取的,但这不一定是灾难性的,除非由于某种形式的IPv4任播,分片被传递到不同的IPv4目的地。不应在封装的IPv4报文头中设置IPv4“不分片”位。
5、单播场景,扩展并过渡到正常前缀
5.1、简单场景-所有站点的工作方式相同
6to4最简单的部署场景是在多个站点之间使用它,每个站点至少有一个连接到共享的IPv4互联网。这可能是全球互联网,也可能是企业IP网络。在全球互联网的情况下,不要求所有站点都连接到同一个互联网服务提供商。唯一的要求是,任何站点都能够向任何其他站点发送协议类型为41的IPv4数据包。根据定义,每个站点都有一个IPv6前缀,格式见第2节。因此,它将为这些地址创建DNS记录。例如,拥有IPv4地址192.1.2.3的站点A将创建具有IPv6前缀{FP=001,TLA=0x0002,NLA=192.1.2.3}/48的DNS记录(即2002:c001:0203::/48)。拥有地址9.254.253.252的站点B将创建具有IPv6前缀{FP=001,TLA=0x0002,NLA=9.254.253.22}/48的DNS记录(即2002:09fe:fdfc::/48)。
当站点B上的IPv6主机查询站点A上主机的DNS条目或以其他方式获得其地址时,它会获得一个前缀为{FP=001,TLA=0x0002,NLA=192.1.2.3}/48的地址,以及适用的任何SLA和接口ID。当站点A上的主机向DNS查询站点B上的主机时,情况正好相反。IPv6数据包在两个站点内以正常方式形成和传输。
在6to4站点内,除了具有本地2002:V4ADDR::/48前缀的地址外,具有2002::/16前缀的地址将像任何其他非本地IPv6地址一样处理,即通过默认或显式路由到6to4边界路由器。
当传出的数据包到达6to4路由器时,根据第5.3节中定义的附加发送规则,它将按照第3节中的定义进行封装。根据第5.3节中定义的附加解封装规则对传入数据包进行解封装。额外的发送和解封装规则是IPv6转发的唯一更改,它们仅在边界路由器上发生。IPv4路由信息不会导入IPv6路由(反之亦然)。
在这种情况下,任何数量的6to4站点都可以互操作,无需隧道配置,也不需要IPv4服务的特殊要求。只需要在6to4路由器中配置适当的DNS条目和额外的发送和解封装规则。此路由器还应生成适当的IPv6前缀公告[CONF,DISC]。
虽然站点A和站点B都需要在内部运行IPv6路由,但在这个简单的场景中,它们不需要运行IPv6外部路由协议;IPv4外部路由为他们完成了这项工作。
建议在任何情况下,每个站点每个6to4路由器只使用一个IPv4地址,该地址应分配给6to4路由的外部接口。因此,单宿主站点应该只使用一个IPv4地址进行6to4路由。第5.6节简要讨论了多址。
由于缺乏配置和分布式部署模型,除了封装开销外,基本的6to4机制没有特别的扩展问题。具体来说,它在IPv4路由表中没有引入新条目。
5.2、中继到本地IPv6的混合场景
在向IPv6过渡的过程中,我们可以预期一些站点符合刚才描述的模型(孤立的站点,其唯一的连接是IPv4互联网),而另一些站点将成为使用正常IPv6 TLA地址空间的更大原生或隧道IPv6岛的一部分。6to4站点需要连接到这些本地IPv6岛,反之亦然。在6to4模型中,这种连接是由同时拥有6to4和本机IPv6地址的IPv6路由器实现的。尽管它们本质上是标准IPv6路由器,但在本文档中,它们被称为中继路由器,以区别于仅支持6to4或仅支持原生IPv6的路由器。
必须至少有一个路由器在6to4域和给定的本机IPv6域之间充当中继。这没什么特别的;它只是一个普通的路由器,恰好有至少一个逻辑6to4伪接口和至少一个其他IPv6接口。由于它是一个6to4路由器,因此它实现了第5.3节中定义的额外发送和解封装规则。
我们现在有三类不同的路由域需要考虑:
*1.每个6to4站点的内部IPv6路由域;
*2.外部IPv6路由域,将一组给定的6to4边界路由器(包括中继路由器)相互连接,即6to4外部路由域;
*3.每个本地IPv6岛的外部IPv6路由域。
1.6to4站点的内部路由域的行为如第5.1节所述。
2.6to4外部路由域有两种部署选项:
2.1、不使用IPv6外部路由协议。使用给定中继路由器的6to4路由器每个都有一个指向中继路由器的默认IPv6路由。中继路由器可以应用基于源地址的过滤器,仅接受来自特定6to4路由器的流量。
2.2、使用IPv6外部路由协议。使用给定中继路由器的6to4路由器组使用路由协议(如BGP4+[RFC 2283,BGP4+])从中继路由器获得本机IPv6路由。中继路由器将在其6to4伪接口上通告任何合适的本地IPv6路由前缀。这些前缀将指示中继路由器愿意中继到的本地IPv6拓扑的区域。它们的选择取决于路由策略。网络运营商在选择此类路由通告的范围时,有必要仔细考虑理想的流量模式和拓扑结构。中继路由器将仅与它愿意接受流量的特定6to4路由器建立BGP对等连接。
虽然这个解决方案更复杂,但它提供了有效的策略控制,即BGP4+策略决定了哪些6to4路由器能够使用哪个中继路由器。
3.中继路由器必须在本机IPv6外部路由域中通告到2002::/16的路由。2002::/16的路由通告在本机IPv6路由系统中传播的程度取决于路由策略。由于通常会有多个中继路由器对其进行通告宣传,网络运营商将需要以受管理的方式对其进行过滤。这方面的不正确政策将导致潜在的不可访问性或反常的流量模式。
不得在本机IPv6路由中传播比2002::/16更具体的6to4前缀,以防止IPv4路由表的元素污染IPv6路由表。因此,具有本机IPv6连接的6to4站点不得在该连接上通告其2002::/48路由前缀,所有本机IPv6网络运营商必须过滤并丢弃任何长于/16的2002::路由前缀通告。
因此,除了6to4连接之外,具有至少一个本机IPv6连接的站点将至少具有一个不是2002::前缀的IPv6前缀。此类站点的DNS条目将反映这一点,DNS查找将返回多个地址。如果两个这样的站点需要互操作,则使用6to4路由还是本机路由取决于各个主机(甚至应用程序)的IPv6地址选择。
现在再次考虑上一节的例子。假设站点B上的IPv6主机查询站点A上主机的DNS条目,DNS返回多个具有不同前缀的IPv6地址。
如果主机根据多个前缀的某些规则选择6to4前缀,它将简单地将数据包发送到由前缀{FP=001,TLA=0x0002,NLA=192.1.2.3}/48组成的IPv6地址。为了实现双向连接,它们必须来自前缀{FP=001,TLA=0x0002,NLA=9.254.253.252}/48。第2.1节的地址选择机制将确保这一点。
5.2.1、ISP中继的变体场景
前面的场景假设中继路由器由合作的6to4用户站点提供。一种变体是,已经提供原生IPv6连接的互联网服务提供商可以操作中继路由器。从技术上讲,这与之前的情况没有什么不同;站点B只是ISP的内部6to4站点,可能只包含一个系统,即中继路由器本身。
5.2.2、中继路由器配置概述
中继路由器在其原生IPv6接口上参与IPv6单播路由协议,也可能在其6to4伪接口上参与,但这些是具有单独策略的独立路由域,即使在这两种情况下都使用相同的协议,可能是BGP4+。
中继路由器还在其用于支持6to4的IPv4接口上参与IPv4单播路由协议,但此处不再进一步讨论。
在其原生IPv6接口上,中继路由器必须通告到2002::/16的路由。它不得在该接口上通告更长的2002::路由前缀。本地IPv6路由域内的路由策略决定了该通告的范围,从而限制了中继路由器在该域中的可见性。
下一跳IPv6地址与2002::/16匹配的中继路由器接收到的IPv6数据包将被路由到其6to4伪接口,并根据第5.1节的发送规则进行处理。
5.2.2.1、BGP4+未使用
如果BGP4+未部署在6to4外部路由域中(第5.2节选项2.1),则中继路由器将被配置为仅接受和中继来自其客户端6to4站点的所有IPv6流量。中继路由器服务的每个6to4路由器都将配置到中继路由器的默认IPv6路由(例如,站点a的默认IPv6路线::/0将指向前缀为2002:09fe:fdfc::/48的中继路由器的地址)。
5.2.2.2、已使用BGP4+
如果BGP4+部署在6to4外部路由域中(第5.2节选项2.2),中继路由器会在其6to4伪接口上通告IPv6本机路由前缀,仅与它所服务的6to4路由器对等。(另一种选择是,这些路由可以与使用BGP4 over IPv4的IPv4路由一起通告,而不是通过运行单独的BGP4+会话。)通告的具体路由取决于适用的路由策略,但必须从中继路由器的本地IPv6接口可访问的路由中选择。在最简单的情况下,可以通告到整个IPv6地址空间的默认路由。当使用多个中继路由器时,将根据所需的路由策略通告更具体的路由前缀。BGP4+的使用完全是标准的,因此本文不再进一步讨论。
5.2.2.3、中继路由器扩展
中继路由器引入了扩展问题的可能性。一般来说,考虑到封装开销,中继路由器不应尝试比任何其他传输路由器服务更多的站点。
5.2.3、不愿意中继
可能会出现这样的情况,即一个站点有一个同时具有6to4伪接口和本机IPv6接口的路由器,但不愿意充当中继路由器。这样的站点不得将任何2002::路由前缀通告到本机IPv6域中,也不得将任何本机IPv6路由前缀或默认IPv6路由通告到6to4域中。在6to4域中,它的行为将与第5.1节的基本6to4场景完全相同。
5.3、发送和解封装规则
标准IPv6转发的唯一变化是,每个6to4路由器(并且只有6to4路由)都必须实现以下额外的发送和解封装规则。
在发送规则中,“下一跳”是指数据包将被发送到的下一个IPv6节点,它不一定是最终目的地,而是正常IPv6路由机制指示的下一IPv6邻居。如果最终目的地是6to4地址,则根据此规则,它将被视为下一跳。如果最终目的地不是6to4地址,也不是本地地址,则路由指示的下一跳将是中继路由器的6to4位址。
6to4路由器的附加发送规则:
if (IPv6数据包的下一跳IPv6地址与前缀2002::/16不匹配)and(与本地站点的任何前缀都不匹配)
then
进行任何安全检查(见第8节);
如第3节所述,将数据包封装在IPv4中,
IPv4目的地址=NLA值V4ADDR
从下一跳IPv6地址中提取;
将数据包排队以进行IPv4转发。
必须实现协议类型为41的传入IPv4数据包的简单解封装规则:
6to4路由器的附加解封装规则:
进行任何安全检查(见第8节);
移除IPv4报文头;
将数据包提交到本地IPv6路由。
5.4、隧道到IPv6空间的变体场景
一个与“原生”IPv6互联网没有IPv6连接的6to4站点可以通过“配置隧道”(使用[MECH]中的术语)获得与IPv6互联网的有效连接,该隧道可以连接到具有IPv6访问权限但不需要是6to4路由器的协作路由器。这样的隧道可以使用IPv4任播地址自动配置,但这超出了本文的范围。或者,可以使用隧道代理。此场景适用于小型用户管理站点。
本文档中没有详细描述这些机制。
5.5、分片的场景
如果在原生IPv6和6to4世界之间有多个中继路由器,6to4的不同部分将由不同的中继提供服务。这带来的唯一复杂性在于原生IPv6世界中2002::/16路由通告的范围。与任何BGP4+通告一样,其范围必须由路由策略正确定义,以确保到2002::/16的流量遵循预期路径。
如果有多个IPv6边缘通过全球IPv4互联网通过6to4相互连接,这是对第5.1节基本场景的简单概括。5.2,没有出现新的问题。如下图所示。在路由通告配置一致的情况下,此场景没有已知问题。
如果多个IPv6边缘通过多个不相交的IPv4网络互连(即,一个分片化的IPv4世界),那么6to4世界也是分片化的;这是必须避免的一种情况。下面说明了为什么它不起作用,因为Relay1的2002::/16通告对Relay2是不可见的,反之亦然。因此,站点A和B与站点C和D没有连接。
5.6、多宿
在IPv4上多宿的站点可以通过为每个IPv4边界路由器使用2002::前缀来扩展6to4场景,从而通过使用多个同时的IPv6前缀和多个同时中继路由器来获得IPv6多宿的简单形式。
5.7、过渡注意事项
如果遵循上述路由公告和地址选择规则,那么一个站点可以在长时间共存的情况下从使用6to4迁移到使用本机IPv6连接,在6to4停止使用之前不需要停止使用。所涉及的阶段包括
1.使用任何合适的实现在现场运行IPv6。真正的原生IPv6、[6OVER4]或隧道都是可以接受的。
2.配置连接到外部IPv4网络的边界路由器(或路由器加IPv4 NAT)以支持6to4,包括在本地通告相应的2002::路由前缀。使用此前缀配置IPv6 DNS条目。此时,6to4机制自动可用,该站点已获得“免费”IPv6前缀。
3.确定一个6to4中继路由器,该路由器愿意将站点的流量中继到本地IPv6世界。这可能是在另一个合作的6to4站点,也可能是ISP服务。如果6to4外部路由域中没有使用外部路由协议,则站点的6to4路由器将配置一个指向该中继路由器6to4地址的默认IPv6路由。如果使用BGP4+等外部路由协议,则站点的6to4路由器将被配置为建立适当的BGP对等。
4.当本地外部IPv6连接可用时,在边界路由器配置和DNS配置中添加第二个(本地)IPv6前缀。此时,地址选择规则将决定何时使用6to4以及何时使用本机IPv6。
5.当确定6to4的使用已停止时(可能是几年后),删除6to4配置。
5.8、与防火墙、NAT或RSIP共存
6to4机制似乎不受边界路由器防火墙的影响。
如果相关站点的全局IPv4地址空间非常有限,并且正在运行IPv4网络地址转换器(network address translator,NAT),则上述所有机制仍然有效。NAT盒子还必须包含一个功能齐全的IPv6路由器,包括6to4机制。用于V4ADDR的地址将只是分配给NAT的全球唯一IPv4地址。在上述第5.1节的示例中,6to4路由器也将是站点的IPv4 NAT,它将拥有全球唯一的IPv4地址192.1.2.3和9.254.253.252。
通过这种方式将6to4路由器与IPv4 NAT相结合,可以在NAT的IPv4地址后面自动为相关站点提供全球唯一的IPv6/48前缀。因此,NAT后面的每个主机都可以成为IPv6主机,而不需要额外的地址空间分配,也不需要互联网服务提供商的干预。这些IPv6主机不需要地址转换。
如果主机距离全局唯一的IPv4地址空间超过一个NAT设备,则会出现更复杂的情况,因为只有最外层的NAT具有唯一的IPv4位址。在这种情况下,所有IPv6主机都必须使用从最外层NAT的全局IPv4地址构造的2002:前缀派生的地址。内部NAT的IPv4地址不是全局唯一的,也不参与6to4机制,6to4封装和解封装只能在最外层NAT进行。
领域特定IP(Realm-Specific IP,RSIP)机制[RISP]也可以与6to4共存。如果6to4边界路由器与RSIP边界路由器结合使用,它可以支持使用6to4地址的IPv6主机、使用RSIP的IPv4主机或使用两者的双栈主机。RSIP功能提供动态全局IPv4地址分配的细粒度管理,6to4功能为每个主机提供稳定的IPv6全局地址。与NAT一样,用于构建站点2002:前缀的IPv4地址将是RSIP边界路由器的全局地址之一。
5.9、内联网内的使用
没有什么可以阻止上述场景在私有企业网络中部署,作为其向IPv6内部过渡的一部分;企业IPv4骨干网将作为使用2002::前缀的各个企业站点的虚拟链路层。V4ADDR必须是一个适当分配的全局IPv4地址,该地址在专用网络中必须是唯一的。因此,即使内部使用私有IPv4地址,内联网也会获得全局唯一的IPv6地址[RFC 1918]。
5.10、路线影响总结
IGP(站点)路由将处理本地站点的2002::/48前缀,就像分配给本地站点的本地IPv6站点前缀一样。还有一个IGP路由到通用的2002::/16前缀,这将是一个到站点6to4路由器的路由,除非将其作为默认路由处理。
EGP(即BGP)路由将包括从中继路由器到本地IPv6域的2002::/16前缀的通告,其范围受路由策略的限制。这是BGP唯一通告的非原生IPv6前缀。
6to4路由器需要获得到中继路由器的路由,以便访问本机IPv6域。在最简单的情况下,将有一个手动配置的默认IPv6路由到前缀为{FP=001,TLA=0x0002,NLA=V4ADDR}/48的中继路由器的地址,其中V4ADDR是中继路由器的IPv4地址。这样的路由可用于建立BGP会话,以交换额外的IPv6路由。
通过构造,6to4域内的单播IPv6流量将遵循与单播IPv4流量完全相同的路径。
5.11、路由环路预防
由于6to4对IPv4路由没有影响,因此它不会在IPv4中引发路由环路。自2002年以来:前缀的行为与标准IPv6前缀完全相同,除非配置错误,否则它们不会为IPv6中的路由环路创建任何新机制。一个非常危险的配置错误是在6to4外部路由域中宣布2002::/16前缀,因为这将吸引所有6to4流量进入宣布的站点。然后,它的6to4路由器将重新发送非本地6to4流量,形成一个环路。
2002::/16路由前缀可以由中继路由器合法地通告到本机IPv6路由域中,并通告到IPv6站点的本地IPv6路由域;因此,存在配置错误的风险,导致它被通告到6to4外部路由域中。
总之,2002::/16前缀不得向6to4外部路由域通告。
6、组播和任播
无法假设广域IPv4组播的普遍可用性,因此(与[6OVER4]不同)6to4机制必须在其底层IPv4运营商网络中仅假设单播能力。需要IPv6组播路由协议[MOLI]。
分配的任播地址空间[anycast]与2002::前缀兼容,也就是说,用这些前缀形成的任播地址都可以在6to4站点内使用。
7、ICMP消息
ICMP“不可达”和IPv4路由系统返回的其他消息将返回给生成封装的2002::数据包的6to4路由器。然而,由于“不可达”消息中缺乏足够的信息,该路由器通常无法向发起IPv6节点返回ICMPv6消息。这意味着IPv4网络将作为IPv6操作目的的不可诊断的链路层出现。其他考虑因素如[MECH]第4.1.3节所述。
8、IANA注意事项
除了已经分配的特殊TLA值0x0002之外,不需要IANA进行任何分配。
9、安全考虑
实施者应该意识到,除了可能针对IPv6的攻击外,还必须考虑针对IPv4的安全攻击。然而,出于效率原因,应避免在IPv4和IPv6级别使用IP安全。例如,如果IPv6以加密方式运行,则IPv4的加密将是多余的,除非流量分析被认为是一种威胁。如果IPv6是通过身份验证运行的,那么IPv4的身份验证几乎不会增加什么。相反,一旦IPv6流量离开6to4域,IPv4安全将无法保护IPv6流量。因此,即使IPv4安全可用,也需要实现IPv6安全。
默认情况下,将接受6to4流量,并从接受常规IPv4流量的任何来源解封装。如果出于任何原因认为这是一种安全风险(例如,如果认为IPv6欺骗比IPv4欺骗更有可能),那么可以应用额外的基于源地址的数据包过滤。一个可能的合理性检查是封装的IPv4地址是否与封装的2002::地址一致。如果应用此检查,则必须将其例外配置为允许来自中继路由器的流量(第5节)。2002::流量也必须排除在为防止欺骗“6OVER4”流量[6OVER4]而应用的检查之外。
在任何情况下,任何6to4流量,如果其源地址或目的地址嵌入了非全局单播地址格式的V4ADDR,则必须由封装器和解封装器默默丢弃。具体来说,这意味着[RFC 1918]中定义的IPv4地址、广播、子网广播、组播和环回地址是不可接受的。
致谢
上述基本想法可能不是原创的,我们收到了Magnus Ahltorp、Harald Alvestrand、Jim Bound、Scott Bradner、Randy Bush、Matt Crawford、Richard Draves、Junichiro itojun Hagino、Joel Halpern、Tony Hain、Andy Hazeltine、Bob Hinden、Geoff Huston、Perry Metzger、Thomas Narten、Erik Nordmark、Markku Savela、Ole Troan、Sowmini Varadhan、Compaq IPv6工程团队成员以及NGTRANS工作组其他成员的宝贵意见。一些文本是从[6OVER4]复制的。George Tsirtsis亲切地起草了其中两张图。
参考文档
[AARCH] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 2373, July 1998.
[AGGR] Hinden., R, O'Dell, M. and S. Deering, "An IPv6 Aggregatable Global Unicast Address Format", RFC 2374, July 1998.
[API] Gilligan, R., Thomson, S., Bound, J. and W. Stevens, "Basic Socket Interface Extensions for IPv6", RFC 2553, March 1999.
[BGP4+] Marques, P. and F. Dupont, "Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing", RFC 2545, March 1999.
[CONF] Thomson, S. and T. Narten, "IPv6 Stateless Address Autoconfiguration", RFC 2462, December 1998.
[DISC] Narten, T., Nordmark, E. and W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)", RFC 2461, December 1998.
[IPV6] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998.
[6OVER4] Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4 Domains without Explicit Tunnels", RFC 2529, March 1999.
[ANYCAST] Johnson, D. and S. Deering, "Reserved IPv6 Subnet Anycast Addresses", Work in Progress.
[MULTI] Thaler, D., "Support for Multicast over 6to4 Networks", Work in Progress.
[SCALE] Hain, T., "6to4-relay discovery and scaling", Work in Progress.
[SELECT] Draves, R., "Default Address Selection for IPv6", Work in Progress.
[RFC 791] Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981.
[RFC 1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., de Groot, G. and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, February 1996.
[MECH] Gilligan, R. and E. Nordmark, "Transition Mechanisms for IPv6 Hosts and Routers", RFC 2893, August 2000.
[RSIP] Borella, M., Grabelsky, D., Lo, J. and K. Tuniguchi, "Realm Specific IP: Protocol Specification", Work in Progress.
[RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC 2283] Bates, T., Chandra, R., Katz, D. and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 2283, February 1998.
知识产权
IETF对可能声称与本文档所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不持任何立场;它也不表示它已经做出了任何努力来确定任何此类权利。有关IETF在标准跟踪和标准相关文档中的权利程序的信息,请参阅BCP-11。可从IETF秘书处获得可供发布的权利声明副本和可提供的任何许可保证,或本规范的实施者或用户试图获得使用此类专有权利的一般许可或许可的结果。
IETF邀请任何利益相关方提请其注意任何版权、专利或专利申请,或可能涵盖实施本标准所需技术的其他专有权利。请将信息发送给IETF执行董事。
完整版权声明
版权所有(C)互联网协会(2001)。保留所有权利。
本文件及其翻译可复制并提供给他人,对其进行评论或以其他方式解释或协助其实施的衍生作品可全部或部分制作、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权声明或对互联网协会或其他互联网组织的引用,除非是为了制定互联网标准而需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或者需要将其翻译成英语以外的语言。
上述授予的有限权限是永久性的,互联网协会或其继承人或受让人不会撤销。
本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于使用本文件中的信息不会侵犯任何权利或对适销性或特定用途适用性的任何暗示保证。
声明
互联网协会目前为RFC编辑职能提供资金支持。
***推荐阅读***
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...