- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
BGP在IPv6过渡阶段的应用
一、BGP及其扩展
边界网关协议(BGP)是目前IP网络中应用广泛且惟一的域间路由协议,目前协议版本号是4(即BGP4)。BGP4最早由RFC1771描述(1995年),在2006年则发布了BGP的最新描述RFC4271。在此期间的十几年内,随着BGP的广泛应用,各种各样的扩展功能被加入到BGP中。对BGP的扩展分为两个大的方面:一是对性能的增强(比如反射器、自治系统联盟、路由过滤、平稳重启和聚合),另一个方面是对功能的增强(多协议支持)。
BGP使用TCP来传输协议消息,而TCP本身属于传输层机制,能够在IPv4和IPv6上运行,和底层IP版本无关。BGP的传输机制和MBGP能力结合起来,使得BGP承载的信息与网络层无关,比如,能够通过IPv4网络传递IPv6路由,也能够通过IPv6网络传递IPv4路由,即BGP可以用于单纯IPv6环境,也可以用于IPv4和IPv6混合环境。这一能力决定了BGP在IPv6过渡阶段将起到重要作用,
二、IPv6过渡阶段与BGP
下一代互联网(CNGI)将采用IPv6作为核心协议以替代目前的IPv4。然而互联网络的现状决定了IPv6替代IPv4的过程是平稳和漫长的。当前互通应用主要有三类,即IPv4和IPv6网络的通信(NATPT,SIIT等),IPv6孤岛通过IPv4网络的通信(各种隧道技术)以及IPv4通过IPv6网络的通信(也是各种隧道技术)。在这三类应用中,IPv4和IPv6互通只需要一个网关设备,不需要BGP的参与;而隧道技术则至少需要一对隧道端点,可以采用BGP来建立隧道。BGP在纯IPv6环境下协议操作过程和IPv4环境下的过程基本一致,因此本文仅分析BGP在IPv4/v6混合环境下的应用。以下分析包括如何建立BGP会话以及如何使用BGP两个部分。
三、混合环境下的BGP应用分析
BGP可应用于跨越IPv4网络的IPv6互联和跨越IPv6网络的IPv4互联,这两种情况的原理基本一致,因此以下仅分析前一种网络环境下的应用。图1显示了这种应用的示意图,图中,R1和R4是纯IPv6节点,而R2和R3则是双栈节点,R2和R3之间通过隧道技术提供两个IPv6网络的互联。
图1 跨越IPv4网络的IPv6互通
在这个网络环境中,按照节点类型的不同,我们将BGP的使用分为以下几种情况。
1.纯IPv6节点间应用BGP
假定需要在R1和R4间使用BGP,则双方均采用IPv6地址进行通信。此时,BGP协议消息在IPv4网络看来就是普通的IPv6数据,可以由隧道直接传输,BGP本身也不需要检测IPv4的存在,这种情况实际上等同于纯IPv6环境中的应用。
2.纯IPv6节点于双栈节点间应用BGP
假定需要在R1和R3间使用BGP,R1采用IPv6传输,而R3同时支持IPv4和IPv6,因此具有两种选择。根据网络过渡的基本原则,R3应采用和R1相同的传输技术,即IPv6。此时,R1和R3间的BGP会话也等同于纯IPv6环境中的应用。
3.双栈节点间应用BGP-IPv6
假定R2和R3间需要建立BGP会话,则存在两种选择,即同时使用IPv6地址和同时使用IPv4地址。R2和R3间使用IPv6地址时,BGP的协议消息需要通过R2和R3间的隧道传输,本质上仍然是纯IPv6环境的范畴,与上面的两种应用相同。
4.双栈节点间应用BGP-IPv4
当R2和R3间采用IPv4建立BGP会话时,情况与上述纯IPv6环境有所不同。此时,BGP能够控制R2和R3间的隧道,因此,比单纯IPv6环境中的应用更有意义。以下根据隧道类型不同分别进行描述。
(1)MPLS3层隧道(6PE)
BGP可以在交换IPv6路由的时候为此路由分配一个MPLS标记。比如,当R3向R2通告路由2000::/64时可以附加一个标记L。R2收到此更新后将生成一条2000::/64的路由,路由下一跳指向(R3,L)组成的一条MPLS3层隧道。此后,当R2转发2000::/64的数据时,将把IPv6数据前填充MPLS标记L,并将此标记包发送到R3(可以采用MPLS或GRE来封装这个MPLS包)。这种技术被称为6PE。
(2)MPLS2层隧道
现有的BGP扩展能够实现VPWS/VPLS这样的2层服务,在这种应用中,R1和R4在IP层不识别R2和R3,对R1和R4而言,它们是直接连接的。R2将R1发送的2层包作为整体发送到R4。
(3)IPv6隧道
现有的IPv6隧道需要在隧道两个端点进行配置,所有参数都需要人工检查。BGP的扩展能力使得自动隧道成为可能,通信双方只需要在本地配置隧道参数,使用BGP交换隧道信息,从而自动生成隧道。而BGP自身具有的各种属性能够对隧道建立进行监控,比如出现配置错误时能够给出告警。自动建立隧道能够极大减少隧道配置工作量,对IPv6网络的演进具有推动作用。
四、烽火网络对IPv6的支持
武汉烽火网络公司于2004年6月推出了从高端到低端的系列IPv6路由器产品,烽火网络公司最新的模块化路由操作系统软件平台MROS也全面支持IPv4/IPv6双栈。MROS中的BGP协议实现了RFC2858规定的MBGP,能够支持纯IPv6环境下的IPv6路由交换,还支持MPLSL3VPN、6PE、VPWS/VPLS等MPLS隧道功能,能够很好地适应IPv6应用过渡过程中的各个阶段。