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 manera de controlar el reenvío de paquetes entrantes por parte de dispositivos ascendentes, como NAT44 y dispositivos de firewall, y una forma de reducir el tráfico de keepalive de aplicaciones. PCP es compatible con las PIC de multiservicios MS-CPC, MS-100, MS-400 y MS-500. A partir de la versión 17.4R1 de Junos OS, PCP para NAPT44 también es compatible con MS-MPC y MS-MIC. A partir de Junos 20.2R1, PCP para CGNAT Los servicios 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 ser implementado tanto en el contexto de NAT de grado de operador (CGN) como de 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 TDR, incluso cuando están detrás de un CGN operado por su ISP. El PCP permite a las aplicaciones crear asignaciones desde una dirección IP y un puerto externos 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 un TDR o un firewall. Después de crear una asignación para las conexiones entrantes, se debe informar a los equipos remotos sobre 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: un host o puerta de enlace que emite solicitudes PCP a un servidor PCP para obtener y controlar recursos.

  • Servidor PCP: por lo general, 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 NAPT44, como el reenvío de puertos y la asignación de bloques de puertos. Los flujos se pueden procesar desde estas fuentes:

  • 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
  • Asignación del tráfico que contiene solicitudes PCP agregadas por un enrutador que funciona como 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 simple DS-Lite PCP with DS-Lite Plain Mode
Nota:

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

Beneficios del protocolo de control de puertos

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

  • Reduzca la frecuencia de estos mensajes de mantenimiento de TDR

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

  • Reduzca el tráfico al servidor

  • Reduzca 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 la versión 2 del Protocolo de control de puerto (PCP), que cumple con RFC 6887. El PCP proporciona una manera de controlar el reenvío de paquetes entrantes por parte de dispositivos ascendentes, como NAT44, y dispositivos de firewall, y una manera de reducir el tráfico de mantenimiento de aplicaciones vivo. La versión 2 del PCP admite la autenticación nonce. PCP permite a las aplicaciones crear asignaciones desde una dirección IP y un puerto externos a una dirección IP y un puerto internos. Una carga nonce evita un ataque de reproducción y se envía de forma predeterminada a menos que esté explícitamente deshabilitada.

La comprobación de nonce del cliente para solicitudes de asignación de la versión 2 (para actualización o eliminación) requiere que se conserve el nonce recibido en la solicitud de asignación original que hace que se cree la asignación de 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 indica que se utilizan 13 bytes por asignación PCP. Este ligero aumento en el espacio de almacenamiento no es significativo cuando se compara 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 la implementación de un 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 conformidad con la versión 22 del borrador del PCP con codificación de mensajes de la versión 1. Con el PCP refinándose desde la versión preliminar definida en el Protocolo de control de puertos (PCP) draft-ietf-pcp-base-22 (vencimiento de julio de 2012) a una versión estándar finalizada como se define en RFC 6887 -- Protocolo de control de puertos (PCP), la codificación de mensajes cambió a la versión 2 con la adición de una carga útil nonce aleatoria para autenticar las solicitudes de pares y mapas según sea necesario. La versión 1 no descodifica mensajes que cumplan con el formato de la versión 2 y no se admite la autenticación nonce. En un entorno de red del mundo real, con dispositivos de equipo en las instalaciones del cliente (CPE) que admiten cada vez más solo la versión 2, se requiere analizar y enviar mensajes de la versión 2. Se mantiene la compatibilidad con versiones anteriores con dispositivos CPE compatibles con la versión 1 (la negociación de versiones es parte del estándar) y autentica los paquetes de carga de solicitud nonce cuando se usan mensajes v2.

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, El nonce de solicitud de PCP no coincide con la asignación existente, para indicar el número de solicitudes de PCP versión 2 que se ignoraron porque la carga útil del nonce no coincidía con la registrada en la asignación (se produjo un error en la autenticación). Si la versión 2 está en uso, el nonce de 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-CPC, MS-100, MS-400 y MS-500. A partir de la versión 17.4R1 de Junos OS, PCP para NAPT44 también es compatible con MS-MPC y MS-MIC. A partir de la versión 18.2R1 de Junos OS, el 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, el 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, ipv6-address debe coincidir con la dirección del AFTR (enrutador de transición de familia de direcciones o concentrador de softwire).
    Nota:

    A partir de la versión 18.2R1 de Junos OS, el 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 bien

  3. Para PCP DS-Lite, proporcione el nombre de la configuración del concentrador de 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): habilite las opciones de PCP en el servidor de PCP especificado. Las siguientes opciones están disponibles: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 o puerto IP específico que no está disponible, en lugar de asignar otra dirección disponible del conjunto de TDR. Si prefer-failure no se especifica, NAPT44 asigna una dirección o puerto disponible del conjunto de TDR en función de las opciones de TDR configuradas.
  7. (Opcional): especifique qué grupo de TDR desea utilizar para la asignación.
    Nota:

    Cuando no se especifica explícitamente un grupo TDR 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 conjunto TDR configurado para la primera regla coincidente a fin de asignar asignaciones para PCP.

    Debe utilizar una configuración explícita para poder utilizar varios grupos de TDR.

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

  8. (Opcional): configure 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 de PCP

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

  • Una term opción que permite que una sola regla tenga múltiples 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 que está sujeto a la regla.

  • Una then opción que identifica qué acción se debe tomar. En el caso de una regla de PCP, esta opción identifica el servidor de PCP que maneja 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): proporcione una from opción para filtrar el tráfico que se seleccionará para su procesamiento por la regla. Cuando se omite esta from opción, todo el tráfico gestionado por la interfaz de servicio del conjunto de servicios está sujeto a la regla. Las siguientes opciones están disponibles en el [edit services pcp rule rule-name term term-name from] nivel jerárquico:
    application-sets set-name

    El tráfico del 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 esta 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>

    La regla PCP procesa el tráfico para el rango de direcciones de destino. Si incluye esta opción, la regla PCP no procesa el except tráfico para el rango de direcciones de destino.

    destination-port high maximum-value low minimum-value

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

    destination-prefix-list list-name <except>

    La regla PCP procesa el tráfico de una dirección de destino en la lista de prefijos. Si incluye esta 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 de PCP. Si incluye esta opción, la regla PCP no procesa el except tráfico desde la dirección o el prefijo de origen.

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

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

    source-prefix-list list-name <except>

    El tráfico desde una dirección de origen en la lista de prefijos se procesa mediante la regla PCP. Si incluye esta opción, la regla PCP no procesa el except tráfico desde 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 TDR

Para configurar una regla TDR:

  1. Configure el nombre de la regla TDR y la dirección de coincidencia.
  2. Especifique el grupo de TDR que desea utilizar:
  3. Configure el tipo de traducción.
  4. Si está utilizando PCP con IPv4 a IPv4 TDR 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 IPv4 a IPv4 TDR o para 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 de [edit services service-set service-set-name jerarquía.
  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 o lista de reglas de PCP que se utiliza para enviar tráfico al servidor de PCP especificado.
Nota:

El conjunto de servicios también debe identificar cualquier nat-rule archivo requerido y softwire-rule.

Configuración de mensajes SYSLOG

Se proporcionó 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.

Monitoreo de las operaciones del protocolo de control del puerto

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

  • En el caso de MS-MPC, utilice el show services nat mappings pcp comando.

    Nota:

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

  • En el caso de MS-MPC, utilice el show services nat mappings endpoint-independent comando.

    Para los servicios de próxima generación, use 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 puerto con NAPT44

Nota:

PCP es compatible con PIC de multiservicios MS-CPC, MS-100, MS-400 y MS-500. A partir de la versión 17.4R1 de Junos OS, 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-CPC.

  • Requisitos de Software

  • Junos OS 13.2

  • Paquete de servicios de capa 3

Descripción general

Un ISP desea permitir que las UE con clientes PCP mantengan conexiones con servidores sin tiempo de espera. Los clientes de PCP generan solicitudes de 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 los clientes PCP y NAPT44. En la figura 3 , se muestra la topología básica de este ejemplo.

Figura 3: PCP con NAPT44 PCP with NAPT44

Configuración del 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 la PIC de servicio (ranura FPC 2 0) con el paquete de servicio de capa 3:

  1. Vaya al nivel de jerarquía [editar chasis].

  2. Configure el paquete de servicio de capa 3.

Resultados

Configuración de interfaz

Procedimiento paso a paso

  1. Configure los servicios MS-CPC.

  2. Configure la interfaz orientada al cliente que se usa para los servicios TDR y PCP.

  3. Configure la interfaz orientada a Internet.

Resultados

Configuración de TDR

Procedimiento paso a paso

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

  2. Configure un grupo TDR llamado pcp-pool.

  3. Configure una regla TDR llamada pcp-rule.

Resultados

Configuración del PCP

Procedimiento paso a paso

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

  1. Ir al nivel de jerarquía 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 TDR asociada con el conjunto de servicios.

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

  4. Identifique la interfaz de servicio asociada con el conjunto de servicios.

Resultados

Tabla de historial de cambios

La compatibilidad de la función depende de la plataforma y la versión que utilice. 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 CGNAT Los servicios 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, el PCP es compatible con la tarjeta de servicios de seguridad MX-SPC3 para servicios CGNAT.
18.2R1
A partir de la versión 18.2R1 de Junos OS, el PCP en MS-MPC y MS-MIC admite DS-Lite.
18.2R1
17.4R1
A partir de la versión 17.4R1 de Junos OS, PCP para NAPT44 también es compatible con MS-MPC y MS-MIC.
17.4R1
A partir de la versión 17.4R1 de Junos OS, PCP para NAPT44 también es compatible con MS-MPC y MS-MIC.
17.4R1
A partir de la versión 17.4R1 de Junos OS, 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 la versión 2 del Protocolo de control de puerto (PCP), que cumple con RFC 6887.