Home » MPLS Fundamentals: Labels, LSP, LDP, RSVP-TE และ Traffic Engineering
MPLS Fundamentals: Labels, LSP, LDP, RSVP-TE และ Traffic Engineering
MPLS Fundamentals: Labels, LSP, LDP, RSVP-TE และ Traffic Engineering
MPLS (Multiprotocol Label Switching) เป็น technology ที่ใช้ labels แทน IP lookup ในการ forward packets ทำให้ routing เร็วขึ้นและรองรับ traffic engineering Labels เป็น short identifiers ที่ติดอยู่กับ packets, LSP (Label Switched Path) คือ path ที่ packets เดินทาง, LDP (Label Distribution Protocol) แจก labels อัตโนมัติ และ RSVP-TE ใช้สร้าง explicit paths สำหรับ traffic engineering
IP routing ใช้ longest-prefix match ที่ทุก hop ซึ่ง ไม่สามารถกำหนด path ที่ traffic จะเดินทางได้ (destination-based only) MPLS แก้ปัญหา: label switching เร็วกว่า IP lookup, traffic engineering กำหนด path ได้ (avoid congestion), VPN services (L2VPN, L3VPN) ใช้ MPLS เป็น transport และ Fast Reroute ให้ sub-50ms failover
MPLS Terminology
| Term |
คืออะไร |
| Label |
20-bit identifier ที่ใส่ระหว่าง L2 header กับ IP header (shim header) |
| LSR (Label Switch Router) |
Router ที่ forward packets based on labels |
| LER (Label Edge Router) |
Router ที่ push/pop labels ที่ edge ของ MPLS domain |
| Ingress LER |
Push label ให้ packet ที่เข้า MPLS domain |
| Egress LER |
Pop label ที่ packet ออก MPLS domain |
| LSP (Label Switched Path) |
Unidirectional path จาก ingress ถึง egress |
| FEC (Forwarding Equivalence Class) |
Group ของ packets ที่ forward ด้วย label เดียวกัน |
| LFIB (Label Forwarding Information Base) |
Table ที่ map input label → output label + next hop |
MPLS Label Operations
| Operation |
Where |
Action |
| Push |
Ingress LER |
เพิ่ม label ให้ IP packet ที่เข้า MPLS domain |
| Swap |
Transit LSR |
เปลี่ยน input label → output label แล้ว forward |
| Pop |
Egress LER (or penultimate) |
ถอด label ออก → forward as normal IP packet |
| PHP (Penultimate Hop Popping) |
Router ก่อน egress |
Pop label ที่ hop ก่อนสุดท้าย → ลด work ที่ egress |
LDP (Label Distribution Protocol)
| Feature |
รายละเอียด |
| คืออะไร |
Protocol ที่แจก labels อัตโนมัติระหว่าง LSRs (RFC 5036) |
| Transport |
TCP port 646 (reliable delivery) |
| Discovery |
UDP 646 Hello messages → discover neighbors |
| Label Distribution |
Downstream Unsolicited: egress ส่ง label mapping ไป upstream โดยไม่ต้องร้องขอ |
| Label Retention |
Liberal: เก็บ labels จากทุก neighbors (faster convergence) |
| Session |
TCP session ระหว่าง LDP peers → exchange label mappings |
| Limitation |
Follow IGP shortest path only (ไม่ทำ traffic engineering ได้) |
RSVP-TE (Resource Reservation Protocol – Traffic Engineering)
| Feature |
รายละเอียด |
| คืออะไร |
Protocol ที่สร้าง explicit LSP paths สำหรับ traffic engineering |
| Explicit Path |
กำหนด path ที่ traffic จะเดินทาง (ไม่ต้องตาม IGP shortest path) |
| Bandwidth Reservation |
Reserve bandwidth ตลอด path (guaranteed service) |
| CSPF (Constrained SPF) |
คำนวณ path ตาม constraints (bandwidth, affinity, latency) |
| Messages |
PATH (ingress → egress), RESV (egress → ingress with label) |
| Soft State |
Refresh messages ทุก 30 วินาที (maintain reservation) |
| Fast Reroute (FRR) |
Pre-computed backup paths → sub-50ms failover |
LDP vs RSVP-TE
| Feature |
LDP |
RSVP-TE |
| Path Selection |
Follow IGP shortest path |
Explicit path (admin-defined or CSPF) |
| Traffic Engineering |
ไม่มี |
Full TE (bandwidth, constraints, affinity) |
| Bandwidth Reservation |
ไม่มี |
มี (reserve per-LSP) |
| Fast Reroute |
ไม่มี (rely on IGP convergence) |
มี (facility backup, one-to-one backup) |
| Scalability |
Better (fewer states) |
More state (per-LSP state at every hop) |
| Complexity |
Simple |
Complex (TE tunnels, CSPF, FRR) |
| Use Case |
L3VPN/L2VPN transport (no TE needed) |
ISP backbone TE, guaranteed SLA paths |
Traffic Engineering Concepts
| Concept |
รายละเอียด |
| TE Tunnel |
RSVP-TE LSP ที่ configured เป็น tunnel interface |
| CSPF |
Constrained SPF: คำนวณ path ตาม bandwidth + affinity constraints |
| Affinity/Admin Group |
Tag links ด้วย attributes → TE tunnel เลือกเฉพาะ links ที่มี attribute ที่ต้องการ |
| Auto-bandwidth |
TE tunnel ปรับ bandwidth reservation ตาม actual traffic |
| Make-before-break |
สร้าง new path ก่อน tear down old path (hitless reroute) |
| FRR Facility Backup |
Pre-computed bypass tunnel → sub-50ms failover เมื่อ link/node fails |
MPLS VPN Services
| Service |
Technology |
Use Case |
| L3VPN (RFC 4364) |
MP-BGP + MPLS labels (VPNv4) |
Multi-tenant IP routing (enterprise WAN) |
| L2VPN (VPWS) |
Pseudowire (point-to-point L2) |
Point-to-point Ethernet service |
| L2VPN (VPLS) |
Multipoint L2 bridging over MPLS |
Multi-site L2 connectivity (virtual switch) |
| EVPN |
MP-BGP EVPN + MPLS/VXLAN |
Modern L2/L3 VPN (replacing VPLS) |
| 6PE/6VPE |
IPv6 over MPLS (IPv4 core) |
IPv6 service over IPv4 MPLS backbone |
Segment Routing (SR) — MPLS Evolution
| Feature |
MPLS + LDP/RSVP-TE |
Segment Routing (SR-MPLS) |
| Label Distribution |
LDP or RSVP-TE (separate protocols) |
IGP extensions (IS-IS/OSPF distribute SIDs) |
| State |
Per-LSP state at every hop |
No per-flow state (source routing) |
| TE |
RSVP-TE tunnels (complex) |
SR-TE (source-routed, simpler) |
| FRR |
RSVP-TE FRR |
TI-LFA (topology-independent, automatic) |
| Scalability |
Limited by per-LSP state |
Better (no per-flow state in transit) |
| Trend |
Legacy (being replaced) |
Future direction (new deployments) |
ทิ้งท้าย: MPLS = Label-Based Forwarding + Traffic Engineering
MPLS Labels: 20-bit IDs, push/swap/pop operations, PHP at penultimate hop LDP: auto label distribution (follows IGP, no TE, simple) RSVP-TE: explicit paths + bandwidth reservation + FRR (complex but powerful) TE: CSPF, affinity, auto-bandwidth, make-before-break, facility FRR VPN: L3VPN (MP-BGP), L2VPN (VPWS/VPLS), EVPN (modern replacement) SR-MPLS: next-gen — IGP-distributed SIDs, no per-flow state, TI-LFA (replacing LDP/RSVP-TE)
อ่านเพิ่มเติมเกี่ยวกับ BGP Advanced Route Reflectors และ Segment Routing SRv6 ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com