扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1.引言
提起IPv6,早年《数字财富》的一篇文章把这个技术称为"推拉之间的IPv6","推拉"两字把当时其尴尬的地位描述得淋漓尽致。一方面,快速膨胀的互联网络、移动网络的庞大用户即将耗尽现有的IP地址,市场需求在"推"着它走;另一方面,发展了20多年的IPv4还在不断扩大它的市场份额,标准迁移带来的巨大成本和费用,新标准的成熟周期难以估量,这些又在"拉"着它不让前进。
但是,令人高兴的是,在今天,在多方面的努力下,笼罩着IPv6的迷雾逐渐散去,"推"的力量开始加速,下一代互联网的到来眨眼间已经是板上钉钉的事情了。
爱立信公司作为IPv6的主要倡导者,一直为推广和制定IPv6的相关标准,为建设下一代网络作着不懈的努力。两年多前的这一幕,便很好地体现了这一点:
2003年1月,在斯德哥尔摩的一辆救护车上,一套名为"守护天使"的紧急医疗救护系统和爱立信公司的通讯设备在忙碌地工作着。在这些设备的协同工作下,大量的医疗数据和声音图像顺利地在救护车和医疗中心之间进行传递......
这是爱立信公司利用IPv6技术,进行移动系统无缝漫游的一次演示。它成功地把下一代互联网的关键技术-IPv6和2G、3G、无线局域网、广域网结合在一起,完成了医疗多媒体信息的交互。
随着欧洲、美洲和亚洲的IPv6用户不断增长,中国政府八个部委也共同出台了CNGI项目来推动下一代互联网的发展。在这些项目里,爱立信公司更是积极参与了中国移动、电信、网通、铁通等运营商的网络建设,为其出谋划策,添砖加瓦,贡献自己的微薄之力。
本文将根据在CNGI项目中的一些成功经验,介绍MPLSVPN的解决方案。
2.IPv4/v6的MPLSVPN混合组网
当然,在"推拉"之间,IPv6不可能在一夜之间便替代了IPv4,在未来很长的时间内,两个协议将共同存在、相互兼容。因此,如何使IPv6/v4和谐共存和发挥下一代互联网的优势一直是网络建设的难点。
而MPLS作为一种支持多协议的技术,其对二层、三层协议良好的支持,非常自然地成为IPv6/v4共存的桥梁。在这里,从这座桥梁开始,我们来了解MPLSVPN可以为我们做些什么。
从原理上看,MPLSVPN技术也是众多的隧道共存技术里的一种。当然,这种技术也有它适用的领域,它非常适合IP骨干网和城域核心网。
我们知道,大部分的隧道技术都是为了解决IPv6孤岛之间的互联问题,但是,这还远远不够;对于一个电信运营商,除了解决自身的互联问题外,还应该向广大的客户提供多种业务,其中包括目前比较热门的VPN业务。从这两方面出发,我们逐一分析MPLSVPN技术如何运用于v4/v6网络。
2.1简单的MPLSTunneling
在目前IPv4的庞大网络里面,把IPv6孤岛连接起来,要解决两个问题:一、数据层面的传递和转发;二、路由信息的传递。MPLSTunneling对数据的转发当然是通过LSP路径,所以它需要经过的节点支持MPLS;IPv6路由信息的交换由MPBGP来完成,所以在其它地方也称为BGP隧道技术(或6PE)。如下图所示:
图1 MPLSTunneling示意图
这里需要几个条件来满足Tunneling的要求:
◆两端的PE(ProvideEdge)支持v4/v6双栈协议
◆PE与CE(CustomerEdge)之间采用EBGP或IGP来交互v6路由
◆在一个IPv6的孤岛里,需要把EBGP收到的路由分发给所有的节点,那么可以采用BGP路由注入IGP的办法,也可以采用FULLMESHIBGP的方案
◆骨干网络所有节点支持MPLS,运行LDP或RSVP协议
这种互联的方式简单明了,适合纯IPv6的孤岛进行通信。在整个通信的过程中,只需要在PE处封装两层MPLSLabel,然后在远端PE弹出Label,并把IPv6的数据包进行v6的路由表查询,然后转发到相应的CE。
它的优势比较明显,只要PE支持双栈,对v6网络里的路由器、主机均无特殊要求。但也有不足的地方,同一个IPv4MPLS的骨干网络里只能支持这样的一个IPv6网络,如果还需要承载其它用户的v6网络并隔离它们间的路由信息,那这需要v6的VPN来完成;另外,如果这些v6的网络还向外提供VPN业务(对于ISP来说,这比较常见),那么要求采用CarrierofCarrier的技术。
2.2引入GREtunnel
GRE(GenericRoutingEncapsulation)已经是运用广泛的隧道技术,把它和MPLS有机的结合起来,有时候会收到意想不到的效果。由于它对设备的要求较低,并且没有兼容性的问题,所以实用性很强。
通过GRE或IP-in-IP的隧道把独立开来的一个个v6网络连接起来,形成连通的整体网络。由于这些隧道是点到点之间的连接,我们可以根据具体情况建立部分或者FULLMESH的连接关系。
同时,GRE隧道支持的协议非常广泛,包括IPv4、IPv6、ISO和MPLS等。因此,可以在上面运行OSPF、ISIS路由协议,再结合MPLS及其相关的LDP、RSVP协议,便组成各种解决方案。
如图2,通过GRE的连接,再运行v6IGP,IPv6孤岛连成一片,完全可以形成一个独立的AS:
图2 GRETunnel
仅仅是这样的连接,其效果其实与前面的MPLSTunneling差别不大。如果我们在图2各个孤岛网络上再启用IPv4和MPLS的功能,就可以构成一个完整的IPv4/v6MPLS的网络,这个网络便可以向客户提供VPN业务了。
在这个进一步优化的方案里:
◆对纯IPv4骨干网没有特殊要求;
◆在v6的孤岛里同时启用IPv4/v6双栈协议,运行v4/v6的IGP,保证这些网络的IGP连通性;
◆在所有孤岛里启用MPLS,并且需要LDP或RSVP建立相应的LSP路径,这些LSP有可能在GRE上面;
◆如图3里,与IPv4骨干网连接的P路由器,不但启用IPv4/v6双栈、MPLS,还要求设备能够封装v4/v6和MPLS的数据包到GRETunnel里;
◆边缘的PE可以通过MP-IBGP部署MPLSVPN。
图3 MPLSVPNover GRE
这样,这些原是IPv6的孤岛连接成为IPv4/v6的MPLS骨干网,一方面这些孤岛间可以进行IPv6的通信;另一方面,它们还可以向客户提供VPLS、L2VPN和L3VPN(包括IPv6和IPv4)。显然,它比单纯的MPLS Tunneling有更强的业务能力。
一般来说,MPLSVPNoverGRE要求孤岛里的路由器支持MPLS和双栈,这个要求比较容易满足。因为在运营商的新建网络里,大部分设备对这些协议在功能上都是支持的,只是性能上有所区别而已。
但是,这种结构对与IPv4骨干网连接的路由器(图3里发起GREtunnel的P路由器)要求比较苛刻。它不但要支持以上提到的各种协议,而且负责所有数据包的GRE封装和解封装,负担非常重。如果仅利用路由器里的CPU来进行处理是基本不可行的,因此要添加专用的硬件加速模块来解决性能的不足。
2.3CarrierofCarrier VPN
这已经不是什么新技术了,在MPLSVPN里,这是一种相对成熟的方案,我们希望在集成IPv6/v4的网络中,它能够为业界提供运营级的解决办法。
简而言之,IPv6网络将作为IPv4骨干网的一个VPN客户网络,而在这个IPv6的VPN网络里还可以向外提供VPN业务。
这个方案主要采用MPLS封装来转发数据,用MPBGP来传递路由表。所以它要求IPv4骨干网和IPv6网络的设备都要支持MPLS,在这点上它与前面的MPLSVPNoverGRE的方案有所不同。
在IPv4骨干网络里,只需要支持普通MPLSVPN的功能即可,它透明地把孤岛网络的数据和路由信息传递过去,甚至其PE都不需要支持双栈协议。
由于采用CarrierofCarrier的方式,v6的孤岛网络需要支持v4IGP和LDP协议,由这些孤岛网络把其所有IPv4 IGP路由(路由器的互联和环回接口网段)加上MPLS Label发送给IPv4骨干网络,由IPv4骨干网络透明传递到远端的孤岛网络。这样,每个孤岛网络的CE路由器都会收到各个网络的IPv4 IGP路由(带MPLS Label),它可以通过IPv4 IGP重新分发给本岛里的所有路由器。
因此,v6的孤岛里便有所有网络的LabeledIPv4Route,可以建立起到达所有节点的MPLSLSP路径,再利用前面的MPLS tunneling的技术,把IPv6的路由信息传递过来,孤岛之间的IPv6就可以畅通无阻了。
图4 CarrierofCarrier MPLS VPN
至此,v6的孤岛作为VPN,已经完全连接起来了。那么,这些v6的网络作为运营网络,它向客户提供相应的VPN业务,也是没有问题的。如图5所示,在PE之间建立MP-IBGP的连接,传递相应VRF信息,建立MPLSVPN。这个VPN可以二层VPN,也可以是三层VPN;而且,如果采用爱立信公司的路由设备,还可以支持双栈VPN,也就是说这个VPN既支持IPv4,也同时支持IPv6,可以非常灵活地开展业务。
由于在整个方案中嵌套了两层PE,MPLS标签堆栈中最多时存在3个标签:IPv4MPLS骨干网的LSPLabel、IPv6网络里的LSPLabel、最终VPN Label。这些Label的封装和解封装分别在这些PE路由器上完成。
CarrierofCarrier的MPLS VPN这种网络共存方案,从性能上看是比较理想的,扩展性很好,IPv4 MPLS骨干网可以为多个IPv6网络服务,IPv6网络也可以同时为多个IPv4/v6的网络创建VPN。虽然,它要求IPv4/v6的网络都要支持MPLS,但这在如今的运营网络里不是很困难的事情。因此,这是一个值得推广的VPN解决方案。
2.4二层VPN
这个方案与GRETunnel非常类似,其思路是通过MPLSL2VPN模拟出二层的链路,以供VPN使用,不管这个VPN是IPv6的还是IPv4的网络。
它要求IPv4骨干网络支持L2VPN。目前普及面最广的是Martini-L2-VPN,它依靠LDPLSP在两个PE间传递二层链路数据帧,配置相对简单。
其优点是对CE没有特殊要求,CE可以支持IPv6/IPv4/MPLS的任何一种。它的主要问题是,需要互联的CE间二层链路类型是相同的,如FR和FR,VLAN和VLAN,但在现实网络里,很难做到全网完全统一。
3.结束语
下一代互联网涉及的过渡技术非常多,其中包括了6to4、6over4、ISATAP、Teredo等等,本文仅简单介绍了MPLSVPN的具体运用,并且大部分观点均以建设运营网络为出发点,不免有很大的局限性,需要与大家进一步斟酌。另外,这些方案都有不同的优缺点,不同的适用空间,用户可以根据自己的具体情况进行具体的部署。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者