Home » Segment Routing: SR-MPLS, SRv6, SRGB, Node-SID, Adjacency-SID, TI-LFA และ SR Policy
Segment Routing: SR-MPLS, SRv6, SRGB, Node-SID, Adjacency-SID, TI-LFA และ SR Policy
Segment Routing: SR-MPLS, SRv6, SRGB, Node-SID, Adjacency-SID, TI-LFA และ SR Policy
Segment Routing เป็น source routing paradigm ที่กำลังแทนที่ MPLS แบบเดิม SR-MPLS ใช้ MPLS labels เป็น segments, SRv6 ใช้ IPv6 extension headers, SRGB (Segment Routing Global Block) กำหนดช่วง labels, Node-SID ระบุ router, Adjacency-SID ระบุ link, TI-LFA ให้ sub-50ms failover และ SR Policy กำหนด traffic engineering paths
Segment Routing เป็น เทคโนโลยีที่ major ISPs และ hyperscalers กำลังย้ายไป: Google, Facebook/Meta, Microsoft, AT&T, Softbank ล้วนใช้ SR แทน RSVP-TE/LDP เหตุผล: ไม่ต้องมี LDP sessions (ลด state), ไม่ต้องมี RSVP-TE signaling (ลด complexity), source routing = head-end กำหนด path (ไม่ต้องทุก hop maintain state), TI-LFA ให้ fast-reroute ดีกว่า MPLS FRR และ SRv6 เป็น future ที่รวม MPLS + IPv6 เข้าด้วยกัน
Segment Routing Concepts
| Concept |
Description |
| Segment |
Instruction: “go to node X” (Node-SID) or “use link Y” (Adj-SID) — represented as label (SR-MPLS) or SRv6 SID |
| Source Routing |
Head-end (ingress) inserts ordered list of segments → each node processes top segment → forwards accordingly |
| No State |
Transit nodes don’t maintain per-flow state — only process top label → forward — massive scalability improvement |
| SRGB |
Segment Routing Global Block — range of labels reserved for SR (e.g., 16000-23999) — same index = same destination everywhere |
| SRLB |
Segment Routing Local Block — labels for local significance (adjacency-SIDs) |
SID Types
| SID Type |
Scope |
Function |
Example |
| Prefix-SID (Node-SID) |
Global |
Identifies a node/prefix — “go to this router via shortest path” |
Node-SID index 10 → label 16010 (SRGB base 16000 + 10) |
| Adjacency-SID |
Local |
Identifies a specific link — “use THIS specific link to neighbor” |
Adj-SID 24001 = use link to Router-B (overrides ECMP/IGP) |
| Anycast-SID |
Global |
Same SID on multiple nodes — traffic goes to closest node with that SID |
Anycast-SID 100 on both DC gateways → closest gateway selected |
| Binding-SID |
Local/Global |
Represents an SR Policy — shortcut label for a predefined path |
BSID 40001 = “use TE path through nodes A→B→C” |
SR-MPLS vs SRv6
| Feature |
SR-MPLS |
SRv6 |
| Data Plane |
MPLS labels (32-bit) |
IPv6 extension headers (128-bit SIDs) |
| Control Plane |
IS-IS/OSPF with SR extensions |
IS-IS/OSPF with SRv6 extensions |
| Hardware |
Existing MPLS hardware — no upgrade needed |
Needs new hardware supporting SRv6 (IPv6 extension header processing) |
| Label Depth |
Limited by hardware (typically 3-5 labels) |
Deeper (128-bit SID = more info per segment) |
| Network Programming |
Limited — labels are opaque |
Rich — SRv6 functions: End, End.X, End.DT4, End.DT6 (programmable) |
| Overhead |
4 bytes per label |
16 bytes per SID (higher overhead) |
| Adoption |
Now — ISPs migrating from LDP/RSVP-TE |
Future — SRv6 with micro-SID (uSID) reduces overhead |
TI-LFA (Topology-Independent Loop-Free Alternate)
| Feature |
Detail |
| What |
Sub-50ms fast-reroute that works for ANY topology — not limited like LFA/rLFA |
| How |
Pre-compute backup path using SR segment list → on failure, push segment list to detour around failure |
| vs LFA |
LFA only works if neighbor has loop-free alternate path → doesn’t cover all topologies |
| vs rLFA |
rLFA needs targeted LDP session to PQ node → complex, doesn’t cover all cases |
| TI-LFA |
Always works: compute post-convergence path → express as segment list → install as backup → 100% coverage |
| Failover |
Link fails → hardware switches to pre-computed backup path in < 50ms → no packet loss |
SR Policy (Traffic Engineering)
| Component |
Description |
| Head-End |
Router that creates and applies SR Policy — source of the traffic engineered path |
| Color |
Policy identifier — maps to intent (e.g., color 100 = low-latency, color 200 = high-bandwidth) |
| Endpoint |
Destination of the SR Policy — typically a remote PE or service endpoint |
| Candidate Path |
One or more paths for a policy — can have preference/priority (primary, backup) |
| Segment List |
Ordered list of SIDs defining the exact path: [Node-A, Adj-B→C, Node-D] |
| Binding SID |
Single label representing the entire policy — simplifies steering traffic into policy |
| ODN (On-Demand Next-hop) |
Automatically create SR Policy when BGP route with specific color community is received |
ทิ้งท้าย: Segment Routing = The Future of Network Routing
Segment Routing Concept: source routing with segments (instructions) — no per-flow state on transit nodes → massive scalability SIDs: Node-SID (global, go to router), Adj-SID (local, use specific link), Anycast-SID, Binding-SID (policy shortcut) SR-MPLS: uses MPLS labels, existing hardware, deploying now | SRv6: uses IPv6, programmable, future (with uSID for overhead) TI-LFA: topology-independent fast-reroute < 50ms — works for ANY topology (vs LFA/rLFA limitations) — 100% coverage SR Policy: head-end defines path as segment list, color = intent, ODN = automatic policy creation Key: SR eliminates LDP+RSVP-TE complexity, provides better TE and FRR — Google/Meta/AT&T already deployed
อ่านเพิ่มเติมเกี่ยวกับ MPLS Deep Dive Label Switching LSP LDP RSVP-TE และ IS-IS Protocol NET Address Level 1/2 Routing DIS TLV ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com