Split horizon — distance-vector routing protokollarida route qaysi interfeys yoki qo‘shnidan o‘rganilgan bo‘lsa, uni o‘sha tomonga qayta reklama qilmaslik qoidasi. U qo‘shniga “sen orqali bilgan yo‘lni yana senga taklif qilmayman” degan mantiqni beradi. Bu ikki routerli routing loop va count-to-infinity holatining ko‘p ko‘rinishini kamaytiradi, ammo barcha topology looplarini yakka o‘zi bartaraf etmaydi.
Ishlash prinsipi
R1 10.0.0.0/24 route’ni R2dan o‘rgansa, R1 shu route’ni R2 joylashgan interfeys orqali update ichida yubormaydi. R2 o‘z yo‘li uzilganda R1ni alternativ deb xato qabul qilmaydi. Boshqa interfeysdagi R3ga esa route reklama qilinishi mumkin.
Distance-vector update faqat destination va metricni olib, to‘liq pathni bilmasligi mumkin. Split horizon route kelgan yo‘nalish metadata’sidan foydalanib sodda loop prevention beradi. RIP interface konfiguratsiyasida odatda default yoqilgan bo‘ladi.
Poison reverse
Simple split horizon route’ni o‘rganilgan tomonga umuman yubormaydi. Split horizon with poisoned reverse esa route’ni qayta yuboradi, lekin metricini infinity qilib belgilaydi. RIPda bu metric 16. Qo‘shni route orqali qaytish mumkin emasligini aniq biladi va eski cache’ni tezroq olib tashlashi mumkin.
Poison reverse update hajmini oshiradi, chunki yashiriladigan route’lar ham unreachable qiymat bilan yuboriladi. Kichik tarmoqda bu muhim bo‘lmasligi mumkin. Ko‘p prefixli muhitda protocol va implementatsiya siyosati hisobga olinadi.
Multi-access tarmoqlar
Hub-and-spoke Frame Relay, DMVPN yoki umumiy multipoint interfeysda barcha qo‘shnilar bitta logical interfeys ortida bo‘lishi mumkin. Hub spoke A’dan route o‘rganib, spoke Bga ayni interfeys orqali yuborishi kerak. Oddiy interface-level split horizon bunga to‘sqinlik qiladi va spoke’lar bir-birining tarmoqlarini bilmaydi.
Bunday muhitda split horizon hub interfeysida o‘chirilishi yoki point-to-point subinterface’lar ishlatilishi mumkin. Uni o‘chirish loop xavfini qaytaradi, shu sababli topology, next-hop va boshqa loop prevention mexanizmlari tekshiriladi. Qoida muammosini tushunmasdan global o‘chirish xavfli.
Cheklovlari
Split horizon faqat route o‘rganilgan interfeysga qaytishni to‘xtatadi. Uch yoki undan ko‘p routerli loopda noto‘g‘ri ma’lumot boshqa interfeyslar bo‘ylab aylanib kelishi mumkin. Triggered update, route poisoning, hold-down va maksimal metric birga convergence’ni yaxshilaydi.
Protocol redistributionda route bir protokoldan boshqasiga o‘tib, boshqa nom va metric bilan qaytishi mumkin. Split horizon uning asl kelib chiqishini bilmaydi. Route tag va bir yo‘nalishli redistribution policy bunday feedbackni cheklaydi.
Amaliy kuzatuv
Router debug update qaysi prefix qaysi interfeysga yuborilmaganini ko‘rsatishi mumkin. Routing table’da route manbasi va incoming interface aniqlanadi. Packet capture RIP response ichidagi prefixlarni ko‘rsatadi, lekin productionda debug CPU va log yukini oshirishi mumkin.
Split horizon konfiguratsiyasi qo‘shni soni, interface turi va protocol versiyasi bilan hujjatlashtiriladi. Topology o‘zgarsa, avval zarur bo‘lgan exception keyin yashirin reachability yoki loop sababiga aylanishi mumkin.
Poison reverse varianti
Oddiy split horizon route’ni kelgan interfeysga umuman reklama qilmaydi. Split horizon with poison reverse esa uni qayta yuboradi, lekin cheksiz metric bilan belgilaydi. Qo‘shni shu yo‘l endi qaytish yo‘li bo‘la olmasligini aniq biladi. Buning evaziga update hajmi ortadi.
Bog‘liq tushunchalar
Distance-vector routing, RIP, Poison reverse, Route poisoning, Routing loop, Count to infinity, Hub-and-spoke