registrados puertos puerto protocolos listado lista funciones conocidos capa bien aplicacion tcp

protocolos - Asignación de puertos TCP/IP para uso interno de la aplicación



puertos de red y sus funciones (6)

He escrito un servicio WCF alojado en un servicio de Windows y necesita escuchar en un puerto TCP / IP conocido. ¿Desde qué rango puedo asignar con seguridad un puerto para usar dentro de mi organización? Ese puerto se integrará en los archivos de configuración para el servicio y los clientes que están consumiendo el servicio.


Además de las otras sugerencias sobre cómo elegir un puerto de aplicación común, le sugiero que configure el puerto dentro de su aplicación. Los números de puerto codificados no son una buena idea, especialmente si luego encuentra un conflicto de puerto con otra aplicación y necesita cambiar el suyo.


Aquí hay una buena lista de puertos de aplicaciones comunes . Haga su propia elección en un espacio vacío. Tal vez también debería escanear su red para cualquier aplicación especial interna.

Típicamente, los puertos de números altos están disponibles y yo los sugeriría, pero podrían ser bloqueados por firewalls.


Elija un número de puerto de 49152 a 65535.

IANA publica una lista de los puertos actualmente asignados.

http://www.iana.org/assignments/port-numbers

Los puertos dinámicos y / o privados son los de 49152 a 65535. Este es el rango desde donde DEBE elegir un puerto para sus aplicaciones internas. Por supuesto, se puede usar cualquier puerto que pertenezca a uno de los rangos no asignados en la lista publicada. Pero tenga en cuenta que al elegir un número de puerto de esos rangos no asignados no hay ninguna garantía de que el puerto que elija no será un puerto reservado en el futuro.

NÚMEROS DE PUERTO NO ASIGNADOS NO DEBEN UTILIZARSE. LA IANA ASIGNARÁ EL NÚMERO PARA EL PUERTO DESPUÉS DE QUE SU APLICACIÓN HAYA SIDO APROBADA.

Y asegúrate de que el número de puerto que elijas sea configurable como dijiste:

Ese puerto se integrará en los archivos de configuración para el servicio y los clientes que están consumiendo el servicio.

Esto evitará dolores de cabeza en caso de que algún otro software de terceros que usted no puede tocar esté usando su número de puerto. Si eso sucede, simplemente sigue adelante y cámbialo en el archivo de configuración y simplemente funciona.


Respuesta corta: evite todo hasta 1023, o más de 49152, y pruebe el puerto elegido contra servicios en su red.

Si ha tomado las precauciones razonables que parece tener (poner el número de puerto en un archivo de configuración), no debería ser una interrupción enorme si más tarde descubre un conflicto.

Pero (para poder agregar algo a las otras sugerencias que aparecieron mientras escribía), ¡asegúrese de que sea fácil cambiar! Si está en archivos de configuración, hazlo obvio. Documentarlo y señalarlo en la resolución de problemas. Es el tipo de problema que podría salir mal, por lo que es fácil depurarlo si es necesario cambiarlo.


Como nota, recuerde verificar esos puertos mediante netstat / a / n para ver si está usando otra aplicación o no. Me parece que Vista usó el 49152 ... por alguna razón de nivel de aplicación. Básicamente, debido a que la mayoría del oyente de nivel del sistema no implementa el uso compartido de puertos, es mucho más seguro utilizar los puertos que no se utilizan en absoluto.

tener un buen día de programación AMir


Los puertos 0-1023 son los Puertos conocidos y asignados por IANA. Estos solo deberían usarse para los protocolos asignados en redes públicas.

Los puertos 1024-65535 solían llamarse números de puerto registrados (consulte rfc1700 ) pero ahora se dividen en dos áreas (consulte rfc6335 ).

Los puertos 1024-49151 son los puertos de usuario y son los que debe usar para sus propios protocolos.

Los puertos 49152-65535 son los puertos dinámicos y no deberían prescribirse a un protocolo.

Los puertos de usuario se pueden usar para cualquier protocolo, pero hay un número finito, por lo que su uso chocará con el uso de otra persona en alguna red en alguna parte. IANA mantiene un registro de los números de puerto registrados (0-49151). Si su protocolo se utilizará en redes públicas, entonces debe buscar registrarlo con IANA. Si solo lo está usando dentro de su propia red, elija un puerto dentro de esta área (1024-49151) y verifique ese puerto con el registro IANA para asegurarse de que no sea utilizado por un protocolo que pueda usarse en su red. Para uso privado, probablemente sea mejor elegir un número que está asignado a un protocolo que usted sabe que no se usará, que elegir uno que no esté asignado y que pueda asignarse en el futuro.

No use un número de puerto dentro del rango dinámico. El sistema operativo asigna estos puertos de forma dinámica y algo aleatoria. Si abre una conexión de cliente (usando bind () con puerto = 0) se le asignará un puerto no utilizado desde el rango dinámico. No hay forma de garantizar que un puerto en este rango siempre será libre para su protocolo.