आप बंदरगाहों की संख्या के बारे में सोच रहे होंगे। 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-max
323997 देता है। मुझे यकीन है कि अगर मुझे ज़रूरत थी तो मैं इसे बढ़ा सकता हूं।
तो, 65336 की सीमा है, लेकिन इसका संबंध कनेक्शनों की संख्या से नहीं, बल्कि संबोधन से है। कनेक्शन की संख्या सीमित है, लेकिन सिस्टम कॉन्फिगरेशन से अधिक है, और इसमें कितनी मेमोरी है।