IPv4嵌入到IPv6的网络中的路由
IPv4嵌入到IPv6的网络中的路由
本文档描述了IPv6网络传输IPv4数据包的路由方案,在RFC6145和6052中描述的方法的基础上,随着一个单独的OSPFv3路由表的IPv4-IPv6网络的嵌入式IPv6路由。同时本文并未引入任何新的IPv6过渡机制。
一.介绍
1.1解决方案
在现今ipv4地址即将耗尽的状况下,人们想出了各种各样的解决方案,比如vlsm,nat等等等。这些方案只是缓解了危机,而我们ipv6的出现才直接解决了问题。但是,由于ipv4的仍然被比较广泛地使用,导致ipv4和ipv6必将至少共存一段时间。所以,本文就给出了数据包在,IPv4嵌入在IPv6的网络中,传输的路由方案。
1.2 RFC5565中描述的解决方案
但是,一个这样的场景是仅支持IPv4和IPv6网络的互联互通,特别是,当一个纯IPv6网络,作为几个隔离仅支持IPv4的网络之间的互连。在这种情况下,IPv4数据包在IPv6网络与IPv4网络传输。为了从源IPv4网络中转发到目标IPv4网络中的IPv4数据包,IPv4可能到达的信息必须通过一些在IPv4网络之间交换。
在一般情况下,和运营一个IPv4的IPv6双栈环境相比,纯IPv6网络将会降低运营开支并能优化运营。一些建议的解决方案允许在纯IPv6网络允许IPv4服务的交付。这份文档提到一种工程技术,分离用于IPv4的嵌入式IPv6目的地从路由表中用于本地IPv6目的地的路由表。
1.3使用OSPFv3的解决方案
文中提到了OSPF协议。OSPFv3协议的目的是支持多个实例。维护独立的路由表为IPv4的嵌入式IPv6路由将简化实施,故障排除和操作;本地IPv6路由表,它也能防止超载。从一个单独的路由实例可以生成一个单独的路由表。
另外文章也提到了RFC5565文章中说的方案,它描述了这样的方案,即IPv4嵌在IPv6的情况下,在网络核心仅是IPv6和IPv4网络互联,被称为IPv4客户端网络。P路由器供应商路由器只支持IPv6的核心,但AFBRs支持IPv4面临IPv4客户端接口上所面临的核心网络和IPv6接口上。路由解决方案,此方案是定义在[RFC5565]之间运行IBGP交换IPv4路由信息的核心AFBRs使用隧道技术,通过软件如MPLS,IPv4数据包转发从一个IPv4客户端网络等LSP,GRE,等等。
在这份文件中,我们提出了另一种描述的场景在第1.1节有几个隔离的IPv4网络,称为IPv4客户端网络路由解决方案,IPv6网络互连。IPv6网络和IPv4网络互联可能会或可能不属于同一自治系统(AS)。边界上的一个IPv4客户端网络与IPv6网络的边界节点,作为家庭地址翻译边界路由器(AFXLBR),同时支持IPv4和IPv6地址能够翻译的IPv4报文的IPv6报文,反之亦然,根据[RFC6145]。示出在图1中所描述的场景。
这个场景是这样的,一些隔离的IPv4网络IPv6网络互相连接,由于情况发生,最常用的一个组织内,一个IPv6前缀可由本地分配并被AFXLBRs(地址转换边界路由)用于建设IPv4的嵌入式IPv6地址[RFC6052]。嵌入的IPv4地址或前缀属于IPv4的客户端的网络连接到AFXLBR的。有一个AFXLBR,使用OSPFv3来注入IPv4-IPv6地址和前缀到IPv6网络,而且还安装了由其他AFXLBRs发布的IPv4的嵌入式IPv6路由。
当AFXLBR接收IPv4数据包从本地连接的IPv4客户端网络发到远程IPv4客户端网络时,它把IPv4报头转换到相关的IPv6报头[ RFC6145 ] ,并在这一过程中,也把源和目的IPv4地址分别翻译成IPv4-IPv6嵌入式地址[ RFC6052 ]。那么,由此产生的IPv6数据包可以转发到连接到AFXLBR的目标IPv4客户端网络。远程AFXLBR则分别获得了 IPv4源地址和目的地址 [ RFC6052 ] ,再把接收到的IPv6报文头转换为IPv4报头[ RFC6145 ] 。由此产生的IPv4数据包,然后根据AFXLBR维护的IPv4路由表转发。有一些情情况下,上面这种路由解决方案是非常有用的。一种情况是一些边界节点不参加在IBGP路由交换,或在所有不使用IBGP 。另一种情况是其网络通道不部署IPv6网络中,或纯IPv6转发是被优先选择的。注意这个路由解决方案是无状态的, IPv4和IPv6报头转换也是在两个方向上进行AFXLBR 。
1.4 OSPFv3的特殊路由拓扑
在一般情况下,内嵌IPv4的IPv6数据包可以在实行OSPFv3的 IPv6网络中,和本地的IPv6数据包一样被转发。然而,这将需要IPv4的嵌入式IPv6路由在整个IPv6网络和存储每一个路由器上被泛宏。从更大规模的角度来看,这是不可取的。此外,由于所有的IPv6路由被存储在相同的路由表中,这将是不方便的路由和转发,如果需要的话,根据业务类别管理所需的资源。
为了实现这一目标,需要在IPv6网络中配置一个单独的OSPFv3的实例[RFC5838]。此实例运行在所有参与的AFXLBRs和它们相互连接起来的一组P路由器。那么将有一个专用的IPv4内嵌于IPv6的拓扑结构,负责所有这些路由器的维护,以及与一个专用的IPv4嵌入IPv6路由表。这在IPv6网络中的路由表仅仅是用于IPv4的嵌入式IPv6的数据包转发。
而本文详细阐述了如何配置完成后,用这种方法和相关的路由问题。此文关注单播路由协议为IPv4使用OSPFv3的嵌入式IPv6数据包。
二.置备
2.1由IPv4嵌入到IPv6的拓扑决定
部署为IPv4嵌入式IPv6地址和前缀并使用一个单独的OSPFv3路由表的配置之前,必须做出决定,集路由器及其接口,是否该是在IPv6网络中嵌入的IPv4-IPv6的拓扑的一部分。对于这个嵌入的IPv4-IPv6的拓扑结构的存在的意义是,所有连接到IPv4客户端网络的AFXLBRs(地址簇边界路由器 )必须是这种拓扑结构的成员。一个AFXLBR必须具有至少一个连接在IPv6网络中的P路由器或其他AFXLBR。
嵌入的IPv4-IPv6的拓扑是一个整个IPv6网络的子网,如果所有路由器(包括AFXLBRs和P路由器)和他们所有的接口都包括在内,这两个拓扑收敛。一般来说,当这子网中包含多个互连的P路由器,将更多的路由路径从一个IPv4客户端网络到其他通过IPv6网络;然而,这需要在IPv6网络中有更多的路由器参与到IPv4-IPv6嵌入式网络的路由过程。同时,嵌入的IPv4-IPv6的拓扑结构必须是连续的,无分割。
2.2需要维护一个专用的IPv4嵌入式IPv6路由表
在IPv6网络中,为了维护一个单独的IPv6路由表中包含路由的IPv4的嵌入式IPv6目的地,OSPFv3的需要使用[RFC5838]中定义的机制。我们描述的情况是假设在与IPv4网络的IPv6网络互连是在同一个管理机制下,还有OSPFv3的实例ID(IID)由本地分配并给OSPFv3的操作,其中的OSPFv3是专用IPv4单播嵌入式IPv6路由IPv6网络的。这IID被配置在参与嵌入IPv4-IPv6拓扑的OSPFv3路由器的接口中。
一个本地配置OSPFv3的IID分配范围在192到255之间的地址,“OSPFv3的实例ID地址簇的值”的注册表,这个范围被保留为“私用”[RFC6969]。这IID OSPFv3报文的OSPFv3实例相关联的数据包报头中必须使用“实例ID”字段编码。此外,AF(辅助标志)位在OSPFv3的选项字段必须设置。在请求报文被处理的时候,收到包含了相同的实例ID作为接收OSPFv3的接口上配置实例ID的Hello报文时候,可能只建立一个链接。这将确保,只有,配置为IPv4单播OSPFv3的嵌入式IPv6的拓扑的一部分的接口,被用于IPv4的嵌入式IPv6单播路由。
三. IP数据包的翻译
当传输IPv4的IPv6网络上的数据包时,IPv4数据包在入口AFXLBR被翻译为IPv6数据包,IPv6翻译回的IPv4数据包仍然在AFXLBR的出口。IP数据包报头转换[RFC6145]指定的规则是一个无状态的方式来完成的,根据地址转换的细节在后面继续说。
四.IP数据包解析
4.1地址翻译
地址转换之前,IPv6地址前缀会由操作员分配,用来形成IPv4的嵌入式IPv6地址。可以是IPv6前缀的IPv6众所周知的前缀(WKP)64:ff9b::/ 96,或唯一组织的特定于网络的前缀,后者的情况下,IPv6地址前缀的长度可以是32,40,48,56,或64。在这两种情况下,这个IPv6地址前缀在,IPv4地址和IPv4- IPv6的嵌入式的地址之间转换过程中使用的。[RFC6052]
从IPv4报头的IPv6报头入口AFXLBR在翻译过程中,翻译成相应的源IPv6地址,目的IPv6地址的源IPv4地址和目的IPv4地址。从IPv6报头的IPv4报头在出口AFXLBR的在翻译过程中,源IPv6地址和目的IPv6地址翻译成相应的源IPv4地址和目的IPv4地址分别。请注意,在一个无状态的方式来实现地址转换。
当一个IPv6 WKP被使用时,[ RFC6052 ]允许全球唯一的IPv4地址的IPv6地址中要被嵌入。 WKP的非全局IPv4地址的IPv6地址由一个因此是无效的,并包含这样的地址由AFXLBR接收的数据包都将被丢弃。在一客户端的IPv4网络和IPv6传输网络属于同一组织的情况下,也可以使用非全局IPv4地址与网络特定的前缀[ RFC6052 ] 。
五.广播IPv4-IPV6嵌入式路由
为了把IPv4数据包转发到正确的目标IPv6网络上,IPv4可能到达信息需要整个IPv6网络传播的。这是由连接到IPv4的客户端网络使用OSPFv3的AFXLBRs。本文档中描述的场景是一组的AFXLBRs多个IPv4客户端网络与IPv6网络互连,在IPv4网络和IPv6网络都属于相同或不同的自治系统(AS),正因为如此,这些地址边界路由器表现得如同自治系统边界路由器一样(ASBR上)。
5.1广播的IPv4 -的嵌入式IPv6路由通过一个IPv6的传输网络
在IPv4客户端网络的IPv4地址前缀翻译成IPv4的嵌入式IPv6地址前缀,分别由运营商和[RFC6052]中规定的方法分配使用的IPv6前缀。这些路由将被通告到IPv6的交通网络广告范围包括整个自治系统外部的链路状态广播,即由一个或多个附加的自治系统边界路由器。
5.2路由矩阵
默认情况下,携带IPv4-IPv6嵌入式地址或者前缀的AS-外部LSA中的度量值是1型外部度量,这是可比的链路状态度量,我们假设,在大多数情况下,在客户端使用的是OSPFv2IPv4网络。该度量添加到AS内部在OSPFv3的路由计算到ASBR的路径的度量值。通过ASBR的配置,可以设置度量类型2外部度量,这被认为远远大于任何内部AS路径的度量。OSPFv3的规范[RFC5340]的更多细节。在这两种情况下,可能需要一个外部度量相同的值,在IPv4网络(使用OSPFv2的或其他路由协议),但基于一些路由策略,也可以指定其中的细节超出了本文的讨论范围。
5.3转发地址
如果“转发地址”字段使用OSPFv3的自治系统外部链路状态广播携带的IPv6地址,该地址也必须是IPv4的嵌入式IPv6地址中嵌入的IPv4地址是一个IPv4客户端网络中的目的地址。然而,由于一个地址转换边界路由器坐在IPv4网络和IPv6网络的边界上,它建议“转发地址”字段中不能使用,使的AFXLBR可以根据自身的IPv4路由表做出转发决定。
5.4把IPv4地址广播到客户端网络
IPv4-IPv6的嵌入式路由,从一个IPv4客户端网络被注入到IPv6网络,在相关的目的地址和前缀被分别翻译回IPv4地址前缀后,到一个被广播到另一个IPv4客户端网络的IPv4客户端。该操作类似于正常OSPFv3的操作,其中默认情况下,自治系统外部链路状态广播可以在一个非骨干区域广播。IPv4客户端网络可以通过配置限制来自IPv4客户端网络的广播。IPv4的嵌入式IPv6路由必须不被发布到任何IPv6客户端网络也能连接到IPv6传输网络。
六. IPv4地址和前缀聚合
为了减少链路状态广播(LSA),被注入到IPv6网络,应提供实现机制,以总的IPv4地址和前缀一个AFXLBR的广告前IPv4的嵌入式IPv6地址和前缀。在一般情况下,聚集的做法应该是基于路由策略,本文就没有讨论了。
七.转发
在转发IP数据包的时候,有三种情况是适用于本文的情况的。
7.1 在一个地址转换边界路由中,如果IPv4的隔离用目的地的IPv4地址属于另一个IPv4的客户端网络客户端的网络连接到一个接口上的接收的IPv4数据包,该数据包的标头中被翻译成对应的IPv6报头的第4节中所描述的包,然后转发到的目标地址转换边界路由广播的IPv4到IPv6网络的嵌入式IPv6地址。
7.2在一个地址转换边界路由上,如果IPv4嵌入到IPv6的报文被接收了,并且嵌入式目的IPv4地址是在IPv4路由表中,该数据包的头部被翻译成对应的IPv4报头,然后分组转发。
7.3在所有内嵌入的IPv4-IPv6的拓扑子集的IPv6网络,嵌入式IPv4的IPv6报文的被接收了,但嵌入的IPv4-IPv6路由表中有发现路由,则数据包转发到IPv6下一跳,就像操作一个正常的IPv6数据包那样,不需要任何翻译的处理。
八.后门连接
在某些部署中,IPv6网络和IPv4的客户端网络互连,但也可以直接彼此连接。IPv4客户网络之间的直接连接,有时也被称为“后门”的连接,当然可以被用来传输IPv4数据包的IPv4客户端网络之间。一般情况下,后门连接是优选的,因为在IPv6网络中,由于没有地址族需要翻译。
九.预防路由环路
如果可以由另一个地址转换边界路由器接收的链路状态从地址转换边界路由器发送到客户端网络,这将可能发生路由环路的发生。为了防止环路,一个地址转换边界路由器必须设置DN位[RFC4576]在任何链路状态广播它发送到客户端网络。也地址转换边界路由器必须忽略任何收到的链路状态广播,已经有客户端网络的通径的位集。
十.最大传输单元的问题
在IPv6网络中,本文没有引入新的MTU问题。如果一个单独的OSPFv3的实例被用于IPv4的嵌入式IPv6路由,则和在IPv6网络中的MTU处理OSPFv3的默认实例相同。然而,在IPv6网络中的MTU比IPv4的客户端的网络可能会有所不同。由于IPv6路由器永远不会拆分数据包,该数据包的任何IPv4嵌入的进入的IPv6网络的IPv6数据包的大小必须等于或小于IPv6网络的MTU 。为了达到这一要求,所以建议,地址转换边界路由器执行IPv6路径彼此发现。产生MTU后,考虑到IPv4报头的长度和IPv6报头的长度有区别,必须“传播”到IPv4客户端网络。
十一.安全方面的注意事项
有几个需要关注的安全性方面,在本文档中描述的部署实践。 OSPFv3的安全注意事项在OSPFv3的交通网络,来处理像往常一样,尤其是认证机制[ RFC6506 ]可以部署。当一个单独的OSPFv3的实例用于支持IPv4的嵌入式IPv6路由相同的安全关联( SA ) [ RFC4552 ]其他情况下,利用相同的链路,必须使用嵌入的IPv4地址的实例,如[ RFC5838 ]中指定。安全注意事项记录[ RFC6052 ]也必须经过深思熟虑并妥善执行,包括以下内容:O是用来进行嵌入的IPv4地址(参见4.1节)的IPv6前缀必须配置在所有参与授权的操作以安全方式AFXLBRs 。这是为了帮助防止恶意攻击,导致网络中断,拒绝服务,以及可能的信息披露。 Ø有效的机制(如反向路径检查)必须实现IPv6传输网络(包括AFXLBRs )嵌入的IPv4地址,否则可能被用来作为恶意的数据包的源地址,以防止欺骗。 Ø在IPv4和/或IPv6网络,如果使用防火墙,路由器的配置必须一致,以便有没有IPv4地址过滤孔。安全处理的细节超出这个范围
十二.操作注意
此文件放在一起作为一个集成的解决方案,传输IPv4数据包通过IPv6网络使用一个单独的OSPFv3路由表由IETF开发的现有技术的基础上的一些机制。对这些机制有几个方面需要注意的部署和操作。基于隧道的解决方案记录在[ RFC5565 ]和本文件中提出的解决方案都是用于传输IPv4数据包通过IPv6网络,使用不同的机制。这两种方法是相互关联的,并且它们可以在同一网络中共存若有部署,没有任何冲突。如果要部署一种方法是,操作员将决定要使用的方法。需要注意的是每种方法都有其自身的特点和要求。例如,基于隧道的解决方案需要网丝的跨AFBR softwires的(隧道)跨越IPv6网络,以及IBGP到之间交换路由AFBRs的[ RFC5565 ] ,在此文件中的方法,需要能够执行的IPv4 AFXLBRs IPv6的报文头转换每[ RFC6145 ] 。
要部署的解决方案,因为这里记录,有些配置是必需的。必须先选择一个IPv6前缀,用于形成所有的IPv4嵌入式IPv6地址前缀通告由AFXLBRs在IPv6网络中,参见4.1节。嵌入的IPv4 - IPv6路由表中创建IPv6网络中使用一个单独的OSPFv3的实例。第3.2节中所描述的,这样的配置是根据[ RFC5838 ]中描述的机制来完成的。请注意,本文件并不改变OSPFv3的任何行为,应适用于可扩展性的背景下,现有的或普遍的做法。例如, OSPFv3的广告量的航线,是一个关键问题。随着本文档中描述的解决方案, IPv4的嵌入式IPv6地址前缀将由AFXLBRs注入到IPv6网络的某些部分(参见3.1节) ,以及一个独立的路由表,将用于IPv4的嵌入式IPv6路由。 1)聚合的IPv4地址,在IPv6网络广告的前缀前进行6节中所述的网络设计时必须小心, 2 )估计量的IPv4 -的嵌入式IPv6路由,将传播在IPv6网络中,并单独的OSPFv3路由表的大小。
评论暂时关闭