하나의 청취 포트는 둘 이상의 연결을 동시에 수용 할 수 있습니다.
종종 인용되는 '64K'한계가 있지만 이는 서버 포트 당 클라이언트 당 이며 명확해야합니다.
각 TCP / IP 패킷에는 기본적으로 주소 지정을위한 4 개의 필드가 있습니다. 이것들은:
source_ip source_port destination_ip destination_port
< client > < server >
TCP 스택 내에서이 4 개의 필드는 패킷을 연결 (예 : 파일 설명자)과 일치시키기위한 복합 키로 사용됩니다.
클라이언트가 동일한 대상에있는 동일한 포트에 대한 많은 연결을 가지고있는 경우 해당 필드 중 3 개는 동일 source_port
합니다. 서로 다른 연결을 구별하기 위해서만 다릅니다. 포트는 16 비트 숫자이므로 지정된 클라이언트가 지정된 호스트 포트에 대해 가질 수있는 최대 연결 수는 64K입니다.
그러나 여러 클라이언트가 각각 일부 서버 포트에 최대 64K 연결을 가질 수 있으며, 서버에 여러 포트가 있거나 멀티 홈 인 경우 해당 포트를 더 곱할 수 있습니다.
따라서 실제 제한은 파일 설명자입니다. 각 개별 소켓 연결에는 파일 디스크립터가 제공되므로 실제로 시스템이 허용하고 자원을 처리하도록 구성된 파일 디스크립터 수는 한계입니다. 최대 제한은 일반적으로 300K 이상이지만 sysctl 과 같이 구성 할 수 있습니다 .
일반 박스에 대한 현실적인 한계는 단일 스레드 Jabber 메시징 서버와 같은 약 80K입니다.