मुझे नए टूल के लिए पोर्ट नंबर का चयन कैसे करना चाहिए?


13

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

मुझे किसी डिफ़ॉल्ट पोर्ट को चुनने के बारे में कैसे जाना चाहिए जो कम से कम उनके उपकरण के लिए किसी अन्य व्यक्ति द्वारा "दावा" किए जाने की संभावना है? क्या कोई ऐसा डेटाबेस है जो सभी ज्ञात (यहां तक ​​कि अपरंपरागत) पोर्ट उपयोग की पहचान करता है?


3
यह आम तौर पर केवल एक समस्या है अगर कुछ पहले से ही सर्वर पर पोर्ट का उपयोग कर रहा है। हालाँकि, पोर्ट कॉन्फ़िगर करने योग्य होना चाहिए। मैंने देखा है कि बहुत सारे सॉफ्टवेयर में हार्डकोड पोर्ट होते हैं, जो कि आप नहीं चाहते हैं।
देवीकेनुल

@devicenull मेरे पास निश्चित रूप से डिफ़ॉल्ट को ओवरराइड करने का विकल्प होगा।
जैस ब्राउनिंग

3
यदि आपकी दाढ़ी काफी ग्रे है, तो आप आरपीसी का उपयोग कर सकते हैं और अपने स्वयं के समापन बिंदु को पंजीकृत कर सकते हैं। msdn.microsoft.com/en-us/library/windows/desktop/…
रयान रीस

2
जब तक आपके पास एक बड़ा कारण यह नहीं है कि मौजूदा प्रोटोकॉल का उपयोग करना बेहतर है जहां आप कर सकते हैं। a) यह सोचना स्वाभाविक है कि आप एक बेहतर काम कर सकते हैं, ज्यादातर लोगों के लिए जो सच नहीं है। लेकिन जब आप कर सकते हैं तब भी, क्या यह बेहतर है कि प्रतिरूप ख) नेटवर्क उपकरण / उपकरण पहले से ही मौजूदा मानकों के साथ काम करने के लिए तैयार हैं। नए लोगों को जोड़ने के लिए एक बाधा और काम करने की मात्रा है।
जेम्सरन

2
आंतरिक सहयोग के लिए कुछ भी> 1024 और <32768 (अल्पकालिक पोर्ट बाइंडिंग से रक्षा करना चाहिए) और आईएएनए पोर्ट रजिस्ट्री में सूचीबद्ध नहीं होना ठीक होगा, बशर्ते आप अपने आंतरिक डिपो को प्रभावी ढंग से संवाद करें जो आपने पोर्ट लिया है।
मैथ्यू इफ

जवाबों:


16

हां, IANA आधिकारिक सेवा और पोर्ट नंबर रजिस्ट्री को बनाए रखता है ।

पोर्ट क्रमांक आपको सौंपे जाने की प्रक्रिया RFC 6335 में प्रलेखित है । किसी भी पोर्ट असाइनमेंट के लिए एक समीक्षा प्रक्रिया की आवश्यकता होती है, लेकिन यह बंदरगाहों के लिए बहुत सख्त है <1024; इस तरह के असाइनमेंट के लिए (अन्य बातों के अलावा) की आवश्यकता होती है कि आपका प्रोटोकॉल RFC में प्रलेखित है।

(ध्यान दें कि यह प्रक्रिया अपेक्षाकृत नई है और इसमें कई असाइन किए गए पोर्ट हैं जो दादाजी थे।)

<1024 के लिए, पोर्ट 1021 और 1022 प्रयोग के लिए आरक्षित हैं; ऊपर, प्रयोग के लिए आप बस एक डायनेमिक पोर्ट> = 49152 का उपयोग कर सकते हैं।


1
"अनसाइनड" की खोज के लिए शॉर्टकट: iana.org/assignments/service-names-port-numbers/…
Jace Browning

3

ज्यादातर मामलों में केवल HTTP का उपयोग करना बेहतर होता है, जितनी जल्दी या बाद में एक फ़ायरवॉल होगा जिसे आपको पार करना होगा। अधिकांश OS, HTTP पता स्थान को प्रक्रियाओं के बीच विभाजित करने की अनुमति देते हैं।


2
मैं भ्रमित हूं, क्या मैं किसी भी पोर्ट पर HTTP का उपयोग नहीं कर सकता हूं? मैं डिफ़ॉल्ट रूप से नहीं करना चाहता :80या :8080क्योंकि वहाँ एक मजबूत संभावना है जो पहले से ही उपयोग में हैं। क्या मेरा प्रश्न अभी भी मान्य नहीं है?
Jace Browning

@JaceBrowning, हाँ, आप कर सकते हैं, लेकिन किसी भी अन्य पोर्ट का उपयोग करना इतिहास का एक अजीब सा हिस्सा है :-)। कोई भी सभ्य OS, आपको अनुप्रयोगों के बीच HTTP नेमस्पेस को विभाजित करने देगा।
इयान रिंगरोज 22
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.