问题描述
对于网络中的运营商来说,无须另外新建 IPv6 骨干网络,可以利用现有 IPv4 网络为用户提供 IPv6 服务来连接网络中的 IPv6 孤岛;
解决方案
6PE(IPv6 Provider Edge,IPv6 供应商边缘路由器)正是基于这个理念来设计的;
原理简述
6PE 是一种在目前的 IPv4 网络中利用 MPLS 隧道技术为不同地区的被分割的 IPv6 网络提供连通服务的解决方案,它是在 ISP 的 PE 上实现 IPv4/IPv6 双协议栈,利用 MP-BGP 为其分配的标签标识 IPv6 路由,从而通过 PE 之间的 IPv4 隧道实现 IPv6 孤岛之间的互通;
特性特征
便于维护:所有配置在 PE 上完成,用户的 IPv6 网络感知不到 IPv4 网络的存在。利用现有的 IPv4 网络承载 IPv6 业务,降低了维护难度;
建网成本低:运营商能够很好的利用现有的 MPLS 网络资源,无须对网络进行升级改造就可以为用户提供 IPv6 服务。6PE 设备还可以同时为用户提供 IPv6 VPN 和 IPv4 VPN 等多种业务;
单自治域
IPv6 孤岛连接到同一个自治域,处于同一个自治域内的 PE 之间通过 MP-IBGP 关系传递 IPv6 路由;
单自治域 6PE 的路由传递和数据转发过程如图所示,该图表示的是 CE2 发送路由给 CE1,CE1 发送报文给 CE2 的过程;
I-L 表示内层标签(MP-IBGP Label),内层标签由 MP-BGP 分配,表示报文的出接口或者报文属于哪个 CE;
O-L 表示外层隧道标签(MPLS Label),外层隧道标签由 MPLS 分配,用来指示如何到达 BGP 下一跳;
路由传递过程
CE2 将域内 IPv6 路由通过 EBGP 对等体关系传递给 6PE2;
6PE2 收到 CE2 发来的 IPv6 路由后,修改路由的下一跳为自身,并且为 IPv6 路由分配内层标签,然后将 IPv6 标签路由通过 IBGP 对等体关系向 6PE1 发送;
6PE1 收到 6PE2 发来的 IPv6 标签路由后,为 IPv6 标签路由迭代隧道,并且将路由信息下发到转发表。然后,6PE1 修改路由的下一跳为自身,并且去除 IPv6 路由的标签,然后通过 EBGP 对等体关系向 CE1 发送普通 IPv6 路由;
报文转发过程
CE1 将普通 IPv6 报文通过公网 IPv6 链路发送给 6PE1;
6PE1 收到 CE1 发来的 IPv6 报文后,根据报文的目的地址查找转发表,然后为报文封装内层标签和外层隧道标签。封装了两层标签的 IPv6 报文通过公网隧道被转发给 6PE2;
6PE2 收到封装了两层标签的 IPv6 报文后,弹出两层标签,再根据 IPv6 报文的目的地址将报文通过 IPv6 链路转发给 CE2;
在 6PE 中,路由共享显式空标签
在 6PE 组网中,默认情况下,6PE 路由是每路由每标签方式,即每条发送到其他 6PE 对等体的路由都需要申请一个标签,占用标签的数量与需要发送的 6PE 路由数成正比,当要发送大量 6PE 路由时会占用大量的标签资源;
使能 6PE 路由共享显式空标签后,所有发往其他对等体的 6PE 路由会共享显式空标签 2,而不用再为每条路由申请标签,占用标签的数量与 6PE 的路由量无关,这样就大大节省了 6PE 设备上的标签资源;
显式空标签 2 是一种特殊标签,表示该标签在 Egress PE 上必须被弹出,且报文的转发必须基于 IPv6;
在 6PE2 上使能 6PE 路由共享显式空标签特性,6PE2 发布路由给 6PE1 时无需申请标签,直接发布显式空标签即可。
6PE1 在向 6PE2 转发数据时,会携带两层标签,顶层是通过 LDP 分发的指向 6PE2 的标签,底层是通过 MP-BGP 分发的显式空标签。
数据包转发至 6PE2 上时,6PE2 对显式空标签进行 POP 操作,然后将 IPv6 数据包转发至 CE2;
配置案例
TODO !!! [NETWORK] IPv6 Transition, 6PE
在 6PE 中,内涵两层标签,MP-BGP 将为 IPv6-Route 分配标签,其使用 label-route-capability(无需单独配置路由策略);