基于BGP MPLS VPN企业跨域组网仿真设计
2021-04-27李永芳
李永芳
(南京铁道职业技术学院通信信号学院,南京 210031)
0 引言
随着互联网技术不断发展,业务数据海量增长,传统的IP网络,面向无连接的特点,无法提供可靠的服务质量。多协议标签交换(Multi-Protocol Label Switching,MPLS)[1]是一种IP 骨干网技术。MPLS 在无连接的IP网络引入面向连接的标签交换概念,将3层路由技术与2层交换技术结合,采用一种基于标签转发的隧道技术,充分发挥了IP路由的灵活性和2层交换的简捷性。
用户个性化需求带来增值业务的快速发展,MPLS技术逐渐被扩展到了新的应用领域,如与边界网关协议(Border Gateway Protocol,BGP)、虚拟专用网络(Virtual Private Network,VPN)技术结合的BGP MPLS VPN技术就是一种应用广泛的3层VPN(Layer 3 VPN,L3VPN)技术[2],利用BGP 协议在MPLS 骨干网上传递VPN私网路由信息,用MPLS来转发VPN业务数据。BGP MPLS VPN使用BGP多协议扩展(MultiProtocol BGP,MP-BGP)确保VPN 的私网路由只在VPN内发布,并实现MPLS VPN成员间的通信[3],提升数据传递过程中的安全性。该技术正被越来越多的大型企事业单位和运营商所青睐。
1 BGP MPLS VPN技术
1.1 普通MPLS VPN技术
一般MPLS VPN架构将设备角色分为客户端边界路由器(Customer Edge,CE)、运营商边界路由器(Provider Edge Router,PE)和运营商路由器(Provider Router,P)[4]。PE 与CE 之间建立外部BGP(External BGP,EBGP)对等体关系,进行VPN实例绑定,在具体应用中也可以采用多实例CE(Multiple CE,MCE)方式。PE设备之间建立MP-BGP关系,传递私网路由,PE与P设备之间建立普通BGP对等体关系,传递公网路由。
由于VPN业务采用私网IP地址,当多个VPN业务连接到同一个PE上或是多个VPN业务相互通信时,就可能存在IP地址冲突问题。为解决不同VPN私网路由冲突,MPLS VPN引入了VPN实例技术,即在PE设备上创建实例并与VPN业务进行绑定,实现不同VPN业务路由隔离。创建VPN实例相当于创建了单独的VPN路由转发表(VPN Routing and Forwarding,VRF)[5]。当PE 收到来自不同业务的私网路由时,通过识别VPN实例将其添加至对应的VRF中。为此,一台PE设备上会存在一个公网路由表,以及一个或多个VRF[6]。
1.2 BGP MPLS VPN技术
在BGP MPLS VPN网络中,为确保每个业务VPN路由的唯一性,在PE设备上为每个VPN路由分配唯一的路由区分(Route Distinguisher,RD)值,对不同的私网路由进行区分[7]。同时,给每条私网路由赋予导入、导出的路由目标(Route Target,RT)值,用于控制VPN路由信息的发布。当2个VPN业务互通时,RD值可以设置不相同,但是RT值入和出方向的值必须跟对端VPN业务的RT值匹配,否则会影响私网路由的通信。
1.3 跨域MPLS VPN技术
普通的MPLS VPN体系结构是在一个自治系统(Autonomous System,AS)域内运行,不提供向其他AS传递VPN路由信息的功能。而跨域(Inter-AS)的MPLS VPN,可以实现AS之间VPN私网路由信息的交互传递[8]。当前主流的跨域方式有3种,分别为VPNOption A、VPN-Option B、VPN-Option C。A 方式中,将两个AS之间的自治系统边界路由器(Autonomour System Border Router,ASBR)设备互为CE 关系,VPN数据在ASBR之间是以普通IP数据转发,不携带任何标签[9]。B方式中,2台ASBR之间建立多协议外部BGP(MultiProtocol-external BGP,MP-eBGP)对等体关系,传递VPN路由,转发数据时,携带私网路由标签信息。C方式中,在不同AS的PE间建立MP-eBGP对等体关系,以传递VPN路由,与A、B方式不同的是,ASBR不再维护和交换VPN路由,以减少设备负担[10]。3种方式各有所长,使用时需要结合具体网络环境和组网需求来进行选择。
2 企业组网设计
2.1 组网需求与网络结构设计
某公司总部和分部距离较远,需要跨越多个区域运营商网络进行互连,为保证业务互通,要求采用BGP MPLS VPN技术来为公司多个业务提供安全、高效的跨域互通。围绕需求,在网络仿真工具平台(Enterprise Network Simulation Platform,eNSP)[11-16],设计一种企业网络结构如图1所示。
图1 网络结构图
2.2 具体网络规划
由图1可见,AS100、AS200为各区域运营商网络,作为MPLS骨干网,CR1、CR4为ASBR设备,CR2、CR3、CR5、CR6为PE设备。AS65001为公司总部;CSW1、CSW2为CE设备,ASW1、ASW2为总部内部业务接入设备;业务用VLAN10/20/30/40 进行模拟。AS65002为分部网络,CSW3、CSW4为CE设备,分部业务VLAN50通过ASW3设备接入。为保证业务数据传递的安全性,业务网段以VPNv4路由穿越运营商网络进行互通。为了减少路由器开销,PE与CE设备之间运行BGP协议,仅允许将业务路由引入BGP协议。所有AS域内均运行开放式最短路径优先协议(Open Shortest Path First,OSPF),除公司总部运行多区域以外,其他AS内均运行单区域。公司内部采用多生成树协议(Multiple Spanning Tree Protocol,MSTP)和虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP)技术实现业务的可靠接入,总部与分部之间采用OptionB跨域方式实现不同VPN业务之间的通信。具体IP地址及业务划分见表1。
表1 IP地址及VLAN规划表
3 过程分析
3.1 域内网络连通性配置
依据设计,对照表1在完成底层IP地址、MSTP与VRRP相关配置的基础上,所有AS域内通过运行OSPF协议来实现域内全网互通。AS100、AS200、AS65002均运行单区域、单进程。总部AS65001内运行多区域,以控制LSA的泛洪,其中CSW1与CSW2之间运行Area0,ASW1与CSW1、CSW2之间运行Area1,ASW2与CSW1、CSW2之间运行Area2。
CSW1上的相关配置如下:
以此参考,完成CSW2、ASW2设备配置,不再赘述。设备配置完成后,在CSW1上运行dis ospf routing查看ospf路由,如图2所示,设备已学习到AS内的全部业务网段。由于篇幅限制,其他AS域的OSPF协议配置不再详述。
3.2 普通BGP对等体建立
如图1所示,在6台路由器设备以及公司核心层CSW1~CSW4 4台设备上运行BGP协议。为实现路由传递,在域内相邻设备之间建立内部BGP(Internal BGP,iBGP)对等体关系,通过对等体学习和传递路由信息。以CR2设备举例,配置如下:
图2 CSW1设备上OSPF域内路由表
其他设备配置不再赘述。在CR2执行dis bgp peer查看对等体关系建立情况,结果如图3所示,CR2分别与CR1、CR3的环回口地址成功建立了对等体关系。
图3 CR2设备上BGP对等体关系
3.3 MPLS标签分发
在运营商骨干网络中,所有路由器上运行MPLS协议,路由器通过标签分发协议(Label Distribution Protocol,LDP)为每条内部路由映射一个标签,并向自己的对等体进行通告,以此来建立标签转发表,指导数据转发。需要在AS100、AS200域内设备全局和设备互联物理接口下同时开启MPLS和LDP协议。如CR3配置如下:
在GE0/0/2 物理接口下配置与GE0/0/1 相同。其他路由器配置与CR3类似。在设备上执行相应命令查看标签会话表,如图4所示,CR3与CR1、CR2标签会话建立成功。
图4 CR3设备上LDP会话表
3.4 VPN实例创建与绑定
为了实现业务高可靠、安全传输,在MPLS公共网络上建立私网连接隧道,将私网业务与公网业务进行隔离。同时,建立多个VPN实例承载不同业务,实现私网业务之间的互相隔离。如图1所示,在CR2~CR6这4台PE设备上创建VPN实例,利用物理接口与相应的业务私网路由进行绑定,实现私网路由互相隔离。设总部VLAN10、VLAN20对应实例名为VPNA,VLAN30、VLAN40对应实例名为VPNB,分别与CR2、CR3的GE0/0/0接口绑定。分部VLAN50对应实例名为VPNC,与CR5、CR6的GE0/0/0接口绑定。为保证每条VPN路由的唯一性以及与其他VPN路由互通,需要为每个VPN实例自定义RD、RT值。
如,设置总部实例VPNA、VPNB的RD值均为100∶1,出入方向RT 值均为100∶200。分部实例VPNB,RD值为200∶1,为保证与总部的VPNA、VPNB互通,需要设置相同的出入方向RT值。分别在4台PE设备的G0/0/0接口下绑定对应的VPN实例。如CR2配置如下命令:
此时,在CR2设备上执行dis bgp vpnv4 vpninstance VPNA peer来查看实例对等体关系,如图5所示,与CSW1的对等体关系建立成功。
图5 CR2设备上VPNv4的对等体关系
同样,在CR3创建实例VPNB,CR5、CR6设备上创建实例VPNC,配置过程不再赘述。
3.5 私网路由跨域传递
为确保总部和分部业务安全性互通,在骨干网跨域传输时,依然以VPNv4路由互通。由于普通BGP对等体只能传递公网IPv4单播路由,为在公网上传递VPNv4私网路由,需要建立MP-BGP对等体来实现。在不同AS域内,ASBR分别与域内PE设备建立MPiBGP对等体关系。采用Option B方式跨域时,ASBR设备上不需要创建VPN实例,需要在ASBR之间建立MP-eBGP对等体关系,传递VPNv4路由。同时,为确保能从对端设备接收到VPNv4路由,ASBR需要关闭RT值的过滤匹配功能。在CR1、CR4设备上完成如下配置命令:
CR4设备上配置与CR1基本相同。在设备上查看对等体关系,结果如图6所示,CR1分别与CR2~CR4成功建立MP-BGP对等体。
图6 CR1设备上MP-BGP对等体关系
4 结果验证
4.1 业务互通测试
在CR5、CR6其中一台PE设备上输入dis ip routing-table vpn-instance VPNC 命令,查看绑定的VPN实例VRF路由转发表,结果如图7所示。在VPNC路由表中可以学习到总部的所有业务网段路由。
在PC5上分别发送ping包给其他业务网段PC进行网络连通性测试,结果如图8、9所示,私网业务互访成功。
图7 CR6设备上实例VPNC的VRF路由转发表
图9 PC5与PC1、PC2 ping包测试结果
4.2 VPN-OptionB跨域数据传递分析
在2台ASBR设备CR1、CR4上查看一条私网路由,分析数据在Option B方式下跨域传递过程,以192.168.10.0/24 网段为例,查看结果如图10、11 所示。图10表明,CR1 从CR2(2.2.2.2)收到该条VPNv4路由,替换私网路由标签,且携带路由的RD值以及出方向的RT值。同时将该路由通告给对端CR4(10.10.14.2)设备。图11 表明,CR4 从CR1(10.10.14.1)收到该条VPNv4路由,再次替换私网路由标签值,携带路由的RD值以及出方向的RT值。将该路由通告给MP-iBGP 对等体CR5(5.5.5.5)、CR6(6.6.6.6)设备。
图10 CR1 设备上192.168.10.0/24VPNv4 路由信息
图11 CR4 设备上192.168.10.0/24VPNv4 路由信息
分析可知,业务数据在跨域过程中,不是通过IPv4路由传递,而是以VPNv4私网路由进行传输的。公网是基于IP路由表进行数据转发,私网路由是基于标签转发表来转发数据。在跨域过程中,私网与公网数据进行隔离,提高了数据传输的安全性。
5 结语
针对企业组网中高效、高安全等技术需求,提出一种基于BGP MPLS VPN企业跨域组网设计方案,并在eNSP模拟环境中进行仿真,在企业内网及骨干网设备上部署了OSPF、BGP、MPLS VPN等多种复杂协议。围绕业务数据跨域传递过程,对BGP对等体建立、VPN实例创建、MPLS标签分发与交换、VPNv4业务数据跨域传输等内容进行了具体配置和过程分析。结果表明,方案为私网路由分配标签,建立VPNv4业务传输隧道,为业务数据传递提供安全保障,增加VPN实例可以灵活扩展企业增值业务,满足企业网络建设中安全、灵活和高效等性能需求。
·名人名言·
“成功”的科学家往往是兴趣广泛的人。他们的独创精神可能自他们的博学。多样化会使人观点新鲜,而过于长时间钻研一个窄的领域,则易使人愚蠢。
——贝弗里奇