TLDR;
- टीसीपी - धारा-उन्मुख, एक कनेक्शन की आवश्यकता है, विश्वसनीय, धीमी
- यूडीपी - संदेश-उन्मुख, कनेक्शन रहित, अविश्वसनीय, तेज
शुरू करने से पहले, याद रखें कि किसी चीज के सभी नुकसान उसके फायदों की निरंतरता है । नौकरी के लिए केवल एक सही उपकरण है, कोई रामबाण नहीं। दशकों के लिए टीसीपी / यूडीपी सह-अस्तित्व, और एक कारण के लिए।
टीसीपी
यह बेहद विश्वसनीय होने के लिए डिज़ाइन किया गया था और यह अपना काम बहुत अच्छी तरह से करता है। यह इतना जटिल है क्योंकि यह एक कठिन कार्य को पूरा करता है: अविश्वसनीय आईपी प्रोटोकॉल पर एक विश्वसनीय परिवहन साबित करना।
चूंकि सभी टीसीपी के जटिल तर्क नेटवर्क स्टैक में एनकैप्सुलेटेड हैं, इसलिए आप एप्लिकेशन लेयर में बहुत अधिक श्रमसाध्य, त्रुटि-रहित निम्न-स्तरीय सामान करने से मुक्त हैं।
जब आप टीसीपी पर डेटा भेजते हैं, तो आप प्रेषक पर सॉकेट को बाइट्स की एक धारा लिखते हैं जहां यह पैकेट में टूट जाता है, स्टैक को पारित किया और तार के ऊपर भेजा गया। रिसीवर की ओर से पैकेट को बाइट्स की एक निरंतर धारा में फिर से इकट्ठा किया जाता है।
इस अच्छे अमूर्त को बनाए रखने की जटिलता और प्रदर्शन के मामले में लागत है। यदि बाइट स्ट्रीम से 1 पैकेट खो जाता है, तो रिसीवर बाद के पैकेट के प्रसंस्करण में देरी करेगा, यहां तक कि वे पहले ही आ चुके हैं।
इसके अलावा, विश्वसनीय होने के लिए, टीसीपी इसे लागू करता है:
- टीसीपी को एक स्थापित कनेक्शन की आवश्यकता होती है, जिसके लिए 3 राउंड-ट्रिप ("कुख्यात" 3-तरफ़ा हैंडशेक) की आवश्यकता होती है।
- टीसीपी में "धीमी शुरुआत" नामक एक सुविधा होती है जब यह एक रिसीवर को डेटा के साथ बनाए रखने के लिए कनेक्शन स्थापित करने के बाद धीरे-धीरे संचरण दर को रैंप करता है।
- हर भेजे गए पैकेट को स्वीकार करना होगा अन्यथा एक प्रेषक अधिक डेटा भेजना बंद कर देगा
- चलता रहा और चलता ही रहा...
यह सब धीमी अविश्वसनीय वायरलेस नेटवर्क में समाप्त हो गया है जबकि टीसीपी को वायर्ड नेटवर्क के लिए डिज़ाइन किया गया था जहां देरी का अनुमान लगाया जा सकता है और पैकेट का नुकसान इतना सामान्य नहीं है। इसके अलावा, पहले से ही उल्लेख किए गए कई लोगों की तरह, कुछ चीजों के लिए टीसीपी सिर्फ (डीएचसीपी) पर काम नहीं करता है। हालांकि, जहां प्रासंगिक है, टीसीपी अभी भी अपना काम असाधारण रूप से अच्छी तरह से करता है।
एक मेल सादृश्य टीसीपी सत्र का उपयोग करना अपने सचिव को एक कहानी बताने के समान है जो इसे मेल में तोड़ता है और एक प्रकाशक को एक भद्दा मेल सेवा भेजता है। दूसरी तरफ एक और सचिव पाठ के एक टुकड़े में मेल खाता है। कुछ मेल खो जाते हैं, कुछ दूषित हो जाते हैं, इसलिए विश्वसनीय डिलीवरी के लिए एक बहुत ही जटिल प्रक्रिया की आवश्यकता होती है और आपकी 10-पृष्ठ की कहानी को आपके प्रकाशक तक पहुंचने में लंबा समय लग सकता है।
यूडीपी
दूसरी ओर, यूडीपी संदेश-उन्मुख है, इसलिए एक रिसीवर सॉकेट को एक संदेश (पैकेट) लिखता है और फिर इसे किसी रिसीवर को प्रेषित किया जाता है, जैसे बिना किसी विभाजन / असेंबलिंग के।
टीसीपी की तुलना में, इसका विनिर्देश बहुत सरल है। अनिवार्य रूप से, यह सब आपके लिए करता है पैकेट में एक चेकसम जोड़ रहा है ताकि एक रिसीवर अपने भ्रष्टाचार का पता लगा सके। बाकी सब कुछ आपके द्वारा लागू किया जाना चाहिए, एक सॉफ्टवेयर डेवलपर। अब स्वैच्छिक टीसीपी युक्ति पढ़ें और इसके कुछ हिस्सों को फिर से लागू करने की सोचें।
कुछ लोग इस तरह से गए और बहुत ही अच्छे परिणाम मिले, इस बात के लिए कि HTTP / 3 QUIC - UDP पर आधारित एक प्रोटोकॉल का उपयोग करता है। हालांकि, यह एक अपवाद के अधिक है। यूडीपी के सामान्य अनुप्रयोग ऑडियो / वीडियो स्ट्रीमिंग और कॉन्फ्रेंसिंग एप्लिकेशन जैसे स्काइप, ज़ूम या Google हैंगआउट हैं जहां टीसीपी द्वारा शुरू की गई देरी की तुलना में पैकेट खोना इतना महत्वपूर्ण नहीं है।