क्या लिनक्स पर आईपी पते के लिए 65536 ओपन टीसीपी कनेक्शन की एक कठिन सीमा है?


23

क्या लिनक्स पर आईपी पते के लिए 65536 ओपन टीसीपी कनेक्शन की एक कठिन सीमा है? मैंने कहीं पढ़ा है कि वहाँ था, लेकिन कोई पुष्टि के लिए पूछ रहा है और मैं इसे नहीं ढूंढ सकता।

मुझे याद है कि यह फाइल डिस्क्रिप्टर 16 बिट पूर्णांक होने के बारे में कुछ था जो इसे किसी तरह सीमित करता है?

या यह हुकुम है, और क्या सर्वर के अलावा और कोई सीमा नहीं है?

जवाबों:


35

आप बंदरगाहों की संख्या के बारे में सोच रहे होंगे। IPv4 के वर्तमान संस्करणों में टीसीपी में 65536 पोर्ट उपलब्ध हैं। यह सिर्फ एक लिनक्स सीमा नहीं है, इसके प्रोटोकॉल का हिस्सा है। आपका आईपी पता आपकी मशीन की पहचान करता है, और पोर्ट आपकी मशीन पर एक प्रोग्राम की पहचान करता है।

लेकिन, कनेक्शन की संख्या इसके द्वारा सीमित नहीं है। एक कनेक्शन में जानकारी के 5 टुकड़े होते हैं, गीक में 5-ट्यूपल बोलते हैं। यह प्रोटोकॉल (टीसीपी, यूडीपी), स्थानीय आईपी पते और पोर्ट, और दूरस्थ आईपी पते और पोर्ट द्वारा निर्धारित किया जाता है। तो, एक वेबसर्वर ले लो। यह एक ही बंदरगाह पर कई कनेक्शनों की सेवा कर सकता है (सबसे अधिक संभावना 80)। आपका वेबसर्वर भी एक ही ग्राहक मशीन के लिए कई कनेक्शन का समर्थन कर सकता है। कहते हैं, आप दो विंडो से google.com से जुड़ रहे हैं। आपकी मशीन प्रत्येक कनेक्शन के लिए अप्रयुक्त पोर्ट को चुनेगी। तो, google के सर्वर को (TCP, google.com, 80, yourmachine, someport1) और (TCP, google.com, 80, yourmachine, someport2) का ट्रैक रखना होगा। कुछ बिंदु पर आप सीमा में टकराएँगे, लेकिन यह एक कठिन सीमा नहीं है, और बहुत ही सिस्टम निर्भर है।

और हां, प्रत्येक सॉकेट एक फ़ाइल डिस्क्रिप्टर है, लेकिन सभी मशीनें fd टेबल के लिए शॉर्ट्स का उपयोग नहीं करती हैं। मेरे सिस्टम पर, सभी सिस्टम में एक ट्यून नहीं है, cat /proc/sys/fs/file-max323997 देता है। मुझे यकीन है कि अगर मुझे ज़रूरत थी तो मैं इसे बढ़ा सकता हूं।

तो, 65336 की सीमा है, लेकिन इसका संबंध कनेक्शनों की संख्या से नहीं, बल्कि संबोधन से है। कनेक्शन की संख्या सीमित है, लेकिन सिस्टम कॉन्फिगरेशन से अधिक है, और इसमें कितनी मेमोरी है।


2
तो, 5-ट्यूपल फिर से करें: भले ही मैं 65536 बंदरगाहों तक सीमित हूं, लेकिन यह मुझे आने वाले आईपी पते के प्रति केवल 64k कनेक्शन तक सीमित करता है , क्या यह सही है? तो एकमात्र सीमा फ़ाइल डिस्क्रिप्टर है, लेकिन वे जरूरी 16 बिट नहीं हैं? तो मूल रूप से आप जो कह रहे हैं, उसकी कोई सीमा नहीं है?
क्रिस

1
हाँ। इन्हें भी देखें: en.wikipedia.org/wiki/Transmission_Control_Protocol अनुभाग "संसाधन उपयोग"
user12889

3
@ क्रिस: एक स्थानीय पोर्ट पर आने वाले आईपी पते के अनुसार 64k कनेक्शन , हाँ।
ग्रैविटी

@ क्रिस ने क्या कहा है। 5-ट्यूपल में अन्य मशीन के साथ 65536 संयोजन तक (लेकिन कभी नहीं पहुंचेंगे) तक होगा। वास्तव में, आप वहां कभी नहीं पहुंचेंगे क्योंकि एक मशीन कनेक्शन के लिए किसी पुराने पोर्ट का उपयोग नहीं कर सकती है - कुछ विशिष्ट कारणों के लिए आरक्षित हैं।
रिच होमोलका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.