မာတိကာ သို့ သွားရန်

🧪 Lab 05 · MPLS L2VPN (VPWS Pseudowire နှင့် VPLS)

✅ စမ်းသပ်အတည်ပြုပြီး - Arista cEOS 4.32.0F ပေါ်တွင် OrbStack fabric မှ output များကို တိုက်ရိုက်ရယူထားပါသည်။

ကြာချိန်: ~၅၀ မိနစ် · Nodes အရေအတွက်: ၄ ခု (PE Router ၂ လုံး၊ P Core Router ၁ လုံး၊ Customer L2 Switch ၂ လုံး)

အမြန်စတင်ရန် လမ်းညွှန် — Step-by-Step Execution Guide (တည်နေရာ: labs/mpls-l3vpn-lab/)

အဆင့် ၁ · Lab Fabric ကို စတင်လည်ပတ်ပါ (မ run ရသေးပါက)

cd labs/mpls-l3vpn-lab
sudo containerlab deploy -t topology.clab.yml --max-workers 1

အဆင့် ၂ · အပြန်အလှန် Interactive လမ်းညွှန်ကို စတင်ပါ

./run.sh --guided

အခြား Run နိုင်သော နည်းလမ်းများ (Automated Script သို့မဟုတ် Manual CLI)
  • Fast Automated Script Push:
    ./run.sh 01          # step 01 ကို အလိုအလျောက် config ထည့်သွင်း၍ စစ်ဆေးမည်
    ./run.sh --all       # အဆင့်အားလုံးကို အစီအစဉ်အတိုင်း run မည်
    
  • Manual Line-by-Line CLI Execution: Container node တစ်ခုချင်းစီသို့ CLI shell ဝင်ရောက်ရန်:
    docker exec -it clab-mpls-l3vpn-lab-pe1 Cli
    

L2VPN Topology နှင့် ဝန်ဆောင်မှု ပုံစံများ

graph LR
    subgraph SiteA["Customer Site A (L2 Domain)"]
        CE1["ce1 (Cust L2 Switch)<br/>VLAN 10"]
    end

    subgraph CoreProvider["Service Provider MPLS Backbone (AS 65000)"]
        PE1["pe1 (PE Router)<br/>2.2.2.2/32"] <===>|OSPF + LDP| P1["p1 (P Core)<br/>1.1.1.1/32"]
        P1 <===>|OSPF + LDP| PE2["pe2 (PE Router)<br/>3.3.3.3/32"]
        PE1 -.-|Targeted LDP Pseudowire (VC ID 100)| PE2
    end

    subgraph SiteB["Customer Site B (L2 Domain)"]
        CE2["ce2 (Cust L2 Switch)<br/>VLAN 10"]
    end

    CE1 <===>|Untagged / Dot1q| PE1
    PE2 <===>|Untagged / Dot1q| CE2

    classDef cust fill:#e65100,stroke:#ffb74d,color:#ffffff,stroke-width:2px,font-weight:bold;
    classDef pe fill:#1b5e20,stroke:#81c784,color:#ffffff,stroke-width:2px,font-weight:bold;
    classDef p fill:#0d47a1,stroke:#64b5f6,color:#ffffff,stroke-width:2px,font-weight:bold;

    class CE1,CE2 cust; class PE1,PE2 pe; class P1 p;

L2VPN ဝန်ဆောင်မှု အမျိုးအစားများ နှိုင်းယှဉ်ချက်

L2VPN ဝန်ဆောင်မှု RFC စံနှုန်း Topology Control Plane Data Plane Framing
VPWS (Pseudowire / EoMPLS) RFC 4664 / RFC 4447 Point-to-Point (E-LINE) Targeted LDP (tLDP) L2 Ethernet over MPLS
VPLS RFC 4761 (BGP) / RFC 4762 (LDP) Point-to-Multipoint (E-LAN) BGP / tLDP + MAC Learning MPLS Pseudowire Mesh + Split Horizon
EVPN-VPWS RFC 8214 Point-to-Point (E-LINE) BGP EVPN (AFI 25 / SAFI 70) VXLAN သို့မဟုတ် MPLS Encapsulation
EVPN-ELAN RFC 7432 Point-to-Multipoint (E-LAN) BGP EVPN (RT-2 MAC/IP, RT-3 IMET) VXLAN သို့မဟုတ် MPLS Encapsulation

အဆင့် ၁ · Point-to-Point VPWS Pseudowire ပြင်ဆင်သတ်မှတ်ခြင်း (LDP)

pe1 ပေါ်တွင် Virtual Circuit ID 100 ဖြင့် pe2 (3.3.3.3) သို့ ချိတ်ဆက်သည့် Targeted LDP Pseudowire သို့ interface Ethernet2 ကို ချိတ်ဆက်သတ်မှတ်ပါ။

! Applied on pe1 (Arista cEOS)
patch panel
   patch CUST-A-PW
      connector 1 interface Ethernet2
      connector 2 pseudowire bgp vpws CUST-A pseudowire PW1
!
mpls ldp
   router-id 2.2.2.2
   transport-address interface Loopback0
   interface Ethernet1
   no shutdown

Arista EOS ပေါ်တွင် static / tLDP pseudowire interface ချိတ်ဆက်မှု အခြားပုံစံ:

! Interface Pseudowire cross-connect configuration
interface Ethernet2
   no switchport
   pseudowire-connection PW-CE1-CE2
      neighbor 3.3.3.3 pseudowire-id 100

အဆင့် ၂ · L2VPN Pseudowire အခြေအနေ စစ်ဆေးခြင်း

Pseudowire Virtual Circuit (VC) သည် Up ဖြစ်နေပြီး အတွင်းပိုင်း L2 label များကို အပြန်အလှန် လဲလှယ်ထားခြင်း ရှိမရှိ စစ်ဆေးပါ။

docker exec -i clab-mpls-l3vpn-lab-pe1 Cli -p 15 <<'EOF'
enable
show mpls pseudowire
EOF
Pseudowire status: 1 total, 1 up, 0 down
Peer ID     VC ID   Type       Local Label  Remote Label  Status
3.3.3.3     100     Ethernet   100201       200302        Up

✅ အောင်မြင်မှု သတ်မှတ်ချက်: Pseudowire status တွင် တည်ဆောက်ပြီးသော VC ID 100 ဖြင့် Up ဟု ပြသရပါမည်။


🧠 Google Network Infra ဗဟုသုတမျှဝေမှုနှင့် L2VPN သဘောတရားများ

[!NOTE]

၁။ MPLS L2VPN Packet ဖွဲ့စည်းပုံ (PW Control Word နှင့် Control Protocol)

MPLS L2VPN packet တစ်ခုတွင် အောက်ပါအတိုင်း ပါဝင်သည်:

[ L2 Transport Header ] [ Outer MPLS Transport Label (LDP) ] [ Inner Pseudowire Label (tLDP/BGP) ] [ Control Word (Optional) ] [ Original Customer L2 Frame ]
  • Control Word (CW): အတွင်းပိုင်း PW label နှင့် customer Layer 2 Ethernet payload ကြားတွင် ထည့်သွင်းထားသော 4-byte header ဖြစ်သည်။ ၎င်းသည် packet များ အစီအစဉ်လွဲချော်ခြင်းကို ကာကွယ်ပေးပြီး ECMP လမ်းကြောင်းများတစ်လျှောက် sequence numbering ကို ထိန်းသိမ်းပေးသည်။

[!IMPORTANT]

၂။ VPLS Split-Horizon Loop ကာကွယ်မှု စည်းမျဉ်း

VPLS (Virtual Private LAN Service) တွင် PE များသည် pseudowires အပြည့် full mesh ဖွဲ့စည်းထားကြသည်။ Provider core တစ်လျှောက် Spanning Tree Protocol မ run ဘဲ Layer 2 loop များကို ကာကွယ်ရန်: - Split Horizon Rule: PE တစ်ခုထံမှ Ingress pseudowire မှ လက်ခံရရှိသော frame တစ်ခုကို အခြား PE တစ်ခုဆီသို့ pseudowire မှတစ်ဆင့် မည်သည့်အခါမျှ ပြန်လည် forward မလုပ်ရ (NEVER re-forward)။ ၎င်းကို local customer ချိတ်ဆက်ထားသော interface သို့သာ forward လုပ်ခွင့်ရှိသည်!


ရှင်းလင်းသိမ်းဆည်းခြင်း (Clean up)

sudo containerlab destroy -t topology.clab.yml