Segment Routing — paket yurishi kerak bo‘lgan yo‘l yoki bajarishi kerak bo‘lgan ko‘rsatmalar ketma-ketligini ingress tugunda segmentlar ro‘yxati sifatida kodlaydigan source-routing arxitekturasi. MPLS data plane ishlatilganda segment identifikatorlari label stackda, IPv6 data plane ishlatilganda SRv6 Segment Routing Header ichida ifodalanadi. Core tugunlari odatda har bir tunnel uchun alohida signal holatini saqlamasdan segmentlarga amal qiladi.
Segment turlari
Segment — tarmoqdagi ko‘rsatma. SR-MPLSda keng tarqalgan turlar:
- Prefix-SID ma’lum prefix yoki node tomon IGP eng qisqa yo‘lidan borishni bildiradi;
- Node-SID odatda router loopback Prefix-SIDining maxsus qo‘llanishidir;
- Adjacency-SID muayyan chiqish adjacency yoki linkdan foydalanishni ko‘rsatadi;
- Binding-SID oldindan belgilangan policy yoki segmentlar ro‘yxatini bitta SID bilan ifodalaydi;
- Anycast-SID bir xil SIDni e’lon qilgan eng yaqin tugunga olib boradi.
Global SID SRGB — Segment Routing Global Block ichidagi indeks orqali domen bo‘ylab izchil ma’no olishi mumkin. Adjacency-SID ko‘pincha lokal ma’noga ega va faqat uni e’lon qilgan tugunda talqin qilinadi.
SR-MPLS forwarding
Ingress tanlangan segment listni MPLS label stack sifatida paketga push qiladi. Yuqori label faol segmentdir. Node-SID bo‘yicha routerlar oddiy IGP yo‘li bilan labelni swap qiladi. Segment endpointiga yetganda label pop bo‘ladi va keyingi segment faolga aylanadi.
Faqat Node-SIDlar ishlatilsa yo‘l IGP shortest path qismlaridan tuziladi. Aniq linkdan o‘tish zarur bo‘lsa Adjacency-SID qo‘shiladi. Stack chuqurligi apparat va MTU bilan cheklangan; juda murakkab yo‘l Binding-SID yordamida qisqartirilishi mumkin.
SRv6
SRv6 segment IPv6 manzil ko‘rinishidagi 128 bitli SIDdir. Paketning active destination addressi joriy segmentni ko‘rsatadi, qolgan ro‘yxat Segment Routing Headerda turadi. Endpoint behavior, masalan End, End.X yoki decapsulation amali, SIDga kelganda bajariladigan funksiyani belgilaydi.
SRv6 MPLS label talab qilmaydi, ammo IPv6 sarlavha overheadi kattaroq. MTU, hardware qo‘llovi, ACL va observability vositalari SRHni tushunishi kerak. SR-MPLS va SRv6 bir xil arxitektura g‘oyasining turli data plane ko‘rinishlaridir.
Control plane va policy
OSPF yoki IS-IS SID ma’lumotini va TE atributlarini tarqatishi mumkin. BGP-LS topologiyani controllerga beradi, PCEP yoki BGP SR Policy hisoblangan segment listni headendga yetkazishi mumkin. Oddiy shortest path uchun markaziy controller shart emas; murakkab SLA va disjoint path policyda u foydali.
SR Policy color va endpoint bilan aniqlanishi, bir nechta candidate pathga ega bo‘lishi mumkin. Preference eng ustun yaroqli pathni tanlaydi. TI-LFA topologiyaga bog‘liq tez reroute segment listini oldindan hisoblaydi.
Amaliy cheklovlar
Coreda per-tunnel RSVP holati kamayadi, lekin barcha murakkablik yo‘qolmaydi: headend segment list, policy va telemetryni boshqaradi. SID rejalashtirish, SRGB mosligi va IGP extensionlari izchil bo‘lishi zarur. Noto‘g‘ri Adjacency-SID yoki eskirgan topologiya blackhole keltirishi mumkin.
Diagnostikada active policy, candidate path, imposed stack, har SIDning egasi va LFIB tekshiriladi. Ping/traceroute natijasi entropy label, ECMP va TTL modeliga bog‘liq bo‘lishi mumkin.
Micro-loop va convergence
IGP topologiyasi o‘zgarganda routerlar yangi shortest pathni turli vaqtda hisoblaydi va qisqa micro-loop paydo bo‘lishi mumkin. SR policy aniq segment list bilan bunday o‘tishni boshqarishi, TI-LFA esa darhol repair yo‘lini berishi mumkin. Keyinchalik controller yoki headend yangi optimal candidate pathni tanlaydi. Eski segment endi mavjud bo‘lmasa, policy invalid holatga tushadi yoki zaxira preferencega o‘tadi.