专用IPv6流量在第3层BGP/MPLS VPN传输

2020-10-26 16:50:03 云杰通信 104

专用IPv6流量在第3层BGP/MPLS VPN传输

  服务提供商越来越需要在网络中同时承载IPv6和IPv4。相对IPv4,IPv6流量分两种主要流量:

  (1)IPv6 Internet 流量。跨公共Internet基础结构在IPv6用户间传IPv6数据包。数据包可能在同一服务提供商网络的用户之间传输,更典型的是在服务提供商客户与支持IPv6的对等体之间交换IPv6信息,以便传给另一服务提供商。

  (2)专用IPv6流量。提供VPN服务,使IPv6能在客户站点之间传输,同时保持与其他客户的隔离。

  本节重点在公网IPv6流量。专用IPv6流量在“第3层BGP / MPLS VPN”中进行讨论。如何通过网络核心承载IPv6流量方面有以下选择:

  Option 1.在网络中所有设备上打开IPv6转发和启用IPv6的IGP,然后以本地IPv6方式发送数据包。

  Option 2.在PE之间创建网格隧道(如GRE)。IPv6封装在IPv4中,从而无需在核心打开IPv6。

  Option 3.在PE之间使用MPLS LSP承载IPv6。

  对于已经用本地IPv4方式跨核心传输IPv4互联网流量的服务提供商,Option 1很有用,因为IPv6流量以类似方式传输。但在某些情况下,服务提供商可能有无法运行IPv6的核心,或者不愿意在核心上打开IPv6。因此,方案2避免在核心上打开IPv6,数据包封装在IPv4内,但这种方案的问题是通常涉及手动配置隧道,具有较高的操作开销。方案3对已使用MPLS LSP承载IPv4互联网流量的服务提供商具有吸引力,它允许使用相同的LSP承载IPv6。配置开销比方案2少得多。那么让我们更详细地研究方案3。

  已经设计为“ 6PE” [RFC 4798]的方案满足这种情况。该方案的前提是网络核心不支持IPv6,只有LER需要支持IPv6转发和IPv6协议。用于传输数据包的LSP使用IPv4建立,并可以与用于传输IPv4流量和其他流量(如第2层流量)的LSP相同。

  LER都有一个通过IPv6连接的CE路由器的eBGP会话。同样,服务提供商的对等路由器具有与对等方和上游提供商通过IPv6运行的eBGP会话。在网络核心内,寻址和IGP基于IPv4。用于在LER之间交换路由的iBGP会话也通过IPv4运行。

  图中的LSP已使用SR进行建立,使用LDP或RSVP同样适用。尽管不强制使用PHP,但实际大多数MPLS部署都使用PHP。这将在路由器P2上暴露IPv6数据包,但6PE方案前提是P路由器不支持IPv6。如果P2是这样,则链路上的数据包转发到PE2之前不知道如何在第2层报头中设置适当的协议类型。如果P2与PE2之间使用以太网链路,P2需要将以太网帧上的类型设置为IPv6有效负载。为克服此问题,6PE解决方案使用附加标签来确保IPv6数据包不会暴露给倒数第二跳。

  PE1,将标签值Y推入IPv6数据包。另一个标签值X最后被压入数据包。X通过LDP、RSVP或SR建立。在P2弹出外部标签,露出内部标签与数据包转发到PE2。但PE1如何知道内部标签?答案是使用BGP。当PE2在BGP中发布IPv6前缀,还将发布与它关联的标签值。用于此通告的AFI为2,表示IPv6。SAFI为4,表示带标签的路由。可使用PE1和PE2之间承载IPv6流量相同的LSP承载IPv4。与IPv4相比,IPv6数据包标签栈有一个额外的标签。但6PE不是VPN方案。