Być może myślisz o liczbie portów. W bieżącej wersji IPv4 dostępnych jest 65536 portów w TCP. To nie jest tylko ograniczenie Linuksa, to część protokołu. Twój adres IP identyfikuje twój komputer, a port identyfikuje program na twoim komputerze.
Ale liczba połączeń nie jest przez to ograniczona. Połączenie składa się z 5 informacji, w geeku mów 5-krotkę. Jest on określony przez protokół (TCP, UDP), lokalny adres IP i port oraz zdalny adres IP i port. Więc weź serwer WWW. Może obsługiwać wiele połączeń na tym samym porcie (najprawdopodobniej 80). Twój serwer może obsługiwać wiele połączeń z tym samym komputerem klienckim. Załóżmy, że łączysz się z google.com z dwóch okien. Twoje urządzenie wybierze nieużywany port dla każdego połączenia. Tak więc serwer google będzie musiał śledzić (TCP, google.com, 80, twoja maszyna, someport1) i (TCP, google.com, 80, twoja maszyna, someport2). W pewnym momencie wpadniesz na limity, ale nie jest to twardy limit i jest bardzo zależny od systemu.
I tak, każde gniazdo jest deskryptorem pliku, ale nie wszystkie maszyny używają skrótów do tabeli fd. W moim systemie, który nie jest dostrojony w ogóle, cat /proc/sys/fs/file-max
daje 323997. Jestem pewien, że mógłbym go poprawić, jeśli zajdzie taka potrzeba.
Istnieje więc limit 65336, ale dotyczy on adresowania, a nie liczby połączeń. Liczba połączeń jest ograniczona, ale bardziej z powodu konfiguracji systemu i ilości pamięci.