Pojedynczy port nasłuchujący może akceptować więcej niż jedno połączenie jednocześnie.
Często przywoływany jest limit „64 KB”, ale dotyczy on jednego klienta na port serwera i wymaga wyjaśnienia.
Każdy pakiet TCP / IP ma zasadniczo cztery pola adresowania; to są:
source_ip source_port destination_ip destination_port
< client > < server >
Wewnątrz stosu TCP te cztery pola są używane jako klucz złożony, aby dopasować pakiety do połączeń (np. Deskryptory plików).
Jeśli klient ma wiele połączeń z tym samym portem w tym samym miejscu docelowym, wówczas trzy z tych pól będą takie same - source_port
zmienia się tylko w celu rozróżnienia różnych połączeń. Porty są liczbami 16-bitowymi, dlatego maksymalna liczba połączeń, które dany klient może mieć z danym portem hosta, wynosi 64 KB.
Jednak wielu klientów może mieć do 64 KB połączeń z portem jakiegoś serwera, a jeśli serwer ma wiele portów lub jedno z wielu adresów, możesz to jeszcze bardziej pomnożyć.
Tak więc prawdziwym ograniczeniem są deskryptory plików. Każde pojedyncze połączenie z gniazdem ma deskryptor pliku, więc limitem jest tak naprawdę liczba deskryptorów plików, na które system został skonfigurowany, aby umożliwić obsługę zasobów. Maksymalny limit wynosi zwykle ponad 300 KB, ale można go konfigurować np. Za pomocą sysctl .
Realistyczne limity, jakie można się pochwalić w przypadku zwykłych urządzeń, to około 80 000, na przykład jedno-wątkowe serwery wiadomości Jabber.