Коротка відповідь - ні, це не межа.
Поле TCP Порт 2x байт і має кількість 65536. Це число обмежує кількість адрес сервер може мати. Але це не обмежує кількість клієнтів ~ 64k. Кожен пакет TCP має два портових поля, одне для місця призначення та одне для джерела (а також два IP-адреси).
Дане TCP-з'єднання - кордон джерела та місця призначення, кожен з IP-адресою та номером порту. Місце призначення (сторона сервера) залишається фіксованим, але адреса джерела (сторона клієнта) може змінюватись як на порту, так і на IP-адресі.
Поміркуйте:
- IP сервера - 100.0.0.1 (виправлено)
- Порт сервера - 80 (виправлено)
- IP клієнта - 0,0.0,0 - 255,255,255,255 (32-бітний діапазон)
- Клієнтський порт - 0 - 65535 (16-бітний діапазон)
Так, клієнт (або офіс) з однією IP-адресою може підключитися до вашого сервера лише 65535 разів одночасно, але якщо у цього клієнта (або офісу) було кілька IPv4-адрес, вони могли б з'єднати багато кращих із цим більше.
Зазвичай мільйони IP-адрес, які використовуються на багатьох клієнтських пристроях, і якщо вони повинні використовувати лише один вихідний порт для підключення до вашого одного порту сервера, то вже ви можете побачити потенціал вийти за межі номера 65536.
Теоретичний математичний межа протоколу IP / TCP становить 2 ^ 32 * 2 ^ 16. Практично кількість IP-адрес менша - вам потрібно буде відняти деякі зарезервовані IP-блоки. Крім того, практично кількість клієнтських портів менша, оскільки на типовому клієнтському комп'ютері буде запущено декілька додатків, що підключаються до інших серверів, що також зменшує пул портів TCP, але цей пул рідко використовується - як тільки сесія TCP закінчиться, номер порта знову доступний у басейні.
Примітка. Для IPv6 кількість IP-адрес збільшується, але поле Порт для TCP залишається такого ж розміру.