[गीत काउंट डाउन: 7, 6, 5, 4, 3, 2, 1] इंटरनेट: पैकेट, रूटिंग और विश्वसनीयता नमस्ते, मेरा नाम लिन है। मैं Spotify में एक सॉफ्टवेयर इंजीनियर हूँ और मानती हूँ कि मैं अक्सर इंटरनेट की विश्वसनीयता का फायदा उठाती हूँ। इंटरनेट के आसपास घूमने वाली जानकारी की मात्रा आश्चर्यजनक है। लेकिन यह कैसे संभव है कि डेटा के हर टुकड़े को विश्वसनीयता के साथ से आप तक पहुँचाया जाए? मान लीजिये आप Spotify पर एक गाना सुनना चाहते हैं। ऐसा लगता है कि आपका कंप्यूटर सीधे Spotify सर्वर से कनेक्ट होता है और Spotify आपको एक प्रत्यक्ष, समर्पित लाइन पर गाना भेजता है। लेकिन वास्तव में, इंटरनेट ऐसे काम नहीं करता। यदि इंटरनेट प्रत्यक्ष, समर्पित कनेक्शनों से बना होता, तो उसके लिए चीज़ों को काम करते रखना असंभव होता, क्योंकि लाखों उपयोगकर्ता जुड़ते हैं। विशेष रूप से इस बात की कोई गारंटी नहीं है कि हर तार और कंप्यूटर हर समय काम कर रहा है। इसके बजाय, डेटा बहुत कम डायरेक्ट फैशन में इंटरनेट पर ट्रेवल करता है। कई साल पहले, 1970 के दशक की शुरुआत में मेरे साथी बॉब केहन और मैंने उस डिजाइन पर काम करना शुरू किया जिसे आज हम इंटरनेट कहते हैं। बॉब और मेरे पास इंटरनेट के प्रोटोकॉल और इसके आर्किटेक्चर को डिजाइन करने की जिम्मेदारी और अवसर था। इसलिए हमने तब से लेकर अब तक इंटरनेट की बढ़त और विकास में भाग लेने का प्रयास किया। जिस तरह से जानकारी एक कंप्यूटर से दूसरे कंप्यूटर में ट्रांसफर होती है वह काफी दिलचस्प है। इसे एक निश्चित मार्ग को फॉलो करने की ज़रूरत नहीं होती, वास्तव में, आपका मार्ग कंप्यूटर से कंप्यूटर के संवाद के बीच बदल सकता है। इंटरनेट पर सूचना एक कंप्यूटर से दूसरे में सूचना के पैकेट के रूप में जाती है और पैकेट इंटरनेट पर एक स्थान से दूसरे स्थान की यात्रा करता है, लगभग वैसे ही जैसे आप कार से एक स्थान से दूसरे तक जाते हैं। ट्रैफिक या सड़क की स्थिति के आधार पर, हर बार आप यात्रा के दौरान कोई दूसरा मार्ग चुनते हैं या मज़बूरी में ऐसा करते हैं। और जिस तरह आप कार के अंदर सभी प्रकार का सामान ले जा सकते हैं, कई प्रकार की डिजिटल जानकारी IP पैकेट के साथ भेजी जा सकती है, लेकिन उसकी कुछ सीमाएं हैं। उदाहरण के लिए क्या होगा अगर आपको किसी स्पेस शटल को उसके निर्माण स्थल से लॉन्चिंग स्थल तक ले जाने की ज़रूरत हो। शटल एक ट्रक में फिट नहीं होगी, इसलिए इसे कई ट्रकों में ले जाने के लिए टुकड़ों में बांटना होगा। वे सभी अलग-अलग मार्ग से जा सकते हैं और अलग-अलग समय पर गंतव्य तक पहुँच सकते हैं। सभी टुकड़ों के वहां पहुँचने के बाद, आप उन्हें पुन: जोड़कर शटल को पुराना रूप दे सकते हैं, और फिर यह लॉन्च के लिए तैयार होगी। इंटरनेट पर विवरण समान रूप से काम करते हैं। यदि आपके पास एक बहुत बड़ी छवि है, जिसे आप किसी दोस्त को भेजना चाहते हैं या किसी वेबसाइट पर अपलोड करना चाहते हैं, वह छवि 1s और 0s के लाखों बिट्स से मिलकर बनी हो सकती है, एक पैकेट में भेजने के लिए बहुत सारे। चूंकि यह कंप्यूटर पर डेटा है, इसलिए छवि भेजने वाला कंप्यूटर इसे जल्दी से सैकड़ों या यहां तक कि हजारों छोटे भागों में तोड़ सकता है जिन्हें पैकेट कहा जाता है। कारों या ट्रकों के विपरीत इन पैकेटों के ड्राइवर नहीं होते और न ही वे अपना मार्ग चुनते हैं। प्रत्येक पैकेट में इंटरनेट का पता होता है कि वह वो कहां से आया है और कहां जा रहा है। इंटरनेट पर विशेष कंप्यूटर, जिन्हें राउटर कहा जाता है, पैकेट को एक नेटवर्क से दूसरे में सुचारू रूप से भेजने के लिए ट्रैफिक मैनेजर की तरह काम करते हैं। यदि किसी मार्ग में भीड़भाड़ है, तो अलग-अलग पैकेट इंटरनेट के माध्यम से विभिन्न मार्गों से गुजर सकते हैं और वे अलग समय पर या यहां तक कि बिना क्रम के गंतव्य पर पहुंच सकते हैं। आइए बात करते हैं कि यह कैसे काम करता है। इंटरनेट प्रोटोकॉल के हिस्से के रूप में, हर राउटर पैकेट भेजने के लिए कई मार्गों पर नज़र रखता है, और यह पैकेट के लिए गंतव्य IP एड्रेस के आधार पर डेटा के प्रत्येक टुकड़े के लिए उपलब्ध सबसे किफायती मार्ग चुनता है। इस मामले में किफायती का अर्थ लागत से नहीं है, बल्कि समय और गैर-तकनीकी कारक जैसे राजनीति और कंपनियों के बीच संबंध से है। अक्सर डेटा के ट्रेवल करने के लिए सबसे अच्छा मार्ग जरूरी नहीं कि सबसे सीधा हो। मार्गों के विकल्प होने के चलते नेटवर्क की खराबी को बर्दाश्त किया जा सकता है। इसका अर्थ है कि नेटवर्क पैकेट भेजना जारी रखता है, फिर भले ही स्थिति कितनी भी खराब क्यों न हो जाए। यह इंटरनेट के प्रमुख सिद्धांत का मूल तत्व है: विश्वसनीयता। अब, क्या होगा यदि आप कुछ डेटा का अनुरोध करना चाहते हैं और सब कुछ डिलीवर नहीं किया गया है? मान लीजिये कि आप एक गाना सुनना चाहते हैं। आप 100% कैसे सुनिश्चित हो सकते हैं कि सारा डेटा डिलीवर हो जाएगा ताकि गाना सही ढंग से चल सके? आपके नए बेस्ट फ्रेंड का परिचय, TCP(ट्रांसमिशन कंट्रोल प्रोटोकॉल)। TCP आपके सभी डेटा को पैकेट के रूप में भेजने और प्राप्त करने का प्रबंधन करता है। इसे एक गारंटीकृत मेल सेवा की तरह देखें। जब आप अपनी डिवाइस पर एक गाने का अनुरोध करते हैं, तो Spotify गाने को कई छोटे-छोटे पैकेट में भेजता है। जब आपके पैकेट आते हैं, तो TCP पूरी इन्वेंट्री करता है और सूचित करता है कि प्रत्येक पैकेट प्राप्त हो गया है। यदि सभी पैकेट वहां हैं, तो TCP आपकी डिलीवरी के लिए साइन करता है और आपका काम हो जाता है। (गाना चलता है) यदि TCP को कुछ पैकेट नहीं मिलते, तो वह साइन नहीं करेगा, अन्यथा आपका गाना अच्छा सुनाई नहीं देगा या गाने का कोई भाग गायब हो सकता है। प्रत्येक गायब या अधूरे पैकेट को Spotify पुन: भेजेगा। TCP के उस एक गाने के अनुरोध के लिए कई पैकेटों की डिलीवरी की पुष्टि करते ही आपका गाना बजना शुरू हो जाएगा। TCP और राउटर सिस्टम के बारे में अच्छी बात यह है कि वे स्केलेबल हैं। वे 8 या 8 बिलियन उपकरणों के साथ काम कर सकते हैं। वास्तव में, दोष सहने और अतिरेक के इन सिद्धांतों के कारण, हम जितने अधिक राउटर जोड़ते हैं, इंटरनेट उतना अधिक विश्वसनीय बन जाता है। एक और बहुत अच्छी बात यह है कि हम इंटरनेट को उसे इस्तेमाल करने वाले किसी भी व्यक्ति की सेवा में बाधा डाले बिना बढ़ा सकते हैं और उसका विस्तार कर सकते हैं। इंटरनेट सैकड़ों हजारों नेटवर्क और अरबों कंप्यूटरों और डिवाइस से बना है, जो भौतिक रूप से जुड़े हुए हैं। ये विभिन्न सिस्टम, जो इंटरनेट को एक-दूसरे से कनेक्ट करते हैं, एक-दूसरे से संवाद करते हैं और इंटरनेट पर डेटा कैसे भेजा जाता है, इसके लिए मानकों पर सहमति के कारण एक साथ काम करते हैं। कम्प्यूटिंग डिवाइस, या इंटरनेट के साथ राउटर, सभी पैकेटों की गंतव्य तक पहुँचने में मदद करते हैं, जहाँ उन्हें पुन: जोड़ा जाता है, यदि ज़रूरत हो तो क्रमानुसार। यह दिन में अरबों बार होता है, चाहे आप और कोई अन्य ईमेल भेज रहे हों, किसी वेब पेज पर जा रहे हों, वीडियो चैट कर रहे हों, मोबाइल ऐप इस्तेमाल कर रहे हों या जब इंटरनेट पर सेंसर या डिवाइस एक दूसरे से बात करते हों।