TCP विरुद्ध UDP: विश्वसनीयता विरुद्ध कार्यक्षमता वादाचे गूढ उकलणे

आज आपण TCP वर लक्ष केंद्रित करून सुरुवात करणार आहोत. लेयरिंगवरील धड्यात आधी आपण एका महत्त्वाच्या मुद्द्याचा उल्लेख केला होता. नेटवर्क लेयरवर आणि त्याखाली, हे अधिक होस्ट-टू-होस्ट कनेक्शनबद्दल असते, म्हणजेच तुमच्या संगणकाला दुसऱ्या संगणकाशी कनेक्ट होण्यासाठी तो कोठे आहे हे माहित असणे आवश्यक आहे. तथापि, नेटवर्कमधील संवाद हा अनेकदा इंटरमशीन कम्युनिकेशनऐवजी इंटरप्रोसेस कम्युनिकेशन असतो. म्हणूनच, TCP प्रोटोकॉल पोर्टची संकल्पना सादर करतो. एका पोर्टवर फक्त एकच प्रोसेस असू शकते, ज्यामुळे वेगवेगळ्या होस्टवर चालणाऱ्या ॲप्लिकेशन प्रोसेसमध्ये थेट संवाद साधता येतो.

वेगवेगळ्या होस्टवर चालणाऱ्या ॲप्लिकेशन प्रक्रियांदरम्यान थेट संवाद सेवा प्रदान करणे हे ट्रान्सपोर्ट लेयरचे कार्य आहे, म्हणूनच याला एंड-टू-एंड प्रोटोकॉल असेही म्हटले जाते. ट्रान्सपोर्ट लेयर नेटवर्कचे मुख्य तपशील लपवतो, ज्यामुळे ॲप्लिकेशन प्रक्रियेला असे दिसते की दोन ट्रान्सपोर्ट लेयर घटकांमध्ये एक तार्किक एंड-टू-एंड संवाद चॅनल आहे.

TCP म्हणजे ट्रान्समिशन कंट्रोल प्रोटोकॉल आणि तो एक कनेक्शन-ओरिएंटेड प्रोटोकॉल म्हणून ओळखला जातो. याचा अर्थ असा की, एक ॲप्लिकेशन दुसऱ्या ॲप्लिकेशनला डेटा पाठवणे सुरू करण्यापूर्वी, दोन्ही प्रक्रियांना हँडशेक करावा लागतो. हँडशेक ही एक तार्किकदृष्ट्या जोडलेली प्रक्रिया आहे, जी डेटाचे विश्वसनीय प्रसारण आणि सुव्यवस्थित ग्रहण सुनिश्चित करते. हँडशेक दरम्यान, यशस्वी डेटा प्रसारणाची खात्री करण्यासाठी, कंट्रोल पॅकेट्सच्या मालिकेची देवाणघेवाण करून आणि काही पॅरामीटर्स व नियमांवर सहमत होऊन, सोर्स आणि डेस्टिनेशन होस्ट्समध्ये कनेक्शन स्थापित केले जाते.

TCP म्हणजे काय? (मायलिंकिंगचेनेटवर्क टॅपआणिनेटवर्क पॅकेट ब्रोकरTCP किंवा UDP दोन्ही पॅकेट्सवर प्रक्रिया करू शकते)
TCP (ट्रान्समिशन कंट्रोल प्रोटोकॉल) हा एक कनेक्शन-आधारित, विश्वसनीय, बाइट-स्ट्रीम-आधारित ट्रान्सपोर्ट लेयर कम्युनिकेशन प्रोटोकॉल आहे.

कनेक्शन-ओरिएंटेडकनेक्शन-ओरिएंटेड म्हणजे TCP कम्युनिकेशन हे वन-टू-वन, म्हणजेच पॉइंट-टू-पॉइंट एंड-टू-एंड कम्युनिकेशन आहे, जे UDP च्या विपरीत आहे, ज्यामध्ये एकाच वेळी अनेक होस्टना संदेश पाठवता येतात, त्यामुळे वन-टू-मेनी कम्युनिकेशन साध्य करता येत नाही.
विश्वसनीयTCP ची विश्वसनीयता हे सुनिश्चित करते की नेटवर्क लिंकमधील बदलांची पर्वा न करता पॅकेट्स प्राप्तकर्त्यापर्यंत विश्वसनीयपणे पोहोचवली जातात, ज्यामुळे TCP चे प्रोटोकॉल पॅकेट स्वरूप UDP पेक्षा अधिक जटिल बनते.
बाइट-स्ट्रीम-आधारितTCP चे बाइट-स्ट्रीम-आधारित स्वरूप कोणत्याही आकाराच्या संदेशांचे प्रसारण करण्यास अनुमती देते आणि संदेशांच्या क्रमाची हमी देते: जरी मागील संदेश पूर्णपणे प्राप्त झाला नसेल आणि जरी त्यानंतरचे बाइट्स प्राप्त झाले असले तरीही, TCP त्यांना प्रक्रियेसाठी ॲप्लिकेशन लेयरकडे पाठवत नाही आणि डुप्लिकेट पॅकेट्स आपोआप टाकून देते.
एकदा होस्ट A आणि होस्ट B यांच्यात कनेक्शन स्थापित झाले की, ॲप्लिकेशनला डेटा पाठवण्यासाठी आणि प्राप्त करण्यासाठी फक्त व्हर्च्युअल कम्युनिकेशन लाइन वापरण्याची आवश्यकता असते, ज्यामुळे डेटा ट्रान्समिशन सुनिश्चित होते. कनेक्शन स्थापित करणे, डिस्कनेक्शन करणे आणि ते कायम ठेवणे यांसारख्या कार्यांवर नियंत्रण ठेवण्याची जबाबदारी TCP प्रोटोकॉलची असते. हे लक्षात घेतले पाहिजे की, येथे आपण व्हर्च्युअल लाइन म्हणतो त्याचा अर्थ केवळ कनेक्शन स्थापित करणे असा आहे, तर TCP प्रोटोकॉल कनेक्शनचा अर्थ केवळ एवढाच आहे की दोन्ही बाजू डेटा ट्रान्समिशन सुरू करू शकतात आणि डेटाची विश्वसनीयता सुनिश्चित करू शकतात. राउटिंग आणि ट्रान्सपोर्ट नोड्स नेटवर्क डिव्हाइसेसद्वारे हाताळले जातात; TCP प्रोटोकॉल स्वतः या तपशिलांशी संबंधित नसतो.

TCP कनेक्शन ही एक फुल-डुप्लेक्स सेवा आहे, याचा अर्थ असा की TCP कनेक्शनमध्ये होस्ट A आणि होस्ट B दोन्ही दिशांनी डेटा प्रसारित करू शकतात. म्हणजेच, होस्ट A आणि होस्ट B यांच्यामध्ये द्विदिश प्रवाहात डेटाचे हस्तांतरण केले जाऊ शकते.

TCP कनेक्शनच्या सेंड बफरमध्ये डेटा तात्पुरता साठवतो. हा सेंड बफर थ्री-वे हँडशेक दरम्यान सेट केलेल्या कॅशेपैकी एक असतो. त्यानंतर, TCP योग्य वेळी सेंड कॅशेमधील डेटा डेस्टिनेशन होस्टच्या रिसीव्ह कॅशेमध्ये पाठवतो. प्रत्यक्षात, प्रत्येक पीअरकडे एक सेंड कॅशे आणि एक रिसीव्ह कॅशे असतो, जसे येथे दाखवले आहे:

टीसीपी-यूडीपी

सेंड बफर हा प्रेषकाच्या बाजूने TCP अंमलबजावणीद्वारे राखलेला मेमरीचा एक भाग आहे, जो पाठवायचा डेटा तात्पुरता साठवण्यासाठी वापरला जातो. जेव्हा कनेक्शन स्थापित करण्यासाठी थ्री-वे हँडशेक केला जातो, तेव्हा सेंड कॅशे तयार केला जातो आणि डेटा साठवण्यासाठी वापरला जातो. नेटवर्कवरील गर्दी आणि प्राप्तकर्त्याकडून मिळालेल्या प्रतिसादानुसार सेंड बफर गतिमानपणे समायोजित केला जातो.

रिसीव्ह बफर म्हणजे रिसीव्हिंग साइडवरील TCP इम्प्लिमेंटेशनद्वारे राखलेला मेमरीचा एक भाग, जो प्राप्त झालेला डेटा तात्पुरता साठवण्यासाठी वापरला जातो. TCP प्राप्त झालेला डेटा रिसीव्ह कॅशमध्ये साठवतो आणि वरच्या ॲप्लिकेशनने तो वाचण्याची वाट पाहतो.

लक्षात घ्या की सेंड कॅशे आणि रिसीव्ह कॅशेचा आकार मर्यादित असतो, जेव्हा कॅशे पूर्ण भरतो, तेव्हा विश्वसनीय डेटा ट्रान्समिशन आणि नेटवर्क स्थिरता सुनिश्चित करण्यासाठी TCP काही उपाययोजना, जसे की कंजेशन कंट्रोल, फ्लो कंट्रोल इत्यादींचा अवलंब करू शकते.

संगणक नेटवर्कमध्ये, होस्ट्समधील डेटाचे प्रसारण सेगमेंट्सच्या माध्यमातून केले जाते. तर, पॅकेट सेगमेंट म्हणजे काय?

TCP येणाऱ्या स्ट्रीमला तुकड्यांमध्ये विभागून आणि प्रत्येक तुकड्याला TCP हेडर जोडून एक TCP सेगमेंट किंवा पॅकेट सेगमेंट तयार करते. प्रत्येक सेगमेंट केवळ मर्यादित कालावधीसाठीच प्रसारित केला जाऊ शकतो आणि तो कमाल सेगमेंट आकार (MSS) ओलांडू शकत नाही. खाली जाताना, एक पॅकेट सेगमेंट लिंक लेयरमधून जातो. लिंक लेयरमध्ये एक कमाल प्रसारण एकक (MTU) असते, जो डेटा लिंक लेयरमधून जाऊ शकणाऱ्या पॅकेटचा कमाल आकार असतो. कमाल प्रसारण एकक सहसा कम्युनिकेशन इंटरफेसशी संबंधित असते.

तर MSS आणि MTU मध्ये काय फरक आहे?

संगणक नेटवर्कमध्ये, पदानुक्रमित रचना (hierarchical architecture) खूप महत्त्वाची असते, कारण ती विविध स्तरांमधील फरक विचारात घेते. प्रत्येक स्तराचे (layer) एक वेगळे नाव असते; ट्रान्सपोर्ट लेयरमध्ये डेटाला सेगमेंट (segment) म्हटले जाते आणि नेटवर्क लेयरमध्ये डेटाला आयपी पॅकेट (IP packet) म्हटले जाते. त्यामुळे, मॅक्सिमम ट्रान्समिशन युनिट (MTU) हे नेटवर्क लेयरद्वारे प्रसारित केले जाऊ शकणारे कमाल आयपी पॅकेट आकार (Maximum IP packet Size) मानले जाऊ शकते, तर मॅक्सिमम सेगमेंट साईज (MSS) ही एक ट्रान्सपोर्ट लेयर संकल्पना आहे, जी एका वेळी टीसीपी पॅकेटद्वारे (TCP packet) प्रसारित केल्या जाऊ शकणाऱ्या डेटाच्या कमाल प्रमाणाला सूचित करते.

लक्षात घ्या की जेव्हा मॅक्सिमम सेगमेंट साईज (MSS) मॅक्सिमम ट्रान्समिशन युनिट (MTU) पेक्षा मोठा असतो, तेव्हा आयपी फ्रॅगमेंटेशन नेटवर्क लेयरवर केले जाईल आणि टीसीपी मोठ्या डेटाला एमटीयू आकारासाठी योग्य अशा सेगमेंटमध्ये विभाजित करणार नाही. नेटवर्क लेयरवर आयपी लेयरसाठी समर्पित एक विभाग असेल.

TCP पॅकेट सेगमेंट संरचना
चला, TCP हेडरचे स्वरूप आणि त्यातील सामग्री जाणून घेऊया.

टीसीपी सेगमेंट

अनुक्रमांकTCP कनेक्शन स्थापित झाल्यावर, संगणकाद्वारे त्याचे प्रारंभिक मूल्य म्हणून एक यादृच्छिक संख्या तयार केली जाते आणि हा अनुक्रम क्रमांक SYN पॅकेटद्वारे प्राप्तकर्त्याला पाठवला जातो. डेटा प्रेषणादरम्यान, पाठवणारा पाठवलेल्या डेटाच्या प्रमाणानुसार अनुक्रम क्रमांक वाढवतो. प्राप्तकर्ता मिळालेल्या अनुक्रम क्रमांकानुसार डेटाचा क्रम ठरवतो. जर डेटा अव्यवस्थित आढळला, तर प्राप्तकर्ता डेटाचा क्रम पुन्हा व्यवस्थित लावण्यासाठी त्याची पुनर्रचना करतो.

पोचपावती क्रमांकहा एक अनुक्रम क्रमांक आहे जो TCP मध्ये डेटा मिळाल्याची पोच देण्यासाठी वापरला जातो. हा त्या पुढील डेटाचा अनुक्रम क्रमांक दर्शवतो, जो पाठवणारा प्राप्त होण्याची अपेक्षा करतो. TCP कनेक्शनमध्ये, प्राप्तकर्ता प्राप्त झालेल्या डेटा पॅकेट सेगमेंटच्या अनुक्रम क्रमांकाच्या आधारावर कोणता डेटा यशस्वीरित्या प्राप्त झाला आहे हे ठरवतो. जेव्हा प्राप्तकर्ता डेटा यशस्वीरित्या प्राप्त करतो, तेव्हा तो पाठवणाऱ्याला एक ACK पॅकेट पाठवतो, ज्यामध्ये पोचपावती क्रमांक असतो. ACK पॅकेट मिळाल्यानंतर, पाठवणारा पोचपावती क्रमांकापूर्वी डेटा यशस्वीरित्या प्राप्त झाला आहे याची पुष्टी करू शकतो.

TCP सेगमेंटच्या कंट्रोल बिट्समध्ये खालील गोष्टींचा समावेश असतो:

ACK बिटजेव्हा हा बिट 1 असतो, तेव्हा याचा अर्थ असा होतो की स्वीकृती उत्तर क्षेत्र (acknowledgement reply field) वैध आहे. TCP नुसार, कनेक्शन सुरुवातीला स्थापित करताना SYN पॅकेट्स वगळता हा बिट 1 वर सेट करणे आवश्यक आहे.
आरएसटी बिटजेव्हा हा बिट 1 असतो, तेव्हा याचा अर्थ असा होतो की TCP कनेक्शनमध्ये काहीतरी अपवाद आहे आणि कनेक्शन सक्तीने खंडित करणे आवश्यक आहे.
SYN बिटजेव्हा हा बिट 1 वर सेट केला जातो, तेव्हा याचा अर्थ असा होतो की कनेक्शन स्थापित केले जाणार आहे आणि अनुक्रमांक फील्डमध्ये अनुक्रमांकाचे प्रारंभिक मूल्य सेट केले आहे.
फिन बिटजेव्हा हा बिट 1 असतो, तेव्हा याचा अर्थ असा होतो की भविष्यात आणखी डेटा पाठवला जाणार नाही आणि कनेक्शन अपेक्षित आहे.
TCP ची विविध कार्ये आणि वैशिष्ट्ये TCP पॅकेट सेगमेंटच्या संरचनेत अंतर्भूत असतात.

UDP म्हणजे काय? (मायलिंकिंगचे)नेटवर्क टॅपआणिनेटवर्क पॅकेट ब्रोकरTCP किंवा UDP दोन्ही पॅकेट्सवर प्रक्रिया करू शकते)
यूजर डेटाग्राम प्रोटोकॉल (UDP) हा एक कनेक्शनविरहित संवाद प्रोटोकॉल आहे. TCP च्या तुलनेत, UDP मध्ये गुंतागुंतीच्या नियंत्रण यंत्रणा नसतात. UDP प्रोटोकॉलमुळे ॲप्लिकेशन्सना कनेक्शन स्थापित न करता थेट एनकॅप्स्युलेटेड IP पॅकेट्स पाठवता येतात. जेव्हा डेव्हलपर TCP ऐवजी UDP वापरण्याचे निवडतो, तेव्हा ॲप्लिकेशन थेट IP शी संवाद साधते.

UDP प्रोटोकॉलचे पूर्ण नाव यूजर डेटाग्राम प्रोटोकॉल आहे आणि त्याचे हेडर फक्त आठ बाइट्सचे (64 बिट्स) असते, जे खूप संक्षिप्त आहे. UDP हेडरचे स्वरूप खालीलप्रमाणे आहे:

यूडीपी सेगमेंट

गंतव्य आणि स्रोत बंदरेUDP ने कोणत्या प्रक्रियेला पॅकेट्स पाठवावीत हे सूचित करणे, हा त्यांचा मुख्य उद्देश आहे.
पॅकेट आकारपॅकेट साईज फील्डमध्ये UDP हेडरचा आकार आणि डेटाचा आकार समाविष्ट असतो.
चेकसमUDP हेडर आणि डेटाची विश्वसनीय डिलिव्हरी सुनिश्चित करण्यासाठी डिझाइन केलेले. डेटाची अखंडता सुनिश्चित करण्यासाठी, UDP पॅकेटच्या ट्रान्समिशन दरम्यान काही त्रुटी किंवा डेटा दूषित झाला आहे का हे शोधणे ही चेकसमची भूमिका आहे.

मायलिंकिंगमधील TCP आणि UDP मधील फरकनेटवर्क टॅपआणिनेटवर्क पॅकेट ब्रोकरTCP किंवा UDP दोन्ही पॅकेट्सवर प्रक्रिया करू शकते
TCP आणि UDP खालील बाबींमध्ये भिन्न आहेत:

TCP विरुद्ध UDP

कनेक्शनTCP हा एक कनेक्शन-ओरिएंटेड ट्रान्सपोर्ट प्रोटोकॉल आहे, ज्यामध्ये डेटा हस्तांतरित करण्यापूर्वी कनेक्शन स्थापित करणे आवश्यक असते. याउलट, UDP ला कनेक्शनची आवश्यकता नसते आणि तो त्वरित डेटा हस्तांतरित करू शकतो.

सेवा ऑब्जेक्टTCP ही एक-ते-एक द्वि-बिंदू सेवा आहे, म्हणजेच, एका कनेक्शनमध्ये एकमेकांशी संवाद साधण्यासाठी फक्त दोनच टोके असतात. तथापि, UDP एक-ते-एक, एक-ते-अनेक आणि अनेक-ते-अनेक परस्परसंवादी संवादास समर्थन देते, ज्यामुळे एकाच वेळी अनेक होस्टशी संवाद साधता येतो.

विश्वसनीयताTCP डेटा विश्वसनीयपणे पोहोचवण्याची सेवा प्रदान करते, ज्यामुळे डेटा त्रुटी-मुक्त, हानी-मुक्त, पुनरावृत्ती-रहित असतो आणि मागणीनुसार पोहोचतो याची खात्री होते. याउलट, UDP सर्वोत्तम प्रयत्न करते, परंतु विश्वसनीय वितरणाची हमी देत ​​नाही. प्रसारणादरम्यान UDP मध्ये डेटा गमावण्याची किंवा इतर समस्या उद्भवू शकतात.

गर्दी नियंत्रण, प्रवाह नियंत्रणTCP मध्ये गर्दी नियंत्रण आणि प्रवाह नियंत्रण यंत्रणा आहेत, ज्या नेटवर्कच्या परिस्थितीनुसार डेटा प्रेषणाचा दर समायोजित करून डेटा प्रेषणाची सुरक्षितता आणि स्थिरता सुनिश्चित करतात. UDP मध्ये गर्दी नियंत्रण आणि प्रवाह नियंत्रण यंत्रणा नसतात, नेटवर्कमध्ये खूप गर्दी असली तरीही, ते UDP पाठवण्याच्या दरात बदल करत नाही.

हेडर ओव्हरहेडTCP मध्ये हेडरची लांबी जास्त असते, साधारणपणे २० बाइट्स, जी ऑप्शन फील्ड्स वापरल्यावर वाढते. याउलट, UDP मध्ये फक्त ८ बाइट्सचे निश्चित हेडर असते, त्यामुळे UDP मध्ये हेडर ओव्हरहेड कमी असतो.

TCP विरुद्ध UDP

TCP आणि UDP अनुप्रयोग परिस्थिती:
TCP आणि UDP हे दोन वेगवेगळे ट्रान्सपोर्ट लेयर प्रोटोकॉल आहेत आणि त्यांच्या वापराच्या पद्धतींमध्ये काही फरक आहेत.

TCP हा एक कनेक्शन-ओरिएंटेड प्रोटोकॉल असल्यामुळे, तो प्रामुख्याने अशा परिस्थितीत वापरला जातो जिथे विश्वसनीय डेटा वितरणाची आवश्यकता असते. त्याच्या काही सामान्य उपयोगांमध्ये खालील गोष्टींचा समावेश आहे:

FTP फाईल हस्तांतरणTCP हे सुनिश्चित करू शकते की हस्तांतरणादरम्यान फायली गहाळ होणार नाहीत किंवा खराब होणार नाहीत.
HTTP/HTTPSTCP वेब सामग्रीची अखंडता आणि अचूकता सुनिश्चित करते.
UDP हा कनेक्शनलेस प्रोटोकॉल असल्यामुळे, तो विश्वसनीयतेची हमी देत ​​नाही, परंतु त्यात कार्यक्षमता आणि रिअल-टाइम ही वैशिष्ट्ये आहेत. UDP खालील परिस्थितींसाठी योग्य आहे:

कमी पॅकेट ट्रॅफिक, जसे की DNS (डोमेन नेम सिस्टम)डीएनएस क्वेरी सहसा लहान पॅकेट्स असतात आणि यूडीपी त्यांना अधिक वेगाने पूर्ण करू शकते.
व्हिडिओ आणि ऑडिओ सारखे मल्टीमीडिया संवादउच्च रिअल-टाइम आवश्यकता असलेल्या मल्टीमीडिया ट्रान्समिशनसाठी, UDP कमी लेटन्सी देऊ शकते, ज्यामुळे डेटा वेळेवर प्रसारित होईल याची खात्री होते.
प्रसारण संवादUDP एक-ते-अनेक आणि अनेक-ते-अनेक संवादास समर्थन देते आणि ब्रॉडकास्ट संदेशांच्या प्रेषणासाठी वापरले जाऊ शकते.

सारांश
आज आपण TCP बद्दल शिकलो. TCP हा एक कनेक्शन-ओरिएंटेड, विश्वसनीय, बाइट-स्ट्रीम आधारित ट्रान्सपोर्ट लेयर कम्युनिकेशन प्रोटोकॉल आहे. तो कनेक्शन स्थापित करून, हँडशेक आणि पोचपावतीद्वारे डेटाचे विश्वसनीय प्रसारण आणि सुव्यवस्थित स्वीकार सुनिश्चित करतो. TCP प्रोटोकॉल प्रोसेसमधील संवाद साधण्यासाठी पोर्ट्सचा वापर करतो आणि वेगवेगळ्या होस्टवर चालणाऱ्या ॲप्लिकेशन प्रोसेससाठी थेट संवाद सेवा प्रदान करतो. TCP कनेक्शन्स फुल-डुप्लेक्स असतात, ज्यामुळे एकाच वेळी दोन्ही दिशांना डेटा हस्तांतरण शक्य होते. याउलट, UDP हा एक कनेक्शन-लेस ओरिएंटेड कम्युनिकेशन प्रोटोकॉल आहे, जो विश्वसनीयतेची हमी देत ​​नाही आणि उच्च रिअल-टाइम आवश्यकता असलेल्या काही विशिष्ट परिस्थितींसाठी योग्य आहे. TCP आणि UDP हे कनेक्शन मोड, सर्व्हिस ऑब्जेक्ट, विश्वसनीयता, कंजेशन कंट्रोल, फ्लो कंट्रोल आणि इतर बाबींमध्ये भिन्न आहेत आणि त्यांच्या वापराची परिस्थिती देखील वेगळी आहे.


पोस्ट करण्याची वेळ: ०३-डिसेंबर-२०२४