MPLSVPN(SOO)/PE-CE之间运行动态路由协议

一、缩略词解释:

MPLS VPN:多协议标签交换虚拟专用网络 (Multiprotocol Label Switching Vitural Private Network)。用于提高路由交换设备的转发速度,具有组网灵活、扩展性强、投资少、覆盖范围广、接入方式灵活、安全可靠的特点。把现有的IP网络分解成逻辑上隔离的网络,以满足政企客户内、外网互联,不同业务区分,并实现qos业务等级划分。

P设备:MPLS VPN中的标签转发设备,负责对PE设备打过标记的MPLS标签中转、转发,位于MPLS VPN核心网络。

PE设备:MPLS VPN中的网络边缘设备,负责对客户设备发送的数据打上MPLS标签。

CE设备:MPLS VPN中的客户端设备。

LOOPBACK地址:路由器永不down的接口地址,用于户PE设备间的MP-BGP互联。

MP-BGP协议:多协议交换-BGP网关协议,利用其扩展属性,用于承载MPLS VPN中转发的MPLS 标签。

IGP:内部网关协议。

EBGP:外部边界网关协议。

AS:自治域号。

LDP:标签标识协议。

LER:标签边界路由器,即PE。

LSR:标签交换路由器,即P。

LSP:标签交换路径,即pe间建立的vpn通道。

VRF : VPN路由转发(VPN Routing && Forwarding:VRF)。在PE路由器上,存在有多个VRF表,这些VRF表是和PE路由器上的一个或多个子接口相对应的,用于存放这些子接口所属VPN的路由信息。

RD (Route Distinguisher):路由区分符,RD具有全局唯一性,通过将8个字节的RD作为IPv4地址前缀的扩展,使不唯一的IPv4地址转化为唯一的VPN-IPv4地址,用于解决不同客户私网地址重叠的问题。

RT(Route Target): RT的作用类似于BGP中扩展团体属性,用于路由信息的分发。它分为Import RT和Export RT,分别用于路由信息的导入、导出策略。RT具有全局唯一性,并且只能被一个VPN使用。

二、基本VPN配置步骤

1)   配置pe及p设备的loopback地址,作为pe间MP-BGP互通的接口地址。

2)   配置pe与pe及pe与p之间互联的IGP协议(如ospf),实现pe和p之间的互通。因为BGP协议是承载MPLS功能的唯一协议,只使用这个协议的话,pe只能认识物理相邻节点的as邻居,而pe间可能有很多p设备,为了使经过p设备的pe能够互通,必须先使得pe之间通过诸如ospf协议进行逻辑上的互通,才能彼此间建立邻居关系。

3)   在pe及p设备上配置mpls基本能力,使能ldp,建立ldp lsp。

4)   在pe设备上需要启用mpls功能的接口建立使能LDP,p设备不需要在接口配置,对于p设备的接口,只需要转发而不需要进行mpls封装。

5)   Pe间建立mp-bgp对等体关系。

6)   在pe上配置vpn实例,将实例与对应ce接口捆绑,将ce接入pe,配置ce与pe互联接口的地址及路由协议,使pe和ce能够互通。

三、IP地址规划

包括以下几部分:

Pe及p设备的loopback地址。

Pe及p设备间的接口地址。

Pe到ce的接口地址。

客户网络的ip地址。

四、路由规划

Pe与p设备间承载MP-BGP的IGP协议(如ospf)。

Pe与pe间交换mpls ldp(vpn ipv4路由)通过MP-BGP协议,需要分配as号。

Pe与ce间的Ebgp协议.并且pe和ce要在各自设备上引入对方路由。

五、RD、RT规划

 5.1 规划RD属性:RD属性是把原来IPV4的地址前面加了8个字节的RD变成了一个VPNV4地址,从而可以实现在不同VPN中地址复用的问题。RD属性也可以是两个字节的AS号加4个字节的IP地址

在现网中一般这样规划

AAAA:BBBB

AAAA表示AS号

BBBB表示VPN的类别
5.2 CN2网RD的分配原则

原则上用户业务开通经由CN2网络时,使用CN2网络的RD值,后续新增节点在城域网内时也遵循CN2网络分配的RD。

CN2网RD的数据格式为:XXXX:YYYY

     XXXX:为中国电信CN2网络公有自治域号码4809,以ChinaNet的公有自治域号4134作为备份;

     YYYY:为序号,由6位阿拉伯数字组成。0-999预留不使用,1000-9999为中国电信内部业务使用,10000-89999为大客户业务使用,90000-999999预留。例:中国电信内部NGN业务在CN2上的一个VPN,分配给该VPN的RD是4809:1001。工商银行在CN2的一个集团级VPN,由集团分配给该VPN的RD是4809:10001。民生银行在北京发起的一个省市级CN2 VPN,由北京分配给该VPN的RD是4809:14001

5.3 规划RT属性:RT属性标识了MPLS VPN的喜好,可以分为两个字节的AS号加4个字节的IP地址。

在现网中RT可以这样规划:AAAA:BBBB CCCC

AAAA表示AS号

BBBB表示VPN类别

CCC表示区号 
  5.4 CN2 RT值分配原则

RT的数据格式为:XXXX:YYYYYYYZZ,其中XXXX:YYYYYYY为分配给该VPN的RD号(若有多个RD号,可选数值最小的一个),ZZ:为序号,由2位阿拉伯数字组成。从00到99,按顺序分配。

1)   对于any-to-any的VPN用户, RT值为RD值后面加2个0

2)   对于Hub-Spoke的VPN用户,Hub站点的RT值为RD值后面加2个0,Spoke部分的RT取值为RD值加上从01到99按顺序取的值。

CN2网业务、城域网业务、国际OptionA对接业务、A端发起的国际OptionB对接业务所需的RT均按该原则分配。

VPN的RD所对应的RT同时用于电信内部业务VPN之间的互通,具体见VPN网间互通原则。

例:工商银行在CN2上的一个集团级VPN,其网络结构是Hub-Spoke类型,分配给该VPN的RD是4809:10001,则该VPN在北京总部Hub站点的RT是4809:1000100,该VPN在其它各地Spoke站点的RT是4809:1000101。

首先介绍SOO基本概念
SOO:
1、SOO(期源站点属性)属于VPNv4路由携带的扩展团体属性,用于标识客户站点,跟PE-CE之间运行的路由协议无关
2、当PE收到一条VPNv4路由后,如果该路由携带了SOO属性,那么PE会检查本地所有连接的CE是否具有相同的标识,如果相同,则不转发该路由

PE-CE之间运行RIP:
1、只能运行RIPv2,因为RIPv1不能携带子网掩码,导致不适合运行在MPLS VPN环境

2、默认将外部路由引入到RIP度量值为无穷大,所以引入外部路由进入RIP需要携带具体度量值
redistribute bgp 123 metric transparent    //表明继承BGP VPNv4路由原有度量值
3、MPLS VPN环境运行RIPv2的防环机制:路由过滤(ACL/前缀列表)、TAG标记过滤、SOO
4、如果RIP在PE上引入路由的MED值超过15,建议不要使用redistribute bgp 123 metric transprent (例如对端站点是使用的是EIGRP或者是OSFP协议)
PE-CE之间运行EIGRP:
1、相对RIP而言,EIGRP的度量值更复杂,因此还原EIGRP路由需要携带更多的参数信息
2、BGP VPNv4中使用扩展团体属性来携带一条EIGRP路由的所有属性信息,让对端PE收到该路由后,根据扩展团体属性信息来判断如何还原该路由
3、属性信息 类型:
0x8800:表示该EIGRP路由在对端PE上的FLAG和TAG
0x8801:表示该EIGRP路由在对端PE上的AS号和延迟(延迟=(对端延迟*256)/10)
0x8802:表示该EIGRP路由在对端PE上的可靠性,跳数和最小BW(最小BW=(256*10的7次方)/对端最小链路带宽)
0x8803:表示该EIGRP路由在对端PE上的负载和MTU值
0x8806:表示对端路由器的router-id(EIGRP的R-D)
4、收到VPNv4路由后首先查看EIGRP的AS号,如果对端AS与本端AS一致,则还原EIGRP路由。如果不一致,那么直接作为外部路由处理。
5、如果还原路由,则通过该路由携带的带宽 、延迟、可靠性、负载以及MTU(10000 100 100 1 1500)来计算metric值。
6、如果不还原路由,直接按照重分发是管理员设置的度量值信息来计算
7、MPLS VPN环境运行EIGRP的防换机制:路由过滤、TAG标记、SOO
PE-CE之间运行OSPF:
1、为了构建正确的VPN模型,当PE-CE之间运行OSPF协议时,PE-PE之间始终认为是一个super backbone,从而保证还原依靠BGP扩展团体属性携带的LSA相关参数信息。

BGP routing table entry for 500:5:10.1.1.1/32, version 164

Paths: (1 available, best #1, table Site-A5)

Not advertised to any peer

Refresh Epoch 3

Local, imported path from 100:1:10.1.1.1/32 (global)

   9.9.1.2 (metric 3) from 9.9.1.3 (9.9.1.3)

     Origin incomplete, metric 2, localpref 100, valid, internal, best

     Extended Community: SoO:100:17 RT:100:1 RT:100:7 RT:500:5

       OSPF DOMAIN ID:0x0005:0x0000000B0200 OSPF RT:0.0.0.0:2:0

       OSPF ROUTER ID:10.1.1.2:0

     Originator: 9.9.1.2, Cluster list: 9.9.1.3

     mpls labels in/out nolabel/207

     rx pathid: 0, tx pathid: 0x0

OSPF ROUTER ID:10.1.1.2 对端PE的路由器标识

RT:0.0.0.0:2:0   

其中0.0.0.0表示区域ID为0   

:2 表示LSA类型1和2

:3 表示LSA类型3 

:5 表示LSA类型5  

:0表示5类LSA的外部类型1(OE1)

:1表示5类LSA的外部类型2(OE2)

OSPF DOMAIN ID:0x0000000B (默认使用OSPF的进程号作为domain id,也可以手动设置)

domain-id的作用:

1.收到对端PE的VPNV4路由后,首先判断domain id

2.如果与本端domain id一致,则直接进行路由还原。

3.如果与本端domain id不一致,则按照外部路由处理。

这里回忆下OSPF传统的防环机制:

1、域内依靠SPF计算,计算出最佳无环路径

2、域间防止环路:(星形拓扑),普通区域必须连接骨干区域Backbone

2)O优于O IA 路由

3)普通区域的ABR收到普通区域其他ABR引入的3类LSA拒绝加表

3、OSPF外部路由依靠路由过滤,TAG过滤防止环路

运行在MPLS VPN之下的OSPF防止环路的机制:

1.如果还原为LSA 3,则在LSA中设置down ward bit,该LSA被其它的PE在OSPF中收到后,该PE设备会查看down 比特位,并且不计算该LSA。

Summary Net Link States (Area 0)

LS age: 427

Options: (No TOS-capability, DC, Downward)    //默认该比特正常情况应该是upward

LS Type: Summary Links(Network)

Link State ID: 172.16.1.1 (summary Network Number)

Advertising Router: 10.1.45.4

LS Seq Number: 80000001

Checksum: 0xC4FA

Length: 28

Network Mask: /32

       MTID: 0         Metric: 2

2.如果导出的是LSA 5,则在LSA中设置TAG,TAG的最后16比特自动设置为BGP的AS号。如果本AS内的其他PE在OSPF中收到该LSA会检 TAG,并且比对AS号来决定该LSA是否参与计算。

Type-5 AS External Link States

LS age: 645

Options: (No TOS-capability, DC, Downward)

LS Type: AS External Link

Link State ID: 10.1.67.0 (External Network Number )

Advertising Router: 10.1.45.4

LS Seq Number: 80000002

Checksum: 0x61F9

Length: 36

Network Mask: /24

       Metric Type: 2 (Larger than any link state path)

       MTID: 0

       Metric: 1

       Forward Address: 0.0.0.0

       External Route Tag: 3489661051                    //最后16比特自动设置为BGP的AS号

OSPF sham-link

注意:

1.在super backbone构建一条属于站点内OSPF的虚拟链路,使得PE-PE之间可以直接传递LSA,从而避免在PE上进行BGP导出路由的还原处理。

2.构建成功后,PE上OSPF与BGP之间仍然需要进行双向重分发

3.如果OSPF不重分发进入BGP,那么路由学习到之后,数据包无法在MPLS骨干网传输,因为没有成为VPNV4路由,无法获取VPNV4标签

4.如果BGP不重分发进入OSPF,那么PE不认为这里存在VPNv4路由还原问题,也不会建立sham-link。

5.针对OSPF同一区域,不能同时存在sham-link和virtual-link。

建立sham-link条件:

1.PE上各自需要一个32位的loopback接口作为通信地址。

2.该通信地址必须属于各自VRF,并且必须确保路由可达。

3.MPLS骨干网正确运行了MPLS,以确保标签数据正常转发。

4.不能将sham-link的通信地址宣告进OSPF,以免造成OSPF邻居翻动。

PE-CE之间运行EBGP:

1、PE-CE之间使用BGP传递路由信息意味着在PE上不用做路由协议之间的重分发

2、协议之间路由重分发交给CE端去处理

3、如果出现两端客户AS号相同,那么可以在PE端使用as-voerride或者CE端allows-in来解决AS-PATH防环导致的路由不能接收的问题

4、使用as-override和allows-in虽然解决了收不到路由的问题,但是破坏了防环策略,导致同一站点多宿主情况容易环路,此时可以采用SOO来解决问题。

发布者

小挨踢

一名89年出生的女网络工程师的博客,20180319小挨踢的博客来啦!

发表评论