यद्यपि यह प्रश्न पहले से ही उत्तर के रूप में चिह्नित किया गया है, मैं ओपी में पूछे गए कुछ अतिरिक्त प्रश्नों को संबोधित करना चाहता था।
क्या ये बंदरगाह भौतिक वस्तुएं हैं?
कोई भी पोर्ट भौतिक वस्तु नहीं हैं।
पोर्ट नंबर एक 16-बिट अहस्ताक्षरित पूर्णांक है, जिसका अर्थ है कि उपयोग के लिए उपलब्ध पोर्ट की सीमा 1 से 65535 तक है (पोर्ट नंबर 0 आरक्षित है और इसका उपयोग नहीं किया जा सकता है)। एक प्रक्रिया अपने इनपुट या आउटपुट चैनलों को इंटरनेट सॉकेट, एक प्रकार के फ़ाइल डिस्क्रिप्टर, एक ट्रांसपोर्ट प्रोटोकॉल, एक पोर्ट नंबर और एक आईपी पते के साथ जोड़ती है। इस प्रक्रिया को बाध्यकारी के रूप में जाना जाता है, और नेटवर्क के माध्यम से डेटा भेजने और प्राप्त करने में सक्षम बनाता है।
क्या वे मेरे कंप्यूटर के हिस्से में निर्मित हैं? क्या वे कुछ शारीरिक भी हैं? या कोड में लिखा है? यह कोड कहां है? ऑपरेटिंग सिस्टम? वास्तव में एक बंदरगाह क्या है?
ऑपरेटिंग सिस्टम के नेटवर्किंग सॉफ़्टवेयर में नेटवर्क पर सभी एप्लिकेशन पोर्ट से आउटगोइंग डेटा को ट्रांसमिट करने और पैकेट के आईपी पते और पोर्ट नंबर के मिलान से आने वाले नेटवर्क पैकेट को एक प्रक्रिया में भेजने का कार्य है।
केवल एक प्रक्रिया एक विशिष्ट आईपी पते और एक ही परिवहन प्रोटोकॉल का उपयोग करके पोर्ट संयोजन के लिए बाध्य हो सकती है। सामान्य अनुप्रयोग विफलताओं, जिसे कभी-कभी पोर्ट टकराव कहा जाता है, तब होते हैं जब कई प्रोग्राम एक ही प्रोटोकॉल का उपयोग करके एक ही आईपी पते पर एक ही पोर्ट नंबर से बांधने का प्रयास करते हैं।
उपरोक्त अनुच्छेद यह समझने की कुंजी है कि नेटवर्किंग में पोर्ट / प्रोटोकॉल का उपयोग क्यों किया जाता है। यदि हमारे पास प्रोटोकॉल निर्दिष्ट करने का कोई तरीका नहीं है, जो डेटा को एक सहमत एपन पोर्ट नंबर पर प्रसारित करता है - तो आप एक समय में 1 से अधिक काम नहीं कर पाएंगे (अपने ईमेल की जांच करें और वेब का उपयोग करें) क्योंकि आपका कंप्यूटर होगा आपके ईमेल क्लाइंट और आपके द्वारा ब्राउज़ की जा रही वेबसाइट के डेटा के बीच अंतर करने का कोई तरीका नहीं है।
कितने बंदरगाह हैं?
पोर्ट नंबरों को तीन तरीकों के आधार पर विभिन्न तरीकों से सौंपा गया है:
अच्छी तरह से ज्ञात / सिस्टम पोर्ट (0-1023) - पोर्ट की इस श्रेणी का उपयोग सिस्टम प्रक्रियाओं द्वारा किया जाता है जो व्यापक रूप से उपयोग की जाने वाली प्रकार की नेटवर्क सेवाएं प्रदान करते हैं (HTTP / 80, HTTPS / 443, टेलनेट / 21, SSH / 22)
पंजीकृत / उपयोगकर्ता पोर्ट (1024-49151) - 1024 से 49151 पोर्ट संख्या की सीमा पंजीकृत पोर्ट हैं। वे एक अनुरोध इकाई द्वारा आवेदन पर विशिष्ट सेवा के लिए IANA द्वारा असाइन किए गए हैं। (वेबमिन / 10000, एचटीटीपी प्रॉक्सी / 8080, रिमोट डेस्कटॉप प्रोटोकॉल / 3389, आदि)
एपेहेरल / डायनेमिक / प्राइवेट पोर्ट (49152-65535) - रेंज 49152–65535 में डायनामिक या प्राइवेट पोर्ट होते हैं जिन्हें IANA के साथ पंजीकृत नहीं किया जा सकता है। इस सीमा का उपयोग कस्टम या अस्थायी उद्देश्यों के लिए और पंचांग बंदरगाहों के स्वचालित आवंटन के लिए किया जाता है।
क्या मैं बंदरगाहों की संख्या बढ़ा या घटा सकता हूं?
उपलब्ध पोर्ट की संख्या बढ़ाने में सक्षम होने के कारण, आप गणित के कारण 65535 से ऊपर पोर्ट को असाइन नहीं कर सकते हैं जो नेटवर्किंग को काम करने की अनुमति देता है (बाइनरी) - इसलिए इस प्रश्न का उत्तर नहीं है, आप उपलब्ध संख्या की कुल संख्या में वृद्धि नहीं कर सकते हैं। बंदरगाहों 65535 से ऊपर।
प्रोटोकॉल क्या हैं?
कंप्यूटर विज्ञान के भीतर, संचार प्रोटोकॉल कंप्यूटर के भीतर या उसके बीच संदेश विनिमय के लिए डिजिटल नियमों की एक प्रणाली है। जब संदेशों का आदान-प्रदान कंप्यूटर नेटवर्क के माध्यम से किया जाता है, तो नियम प्रणाली को नेटवर्क प्रोटोकॉल कहा जाता है। एक प्रोटोकॉल मूल रूप से निर्देशों / आदेशों / कॉल के सेट पर एक सहमति है जो दो नेटवर्क वाले डिवाइस दोनों पर संवाद कर सकते हैं। सोचें कि क्या हम प्रोटोकॉल और वेब सर्वर पर केवल वेब ब्राउजरों को बेतरतीब ढंग से भेजे गए डेटा पर सहमत नहीं हुए हैं कि ब्राउज़र को पता नहीं था कि क्या करना है? सौभाग्य से हमारे पास HTTP है और जो हर वेब ब्राउजर ने बनाया है वह सॉफ्टवेयर में बना है इसलिए यह किसी भी वेब सर्वर के साथ संवाद कर सकता है जो समान भाषा (HTTP) भी बोलता है।
मुझे लगता है कि वे कुछ प्रकार के कोड हैं .... क्या आप अपना प्रोटोकॉल बना सकते हैं? प्रोटोकॉल बनाने के लिए आप किस भाषा का उपयोग करते हैं?
हाँ आप अपने खुद के प्रोटोकॉल बना सकते हैं। प्रोटोकॉल विभिन्न प्रकार की भाषाओं में लिखे गए हैं। मैं कोई सॉफ्टवेयर डेवलपर नहीं हूं, लेकिन मुझे पूरा यकीन है कि जब तक आप जिस भी भाषा का उपयोग कर रहे हैं, उसमें पुस्तकालय हैं जो आपको सॉफ्टवेयर लिखने की अनुमति देते हैं जो टीसीपी / आईपी पर संवाद कर सकते हैं (अन्य प्रोटोकॉल सूट हैं, लेकिन टीसीपी / आईपी सबसे अधिक है व्यापक रूप से) आप एक प्रोटोकॉल लिखने के लिए उस भाषा का उपयोग कर सकते हैं। प्रोग्रामिंग भाषा 'C' प्रोटोकॉल लिखने के लिए सबसे अधिक इस्तेमाल की जाती है। यह इस तथ्य के कारण है कि 1970 के दशक में UNIX पर कई पहले नेटवर्क प्रोटोकॉल विकसित किए गए थे और सी उस भाषा के रूप में होता है जिसे UNIX में ही लिखा गया है।
विशिष्ट प्रोटोकॉल चलाने के लिए आपको एक विशिष्ट पोर्ट कैसे मिलता है?
यह ओएस के बीच काफी भिन्न है। उदाहरण के लिए, पोर्ट नंबर को बदलने के लिए दूरस्थ डेस्कटॉप प्रोटोकॉल विंडोज में चलता है, आपको रजिस्ट्री को संपादित करना होगा। लिनक्स पर, कई नेटवर्क सेवाओं को एक विशेष नेटवर्क सेवा के लिए सीधे .conf फ़ाइल से कॉन्फ़िगर किया जा सकता है।
आप एक नए प्रोटोकॉल को कैसे परिभाषित या आविष्कार करते हैं?
किसी ऐसे व्यक्ति के ब्लॉग पोस्ट के लिए https://journal.paul.querna.org/articles/2012/02/22/designing-network-protocols/ देखें जिन्होंने हाल ही में एक नया नेटवर्किंग प्रोटोकॉल विकसित किया है और उन्हें किस तरह की चीजें करनी हैं जिस तरह से साथ।