martes, 22 de enero de 2013

Reporte: RFC 6335

Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry


El RFC 6335 define los procedimientos que la IANA mencionada previamente utiliza para el manejo de asignaciones y otras solicitudes relacionadas al registro del nombre de servicio y el numero de puerto del protocolo de transporte.

Para entender los procedimientos es necesario conocer dos conceptos: Service Names y Port Numbers.

1. Service Names (Nombres de Servicio)

Los nombres de servicio son la llave única en el  registro del nombre de servicio y el número de puerto del protocolo de transporte. Dentro del registro, esta llave única se asegura que los diferentes servicios pueden ser distinguidos, previniendo colisiones por los nombres y evitando confusión acerca de quien es el asignado para una entrada en particular.

Puede haber más de un nombre asociado a un protocolo de transporte y puerto. Los nombres de servicio son asignados en orden de llegada. Dichos nombres deben ser cortos e informativos, evitando palabras o abreviaciones que son redundantes en el contexto del registro(por ejemplo: "puerto", "servicio", "protocolo").
Nombres que se refieran a servicios de descubrimiento, como el uso de multicast o broadcast para identificar los puntos de terminación de un servicio dado, deberían de preferencia usar un sufijo fácilmente
reconocible, como "-disc".

Sintaxis de los nombres de servicio

Los nombres de servicio válidos son normativamente definidos como sigue:
  • Deben ser entre 1 y 15 caracteres de largo.
  • Debe contener solamente letras de la 'A' - 'Z', 'a'-'z', dígitos '0'-'9' (US-ASCII[ [ANSI.X3.4-1986] ) y guiones ('-', ASCII 0x2D o 45 decimal).
  • Debe contener por lo menos una letra( 'A' - 'Z', 'a'-'z').
  • No debe iniciar o terminar con un guión '-'.
  • Un guión no debe ser adyacente a otro.
La razón por requerir por lo menos una letra es para evitar nombres de servicio como "23"(podría confundirse con el puerto 23) o "6000-6063"(podría confundirse con un rango de puertos). Aunque los números de servicio pueden contener combinaciones de mayúsculas y minúsculas, esto es ignorado para razones de comparación, así que tanto "http" como "HTTP" denotan el mismo servicio.

Los nombres de servicio son puramente identificadores, y ninguna semántica es asumida por cualquier estructura superficial que un nombre pueda tener. Por ejemplo, una compañía que utilice el nombre "Compañía", puede registrar servicios como "Compañía-esto" o "Compañía-aquello", pero dicha compañía no puede afirmar que le pertenecen todos los nombres de servicio con el principio "Compañía-"; no pueden prevenir que alguien más registre "Compañía-otro" para un servicio diferente. Técnicamente, en el descubrimiento de protocolos de servicio, los nombres de servicio son meramente series de bytes en el cable, pero por conveniencia se interpretan estos bytes como caracteres ASCII legibles para los humanos. El software los trata simplemente como identificadores como se mencionó anteriormente, y no intentará parsearlos para obtener algún significado adicional.

Las reglas para nombres validos, exceptuando el limite de 15 caracteres máximo, se expresan a continuación:

      SRVNAME = *(1*DIGIT [HYPHEN]) ALPHA *([HYPHEN] ALNUM)
      ALNUM   = ALPHA / DIGIT     ; A-Z, a-z, 0-9
      HYPHEN  = %x2D              ; "-"
      ALPHA   = %x41-5A / %x61-7A ; A-Z / a-z [RFC5234]
      DIGIT   = %x30-39           ; 0-9       [RFC5234]

2. Rangos de números de puertos

CP, UDP, UDP-Lite, SCTP, and DCCP utilizan un espacio de nombres de 16-bit para sus registros de números de puertos. Los registros de puertos para todos estos protocolos de transporte están subdivididos en tres rangos de números:

  • Puertos de Sistema, también conocidos como Puertos Bien-Conocidos (desde 0 - 1023, asignados por la IANA).
  • Puertos de Usuario, también conocidos como Puertos Registrados(desde 1024 - 49151, asignados por la IANA).
  • Puertos dinámicos, también conocidos como Puertos privados o efímeros(desde 49152 - 65535, nunca asignados).
De los puertos asignables (puertos de sistema y puertos de usuario, 0 - 49151), los puertos individuales se encuentran en uno de estos tres estados:
  • Asignado: Puertos asignados al servicio indicado en el registro.
  • No asignados. Puertos disponibles para asignación por solicitud.
  • Reservados: Puertos reservados no disponibles para asignaciones regulares "asignados a la IANA" para propósitos especiales.
Para poder mantener manejable el tamaño del registro, la IANA típicamente solo registra los nombres de servicio y números de puerto asignados y reservados. 

Asignación de Nombres de Servicio y Números de Puerto

Con asignación refiero a proveer un nombre de servicio o número de puerto a un aplicante. Todas estas asignaciones son hechas desde nombres de servicio o puertos que son No asignados o Reservados en el momento de la asignación.
  • Los nombres y números Reservado son generalmente asignados por una acción estándar o aprobación IESG, deben estar acompañados por un enunciado explicando la razón por la cual un nombre o número Reservado es apropiado. La única excepción para esta regla es que el asignado actual de un cierto número de puerto puede solicitar la asignación del correspondiente puerto Reservado para otros protocolos de transporte cuando se necesiten.
Cuando la asignación para uno o más protocolos de transporte es aprobada, los números de puerto para cualquier protocolo de transporte no solicitado será marcado como Reservado. La IANA no debería asignar dicho puerto a cualquier otra aplicación o servicio hasta que ningún otro puerto permanezca No asignado en el rango solicitado. 

Procedimiento General de Asignación

Una solicitud de asignación de número de puerto o nombre de servicio contiene la siguiente información. El número de servicio es el identificador único del servicio dado:


      Nombre del Servicio (REQUERIDO)
      Protocolo(s) de Transporte (REQUERIDO)
      Asignador (REQUERIDO)
      Contacto (REQUERIDO)
      Descripción (REQUERIDO)
      Referencia (REQUERIDO)
      Número de Puerto (OPCIONAL)
      Código de Servicio ((REQUERIDO) solo para DCCP)
      Usos no autorizados conocidos (OPCIONAL)
      Notas de asignación (OPCIONAL)

  • Nombre de Servicio: Un nombre de servicio único deseado para el servicio asociado con la solicitud de asignación. El nombre debe cumplir con la sintaxis definida previamente. Para que pueda ser único, no debe ser idéntico a ningún nombre de servicio actualmente asignado en el registro de la IANA.
  • Protocolos de Transporte: Los protocolos de transporte para los cuales la asignación es solicitada deben ser proporcionados El campo esta limitado a uno o más de los siguientes: TCP, UDP, SCTP y DCCP. Solicitudes sin ninguna asignación de puertos y solo un nombre de servicio son aún requeridas para indicar el protocolo que el servicio usa.
  • Asignador: Nombre y dirección email del partido al cual la asignación es hecha. Esto es requerido. El asignador es la organización, compañía o persona individual responsable por la asignación inicial.
  • Contacto: Nombre y dirección de correo del contacto para la asignación. Esto es requerido. El contacto es la persona responsable para que la comunidad de Internet le envíe preguntas. Esta persona también esta autorizada para realizar cambios por parte del asignador; en caso de conflicto entre estos dos, la decisión del asignador precede.
  • Descripción: Una corta descripción del servicio asociado con la solicitud de asignación es requerida. Se debe evitar todo menos las siglas y acrónimos más conocidos.
  • Referencia: Una descripción de(o una referencia a un documento describiendo) un protocolo o aplicación usando este puerto. Esto es requerido. La descripción debe establecer si o no el producto usa broadcast, multicast o cualquier tipo de comunicación cast en la capa IP.
  • Número de Puerto: Si la asignación de un número de puerto es deseada, ya sea el número de puerto que el solicitante sugiere para asignación o una indicación de un rango de puertos(de usuario o sistema) debe ser especificado. Si solo un nombre de servicio es asignado, este campo se deja vació. Si un número de puerto especifico es solicitado, la IANA es responsable de asignar el número solicitado. Si un rango es especificado, la IANA escogerá un número adecuado de los rangos de Usuario o Sistema.
  • Código de Servicio: Si la solicitud de asignación incluye DCCP como protocolo de transporte, entonces la solicitud debe incluir un código de servicio DCCP único deseado, y no debe de incluir el código de otra forma.
  • Usos no autorizados conocidos: Lista de usos por aplicaciones u organizaciones que no son el asignador. Esto es opcional. Esta lista puede ser aumentada por la IANA después de la asignación cuando los usos no autorizados son reportados.
  • Notas de asignación: Indicaciones de cambios de dueño/nombre, o cualquier otra cuestión de proceso de asignación. Esto es opcional. La lista puede ser actualizada por la IANA después de la asignación para ayudar a rastrear cambios a una asignación.
Si la solicitud de asignación es para la adición de un nuevo protocolo de transporte a un nombre de servicio previamente asignado, y el solicitante no es el Asignador o el Contacto para el nombre de servicio previamente asignado, la IANA necesita confirmar con el Asignador de la asignación existente sí o no esta adición no es apropiada.

Sí la solicitud de asignación es para un nuevo nombre de servicio compartiendo el mismo puerto con un nombre de servicio asignado previamente, la IANA necesita confirmar con el Asignador la existencia del nombre de servicio y con otros expertos apropiados para saber sí o no la sobre carga es apropiada.

Cuando la IANA recibe una solicitud de asignación conteniendo la información anterior, es decir solicitando un número de puerto, la IANA deberá iniciar una "Reseña Experta" [RFC5226] para poder determinar sí o no una asignación debe de hacerse. Para las solicitudes que no buscan un número de puerto, la IANA deberá asignar el nombre de servicio bajo una simple regla, siguiendo el orden de llegada [RFC5226].

Referencia:

1 comentario: