답변:
포트 번호는 부호없는 16 비트 정수이므로 65535입니다.
가장 큰 포트 번호는 부호없는 short 2 ^ 16-1입니다 : 65535
등록 된 포트는 인터넷 회사에서 ICANN (Assigned Names and Numbers)을 특정 용도로 할당 한 포트입니다. 등록 된 각 포트의 범위는 1024–49151입니다.
2001 년 3 월 21 일 이후 등록 기관은 ICANN입니다. 그 전에는 IANA였습니다.
등록 된 포트보다 번호가 낮은 포트를 잘 알려진 포트라고합니다. 등록 된 포트보다 번호가 큰 포트를 동적 및 / 또는 개인 포트라고합니다.
내가 이해했듯이 49152에서 65535까지는 임시 포트를 위해 예약되어 있으므로 최대 49151 만 사용해야합니다.
$ cat /proc/sys/net/ipv4/ip_local_port_range
출력 결과 32768 61000
. 시스템의 임시 포트 범위에서 포트를 사용해야하는지 또는 사용하지 않아야하는지에 관해서는 모든 최신 네트워크 운영 체제가 이미 사용중인 포트를 건너 뛰지 않을 것입니다.
RFC 793에 따르면 포트는 16 비트 부호없는 정수입니다.
이는 범위가 0-65535임을 의미합니다.
그러나이 범위 내에서 포트 0-1023은 일반적으로 특정 목적으로 예약되어 있습니다. 나는 일반적으로 포트 0을 제외하고는 0-1023 예약을 시행하지 않기 때문에 일반적으로 말합니다. TCP / UDP 구현은 일반적으로 0 이외의 예약을 강요하지 않습니다. 원하는 경우 표준 443 대신 포트 80, 25 또는 65535에서 웹 서버의 TLS 포트를 실행할 수 있습니다. SMTP 서버가 포트 25에서 수신하는 표준 인 80, 443 등에서 실행할 수 있습니다.
대부분의 구현 은 특정 목적-임의 포트 할당을 위해 0을 예약합니다. 따라서 대부분의 구현 에서 "포트 0에서 수신"은 실제로 "사용하는 포트에 신경 쓰지 않고 수신 대기 할 임의의 할당되지 않은 포트를 제공하십시오"를 의미합니다.
따라서 0, 임시 예약 범위 등을 포함하여 0-65535 범위의 포트 사용에 대한 제한은 구현 (예 : OS / 드라이버) 에 따라 다르지만 0을 포함하여 모두 RFC 793에서 유효한 포트입니다.
말하는 범위에 따라 다르지만 동적 범위는 최대 65535 또는 2 ^ 16-1 (16 비트)입니다.
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
포트의 유효한 숫자는 다음과 같습니다. 0 ~ 2 ^ 16-1 = 0 ~ 65535
포트 번호의 길이가 16 비트이기 때문입니다.
그러나 포트는 다음과 같이 나뉩니다.
잘 알려진 포트 : 0 ~ 1023 (HTTP, FTP, SSH, DHCP 등의 시스템 서비스에 사용)
등록 / 사용자 포트 : 1024 ~ 49151 (서버에 사용할 수 있지만 MSSQL (Microsoft SQL Server 데이터베이스 관리 시스템) 서버 또는 Apache Derby Network Server와 같은 일부 유명한 응용 프로그램은 이미이 범위에서 사용 중입니다. 즉, MSSQL이 실행 중이면 서버에 MSSQL 포트를 할당하지 않는 것이 좋습니다. 아마 때문에 포트 충돌)의 실행되지 않습니다
동적 / 개인 포트 : 49152 오히려 고객이 없습 서비스의 예 서버를 사용하지 65535 (에)
프로그래밍에서 서버에 0-65535의 숫자를 사용할 수 있지만 위에서 언급 한 범위를 준수해야합니다. 그렇지 않으면 일부 시스템 서비스 또는 일부 응용 프로그램이 포트 충돌로 인해 실행되지 않습니다. https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
에서 대부분의 포트 목록을 확인하십시오.