Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Protocolo de controle de porta

Visão geral do protocolo de controle de porta

O protocolo de controle de porta (PCP) fornece uma maneira de controlar o encaminhamento de pacotes de entrada por dispositivos upstream, como NAT44 e dispositivos de firewall, e uma maneira de reduzir o tráfego de manutenção de atividade de aplicativos. O PCP é suportado nos PICs multisserviços MS-DPC, MS-100, MS-400 e MS-500. A partir do Junos OS Release 17.4R1, o PCP para NAPT44 também é suportado no MS-MPC e no MS-MIC. A partir do Junos 20.2R1, o PCP para serviços CGNAT DS-Lite tem suporte para serviços de próxima geração.A partir do Junos OS Release 18.2R1, o PCP no MS-MPC e no MS-MIC oferece suporte ao DS-Lite. No Junos OS Release 18.1 e versões anteriores, o PCP no MS-MPC e MS-MIC não oferece suporte ao DS-Lite.

O PCP foi projetado para ser implementado no contexto de NATs de nível de operadora (CGNs) e NATs pequenos (por exemplo, NATs residenciais). O PCP permite que os hosts operem servidores por um longo período (como no caso de uma webcam) ou por um curto período de tempo (por exemplo, durante um jogo ou em uma chamada telefônica) quando estiverem atrás de um dispositivo NAT, inclusive quando estiverem atrás de um CGN operado por seu ISP. O PCP permite que os aplicativos criem mapeamentos de um endereço IP externo e porta para um endereço IP interno e porta. Esses mapeamentos são necessários para comunicações de entrada bem-sucedidas destinadas a máquinas localizadas atrás de um NAT ou firewall. Depois que um mapeamento para conexões de entrada é criado, os computadores remotos devem ser informados sobre o endereço IP e a porta da conexão de entrada. Isso geralmente é feito de maneira específica do aplicativo.

O Junos OS oferece suporte ao PCP versão 2 e versão 1.

O PCP consiste nos seguintes componentes:

  • Cliente PCP — Um host ou gateway que emite solicitações PCP para um servidor PCP para obter e controlar recursos.

  • Servidor PCP — normalmente um gateway CGN ou servidor co-localizado que recebe e processa solicitações PCP

O Junos OS permite configurar servidores PCP para fluxos de mapeamento usando recursos NAPT44, como encaminhamento e alocação de blocos de portas. Os fluxos podem ser processados a partir destas fontes:

  • Tráfego contendo solicitações de PCP recebidas diretamente do equipamento do usuário, conforme mostrado na Figura 1.

    Figura 1: Topologia básica de PCP NAPT44 Basic PCP NAPT44 Topology
  • Mapeamento do tráfego contendo solicitações PCP adicionadas por um roteador que funciona como um iniciador de softwire DS-Lite (B4). Esse modo, conhecido como modo simples DS-Lite, é mostrado na Figura 2.

    Figura 2: PCP com modo PCP with DS-Lite Plain Mode simples DS-Lite
Observação:

O Junos OS não oferece suporte à alocação determinística de blocos de porta para tráfego originado por PCP.

Benefícios do Protocolo de Controle de Porta

Muitos aplicativos compatíveis com NAT enviam mensagens frequentes no nível do aplicativo para garantir que suas sessões não sejam expiradas por um dispositivo NAT. O PCP é usado para:

  • Reduza a frequência dessas mensagens de keepalive do NAT

  • Reduza a largura de banda na rede de acesso do assinante

  • Reduza o tráfego para o servidor

  • Reduza o consumo de bateria em dispositivos móveis

Protocolo de controle de porta versão 2

A partir do Junos OS Release 15.1, há suporte ao protocolo de controle de porta (PCP) versão 2, que está em conformidade com o RFC 6887. O PCP fornece uma maneira de controlar o encaminhamento de pacotes recebidos por dispositivos upstream, como NAT44 e dispositivos de firewall, e uma maneira de reduzir o tráfego de manutenção de aplicativos vivos. O PCP versão 2 oferece suporte à autenticação nonce. O PCP permite que os aplicativos criem mapeamentos de um endereço IP e porta externos para um endereço IP e uma porta internos. Uma carga nonce impede um ataque de repetição e é enviada por padrão, a menos que seja explicitamente desabilitada.

A verificação de nonce do cliente para solicitações de mapa da versão 2 (para atualização ou exclusão) requer que o nonce recebido na solicitação de mapa original que faz com que o mapeamento PCP seja criado seja preservado. A versão da solicitação inicial que permite a criação do mapeamento também é preservada. Esse comportamento de salvar os parâmetros nonce e version denota que 13 bytes por mapeamento PCP são usados. Esse ligeiro aumento no espaço de armazenamento não é significativo quando combinado com o uso atual de memória de um sistema para um único mapeamento solicitado (levando em conta o mapeamento independente de endpoint (EIM) e a filtragem independente de endpoint (EIF) que são criados junto com ele). Em uma implantação de cliente, o PCP faz com que os mapeamentos EIM e EIF representem uma fração de todos esses mapeamentos.

Até o Junos Release 15.1, os PICs de serviços oferecem suporte a servidores PCP em roteadores da Juniper Networks de acordo com a versão 22 do PCP com codificação de mensagens versão 1. Com o PCP sendo refinado da versão de rascunho, conforme definido no Protocolo de Controle de Porta (PCP) draft-ietf-pcp-base-22 (expiração de julho de 2012) para uma versão padrão finalizada, conforme definido no RFC 6887 -- Protocolo de Controle de Porta (PCP), a codificação da mensagem mudou para a versão 2 com a adição de uma carga nonce aleatória para autenticar solicitações de peer e mapa conforme necessário. A versão 1 não decodifica mensagens compatíveis com o formato da versão 2 e a autenticação nonce não é suportada. Em um ambiente de rede real, com dispositivos de equipamento de instalações do cliente (CPE) cada vez mais suportando apenas a versão 2, é necessário analisar e enviar mensagens da versão 2. A compatibilidade com versões anteriores com dispositivos CPE compatíveis com a versão 1 é mantida (a negociação de versão faz parte do padrão) e autentica pacotes de carga nonce de solicitação quando as mensagens v2 estão em uso.

A saída do show services pcp statistics comando contém o campo de versão não suportada do PCP, que é incrementado para indicar sempre que a versão não é 1 ou 2. Um novo campo, o nonce de solicitação PCP não corresponde ao mapeamento existente, é introduzido para indicar o número de solicitações PCP versão 2 que foram ignoradas porque a carga útil do nonce não correspondeu à registrada no mapeamento (falha na autenticação). Se a versão 2 estiver em uso, o nonce do cliente será usado para autenticação.

Configuração do protocolo de controle de porta

Este tópico descreve como configurar o protocolo de controle de porta (PCP). O PCP é suportado nos PICs multisserviços MS-DPC, MS-100, MS-400 e MS-500. A partir do Junos OS Release 17.4R1, o PCP para NAPT44 também é suportado no MS-MPC e no MS-MIC. A partir do Junos OS Release 18.2R1, o PCP no MS-MPC e MS-MIC oferece suporte ao DS-Lite. No Junos OS Release 18.1 e versões anteriores, o PCP no MS-MPC e MS-MIC não oferece suporte ao DS-Lite. A partir do lançamento do Junos OS 20.2R1, o PCP é suportado na placa de serviços de segurança MX-SPC3 para serviços CGNAT.

Execute as seguintes tarefas de configuração:

Configurando opções do servidor PCP

  1. Especifique um nome de servidor PCP.
  2. Defina os endereços IPv4 ou IPv6 do servidor. Para PCP DS-Lite, deve ipv6-address corresponder ao endereço do AFTR (Address Family Transition Router ou concentrador softwire).
    Observação:

    A partir do Junos OS Release 18.2R1, o PCP no MS-MPC e MS-MIC oferece suporte ao DS-Lite. No Junos OS Release 18.1 e versões anteriores, o PCP no MS-MPC e MS-MIC não oferece suporte ao DS-Lite.

    ou

  3. Para PCP DS-Lite, forneça o nome da configuração do concentrador softwire DS-Lite.
  4. Especifique os tempos de vida mínimo e máximo de mapeamento para o servidor.
  5. Especifique os limites de tempo para gerar erros de vida útil curta ou longa.
  6. (Opcional) — Habilite as opções de PCP no servidor PCP especificado. As seguintes opções estão disponíveis:third-party e prefer-failure. A opção de terceiros é necessária para habilitar solicitações de terceiros pelo cliente PCP. O DS-Lite requer a third-party opção. A prefer-failure opção solicita a geração de uma mensagem de erro quando o cliente PCP solicita um endereço/porta IP específico que não está disponível, em vez de atribuir outro endereço disponível do pool NAT. Se prefer-failure não for especificado, o NAPT44 atribui um endereço/porta disponível do pool NAT com base nas opções de NAT configuradas.
  7. (Opcional) — Especifique qual pool NAT usar para mapeamento.
    Observação:

    Quando você não especifica explicitamente um pool NAT para mapeamento, o Junos OS executa uma correspondência de regra parcial com base no IP de origem, na porta de origem e no protocolo, e o Junos OS usa o pool NAT configurado para a primeira regra correspondente para alocar mapeamentos para PCP.

    Você deve usar a configuração explícita para usar vários pools NAT.

    Para a placa de serviços de segurança MX-SPC3 e os Serviços de Próxima Geração, a declaração oferece suporte a apenas um nome de pool a ser anexado nat-options a um servidor PCP.

  8. (Opcional) — Configure o número máximo de mapeamentos por cliente. O padrão é 32 e o máximo é 128.

Configurando uma regra de PCP

Uma regra de PCP tem as mesmas opções básicas que todas as regras de conjunto de serviços:

  • Uma term opção que permite que uma única regra tenha vários aplicativos.

    Um termo não é necessário ao executar a placa de serviços de segurança MX-SPC3 para serviços de próxima geração.

  • Uma from opção que identifica o tráfego que está sujeito à regra.

  • Uma then opção que identifica qual ação deve ser tomada. No caso de uma regra PCP, esta opção identifica o servidor pcp que lida com o tráfego selecionado

  1. Vá para o nível de hierarquia e especifique match-direction a [edit services pcp rule rule-name] entrada.
  2. Vá para o [edit services pcp rule rule-name term term-name] nível de hierarquia e forneça um nome de termo.

    Esta etapa não é necessária ao executar a placa de serviços de segurança MX-SPC3 para serviços de próxima geração.

  3. (Opcional) — Forneça uma from opção para filtrar o tráfego a ser selecionado para processamento pela regra. Quando você omite a from opção, todo o tráfego manipulado pela interface de serviço do conjunto de serviços está sujeito à regra. As seguintes opções estão disponíveis no nível da [edit services pcp rule rule-name term term-name from] hierarquia:
    application-sets set-name

    O tráfego para o conjunto de aplicativos é processado pela regra PCP.

    Esta etapa não é necessária ao executar a placa de serviços de segurança MX-SPC3 para serviços de próxima geração.

    applications [ application-name ]

    O tráfego do aplicativo é processado pela regra PCP.

    Essa opção não é necessária ao executar a placa de serviços de segurança MX-SPC3 para serviços de próxima geração.

    destination-address address <except>

    O tráfego para o endereço ou prefixo de destino é processado pela regra PCP. Se você incluir a except opção, o tráfego para o endereço ou prefixo de destino não será processado pela regra PCP.

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

    O tráfego para o intervalo de endereços de destino é processado pela regra PCP. Se você incluir a except opção, o tráfego para o intervalo de endereços de destino não será processado pela regra PCP.

    destination-port high maximum-value low minimum-value

    O tráfego para o intervalo de portas de destino é processado pela regra PCP.

    destination-prefix-list list-name <except>

    O tráfego para um endereço de destino na lista de prefixos é processado pela regra PCP. Se você incluir a except opção, o tráfego para um endereço de destino na lista de prefixos não será processado pela regra PCP.

    source-address address <except>

    O tráfego do endereço ou prefixo de origem é processado pela regra PCP. Se você incluir a except opção, o tráfego do endereço ou prefixo de origem não será processado pela regra PCP.

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

    O tráfego do intervalo de endereços de origem é processado pela regra PCP. Se você incluir a except opção, o tráfego do intervalo de endereços de origem não será processado pela regra PCP.

    source-prefix-list list-name <except>

    O tráfego de um endereço de origem na lista de prefixos é processado pela regra PCP. Se você incluir a except opção, o tráfego de um endereço de origem na lista de prefixos não será processado pela regra PCP.

  4. Defina a then opção para identificar o servidor PCP de destino.

Configurando uma regra NAT

Para configurar uma regra NAT:

  1. Configure o nome da regra NAT e a direção da correspondência.
  2. Especifique o pool de NAT a ser usado:
  3. Configure o tipo de tradução.
  4. Se você estiver usando PCP com NAT IPv4 para IPv4 ou com DS-Lite, configure o mapeamento independente de endpoint (EIM) e a filtragem independente de endpoint (EIF).
    Observação:

    Os mapeamentos PCP não serão criados se você não configurar EIM e EIF com PCP para IPv4 para IPv4 NAT ou para DS-Lite.

Configurando um conjunto de serviços para aplicar o PCP

Para usar o PCP, você deve fornecer o nome da regra (ou o nome de uma lista de nomes de regras) na pcp-rule rule-name opção.

  1. Vá para o [edit services service-set service-set-name nível de hierarquia.
  2. Se este for um novo conjunto de serviços, forneça informações básicas do conjunto de serviços, incluindo informações de interface e quaisquer outras regras que possam ser aplicadas.
  3. Especifique o nome da regra PCP ou da lista de regras usada para enviar tráfego para o servidor PCP especificado.
Observação:

Seu conjunto de serviços também deve identificar qualquer arquivo .nat-rule softwire-rule

Configuração de mensagens SYSLOG

Uma nova classe de syslog, a opção de configuração, pcp-logs, foi fornecida para controlar a geração de log do PCP. Ele fornece os seguintes níveis de registro:

  • protocol— Todos os logs relacionados à criação e exclusão de mapeamento são incluídos neste nível de registro.

  • protocol-error—–Todos os logs relacionados a erros de protocolo (como falha na atualização de mapeamento, falha na pesquisa de PCP, falha na criação de mapeamento). estão incluídos neste nível de registro.

  • system-error— Erros de memória e infraestrutura estão incluídos neste nível de registro.

Monitoramento das operações do protocolo de controle de porta

Você pode monitorar as operações do protocolo de controle de porta (PCP) com os seguintes comandos operacionais:

  • Para MS-MPCs, use o show services nat mappings pcp comando.

    Observação:

    O PCP não é suportado para serviços de próxima geração no Junos OS versão 19.3R2

  • Para MS-MPCs, use o show services nat mappings endpoint-independent comando.

    Para serviços de próxima geração, use o show services nat source mappings endpoint-independent comando.

  • show services pcp statistics protocol

Veja a seguir exemplos da saída desses comandos.

Exemplo: configurando o protocolo de controle de porta com NAPT44

Observação:

O PCP é suportado no MS-DPC, MS-100, MS-400 e MS-500 MultiServices PICS. A partir do Junos OS Release 17.4R1, o PCP para NATP44 também é suportado no MS-MPC e no MS-MIC.

Requerimentos

Requisitos de hardware

  • UEs com clientes PCP.

  • Um roteador MX 3D com um PIC de serviços MS-DPC.

  • Requisitos de software

  • Junos OS 13.2

  • Pacote de serviços de camada 3

Visão geral

Um ISP deseja permitir que UEs com clientes PCP mantenham conexões com servidores sem atingir o tempo limite. Os clientes PCP geram solicitações PCP para o tipo e a duração da conexão necessária. As conexões podem ser de longa duração, como aplicativos que usam uma webcam, ou de duração mais curta, como jogos online. Um roteador MX 3D fornece um servidor PCP para interpretar as solicitações do cliente PCP e NAPT44. A Figura 3 mostra a topologia básica para este exemplo.

Figura 3: PCP com NAPT44 PCP with NAPT44

Configuração do PCP

Configuração rápida da CLI

Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para corresponder à sua configuração de rede e, em seguida, copie e cole os comandos na CLI no nível de [edit] hierarquia.

Configuração do chassi

Procedimento passo a passo

Para configurar o PIC de serviço (FPC 2 Slot 0) com o pacote de serviço de Camada 3:

  1. Vá para o nível de hierarquia [edit chassis].

  2. Configure o pacote de serviços de Camada 3.

Resultados

Configuração da interface

Procedimento passo a passo

  1. Configure os serviços MS-DPC.

  2. Configure a interface voltada para o cliente usada para serviços NAT e PCP.

  3. Configure a interface voltada para a Internet.

Resultados

Configuração de NAT

Procedimento passo a passo

  1. Vá para a [edit services nat] hierarquia.

  2. Configure um pool de NAT chamado pcp-pool.

  3. Configure uma regra NAT chamada pcp-rule.

Resultados

Configuração do PCP

Procedimento passo a passo

Para configurar o servidor PCP e as opções de regra PCP.

  1. Vá para o edit services pcp nível de hierarquia do servidor pcp-s1

  2. Configure as opções do servidor PCP.

  3. Crie a regra PCP.

  4. Configure as opções de regra do PCP.

Resultados

Configuração do conjunto de serviços

Procedimento passo a passo

  1. Crie um conjunto de serviços, sset_0, no nível de edit services service-set hierarquia.

  2. Identifique a regra NAT associada ao conjunto de serviços.

  3. Identifique a regra de PCP associada ao conjunto de serviços.

  4. Identifique a interface de serviço associada ao conjunto de serviços.

Resultados

Tabela de histórico de alterações

A compatibilidade com recursos é determinada pela plataforma e versão utilizada. Use o Explorador de recursos para determinar se um recurso é compatível com sua plataforma.

Lançamento
Descrição
20.2R1
A partir do Junos 20.2R1, o PCP para serviços CGNAT DS-Lite tem suporte para serviços de próxima geração.
20.2R1
A partir do lançamento do Junos OS 20.2R1, o PCP é suportado na placa de serviços de segurança MX-SPC3 para serviços CGNAT.
18.2R1
A partir do Junos OS Release 18.2R1, o PCP no MS-MPC e MS-MIC oferece suporte ao DS-Lite.
18.2R1
17.4R1
A partir do Junos OS Release 17.4R1, o PCP para NAPT44 também é suportado no MS-MPC e no MS-MIC.
17.4R1
A partir do Junos OS Release 17.4R1, o PCP para NAPT44 também é suportado no MS-MPC e no MS-MIC.
17.4R1
A partir do Junos OS Release 17.4R1, o PCP para NATP44 também é suportado no MS-MPC e no MS-MIC.
15.1
A partir do Junos OS Release 15.1, há suporte ao protocolo de controle de porta (PCP) versão 2, que está em conformidade com o RFC 6887.