Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Protocolo de control de puertos

Descripción general del protocolo de control de puertos

El Protocolo de control de puertos (PCP) proporciona una forma de controlar el reenvío de paquetes entrantes por dispositivos ascendentes, como NAT44 y dispositivos de firewall, y una forma de reducir el tráfico de mantenimiento vivo de aplicaciones. PCP es compatible con las PIC de multiservicios MS-DPC, MS-100, MS-400 y MS-500. A partir de Junos OS versión 17.4R1, PCP para NAPT44 también se admite en MS-MPC y MS-MIC. A partir de Junos 20.2R1, PCP para los servicios CGNAT DS-Lite son compatibles con los servicios de próxima generación.A partir de Junos OS versión 18.2R1, PCP en MS-MPC y MS-MIC admite DS-Lite. En Junos OS versión 18.1 y versiones anteriores, PCP en MS-MPC y MS-MIC no admite DS-Lite.

El PCP está diseñado para implementarse en el contexto de NAT de grado portador (CGN) y NAT pequeños (por ejemplo, NAT residenciales). PCP permite a los hosts operar servidores durante mucho tiempo (como en el caso de una cámara web) o un corto tiempo (por ejemplo, mientras juegan un juego o en una llamada telefónica) cuando están detrás de un dispositivo NAT, incluso cuando están detrás de un CGN operado por su ISP. PCP permite que las aplicaciones creen asignaciones desde una dirección IP externa y un puerto a una dirección IP y un puerto internos. Estas asignaciones son necesarias para que las comunicaciones entrantes exitosas estén destinadas a máquinas ubicadas detrás de una NAT o un firewall. Después de crear una asignación para las conexiones entrantes, se debe informar a los equipos remotos acerca de la dirección IP y el puerto de la conexión entrante. Esto generalmente se hace de una manera específica de la aplicación.

Junos OS es compatible con PCP versión 2 y versión 1.

El PCP consta de los siguientes componentes:

  • Cliente PCP: host o puerta de enlace que emite solicitudes de PCP a un servidor de PCP para obtener y controlar recursos.

  • Servidor PCP: normalmente una puerta de enlace CGN o un servidor coubicado que recibe y procesa solicitudes de PCP

Junos OS permite configurar servidores PCP para asignar flujos mediante capacidades de NAPT44, como el reenvío de puertos y la asignación de bloques de puertos. Los flujos se pueden procesar a partir de estos orígenes:

  • Tráfico que contiene solicitudes de PCP recibidas directamente del equipo del usuario, como se muestra en la Figura 1.

    Figura 1: Topología básica de PCP NAPT44 Basic PCP NAPT44 Topology
  • Mapeo del tráfico que contiene solicitudes de PCP agregadas por un enrutador que funciona como un iniciador de softwire DS-Lite (B4). Este modo, conocido como modo simple DS-Lite, se muestra en la Figura 2.

    Figura 2: PCP con modo plano DS-Lite PCP with DS-Lite Plain Mode
Nota:

Junos OS no admite la asignación determinista de bloques de puertos para el tráfico originado en PCP.

Beneficios del protocolo de control de puertos

Muchas aplicaciones compatibles con NAT envían mensajes frecuentes a nivel de aplicación para asegurarse de que un dispositivo NAT no agote el tiempo de espera de sus sesiones. La PCP se utiliza para:

  • Reducir la frecuencia de estos mensajes keepalive de NAT

  • Reducir el ancho de banda en la red de acceso del suscriptor

  • Reducir el tráfico al servidor

  • Reducir el consumo de batería en dispositivos móviles

Protocolo de control de puertos versión 2

A partir de Junos OS versión 15.1, se admite el Protocolo de control de puertos (PCP) versión 2, que cumple con RFC 6887. PCP proporciona una forma de controlar el reenvío de paquetes entrantes por dispositivos ascendentes, como NAT44, y dispositivos de firewall, y una forma de reducir el tráfico de mantenimiento vivo de aplicaciones. La versión 2 de PCP admite la autenticación nonce. PCP permite que las aplicaciones creen asignaciones desde una dirección IP externa y un puerto a una dirección IP interna y un puerto. Una carga nonce evita un ataque de repetición y se envía de forma predeterminada a menos que esté deshabilitada explícitamente.

La comprobación de nonce del cliente para solicitudes de asignación de la versión 2 (para actualizar o eliminar) requiere que se conserve el nonce recibido en la solicitud de asignación original que causa la creación de la asignación PCP. También se conserva la versión de la solicitud inicial que permite crear la asignación. Este comportamiento de guardar los parámetros nonce y version denota que se utilizan 13 bytes por asignación PCP. Este ligero aumento en el espacio de almacenamiento no es significativo cuando se combina con el uso actual de memoria de un sistema para una única asignación solicitada (teniendo en cuenta la asignación independiente del punto de conexión (EIM) y el filtrado independiente del punto de conexión (EIF) que se crean junto con él). En una implementación de cliente, PCP hace que las asignaciones de EIM y EIF representen una fracción de todas esas asignaciones.

Hasta la versión 15.1 de Junos, las PIC de servicios admiten servidores PCP en enrutadores de Juniper Networks de acuerdo con el borrador de PCP versión 22 con codificación de mensaje de versión 1. Con PCP siendo refinado de la versión preliminar como se define en el Protocolo de Control de Puertos (PCP) draft-ietf-pcp-base-22 (expiración de julio de 2012) a una versión finalizada y estándar como se define en RFC 6887 -- Protocolo de Control de Puerto (PCP), la codificación de mensajes cambió a la versión 2 con la adición de una carga nonce aleatoria para autenticar solicitudes de pares y asignar según sea necesario. La versión 1 no descodifica mensajes compatibles con el formato de la versión 2 y no se admite la autenticación nonce. En un entorno de red real, con dispositivos de equipo en las instalaciones del cliente (CPE) que admiten cada vez más solo la versión 2, es necesario analizar y enviar mensajes de la versión 2. Se mantiene la compatibilidad con versiones anteriores de dispositivos CPE compatibles con la versión 1 (la negociación de versiones forma parte del estándar) y autentica los paquetes de carga Nonce de solicitud cuando los mensajes v2 están en uso.

El resultado del show services pcp statistics comando contiene el campo de versión no compatible de PCP, que se incrementa para indicar siempre que la versión no sea 1 o 2. Se introduce un nuevo campo, PCP request nonce does not match existing mapping, para indicar el número de solicitudes PCP versión 2 que se ignoraron porque la carga nonce no coincidía con la registrada en la asignación (falló la autenticación). Si la versión 2 está en uso, el nonce del cliente se utiliza para la autenticación.

Configuración del protocolo de control de puertos

En este tema se describe cómo configurar el protocolo de control de puertos (PCP). PCP es compatible con las PIC de multiservicios MS-DPC, MS-100, MS-400 y MS-500. A partir de Junos OS versión 17.4R1, PCP para NAPT44 también se admite en MS-MPC y MS-MIC. A partir de Junos OS versión 18.2R1, PCP en MS-MPC y MS-MIC admite DS-Lite. En Junos OS versión 18.1 y versiones anteriores, PCP en MS-MPC y MS-MIC no admite DS-Lite. A partir de la versión 20.2R1 de Junos OS, PCP es compatible con la tarjeta de servicios de seguridad MX-SPC3 para servicios CGNAT.

Realice las siguientes tareas de configuración:

Configuración de las opciones del servidor PCP

  1. Especifique un nombre de servidor PCP.
  2. Establezca las direcciones IPv4 o IPv6 del servidor. Para PCP DS-Lite, el ipv6-address debe coincidir con la dirección del AFTR (enrutador de transición de familia de direcciones o concentrador de cable blando).
    Nota:

    A partir de Junos OS versión 18.2R1, PCP en MS-MPC y MS-MIC admite DS-Lite. En Junos OS versión 18.1 y versiones anteriores, PCP en MS-MPC y MS-MIC no admite DS-Lite.

    o

  3. Para PCP DS-Lite, proporcione el nombre de la configuración del concentrador softwire DS-Lite.
  4. Especifique las duraciones de asignación mínima y máxima para el servidor.
  5. Especifique los límites de tiempo para generar errores de vida útil corta o larga.
  6. (Opcional): active las opciones de PCP en el servidor PCP especificado. Están disponibles las siguientes opciones:third-party y prefer-failure. La opción de terceros es necesaria para habilitar las solicitudes de terceros por parte del cliente PCP. DS-Lite requiere la third-party opción. La prefer-failure opción solicita la generación de un mensaje de error cuando el cliente PCP solicita una dirección IP o puerto específico que no está disponible, en lugar de asignar otra dirección disponible del grupo NAT. Si prefer-failure no se especifica, NAPT44 asigna una dirección/puerto disponible del grupo NAT en función de las opciones NAT configuradas.
  7. (Opcional): especifique qué grupo de NAT se va a utilizar para la asignación.
    Nota:

    Cuando no se especifica explícitamente un grupo NAT para la asignación, Junos OS realiza una coincidencia parcial de reglas basada en la IP de origen, el puerto de origen y el protocolo, y Junos OS utiliza el grupo NAT configurado para la primera regla coincidente para asignar asignaciones para PCP.

    Debe usar una configuración explícita para usar varios grupos NAT.

    Para la tarjeta de servicios de seguridad MX-SPC3 y los servicios de próxima generación, la instrucción solo admite un nombre de nat-options grupo para adjuntar a un servidor PCP.

  8. (Opcional): permite configurar el número máximo de asignaciones por cliente. El valor predeterminado es 32 y el máximo es 128.

Configuración de una regla PCP

Una regla PCP tiene las mismas opciones básicas que todas las reglas de conjuntos de servicios:

  • Una term opción que permite que una sola regla tenga varias aplicaciones.

    No se requiere un término cuando se ejecuta la tarjeta de servicios de seguridad MX-SPC3 para servicios de próxima generación.

  • Una from opción que identifica el tráfico sujeto a la regla.

  • Una then opción que identifica qué acción se debe tomar. En el caso de una regla PCP, esta opción Identifica el servidor pcp que controla el tráfico seleccionado

  1. Vaya al nivel de jerarquía y especifique match-direction la [edit services pcp rule rule-name] entrada.
  2. Vaya al nivel de jerarquía y proporcione un nombre de [edit services pcp rule rule-name term term-name] término.

    Este paso no es necesario cuando se ejecuta la tarjeta de servicios de seguridad MX-SPC3 para servicios de próxima generación.

  3. (Opcional): proporciona una from opción para filtrar el tráfico que la regla va a seleccionar para su procesamiento. Cuando omite la from opción, todo el tráfico controlado por la interfaz de servicio del conjunto de servicios está sujeto a la regla. Las siguientes opciones están disponibles en el nivel jerárquico [edit services pcp rule rule-name term term-name from] :
    application-sets set-name

    El tráfico para el conjunto de aplicaciones se procesa mediante la regla PCP.

    Este paso no es necesario cuando se ejecuta la tarjeta de servicios de seguridad MX-SPC3 para servicios de próxima generación.

    applications [ application-name ]

    El tráfico de la aplicación se procesa mediante la regla PCP.

    Esta opción no es necesaria cuando se ejecuta la tarjeta de servicios de seguridad MX-SPC3 para servicios de próxima generación.

    destination-address address <except>

    El tráfico para la dirección o el prefijo de destino se procesa mediante la regla PCP. Si incluye la opción, la regla PCP no procesa el except tráfico de la dirección o el prefijo de destino.

    destination-address-range high maximum-value low minimum-value <except>

    El tráfico para el intervalo de direcciones de destino se procesa mediante la regla PCP. Si incluye la except opción, la regla PCP no procesa el tráfico del intervalo de direcciones de destino.

    destination-port high maximum-value low minimum-value

    El tráfico para el intervalo de puertos de destino se procesa mediante la regla PCP.

    destination-prefix-list list-name <except>

    El tráfico para una dirección de destino en la lista de prefijos se procesa mediante la regla PCP. Si incluye la opción, la regla PCP no procesa el except tráfico de una dirección de destino en la lista de prefijos.

    source-address address <except>

    El tráfico desde la dirección o el prefijo de origen se procesa mediante la regla PCP. Si incluye la opción, la regla PCP no procesa el except tráfico procedente de la dirección o el prefijo de origen.

    source-address-range high maximum-value low minimum-value <except>

    El tráfico del intervalo de direcciones de origen se procesa mediante la regla PCP. Si incluye la except opción, la regla PCP no procesa el tráfico del intervalo de direcciones de origen.

    source-prefix-list list-name <except>

    El tráfico de una dirección de origen de la lista de prefijos se procesa mediante la regla PCP. Si incluye la opción, la regla PCP no procesa el except tráfico procedente de una dirección de origen en la lista de prefijos.

  4. Establezca la then opción para identificar el servidor PCP de destino.

Configuración de una regla NAT

Para configurar una regla NAT:

  1. Configure el nombre de la regla NAT y la dirección de coincidencia.
  2. Especifique el grupo de NAT que se va a usar:
  3. Configure el tipo de traducción.
  4. Si utiliza PCP con TDR de IPv4 a IPv4 o con DS-Lite, configure la asignación independiente del punto de conexión (EIM) y el filtrado independiente del punto de conexión (EIF).
    Nota:

    Las asignaciones de PCP no se crean si no configura EIM y EIF con PCP para NAT IPv4 a IPv4 o DS-Lite.

Configuración de un conjunto de servicios para aplicar PCP

Para usar PCP, debe proporcionar el nombre de la regla (o el nombre de una lista de nombres de reglas) en la pcp-rule rule-name opción.

  1. Vaya al nivel jerárquico [edit services service-set service-set-name .
  2. Si se trata de un conjunto de servicios nuevo, proporcione información básica del conjunto de servicios, incluida la información de la interfaz y cualquier otra regla que pueda aplicarse.
  3. Especifique el nombre de la regla PCP o de la lista de reglas utilizada para enviar tráfico al servidor PCP especificado.
Nota:

El conjunto de servicios también debe identificar los archivos .nat-rule softwire-rule

Configuración de mensajes SYSLOG

Se ha proporcionado una nueva clase syslog, opción de configuración, pcp-logs, para controlar la generación de registros de PCP. Proporciona los siguientes niveles de registro:

  • protocol—Todos los registros relacionados con la creación y eliminación de mapas se incluyen en este nivel de registro.

  • protocol-error—–Todos los registros relacionados con errores de protocolo (como error en la actualización de la asignación, error en la búsqueda de PCP, error en la creación de la asignación). se incluyen en este nivel de registro.

  • system-error: los errores de memoria e infraestructura se incluyen en este nivel de registro.

Supervisión de las operaciones del protocolo de control de puertos

Puede supervisar las operaciones del Protocolo de control de puertos (PCP) con los siguientes comandos operativos:

  • Para MS-MPC, use el show services nat mappings pcp comando.

    Nota:

    PCP no es compatible con los servicios de próxima generación en Junos OS versión 19.3R2

  • Para MS-MPC, use el show services nat mappings endpoint-independent comando.

    Para los servicios de próxima generación, utilice el show services nat source mappings endpoint-independent comando.

  • show services pcp statistics protocol

A continuación se muestran ejemplos de la salida de estos comandos.

Ejemplo: Configuración del protocolo de control de puertos con NAPT44

Nota:

PCP es compatible con los PIC multiservicios MS-DPC, MS-100, MS-400 y MS-500. A partir de Junos OS versión 17.4R1, PCP para NATP44 también es compatible con MS-MPC y MS-MIC.

Requisitos

Requisitos de hardware

  • UE con clientes PCP.

  • Un enrutador MX 3D con una PIC de servicios MS-DPC.

  • Requisitos de software

  • Junos OS 13.2

  • Paquete de servicios de capa 3

Visión general

Un ISP desea permitir que las UE con clientes PCP mantengan conexiones a servidores sin agotar el tiempo de espera. Los clientes PCP generan solicitudes PCP para el tipo y la duración de la conexión que necesitan. Las conexiones pueden ser de larga duración, como aplicaciones que usan una cámara web, o de menor duración, como juegos en línea. Un enrutador MX 3D proporciona un servidor PCP para interpretar las solicitudes de cliente PCP y NAPT44. La figura 3 muestra la topología básica de este ejemplo.

Figura 3: PCP con NAPT44 PCP with NAPT44

Configuración de PCP

Configuración rápida de CLI

Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, luego, copie y pegue los comandos en la CLI en el nivel de jerarquía [edit].

Configuración del chasis

Procedimiento paso a paso

Para configurar el PIC de servicio (FPC 2 ranura 0) con el paquete de servicio de capa 3:

  1. Vaya al nivel de jerarquía [edit chassis].

  2. Configure el paquete de servicios de capa 3.

Resultados

Configuración de interfaz

Procedimiento paso a paso

  1. Configure los servicios MS-DPC.

  2. Configure la interfaz orientada al cliente utilizada para los servicios NAT y PCP.

  3. Configure la interfaz orientada a Internet.

Resultados

Configuración de NAT

Procedimiento paso a paso

  1. Vaya a la [edit services nat] jerarquía.

  2. Configure un grupo de NAT denominado pcp-pool.

  3. Configure una regla NAT llamada pcp-rule.

Resultados

Configuración de PCP

Procedimiento paso a paso

Para configurar el servidor PCP y las opciones de regla PCP.

  1. Ir al nivel jerárquico del edit services pcp servidor pcp-s1

  2. Configure las opciones del servidor PCP.

  3. Cree la regla PCP.

  4. Configure las opciones de la regla PCP.

Resultados

Configuración del conjunto de servicios

Procedimiento paso a paso

  1. Cree un conjunto de servicios, sset_0, en el nivel de edit services service-set jerarquía.

  2. Identifique la regla NAT asociada al conjunto de servicios.

  3. Identifique la regla de PCP asociada con el conjunto de servicios.

  4. Identifique la interfaz de servicio asociada al conjunto de servicios.

Resultados

Tabla de historial de cambios

La compatibilidad con las funciones viene determinada por la plataforma y la versión que esté utilizando. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.

Lanzamiento
Descripción
20.2R1
A partir de Junos 20.2R1, PCP para los servicios CGNAT DS-Lite son compatibles con los servicios de próxima generación.
20.2R1
A partir de la versión 20.2R1 de Junos OS, PCP es compatible con la tarjeta de servicios de seguridad MX-SPC3 para servicios CGNAT.
18.2R1
A partir de Junos OS versión 18.2R1, PCP en MS-MPC y MS-MIC admite DS-Lite.
18.2R1
17.4R1
A partir de Junos OS versión 17.4R1, PCP para NAPT44 también se admite en MS-MPC y MS-MIC.
17.4R1
A partir de Junos OS versión 17.4R1, PCP para NAPT44 también se admite en MS-MPC y MS-MIC.
17.4R1
A partir de Junos OS versión 17.4R1, PCP para NATP44 también es compatible con MS-MPC y MS-MIC.
15.1
A partir de Junos OS versión 15.1, se admite el Protocolo de control de puertos (PCP) versión 2, que cumple con RFC 6887.