MPLS VPN协议高级应用

简介: MPLS VPN协议高级应用

TCP UDP

   IP

以太   PPP

以上都是转发面技术    MPLS也是转发技术

OSPF 、BGP、ISIS都是控制面技术

MPLS VPN的组网方式

Intranrt:站点与站点之间的访问,最基本的。

Extranrt:分支与总部访问,分支与分支不访问。

Hub&Spoke:分支与总部访问,分支与分支访问需经过总部。

MCE:可以划分多个VPN实例,每个实例对应一个VPN用户或VPN业务,不同VPN之间相互隔离,把不同的接口与VPN绑定,就不用再为每个VPN用户单独买一台CE设备了。

Hub&Spoke场景的MPLS VPN

方式一:Hub-CE与PE,Spoke-CE与PE使用EBGP

方式二:Hub-CE与PE,Spoke-CE与PE使用IGP

方式三:Hub-CE与PE使用EBGP,Spoke-CE与PE使用IGP

无法Hub-CE与PE使用IGP,Spoke-CE与PE使用EBGP来部署Hub&Spoke

PE-CE之间的路由选择问题

环路问题:

ISIS:

如果1-4和2-4使用ISIS协议,如果5产生一条路由5.5.5.5,那么会发给R3,R3会发给R1和R2。然后R1和R2又会通过ISIS发给R4。     ——R5-R3-R1(R2)-R4

假设R1先发给了R4,那么R4又会发给R2,那么R2会从BGP和ISIS同时学到R5的一条路由,R2因为优先级的原因,下一跳为R4。那么R2又会通过ISIS发给了R1,R1此时会存在两个去往5.5.5.5的路由。R1-R3-R5,R1-R2...

假如R5的5.5.5.5路由失效,会通告给R3,R3通告给R1和R2。但是此时R1还有通过ISIS获取到的路由,是R2发来的,R2也有通过ISIS获取到的路由,是通过R4发来的。那么此时如果R2去pingR5的路径会造成环路:R2-R4-R1-R2-R4-R1。

OSPF:

为了保留OSPF的路由信息,BGP新增了携带OSPF属性的团体属性:

Domain ID:域标识符,区分不同的域

Route Type:包含被引入到BGP的OSPF路由的区域ID和Route Type

  • Area ID:PE的VPN实例的OSPF进程与CE建立邻接关系的区域号。
  • Route Type:被引入的路由类型

Domain ID:

域ID包含在该进程生成的路由中,在把OSPF的路由引入进BGP的时候,域ID会被附加到VPNv4路由上,作为BGP的扩展属性传递出去。

在PE把BGP的路由引入OSPF时,BGP路由携带的Domain ID如果相同,则认为两个站点属于同一个OSPF域。若不同,则认为不在同一个域。缺省值为0。

Domain ID如果相同,1类2类的LSA,在远端收到后会变为3类LSA。5类7类LSA,远端收到后依然为5类7类。

Domain ID如果不同,1类2类的LSA,在远端收到后会变为5类LSA。5类7类LSA,远端收到后依然为5类7类。

防环:

DN位防环:

PE将3类、5类、7类LSA发布给CE时,都会把DN位置位为1,其他PE收到置位的LSA时,会直接忽略。

dn-bit-set disable 命令仅支持在OSPF私网进程下配置,并且只在PE上生效。意思是不生成置位了。

dn-bit-check disable 命令可以控制对端的PE路由器不检查DN位是否置位了。

Route-Tag:

防止5类,7类路由环路。

PE在根据收到的BGP的私网路由生成5/7类LSA时,携带VPN路由标记。当PE发现LSA的VPN路由标记和本地配置的一样,就会忽略这条LSA,因此可以避免上述环路。

Sham Link

为了一些冗余,在CE和CE之间专门拉了一根专线,连接起来,通过OSPF发布,但由于这是通过1类,2类LSA学习到的,MPLS VPN学到的是通过3类学到的,由于1类,2类优于3类LSA,所以CE之间会一直走这条链路,为了能够让CE之间继续走MPLS VPN网络,可以通过配置Sham Link来实现

Sham link被看成是两个VPN实例之间的链路,链路的两端是PE上的端点地址,伪连接的源地址和目的地址使用32位掩码的Loopback接口地址,该Loopback接口需要绑定到VPN实例中,并通过BGP发布

BGP

AS号替换

假设两台CE站点是同一公司,使用同一个AS号,那么CE与PE之间部署EBGP,传递到对端CE时,会因为AS号重复而丢弃该路由。所以可以在部署EBGP时使用peer x.x.x.x substitute-as命令,使能AS替换功能,可以把重复的那个AS号替换成PE自己的AS号,这样对端CE就不会因AS号重复丢弃路由了。

peer allow-as-loop也可以实现这种功能。

peer allow-as-loop命令用来配置本地AS号的重复次数。可以让AS号重复出现多少次。

注意:在Hub&spoke架构中,如果CE-PE之间部署EBGP,由于hub站点需要收到路由之后,第二次发给hub-PE的路由表中,所以在这个场景下,需要配置peer allow-as-loop来实现hub站点的AS号可以出现多次。

SoO

由于AS号替换和允许AS号出现多次的功能,造成了AS_Path防环功能的丢失,造成了环路隐患。

在CE双归属的场景中,假如两台CE都在同一个站点内,为IBGP邻居关系。CE1通过EBGP传递给PE路由,PE又会发给CE2,而CE2已经通过IBGP邻居CE1获取到了该路由,那么就会造成环路。可以在PE上使用peer x.x.x.x soo 100:100命令,给路由标识上起源站点100:100,那么再通告给CE时,会检查起源站点soo属性是否与配置的soo相同,如果相同不通告,不同则通告。

Hub&Spoke架构的路由环路问题

在这张拓扑图上,R1有两张VRF表,一张in方向的,一张out方向的。

in方向的路由表:

out方向的路由表

在out方向路由表中,没有25.1.1.0和36.1.1.0的路由?而in方向有,这是因为在MCE(多CE)设备上部署OSPF VPN多实例时,如果有Type3、Type5或Type7 LSA中设置DN Bit,就会导致这些路由无法计算,因为OSPF进行路由计算会进行防环路检测。所以在out方向没有这两条路由。

通过在ospf out实例视图中,配置vpn-instance-capability simple命令,用来禁止路由环路检测,直接进行路由计算。之后就可以在out方向中看见这两条路由了。

undo vpn-instance-capability命令用来使能DN位检查,以防止发生路由环路。缺省情况下,使能路由环路检查。

一般不建议配置,配置之后会有一定的影响,详情参见手册   1

相关文章
|
17天前
|
网络协议 网络虚拟化
MPLS VPN跨域方案(一)
MPLS VPN跨域方案(一)
|
17天前
|
网络协议 网络虚拟化 虚拟化
|
2月前
|
网络虚拟化
配置BGP/MPLS IP VPN示例
配置BGP/MPLS IP VPN示例
|
2月前
|
网络协议 PHP 网络虚拟化
BGP MPLS VPN(OPTION C)实验笔记
BGP MPLS VPN(OPTION C)实验笔记
100 1
|
2月前
|
网络协议 PHP 网络虚拟化
BGP MPLS VPN(OPTION B)实验笔记
BGP MPLS VPN(OPTION B)实验笔记
91 0
BGP MPLS VPN(OPTION B)实验笔记
|
2月前
|
网络协议 网络虚拟化
MPLS VPN 跨域OptionC2
MPLS VPN 跨域OptionC2
|
2月前
|
网络协议 网络虚拟化
|
2月前
|
网络协议 PHP 网络虚拟化
MPLS VPN 跨域OptionB
使用跨域方式B实现两家公司的通信
|
2月前
|
网络协议 网络虚拟化
MPLS VPN 跨域OptionA
通过跨域A的方式实现两家公司互相通信
|
9月前
|
网络虚拟化
MPLS VPN跨域C2 RR反射器方案(二)
MPLS VPN跨域C2 RR反射器方案
76 0