浅谈系列之MPLS VPN
  

王亚明 77872人觉得有帮助

{{ttag.title}}
本帖最后由 王亚明 于 2020-5-5 22:12 编辑


MPLS VPN:
MPLS VPN有时也简称为MPLS L3 VPN,它是MPLS最为广泛的应用,他使用MP-BGP在服务,
提供商骨干网上发布VPN路由,使用MPLS在服务提供商骨干网上转发VPN报文。BGP/MPLS
VPN主要部署在运营商网络。
1. MPLS/VPN特点:
MPLS/VPN模型特点:
①隧道承载:客户设备透明\运营商设备维护
②路由维护:客户设备维护\运营商设备维护
③VPN数据封装:MPLS标签报头
④优势:由运营商维护客户路由,降低管理成本
⑤劣势:路由信息被运营商获取,数据缺乏加密

2. MPLS VPN角色:

(1)CE:
Custom Edge Router,客户端边界路由器,为企业的边界路由器。
(2)PE:
Provider Edge Router,运行商边界路由器,用于连接企业的边界路由器。
PE的作用:
①私网标签分配
②私网路由交叉
③公网隧道迭代
(3)P:
Provider Router,运营商路由器。
(4)Site:
VPN用户站点,指相互之间具备IP连通性的一组IP系统,且该系统IP连通性不需通过ISP实现,所以一个Site指一个企业分支的私有网络
3. VPN-Instance:
通常MPLS VPN中PE的每个接口都连接各个企业的CE,为了保证安全,路由信息相互隔离,所以此时需要在PE上配置VPN-Instance。
在MPLS-VPN中,每个VPN实例为相应的VPN客户单独维护一张路由和转发表,这种
技术称之为VPN-Instance(cisco称为VRF- VPN Routing and Forwarding Table)。
不同的VPN实例间的路由是不能相互通信的,在PE设备上,通过连接CE的接口绑定VPN实例,接口区分不同的VPN客户的路由。当PE将VPN路由传递至VPN实例,每个实例都有自己维护的接口、FIB表、路由协议,各个实例之间相互独立。
4. MP-BGP:
Multi-Protocol BGP,使用命令将VPN-Instance中路由和MP-BGP路由互相引入,实现用来传递各个VPN-Instance中的路由信息和数据给对端。
而在使用MP-BGP传递各个VPN-Instance中的私网路由时,存在两个问题:
①在BGP链路上,可能会传递不同VPN实例相同的私网路由,此时如果为BGP的IPv4单播时,由于单播BGP不使用附载均衡,所以BGP只会从中选择其中一条私网路由进行传递,造成有的实例收不到对端实例私网路由的现象,MP-BGP会使用RD值+IPv4地址在全局BGP路由表中唯一标识一条VPNv4路由
②当P设备收到对端P设备的VPNv4路由,如何区分这些路由使他们进入到正确的VPN-Instance中,所以两端为不同的VPN-Instance使用相同的标识,每条VPNv4路由携带这些标识,当P设备收到带标识的VPNv4路由时,根据标识将VPNv4路由送入正确的VPN-Instance
(1)RD:
Route Distinguisher,路由区分器,用于区分不同实例使用相同的IPv4地址前缀的问题,使用RD值(8Byte)+私有路由地址(4Byte)在MP-BGP路由表中唯一标识一条VPNv4路由
注:边界路由器同一VPN实例RD值建议不一致(防止出现两端私网路由相同),不同VPN实例的RD必须不一致

RD与路由一起被携带在BGP Update报文中发送给对端。
RD不具有选路能力,不影响路由的发送与接受。
RD用来区分本地VRF,本地有效。
RD有三种模式,所以前2Byte用来表示使用哪种模式:
①   Type0:Administrator Subfield为2Byte,Assigned Number Subfield为4Byte
16bits自制系统号(最大65535)+32bits用户自定义数字(最大4294967296),例如65534:1
②Type1:Administrator Subfield为4Byte,Assigned Number Subfield为2Byte
32bits IPv4地址+16bits用户自定义数字(最大65535),例如172.1.1.1:65534
③Type2:Administrator Subfield为4Byte,Assigned Number Subfield为2Byte
32bit自制系统号+8bit的用户自定义数字,例如65536:1
(2)RT:
Route Target,8Byte,路由目标,RT是VPNv4路由携带的一个重要的扩展团体属性,它决定VPN路由的收发和过滤,PE依靠RT属性区分不同VPN之间路由,用于控制VPN路由信息的发布,将PE上接收到的VPNv4前缀通告到正确的CE设备。
RT包含Export Target和Import Target:
①Export Target在VPNv4路由前缀通告时作为扩展团体属性携带
②Import Target在本地VRF用于接收具有特定RT值的VPNv4路由前缀,用于送往正确的CE设备
注:不同VPN实例的RT必须不一致,相同VPN实例的RT必须一致
过程如下:
①当从VRF表中导出VPN路由时,要用Export RT对VPN路由进行标记。
②当往VRF表中导入VPN路由时,只有所带RT标记与VRF表中任意一个Import RT相符的路由才会被导入到VRF表中,如果所有RT都不符合VPN-v4路由的RT值,PE将丢弃该路由

5. MPLS-VPN原理:
(1)控制平面:
R1和R4为PE,R1将5.5.5.5/32通过BGP传递给R4为例:
①R1通过实例IGP路由接收到CE设备中的私网路由,R1为实例中的IPv4路由生成标签转发表:
②R1通过MP-BGP传递路由,UP-Data中携带BGP路由属性:
Ø  Extended Community:RT值
Ø  MP_REACH_NLRI:本端实例标签+RD值+IPv4路由
③R4收到Up-Data报文后,根据扩展团体属性中的RT值与本端的RT值进行匹配:
Ø  如果没有对应的匹配值,丢弃报文
Ø  如果存在对应的配置值,将报文送入对应的VPN实例中:
a)      将VPNv4路由的RD值去掉,生成IPv4路由,放入MP-BGP路由表中

b)     将Label标签放入实例实例标签转发表中

④R4设备上实现MP-BGP与IGP实例路由互相引入,最终路由条目进入IGP实例路由表中,通过IGP协议传递到TE设备
(2)数据平面:
①R6访问5.5.5.5/32,将数据包送给PE设备R4,由于是从实例中传递过来的数据包,查看实例FIB表,Tunnel ID不为0,封装标签,根据Tunnel ID对应的LIM表压入标签,得知下一跳等行为

②压入出标签1038,下一跳地址G0/0/0,目标地址为1.1.1.1,由于1.1.1.1为全局地址,默认MPLS VPNv4默认使用隧道迭代功能,访问VPNv4路由的标签使用迭代标签(BGP环回口地址),所以查看全局的FIB表,Tunnel ID不为0,继续压入标签
注:隧道迭代功能只能使用/32的接口迭代标签,所以MP-BGP进行邻居建立时必须使用/32环回口地址建立,并且不能使用汇总功能
③压入标签1026,最终形成双标签的数据包
④数据包在ISP传递中,ISP中的P设备查看数据包的外层标签进行转发,由于默认存在PHP行为,所以最后一跳路由器只收到存在内层标签的数据包,根据内层标签得知对应的VPN实例,将数据包送入VPN实例中,VPN实例通过实例IGP路由对数据包进行转发,送往TE设备
注1:如果ISP中的设备有的链路没有启动LDP协议,则无法实现LSP的建立,由于PE之间可以通过IGP路由协议将路由传递给对端,MPLS默认采用有序的模式下发标签,如果中间的MPLS LDP不生效,由于VPNv4属性中没有Next-Hop属性,而是使用Label得知下一跳,PE设备无法得知LSP的下一跳地址标签,导致MP-BGP路由不优化,不会放入实例转发表中
可以使用静态LSP配置目标PE的环回地址标签。
注2:如果在PE全局上将MPLS功能关闭,因为VPNv4路由依靠LSP通道进行转发,所以如果MPLS全局关闭,则PE设备不会发送任何的VPNv4路由
注3:如果在中间的P设备行做路由汇总,则导致/32的FEC消失,变为一条粗路由,导致LSP关于目标PE/32的FEC的LSP消失,BGP的路由条目下一跳地址不可达,最终BGP的VPNv4路由不会进入实例路由表中,可以使用静态LSP解决,目标FEC必须是/32
6. MPLS VPN配置:
① ISP中启用IGP路由协议
② ISP中配置MPLS,并启用LDP
③ ISP边界路由器配置MP-BGP,并使用环回口建立邻居:
R2:
[Huawei]bgp 100
[Huawei-bgp]undo default ipv4-unicast---关闭IPv4单播功能
[Huawei-bgp]peer  5.5.5.5 as-number 100
[Huawei-bgp]peer  5.5.5.5 connect-interface LoopBack 0
[Huawei-bgp]ipv4-family vpnv4
[Huawei-bgp-af-vpnv4]peer 5.5.5.5 enable--激活与对端5.5.5.5的VPNv4功能
[Huawei-bgp-af-vpnv4]peer 5.5.5.5 advertise-community—传递团体属性(默认开启)
R5:
[Huawei]bgp 100
[Huawei-bgp]undo default ipv4-unicast---关闭IPv4单播功能
[Huawei-bgp]peer  2.2.2.2 as-number 100
[Huawei-bgp]peer  2.2.2.2 connect-interface LoopBack 0
[Huawei-bgp]ipv4-family vpnv4
[Huawei-bgp-af-vpnv4]peer 2.2.2.2 enable--激活与对端2.2.2.2的VPNv4功能
[Huawei-bgp-af-vpnv4]peer 5.5.5.5 advertise-community—传递团体属性(默认开启)
注:使用命令[Huawei]display bgp vpnv4 all peer查看VPNv4邻居建立
④ 配置VPN Instance:
R2:
[Huawei]ip vpn-instance huawei
[Huawei-vpn-instance-huawei]route-distinguisher 100:1---配置RD值
[Huawei-vpn-instance-huawei-af-ipv4]vpn-Target 100:1 both配置RT值
[Huawei]inter g0/0/0
[Huawei-GigabitEthernet0/0/0]ip binding vpn-instance Huawei—接口绑定实例
[Huawei-GigabitEthernet0/0/0]ip add 192.168.1.1 24---重新配置IP
R5:
[Huawei]ip vpn-instance huawei
[Huawei-vpn-instance-huawei]route-distinguisher 100:1---配置RD值
[Huawei-vpn-instance-huawei-af-ipv4]vpn-Target 100:1 both配置RT值
[Huawei]inter g0/0/0
[Huawei-GigabitEthernet0/0/0]ip binding vpn-instance Huawei—接口绑定实例
[Huawei-GigabitEthernet0/0/0]ip add 192.168.5.1 24---重新配置IP
注:使用命令<Huawei>display  ip routing-table vpn-instance huawei查看实
例路由表
⑤ PE与CE之间启用IGP路由协议:
R2:
[Huawei]ospf 10 vpn-instance huawei---配置OSPF进程10为实例huawei服务
[Huawei-ospf-10]area 1
[Huawei-ospf-10-area-0.0.0.1]network 192.168.1.1 0.0.0.0
R1:
[Huawei]ospf 10
[Huawei-ospf-10-area-0.0.0.1]network  0.0.0.0 255.255.255.255
R5:
[Huawei]ospf 10 vpn-instance huawei---配置OSPF进程10为实例huawei服务
[Huawei-ospf-10]area 1
[Huawei-ospf-10-area-0.0.0.1]network 192.168.5.1 0.0.0.0
R6:
[Huawei]ospf 10
[Huawei-ospf-10-area-0.0.0.1]network  0.0.0.0 255.255.255.255
注:PING测试需要增加VPN选项<Huawei>ping -vpn-instance huawei 1.1.1.1
⑥将Site中的路由放入MP-BGP中传递,将MP-BGP路由传递给Site:
R2:
[Huawei]bgp 100
[Huawei-bgp]ipv4-family vpn-instance Huawei
[Huawei-bgp-huawei]import-route  ospf 10
此时R2便将VPNv4实例路由放入MP-BGP传递给对端邻居,对端邻居R5收到后,根据VPNv4路由中的Export属性和本地的IN-port属性进行比对,如果相同,将VPNv4变为普通的IPv4路由放入对应的BGP的VPN实例中。
注::使用引入命令将BGP VPN实例中的路由放入OSPF的实例中
R5:
[Huawei]ospf 10 vpn-instance Huawei  
[Huawei-ospf-10]import-route bgp
同理在R5上将ospf vpnv4路由引入BGP vpnv4路由中,在R2上将BGP vpnv4路由引入OSPF vpnv4路由中。
注:PE接收对端PE发送过来的路由时,首先比较路由中的RT值(Label是否存在于BGP标签转发表中),如果RT未知,PE将直接丢弃所传递过来的路由信息。在特殊,ISP中部署RR时,RR的VPN实例不需要配置RT和RD值,只需要转发所有的VPNv4路由即可,此时需要关闭RT的过滤功能
   并且RR上不要配置Next-Hop-Local命令,此命令对VPNv4路由生效,RR再将VPNv4路由传递给对端PE设备时,下一跳地址为自身,此时实际数据平面传输过程中数据流经过了两段LSP,一段目标FEC为RR环回口地址,一段目标FEC为PE的环回口地址
[Huawei]bgp 100
[Huawei-bgp]ipv4-family vpnv4
[Huawei-bgp-af-vpnv4]undo policy vpn-target—关闭VPNv4的RT过滤功能
此时,只要有VPNv4路由传递过来,路由器会直接放入BGP的VPNv4路由表中,不在检查
RT属性
7. CE与PE建立:(1)静态建立:
①PE:
[Huawei]ip route-static vpn-instance huawei 1.1.1.1 32 g0/0/0 10.1.12.1
[Huawei-bgp]ipv4-family vpn-instance huawei
[Huawei-bgp-huawei]import-route  direct-----导入直连,否则PE-CE线路直连网络不存在
[Huawei-bgp-huawei]import-route  static
②CE:
[Huawei]ip route-static 0.0.0.0 0.0.0.0 192.168.1.1
(2)RIP建立:
①PE:
[Huawei]rip 1 vpn-instance huawei
[Huawei-rip-1]network 192.168.1.0
[Huawei-rip-1]undo summary
[Huawei-rip-1]import-route  bgp
[Huawei-rip-1]bgp 100
[Huawei-bgp]ipv4-family vpn-instance huawei
[Huawei-bgp-huawei]import-route rip 1
②CE:
[Huawei]rip 1
[Huawei-rip-1]network 192.168.1.0
[Huawei-rip-1]network  1.0.0.0
[Huawei-rip-1]undo summary
(3)IS-IS建立:
①PE:
[Huawei]isis vpn-instance huawei
[Huawei-isis-1]network-entity 49.0001.0000.0000.2222.00
[Huawei-isis-1]import-route  bgp
[Huawei-isis-1]inter g0/0/1
[Huawei-GigabitEthernet0/0/1]isis enable
[Huawei]bgp 100
[Huawei-bgp]ipv4-family vpn-instance huawei
[Huawei-bgp-huawei]import-route isis 1
②CE:
[Huawei-isis-1]network-entity 49.0001.0000.0000.2222.00
[Huawei]inter g0/0/0
[Huawei-GigabitEthernet0/0/0]isis enable
[Huawei-GigabitEthernet0/0/0]inter loo 0
[Huawei-LoopBack0]isis enable
(4)BGP建立:
BGP建立时,在PE设备上直接在BGP的VPN实例中建立邻居,此时路由直接在BGP实例中传递,无需互相引入。
①PE:
[Huawei]bgp 100
[Huawei-bgp]ipv4-family vpn-instance huawei
[Huawei-bgp-huawei]peer  192.168.1.2 as-number 200
②CE:
[Huawei]bgp 200
[Huawei-bgp]peer  192.168.1.1 as-number 100
在BGP建立中会存在问题,两个企业边界路由器可能会使用相同的AS号码,此时当一个CE收到另一端CE的私网路由时,查看AS-Path属性,如果AS-Path号码相同,则会拒绝此路由。
解决方法:
①在对端PE设备上使用命令[Huawei-bgp-huawei]peer 12.12.12.12 substitute-as,此时原先的AS号码会变成ISP的AS200
②在CE设备上使用命令[Huawei-bgp]peer 1.1.1.1 allow-as-loop,不检查AS号码,直接接受路由
(5)OSPF建立:①Super-Backbone:
如果PE和CE之间配置的为OSPF,并且PE和CE设备之间都存在于Area0,则PE—PE之间称为Super-Backbone,如果PE-CE之间有的区域不在Area0,则为普通骨干区域,PE设备虽然做了引入动作,但他的角色是ABR和ASBR他们在使用BGP传递OSPF路由时,会使用Community团体属性(Domain-ID)标识OSPF进程号,用于路由重构
Ø  如果PE设备两端的OSPF进程ID一致,则PE为ABR设备,收到对端PE设备的Type1、Type2、Type3的LSA会议Type3的LSA将路由放入路由表中;将Type5、Type7的LSA以原类型放入路由表中
Ø  如果PE设备两端的OSPF进程ID不一致,则PE为ASBR设备,收到对端PE设备的Type1、Type2、Type3 Type5、Type7的LSA将以Type5或Type7的LSA将路由放入路由表中
注1:华为设备默认使用Domain-ID映射进程ID,并且为Null,即使两端的进程ID不一致,也会将3类LSA以原始类型放入路由表中
使用命令在PE设备上修改Domain ID:[Huawei-ospf-10]domain-id 0.0.0.1

注2:此时PE与PE区域为骨干0,如果PE与CE之间运行的OSPF属于普通区域,并且企业内部存在骨干区域,则企业骨干区域和PE-PE骨干区域被PE-CE普通区域分割,形成两个分离的骨干区域,由于3类LSA水平分割的原因,所以造成路由不传递现象

Extended Community:
Ø  RT:Router Traget值
Ø  Domain-ID:域ID,映射OSPF进程ID,华为默认为Null
Ø  OSPF RT:
a)      0.0.0.0:区域ID
b)     1:LSA类型
c)      0:如果LSA类型为5或7,使用此位表示外部开销类型
Ø  OSPF Router ID:PE设备的Router ID

②Sham-Link:

企业网络在部署MPLS VPN时,为了保证冗余性,可能会在两个分部的边界路由器增加一条低速链路,如果低速链路和连接ISP的链路为同一区域:
Ø  低速链路传递的路由为1类和2类,开销值最大
Ø  MPLS VPN传递的路由为3类或5类,开销值最小
此时根据OSPF的选路规则,会选择串行链路进行数据的传递,为了解决这种问题,使用Sham-Link进行解决。
Sham-Link原理:
Ø  创建/32的环回接口
Ø  在BGP实例中宣告该环回接口
Ø  在OSPF实例中建立Sham-Link连接
Ø  Sham-Link通过BGP路由走LSP通告形成连接
Ø  两端的PE-CE的OSPF区域必须一致,两个PE形成邻居关系,两个区域变为一个区域,路由信息由3类LSA变为1类和2类LSA
注:一定要注意不能将Loo口放入OSPF实例中,负责由于OSPF的优先级优于BGP,此时建立Sham-Link链路时会选择后门低速链路建立,Sham-Link达到Full的条件为使用BGP链路建立,所以此时状态会卡在down状态
配置:
PE
[Huawei]inter loo 1
[Huawei-GigabitEthernet0/0/0]ip binding vpn-instance Huawei
[Huawei-LoopBack1]ip add 22.2.2.2 32---创建新的环回口用于Sham Link的建立
[Huawei]bgp 100
[Huawei-bgp]ipv4-family vpn-instance Huawei
[Huawei-bgp-huawei]network 22.2.2.2 32---将环回口放入BGP实例中
[Huawei]ospf 10 vpn-instance huawei
[Huawei-ospf-1]area 0
[Huawei-ospf-10-area-0.0.0.0]sham-link 22.2.2.2 55.5.5.5—建立本端与对端的Sham-Link连接

8. MPLS VPN环路防护:
企业为了加强冗余性,通常企业会连接多个PE设备
这种部署方式会带来环路问题:
①对端企业路由引入产生的环路
②本端企业路由引入产生的环路
①  无法实现附载分担问题
①  对端企业路由引入产生的环路和抖动:
BGP路由同时被两端PE引入IGP协议中:
Ø  如果AR3和AR4在同一时刻将BGP路由引入到IGP路由中:
a)      两端的PE设备同时使用IGP协议将8.8.8.8/32的路由在企业网络中传递
b)     这两台PE设备同时也会受到对端PE发送过来的关于8.8.8.8/32的IGP路由,由于任何一种IGP协议的优先级都大于BGP协议优先级,所以收到对端关于8.8.8.8/32的IGP路由时,会将BGP路由关于8.8.8.8/32的路由重路由表中撤销,使用IGP8.8.8.8/32的路由条目
c)      IGP从BGP协议中引入,所以BGP消失,IGP路由也消失,此时两端的PE设备又会同时发送撤销路由,再次使用BGP路由,又收到对端的IGP路由,再次使用,形成路由抖动问题
Ø  如果一端的引入快于另外一端:
a)      AR4首先将8.8.8.8/32BGP路由引入的IGP路由中,AR3收到IGP路由后,优于BGP路由,选用此条IGP路由协议,并将这条IGP路由协议引入到BGP中在BGP中传递
b)     如果这条从AR4传递过来并在AR3上引入到BGP的8.8.8.8/32的路由条目的BGP属性高于产生着AR8传递给AR7的BGP属性,则AR6优选AR3的8.8.8.8/32的BGP路由
c)      AR8将路由通告给AR4,形成环路
②本端企业路由引入产生的环路:
a)      AR3和AR4会将本端企业路由传递给RR,RR从中根据BGP选路规则选择出一条最优路由,传递回AR3和AR4
b)      AR3和AR4将这条路由条目重新回灌到企业内网,如果这条链路出现故障,因为收敛不及时,可能会出现环路
③无法实现附载分担行为:
a)      AR8想要访问1.1.1.1,默认RR收到AR3和AR4两个PE相同的VPNv4路由,只会从中选择一条最优的传递给AR8
b)      AR8访问时只存在一条路由,所以不会形成附载分担
c)      将AR3和AR4配置成不同的VPn-实例,或修改RD值,此时传递给RR,RR会认为这是两条不同的VPnv4路由,同时传递给AR7
d)      AR7收到后,私网地址一致,但是目标地址为两个(两个PE地址),如果钱9条BGP属性相同并且开启负载分担,此时一条链路上使用两条LSP,目标地址分别为3.3.3.3/32和4.4.4.4/32
e)      在经过RR时,两条流量形成了附载分担
(1)OSPF防环:
Site内运行OSPF,对于OSPF协议的防环时自动完成。对于双PE双出口的链路,以下情况形成环路:
Ø  MPLS VPN域中的PE通过OSPF接收到三类LSA通过另一端的PE在重新倒灌给企业,会形成3类LSA或5类LSA环路
Ø  MPLS VPN域中的PE通过OSPF接收到三类LSA通过运行RIP的PE重新再次引入到另一端的PE,会形成五类LSA的环路
Ø  而针对本地始发的路由,只能通过路由策略来消除,比如使用Community值,在另一端PE上引入到ISIS时先Deny掉这些路由,防止他们重新回灌到Site中
①Type 3 LSA的Down-bit:
PE从另一端PE收到Type 3 LSA,会在Option字段里会置位Option中的Down-bit位,其他PE的VPN实例接收到Down-bit位的Type 3 LSA,仅将其保存在数据库中,不放入路由表中

②Type 5 LSA的Domain-Tag:
华为设备LSA5类中也存在DN bit,和LSA3一样,PE设备收到Down bit置位的5类LSA也不会放入路由表中
从PE的VPN实例通告出去的Type 5 LSA,会将其TAG字段填写为本VPN实例的Domain Tag,默认情况下Domain-Tag为该PE的AS号,如果PE的VPN实例接收到一条Type 5 LSA,并且其TAG值与本地BGP的AS号相等,则仅将其保存在数据库中,并不进行任何计算。
注:Domain ID一共32bit,前8bit固定值为0XD000,后16bit表示本端BGP AS号(16进制)
2)IS-IS防环:
Ø  IS-IS中也是包含DN位,再将BGP路由引入到ISIS VPN实例中时,会将DN位置位,所以传递给另一端PE时,由于DN置位,另一端PE不会接受
Ø  而针对本地始发的路由,只能通过路由策略来消除,比如使用Community值,在另一端PE上引入到ISIS时先Deny掉这些路由,防止他们重新回灌到Site中

(3)BGP防环:
在网络部署中,一般PE使用的为公有AS ID配置BGP,企业Site之间使用的都是私有AS,如果多个Site之间的AS号相同,则此时需要依靠配置SOO(Site of Origin,扩展团体属性)进行防环。
AR1和AR2之间建立IBGP邻居
②AR3、AR4建立IBGP邻居,如果存在多Site,建议启用IBGP邻居关系,不然在配置时会将BGP路由引入到Site的IGP路由中,则会丧失BGP路由属性,AS-Path消失,导致环路问题
③AR3、AR4与AR1、AR2分别建立EBGP邻居
①Site AS不同:
Ø  则此时PE将VPNv4路由传递到对端CE,CE在AS-Path中本路由器的AS ID,传递到对端CE(IBGP),对端CE在传递给EBGP邻居PE,此时由于双PE之间的AS ID相同,所以AS-Path中包含了本路由器的AS ID,所以pe不会接受这份从Site中传递过来的这份BGP路由,所以通过AS-Path可以防止对端PE传递过来的路由通过双PE产生的环路问题
Ø  针对Site中始发的路由,双PE互相传递也可以直接通过AS-PATH解决,AR1、AR2将IGP路由引入到BGP中,并将其AS ID放入到AS PATH中(两者ID相同),传递给各自的EBGP邻居PE设备,两个PE通过IBGP邻居关系将其传递给对端PE,再将其传递给CE,但是在传递给CE之前压入本AS ID,但是CE收到不会接受这份路由,原因在于AS PATH中包含了本设备的AS ID(对端CE的AS ID和本端相同)
②Site AS相同:
当多个Site之间的AS相同时,在PE传递给对端CE路由时,由于AS-PATH中的ID和本端的AS ID相同,所以不会接受,导致两端Site之间无法学到对端Site的私网路由,针对此问题,在CE设备上使用命令忽略AS PATH的检查,这样CE就可以接受对端Site的路由,但是会出现环路问题,如果是本地始发的路由,通过PE设备重新传回另一端CE设备,由于不检查AS-PATH,所以此条路由又会重新回到Site中,出现环路
Ø  针对对端PE出现的环路问题,是可以通过常规的AS Path检测避免的,因为PE是检查AS Path的,CE在AS-Path中本路由器的AS ID,传递到对端CE(IBGP),对端CE在传递给EBGP邻居PE,此时由于双PE之间的AS ID相同,所以AS-Path中包含了本路由器的AS ID,所以pe不会接受这份从Site中传递过来的这份BGP路由
Ø  而针对Site本端始发的BGP路由,由于不开启检查,会重新回到Site内,此时可以在PE上配置SOO,对CE发送过来的BGP路由压入TAG值,两端PE设置的SOO相同,所以PE再将Site中的路由通过IBGP邻居传递给对端PE,对端PE不会接受,因为SOO相同。
[Huawei-bgp-huawei]peer  5.5.5.5 soo 100:1---在PE设备上,Peer CE时设置SOO
9. 多AS组网:
如果VPN骨干网跨越多个AS,则需要部署跨域VPN
①跨域Option A:PE上的VPN数量较少时采用,要求ASBR支持VPN实例。
② 跨域Option B:PE上的VPN数量相对较多且ASBR没有足够的接口为每个跨域VPN专用时采用,要求ASBR支持VPN-IPv4路由的维护和发布。
③ 跨域Option C:每个AS都有大量的VPN路由需要交换时采用,防止ASBR成为阻碍网络进一步扩展的瓶颈。
(1)Option A:
①在两个AS边界路由器之间使用“实例路由协议”进行连接,将一端AS看作另一端的客户端
②此时,AS边界路由器在传递路由和数据时使用的时纯IPv4报文给对端
③对端收到后放入实例路由表,引入到MP-BGP中传递给真正的企业机构
缺点:由于互联的线路只能存在一个VPN-Instance中,所以如果存在多个企业,需要多根链路进行连接,可以使用子接口解决
(2)Option B:
①在两个AS边界路由器之间使用“MP-EBGP VPNv4路由协议”进行连接
②LSP分为两段,ASBR之间只包含内层标签
③由于下一跳发生了三次改变,所以内层标签改变了三次
④ASBR再将VPNv4路由传递给PE时会自动将路由的下一跳地址变为自身的IP地址,优化路由
(3)Option C:
如果两个运营商存在多个CE设备跨域时,此时可以使用Option C方案进行组网,两端RR
之间建立MP BGP邻居关系,减轻在Option B方案中对ASBR的负担
10. MCE:
Multi-VPN-Instance CE(多实例CE)的简称,具有MCE功能的设备可以在BGP/MPLS IP VPN组网应用中承担多个VPN实例的CE功能,减少用户网络设备的投入。
在MCE设备上为不同的VPN创建各自的路由转发表,并绑定到对应的接口。在接收路由信息时,MCE设备根据接收报文的接口,即可判断该路由信息的来源,并将其维护到对应VPN的路由转发表中。
同时,在PE上也需要将连接MCE的接口与VPN进行绑定,绑定的方式与MCE设备一致。PE根据接收报文的接口判断报文所属的VPN,将报文在指定的隧道内传输。
注:如果PE和MCE设备之间配置为OSPF,则PE设备通告给MCE设备的三类LSA或五类LSA中的DNbit会置位,MCE收到DNbit置位的LSA会继续传递给下面的Site路由器,但是不会放入路由表(MPLS VPN防环),在MCE设备上使用命令vpn-instance-capability simple忽略检测环路标识,此时MCE会将其放入路由表中
11. MPLS VPN组网:
MPLS VPN组网分为三种模式:
①Intranet VPN
(1)Intranet VPN:
最简单的情况下,一个VPN中所有用户形成闭合用户群,相互之间能够进行流量转发,VPN中的用户不能与任何本VPN以外的用户通信。这种组网方式的VPN称为Intranet VPN,其站点通常属于同一个组织。
VPN1---VPN1:RT值相同
VPN2---VPN2:RT值相同
不同VPN实例时互相隔绝的
(2)Extranet VPN:
如果一个VPN用户希望访问其他VPN中的某些站点,可以使用Extranet组网方案。

(3)Hub and Spoke:
如果希望在VPN中心访问控制设备,其他用户的互访都可通过中心访问控制设备进行,可以使用Hub and Spoke组网方案。




打赏鼓励作者,期待更多好文!

打赏
5人已打赏

新手548437 发表于 2020-5-5 22:20
  
感谢分享。
黄波 发表于 2020-5-7 09:54
  
打卡学习
黄波 发表于 2020-5-7 09:55
  
学习打卡
Sangfor_闪电回_朱丽 发表于 2020-5-7 10:13
  
感谢分享,满满的干货,已将文章放入技术博客中~
水之蓝色 发表于 2020-5-7 23:50
  
文档有点长,慢慢消化吧
sangfor_1051 发表于 2020-5-12 19:26
  
楼主的分享十分精彩从MPLS VPN名词解释,优缺点,原理以及如何配置等都讲解的十分清晰细致,非常值得学习
黄波 发表于 2020-5-13 09:03
  
太棒了 大佬
Jean_Zhj 发表于 2020-5-13 09:08
  
太厉害了,点赞;感谢分享。
697480 发表于 2020-5-13 09:32
  
满满的干货,谢谢分享
发表新帖
热门标签
全部标签>
每日一问
2024年技术争霸赛
技术盲盒
安装部署配置
技术笔记
每周精选
2023技术争霸赛专题
产品连连看
干货满满
技术咨询
信服课堂视频
功能体验
自助服务平台操作指引
运维工具
秒懂零信任
文档捉虫活动
功能咨询
通用技术
GIF动图学习
新版本体验
问题分析处理
每日一记
SDP百科
标准化排查
排障笔记本
纪元平台
畅聊IT
答题自测
专家问答
技术圆桌
测试报告
用户认证
解决方案
VPN 对接
项目案例
地址转换
存储
技术争霸赛
卧龙计划
技术晨报
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
日志审计
流量管理
云计算知识
原创分享
sangfor周刊
SANGFOR资讯
专家分享
技术顾问
信服故事
终端接入
授权
设备维护
资源访问
虚拟机
迁移
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
华北区拉练
天逸直播
以战代练
山东区技术晨报
齐鲁TV
华北区交付直播
北京区每日一练

本版版主

26
76
83

发帖

粉丝

关注

本版达人

新手24268...

本周建议达人

阿凯

本周分享达人

新手39341...

本周提问达人