Anda mungkin memikirkan jumlah port. Ada 65536 port yang tersedia di TCP dalam versi IPv4 saat ini. Ini bukan hanya batasan Linux, ini adalah bagian dari protokol. Alamat IP Anda mengidentifikasi mesin Anda, dan port mengidentifikasi program di mesin Anda.
Tetapi, jumlah koneksi tidak dibatasi oleh itu. Sambungan terdiri dari 5 buah info, di geek berbicara 5-tuple. Itu ditentukan oleh protokol (TCP, UDP), alamat IP lokal dan port, dan alamat IP jarak jauh dan port. Jadi, ambil server web. Ini dapat melayani banyak koneksi pada port yang sama (kemungkinan besar 80). Server web Anda bahkan dapat mendukung beberapa koneksi ke mesin klien yang sama. Katakanlah, Anda terhubung ke google.com dari dua jendela. Mesin Anda akan memilih port yang tidak digunakan untuk setiap koneksi. Jadi, server google harus melacak (TCP, google.com, 80, yourmachine, som1) dan (TCP, google.com, 80, yourmachine, someport2). Pada titik tertentu Anda akan menemukan batas, tetapi ini bukan batas yang sulit, dan sangat bergantung pada sistem.
Dan ya, setiap soket adalah deskriptor file, tetapi tidak semua mesin menggunakan celana pendek untuk tabel fd. Di sistem saya, sistem yang tidak disetel sama sekali, cat /proc/sys/fs/file-max
memberikan 323997. Saya yakin saya bisa meningkatkannya jika perlu.
Jadi, ada batas 65336, tetapi itu ada hubungannya dengan pengalamatan, bukan jumlah koneksi. Jumlah koneksi terbatas, tetapi lebih banyak berdasarkan konfigurasi sistem, dan berapa banyak memori yang dimilikinya.