BGP/MPLS中的应用论文_焦健

河北联强通信科技有限公司 河北石家庄 050000

1组网需求

石家庄海关的广域网承载生产经营、OA、VoIP等业务,业务之间要求网络安全隔离。按当前组网,需要多条链路才能实现隔离。利用MPLS VPN技术,可以在一个统一的物理网络上实现多个逻辑上相互独立的VPN专网,该特性非常适合于构建政企广域网。在石家庄关到各隶属关之间建立MPLS VPN承载网(公网),在承载网边缘设备上为各业务分配不同的VPN,实现隔离、管控的目的。同时合理规划双归属网络,实现业务的热备份,提高广域网链路的利用率。

2 MPLS VPN应用

在BGP/MPLS VPN架构中,MPLS(Multiprotocol Label Switching,多协议标签交换)相当于常见三层VPN的隧道协议,MPLS用一个短而定长的标签来封装IP报文,转发路径上的路由器根据标签值转发报文。MPLS可以承载在各种链路层协议上,如PPP、以太网;原则上各种报文都可以承载在MPLS之上,如IPv4/IPv6、各种链路层报文。

当前石家庄关到隶属关使用MSTP设备提供的以太网专线,承载业务是多个VPN内的IPv4报文,所以下图是海关广域网上转发的MPLS报文格式

注:0x8847在以太网协议字段中表示承载的是MPLS报文。

MPLS标签位于链路层和网络层之间,而且支持多层标签嵌套,在进行标签转发时,中间设备可以只根据外层标签转发,隐藏内层标签的细节,边缘设备才去关注内层标签,这样可以很好地支持VPN隧道功能。

BGP实际指的是MP-BGP(Multiprotocol Extensions for BGP-4),是普通BGP路由协议的多协议扩展,用于确保VPN的私网路由只在指定VPN内发布。它的主要特点是:(1)基于TCP连接建立邻居;(2)具有TLV结构扩展属性。第一个特点可以上公网PE跳过中间P设备来建立邻居,第二个特点可以使私网路由携带私网标签和RT、RD属性。

MPLS VPN网络模型,由公网和VPN网络组成。多台支持MPLS技术的路由器(简称LSR)组成公网,即承载网。公网之外的不同VPN代表不同的业务网络,VPN之间网络隔离、IP地址/路由相互独立。

设备角色分配如下:

CE(Custom Edge Router)

每个CE位于特定VPN网络内,下行直接与VPN内用户连接的边缘设备,上行连接PE。

PE(Provider Edge Router)

公网部分的边缘设备,下行连接CE,上行连接P/PE设备。

P(Provider Router)

公网的骨干设备,海关广域网是城市之间点到点专线,所以不需要部署P设备,由PE间互连组成公网。

MPLS VPN隧道的实现:

PE/P之间启用MPLS LDP标签分发协议,用于建立和维持公网标签隧道;标签转发表示例如下:

LDP按照用户的定义为每个FEC(转发等价类)分配MPLS标签,一般按照路由来划分FEC,即匹配某一路由表项的报文属于同一FEC。In Label入标签是本地随机分配的,Out Label出标签是LDP邻居为该FEC分配的标签,MPLS报文封装或中间设备进行标签交换时要用出标签来封装/交换。出接口指向LDP邻居的直连接口,一般也是路由表项的出接口。

Egress PE为CE2相关的私网路由分配私网标签(I-L),通过MP-BGP的路由更新消息发布给Ingress PE;Ingress PE学习到私网路由后,建立私网路由表,出标签是Egress PE指定的私网标签I-L。

数据转发实现:

数据从CE进入Ingress PE后,PE先为其打上私网标签(I-L),再根据目的IPv4前缀进行路由迭代,查找合适的公网标签路径(即MPLS隧道),打上公网标签(O-L1),转发给公网的P/PE设备。此时数据被双层标签封装,公网内转发时,只修改公网标签(在P设备发生标签交换,O-L1修改为O-L2)。

在公网另一侧的Egress PE收到数据后,发现公网标签应终结在本PE,剥离数据的公网标签(O-L2),此时继续处理私网标签I-L,发现私网标签对应CE2相关的私网路由,于是剥离私网标签,还原成普通数据,转发给CE2。

业务隔离的实现:

PE可连接不同VPN的CE,为区分不同VPN,需要为不同VPN指定不同的VPN实例(VRF),并为每个VPN实例维护一张独立的路由表,同时要为实例指定两个属性:Route Tartget和Route Distinguisher。

Route Tartget(简称RT)由Export Target和Import Target组成,表达该实例的路由取舍。PE向公网其它PE发布私网路由时指定Export Tartget,其它PE收到私网路由时,提取Export Target属性,和自己的每个实例的Import Target匹配,能够匹配的路由才能加入到相应VPN实例的路由表中,这样可保证不同VPN的路由表互不干涉,数据转发时也不会互相影响。

Route Distinguisher属性(简称RD)用于路由撤销,PE发现自己的某VPN路由失效,会发送路由撤销更新,里面只携带RD属性,要保证不同VPN的RD互不相同,这样撤销某VPN的私网路由才不会影响其它VPN的路由表。

路由协议的实现:

MP-BGP的邻居关系一般通过loopback接口来建立,选择环回接口的好处是接口地址永远保持UP,有利于协议的稳定性。

PE的VPN路由表要和各个VPN的CE互通,必须在接口上绑定VPN实例,同时启用多实例路由协议,才能为不同VPN实例创建各自独立的私网路由表。多实例路由协议一般选择多实例静态路由、多实例OSPF等等。

3 海关广域网部署MPLS VPN

广域网由石家庄关两台H3C SR6616路由器和每个地市的两台H3C MSR3640,通过石家庄到地市的两条MSTP专线互连组成。公网IGP选用OSPF,整网路由器数量不超过50个,路由数量不超过400个,所以不需要划分OSPF区域,所有路由器均属于骨干区域0。

MP-BGP路由域使用AS 65014,石家庄海关两台H3C SR6616路由器和每个隶属关的两台H3C MSR3640路由器担当PE角色。隶属关PE路由器和两台SR6616都通过loopback0建立MP-BGP邻居关系。PE与本地VPN内的CE要使用不同的OSPF进程建立OSPF邻居,在OSPF进程内绑定VPN实例。比如隶属关两台PE使用OSPF进程14与本地运行网交换机建立OSPF邻居,绑定运行网VPN实例,两台PE使用OSPF进程64与本地管理网交换机建立OSPF邻居,绑定VPN实例管理。同时MP-BGP路由表和多实例OSPF内不同VPN的路由表要互相引入,这样实现私网路由传递的功能。

目前每台PE路由器上规划两个VPN实例,一个用于运行网业务,一个用于管理网业务。运行网VPN实例的RT为:export-target=65014:101,import-traget=65014:101;管理网VPN实例的RT为:export-target=65014:102,import-traget=65014:102。这样实现不同VPN的路由表互相隔离,隶属关的运行网交换机(CE)只能学习到石家庄关的运行网VPN的私网路由,不会错误学习到管理网VPN内的路由信息。RD规划保证同一PE上不同VPN实例RD不同即可,格式为65014:1033551,65014取AS号,之后的1是VPN编号,0335是区号,51是该PE的loopback0接口IP。

CE由各VPN内的三层交换机充当,包括石家庄关的交换机和隶属关的交换机,由于CE设备不参与MPLS转发,不需要支持MP-BGP和MPLS功能,在海关网络中,只要支持OSPF路由协议,并且能支持1000条路由表项即可。

双归属实现:石家庄关的PE和隶属关的PE都是双PE,本地PE互连,加上城市之间的专线,形成口字型组网;PE到CE是全互联组网,这样在MPLS VPN网内实现了链路冗余和设备冗余。PE启用多实例OSPF与各VPN的CE建立连接,为每个VPN的流量形成了多条等值转发路径,这样两条城市间的专线链路都会承载数据流量,即1+1互备冗余,提高了链路的利用率。

论文作者:焦健

论文发表刊物:《基层建设》2019年第28期

论文发表时间:2020/1/18

标签:;  ;  ;  ;  ;  ;  ;  ;  

BGP/MPLS中的应用论文_焦健
下载Doc文档

猜你喜欢