Można by pomyśleć, że nakłada to sztywny limit na liczbę klientów obsługiwanych przez jeden komputer / aplikację.
Można nadzorować serwer WWW i wymagać, aby można go było skalować do poziomów użytkowania, które przekraczają około 65 000 połączeń.
W przypadku oprogramowania istnieją pewne osobne kwestie ( /programming/1575453/how-many-socket-connections-can-a-web-server-handle )
Odpowiedzi:
Krótka odpowiedź brzmi: nie, to nie jest limit.
Pole TCP Port jest 2x bajty i posiada pewną ilość 65536. Liczba ta ogranicza ilość adresów serwer może mieć. Ale to nie ogranicza liczby klientów do ~ 64 tys. Każdy pakiet TCP ma dwa pola Port, jedno dla miejsca docelowego i jedno dla źródła (a także dwa adresy IP).
Dane połączenie TCP jest krotką źródła i miejsca docelowego, każde z adresem IP i numerem portu. Miejsce docelowe (po stronie serwera) pozostaje stałe, ale adres źródłowy (po stronie klienta) może się różnić zarówno dla portu I adresu IP.
Rozważać:
Tak, klient (lub biuro) z jednym adresem IP może połączyć się z serwerem tylko 65535 razy jednocześnie, ale jeśli ten klient (lub biuro) miał wiele adresów IPv4, może połączyć wiele wielokrotności tego więcej.
Zazwyczaj miliony adresów IP są używane na wielu urządzeniach klienckich, a jeśli miałyby używać tylko jednego portu źródłowego, aby połączyć się z portem jednego serwera, to już widać potencjał, by wyjść poza liczbę 65536.
Teoretyczna matematyczna granica protokołu IP / TCP wynosi 2 ^ 32 * 2 ^ 16. Praktycznie liczba adresów IP jest mniejsza - trzeba by odjąć dla niektórych zastrzeżonych bloków IP. Praktycznie także liczba portów po stronie klienta jest niższa, ponieważ typowy komputer kliencki będzie uruchamiał wiele aplikacji łączących się z innymi serwerami, co również zmniejsza pulę portów TCP, ale ta pula jest rzadko wykorzystywana - po zakończeniu sesji TCP numer portu jest ponownie dostępny w basenie.
Uwaga: W przypadku IPv6 liczba adresów IP znacznie wzrasta, ale pole Port dla TCP pozostaje tego samego rozmiaru.
źródło