Один порт прослушивания может принимать более одного подключения одновременно.
Часто упоминается ограничение в 64 КБ, но оно относится к каждому клиенту на порт сервера и требует уточнения.
Каждый пакет TCP / IP имеет в основном четыре поля для адресации; Эти:
source_ip source_port destination_ip destination_port
< client > < server >
Внутри стека TCP эти четыре поля используются в качестве составного ключа для сопоставления пакетов с соединениями (например, файловыми дескрипторами).
Если у клиента много подключений к одному и тому же порту в одном и том же пункте назначения, три из этих полей будут одинаковыми - они source_port
различаются только для различения разных подключений. Порты представляют собой 16-разрядные числа, поэтому максимальное количество подключений, которое может иметь любой данный клиент к любому заданному порту хоста, составляет 64 КБ.
Тем не менее, несколько клиентов могут иметь до 64 КБ подключений к порту какого-либо сервера, и если на сервере несколько портов или один из них подключен к нескольким сетям, вы можете увеличить это число еще больше.
Таким образом, реальный предел - файловые дескрипторы. Каждому отдельному соединению сокетов присваивается дескриптор файла, поэтому ограничение - это действительно количество дескрипторов файлов, которые система сконфигурировала для разрешения и ресурсов для обработки. Максимальный предел обычно превышает 300 КБ, но его можно настроить, например, с помощью sysctl .
Реальные ограничения для обычных боксов составляют около 80 КБ, например для однопоточных серверов обмена сообщениями Jabber.