Connection migration — faol transport ulanishini endpointning IP manzili yoki porti o‘zgarganda yangi network pathda davom ettirish mexanizmidir. QUIC bu imkoniyatni Connection ID va path validation yordamida qo‘llaydi. Mobil qurilma Wi-Fi dan uyali tarmoqqa o‘tganda application sessionini qayta yaratmasdan ulanish saqlanishi mumkin.
5-tuple muammosi
TCP connection odatda source IP, source port, destination IP, destination port va protocol bilan aniqlanadi. Manzil o‘zgarsa oddiy TCP ulanishi yangi connection hisoblanadi. QUIC UDP datagram ichidagi Connection ID orqali paketni mavjud cryptographic state bilan bog‘laydi.
Migration faqat client IP o‘zgarishi emas. NAT rebinding tashqi portni almashtirishi, server preferred address yangi server manzilini taklif qilishi mumkin. Har holatda peer yangi pathning haqiqiyligini va ishlashini tekshiradi.
Path validation
Endpoint yangi manzilga PATH_CHALLENGE yuboradi, peer PATH_RESPONSE bilan qaytaradi. Bu peer manzildan paket qabul qila olishini ko‘rsatadi va address spoofing orqali amplificationni kamaytiradi. Validation tugamaguncha yuboriladigan byte miqdori anti-amplification limitiga bo‘ysunadi.
Yangi pathdan authenticated packet kelishi connection keylariga egalikni ko‘rsatadi, ammo reverse path capacityni isbotlamaydi. Challenge-response ikki yo‘nalishdagi reachabilityni tekshiradi.
Transport holati
Yangi path RTT, MTU va bandwidth bo‘yicha eskisidan farq qiladi. Congestion controller oldingi yuqori capacityni ko‘r-ko‘rona ko‘chirmaydi. Loss detection va pacing yangi o‘lchovlarga moslashadi. Path MTU discovery ham qayta bajarilishi mumkin.
Outstanding packetlar eski pathda kechikib kelishi mumkin. QUIC packet number va cryptographic state ularni tanish imkonini beradi. Migration application stream tartibini buzmasligi kerak, ammo vaqtinchalik latency oshishi mumkin.
Connection ID va maxfiylik
Endpoint migration uchun bir nechta Connection IDni oldindan beradi. Yangi pathda IDni almashtirish observerning eski va yangi manzilni bog‘lashini qiyinlashtiradi. Bir xil IDni saqlash privacy linkabilityni oshiradi.
Connection ID routing ma’lumotini o‘z ichiga olsa load balancer yangi pathni to‘g‘ri backendga olib boradi. Backend state shared yoki routable bo‘lmasa migration paketlari boshqa nodega tushib connectionni yo‘qotishi mumkin.
Application oqibatlari
Transport saqlansa ham application IPga bog‘langan security policy qayta baholanishi mumkin. Geolocation, risk score yoki allowlist o‘zgaradi. IPni authenticated user identity deb qabul qilish migration bilan mos emas.
Server ayrim migration turini o‘chirishi mumkin. Preferred addressga server-initiated ko‘chish va client path change turli policyga ega. Idle timeout o‘tgan connectionni migration tiklamaydi; client yangi handshake boshlaydi.
Nosozlik holatlari
Yangi path validationdan o‘tmasa endpoint eski path hali ishlasa unga qaytishi mumkin. Ikkalasi ham ishlamasa connection timeout bilan tugaydi. Application retry non-idempotent requestni takrorlamasligi kerak.
Connection migration multipath bilan bir xil emas. Oddiy migratsiya bir primary pathdan boshqasiga o‘tadi; multipath bir vaqtda bir nechta yo‘ldan foydalanishni anglatadi va alohida protocol extension talab qiladi.
Migration testi
Amaliy test active download yoki bidirectional stream davomida network interface ni almashtiradi. Faqat idle connection bilan tekshirish outstanding packet, congestion va flow-control xatolarini ochmaydi. Packet loss, NAT port change va yangi pathning kichik MTU holati alohida sinovdan o‘tadi.
Metric migration attempt, validation duration, success, fallback va connection close sababini ko‘rsatadi. Connection ID yuqori cardinality sabab metric label emas, trace yoki log fieldida saqlanadi. Privacy uchun log retention cheklanadi.
Bog‘liq tushunchalar
QUIC, Connection ID, Path validation, NAT rebinding, Congestion control, Anti-amplification, Multipath