यदि आप कंप्यूटर नेटवर्किंग में आ रहे हैं, या यदि आपने कुछ एप्लिकेशन की नेटवर्क सेटिंग्स को खंगाला है, तो आपने संभवतः ये शर्तें देखी होंगी: TCP और UDP।
TCP, जिसका मतलब ट्रांसमिशन कंट्रोल प्रोटोकॉल है, और UDP, या यूजर डेटाग्राम प्रोटोकॉल, इंटरनेट प्रोटोकॉल सूट का हिस्सा हैं। TCP और UDP इंटरनेट पर जानकारी भेजने के अलग-अलग तरीके हैं।
लेकिन यह जानने के बावजूद कि वे क्या हैं, यह जानना मुश्किल है कि आपको किस प्रोटोकॉल का उपयोग करना चाहिए, या आप एक का उपयोग दूसरे पर क्यों करेंगे।
इस लेख में, हम कंप्यूटर नेटवर्किंग बेसिक्स, TCP और UDP के बीच अंतर, प्रत्येक का उपयोग कब किया जाता है, और बहुत कुछ पर जाएंगे।
कंप्यूटर नेटवर्किंग बेसिक्स
TCP और UDP कैसे काम करते हैं, इसमें गोता लगाने से पहले, इंटरनेट कैसे काम करता है इसके बारे में बेसिक्स जानना मददगार है।
आम तौर पर, इंटरनेट कनेक्टिंग डिवाइसेज का एक नेटवर्क है। प्रत्येक डिवाइस, चाहे वह आपका स्मार्टफोन हो या सर्वर, इंटरनेट प्रोटोकॉल सूट के माध्यम से संचार करते हैं।
इंटरनेट प्रोटोकॉल सूट डिवाइसेज के एक दूसरे के साथ संचार करने के लिए विभिन्न प्रोटोकॉल, या तरीकों का एक संग्रह है। TCP और UDP दोनों इंटरनेट प्रोटोकॉल सूट के भीतर प्रमुख प्रोटोकॉल हैं:

इंटरनेट से जुड़े प्रत्येक डिवाइस का एक अद्वितीय IP पता होता है। और जब भी दो डिवाइस इंटरनेट पर संचार करते हैं, तो वे संभवतः ऐसा करने के लिए या तो TCP या UDP का उपयोग कर रहे होते हैं।
यहां दोनों के बीच एक संक्षिप्त तुलना है:

इंटरनेट कैसे काम करता है इसका और भी उच्च-स्तरीय अवलोकन के लिए, इस पांच मिनट के वीडियो को देखें:
TCP क्या है?
TCP, या ट्रांसमिशन कंट्रोल प्रोटोकॉल, ऑनलाइन सबसे आम नेटवर्किंग प्रोटोकॉल है। TCP अत्यधिक विश्वसनीय है, और वेब सर्फिंग (HTTP), ईमेल भेजने (SMTP), और फाइल ट्रांसफर (FTP) जैसी हर चीज के लिए उपयोग किया जाता है।
TCP का उपयोग उन स्थितियों में किया जाता है जहां यह आवश्यक है कि एक डिवाइस द्वारा भेजा गया सारा डेटा दूसरे द्वारा पूरी तरह से बरकरार प्राप्त हो।
उदाहरण के लिए, जब आप किसी वेबसाइट पर जाते हैं, तो TCP यह गारंटी देने के लिए उपयोग किया जाता है कि पेज को रेंडर करने के लिए आवश्यक टेक्स्ट, इमेज और कोड सब कुछ पहुंचे। TCP के बिना, इमेज या टेक्स्ट गायब हो सकते हैं, या गलत क्रम में पहुंच सकते हैं, जिससे पेज टूट जाएगा।
TCP एक कनेक्शन-ओरिएंटेड प्रोटोकॉल है, जिसका अर्थ है कि यह डेटा ट्रांसफर करने से पहले दो डिवाइसेज के बीच एक कनेक्शन स्थापित करता है, और ट्रांसफर प्रक्रिया के दौरान उस कनेक्शन को बनाए रखता है।
दो डिवाइसेज के बीच एक कनेक्शन स्थापित करने के लिए, TCP थ्री-वे हैंडशेक नामक एक विधि का उपयोग करता है:

उदाहरण के लिए, इस लेख को अपने डिवाइस पर पढ़ने के लिए, आपके डिवाइस ने पहले freeCodeCamp News सर्वर को SYN (सिंक्रोनाइज़ सीक्वेंस नंबर) नामक एक संदेश भेजा।
फिर freeCodeCamp News सर्वर SYN-ACK नामक एक पावती संदेश वापस भेजता है।
जब आपका डिवाइस सर्वर से SYN-ACK प्राप्त करता है, तो यह एक ACK पावती संदेश वापस भेजता है, जो कनेक्शन स्थापित करता है।
एक बार दो डिवाइसेज के बीच TCP कनेक्शन स्थापित हो जाने पर, प्रोटोकॉल गारंटी देता है कि सारा डेटा ट्रांसमिट हो गया है।
आपके डिवाइस और freeCodeCamp News के उदाहरण पर वापस जाएं, एक बार थ्री-वे हैंडशेक पूरा हो जाने पर, न्यूज सर्वर आपके डिवाइस के वेब ब्राउज़र को इस लेख को रेंडर करने के लिए आवश्यक सारा डेटा भेजना शुरू कर सकता है।
सभी डिवाइस इंटरनेट पर भेजने से पहले डेटा को छोटे पैकेट्स में तोड़ते हैं। उन पैकेट्स को दूसरे छोर पर फिर से असेंबल करने की आवश्यकता होती है।
इसलिए जब freeCodeCamp News सर्वर इस लेख के लिए HTML, CSS, इमेज और अन्य कोड भेजता है, तो यह उन्हें भेजने से पहले डेटा के छोटे पैकेट्स में तोड़ देता है। आपका डिवाइस तब उन पैकेट्स को उन फाइलों और इमेज में पुन: असेंबल करता है जिन्हें इस लेख को रेंडर करने के लिए आवश्यक है।
TCP सुनिश्चित करता है कि ये सभी पैकेट्स आपके डिवाइस पर पहुंचें। यदि रास्ते में कोई पैकेट खो जाता है, तो TCP आपके डिवाइस के लिए सर्वर को यह बताना आसान बनाता है कि डेटा गायब है, और सर्वर के लिए उन पैकेट्स को फिर से भेजना।
एक बार जब आपका डिवाइस लेख को रेंडर करने के लिए आवश्यक सारा डेटा प्राप्त कर लेता है, तो TCP स्वचालित रूप से दो डिवाइसेज के बीच कनेक्शन को थ्री-वे हैंडशेक के समान एक विधि से समाप्त करता है, इस बार FIN और ACK पैकेट्स का उपयोग करके।
UDP क्या है?
UDP, या यूजर डेटाग्राम प्रोटोकॉल, इंटरनेट प्रोटोकॉल सूट को बनाने वाले प्रमुख प्रोटोकॉल में से एक और है। UDP TCP से कम विश्वसनीय है, लेकिन बहुत सरल है।
UDP उन स्थितियों के लिए उपयोग किया जाता है जहां कुछ डेटा हानि स्वीकार्य है, जैसे लाइव वीडियो/ऑडियो, या जहां गति एक महत्वपूर्ण कारक है जैसे ऑनलाइन गेमिंग।
जबकि UDP इस मायने में TCP के समान है कि इसका उपयोग ऑनलाइन डेटा भेजने और प्राप्त करने के लिए किया जाता है, कुछ प्रमुख अंतर हैं।
सबसे पहले, UDP एक कनेक्शनलेस प्रोटोकॉल है, जिसका अर्थ है कि यह TCP की तरह अपने थ्री-वे हैंडशेक के साथ पहले से कनेक्शन स्थापित नहीं करता है।
अगला, UDP गारंटी नहीं देता कि सभी डेटा सफलतापूर्वक ट्रांसफर हो गया है। UDP के साथ, डेटा किसी भी डिवाइस को भेजा जाता है जो सुन रहा होता है, लेकिन इसकी परवाह नहीं करता कि रास्ते में कुछ खो गया है। यह एक कारण है कि UDP को "फायर-एंड-फॉरगेट" प्रोटोकॉल के रूप में भी जाना जाता है।
इन अंतरों के बारे में सोचने का एक अच्छा तरीका यह है कि TCP दो लोगों के बीच बातचीत की तरह है। व्यक्ति A व्यक्ति B से बात करने के लिए कहता है। व्यक्ति B कहता है ज़रूर, ठीक है। व्यक्ति A सहमत होता है और वे दोनों बोलना शुरू करते हैं।
UDP मेगाफोन के साथ बाहर एक प्रदर्शनकारी की तरह है। जो कोई भी प्रदर्शनकारी पर ध्यान दे रहा है उसे ज्यादातर वही सुनना चाहिए जो वे कह रहे हैं। लेकिन इसकी कोई गारंटी नहीं है कि क्षेत्र में हर कोई प्रदर्शनकारी की बात सुनेगा, या वे सुन भी रहे हैं।

कौन सा तेज़ है – TCP या UDP?
आम तौर पर, UDP तेज़ प्रोटोकॉल है।
UDP बहुत सरल है, और डेटा भेजने से पहले डिवाइसेज के बीच कनेक्शन स्थापित करने की कोशिश नहीं करता, या यह सत्यापित नहीं करता कि सारा डेटा पहुंचा भी है या नहीं। यह बस किसी भी डिवाइस को डेटा भेजता है जो इसका अनुरोध करता है, और तब तक ऐसा करता रहता है जब तक दूसरा डिवाइस डिस्कनेक्ट नहीं हो जाता या भेजने के लिए कोई डेटा नहीं बचता।
बोतल से घूंट लेने के बजाय नली से पीने के बारे में सोचें। आप दोनों तरह से अपनी प्यास बुझाएंगे, लेकिन पूर्व विधि का उपयोग करके आप शायद एक गीली शर्ट के साथ समाप्त होंगे।

लेकिन तेज़ होने का मतलब यह नहीं है कि UDP कुल मिलाकर बेहतर प्रोटोकॉल है। इसका सीधा सा मतलब है कि यह कुछ स्थितियों में बेहतर है।
जैसा कि पहले उल्लेख किया गया है, TCP उन स्थितियों में आवश्यक है जहां यह महत्वपूर्ण है कि सभी डेटा पैकेट्स क्रम में भेजे जाएं, और सभी पैकेट्स पहुंचें। वेब TCP के बिना काम नहीं करेगा।
और जब TCP कनेक्शन स्थापित करने के तरीके और लापता पैकेट्स की जांच के कारण धीमा है, तब भी यह बेहद तेज़ हो सकता है। क्योंकि वे वेब पर हैं और HTTP का उपयोग करते हैं, YouTube या Netflix जैसी साइट्स आपके डिवाइसेज को डेटा भेजने के लिए TCP का उपयोग करती हैं।
TCP बफरिंग की भी अनुमति देता है, इसलिए आपका ब्राउज़र जैसे-जैसे आप देखते हैं अधिक डेटा का अनुरोध और लोड कर सकता है, जिससे स्मूथ प्लेबैक और वीडियो के अन्य भागों को आगे छोड़ने की अनुमति मिलती है।
UDP लाइव वीडियो और ऑडियो या ऑनलाइन गेम के लिए बेहतर विकल्प है जहां गति संभावित डेटा हानि से अधिक महत्वपूर्ण है।
जब आप Google Meet या Zoom पर कॉल करते हैं, तो आपका वीडियो और ऑडियो UDP पर ट्रांसमिट हो रहा होता है। यदि रास्ते में कुछ पैकेट खो जाते हैं, तो यह बस थोड़े लैग या क्लिप्ड वीडियो/ऑडियो के रूप में दिखाई देगा।
यदि आप वीडियो गेम खेलते हैं, तो आप सोच सकते हैं कि TCP जिस तरह से सुनिश्चित करता है कि सभी डेटा पैकेट्स दूसरे डिवाइस पर पहुंचें, वह इसे आदर्श विकल्प बना देगा। लेकिन वास्तव में, TCP जो सभी जांच और डेटा पुनः भेजता है, वह सिर्फ लेटेंसी जोड़ता है।
गेम डेवलपर्स ने यह सुनिश्चित करने के लिए अन्य चतुर तरीके खोजे हैं कि खिलाड़ी इनपुट और स्टेट यथासंभव सटीक हों। यदि आप ऑनलाइन गेमिंग के लिए UDP क्यों पसंद किया जाता है, इसके बारे में अधिक पढ़ने में रुचि रखते हैं, तो इस लेख को देखें।
FIN
मुझे उम्मीद है कि इस लेख ने आपको TCP और UDP के बीच कुछ बारीकियों को समझने में मदद की। और अगर कोई पूछता है कि कौन सा तेज़ है, तो उन्हें बताएं जो आपने यहां पढ़ा: "UDP तेज़ है, लेकिन..."
और अगर आपको पढ़ा हुआ पसंद आया, तो मुझे Twitter पर बताएं।