ट्रांसमिशन कंट्रोल प्रोटोकॉल और यूजर डेटाग्राम प्रोटोकॉल दो ट्रांसपोर्ट लेयर प्रोटोकॉल हैं जिनका व्यापक रूप से इंटरनेट प्रोटोकॉल के साथ उपयोग किया जाता है। एक प्रोटोकॉल प्रक्रियाओं और नियमों का एक सेट है जिसका पालन दो कंप्यूटर एक-दूसरे को समझने और डेटा का आदान-प्रदान करने के लिए करते हैं। हालांकि TCP दोनों में से सबसे अधिक उपयोग किया जाने वाला प्रोटोकॉल है, UDP कुछ स्थितियों में अधिक उपयोगी है।
कुल मिलाकर निष्कर्ष
| TCP | UDP |
|---|---|
| गारंटी देता है कि डेटा वैसा ही आए जैसा भेजा गया था। | कोई गारंटी नहीं कि डेटा आएगा। |
| डेटा स्ट्रीम को एरर-चेक करता है। | कोई एरर-चेकिंग प्रदान नहीं की गई। |
| 20-बाइट हेडर 40 बाइट्स तक वैकल्पिक फ़ंक्शन डेटा की अनुमति देता है। | 8-बाइट हेडर केवल अनिवार्य फ़ंक्शन डेटा की अनुमति देता है। |
| UDP से धीमा। | TCP से तेज़। |
| उन ऐप्स के लिए सर्वोत्तम जिन्हें विश्वसनीयता की आवश्यकता होती है। | उन ऐप्स के लिए सर्वोत्तम जिन्हें स्पीड की आवश्यकता होती है। |
दोनों प्रोटोकॉल पैकेट में इंटरनेट पर डेटा भेजते हैं। दोनों में से, TCP कनेक्शन-उन्मुख है। कनेक्शन बनने के बाद, डेटा द्विदिश रूप से यात्रा करता है। UDP एक सरल प्रोटोकॉल है जो कनेक्शनलेस है।
TCP UDP से अधिक मजबूत है। यह एरर-करेक्शन फ़ंक्शन और उच्च विश्वसनीयता प्रदान करता है। UDP TCP से तेज़ है, मुख्यतः क्योंकि यह एरर-करेक्शन प्रदान नहीं करता। इसके अलावा, TCP फ्लो कंट्रोल को संभालता है, जबकि UDP के पास फ्लो कंट्रोल का कोई विकल्प नहीं है।
विश्वसनीयता के लिए सर्वोत्तम: TCP
| TCP | UDP |
|---|---|
| डेटा की गारंटीड डिलीवरी। | डिलीवरी की कोई गारंटी नहीं। |
| डेटा पैकेट को ट्रैक करता है। | पैकेट खो सकते हैं। |
| पैकेट की त्रुटियों की जांच करता है। | कोई फ्लो कंट्रोल नहीं। |
| फ्लो कंट्रोल। | हेडर 8 बाइट्स तक सीमित। |
| 20 बाइट्स के हेडर और अधिक के विकल्प के साथ। |
TCP रिसीवर को डेटा डिलीवरी की गारंटी देता है। यदि कोई डेटा खो जाता है, तो TCP खोए हुए डेटा को पुनर्प्राप्त करने और उसे पुनः भेजने के लिए कदम उठाता है। ऐसा करने के लिए, TCP डेटा पैकेट को ट्रैक करता है, और यह पैकेट की त्रुटियों की जांच करता है।
UDP डेटा की डिलीवरी की गारंटी नहीं देता। इसके अलावा, UDP पैकेट ट्रांजिट में खो सकते हैं या भ्रष्ट हो सकते हैं।
TCP और UDP दोनों नेटवर्क कनेक्शन पर ट्रांसफर के लिए संदेश डेटा को पैकेज करने के हिस्से के रूप में हेडर का उपयोग करते हैं। क्योंकि TCP दोनों प्रोटोकॉल में अधिक मजबूत है, इसका हेडर 20 बाइट्स पर बड़ा है और अतिरिक्त डेटा के विकल्प के साथ, जबकि UDP हेडर आकार में 8 बाइट्स तक सीमित हैं।
स्पीड के लिए सर्वोत्तम: UDP
| TCP | UDP |
|---|---|
| धीमा क्योंकि यह कई फ़ंक्शन करता है। | तेज़ क्योंकि यह सीमित फ़ंक्शन प्रदान करता है। |
हालांकि TCP विश्वसनीय है, यह UDP से धीमा है, मुख्यतः क्योंकि यह अधिक फ़ंक्शन करता है। एंड यूजर्स जिन्हें सबसे तेज़ संभव स्पीड की आवश्यकता होती है, जैसे गेमर्स और वीडियो के साथ काम करने वाले लोग, UDP से लाभान्वित होते हैं।
उपयोग के लिए सर्वोत्तम: उपयोग पर निर्भर करता है
| TCP | UDP |
|---|---|
| वेब, फाइल ट्रांसफर, ईमेल, और सिक्योर शेल के लिए सर्वोत्तम। | VPN, स्ट्रीमिंग वीडियो, VoIP, लाइव ब्रॉडकास्ट, और ऑनलाइन गेमिंग के लिए सर्वोत्तम। |
क्योंकि TCP विश्वसनीय है, यह उन स्थितियों में सर्वोत्तम है जिनमें उच्च विश्वसनीयता की आवश्यकता होती है लेकिन स्पीड की मांग नहीं होती, जैसे वेब, ईमेल, और FTP।
UDP की स्पीड इसे ऑनलाइन गेमिंग, लाइव ब्रॉडकास्ट, VPN टनलिंग, और वीडियो स्ट्रीमिंग के लिए सबसे उपयुक्त बनाती है।
TCP हेडर फॉर्मेट
प्रत्येक TCP हेडर में 10 आवश्यक फ़ील्ड होते हैं जो कुल 20 बाइट्स (160 बिट्स) आकार के होते हैं। यह वैकल्पिक रूप से 40 बाइट्स तक के अतिरिक्त डेटा फ़ील्ड को शामिल कर सकता है।
8 बिट्स 1 बाइट के बराबर होते हैं।
TCP हेडर निम्नलिखित क्रम में दिखाई देते हैं, स्रोत और गंतव्य संचार एंडपॉइंट से शुरू होकर:
- स्रोत TCP पोर्ट नंबर (2 बाइट्स या 16 बिट्स): स्रोत TCP पोर्ट नंबर भेजने वाले डिवाइस को दर्शाता है।
- गंतव्य TCP पोर्ट नंबर (2 बाइट्स या 16 बिट्स): गंतव्य TCP पोर्ट नंबर प्राप्त करने वाले डिवाइस के लिए संचार एंडपॉइंट है।
- सीक्वेंस नंबर (4 बाइट्स या 32 बिट्स): संदेश प्रेषक संदेशों के समूह के क्रम को चिह्नित करने के लिए सीक्वेंस नंबर का उपयोग करते हैं।
- एकनॉलेजमेंट नंबर (4 बाइट्स या 32 बिट्स): प्रेषक और प्राप्तकर्ता दोनों हाल ही में प्राप्त या भेजे जाने की उम्मीद वाले संदेशों के सीक्वेंस नंबर को संप्रेषित करने के लिए एकनॉलेजमेंट नंबर फ़ील्ड का उपयोग करते हैं।
- TCP डेटा ऑफसेट (4 बिट्स): डेटा ऑफसेट फ़ील्ड TCP हेडर के कुल आकार को चार बाइट्स के गुणकों में संग्रहीत करता है। वैकल्पिक TCP फ़ील्ड का उपयोग नहीं करने वाले हेडर का डेटा ऑफसेट 5 होता है (20 बाइट्स दर्शाता है), जबकि अधिकतम आकार के वैकल्पिक फ़ील्ड का उपयोग करने वाले हेडर का डेटा ऑफसेट 15 होता है (60 बाइट्स दर्शाता है)।
- रिजर्व्ड डेटा (3 बिट्स): TCP हेडर में रिजर्व्ड डेटा का मान हमेशा शून्य होता है। यह फ़ील्ड कुल हेडर आकार को चार बाइट्स के गुणक के रूप में संरेखित करता है, जो कंप्यूटर डेटा प्रोसेसिंग की दक्षता के लिए महत्वपूर्ण है।
- कंट्रोल फ्लैग्स (9 बिट्स तक): TCP छह मानक और तीन विस्तारित कंट्रोल फ्लैग्स के एक सेट का उपयोग करता है—प्रत्येक एक इंडिविजुअल बिट जो ऑन या ऑफ को दर्शाता है—विशिष्ट स्थितियों में डेटा फ्लो को प्रबंधित करने के लिए।
- विंडो साइज (2 बाइट्स या 16 बिट्स): TCP प्रेषक एक संख्या का उपयोग करते हैं, जिसे विंडो साइज कहा जाता है, यह नियंत्रित करने के लिए कि रिटर्न में एकनॉलेजमेंट की आवश्यकता से पहले वे रिसीवर को कितना डेटा भेजते हैं। यदि विंडो साइज बहुत छोटा है, तो नेटवर्क डेटा ट्रांसफर अनावश्यक रूप से धीमा है। यदि विंडो साइज बहुत बड़ा है, तो नेटवर्क लिंक संतृप्त हो सकता है, या रिसीवर आने वाले डेटा को पर्याप्त रूप से जल्दी प्रोसेस नहीं कर पा सकता है, जिसके परिणामस्वरूप धीमा प्रदर्शन होता है। प्रोटोकॉल में निर्मित विंडोइंग एल्गोरिदम डायनामिक रूप से आकार मानों की गणना करते हैं और प्रेषकों और प्राप्तकर्ताओं के बीच परिवर्तनों को समन्वयित करने के लिए TCP हेडर के इस फ़ील्ड का उपयोग करते हैं।
- TCP चेकसम (2 बाइट्स या 16 बिट्स): TCP हेडर के अंदर चेकसम मान प्रोटोकॉल प्रेषक द्वारा एक गणितीय तकनीक के रूप में उत्पन्न किया जाता है ताकि रिसीवर को भ्रष्ट या छेड़छाड़ किए गए संदेशों का पता लगाने में मदद मिल सके।
- अर्जेंट पॉइंटर (2 बाइट्स या 16 बिट्स): अर्जेंट पॉइंटर फ़ील्ड अक्सर शून्य पर सेट होता है और नजरअंदाज किया जाता है, लेकिन कंट्रोल फ्लैग्स में से एक के साथ संयोजन में, इसका उपयोग डेटा ऑफसेट के रूप में किया जा सकता है ताकि संदेश के एक सबसेट को प्राथमिकता प्रोसेसिंग की आवश्यकता के रूप में चिह्नित किया जा सके।
- TCP वैकल्पिक डेटा (0 से 40 बाइट्स): वैकल्पिक TCP डेटा के उपयोग में विशेष एकनॉलेजमेंट और विंडो स्केलिंग एल्गोरिदम के लिए समर्थन शामिल है।
UDP हेडर फॉर्मेट
क्योंकि UDP TCP की तुलना में क्षमता में सीमित है, इसके हेडर छोटे हैं। एक UDP हेडर में 8 बाइट्स होते हैं, जो निम्नलिखित चार आवश्यक फ़ील्ड में विभाजित होते हैं:
- स्रोत UDP पोर्ट नंबर (2 बाइट्स): स्रोत UDP पोर्ट नंबर भेजने वाले डिवाइस को दर्शाता है।
- गंतव्य UDP पोर्ट नंबर (2 बाइट्स): गंतव्य UDP पोर्ट नंबर प्राप्त करने वाले डिवाइस के लिए संचार एंडपॉइंट है।
- डेटा की लंबाई (2 बाइट्स): UDP में लंबाई फ़ील्ड प्रत्येक डेटाग्राम के कुल आकार को दर्शाता है, जिसमें हेडर और डेटा दोनों शामिल हैं। यह फ़ील्ड न्यूनतम 8 बाइट्स—आवश्यक हेडर आकार—से 65,000 बाइट्स से अधिक आकार तक मान में होता है।
- UDP चेकसम (2 बाइट्स): TCP के समान, UDP चेकसम रिसीवर को संदेश के किसी भी भ्रष्ट बिट के लिए इनकमिंग डेटा को क्रॉस-चेक करने की अनुमति देता है।
अंतिम निर्णय
इसका एक कारण है कि TCP सबसे अधिक उपयोग किया जाने वाला प्रोटोकॉल है। यह मजबूत और विश्वसनीय है, और यह गारंटी देता है कि डेटा ठीक वैसा ही प्राप्त होता है जैसा भेजा गया था। इसका एरर-चेक्ड स्ट्रीम इसे थोड़ा धीमा कर सकता है, लेकिन ज्यादातर मामलों में, देरी डील-ब्रेकर नहीं है।
वह समय जब UDP TCP से अधिक चमकता है, वह है जब स्पीड गंभीर रूप से महत्वपूर्ण होती है जैसे वीडियो स्ट्रीमिंग, VPN, या ऑनलाइन गेमिंग में।