首页 > 其他分享 >VPLS

VPLS

时间:2023-05-06 11:39:03浏览次数:28  
标签:1.1 R3 32 3.3 2.2 VPLS R1

目录

  • 基础概念总结
  • 基本原理
  • 控制层面
  • 报文转发过程
  • 基础实验
  • 实验Martini
  • 实验kompella
  • 缺陷
  • 依赖性强
  • MAC地址的学习
  • 没有良好的冗余机制
  • 收敛慢

基础概念总结

VPLS_R3

  • VPLS
  • VPLS是早期的二层VPN技术,后期被EVPN顶替
  • 我们可以把VPLS形成的网络看成是一个大的二层交换机所连接的网络
  • 主要部署在园区网与园区网中间,或数据中心与数据中心之间
  • 被淘汰的原因:
  • 控制层面MPLS强依赖
  • 不能很好应对双归属场景
  • MAC地址的学习是在数据转发层面完成,初始通信的时候太慢了
  • 配置思路概述
  • VPLS也是两层标签结构
  • VPLS使用的MPLS架构,所以整体配置思路与MPLS-VPN的思路非常相似。
  • 基本名词
  • VSI:其实就是VRF,虚拟交换机,在PE上部分用于和CE相连
  • AC:(Attachment Circuit 接入电路),PE和CE相连的那根线叫做AC
  • PW:pseudo-wire 直译为伪线,在MPLS-LDP生成的隧道当中创建
  • VPLS的两种部署方案
  • Martini:一层标签由MPLS-LDP生成,另一层标签由扩展的LDP生成
  • kompella:一层标签由MPLS-LDP生成,另一层标签由MP-BGP生成

基本原理

  • 基础概念概述
  • VPLS使用的MPLS架构,所以整体思路与MPLS-VPN的思路非常相似。
  • VPLS也是两层标签结构
  • 基本名词
  • VSI:其实就是VRF,虚拟交换机,在PE上部分用于和CE相连
  • AC:(Attachment Circuit 接入电路),PE和CE相连的那根线叫做AC
  • PW:pseudo-wire 直译为伪线,在MPLS-LDP生成的隧道当中创建
  • VPLS的两种部署方案
  • 一层标签由MPLS-LDP生成,另一层标签由VSI生成或是VPLS自己生成
  • 一层标签由MPLS-LDP生成,另一层标签由MP-BGP生成

控制层面

控制层面一共分为三个步骤

VPLS_VPN_02

第一步:在PE1和PE2之间所有的设备上部署MPLS-LDP从而形成LSP,也就是上图当中所示的Tunnel

第二步:然后再在PE1和PE1再部署一个扩展的LDP或MP-BGP,再形成一条链路,也就是上图所有的PW链路。

第三步:在PE1上创建VRF(VSI)与CE1绑定上,扩展的LDP与MP-BGP会给这个虚拟机分配一个内层标签,CE2也是如此。

PS:PE1为VSI分配完内层标签之后会通过MP-BGP或扩展的LDP将标签发送给PE2,其实作用就是告诉PE2,如果你想给我发送报文,就要携带这个内层标签,这与MPLS-VPN当中的MP-BGP给分配标签的效果一样的。

另外一点需要注意,你看哈,在控制层面只能建立好了路径,并没有为数据转发层面准备好MAC地址,这其实就是VPLS的问题之一。

报文转发过程

VPLS_OSPF_03

如上图,我们来看一下报文转发过程,先看广播,然后再看单播,为什么广播和单播要分开说呢?因为在IPV4的网络同网段通信过程当中,想要单播必须先广播!

广播报文的通信过程

  1. CE1的的请求到达PE1的VSI,这时候VSI会源MAC地址放到自己的VSI的MAC地址表当中。
  2. 对于广播广播报文,PE1会通过pwA转发给PE2,注意这时候会携带两层标签,最内层标签是扩展的LDP形成的用来标签PE2上的VSI,最外层的标签就是MPLS-LDP。
  3. PE2也会学习源MAC地址,并将此广播发送给CE2
  4. CE2回包,PE2和PE1先后学习,这样PE1才有了完整的单播MAC地址表。

单播报文的通信过程:

没什么说的,就比较简单了,根据形成的MAC地址表转发就可以了。

基础实验

VPLS_OSPF_04

  • 控制层面配置步骤概述
  1. 在PE之间部署MPLS-LDP(或RSTE、SR)生成隧道,这时会生成外层标签
  2. 为不同的企业用户创建PW
  1. 静态配置产生PW,这样就不需要控制层面
  2. 通过扩展的LDP辅助生成(martini)用的最多
  3. MP-BGP辅助生成(kompella)
  1. 为站点创建VSI(虚拟交换机),保存不同企业用户的MAC地址表
  2. 把AC绑定到VSI

martini方案概述

其实是使用了两个LDP进程。其实一个LDP进程就是传统的MPLS-LDP进程,与MPLS-VPN当中的作用是一样的就是用来生成外层隧道或生成外部标签的;另一个LDP进程是扩展的LDP进程,用于PE与PE间的直接通信,类似于MPLS-VPN当中MP-BGP的效果,只不过在此处通过扩展的LDP实现了,作用与MP-BGP相似,用于生成内层标签。

kompella方案概述:

这个方案与MPLS-LDP最像了,MPLS-LDP生成外部标签,通过MP-BGP生成内部标签,但由于实现起来比较复杂,已经很少使用了,目前使用最广泛的还是martini这种方案。

实验Martini

VPLS_OSPF_05

实验目标:让R4和R5实现二层间的通信

注意事项:全都使用ENSP的router路由器

实验重点:利用LDP为AC分配标签,两层标签

实验思路:

  1. R1、R2、R3三台路由器先跑一个IGP-OSPF;
  2. R2、R2、R3 启用MPLS-LDP;
  3. R1到R3单独建立一个会话
  4. 双方PE使能MPLS L2VPN
  5. 在PE上创建VSI、指定信令为LDP,然后将VSI与AC接口绑定
  • 第一步:R1和、R2、R3配置OSPF并验证
R1:
sys
sysn R1
int g0/0/1
	ip add 10.0.12.1 24
int LoopBack 0
	ip add 1.1.1.1 32
ospf 1 router-id 1.1.1.1 
a 0
	network 10.0.12.1 0.0.0.0
	network 1.1.1.1 0.0.0.0

R2:
sys
sysn R2
int LoopBack 0
	ip add 2.2.2.2 32
int g0/0/1
	ip add 10.0.12.2 24
int g0/0/2
	ip add 10.0.23.2 24
ospf 1 router-id 2.2.2.2
a 0
	network 2.2.2.2 0.0.0.0
	network 10.0.12.2 0.0.0.0
	network 10.0.23.2 0.0.0.0

R3:
sys
sysn R3
int LoopBack 0
	ip add 3.3.3.3 32
int g0/0/2
	ip add 10.0.23.3 24
ospf 1 router-id 3.3.3.3
a 0
network 3.3.3.3 0.0.0.0
network 10.0.23.3 0.0.0.0
# 验证
<R1>dis ip routing-table protocol ospf 
3.3.3.3/32  OSPF    10   2           D   10.0.12.2       GigabitEthernet 0/0/1
10.0.23.0/24  OSPF    10   2           D   10.0.12.2       GigabitEthernet 0/0/1

[R3]dis ip routing-table protocol ospf
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
1.1.1.1/32  OSPF    10   2           D   10.0.23.2       GigabitEthernet 0/0/2
10.0.12.0/24  OSPF    10   2           D   10.0.23.2       GigabitEthernet 0/0/2
  • 第二步:R1和、R2、R3配置MPLS-LDP并验证
R1:
sys
mpls lsr-id 1.1.1.1
mpls
quit
mpls ldp
int g0/0/1
mpls
mpls ldp

R2:
sys
mpls lsr-id 2.2.2.2
mpls
quit
mpls ldp
quit
int g0/0/1
mpls
mpls ldp
int g0/0/2
mpls
mpls ldp

R3:
sys
mpls lsr-id 3.3.3.3
mpls
quit
mpls ldp
int g0/0/2
mpls
mpls ldp
<R1>dis mpls ldp session 

 LDP Session(s) in Public Network
 Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM)
 A '*' before a session means the session is being deleted.
 ------------------------------------------------------------------------------
 PeerID             Status      LAM  SsnRole  SsnAge      KASent/Rcv
 ------------------------------------------------------------------------------
 2.2.2.2:0          Operational DU   Passive  0000:00:00  2/2
 ------------------------------------------------------------------------------
<R1>dis mpls ldp lsp
 
 LDP LSP Information
 -------------------------------------------------------------------------------
 DestAddress/Mask   In/OutLabel    UpstreamPeer    NextHop         OutInterface
 -------------------------------------------------------------------------------

 1.1.1.1/32         3/NULL         2.2.2.2         127.0.0.1       InLoop0
*1.1.1.1/32         Liberal/1024                   DS/2.2.2.2
 2.2.2.2/32         NULL/3         -               10.0.12.2       GE0/0/1
 2.2.2.2/32         1024/3         2.2.2.2         10.0.12.2       GE0/0/1
 3.3.3.3/32         NULL/1025      -               10.0.12.2       GE0/0/1
 3.3.3.3/32         1025/1025      2.2.2.2         10.0.12.2       GE0/0/1
 -------------------------------------------------------------------------------

<R3>dis mpls ldp session 

 LDP Session(s) in Public Network
 Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM)
 A '*' before a session means the session is being deleted.
 ------------------------------------------------------------------------------
 PeerID             Status      LAM  SsnRole  SsnAge      KASent/Rcv
 ------------------------------------------------------------------------------
 2.2.2.2:0          Operational DU   Active   0000:00:00  3/3
 ------------------------------------------------------------------------------
 TOTAL: 1 session(s) Found.
<R3>dis mpls ldp lsp
 
 LDP LSP Information
 -------------------------------------------------------------------------------
 DestAddress/Mask   In/OutLabel    UpstreamPeer    NextHop         OutInterface
 -------------------------------------------------------------------------------

 1.1.1.1/32         NULL/1024      -               10.0.23.2       GE0/0/2
 1.1.1.1/32         1024/1024      2.2.2.2         10.0.23.2       GE0/0/2
 2.2.2.2/32         NULL/3         -               10.0.23.2       GE0/0/2
 2.2.2.2/32         1025/3         2.2.2.2         10.0.23.2       GE0/0/2
 3.3.3.3/32         3/NULL         2.2.2.2         127.0.0.1       InLoop0
*3.3.3.3/32         Liberal/1025                   DS/2.2.2.2
 -------------------------------------------------------------------------------
  • R1到R3单独建立一个会话
    注意,你看哈,在这个环境当中,一旦三台路由器的LDP建立完成之后,R1和R3其实都是只有一条会话,只有中间的R2有两条,我们要做的就是在R1并没有直接连接R3,我们接下来做的就是让R1与R3之间建立一个会话,完成之后你会发现LSP其实产没有发生变化。
    这一步有点类似于MPLS VPN当中的建立IBGP对等体
[R1]mpls ldp remote-peer ar3
[R1-mpls-ldp-remote-ar3]remote-ip 3.3.3.3

[R3]mpls ldp remote-peer ar1
[R3-mpls-ldp-remote-ar1]remote-ip 1.1.1.1
[R1]dis mpls ldp session 

 ------------------------------------------------------------------------------
 PeerID             Status      LAM  SsnRole  SsnAge      KASent/Rcv
 ------------------------------------------------------------------------------
 2.2.2.2:0          Operational DU   Passive  0000:00:08  35/35
 3.3.3.3:0          Operational DU   Passive  0000:00:00  4/4
 ------------------------------------------------------------------------------
 TOTAL: 2 session(s) Found.

[R1]dis mpls ldp lsp

 1.1.1.1/32         3/NULL         2.2.2.2         127.0.0.1       InLoop0
 1.1.1.1/32         3/NULL         3.3.3.3         127.0.0.1       InLoop0
*1.1.1.1/32         Liberal/1024                   DS/2.2.2.2
*1.1.1.1/32         Liberal/1024                   DS/3.3.3.3
 2.2.2.2/32         NULL/3         -               10.0.12.2       GE0/0/1
 2.2.2.2/32         1024/3         2.2.2.2         10.0.12.2       GE0/0/1
 2.2.2.2/32         1024/3         3.3.3.3         10.0.12.2       GE0/0/1
*2.2.2.2/32         Liberal/1025                   DS/3.3.3.3
 3.3.3.3/32         NULL/1025      -               10.0.12.2       GE0/0/1
 3.3.3.3/32         1025/1025      2.2.2.2         10.0.12.2       GE0/0/1
 3.3.3.3/32         1025/1025      3.3.3.3         10.0.12.2       GE0/0/1
*3.3.3.3/32         Liberal/3                      DS/3.3.3.3
  • PE使能MPLS L2VPN—创建VSI—指定信令为LDP,然后将VSI与AC接口绑定
[R1]mpls l2vpn 
[R1-l2vpn]quit
[R1]vsi yeslab static
[R1-vsi-yeslab]pwsignal ldp
[R1-vsi-yeslab-ldp]vsi-id 1
[R1-vsi-yeslab-ldp]peer 3.3.3.3

R3:
mpls l2vpn
quit
vsi yeslab static
pwsignal ldp
vsi-id 1
peer 1.1.1.1

[R1]int g0/0/0.1
[R1-GigabitEthernet0/0/0.1]shutdown 
[R1-GigabitEthernet0/0/0.1]vlan-type dot1q 10
[R1-GigabitEthernet0/0/0.1]l2 binding vsi yeslab
[R1-GigabitEthernet0/0/0.1]un sh

[R3-vsi-yeslab]int g0/0/0.1
[R3-GigabitEthernet0/0/0.1]shutdown 
[R3-GigabitEthernet0/0/0.1]vlan-type dot1q 10
[R3-GigabitEthernet0/0/0.1]l2 binding vsi yeslab
[R3-GigabitEthernet0/0/0.1]un sh
  • 验证
R4:
interface GigabitEthernet0/0/0.1
 vlan-type dot1q 10
 ip address 192.168.0.4 255.255.255.0

[R5]int g0/0/0.1
[R5-GigabitEthernet0/0/0.1]dis th
#
interface GigabitEthernet0/0/0.1
 vlan-type dot1q 10
 ip address 192.168.0.5 255.255.255.0

[R5]ping 192.168.0.4
  PING 192.168.0.4: 56  data bytes, press CTRL_C to break
    Reply from 192.168.0.4: bytes=56 Sequence=1 ttl=255 time=110 ms
    Reply from 192.168.0.4: bytes=56 Sequence=2 ttl=255 time=110 ms
    Reply from 192.168.0.4: bytes=56 Sequence=3 ttl=255 time=100 ms
    Reply from 192.168.0.4: bytes=56 Sequence=4 ttl=255 time=110 ms
    Reply from 192.168.0.4: bytes=56 Sequence=5 ttl=255 time=100 ms
[R5]dis arp
IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE        INTERFACE   VPN-INSTANCE 
                                          VLAN/CEVLAN PVC                      
------------------------------------------------------------------------------
192.168.0.5     5489-980c-14f3            I -         GE0/0/0.1
192.168.0.4     5489-9887-65d9  18        D-0         GE0/0/0.1
                                            10/-
------------------------------------------------------------------------------
Total:2         Dynamic:1       Static:0     Interface:1
<R1>dis vsi name yeslab verbose 
 
 ***VSI Name               : yeslab
    Administrator VSI      : no
    Isolate Spoken         : disable
    VSI Index              : 0
    PW Signaling           : ldp
    Member Discovery Style : static
    PW MAC Learn Style     : unqualify
    Encapsulation Type     : vlan  #封装方式
    MTU                    : 1500
    Diffserv Mode          : uniform
    Service Class          : --
    Color                  : --
    DomainId               : 255
    Domain Name            : 
    Ignore AcState         : disable
    P2P VSI                : disable
    Create Time            : 0 days, 0 hours, 24 minutes, 12 seconds
    VSI State              : up  # 状态
 
    VSI ID                 : 1   # ID
   *Peer Router ID         : 3.3.3.3  # peer
    primary or secondary   : primary
    ignore-standby-state   : no
    VC Label               : 1026   # 分配的标签
    Peer Type              : dynamic  # 分配的标签
    Session                : up
    Tunnel ID              : 0x5    # Tunnel ID
    Broadcast Tunnel ID    : 0x5 
    Broad BackupTunnel ID  : 0x0 
    CKey                   : 2
    NKey                   : 1
    Stp Enable             : 0
    PwIndex                : 0

    Interface Name         : GigabitEthernet0/0/0.1
    State                  : up
    Access Port            : false
    Last Up Time           : 2023/04/05 16:20:21
    Total Up Time          : 0 days, 0 hours, 11 minutes, 31 seconds

  **PW Information:

   *Peer Ip Address        : 3.3.3.3
    PW State               : up
    Local VC Label         : 1026
    Remote VC Label        : 1026
    PW Type                : label 
    Tunnel ID              : 0x5 
    Broadcast Tunnel ID    : 0x5 
    Broad BackupTunnel ID  : 0x0 
    Ckey                   : 0x2
    Nkey                   : 0x1
    Main PW Token          : 0x5 
    Slave PW Token         : 0x0 
    Tnl Type               : LSP   # LSP
    OutInterface           : GigabitEthernet0/0/1 
    Backup OutInterface    :  
    Stp Enable             : 0 
    PW Last Up Time        : 2023/04/05 16:20:21
    PW Total Up Time       : 0 days, 0 hours, 11 minutes, 31 seconds

<R3>dis vsi name yeslab verbose 
 
 ***VSI Name               : yeslab
    Administrator VSI      : no
    Isolate Spoken         : disable
    VSI Index              : 0
    PW Signaling           : ldp
    Member Discovery Style : static
    PW MAC Learn Style     : unqualify
    Encapsulation Type     : vlan
    MTU                    : 1500
    Diffserv Mode          : uniform
    Service Class          : --
    Color                  : --
    DomainId               : 255
    Domain Name            : 
    Ignore AcState         : disable
    P2P VSI                : disable
    Create Time            : 0 days, 0 hours, 18 minutes, 32 seconds
    VSI State              : up
 
    VSI ID                 : 1
   *Peer Router ID         : 1.1.1.1
    primary or secondary   : primary
    ignore-standby-state   : no
    VC Label               : 1026
    Peer Type              : dynamic
    Session                : up
    Tunnel ID              : 0x5 
    Broadcast Tunnel ID    : 0x5 
    Broad BackupTunnel ID  : 0x0 
    CKey                   : 2
    NKey                   : 1
    Stp Enable             : 0
    PwIndex                : 0

    Interface Name         : GigabitEthernet0/0/0.1
    State                  : up
    Access Port            : false
    Last Up Time           : 2023/04/05 16:16:22
    Total Up Time          : 0 days, 0 hours, 14 minutes, 26 seconds

  **PW Information:

   *Peer Ip Address        : 1.1.1.1
    PW State               : up
    Local VC Label         : 1026
    Remote VC Label        : 1026
    PW Type                : label 
    Tunnel ID              : 0x5 
    Broadcast Tunnel ID    : 0x5 
    Broad BackupTunnel ID  : 0x0 
    Ckey                   : 0x2
    Nkey                   : 0x1
    Main PW Token          : 0x5 
    Slave PW Token         : 0x0 
    Tnl Type               : LSP 
    OutInterface           : GigabitEthernet0/0/2 
    Backup OutInterface    :  
    Stp Enable             : 0 
    PW Last Up Time        : 2023/04/05 16:20:21
    PW Total Up Time       : 0 days, 0 hours, 10 minutes, 27 seconds
<R3>
  • 抓包验证

VPLS_OSPF_06

两层标签,两层标签哪里来的?外1025,内1026

[R1]dis fib 
Destination/Mask   Nexthop         Flag  TimeStamp     Interface      TunnelID
3.3.3.3/32         10.0.12.2       DGHUT t[3707]       GE0/0/1        0x3
2.2.2.2/32         10.0.12.2       DGHUT t[3697]       GE0/0/1        0x1
……

<R1>dis vsi name yeslab verbose | incl 1025
<R1>dis vsi name yeslab verbose | incl 1026
    VC Label               : 1026
    Local VC Label         : 1026
    Remote VC Label        : 1026

<R1>dis mpls ldp lsp | incl 1026
<R1>dis mpls ldp lsp | incl 1025
 
 LDP LSP Information
 -------------------------------------------------------------------------------
 DestAddress/Mask   In/OutLabel    UpstreamPeer    NextHop         OutInterface
 -------------------------------------------------------------------------------

*2.2.2.2/32         Liberal/1025                   DS/3.3.3.3
 3.3.3.3/32         NULL/1025      -               10.0.12.2       GE0/0/1
 3.3.3.3/32         1025/1025      2.2.2.2         10.0.12.2       GE0/0/1
 3.3.3.3/32         1025/1025      3.3.3.3         10.0.12.2       GE0/0/1
 -------------------------------------------------------------------------------

实验kompella

这种方式不需要远端的LDP,这个内层标签是MP-BGP帮助它分配的,而且使用MP-BGP的优势是如果有RR设备会比较省事,不用一个个的邻居去指定。

  • 配置
[R1]undo mpls ldp remote-peer ar3
[R1]undo vsi yeslab
[R1]bgp 100
[R1-bgp]peer 3.3.3.3 as-number 100
[R1-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[R1-bgp]vpls-family 
[R1-bgp-af-vpls]peer 3.3.3.3 enable

# 启动二层VPN功能
[R1]mpls l2vpn

# 配置vsi
[R1]vsi yeslab auto 
[R1-vsi-yeslab]pwsign	
[R1-vsi-yeslab]pwsignal bgp
[R1-vsi-yeslab-bgp]route-distinguisher 100:1
[R1-vsi-yeslab-bgp]vpn-target 100:1
[R1-vsi-yeslab-bgp]site 1 range 5
[R1-vsi-yeslab-bgp]site 1 range 5 default-offset 0
[R1-GigabitEthernet0/0/0.1]dis th
#
interface GigabitEthernet0/0/0.1
 vlan-type dot1q 10
 l2 binding vsi yeslab
[R3]undo mpls ldp remote-peer ar1
[R3]undo vsi yeslab
[R3]bgp 100
[R3-bgp]peer 1.1.1.1 as-number 100
[R3-bgp]peer 1.1.1.1 con loopback 0
[R3-bgp]vpls-fa
[R3-bgp-af-vpls]peer 1.1.1.1 enable
[R3-bgp-af-vpls]quit
[R3-bgp]mpls l2vpn
[R3-l2vpn]quit
[R3]vsi yeslab auto
[R3-vsi-yeslab]pwsignal bgp
[R3-vsi-yeslab-bgp]route-dist 100:1
[R3-vsi-yeslab-bgp]vpn-target 100:1
[R3-vsi-yeslab-bgp]site 2 range 5 default-offset 0

# 绑定
[R3-GigabitEthernet0/0/0.1]dis th
#
interface GigabitEthernet0/0/0.1
 vlan-type dot1q 10
 l2 binding vsi yeslab
  • 验证
[R1]dis vsi name yeslab verbose 
 
 ***VSI Name               : yeslab
    Administrator VSI      : no
    Isolate Spoken         : disable
    VSI Index              : 0
    PW Signaling           : bgp
    Member Discovery Style : auto
    PW MAC Learn Style     : unqualify
    Encapsulation Type     : vlan
    MTU                    : 1500
    Diffserv Mode          : uniform
    Service Class          : --
    Color                  : --
    DomainId               : 255
    Domain Name            : 
    Ignore AcState         : disable
    P2P VSI                : disable
    Create Time            : 0 days, 0 hours, 10 minutes, 7 seconds
    VSI State              : up
 
    BGP RD                 : 100:1
    SiteID/Range/Offset    : 1/5/0
    Import vpn target      : 100:1                  
    Export vpn target      : 100:1                  
    Remote Label Block     : 100001/5/0 
    Local Label Block      : 0/100001/5/0 

    Interface Name         : GigabitEthernet0/0/0.1
    State                  : up
    Access Port            : false
    Last Up Time           : 2023/04/05 17:36:36
    Total Up Time          : 0 days, 0 hours, 1 minutes, 42 seconds

  **PW Information:

   *Peer Ip Address        : 3.3.3.3  
    PW State               : up
    Local VC Label         : 100003    # 本地分配的标签
    Remote VC Label        : 100002    # 远端的标签
    PW Type                : label 
    Tunnel ID              : 0x6 
    Broadcast Tunnel ID    : 0x6 
    Broad BackupTunnel ID  : 0x0 
    Ckey                   : 0x4
    Nkey                   : 0x3
    Main PW Token          : 0x6 
    Slave PW Token         : 0x0 
    Tnl Type               : LSP 
    OutInterface           : GigabitEthernet0/0/1 
    Backup OutInterface    :  
    Stp Enable             : 0 
    PW Last Up Time        : 2023/04/05 17:37:09
    PW Total Up Time       : 0 days, 0 hours, 1 minutes, 9 seconds
  • 抓包验证

VPLS_VPN_07

VPLS_OSPF_08

缺陷

依赖性强

  • 对MPLS架构的依赖性强,没有MPLS的话,VPLS无法部署
  • 而且PE和CE之间必须是以太网

MAC地址的学习

我们知道同网段通信要进行广播,而同网段同地域情况下通常带宽资源充足,这么做没什么大问题,但在VPLS当中,跨地域马上进行通信时,MAC地址学习依然是是通过广播报文在广域网当中转发,这样太浪费带宽和时间,我们能不能提供把MAC地址提前准备好呢?其实完全可以在数据通信之前提前把MAC地址表在控制层准备好(EVPN),这样的话,就不会在马上要通信的时候还要在广域网上进行广播,EVPN就是这个思路。

没有良好的冗余机制

VPLS_VPN_09

为了冗余和稳定性,我们很可能会将CE1连接到两个PE,这样一条链路断了,还有另一条链路,但这样又很有可能会形成物理环路,为了破环我们还得运行一个第三方的技术-STP,而STP的问题在于它一定会堵塞其中一条链路,所以就会导致流量不平均。

VPLS_R3_10

另外在PE-PE之间,它也做不到PE1同时将流量发送给PE3和PE4,只能发给其中一PE,这也会导致流量分配不平均。

PS:EVPN就是因为有了良好的冗余机制才战胜了VPLS。

收敛慢

VPLS_VPN_11

假如现在PE3和CE2之间链路断了

  1. PE3会立马感知到,然后通过PE3与PE1之间运行的扩展LDP进程,利用mac-withdraw报文通知PE1自己这边断了
  2. STP也会立马感知到,将PE4提升为主链路
  3. PE1收到之后立马立马删除与CE2侧下有关于的MAC地址
  4. PE1没有了MAC地址,现在PE1收到CE1的请求,PE1又得重新开始广播,根据头端列表广播询问所有的PE,PE4要在重新学习CE2的MAC,然后返回给PE1
  5. PE1终端有了目标主机的MAC地址,才开始进行单播发送

过程复杂且慢,最根本的原因在于关于MAC地址的学习,控制层面是不管的,MAC地址学习是由数据转发层面来负责的。在EVPN当中就没有这个收敛慢的问题,因为EVPN有良好的冗余机制,所以一连断了立马就切换到另一端了,速度非常快。



标签:1.1,R3,32,3.3,2.2,VPLS,R1
From: https://blog.51cto.com/u_11580232/6249289

相关文章