¿Cuál es el mayor número de puerto de red TCP/IP permitido para IPv4?


¿Cuál es el puerto más alto que uno puede usar?

Author: username, 2008-09-22

7 answers

El número de puerto es un entero de 16 bits sin signo, es decir, 65535.

 463
Author: Greg Hewgill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-22 04:53:02

El número de puerto más grande es un corto sin signo 2^16-1: 65535

Un puerto registrado es uno asignado por la Corporación de Internet para Nombres y Números Asignados (ICANN) a un uso determinado. Cada puerto registrado está en el rango 1024-49151.

Desde el 21 de marzo de 2001 la agencia de registro es ICANN; antes de ese momento era IANA.

Los puertos con números inferiores a los de los puertos registrados se denominan puertos bien conocidos; los puertos con números superiores a los de los puertos registrados se llaman puertos dinámicos y/o privados.

Fuente

 126
Author: Brian R. Bondy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-22 04:53:11

Según lo entiendo, solo debe usar hasta 49151, ya que desde 49152 hasta 65535 están reservados para Puertos efímeros

 59
Author: Smashery,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-22 04:56:28

Solo un seguimiento de la respuesta de smashery. El rango de puertos efímeros (al menos en Linux, y sospecho que otros Unices también) no es fijo. Esto se puede controlar escribiendo a /proc/sys/net/ipv4/ip_local_port_range

La única restricción (en lo que respecta a IANA) es que los puertos inferiores a 1024 se designan como puertos bien conocidos. Los puertos anteriores son de uso gratuito. A menudo encontrará que los puertos por debajo de 1024 están restringidos al acceso de superusuario, creo que por esta misma razón.

 36
Author: Andrew Edgecombe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:40

Depende de qué rango estás hablando, pero el rango dinámico sube a 65535 o 2^16-1 (16 bits).

Http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

 10
Author: Jim Burger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-31 01:00:23

Según RFC 793, el puerto es un int sin signo de 16 bits.

Esto significa que el rango es 0 - 65535.

Sin embargo, dentro de ese intervalo, los puertos 0 a 1023 se reservan generalmente para fines específicos. Digo en general porque, aparte del puerto 0, normalmente no se aplica la reserva 0-1023. Las implementaciones TCP/UDP generalmente no aplican reservas aparte de 0. Puede, si lo desea, ejecutar el puerto TLS de un servidor web en el puerto 80, o 25, o 65535 en lugar del estándar 443. Del mismo modo, incluso si es el estándar que los servidores SMTP escuchan en el puerto 25, puede ejecutarlo en 80, 443 u otros.

La mayoría de implementaciones reservan 0 para un propósito específico - asignación aleatoria de puertos. Así que en la mayoría de las implementaciones , decir "escuchar en el puerto 0" en realidad significa "No me importa qué puerto uso, solo dame algún puerto aleatorio sin asignar para escuchar".

Así que cualquier limitación en el uso de un puerto en el rango 0-65535, incluyendo 0, reserva efímera range etc, es la implementación (es decir, OS/driver) específica, sin embargo, todos, incluyendo 0, son puertos válidos en el RFC 793.

 9
Author: Eldakka,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-06 01:33:35

Debería ser 65535.

 6
Author: Chris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-11 16:01:07