नेटवर्क सॉकेट: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Software-based endpoint of network communications}} {{More citations needed|date=November 2017}} एक नेटवर्क सॉकेट एक ...")
 
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Short description|Software-based endpoint of network communications}}
{{Short description|Software-based endpoint of network communications}}'''नेटवर्क सॉकेट''' कंप्यूटर नेटवर्क के [[नोड (नेटवर्किंग)]] के अंदर एक सॉफ्टवेयर संरचना है जो पूरे नेटवर्क में डेटा प्रेषित करने और प्राप्त करने के लिए एक समापन बिंदु के रूप में कार्य करता है। सॉकेट की संरचना और गुणों को नेटवर्किंग संरचना के लिए एक एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) द्वारा परिभाषित किया गया है। नोड में चल रहे किसी एप्लिकेशन की प्रक्रिया के जीवनकाल के समय ही सॉकेट बनाए जाते हैं।
{{More citations needed|date=November 2017}}


एक नेटवर्क सॉकेट एक [[ संगणक संजाल ]] के [[नोड (नेटवर्किंग)]] के भीतर एक सॉफ्टवेयर संरचना है जो पूरे नेटवर्क में डेटा भेजने और प्राप्त करने के लिए एक समापन बिंदु के रूप में कार्य करता है। सॉकेट की संरचना और गुणों को नेटवर्किंग आर्किटेक्चर के लिए एक [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] (एपीआई) द्वारा परिभाषित किया गया है। सॉकेट केवल नोड में चल रहे किसी एप्लिकेशन की [[प्रक्रिया (कंप्यूटिंग)]] के जीवनकाल के दौरान बनाए जाते हैं।
[[इंटरनेट]] के विकास में टीसीपी/इंटरनेट प्रोटोकॉल प्रोटोकॉल के [[मानकीकरण]] के कारण, शब्द 'नेटवर्क सॉकेट' इंटरनेट प्रोटोकॉल सूट के संदर्भ में सबसे अधिक उपयोग किया जाता है, और इसलिए इसे प्रायः इंटरनेट सॉकेट भी कहा जाता है। इस संदर्भ में, एक सॉकेट बाहरी रूप से अन्य होस्ट्स को उसके सॉकेट एड्रेस द्वारा पहचाना जाता है, जो [[ परिवहन प्रोटोकॉल |अभिगमन प्रोटोकॉल]], [[आईपी ​​पता|इंटरनेट प्रोटोकॉल ​​एड्रैस]] और [[पोर्ट नंबर|पोर्ट संख्या]] का ट्रायड है।


[[इंटरनेट]] के विकास में टीसीपी/आईपी प्रोटोकॉल के [[मानकीकरण]] के कारण, शब्द 'नेटवर्क सॉकेट' इंटरनेट प्रोटोकॉल सूट के संदर्भ में सबसे अधिक उपयोग किया जाता है, और इसलिए इसे अक्सर इंटरनेट सॉकेट भी कहा जाता है। इस संदर्भ में, एक सॉकेट बाहरी रूप से अन्य होस्ट्स को उसके सॉकेट एड्रेस द्वारा पहचाना जाता है, जो [[ परिवहन प्रोटोकॉल ]], [[आईपी ​​पता]] और [[पोर्ट नंबर]] का ट्रायड है।
''सॉकेट'' शब्द का प्रयोग नोड-आंतरिक अंतर-प्रक्रिया संचार (आईपीसी) के सॉफ़्टवेयर समापन बिंदु के लिए भी किया जाता है, जो प्रायः उसी एपीआई का उपयोग नेटवर्क सॉकेट के रूप में करता है।


''सॉकेट'' शब्द का प्रयोग नोड-आंतरिक अंतर-प्रक्रिया संचार (आईपीसी) के सॉफ़्टवेयर समापन बिंदु के लिए भी किया जाता है, जो अक्सर उसी एपीआई का उपयोग नेटवर्क सॉकेट के रूप में करता है।
== उपयोग ==
सॉफ़्टवेयर में सॉकेट शब्द का उपयोग विद्युत [[महिला योजक|महिला संचालक]] के कार्य के अनुरूप है, हार्डवेयर में एक उपकरण जो विद्युत केबल से जुड़े नोड्स के बीच संचार के लिए होता है। इसी तरह, [[पोर्ट (कंप्यूटर नेटवर्किंग)]] शब्द का उपयोग किसी नोड या डिवाइस पर बाहरी भौतिक समापन बिंदुओं के लिए किया जाता है।


== प्रयोग करें ==
नेटवर्क प्रोटोकॉल स्टैक के लिए एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) एक एप्लिकेशन द्वारा बनाए गए प्रत्येक सॉकेट के लिए एक [[हैंडल (कंप्यूटिंग)]] बनाता है, जिसे सामान्य रूप से सॉकेट डिस्क्रिप्टर कहा जाता है। यूनिक्स जैसे ऑपरेटिंग सिस्टम में, यह डिस्क्रिप्टर एक प्रकार का [[फाइल डिस्क्रिप्टर]] है। यह संचार चैनल पर प्रत्येक पढ़ने और लिखने के संचालन के उपयोग के लिए एप्लीकेशन प्रक्रिया द्वारा संग्रहीत किया जाता है।
सॉफ़्टवेयर में सॉकेट शब्द का उपयोग विद्युत [[महिला योजक]] के कार्य के अनुरूप है, हार्डवेयर में एक उपकरण जो विद्युत केबल से जुड़े नोड्स के बीच संचार के लिए होता है। इसी तरह, [[पोर्ट (कंप्यूटर नेटवर्किंग)]] शब्द का उपयोग किसी नोड या डिवाइस पर बाहरी भौतिक समापन बिंदुओं के लिए किया जाता है।


नेटवर्क प्रोटोकॉल स्टैक के लिए एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) एक एप्लिकेशन द्वारा बनाए गए प्रत्येक सॉकेट के लिए एक [[हैंडल (कंप्यूटिंग)]] बनाता है, जिसे आमतौर पर सॉकेट डिस्क्रिप्टर कहा जाता है। यूनिक्स जैसे ऑपरेटिंग सिस्टम में, यह डिस्क्रिप्टर एक प्रकार का [[फाइल डिस्क्रिप्टर]] है। यह संचार चैनल पर प्रत्येक पढ़ने और लिखने के संचालन के उपयोग के लिए आवेदन प्रक्रिया द्वारा संग्रहीत किया जाता है।
एपीआई के साथ निर्माण के समय, एक नेटवर्क सॉकेट प्रसारण के लिए उपयोग किए जाने वाले नेटवर्क प्रोटोकॉल के एक प्रकार, होस्ट के नेटवर्क एड्रैस और एक पोर्ट (कंप्यूटर नेटवर्किंग) के संयोजन के लिए बाध्य है। पोर्ट क्रमांकित संसाधन हैं जो नोड के अन्य प्रकार की सॉफ़्टवेयर संरचना का प्रतिनिधित्व करते हैं। वे सेवा प्रकार के रूप में उपयोग किए जाते हैं, और, एक बार एक प्रक्रिया द्वारा बनाए जाने के बाद, बाहरी रूप से (नेटवर्क से) एड्रैस योग्य स्थान घटक के रूप में काम करते हैं, ताकि अन्य होस्ट संयोजन स्थापित कर सकें।


एपीआई के साथ निर्माण के समय, एक नेटवर्क सॉकेट प्रसारण के लिए उपयोग किए जाने वाले नेटवर्क प्रोटोकॉल के एक प्रकार, होस्ट के नेटवर्क पते और एक पोर्ट (कंप्यूटर नेटवर्किंग) के संयोजन के लिए बाध्य है। पोर्ट क्रमांकित संसाधन हैं जो नोड के अन्य प्रकार की सॉफ़्टवेयर संरचना का प्रतिनिधित्व करते हैं। वे सेवा प्रकार के रूप में उपयोग किए जाते हैं, और, एक बार एक प्रक्रिया द्वारा बनाए जाने के बाद, बाहरी रूप से (नेटवर्क से) पता योग्य स्थान घटक के रूप में काम करते हैं, ताकि अन्य होस्ट कनेक्शन स्थापित कर सकें।
नेटवर्क सॉकेट दो नोड्स के बीच संचार के लिए निरंतर संयोजन के लिए समर्पित हो सकते हैं, या वे [[कनेक्शन रहित संचार|संयोजन रहित संचार]] और [[ बहुस्त्र्पीय |बहु प्रसारण]] संचार में भाग ले सकते हैं।


नेटवर्क सॉकेट दो नोड्स के बीच संचार के लिए लगातार कनेक्शन के लिए समर्पित हो सकते हैं, या वे [[कनेक्शन रहित संचार]] और [[ बहुस्त्र्पीय ]] संचार में भाग ले सकते हैं।
व्यवहार में, इंटरनेट पर उपयोग में आने वाले टीसीपी/इंटरनेट प्रोटोकॉल प्रोटोकॉल के प्रसार के कारण, शब्द नेटवर्क सॉकेट सामान्य रूप से [[इंटरनेट प्रोटोकॉल]] (इंटरनेट प्रोटोकॉल) के साथ उपयोग को संदर्भित करता है। इसलिए इसे प्रायः 'इंटरनेट सॉकेट' भी कहा जाता है।


व्यवहार में, इंटरनेट पर उपयोग में आने वाले टीसीपी/आईपी प्रोटोकॉल के प्रसार के कारण, शब्द नेटवर्क सॉकेट आमतौर पर [[इंटरनेट प्रोटोकॉल]] (आईपी) के साथ उपयोग को संदर्भित करता है। इसलिए इसे अक्सर 'इंटरनेट सॉकेट' भी कहा जाता है।
== सॉकेट एड्रैस ==
 
एप्लिकेशन प्रोटोकॉल प्रकार, इंटरनेट प्रोटोकॉल एड्रेस और पोर्ट संख्या के संयोजन को जानकर टीसीपी / इंटरनेट प्रोटोकॉल के साथ डेटा का आदान-प्रदान करके एक दूरस्थ प्रक्रिया के साथ संचार कर सकता है। इस संयोजन को प्रायः सॉकेट एड्रेस के रूप में जाना जाता है। यह नेटवर्क सॉकेट के लिए नेटवर्क-आवरण अभिगम नियंत्रण है। दूरस्थ प्रक्रिया प्रोटोकॉल स्टैक के अपने स्वयं के उदाहरण में एक नेटवर्क सॉकेट स्थापित करती है, और एप्लिकेशन से संपर्क करने के लिए नेटवर्किंग एपीआई का उपयोग करती है, एप्लिकेशन द्वारा उपयोग के लिए अपना स्वयं का सॉकेट एड्रैस प्रस्तुत करती है।
== सॉकेट पते ==
एक एप्लिकेशन प्रोटोकॉल प्रकार, आईपी एड्रेस और पोर्ट नंबर के संयोजन को जानकर टीसीपी / आईपी के साथ डेटा का आदान-प्रदान करके एक दूरस्थ प्रक्रिया के साथ संचार कर सकता है। इस संयोजन को अक्सर सॉकेट एड्रेस के रूप में जाना जाता है। यह नेटवर्क सॉकेट के लिए नेटवर्क-फेसिंग एक्सेस हैंडल है। दूरस्थ प्रक्रिया प्रोटोकॉल स्टैक के अपने स्वयं के उदाहरण में एक नेटवर्क सॉकेट स्थापित करती है, और एप्लिकेशन से कनेक्ट करने के लिए नेटवर्किंग एपीआई का उपयोग करती है, एप्लिकेशन द्वारा उपयोग के लिए अपना स्वयं का सॉकेट पता प्रस्तुत करती है।


== कार्यान्वयन ==
== कार्यान्वयन ==
एक [[प्रोटोकॉल स्टैक]], आमतौर पर [[ऑपरेटिंग सिस्टम]] द्वारा प्रदान किया जाता है (उदाहरण के लिए, एक अलग पुस्तकालय के बजाय), सेवाओं का एक सेट है जो प्रक्रियाओं को प्रोटोकॉल का उपयोग करके नेटवर्क पर संचार करने की अनुमति देता है जो स्टैक लागू करता है। ऑपरेटिंग सिस्टम आईपी और ट्रांसपोर्ट प्रोटोकॉल हेडर से सॉकेट एड्रेस की जानकारी निकालकर और एप्लिकेशन डेटा से हेडर को अलग करके आने वाले आईपी पैकेट के पेलोड को संबंधित एप्लिकेशन को फॉरवर्ड करता है।
[[प्रोटोकॉल स्टैक]], सामान्य रूप से [[ऑपरेटिंग सिस्टम]] द्वारा प्रदान किया जाता है (उदाहरण के लिए, एक अलग लाइब्रेरी के अतिरिक्त), सेवाओं का एक सेट है जो प्रक्रियाओं को प्रोटोकॉल का उपयोग करके नेटवर्क पर संचार करने की स्वीकृति देता है जो स्टैक प्रयुक्त करता है। ऑपरेटिंग सिस्टम इंटरनेट प्रोटोकॉल और अभिगमन प्रोटोकॉल हेडर से सॉकेट एड्रेस की जानकारी निकालकर और एप्लिकेशन डेटा से हेडर को अलग करके आने वाले इंटरनेट प्रोटोकॉल पैकेट के पेलोड को संबंधित एप्लिकेशन को फॉरवर्ड करता है।


एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) जो प्रोग्राम नेटवर्क सॉकेट्स का उपयोग करके प्रोटोकॉल स्टैक के साथ संवाद करने के लिए उपयोग करते हैं, को सॉकेट एपीआई कहा जाता है। इस एपीआई का उपयोग करने वाले एप्लिकेशन प्रोग्राम के विकास को ''सॉकेट प्रोग्रामिंग'' या ''[[कंप्यूटर नेटवर्क प्रोग्रामिंग]]'' कहा जाता है। इंटरनेट सॉकेट एपीआई आमतौर पर [[बर्कले सॉकेट]] मानक पर आधारित होते हैं। बर्कले सॉकेट मानक में, [[यूनिक्स दर्शन]] के कारण सॉकेट फ़ाइल डिस्क्रिप्टर का एक रूप है, और सॉकेट और फाइलों के बीच समानताएं हैं। दोनों में पढ़ने, लिखने, खोलने और बंद करने के कार्य हैं। व्यवहार में अंतर सादृश्य को तनाव देते हैं, और सॉकेट पर विभिन्न इंटरफेस (भेजें और प्राप्त करें) का उपयोग किया जाता है। अंतर-प्रक्रिया संचार में, प्रत्येक छोर का अपना सॉकेट होता है।
एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) जो प्रोग्राम नेटवर्क सॉकेट्स का उपयोग करके प्रोटोकॉल स्टैक के साथ संवाद करने के लिए उपयोग करते हैं, को सॉकेट एपीआई कहा जाता है। इस एपीआई का उपयोग करने वाले एप्लिकेशन प्रोग्राम के विकास को सॉकेट प्रोग्रामिंग या कंप्यूटर नेटवर्क प्रोग्रामिंग कहा जाता है। इंटरनेट सॉकेट एपीआई सामान्य रूप से [[बर्कले सॉकेट]] मानक पर आधारित होते हैं। बर्कले सॉकेट मानक में, [[यूनिक्स दर्शन]] के कारण सॉकेट फ़ाइल डिस्क्रिप्टर का एक रूप है, और सॉकेट और फाइलों के बीच समानताएं हैं। दोनों में पढ़ने, लिखने, खोलने और बंद करने के फ़ंक्शन हैं। व्यवहार में अंतर सादृश्य को अपेक्षा कर देते हैं, और सॉकेट पर विभिन्न इंटरफेस (प्रेषण और प्राप्त करें) का उपयोग किया जाता है। अंतर-प्रक्रिया संचार में, प्रत्येक सिरे का अपना सॉकेट होता है।


मानक इंटरनेट प्रोटोकॉल टीसीपी और यूडीपी में, एक सॉकेट एड्रेस एक आईपी एड्रेस और एक पोर्ट नंबर का संयोजन होता है, जैसे टेलीफोन कनेक्शन का एक छोर एक [[ फ़ोन नंबर ]] और एक विशेष [[एक्सटेंशन (टेलीफोन)]] का संयोजन होता है। उदाहरण के लिए, केवल डेटा भेजने के लिए, सॉकेट के पास स्रोत पता नहीं होना चाहिए, लेकिन यदि कोई प्रोग्राम सॉकेट को स्रोत पते से बांधता है, तो सॉकेट का उपयोग उस पते पर भेजे गए डेटा को प्राप्त करने के लिए किया जा सकता है। इस पते के आधार पर, इंटरनेट सॉकेट आने वाले [[डेटा पैकेट]] को उपयुक्त एप्लिकेशन प्रक्रिया (कंप्यूटिंग) तक पहुंचाते हैं।
मानक इंटरनेट प्रोटोकॉल टीसीपी और यूडीपी में, एक सॉकेट एड्रेस एक इंटरनेट प्रोटोकॉल एड्रेस और एक पोर्ट संख्या का संयोजन होता है, जैसे टेलीफोन संयोजन का एक सिरे का [[ फ़ोन नंबर |फ़ोन संख्या]] और एक विशेष [[एक्सटेंशन (टेलीफोन)]] का संयोजन होता है। उदाहरण के लिए, केवल डेटा प्रेषित करने के लिए, सॉकेट के पास स्रोत पता नहीं होना चाहिए, लेकिन यदि कोई प्रोग्राम सॉकेट को स्रोत एड्रैस से परिबद्ध है, तो सॉकेट का उपयोग उस एड्रैस पर प्रेषित गए डेटा को प्राप्त करने के लिए किया जा सकता है। इस एड्रैस के आधार पर, इंटरनेट सॉकेट आने वाले [[डेटा पैकेट]] को उपयुक्त एप्लिकेशन प्रक्रिया (कंप्यूटिंग) तक पहुंचाते हैं।


''सॉकेट'' अक्सर विशेष रूप से एक इंटरनेट सॉकेट या टीसीपी सॉकेट को संदर्भित करता है। एक इंटरनेट सॉकेट की न्यूनतम विशेषता निम्नलिखित है:
सॉकेट प्रायः विशेष रूप से एक इंटरनेट सॉकेट या टीसीपी सॉकेट को संदर्भित करता है। एक इंटरनेट सॉकेट की न्यूनतम विशेषता निम्नलिखित है:
* स्थानीय सॉकेट पता, जिसमें स्थानीय आईपी पता और (टीसीपी और यूडीपी के लिए, लेकिन आईपी नहीं) एक पोर्ट नंबर शामिल है
* स्थानीय सॉकेट एड्रैस, जिसमें स्थानीय इंटरनेट प्रोटोकॉल एड्रैस और (टीसीपी और यूडीपी के लिए, लेकिन इंटरनेट प्रोटोकॉल नहीं) एक पोर्ट संख्या सम्मिलित है
* प्रोटोकॉल: एक परिवहन प्रोटोकॉल, उदाहरण के लिए, टीसीपी, यूडीपी, कच्चा आईपी। इसका मतलब है कि टीसीपी पोर्ट 53 और यूडीपी पोर्ट 53 के साथ (स्थानीय या दूरस्थ) एंडपॉइंट अलग-अलग सॉकेट हैं, जबकि आईपी में पोर्ट नहीं हैं।
* प्रोटोकॉल: एक परिवहन प्रोटोकॉल, उदाहरण के लिए, टीसीपी, यूडीपी, रो इंटरनेट प्रोटोकॉल सम्मिलित है। इसका तात्पर्य है कि टीसीपी पोर्ट 53 और यूडीपी पोर्ट 53 के साथ (स्थानीय या दूरस्थ) एंडपॉइंट अलग-अलग सॉकेट हैं, जबकि इंटरनेट प्रोटोकॉल में पोर्ट नहीं हैं।
* एक सॉकेट जिसे दूसरे सॉकेट से जोड़ा गया है, उदाहरण के लिए, टीसीपी कनेक्शन की स्थापना के दौरान, एक रिमोट सॉकेट एड्रेस भी होता है।
* एक सॉकेट जिसे दूसरे सॉकेट से जोड़ा गया है, उदाहरण के लिए, टीसीपी संयोजन की स्थापना के समय, एक दूरस्थ सॉकेट एड्रेस भी होता है।


== परिभाषा ==
== परिभाषा ==
सॉकेट (आंतरिक प्रतिनिधित्व), सॉकेट डिस्क्रिप्टर (अमूर्त पहचानकर्ता), और सॉकेट एड्रेस (सार्वजनिक पता) के बीच भेद सूक्ष्म हैं, और ये हमेशा दैनिक उपयोग में अलग नहीं होते हैं। इसके अलावा, सॉकेट की विशिष्ट परिभाषाएँ लेखकों के बीच भिन्न होती हैं। [[IETF]] [[टिप्पणियों के लिए अनुरोध]], [[ इंटरनेट मानक ]]्स, कई पाठ्यपुस्तकों में, साथ ही साथ इस लेख में, सॉकेट शब्द एक इकाई को संदर्भित करता है जो विशिष्ट रूप से सॉकेट नंबर द्वारा पहचाना जाता है। अन्य पाठ्यपुस्तकों में,<ref>Cisco Networking Academy Program, CCNA 1 and 2 Companion Guide Revised Third Edition, P.480, {{ISBN|1-58713-150-1}}</ref> सॉकेट शब्द एक स्थानीय सॉकेट एड्रेस को संदर्भित करता है, यानी आईपी एड्रेस और पोर्ट नंबर का संयोजन। RFC 147 में दी गई सॉकेट की मूल परिभाषा में,<ref>{{IETF RFC|147}}</ref> जैसा कि 1971 में [[ARPANET]] से संबंधित था, सॉकेट को 32 बिट संख्या के रूप में निर्दिष्ट किया गया है, यहां तक ​​​​कि सॉकेट्स प्राप्त करने वाले सॉकेट्स की पहचान करते हैं और विषम सॉकेट्स भेजने वाले सॉकेट्स की पहचान करते हैं। हालाँकि, आज सॉकेट संचार द्विदिश हैं।
सॉकेट (आंतरिक प्रतिनिधित्व), सॉकेट डिस्क्रिप्टर (अमूर्त पहचानकर्ता), और सॉकेट एड्रेस (सार्वजनिक एड्रैस) के बीच अंतर सूक्ष्म हैं, और ये सदैव दैनिक उपयोग में अलग नहीं होते हैं। इसके अतिरिक्त, सॉकेट की विशिष्ट परिभाषाएँ लेखकों के बीच भिन्न होती हैं। इन्टरनेट अभियांत्रिक कार्य दल [[टिप्पणियों के लिए अनुरोध]], [[ इंटरनेट मानक |इंटरनेट मानक]], कई पाठ्यपुस्तकों में, साथ ही साथ इस लेख में, सॉकेट शब्द एक इकाई को संदर्भित करता है जो विशिष्ट रूप से सॉकेट संख्या द्वारा पहचाना जाता है। अन्य पाठ्यपुस्तकों में,<ref>Cisco Networking Academy Program, CCNA 1 and 2 Companion Guide Revised Third Edition, P.480, {{ISBN|1-58713-150-1}}</ref> सॉकेट शब्द एक स्थानीय सॉकेट एड्रेस को संदर्भित करता है, अर्थात इंटरनेट प्रोटोकॉल एड्रेस और पोर्ट संख्या का संयोजन [rfc:147 आरएफसी 147] में दी गई सॉकेट की मूल परिभाषा में,<ref>{{IETF RFC|147}}</ref> जैसा कि 1971 में [[ARPANET|उन्नत अनुसंधान परियोजना संस्था नेटवर्क]] से संबंधित था, सॉकेट को 32 बिट संख्या के रूप में निर्दिष्ट किया गया है, यहां तक ​​​​कि सॉकेट्स प्राप्त करने वाले सॉकेट्स की पहचान करते हैं और विषम सॉकेट्स प्रेषित करने वाले सॉकेट्स की पहचान करते हैं। हालाँकि, आज सॉकेट संचार द्विदिश हैं।
   
   
ऑपरेटिंग सिस्टम के भीतर और सॉकेट बनाने वाले एप्लिकेशन में, सॉकेट को एक अद्वितीय पूर्णांक मान द्वारा संदर्भित किया जाता है जिसे सॉकेट डिस्क्रिप्टर कहा जाता है।
ऑपरेटिंग सिस्टम के अंदर और सॉकेट बनाने वाले एप्लिकेशन में, सॉकेट को एक अद्वितीय पूर्णांक मान द्वारा संदर्भित किया जाता है जिसे सॉकेट डिस्क्रिप्टर कहा जाता है।


== उपकरण ==
== उपकरण ==
यूनिक्स जैसे ऑपरेटिंग सिस्टम और [[ माइक्रोसॉफ़्ट विंडोज़ ]] पर, कमांड-लाइन टूल्स [[netstat]] या [[iproute2]]<ref>{{cite web |url=https://www.linux.com/learn/intro-to-linux/2017/7/introduction-ss-command |title=एसएस कमांड का परिचय|author=Jack Wallen |date=2019-01-22}}</ref> स्थापित सॉकेट और संबंधित जानकारी को सूचीबद्ध करने के लिए उपयोग किया जाता है।
यूनिक्स जैसे ऑपरेटिंग सिस्टम और [[ माइक्रोसॉफ़्ट विंडोज़ |माइक्रोसॉफ़्ट विंडोज़]] पर, कमांड-लाइन उपकरण [[netstat|नेटस्टैट]] या एसएस<ref>{{cite web |url=https://www.linux.com/learn/intro-to-linux/2017/7/introduction-ss-command |title=एसएस कमांड का परिचय|author=Jack Wallen |date=2019-01-22}}</ref> स्थापित सॉकेट और संबंधित जानकारी को सूचीबद्ध करने के लिए उपयोग किया जाता है।


== उदाहरण ==
== उदाहरण ==
बर्कले सॉकेट इंटरफ़ेस के अनुसार तैयार किया गया यह उदाहरण, स्ट्रिंग हैलो, वर्ल्ड भेजता है! 1.2.3.4 पते के साथ होस्ट के 80 को पोर्ट करने के लिए [[ प्रसारण नियंत्रण प्रोटोकॉल ]] के माध्यम से। यह एक सॉकेट (गेटसॉकेट) के निर्माण को दिखाता है, इसे रिमोट होस्ट से जोड़ता है, स्ट्रिंग भेजता है, और अंत में सॉकेट को बंद करता है:
बर्कले सॉकेट इंटरफ़ेस के अनुसार तैयार किया गया यह उदाहरण, स्ट्रिंग "हैलो, वर्ल्ड!" भेजता है। एड्रैस 1.2.3.4 के साथ होस्ट के पोर्ट 80 पर टीसीपी के माध्यम से। यह एक सॉकेट (गेटसॉकेट) के निर्माण को दिखाता है, इसे दूरस्थ होस्ट से जोड़ता है और, स्ट्रिंग प्रेषित करता है, और अंत में सॉकेट को बंद करता है:
 
Socket mysocket = getSocket(type = "TCP")
<पूर्व>
connect(mysocket, address = "1.2.3.4", port = "80")
सॉकेट mysocket = getSocket (प्रकार = टीसीपी)
send(mysocket, "Hello, world!")
कनेक्ट करें (mysocket, पता = 1.2.3.4, पोर्ट = 80)
close(mysocket)
भेजें (mysocket, हैलो, दुनिया!)
बंद (mysocket)
</पूर्व>


== प्रकार ==
== प्रकार ==
कई प्रकार के इंटरनेट सॉकेट उपलब्ध हैं:
कई प्रकार के इंटरनेट सॉकेट उपलब्ध हैं:
डेटाग्राम सॉकेट
: [[संयोजन]] रहित सॉकेट, जो उपयोगकर्ता [[डेटाग्राम प्रोटेकॉलका उपयोग करें]]यूडीपी) का उपयोग करते हैं।<ref>{{citation|title=Computer Networks|author=V. S. Bagad, I. A. Dhotre|year=2008|page=52|edition=5th revised edition, 2010|publisher=Technical Publications Pune}}</ref> डेटाग्राम सॉकेट पर भेजे या प्राप्त किए गए प्रत्येक पैकेट को व्यक्तिगत रूप से संबोधित और रूट किया जाता है। डेटाग्राम सॉकेट्स के साथ क्रम और विश्वसनीयता की गारंटी नहीं है, इसलिए एक मशीन या प्रक्रिया से दूसरे में भेजे गए कई पैकेट किसी भी क्रम में आ सकते हैं या बिल्कुल नहीं आ सकते हैं। डेटाग्राम सॉकेट पर [[प्रसारण (नेटवर्किंग)]] भेजने के लिए विशेष कॉन्फ़िगरेशन की आवश्यकता हो सकती है।<ref>{{citation |url=https://docs.microsoft.com/en-us/windows-hardware/drivers/network/so-broadcast |title=SO_BROADCAST |publisher=[[Microsoft]] |access-date=2019-12-12}}</ref> प्रसारण पैकेट प्राप्त करने के लिए, एक डेटाग्राम सॉकेट को एक विशिष्ट पते के लिए बाध्य नहीं होना चाहिए, हालांकि कुछ कार्यान्वयनों में, डेटाग्राम सॉकेट एक विशिष्ट पते से बंधे होने पर प्रसारण पैकेट भी प्राप्त हो सकते हैं।<ref>{{citation |url=https://docs.oracle.com/javase/6/docs/api/java/net/DatagramSocket.html |title=Class DatagramSocket |publisher=[[Oracle Corporation|Oracle]] |access-date=2019-12-12}}</ref>
स्ट्रीम सॉकेट
: कनेक्शन-उन्मुख सॉकेट, जो ट्रांसमिशन कंट्रोल प्रोटोकॉल (टीसीपी), [[स्ट्रीम कंट्रोल ट्रांसमिशन प्रोटोकॉल]] (एससीटीपी) या [[डेटाग्राम कंजेशन कंट्रोल प्रोटोकॉल]] (डीसीसीपी) का उपयोग करते हैं। एक स्ट्रीम सॉकेट रिकॉर्ड सीमाओं के बिना त्रुटि-मुक्त डेटा का एक [[अनुक्रम]]ित और अद्वितीय प्रवाह प्रदान करता है, कनेक्शन बनाने और त्रुटियों को रिपोर्ट करने के लिए अच्छी तरह से परिभाषित तंत्र के साथ। एक स्ट्रीम सॉकेट डेटा [[विश्वसनीयता (कंप्यूटर नेटवर्किंग)]], क्रम में और [[आउट-ऑफ-बैंड डेटा]] | आउट-ऑफ-बैंड क्षमताओं के साथ प्रसारित करता है। इंटरनेट पर, स्ट्रीम सॉकेट आमतौर पर टीसीपी का उपयोग करके कार्यान्वित किए जाते हैं ताकि एप्लिकेशन टीसीपी/आईपी प्रोटोकॉल का उपयोग कर किसी भी नेटवर्क पर चल सकें।
रॉ सॉकेट
: बिना किसी प्रोटोकॉल-विशिष्ट परिवहन परत स्वरूपण के सीधे आईपी पैकेट भेजने और प्राप्त करने की अनुमति दें। अन्य प्रकार के सॉकेट के साथ, [[पेलोड (कंप्यूटिंग)]] स्वचालित रूप से चुने गए ट्रांसपोर्ट लेयर प्रोटोकॉल (जैसे टीसीपी, यूडीपी) के अनुसार [[एनकैप्सुलेशन (नेटवर्किंग)]] होता है, और सॉकेट उपयोगकर्ता प्रोटोकॉल [[ हैडर (कंप्यूटिंग) ]] के अस्तित्व से अनजान होता है जो इसके साथ प्रसारित होता है पेलोड। कच्चे सॉकेट से पढ़ते समय, हेडर आमतौर पर शामिल होते हैं। रॉ सॉकेट से पैकेट ट्रांसमिट करते समय, हेडर का स्वत: जोड़ वैकल्पिक होता है।
:अधिकांश सॉकेट एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई), उदाहरण के लिए, जो बर्कले सॉकेट पर आधारित हैं, कच्चे सॉकेट का समर्थन करते हैं। [[Windows XP]] को 2001 में [[Winsock]] इंटरफ़ेस में कच्चे सॉकेट समर्थन के साथ जारी किया गया था, लेकिन तीन साल बाद, Microsoft ने सुरक्षा चिंताओं के कारण Winsock के कच्चे सॉकेट समर्थन को सीमित कर दिया।<ref>Ian Griffiths for IanG on Tap. 12 August 2004. [http://www.interact-sw.co.uk/iangblog/2004/08/12/norawsockets Raw Sockets Gone in XP SP2]</ref>
: [[Nmap]] जैसे सुरक्षा से संबंधित अनुप्रयोगों में कच्चे सॉकेट का उपयोग किया जाता है। कच्चे सॉकेट के लिए एक उपयोग मामला उपयोगकर्ता स्थान में नए ट्रांसपोर्ट-लेयर प्रोटोकॉल का कार्यान्वयन है।<ref>{{cite web|url=http://linux.die.net/man/7/raw|title=raw(7): IPv4 raw sockets - Linux man page|work=die.net}}</ref> कच्चे सॉकेट आमतौर पर नेटवर्क उपकरण में उपलब्ध होते हैं, और [[ इंटरनेट समूह प्रबंधन प्रोटोकॉल ]] (IGMP) और [[पहले सबसे छोटा रास्ता खोलो]] (OSPF) जैसे [[रूटिंग प्रोटोकॉल]] के लिए उपयोग किए जाते हैं, और [[ इंटरनेट नियंत्रण संदेश प्रोटोकॉल ]] (ICMP) में, अन्य बातों के अलावा, द्वारा उपयोग किया जाता है। [[पिंग उपयोगिता]]।<ref>{{cite web|url=http://www.faqs.org/faqs/internet/tcp-ip/raw-ip-faq/|title=रॉ आईपी नेटवर्किंग एफएक्यू|work=faqs.org}}</ref>
अन्य सॉकेट प्रकार अन्य ट्रांसपोर्ट प्रोटोकॉल पर लागू होते हैं, जैसे [[सिस्टम नेटवर्क आर्किटेक्चर]]<ref>{{Cite web |url=http://www-306.ibm.com/software/network/commserver/library/publications/csaix_60/dzgl1m61.htm |title=www-306.ibm.com - AnyNet Guide to Sockets over SNA |access-date=2006-09-07 |archive-url=https://web.archive.org/web/20080503074917/http://www-306.ibm.com/software/network/commserver/library/publications/csaix_60/dzgl1m61.htm |archive-date=2008-05-03 |url-status=dead }}</ref> और आंतरिक अंतर-प्रक्रिया संचार के लिए [[यूनिक्स डोमेन सॉकेट]]।


== क्लाइंट-सर्वर मॉडल == में सॉकेट राज्य
====== डेटाग्राम सॉकेट ======
अनुप्रयोग सेवाएं प्रदान करने वाली कंप्यूटर प्रक्रियाओं को [[सर्वर (कंप्यूटिंग)]] कहा जाता है, और स्टार्टअप पर सॉकेट बनाते हैं जो सुनने की स्थिति में होते हैं। ये सॉकेट [[क्लाइंट (कंप्यूटिंग)]] प्रोग्राम से पहल की प्रतीक्षा कर रहे हैं।
: संयोजन रहित सॉकेट, जो उपयोगकर्ता डाटाग्राम प्रोटोकॉल (यूडीपी) का उपयोग करते हैं।<ref>{{citation|title=Computer Networks|author=V. S. Bagad, I. A. Dhotre|year=2008|page=52|edition=5th revised edition, 2010|publisher=Technical Publications Pune}}</ref> डेटाग्राम सॉकेट पर भेजे या प्राप्त किए गए प्रत्येक पैकेट को व्यक्तिगत रूप से संबोधित और रूट किया जाता है। डेटाग्राम सॉकेट्स के साथ क्रम और विश्वसनीयता की प्रत्याभूति नहीं है, इसलिए एक मशीन या प्रक्रिया से दूसरे में प्रेषित किए गए कई पैकेट किसी भी क्रम में आ सकते हैं या नहीं आ सकते हैं। डेटाग्राम सॉकेट पर [[प्रसारण (नेटवर्किंग)]] प्रेषित करने के लिए विशेष कॉन्फ़िगरेशन की आवश्यकता हो सकती है।<ref>{{citation |url=https://docs.microsoft.com/en-us/windows-hardware/drivers/network/so-broadcast |title=SO_BROADCAST |publisher=[[Microsoft]] |access-date=2019-12-12}}</ref> प्रसारण पैकेट प्राप्त करने के लिए, एक डेटाग्राम सॉकेट को एक विशिष्ट एड्रैस के लिए बाध्य नहीं होना चाहिए, हालांकि कुछ कार्यान्वयनों में, डेटाग्राम सॉकेट एक विशिष्ट एड्रैस से परिबद्ध होने पर प्रसारण पैकेट भी प्राप्त हो सकते हैं।<ref>{{citation |url=https://docs.oracle.com/javase/6/docs/api/java/net/DatagramSocket.html |title=Class DatagramSocket |publisher=[[Oracle Corporation|Oracle]] |access-date=2019-12-12}}</ref>


एक टीसीपी सर्वर प्रत्येक क्लाइंट के लिए एक नई चाइल्ड प्रोसेस या प्रोसेसिंग थ्रेड में प्रत्येक क्लाइंट कनेक्शन के लिए एक अद्वितीय समर्पित सॉकेट बनाकर समवर्ती रूप से कई क्लाइंट्स की सेवा कर सकता है। ये स्थापित स्थिति में हैं जब सॉकेट-टू-सॉकेट [[ आभासी कनेक्शन ]] या वर्चुअल सर्किट (वीसी), जिसे टीसीपी [[ सत्र (कंप्यूटर विज्ञान) ]] के रूप में भी जाना जाता है, रिमोट सॉकेट के साथ स्थापित होता है, जो डुप्लेक्स [[बाइट स्ट्रीम]] प्रदान करता है।
===== स्ट्रीम सॉकेट =====
: संयोजन-उन्मुख सॉकेट, जो संचरण नियंत्रण प्रोटोकॉल (टीसीपी), [[स्ट्रीम कंट्रोल ट्रांसमिशन प्रोटोकॉल|स्ट्रीम नियंत्रण संचरण प्रोटोकॉल]] (एससीटीपी) या [[डेटाग्राम कंजेशन कंट्रोल प्रोटोकॉल|डेटाग्राम संकुलन नियंत्रण प्रोटोकॉल]] (डीसीसीपी) का उपयोग करते हैं। एक स्ट्रीम सॉकेट रिकॉर्ड सीमाओं के बिना त्रुटि-मुक्त डेटा का एक [[अनुक्रम|अनुक्रमित]] और अद्वितीय संचार प्रदान करता है, संयोजन बनाने और त्रुटियों को रिपोर्ट करने के लिए अच्छी तरह से परिभाषित तंत्र के साथ प्रदान करते है। एक स्ट्रीम सॉकेट डेटा [[विश्वसनीयता (कंप्यूटर नेटवर्किंग)]], क्रम में और आउट-ऑफ-बैंड क्षमताओं के साथ प्रसारित करता है। इंटरनेट पर, स्ट्रीम सॉकेट सामान्य रूप से टीसीपी का उपयोग करके कार्यान्वित किए जाते हैं ताकि एप्लिकेशन टीसीपी/इंटरनेट प्रोटोकॉल प्रोटोकॉल का उपयोग कर किसी भी नेटवर्क पर चल सकें।


एक सर्वर एक ही स्थानीय पोर्ट नंबर और स्थानीय आईपी पते के साथ कई समवर्ती रूप से स्थापित टीसीपी सॉकेट बना सकता है, प्रत्येक को अपनी सर्वर-चाइल्ड प्रक्रिया में मैप किया जाता है, जो अपनी क्लाइंट प्रक्रिया की सेवा करता है। रिमोट सॉकेट एड्रेस (क्लाइंट आईपी एड्रेस या पोर्ट नंबर) अलग होने के कारण उन्हें ऑपरेटिंग सिस्टम द्वारा अलग-अलग सॉकेट के रूप में माना जाता है; यानी चूंकि उनके पास अलग-अलग #Socket जोड़े हैं।
==== रॉ सॉकेट ====
: बिना किसी प्रोटोकॉल-विशिष्ट परिवहन परत स्वरूपण के सीधे इंटरनेट प्रोटोकॉल पैकेट प्रेषित करने और प्राप्त करने की स्वीकृति दें। अन्य प्रकार के सॉकेट के साथ, [[पेलोड (कंप्यूटिंग)]] स्वचालित रूप से चयन किए गए अभिगमन स्तर प्रोटोकॉल (जैसे टीसीपी, यूडीपी) के अनुसार [[एनकैप्सुलेशन (नेटवर्किंग)]] होता है, और सॉकेट उपयोगकर्ता प्रोटोकॉल [[ हैडर (कंप्यूटिंग) |हैडर (कंप्यूटिंग)]] के अस्तित्व से अज्ञात होता है जो इसके साथ प्रसारित होता है पेलोड रो सॉकेट से पढ़ते समय, हेडर सामान्य रूप से सम्मिलित होते हैं। रॉ सॉकेट से पैकेट संचारित करते समय, हेडर का स्वत: जोड़ वैकल्पिक होता है।
:अधिकांश सॉकेट एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई), उदाहरण के लिए, जो बर्कले सॉकेट पर आधारित हैं, रो सॉकेट का समर्थन करते हैं। [[Windows XP|विन्डोज़ एक्सपी]] को 2001 में [[Winsock|विनसॉक]] इंटरफ़ेस में रो सॉकेट समर्थन के साथ जारी किया गया था, लेकिन तीन साल बाद, माइक्रोसॉफ्ट ने सुरक्षा समस्याओ के कारण विनसॉक के रो सॉकेट समर्थन को सीमित कर दिया।<ref>Ian Griffiths for IanG on Tap. 12 August 2004. [http://www.interact-sw.co.uk/iangblog/2004/08/12/norawsockets Raw Sockets Gone in XP SP2]</ref>
: [[Nmap|एनएमएपी]] जैसे सुरक्षा से संबंधित अनुप्रयोगों में रो सॉकेट का उपयोग किया जाता है। रो सॉकेट के लिए एक उपयोग स्थिति उपयोगकर्ता स्थान में नए अभिगमन स्तर प्रोटोकॉल का कार्यान्वयन है।<ref>{{cite web|url=http://linux.die.net/man/7/raw|title=raw(7): IPv4 raw sockets - Linux man page|work=die.net}}</ref> रो सॉकेट सामान्य रूप से नेटवर्क उपकरण में उपलब्ध होते हैं, और [[ इंटरनेट समूह प्रबंधन प्रोटोकॉल |इंटरनेट समूह प्रबंधन प्रोटोकॉल]] (आईजीएमपी) और ओपन शॉर्टेस्ट पाथ फ़र्स्ट (ओएसपीएफ) जैसे [[रूटिंग प्रोटोकॉल]] के लिए उपयोग किए जाते हैं, और [[ इंटरनेट नियंत्रण संदेश प्रोटोकॉल |इंटरनेट नियंत्रण संदेश प्रोटोकॉल]] (आईसीएमपी) में पिंग [[पिंग उपयोगिता|उपयोगिता]] द्वारा अन्य वस्तुओ के बीच उपयोग किया जाता है।<ref>{{cite web|url=http://www.faqs.org/faqs/internet/tcp-ip/raw-ip-faq/|title=रॉ आईपी नेटवर्किंग एफएक्यू|work=faqs.org}}</ref>
अन्य सॉकेट प्रकार अन्य अभिगमन प्रोटोकॉल पर प्रयुक्त होते हैं, जैसे [[सिस्टम नेटवर्क आर्किटेक्चर|सिस्टम नेटवर्क संरचना]]<ref>{{Cite web |url=http://www-306.ibm.com/software/network/commserver/library/publications/csaix_60/dzgl1m61.htm |title=www-306.ibm.com - AnyNet Guide to Sockets over SNA |access-date=2006-09-07 |archive-url=https://web.archive.org/web/20080503074917/http://www-306.ibm.com/software/network/commserver/library/publications/csaix_60/dzgl1m61.htm |archive-date=2008-05-03 |url-status=dead }}</ref> और आंतरिक अंतर-प्रक्रिया संचार के लिए [[यूनिक्स डोमेन सॉकेट]] होते है।


यूडीपी सॉकेट्स की स्थापित स्थिति नहीं है, क्योंकि प्रोटोकॉल कनेक्शन रहित है। एक यूडीपी सर्वर प्रक्रिया एक ही सॉकेट के माध्यम से क्रमिक रूप से सभी रिमोट क्लाइंट से आने वाले डेटाग्राम को संभालती है। UDP सॉकेट्स की पहचान दूरस्थ पते से नहीं, बल्कि केवल स्थानीय पते से की जाती है, हालाँकि प्रत्येक संदेश में एक संबंधित दूरस्थ पता होता है जिसे नेटवर्किंग एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (API) के साथ प्रत्येक डेटाग्राम से पुनर्प्राप्त किया जा सकता है।
==== क्लाइंट-सर्वर मॉडल में सॉकेट स्टेट्स ====
एप्लीकेशन सेवाएं प्रदान करने वाली कंप्यूटर प्रक्रियाओं को [[सर्वर (कंप्यूटिंग)]] कहा जाता है, और स्टार्टअप पर सॉकेट बनाते हैं जो सुनने की स्थिति में होते हैं। ये सॉकेट [[क्लाइंट (कंप्यूटिंग)]] प्रोग्राम से स्वरूप की प्रतीक्षा कर रहे हैं।


== सॉकेट जोड़े ==
टीसीपी सर्वर प्रत्येक क्लाइंट के लिए एक नई चाइल्ड प्रोसेस या प्रोसेसिंग थ्रेड में प्रत्येक क्लाइंट संयोजन के लिए एक अद्वितीय समर्पित सॉकेट बनाकर समवर्ती रूप से कई क्लाइंट्स की सेवा कर सकता है। ये स्थापित स्थिति में हैं जब सॉकेट-से-सॉकेट [[ आभासी कनेक्शन |आभासी संयोजन]] या वर्चुअल परिपथ (वीसी), जिसे टीसीपी [[ सत्र (कंप्यूटर विज्ञान) |सत्र (कंप्यूटर विज्ञान)]] के रूप में भी जाना जाता है, दूरस्थ सॉकेट के साथ स्थापित होता है, जो डुप्लेक्स [[बाइट स्ट्रीम]] प्रदान करता है।
संचार करने वाले स्थानीय और दूरस्थ सॉकेट को सॉकेट जोड़े कहा जाता है। प्रत्येक सॉकेट जोड़ी को एक अद्वितीय [[4-टपल]] द्वारा वर्णित किया गया है जिसमें स्रोत और गंतव्य आईपी पते और पोर्ट नंबर शामिल हैं, यानी स्थानीय और दूरस्थ सॉकेट पते।<ref>[https://books.google.com/books?id=ptSC4LpwGA0C&pg=PA52&dq=socket+pair+tuple books.google.com - UNIX Network Programming: The sockets networking API]</ref><ref>[https://books.google.com/books?id=lyY-7VEo9j8C&pg=PA52&dq=socket+pair books.google.com - Designing BSD Rootkits: An Introduction to Kernel Hacking]</ref> जैसा कि ऊपर चर्चा की गई है, टीसीपी मामले में, कनेक्शन के प्रत्येक छोर पर एक सॉकेट जोड़ी एक अद्वितीय 4-ट्यूपल के साथ जुड़ी हुई है।
 
सर्वर समान स्थानीय पोर्ट संख्या और स्थानीय इंटरनेट प्रोटोकॉल एड्रैस के साथ कई समवर्ती रूप से स्थापित टीसीपी सॉकेट बना सकता है, प्रत्येक को अपनी सर्वर-चाइल्ड प्रक्रिया में मैप किया जाता है, जो अपनी क्लाइंट प्रक्रिया की सेवा करता है। दूरस्थ सॉकेट एड्रेस (क्लाइंट इंटरनेट प्रोटोकॉल एड्रेस या पोर्ट संख्या) अलग होने के कारण उन्हें ऑपरेटिंग सिस्टम द्वारा अलग-अलग सॉकेट के रूप में माना जाता है; अर्थात चूंकि उनके पास अलग-अलग सॉकेट युग्म हैं।
 
यूडीपी सॉकेट्स की स्थापित स्थिति नहीं है, क्योंकि प्रोटोकॉल संयोजन रहित है। एक यूडीपी सर्वर प्रक्रिया समान सॉकेट के माध्यम से क्रमिक रूप से सभी दूरस्थ क्लाइंट से आने वाले डेटाग्राम को नियंत्रित करती है। यूडीपी सॉकेट्स की पहचान दूरस्थ एड्रैस से नहीं, बल्कि केवल स्थानीय एड्रैस से की जाती है, हालाँकि प्रत्येक संदेश में एक संबंधित दूरस्थ एड्रैस होता है जिसे नेटवर्किंग एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) के साथ प्रत्येक डेटाग्राम से पुनर्प्राप्त किया जा सकता है।
 
== सॉकेट युग्म ==
संचार करने वाले स्थानीय और दूरस्थ सॉकेट को सॉकेट युग्म कहा जाता है। प्रत्येक सॉकेट जोड़ी को एक अद्वितीय [[4-टपल]] द्वारा वर्णित किया गया है जिसमें स्रोत और गंतव्य इंटरनेट प्रोटोकॉल एड्रैस और पोर्ट संख्या सम्मिलित हैं, अर्थात स्थानीय और दूरस्थ सॉकेट एड्रैस होता है।<ref>[https://books.google.com/books?id=ptSC4LpwGA0C&pg=PA52&dq=socket+pair+tuple books.google.com - UNIX Network Programming: The sockets networking API]</ref><ref>[https://books.google.com/books?id=lyY-7VEo9j8C&pg=PA52&dq=socket+pair books.google.com - Designing BSD Rootkits: An Introduction to Kernel Hacking]</ref> जैसा कि ऊपर चर्चा की गई है, टीसीपी स्थितियों में, संयोजन के प्रत्येक सिरे पर एक सॉकेट युग्म एक अद्वितीय 4-ट्यूपल के साथ जुड़ी हुई है।


== इतिहास ==
== इतिहास ==
सॉकेट शब्द 1971 में RFC 147 के प्रकाशन की तारीख है, जब इसका उपयोग ARPANET में किया गया था। सॉकेट्स के अधिकांश आधुनिक कार्यान्वयन बर्कले सॉकेट्स (1983), और अन्य स्टैक्स जैसे विंसॉक (1991) पर आधारित हैं। [[ बर्कले सॉफ्टवेयर वितरण ]] (बीएसडी) में बर्कले सॉकेट्स एपीआई, एपीआई के रूप में 4.2बीएसडी [[यूनिक्स]] ऑपरेटिंग सिस्टम के साथ उत्पन्न हुआ। केवल 1989 में, हालांकि, कैलिफोर्निया विश्वविद्यालय, बर्कले एटी एंड टी के कॉपीराइट-संरक्षित यूनिक्स की लाइसेंसिंग बाधाओं से मुक्त अपने ऑपरेटिंग सिस्टम और नेटवर्किंग लाइब्रेरी के संस्करण जारी कर सका।
सॉकेट शब्द 1971 में [rfc:147 रेडियो आवृत चैनल 147] के प्रकाशन की तिथि है, जब इसका उपयोगउन्नत अनुसंधान परियोजना संस्था नेटवर्क में किया गया था। सॉकेट्स के अधिकांश आधुनिक कार्यान्वयन बर्कले सॉकेट्स (1983), और अन्य स्टैक्स जैसे विंसॉक (1991) पर आधारित हैं। [[ बर्कले सॉफ्टवेयर वितरण |बर्कले सॉफ्टवेयर वितरण]] (बीएसडी) में बर्कले सॉकेट्स एपीआई, एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस के रूप में 4.2बीएसडी [[यूनिक्स]] ऑपरेटिंग सिस्टम के साथ उत्पन्न हुआ। केवल 1989 में, हालांकि, कैलिफोर्निया विश्वविद्यालय, बर्कले एटी और टी के कॉपीराइट-संरक्षित यूनिक्स की लाइसेंसिंग प्रतिबंधित करने से मुक्त अपने ऑपरेटिंग सिस्टम और नेटवर्किंग लाइब्रेरी के संस्करण जारी कर सका।
 
सी में। 1987, एटी और टी ने [[ यूनिक्स प्रणाली वी |यूनिक्स प्रणाली वी]] प्रकाशन 3 (एसवीआर3) में [[स्ट्रीम (नेटवर्किंग एपीआई)]] आधारित [[ ट्रांसपोर्ट लेयर इंटरफ़ेस |अभिगमन स्तर इंटरफ़ेस]] (टीएलआई) के प्रारंभ <ref>{{harv|Goodheart|1994|p=11}}</ref> और प्रकाशन 4 (एसवीआर4) में जारी रहा।<ref>{{harv|Goodheart|1994|p=17}}</ref>
 
अन्य प्रारम्भिक कार्यान्वयन टीओपीएस[[टॉप -20|-20]],<ref name="hcc98">[http://www.historyofcomputercommunications.info/Book/9/9.8_TCP-IP-XNS81-83.html historyofcomputercommunications.info - Book: 9.8 TCP/IP and XNS 1981 - 1983]</ref> [[एमवीएस]],<ref name="hcc98" /> [[वीएम (ऑपरेटिंग सिस्टम)]],<ref name="hcc98" /> आईबीएम-डॉस (पीसीआईपी) के लिए लिखा गया था<ref name="hcc98" /><ref>[http://groups.csail.mit.edu/ana/Publications/PubPDFs/The%20Desktop%20Computer%20as%20a%20Network%20Participant.pdf The Desktop Computer as a Network Participant.pdf] 1985</ref>


सी में। 1987, एटी एंड टी ने [[ यूनिक्स प्रणाली वी ]]ी रिलीज 3 (एसवीआर3) में [[स्ट्रीम (नेटवर्किंग एपीआई)]] आधारित [[ ट्रांसपोर्ट लेयर इंटरफ़ेस ]] (टीएलआई) की शुरुआत की।<ref>{{harv|Goodheart|1994|p=11}}</ref> और रिलीज़ 4 (SVR4) में जारी रहा।<ref>{{harv|Goodheart|1994|p=17}}</ref>
अन्य शुरुआती कार्यान्वयन के लिए लिखा गया था <!--DEC-->[[टॉप -20]],<ref name="hcc98">[http://www.historyofcomputercommunications.info/Book/9/9.8_TCP-IP-XNS81-83.html historyofcomputercommunications.info - Book: 9.8 TCP/IP and XNS 1981 - 1983]</ref> <!--IBM-->[[एमवीएस]],<ref name="hcc98"/>[[वीएम (ऑपरेटिंग सिस्टम)]],<ref name="hcc98"/>[[आईबीएम पीसी डॉस]] | आईबीएम-डॉस (पीसीआईपी)<!--DOSv2.0-->.<ref name="hcc98"/><ref>[http://groups.csail.mit.edu/ana/Publications/PubPDFs/The%20Desktop%20Computer%20as%20a%20Network%20Participant.pdf The Desktop Computer as a Network Participant.pdf] 1985</ref>




== नेटवर्क उपकरण में सॉकेट ==
== नेटवर्क उपकरण में सॉकेट ==
सॉकेट मुख्य रूप से [[इंटरनेट प्रोटोकॉल सूट]] की [[ट्रांसपोर्ट परत]] या OSI मॉडल की [[सत्र परत]] में उपयोग की जाने वाली अवधारणा है। [[राउटर (कंप्यूटिंग)]] जैसे नेटवर्किंग उपकरण, जो [[इंटरनेट परत]] पर काम करते हैं, और [[ प्रसार बदलना ]], जो [[लिंक परत]] पर काम करते हैं, को परिवहन परत के कार्यान्वयन की आवश्यकता नहीं होती है। हालाँकि, स्टेटफुल [[ नेटवर्क फ़ायरवॉल ]], [[ नेटवर्क पता अनुवादक ]] और प्रॉक्सी सर्वर सक्रिय सॉकेट जोड़े का ट्रैक रखते हैं। राउटर में [[बहुपरत स्विच]] और [[सेवा की गुणवत्ता]] (क्यूओएस) समर्थन में[[कच्चा सॉकेट]] जोड़े के बारे में जानकारी निकालकर [[पैकेट प्रवाह]] की पहचान की जा सकती है।
सॉकेट मुख्य रूप से [[इंटरनेट प्रोटोकॉल सूट]] की [[ट्रांसपोर्ट परत|अभिगमन परत]] या ओएसआई मॉडल की [[सत्र परत]] में उपयोग की जाने वाली अवधारणा है। नेटवर्किंग उपकरण जैसे राउटर, जो इंटरनेट परत पर काम करते हैं, और स्विच, जो लिंक परत पर काम करते हैं, जिसको अभिगमन परत के कार्यान्वयन की आवश्यकता नहीं होती है। हालाँकि, स्टेटफुल नेटवर्क फायरवॉल, नेटवर्क एड्रेस स्थानांतरण और प्रॉक्सी सर्वर सक्रिय सॉकेट जोड़े का जांच करते हैं। राउटर में बहुपरत स्विच और सेवा की गुणवत्ता (क्यूओएस) समर्थन में, सॉकेट युग्म के बारे में जानकारी निकालकर पैकेट संचार की पहचान की जा सकती है।


कच्चे सॉकेट आमतौर पर नेटवर्क उपकरण में उपलब्ध होते हैं और [[IGRP]] और [[OSPF]] जैसे रूटिंग प्रोटोकॉल और इंटरनेट कंट्रोल मैसेज प्रोटोकॉल (ICMP) के लिए उपयोग किए जाते हैं।
रो सॉकेट सामान्य रूप से नेटवर्क उपकरण में उपलब्ध होते हैं और आईजीआरपी और [[OSPF|ओएसपीएफ]] जैसे रूटिंग प्रोटोकॉल और इंटरनेट नियंत्रण संदेश प्रोटोकॉल (आईसीएमपी) के लिए उपयोग किए जाते हैं।


== यह भी देखें ==
== यह भी देखें ==
* [[टीसीपी और यूडीपी पोर्ट नंबरों की सूची]]
* [[टीसीपी और यूडीपी पोर्ट नंबरों की सूची|टीसीपी और यूडीपी पोर्ट संख्या की सूची]]
* अव्यवस्थित यातायात
* अव्यवस्थित ट्रैफिक
* [[वेबसॉकेट]]
* [[वेबसॉकेट]]


Line 111: Line 110:


{{Inter-process communication}}
{{Inter-process communication}}
[[Category: नेटवर्क सॉकेट| नेटवर्क सॉकेट]]


[[Category: Machine Translated Page]]
[[Category:All articles with dead external links]]
[[Category:Articles with dead external links from February 2021]]
[[Category:Collapse templates]]
[[Category:Created On 11/05/2023]]
[[Category:Created On 11/05/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:नेटवर्क सॉकेट| नेटवर्क सॉकेट]]

Latest revision as of 17:03, 25 May 2023

नेटवर्क सॉकेट कंप्यूटर नेटवर्क के नोड (नेटवर्किंग) के अंदर एक सॉफ्टवेयर संरचना है जो पूरे नेटवर्क में डेटा प्रेषित करने और प्राप्त करने के लिए एक समापन बिंदु के रूप में कार्य करता है। सॉकेट की संरचना और गुणों को नेटवर्किंग संरचना के लिए एक एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) द्वारा परिभाषित किया गया है। नोड में चल रहे किसी एप्लिकेशन की प्रक्रिया के जीवनकाल के समय ही सॉकेट बनाए जाते हैं।

इंटरनेट के विकास में टीसीपी/इंटरनेट प्रोटोकॉल प्रोटोकॉल के मानकीकरण के कारण, शब्द 'नेटवर्क सॉकेट' इंटरनेट प्रोटोकॉल सूट के संदर्भ में सबसे अधिक उपयोग किया जाता है, और इसलिए इसे प्रायः इंटरनेट सॉकेट भी कहा जाता है। इस संदर्भ में, एक सॉकेट बाहरी रूप से अन्य होस्ट्स को उसके सॉकेट एड्रेस द्वारा पहचाना जाता है, जो अभिगमन प्रोटोकॉल, इंटरनेट प्रोटोकॉल ​​एड्रैस और पोर्ट संख्या का ट्रायड है।

सॉकेट शब्द का प्रयोग नोड-आंतरिक अंतर-प्रक्रिया संचार (आईपीसी) के सॉफ़्टवेयर समापन बिंदु के लिए भी किया जाता है, जो प्रायः उसी एपीआई का उपयोग नेटवर्क सॉकेट के रूप में करता है।

उपयोग

सॉफ़्टवेयर में सॉकेट शब्द का उपयोग विद्युत महिला संचालक के कार्य के अनुरूप है, हार्डवेयर में एक उपकरण जो विद्युत केबल से जुड़े नोड्स के बीच संचार के लिए होता है। इसी तरह, पोर्ट (कंप्यूटर नेटवर्किंग) शब्द का उपयोग किसी नोड या डिवाइस पर बाहरी भौतिक समापन बिंदुओं के लिए किया जाता है।

नेटवर्क प्रोटोकॉल स्टैक के लिए एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) एक एप्लिकेशन द्वारा बनाए गए प्रत्येक सॉकेट के लिए एक हैंडल (कंप्यूटिंग) बनाता है, जिसे सामान्य रूप से सॉकेट डिस्क्रिप्टर कहा जाता है। यूनिक्स जैसे ऑपरेटिंग सिस्टम में, यह डिस्क्रिप्टर एक प्रकार का फाइल डिस्क्रिप्टर है। यह संचार चैनल पर प्रत्येक पढ़ने और लिखने के संचालन के उपयोग के लिए एप्लीकेशन प्रक्रिया द्वारा संग्रहीत किया जाता है।

एपीआई के साथ निर्माण के समय, एक नेटवर्क सॉकेट प्रसारण के लिए उपयोग किए जाने वाले नेटवर्क प्रोटोकॉल के एक प्रकार, होस्ट के नेटवर्क एड्रैस और एक पोर्ट (कंप्यूटर नेटवर्किंग) के संयोजन के लिए बाध्य है। पोर्ट क्रमांकित संसाधन हैं जो नोड के अन्य प्रकार की सॉफ़्टवेयर संरचना का प्रतिनिधित्व करते हैं। वे सेवा प्रकार के रूप में उपयोग किए जाते हैं, और, एक बार एक प्रक्रिया द्वारा बनाए जाने के बाद, बाहरी रूप से (नेटवर्क से) एड्रैस योग्य स्थान घटक के रूप में काम करते हैं, ताकि अन्य होस्ट संयोजन स्थापित कर सकें।

नेटवर्क सॉकेट दो नोड्स के बीच संचार के लिए निरंतर संयोजन के लिए समर्पित हो सकते हैं, या वे संयोजन रहित संचार और बहु प्रसारण संचार में भाग ले सकते हैं।

व्यवहार में, इंटरनेट पर उपयोग में आने वाले टीसीपी/इंटरनेट प्रोटोकॉल प्रोटोकॉल के प्रसार के कारण, शब्द नेटवर्क सॉकेट सामान्य रूप से इंटरनेट प्रोटोकॉल (इंटरनेट प्रोटोकॉल) के साथ उपयोग को संदर्भित करता है। इसलिए इसे प्रायः 'इंटरनेट सॉकेट' भी कहा जाता है।

सॉकेट एड्रैस

एप्लिकेशन प्रोटोकॉल प्रकार, इंटरनेट प्रोटोकॉल एड्रेस और पोर्ट संख्या के संयोजन को जानकर टीसीपी / इंटरनेट प्रोटोकॉल के साथ डेटा का आदान-प्रदान करके एक दूरस्थ प्रक्रिया के साथ संचार कर सकता है। इस संयोजन को प्रायः सॉकेट एड्रेस के रूप में जाना जाता है। यह नेटवर्क सॉकेट के लिए नेटवर्क-आवरण अभिगम नियंत्रण है। दूरस्थ प्रक्रिया प्रोटोकॉल स्टैक के अपने स्वयं के उदाहरण में एक नेटवर्क सॉकेट स्थापित करती है, और एप्लिकेशन से संपर्क करने के लिए नेटवर्किंग एपीआई का उपयोग करती है, एप्लिकेशन द्वारा उपयोग के लिए अपना स्वयं का सॉकेट एड्रैस प्रस्तुत करती है।

कार्यान्वयन

प्रोटोकॉल स्टैक, सामान्य रूप से ऑपरेटिंग सिस्टम द्वारा प्रदान किया जाता है (उदाहरण के लिए, एक अलग लाइब्रेरी के अतिरिक्त), सेवाओं का एक सेट है जो प्रक्रियाओं को प्रोटोकॉल का उपयोग करके नेटवर्क पर संचार करने की स्वीकृति देता है जो स्टैक प्रयुक्त करता है। ऑपरेटिंग सिस्टम इंटरनेट प्रोटोकॉल और अभिगमन प्रोटोकॉल हेडर से सॉकेट एड्रेस की जानकारी निकालकर और एप्लिकेशन डेटा से हेडर को अलग करके आने वाले इंटरनेट प्रोटोकॉल पैकेट के पेलोड को संबंधित एप्लिकेशन को फॉरवर्ड करता है।

एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) जो प्रोग्राम नेटवर्क सॉकेट्स का उपयोग करके प्रोटोकॉल स्टैक के साथ संवाद करने के लिए उपयोग करते हैं, को सॉकेट एपीआई कहा जाता है। इस एपीआई का उपयोग करने वाले एप्लिकेशन प्रोग्राम के विकास को सॉकेट प्रोग्रामिंग या कंप्यूटर नेटवर्क प्रोग्रामिंग कहा जाता है। इंटरनेट सॉकेट एपीआई सामान्य रूप से बर्कले सॉकेट मानक पर आधारित होते हैं। बर्कले सॉकेट मानक में, यूनिक्स दर्शन के कारण सॉकेट फ़ाइल डिस्क्रिप्टर का एक रूप है, और सॉकेट और फाइलों के बीच समानताएं हैं। दोनों में पढ़ने, लिखने, खोलने और बंद करने के फ़ंक्शन हैं। व्यवहार में अंतर सादृश्य को अपेक्षा कर देते हैं, और सॉकेट पर विभिन्न इंटरफेस (प्रेषण और प्राप्त करें) का उपयोग किया जाता है। अंतर-प्रक्रिया संचार में, प्रत्येक सिरे का अपना सॉकेट होता है।

मानक इंटरनेट प्रोटोकॉल टीसीपी और यूडीपी में, एक सॉकेट एड्रेस एक इंटरनेट प्रोटोकॉल एड्रेस और एक पोर्ट संख्या का संयोजन होता है, जैसे टेलीफोन संयोजन का एक सिरे का फ़ोन संख्या और एक विशेष एक्सटेंशन (टेलीफोन) का संयोजन होता है। उदाहरण के लिए, केवल डेटा प्रेषित करने के लिए, सॉकेट के पास स्रोत पता नहीं होना चाहिए, लेकिन यदि कोई प्रोग्राम सॉकेट को स्रोत एड्रैस से परिबद्ध है, तो सॉकेट का उपयोग उस एड्रैस पर प्रेषित गए डेटा को प्राप्त करने के लिए किया जा सकता है। इस एड्रैस के आधार पर, इंटरनेट सॉकेट आने वाले डेटा पैकेट को उपयुक्त एप्लिकेशन प्रक्रिया (कंप्यूटिंग) तक पहुंचाते हैं।

सॉकेट प्रायः विशेष रूप से एक इंटरनेट सॉकेट या टीसीपी सॉकेट को संदर्भित करता है। एक इंटरनेट सॉकेट की न्यूनतम विशेषता निम्नलिखित है:

  • स्थानीय सॉकेट एड्रैस, जिसमें स्थानीय इंटरनेट प्रोटोकॉल एड्रैस और (टीसीपी और यूडीपी के लिए, लेकिन इंटरनेट प्रोटोकॉल नहीं) एक पोर्ट संख्या सम्मिलित है
  • प्रोटोकॉल: एक परिवहन प्रोटोकॉल, उदाहरण के लिए, टीसीपी, यूडीपी, रो इंटरनेट प्रोटोकॉल सम्मिलित है। इसका तात्पर्य है कि टीसीपी पोर्ट 53 और यूडीपी पोर्ट 53 के साथ (स्थानीय या दूरस्थ) एंडपॉइंट अलग-अलग सॉकेट हैं, जबकि इंटरनेट प्रोटोकॉल में पोर्ट नहीं हैं।
  • एक सॉकेट जिसे दूसरे सॉकेट से जोड़ा गया है, उदाहरण के लिए, टीसीपी संयोजन की स्थापना के समय, एक दूरस्थ सॉकेट एड्रेस भी होता है।

परिभाषा

सॉकेट (आंतरिक प्रतिनिधित्व), सॉकेट डिस्क्रिप्टर (अमूर्त पहचानकर्ता), और सॉकेट एड्रेस (सार्वजनिक एड्रैस) के बीच अंतर सूक्ष्म हैं, और ये सदैव दैनिक उपयोग में अलग नहीं होते हैं। इसके अतिरिक्त, सॉकेट की विशिष्ट परिभाषाएँ लेखकों के बीच भिन्न होती हैं। इन्टरनेट अभियांत्रिक कार्य दल टिप्पणियों के लिए अनुरोध, इंटरनेट मानक, कई पाठ्यपुस्तकों में, साथ ही साथ इस लेख में, सॉकेट शब्द एक इकाई को संदर्भित करता है जो विशिष्ट रूप से सॉकेट संख्या द्वारा पहचाना जाता है। अन्य पाठ्यपुस्तकों में,[1] सॉकेट शब्द एक स्थानीय सॉकेट एड्रेस को संदर्भित करता है, अर्थात इंटरनेट प्रोटोकॉल एड्रेस और पोर्ट संख्या का संयोजन [rfc:147 आरएफसी 147] में दी गई सॉकेट की मूल परिभाषा में,[2] जैसा कि 1971 में उन्नत अनुसंधान परियोजना संस्था नेटवर्क से संबंधित था, सॉकेट को 32 बिट संख्या के रूप में निर्दिष्ट किया गया है, यहां तक ​​​​कि सॉकेट्स प्राप्त करने वाले सॉकेट्स की पहचान करते हैं और विषम सॉकेट्स प्रेषित करने वाले सॉकेट्स की पहचान करते हैं। हालाँकि, आज सॉकेट संचार द्विदिश हैं।

ऑपरेटिंग सिस्टम के अंदर और सॉकेट बनाने वाले एप्लिकेशन में, सॉकेट को एक अद्वितीय पूर्णांक मान द्वारा संदर्भित किया जाता है जिसे सॉकेट डिस्क्रिप्टर कहा जाता है।

उपकरण

यूनिक्स जैसे ऑपरेटिंग सिस्टम और माइक्रोसॉफ़्ट विंडोज़ पर, कमांड-लाइन उपकरण नेटस्टैट या एसएस[3] स्थापित सॉकेट और संबंधित जानकारी को सूचीबद्ध करने के लिए उपयोग किया जाता है।

उदाहरण

बर्कले सॉकेट इंटरफ़ेस के अनुसार तैयार किया गया यह उदाहरण, स्ट्रिंग "हैलो, वर्ल्ड!" भेजता है। एड्रैस 1.2.3.4 के साथ होस्ट के पोर्ट 80 पर टीसीपी के माध्यम से। यह एक सॉकेट (गेटसॉकेट) के निर्माण को दिखाता है, इसे दूरस्थ होस्ट से जोड़ता है और, स्ट्रिंग प्रेषित करता है, और अंत में सॉकेट को बंद करता है:

Socket mysocket = getSocket(type = "TCP")
connect(mysocket, address = "1.2.3.4", port = "80")
send(mysocket, "Hello, world!")
close(mysocket)

प्रकार

कई प्रकार के इंटरनेट सॉकेट उपलब्ध हैं:

डेटाग्राम सॉकेट
संयोजन रहित सॉकेट, जो उपयोगकर्ता डाटाग्राम प्रोटोकॉल (यूडीपी) का उपयोग करते हैं।[4] डेटाग्राम सॉकेट पर भेजे या प्राप्त किए गए प्रत्येक पैकेट को व्यक्तिगत रूप से संबोधित और रूट किया जाता है। डेटाग्राम सॉकेट्स के साथ क्रम और विश्वसनीयता की प्रत्याभूति नहीं है, इसलिए एक मशीन या प्रक्रिया से दूसरे में प्रेषित किए गए कई पैकेट किसी भी क्रम में आ सकते हैं या नहीं आ सकते हैं। डेटाग्राम सॉकेट पर प्रसारण (नेटवर्किंग) प्रेषित करने के लिए विशेष कॉन्फ़िगरेशन की आवश्यकता हो सकती है।[5] प्रसारण पैकेट प्राप्त करने के लिए, एक डेटाग्राम सॉकेट को एक विशिष्ट एड्रैस के लिए बाध्य नहीं होना चाहिए, हालांकि कुछ कार्यान्वयनों में, डेटाग्राम सॉकेट एक विशिष्ट एड्रैस से परिबद्ध होने पर प्रसारण पैकेट भी प्राप्त हो सकते हैं।[6]
स्ट्रीम सॉकेट
संयोजन-उन्मुख सॉकेट, जो संचरण नियंत्रण प्रोटोकॉल (टीसीपी), स्ट्रीम नियंत्रण संचरण प्रोटोकॉल (एससीटीपी) या डेटाग्राम संकुलन नियंत्रण प्रोटोकॉल (डीसीसीपी) का उपयोग करते हैं। एक स्ट्रीम सॉकेट रिकॉर्ड सीमाओं के बिना त्रुटि-मुक्त डेटा का एक अनुक्रमित और अद्वितीय संचार प्रदान करता है, संयोजन बनाने और त्रुटियों को रिपोर्ट करने के लिए अच्छी तरह से परिभाषित तंत्र के साथ प्रदान करते है। एक स्ट्रीम सॉकेट डेटा विश्वसनीयता (कंप्यूटर नेटवर्किंग), क्रम में और आउट-ऑफ-बैंड क्षमताओं के साथ प्रसारित करता है। इंटरनेट पर, स्ट्रीम सॉकेट सामान्य रूप से टीसीपी का उपयोग करके कार्यान्वित किए जाते हैं ताकि एप्लिकेशन टीसीपी/इंटरनेट प्रोटोकॉल प्रोटोकॉल का उपयोग कर किसी भी नेटवर्क पर चल सकें।

रॉ सॉकेट

बिना किसी प्रोटोकॉल-विशिष्ट परिवहन परत स्वरूपण के सीधे इंटरनेट प्रोटोकॉल पैकेट प्रेषित करने और प्राप्त करने की स्वीकृति दें। अन्य प्रकार के सॉकेट के साथ, पेलोड (कंप्यूटिंग) स्वचालित रूप से चयन किए गए अभिगमन स्तर प्रोटोकॉल (जैसे टीसीपी, यूडीपी) के अनुसार एनकैप्सुलेशन (नेटवर्किंग) होता है, और सॉकेट उपयोगकर्ता प्रोटोकॉल हैडर (कंप्यूटिंग) के अस्तित्व से अज्ञात होता है जो इसके साथ प्रसारित होता है पेलोड रो सॉकेट से पढ़ते समय, हेडर सामान्य रूप से सम्मिलित होते हैं। रॉ सॉकेट से पैकेट संचारित करते समय, हेडर का स्वत: जोड़ वैकल्पिक होता है।
अधिकांश सॉकेट एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई), उदाहरण के लिए, जो बर्कले सॉकेट पर आधारित हैं, रो सॉकेट का समर्थन करते हैं। विन्डोज़ एक्सपी को 2001 में विनसॉक इंटरफ़ेस में रो सॉकेट समर्थन के साथ जारी किया गया था, लेकिन तीन साल बाद, माइक्रोसॉफ्ट ने सुरक्षा समस्याओ के कारण विनसॉक के रो सॉकेट समर्थन को सीमित कर दिया।[7]
एनएमएपी जैसे सुरक्षा से संबंधित अनुप्रयोगों में रो सॉकेट का उपयोग किया जाता है। रो सॉकेट के लिए एक उपयोग स्थिति उपयोगकर्ता स्थान में नए अभिगमन स्तर प्रोटोकॉल का कार्यान्वयन है।[8] रो सॉकेट सामान्य रूप से नेटवर्क उपकरण में उपलब्ध होते हैं, और इंटरनेट समूह प्रबंधन प्रोटोकॉल (आईजीएमपी) और ओपन शॉर्टेस्ट पाथ फ़र्स्ट (ओएसपीएफ) जैसे रूटिंग प्रोटोकॉल के लिए उपयोग किए जाते हैं, और इंटरनेट नियंत्रण संदेश प्रोटोकॉल (आईसीएमपी) में पिंग उपयोगिता द्वारा अन्य वस्तुओ के बीच उपयोग किया जाता है।[9]

अन्य सॉकेट प्रकार अन्य अभिगमन प्रोटोकॉल पर प्रयुक्त होते हैं, जैसे सिस्टम नेटवर्क संरचना[10] और आंतरिक अंतर-प्रक्रिया संचार के लिए यूनिक्स डोमेन सॉकेट होते है।

क्लाइंट-सर्वर मॉडल में सॉकेट स्टेट्स

एप्लीकेशन सेवाएं प्रदान करने वाली कंप्यूटर प्रक्रियाओं को सर्वर (कंप्यूटिंग) कहा जाता है, और स्टार्टअप पर सॉकेट बनाते हैं जो सुनने की स्थिति में होते हैं। ये सॉकेट क्लाइंट (कंप्यूटिंग) प्रोग्राम से स्वरूप की प्रतीक्षा कर रहे हैं।

टीसीपी सर्वर प्रत्येक क्लाइंट के लिए एक नई चाइल्ड प्रोसेस या प्रोसेसिंग थ्रेड में प्रत्येक क्लाइंट संयोजन के लिए एक अद्वितीय समर्पित सॉकेट बनाकर समवर्ती रूप से कई क्लाइंट्स की सेवा कर सकता है। ये स्थापित स्थिति में हैं जब सॉकेट-से-सॉकेट आभासी संयोजन या वर्चुअल परिपथ (वीसी), जिसे टीसीपी सत्र (कंप्यूटर विज्ञान) के रूप में भी जाना जाता है, दूरस्थ सॉकेट के साथ स्थापित होता है, जो डुप्लेक्स बाइट स्ट्रीम प्रदान करता है।

सर्वर समान स्थानीय पोर्ट संख्या और स्थानीय इंटरनेट प्रोटोकॉल एड्रैस के साथ कई समवर्ती रूप से स्थापित टीसीपी सॉकेट बना सकता है, प्रत्येक को अपनी सर्वर-चाइल्ड प्रक्रिया में मैप किया जाता है, जो अपनी क्लाइंट प्रक्रिया की सेवा करता है। दूरस्थ सॉकेट एड्रेस (क्लाइंट इंटरनेट प्रोटोकॉल एड्रेस या पोर्ट संख्या) अलग होने के कारण उन्हें ऑपरेटिंग सिस्टम द्वारा अलग-अलग सॉकेट के रूप में माना जाता है; अर्थात चूंकि उनके पास अलग-अलग सॉकेट युग्म हैं।

यूडीपी सॉकेट्स की स्थापित स्थिति नहीं है, क्योंकि प्रोटोकॉल संयोजन रहित है। एक यूडीपी सर्वर प्रक्रिया समान सॉकेट के माध्यम से क्रमिक रूप से सभी दूरस्थ क्लाइंट से आने वाले डेटाग्राम को नियंत्रित करती है। यूडीपी सॉकेट्स की पहचान दूरस्थ एड्रैस से नहीं, बल्कि केवल स्थानीय एड्रैस से की जाती है, हालाँकि प्रत्येक संदेश में एक संबंधित दूरस्थ एड्रैस होता है जिसे नेटवर्किंग एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) के साथ प्रत्येक डेटाग्राम से पुनर्प्राप्त किया जा सकता है।

सॉकेट युग्म

संचार करने वाले स्थानीय और दूरस्थ सॉकेट को सॉकेट युग्म कहा जाता है। प्रत्येक सॉकेट जोड़ी को एक अद्वितीय 4-टपल द्वारा वर्णित किया गया है जिसमें स्रोत और गंतव्य इंटरनेट प्रोटोकॉल एड्रैस और पोर्ट संख्या सम्मिलित हैं, अर्थात स्थानीय और दूरस्थ सॉकेट एड्रैस होता है।[11][12] जैसा कि ऊपर चर्चा की गई है, टीसीपी स्थितियों में, संयोजन के प्रत्येक सिरे पर एक सॉकेट युग्म एक अद्वितीय 4-ट्यूपल के साथ जुड़ी हुई है।

इतिहास

सॉकेट शब्द 1971 में [rfc:147 रेडियो आवृत चैनल 147] के प्रकाशन की तिथि है, जब इसका उपयोगउन्नत अनुसंधान परियोजना संस्था नेटवर्क में किया गया था। सॉकेट्स के अधिकांश आधुनिक कार्यान्वयन बर्कले सॉकेट्स (1983), और अन्य स्टैक्स जैसे विंसॉक (1991) पर आधारित हैं। बर्कले सॉफ्टवेयर वितरण (बीएसडी) में बर्कले सॉकेट्स एपीआई, एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस के रूप में 4.2बीएसडी यूनिक्स ऑपरेटिंग सिस्टम के साथ उत्पन्न हुआ। केवल 1989 में, हालांकि, कैलिफोर्निया विश्वविद्यालय, बर्कले एटी और टी के कॉपीराइट-संरक्षित यूनिक्स की लाइसेंसिंग प्रतिबंधित करने से मुक्त अपने ऑपरेटिंग सिस्टम और नेटवर्किंग लाइब्रेरी के संस्करण जारी कर सका।

सी में। 1987, एटी और टी ने यूनिक्स प्रणाली वी प्रकाशन 3 (एसवीआर3) में स्ट्रीम (नेटवर्किंग एपीआई) आधारित अभिगमन स्तर इंटरफ़ेस (टीएलआई) के प्रारंभ [13] और प्रकाशन 4 (एसवीआर4) में जारी रहा।[14]

अन्य प्रारम्भिक कार्यान्वयन टीओपीएस-20,[15] एमवीएस,[15] वीएम (ऑपरेटिंग सिस्टम),[15] आईबीएम-डॉस (पीसीआईपी) के लिए लिखा गया था[15][16]


नेटवर्क उपकरण में सॉकेट

सॉकेट मुख्य रूप से इंटरनेट प्रोटोकॉल सूट की अभिगमन परत या ओएसआई मॉडल की सत्र परत में उपयोग की जाने वाली अवधारणा है। नेटवर्किंग उपकरण जैसे राउटर, जो इंटरनेट परत पर काम करते हैं, और स्विच, जो लिंक परत पर काम करते हैं, जिसको अभिगमन परत के कार्यान्वयन की आवश्यकता नहीं होती है। हालाँकि, स्टेटफुल नेटवर्क फायरवॉल, नेटवर्क एड्रेस स्थानांतरण और प्रॉक्सी सर्वर सक्रिय सॉकेट जोड़े का जांच करते हैं। राउटर में बहुपरत स्विच और सेवा की गुणवत्ता (क्यूओएस) समर्थन में, सॉकेट युग्म के बारे में जानकारी निकालकर पैकेट संचार की पहचान की जा सकती है।

रो सॉकेट सामान्य रूप से नेटवर्क उपकरण में उपलब्ध होते हैं और आईजीआरपी और ओएसपीएफ जैसे रूटिंग प्रोटोकॉल और इंटरनेट नियंत्रण संदेश प्रोटोकॉल (आईसीएमपी) के लिए उपयोग किए जाते हैं।

यह भी देखें

संदर्भ

  1. Cisco Networking Academy Program, CCNA 1 and 2 Companion Guide Revised Third Edition, P.480, ISBN 1-58713-150-1
  2. RFC 147
  3. Jack Wallen (2019-01-22). "एसएस कमांड का परिचय".
  4. V. S. Bagad, I. A. Dhotre (2008), Computer Networks (5th revised edition, 2010 ed.), Technical Publications Pune, p. 52
  5. SO_BROADCAST, Microsoft, retrieved 2019-12-12
  6. Class DatagramSocket, Oracle, retrieved 2019-12-12
  7. Ian Griffiths for IanG on Tap. 12 August 2004. Raw Sockets Gone in XP SP2
  8. "raw(7): IPv4 raw sockets - Linux man page". die.net.
  9. "रॉ आईपी नेटवर्किंग एफएक्यू". faqs.org.
  10. "www-306.ibm.com - AnyNet Guide to Sockets over SNA". Archived from the original on 2008-05-03. Retrieved 2006-09-07.
  11. books.google.com - UNIX Network Programming: The sockets networking API
  12. books.google.com - Designing BSD Rootkits: An Introduction to Kernel Hacking
  13. (Goodheart 1994, p. 11)
  14. (Goodheart 1994, p. 17)
  15. 15.0 15.1 15.2 15.3 historyofcomputercommunications.info - Book: 9.8 TCP/IP and XNS 1981 - 1983
  16. The Desktop Computer as a Network Participant.pdf 1985


अग्रिम पठन

  • Jones, Anthony; Ohlund, Jim (2002). Network Programming for Microsoft Windows. ISBN 0-7356-1579-9.


बाहरी संबंध