रात 8 बजे आपका नेटवर्क क्यों डाउन हो जाता है
आपका प्रॉक्सी पूरे दिन ठीक से काम करता है। फिर रात के 8 बजते हैं। अचानक, आपका कनेक्शन फ्रीज हो जाता है। लेटेंसी (latency) बढ़ जाती है। आपका ऐप डिस्कनेक्ट हो जाता है।
आप अपने Wi-Fi को दोष दे सकते हैं। असली समस्या वैश्विक नेटवर्क इंफ्रास्ट्रक्चर (global network infrastructure) है।
रात 8 बजे, लाखों लोग वीडियो स्ट्रीमिंग और गेमिंग शुरू कर देते हैं। इससे इंटरनेशनल गेटवे (international gateways) पर भारी ट्रैफिक पैदा होता है।
यहाँ बताया गया है कि आपका कनेक्शन क्यों विफल होता है:
- गेटवे सैचुरेशन (Gateway Saturation): जब राउटर अपनी क्षमता तक पहुँच जाते हैं, तो वे 'Tail Drop' करते हैं। उनके पास जगह न होने के कारण वे नए पैकेट्स को बस हटा (discard) देते हैं।
- TCP पैनिक (TCP Panic): अधिकांश सिस्टम Cubic एल्गोरिदम का उपयोग करते हैं। जब यह पैकेट लॉस देखता है, तो यह आपकी स्पीड को आधा कर देता है। इससे रीट्रांसमिशन (retransmissions) और उच्च लेटेंसी का एक घातक चक्र (death loop) बन जाता है।
- BGP फ्लैपिंग (BGP Flapping): पीक आवर्स (peak hours) के दौरान, राउटर भारी नुकसान देखते हैं और नए रास्ते खोजने की कोशिश करते हैं। यह रीकैलकुलेशन आपके सक्रिय कनेक्शन को तोड़ देता है।
स्टैंडर्ड पब्लिक रूटिंग इस लोड को नहीं संभाल सकती। एंटरप्राइज टीमें ऑनलाइन रहने के लिए डेडिकेटेड लाइनों का उपयोग करती हैं।
पब्लिक रूटिंग की प्राइवेट लाइनों से तुलना करें:
• रूटिंग पाथ (Routing Path): पब्लिक रूटिंग साझा रास्तों का उपयोग करती है। IPLC और IEPL फिक्स्ड, प्राइवेट फाइबर का उपयोग करते हैं। • लेटेंसी (Latency): पब्लिक रूटिंग में भारी उछाल आता है। प्राइवेट लाइनें स्थिर रहती हैं। • पैकेट लॉस (Packet Loss): रात में पब्लिक रूटिंग में 5% या 10% लॉस होता है। प्राइवेट लाइनें 0% लॉस प्रदान करती हैं। • सुरक्षा (Security): पब्लिक रूटिंग फायरवॉल से होकर गुजरती है। प्राइवेट लाइनें उन्हें बायपास कर देती हैं।
IPLC एक प्राइवेट फिजिकल पाइप है। यह पब्लिक इंटरनेट को नहीं छूता है, इसलिए यह रात 8 बजे के ट्रैफिक सर्ज को नजरअंदाज कर देता है। IEPL एक समान समाधान है जो डेटा लिंक लेयर (data link layer) पर काम करता है।
यदि आप प्राइवेट लाइनें नहीं खरीद सकते हैं, तो अपने Linux सर्वर पर इन दो सुधारों को आज़माएँ:
- BBR कंजेशन कंट्रोल (BBR Congestion Control) पर स्विच करें। Cubic के विपरीत, BBR पैकेट लॉस के दौरान पैनिक नहीं करता है। यह वास्तविक नेटवर्क क्षमता का मॉडल बनाकर स्पीड बनाए रखता है।
अपने sysctl.conf को अपडेट करने के लिए ये कमांड चलाएँ: net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
- अपना MTU कम करें। अपने Maximum Transmission Unit को 1500 से बदलकर 1420 या 1360 कर दें। यह राउटर को आपके एन्क्रिप्टेड पैकेट्स को छोटे टुकड़ों में तोड़ने से रोकता है।