STP — Ethernet switchlar orasidagi ortiqcha fizik yo‘llar sabab Layer 2 loop hosil bo‘lishining oldini oladigan protokol. Uning to‘liq nomi Spanning Tree Protocol hisoblanadi.
STP tarmoq topologiyasidan loop bo‘lmagan mantiqiy daraxt yaratadi. Zaxira linklar fizik jihatdan ulangan holda qoladi, lekin ayrim portlar foydalanuvchi trafikini uzatmaydi.
Asosiy standart IEEE 802.1D bilan bog‘liq.
Layer 2 loop
Ethernet frame’da IP paketdagi TTLga o‘xshash umumiy hop chegarasi yo‘q.
Ikki switch orasida loop bo‘lsa, broadcast frame bir portdan chiqadi, boshqa switchdan qaytadi, yana nusxalanadi va cheksiz aylanadi.
Natijalar:
- broadcast storm;
- MAC address table beqarorlashuvi;
- duplicate frame;
- CPU yuklanishi;
- tarmoqning to‘liq ishlamay qolishi.
Broadcast storm
ARP Request yoki boshqa broadcast frame loopda har aylanishda nusxalanishi mumkin.
Kanal tezda to‘ladi. Switch control plane BPDU va management paketni ham qayta ishlay olmay qolishi mumkin.
Storm control broadcast hajmini cheklashi mumkin, lekin loopning asosiy yechimi STP hisoblanadi.
MAC flapping
Switch source MACni frame kelgan port bilan bog‘laydi.
Loopda bir xil source MAC navbat bilan turli portlardan keladi. MAC table yozuvi doim o‘zgaradi.
Loglarda MAC address flapping haqida xabar ko‘rinishi mumkin.
Natijada unicast traffic noto‘g‘ri portga yuboriladi yoki flood qilinadi.
BPDU
Switchlar topologiya ma’lumotini Bridge Protocol Data Unit orqali almashadi.
BPDU tarkibida:
- Root Bridge ID;
- sender Bridge ID;
- root path cost;
- port ID;
- timerlar;
- flaglar
bo‘ladi.
STP switchlar BPDUni muntazam qabul qilib, qaysi port forwarding yoki blocking bo‘lishini aniqlaydi.
Bridge ID
Bridge ID switchni STP jarayonida aniqlaydi.
U odatda bridge priority, extended system ID va MAC address qismlaridan tuziladi.
Eng kichik Bridge ID yaxshiroq hisoblanadi.
Administrator root bo‘lishi kerak bo‘lgan markaziy switch prioritysini pastroq qiymatga sozlaydi.
Root Bridge
STP domenida bitta Root Bridge tanlanadi.
Barcha non-root switchlar rootga eng yaxshi yo‘lni aniqlaydi.
Root Bridge barcha faol portlarini designated role’da saqlashi mumkin. Trafik albatta root orqali o‘tadi degani emas; root STP hisobining reference nuqtasidir.
Root tasodifiy access switch bo‘lib qolsa, trafik yo‘llari samarasiz bo‘lishi mumkin.
Root Port
Har non-root switchda root bridgega eng yaxshi yo‘lni ko‘rsatadigan bitta Root Port mavjud.
Tanlash mezonlari tartib bilan:
Root Port forwarding holatiga o‘tadi.
Designated Port
Har Ethernet segment uchun rootga eng yaxshi yo‘lga ega port Designated Port bo‘ladi.
Designated Port segmentdan rootga traffic uzatadi, BPDU yuboradi va forwarding holatida ishlaydi.
Root Bridge portlari odatda designated bo‘ladi.
Blocking port
Loopni uzish uchun ayrim portlar blocking holatiga tushadi.
- foydalanuvchi frame’larini uzatmaydi;
- MAC address o‘rganmaydi;
- BPDUlarni qabul qiladi;
- topologiya o‘zgarsa faol bo‘lishi mumkin.
Fizik link ishlayotgan bo‘lsa ham, STP uni mantiqiy o‘chiradi.
Path Cost
STP link tezligiga bog‘liq cost ishlatadi.
Yuqori tezlikli link odatda kichik cost oladi.
Switch rootgacha bo‘lgan barcha link costlarini qo‘shadi. Eng kichik yig‘indi eng yaxshi yo‘l.
Eski va yangi STP cost qiymatlari diapazoni farq qilishi mumkin. Tarmoqdagi switchlar bir xil cost metodidan foydalanishi kerak.
Port ID
Port ID priority va port numberdan tuziladi.
Boshqa mezonlar teng bo‘lsa, kichik Port ID tanlovni hal qiladi.
Administrator port priorityni o‘zgartirib, qaysi parallel link faol bo‘lishini boshqarishi mumkin.
Klassik port holatlari
IEEE 802.1D STPda port quyidagi holatlardan o‘tadi.
Blocking
Data uzatmaydi va MAC o‘rganmaydi.
Listening
STP topologiyasini kelishadi. Data uzatmaydi va MAC o‘rganmaydi.
Learning
MAC addresslarni o‘rganadi, lekin data frame’ni uzatmaydi.
Forwarding
Data uzatadi va MAC o‘rganadi.
Disabled
Port administrativ yoki fizik jihatdan faol emas.
Timerlar
| Timer | Vazifasi |
|---|---|
| Hello Time | Root BPDU yuborish oralig‘i |
| Max Age | BPDU ma’lumoti qancha saqlanishi |
| Forward Delay | Listening va Learning holati davomiyligi |
Klassik standart qiymatlar tarmoq konvergentsiyasini o‘nlab soniyaga cho‘zishi mumkin.
Timerlar mustaqil va tasodifiy o‘zgartirilmaydi. Ular topologiya diametri va standart formulalar bilan bog‘liq.
Topology Change
Port forwardingdan blockingga yoki aksincha o‘zgarsa, MAC table yozuvlari eski yo‘lni ko‘rsatishi mumkin.
STP topology change notification orqali switchlarga MAC agingni tezlashtirishni bildiradi.
Aks holda trafik eski portga yuborilib, bir muddat yo‘qolishi mumkin.
PortFast
Foydalanuvchi kompyuteri ulangan edge port loopdagi switch linki emas.
PortFast portni listening va learning timerlarini uzoq kutmasdan forwardingga o‘tkazadi.
Bu DHCP vaqtini tezlashtiradi, workstation bootini yaxshilaydi va IP telefon ulanishini tezlashtiradi.
PortFast switchlararo trunkda ehtiyotsiz yoqilsa, loop yuzaga kelishi mumkin.
BPDU Guard
BPDU Guard edge portdan BPDU kelsa, portni himoya holatiga o‘tkazadi.
Bu foydalanuvchi portiga ruxsatsiz switch, noto‘g‘ri kabel yoki loop yaratuvchi bridge ulanishidan himoya qiladi.
PortFast va BPDU Guard ko‘pincha birga ishlatiladi.
Root Guard
Root Guard ma’lum port orqali yaxshiroq BPDU kelib, begona switch root bo‘lib qolishini cheklaydi.
Port superior BPDU olsa, root-inconsistent holatiga tushadi.
Bu distribution va access qatlam chegarasida root joylashuvini himoya qiladi.
Loop Guard
Loop Guard BPDU kelishi kutiladigan non-designated portda BPDU to‘xtab qolsa, portning noto‘g‘ri forwardingga o‘tishini cheklaydi.
Unidirectional link holatida bir tomon BPDU olmasligi mumkin.
Loop Guard portni loop-inconsistent holatida saqlaydi.
BPDU Filter
BPDU Filter BPDU yuborish yoki qabul qilishni cheklashi mumkin.
Noto‘g‘ri qo‘llansa STP himoyasini butunlay o‘chirib, loopga sabab bo‘ladi.
Edge portda ishlatilsa ham vendor xatti-harakati aniq tekshiriladi.
STP va VLAN
Klassik 802.1D bitta spanning tree yaratadi.
Vendor implementatsiyalari per-VLAN STP, Rapid PVST va MSTP kabi variantlarni qo‘llashi mumkin.
Har VLAN uchun alohida daraxt trafikni turli linklarga taqsimlash imkonini beradi, lekin BPDU va CPU state ko‘payadi.
Diagnostika
STP muammosida:
- Root Bridge;
- Bridge ID;
- port role;
- port state;
- path cost;
- BPDU;
- topology change;
- blocked port;
- trunk VLAN;
- PortFast;
- BPDU Guard;
- Root Guard;
- Loop Guard;
- MAC flapping;
- broadcast counter
tekshiriladi.
Root Bridge kutilmagan switch bo‘lsa, priority dizayni qayta ko‘riladi.
Bog‘liq tushunchalar
Ethernet loop, BPDU, Root Bridge, Root Port, Designated Port, Blocking, Path Cost, PortFast, BPDU Guard, RSTP, MSTP