Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Protocole de contrôle de port

Présentation du protocole de contrôle de port

Le protocole PCP (Port Control Protocol) permet de contrôler le transfert de paquets entrants par les périphériques en amont, tels que les périphériques NAT44 et les pare-feu, et de réduire le trafic keepalive des applications. Le PCP est pris en charge sur les PIC multiservices MS-DPC, MS-100, MS-400 et MS-500. À partir de la version 17.4R1 de Junos OS, PCP pour NAPT44 est également pris en charge sur les MS-MPC et MS-MIC. À partir de Junos 20.2R1, PCP pour les services CGNAT DS-Lite est pris en charge pour les services nouvelle génération. À partir de la version 18.2R1 de Junos OS, PCP sur MS-MPC et MS-MIC prend en charge DS-Lite. Dans Junos OS version 18.1 et versions antérieures, PCP sur MS-MPC et MS-MIC ne prend pas en charge DS-Lite.

Le PCP est conçu pour être mis en œuvre dans le contexte des NAT de classe opérateur (CGN) et des NAT de petite taille (par exemple, les NAT résidentiels). Le PCP permet aux hôtes d’utiliser des serveurs pendant une longue période (comme dans le cas d’une webcam) ou une courte période (par exemple, en jouant à un jeu ou lors d’un appel téléphonique) lorsqu’ils sont derrière un appareil NAT, y compris lorsqu’ils sont derrière un CGN exploité par leur FAI. Le PCP permet aux applications de créer des mappages à partir d’une adresse IP et d’un port externes vers une adresse IP et un port internes. Ces mappages sont nécessaires pour réussir les communications entrantes destinées à des machines situées derrière un NAT ou un pare-feu. Une fois le mappage des connexions entrantes créé, les ordinateurs distants doivent être informés de l’adresse IP et du port de la connexion entrante. Cette opération est généralement spécifique à l’application.

Junos OS prend en charge PCP version 2 et version 1.

Le PCP se compose des composants suivants :

  • Client PCP : hôte ou passerelle qui émet des requêtes PCP à un serveur PCP afin d’obtenir et de contrôler des ressources.

  • Serveur PCP : généralement une passerelle CGN ou un serveur colocalisé qui reçoit et traite les demandes PCP

Junos OS permet de configurer les serveurs PCP pour mapper des flux à l’aide des capacités NAPT44 telles que le transfert de ports et l’attribution de blocs de ports. Les flux peuvent être traités à partir des sources suivantes :

  • Trafic contenant des requêtes PCP reçues directement de l’équipement de l’utilisateur, comme illustré dans la Figure 1.

    Figure 1 : Topologie de base du PCP NAPT44 Basic PCP NAPT44 Topology
  • Mappage du trafic contenant des requêtes PCP ajoutées par un routeur fonctionnant comme un initiateur de fil souple DS-Lite (B4). Ce mode, connu sous le nom de mode simple DS-Lite, est illustré à la figure 2.

    Figure 2 : PCP avec mode PCP with DS-Lite Plain Mode simple DS-Lite
Remarque :

Junos OS ne prend pas en charge l’attribution déterministe de blocs de ports pour le trafic provenant de PCP.

Avantages du protocole de contrôle de port

De nombreuses applications compatibles NAT envoient fréquemment des messages au niveau de l’application pour s’assurer qu’un périphérique NAT n’interrompt pas leurs sessions. Le PCP est utilisé pour :

  • Réduisez la fréquence de ces messages keepalive NAT

  • Réduire la bande passante sur le réseau d'accès de l'abonné

  • Réduire le trafic vers le serveur

  • Réduire la consommation de la batterie des appareils mobiles

Protocole de contrôle de port version 2

À partir de la version 15.1 de Junos OS, la version 2 du protocole de contrôle de port (PCP) est prise en charge, conformément à la norme RFC 6887. Le PCP permet de contrôler le transfert de paquets entrants par les périphériques en amont, tels que NAT44, et les pare-feu, et de réduire le trafic keep-alive des applications. PCP version 2 prend en charge l’authentification nonce. Le PCP permet aux applications de créer des mappages d’une adresse IP et d’un port externes vers une adresse IP et un port internes. Une charge utile nonce empêche une attaque par rejeu et elle est envoyée par défaut sauf si elle est explicitement désactivée.

La vérification du nonce client pour les demandes de mappage de version 2 (pour actualisation ou suppression) nécessite que le nonce reçu dans la demande de mappage d’origine qui entraîne la création du mappage PCP soit conservé. La version de la requête initiale qui permet de créer le mappage est également conservée. Ce comportement d’enregistrement des paramètres nonce et version indique que 13 octets par mappage PCP sont utilisés. Cette légère augmentation de l’espace de stockage n’est pas significative lorsqu’elle correspond à l’utilisation actuelle de la mémoire d’un système pour un seul mappage demandé (en tenant compte du mappage indépendant du point de terminaison (EIM) et du filtrage indépendant du point de terminaison (EIF) qui sont créés avec lui). Dans un déploiement client, PCP fait en sorte que les mappages EIM et EIF représentent une fraction de tous ces mappages.

Jusqu’à la version 15.1 de Junos, les PIC de services prennent en charge les serveurs PCP sur les routeurs Juniper Networks conformément à la version 22 de PCP avec le codage des messages de la version 1. Le PCP étant passé de la version préliminaire telle que définie dans le protocole de contrôle de port (PCP) draft-ietf-pcp-base-22 (expiration de juillet 2012) à une version standard finalisée telle que définie dans RFC 6887 - Protocole de contrôle de port (PCP), le codage des messages a été modifié en version 2 avec l’ajout d’une charge utile nonce aléatoire pour authentifier les demandes d’homologue et de mappage si nécessaire. La version 1 ne décode pas les messages conformes au format de la version 2 et l’authentification nonce n’est pas prise en charge. Dans un environnement réseau réel, les équipements CPE (Customer Premises Equipment) prenant de plus en plus en charge la version 2 uniquement, il est nécessaire d’analyser et d’envoyer des messages de version 2. La rétrocompatibilité avec les équipements CPE prenant en charge la version 1 est maintenue (la négociation de version fait partie de la norme) et authentifie les paquets de charge utile Request Nonce lorsque des messages v2 sont utilisés.

La sortie de la show services pcp statistics commande contient le champ Version PCP non prise en charge, qui est incrémenté pour indiquer chaque fois que la version n’est pas 1 ou 2. Un nouveau champ, PCP request nonce ne correspond pas au mappage existant, est introduit pour indiquer le nombre de requêtes PCP version 2 qui ont été ignorées car la charge utile nonce ne correspondait pas à celle enregistrée dans le mappage (échec de l’authentification). Si la version 2 est utilisée, le nonce client est utilisé pour l’authentification.

Configuration du protocole de contrôle de port

Cette rubrique décrit comment configurer le protocole de contrôle de port (PCP). Le PCP est pris en charge sur les PIC multiservices MS-DPC, MS-100, MS-400 et MS-500. À partir de la version 17.4R1 de Junos OS, PCP pour NAPT44 est également pris en charge sur les MS-MPC et MS-MIC. À partir de la version 18.2R1 de Junos OS, le PCP sur les MS-MPC et MS-MIC prend en charge DS-Lite. Dans Junos OS version 18.1 et versions antérieures, PCP sur MS-MPC et MS-MIC ne prend pas en charge DS-Lite. À partir de la version 20.2R1 de Junos OS, le PCP est pris en charge sur la carte de services de sécurité MX-SPC3 pour les services CGNAT.

Effectuez les tâches de configuration suivantes :

Configuration des options du serveur PCP

  1. Spécifiez un nom de serveur PCP.
  2. Définissez les adresses IPv4 ou IPv6 du serveur. Pour PCP DS-Lite, le ipv6-address doit correspondre à l’adresse de l’AFTR (Address Family Transition Router ou concentrateur softwire).
    Remarque :

    À partir de la version 18.2R1 de Junos OS, le PCP sur les MS-MPC et MS-MIC prend en charge DS-Lite. Dans Junos OS version 18.1 et versions antérieures, PCP sur MS-MPC et MS-MIC ne prend pas en charge DS-Lite.

    ou

  3. Pour PCP DS-Lite, indiquez le nom de la configuration du concentrateur à fil souple DS-Lite.
  4. Spécifiez les durées de vie de mappage minimale et maximale pour le serveur.
  5. Spécifiez les limites de temps pour générer des erreurs de courte ou longue durée de vie.
  6. (Facultatif) : activez les options PCP sur le serveur PCP spécifié. Les options suivantes sont disponibles :third-party et prefer-failure. L’option tierce est requise pour permettre au client PCP de soumettre des demandes à des tiers. DS-Lite nécessite l’option third-party . L’option prefer-failure demande la génération d’un message d’erreur lorsque le client PCP demande une adresse/port IP spécifique qui n’est pas disponible, plutôt que d’affecter une autre adresse disponible à partir du pool NAT. Si prefer-failure cette option n’est pas spécifiée, NAPT44 attribue une adresse/un port disponible à partir du pool NAT en fonction des options NAT configurées.
  7. (Facultatif) : spécifiez le pool NAT à utiliser pour le mappage.
    Remarque :

    Lorsque vous ne spécifiez pas explicitement de pool NAT pour le mappage, le système d’exploitation Junos OS effectue une correspondance partielle des règles en fonction de l’adresse IP source, du port source et du protocole, et le système d’exploitation Junos utilise le pool NAT configuré pour la première règle de correspondance pour allouer des mappages pour PCP.

    Vous devez utiliser une configuration explicite afin d’utiliser plusieurs pools NAT.

    Pour la carte de services de sécurité MX-SPC3 et les services de nouvelle génération, l’instruction nat-options ne prend en charge qu’un seul nom de pool à attacher à un serveur PCP.

  8. (Facultatif) : configurez le nombre maximal de mappages par client. La valeur par défaut est 32 et le maximum est 128.

Configuration d’une règle PCP

Une règle PCP a les mêmes options de base que toutes les règles d’ensemble de services :

  • Une term option qui permet à une seule règle d’avoir plusieurs applications.

    Aucune durée n’est requise lors de l’exécution de la carte de services de sécurité MX-SPC3 pour les services nouvelle génération.

  • Option from qui identifie le trafic soumis à la règle.

  • Une then option qui identifie les mesures à entreprendre. Dans le cas d’une règle PCP, cette option Identifie le serveur pcp qui gère le trafic sélectionné

  1. Allez au niveau de la hiérarchie et spécifiez match-direction l’entrée[edit services pcp rule rule-name].
  2. Allez au niveau de la [edit services pcp rule rule-name term term-name] hiérarchie et fournissez un nom de terme.

    Cette étape n’est pas requise lors de l’exécution de la carte de services de sécurité MX-SPC3 pour les services de nouvelle génération.

  3. (Facultatif) : permet de from filtrer le trafic à sélectionner pour le traitement par la règle. Lorsque vous omettez cette from option, tout le trafic géré par l’interface de service de l’ensemble de services est soumis à la règle. Les options suivantes sont disponibles au niveau de la [edit services pcp rule rule-name term term-name from] hiérarchie :
    application-sets set-name

    Le trafic de l’ensemble d’applications est traité par la règle PCP.

    Cette étape n’est pas requise lors de l’exécution de la carte de services de sécurité MX-SPC3 pour les services de nouvelle génération.

    applications [ application-name ]

    Le trafic de l’application est traité par la règle PCP.

    Cette option n’est pas nécessaire lors de l’exécution de la carte de services de sécurité MX-SPC3 pour les services de nouvelle génération.

    destination-address address <except>

    Le trafic pour l’adresse ou le préfixe de destination est traité par la règle PCP. Si vous incluez cette except option, le trafic pour l’adresse ou le préfixe de destination n’est pas traité par la règle PCP.

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

    Le trafic pour la plage d’adresses de destination est traité par la règle PCP. Si vous incluez l’option except , le trafic de la plage d’adresses de destination n’est pas traité par la règle PCP.

    destination-port high maximum-value low minimum-value

    Le trafic pour la plage de ports de destination est traité par la règle PCP.

    destination-prefix-list list-name <except>

    Le trafic d’une adresse de destination dans la liste de préfixes est traité par la règle PCP. Si vous incluez l’option, le trafic d’une except adresse de destination dans la liste de préfixes n’est pas traité par la règle PCP.

    source-address address <except>

    Le trafic provenant de l’adresse source ou du préfixe est traité par la règle PCP. Si vous incluez cette except option, le trafic provenant de l’adresse source ou du préfixe n’est pas traité par la règle PCP.

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

    Le trafic provenant de la plage d’adresses sources est traité par la règle PCP. Si vous incluez l’option except , le trafic de la plage d’adresses source n’est pas traité par la règle PCP.

    source-prefix-list list-name <except>

    Le trafic provenant d’une adresse source figurant dans la liste de préfixes est traité par la règle PCP. Si vous incluez cette except option, le trafic provenant d’une adresse source dans la liste des préfixes n’est pas traité par la règle PCP.

  4. Définissez l’option then permettant d’identifier le serveur PCP cible.

Configuration d’une règle NAT

Pour configurer une règle NAT :

  1. Configurez le nom de la règle NAT et la direction de correspondance.
  2. Spécifiez le pool NAT à utiliser :
  3. Configurez le type de traduction.
  4. Si vous utilisez PCP avec IPv4-to-IPv4 NAT ou avec DS-Lite, configurez le mappage indépendant du point de terminaison (EIM) et le filtrage indépendant du point de terminaison (EIF).
    Remarque :

    Les mappages PCP ne sont pas créés si vous ne configurez pas EIM et EIF avec PCP pour IPv4-to-IPv4 NAT ou pour DS-Lite.

Configuration d’un ensemble de services pour l’application de PCP

Pour utiliser PCP, vous devez fournir le nom de la règle (ou le nom d’une liste de noms de règles) dans l’option pcp-rule rule-name .

  1. Allez au niveau hiérarchique [edit services service-set service-set-name .
  2. S’il s’agit d’un nouvel ensemble de services, fournissez des informations de base sur l’ensemble de services, y compris des informations sur l’interface et toute autre règle applicable.
  3. Spécifiez le nom de la règle PCP ou de la liste de règles utilisée pour envoyer le trafic au serveur PCP spécifié.
Remarque :

Votre ensemble de services doit également identifier les fichiers nat-rule softwire-ruleet .

Configuration des messages SYSLOG

Une nouvelle classe syslog, l’option de configuration, pcp-logsa été fournie pour contrôler la génération de journaux PCP. Il fournit les niveaux de journalisation suivants :

  • protocol: tous les journaux liés à la création et à la suppression de mappages sont inclus à ce niveau de journalisation.

  • protocol-error—–Tous les journaux liés aux erreurs de protocole (tels que l’échec de l’actualisation du mappage, l’échec de la recherche PCP, l’échec de la création du mappage). sont inclus dans ce niveau de journalisation.

  • system-error: les erreurs de mémoire et d’infrastructure sont incluses dans ce niveau de journalisation.

Surveillance des opérations des protocoles de contrôle de port

Vous pouvez surveiller les opérations PCP (Port Control Protocol) à l’aide des commandes opérationnelles suivantes :

  • Pour les MS-MPC, utilisez la show services nat mappings pcp commande.

    Remarque :

    PCP n’est pas pris en charge pour les services nouvelle génération dans Junos OS version 19.3R2

  • Pour les MS-MPC, utilisez la show services nat mappings endpoint-independent commande.

    Pour les services nouvelle génération, utilisez la show services nat source mappings endpoint-independent commande.

  • show services pcp statistics protocol

Voici des exemples de sortie de ces commandes.

Exemple : configuration d’un protocole de contrôle de port avec NAPT44

Remarque :

Le PCP est pris en charge sur les PIC multiservices MS-DPC, MS-100, MS-400 et MS-500. À partir de la version 17.4R1 de Junos OS, le PCP pour NATP44 est également pris en charge sur les MS-MPC et MS-MIC.

Exigences

Exigences matérielles

  • UE avec des clients PCP.

  • Un routeur MX 3D avec un PIC de services MS-DPC.

  • Exigences logicielles

  • Junos OS 13.2

  • Ensemble de services de couche 3

Vue d’ensemble

Un FAI souhaite permettre aux UE avec des clients PCP de maintenir les connexions aux serveurs sans expiration. Les clients PCP génèrent des requêtes PCP pour le type et la durée de la connexion dont ils ont besoin. Les connexions peuvent être de longue durée, comme les applications utilisant une webcam, ou de plus courte durée, comme les jeux en ligne. Un routeur 3D MX fournit un serveur PCP pour interpréter les demandes des clients PCP et NAPT44. La figure 3 illustre la topologie de base de cet exemple.

Figure 3 : PCP avec NAPT44 PCP with NAPT44

PCP Configuration

Configuration rapide de la CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez-collez les commandes dans la CLI au niveau de la hiérarchie [modifier].

Configuration du châssis

Procédure étape par étape

Pour configurer le PIC de service (FPC 2 Slot 0) avec le package de services de couche 3 :

  1. Allez au niveau hiérarchique [edit chassis].

  2. Configurez le package de services de couche 3.

Résultats

Configuration de l’interface

Procédure étape par étape

  1. Configurez les services MS-DPC.

  2. Configurez l’interface client utilisée pour les services NAT et PCP.

  3. Configurez l’interface Internet.

Résultats

NAT Configuration

Procédure étape par étape

  1. Allez dans la [edit services nat] hiérarchie.

  2. Configurez un pool NAT appelé pcp-pool.

  3. Configurez une règle NAT appelée pcp-rule.

Résultats

PCP Configuration

Procédure étape par étape

Pour configurer le serveur PCP et les options de règle PCP.

  1. Accéder au niveau hiérarchique edit services pcp pour serveur pcp-s1

  2. Configurez les options du serveur PCP.

  3. Créez la règle PCP.

  4. Configurez les options de la règle PCP.

Résultats

Configuration de l’ensemble de services

Procédure étape par étape

  1. Créez un ensemble de services, sset_0, au niveau de la edit services service-set hiérarchie.

  2. Identifiez la règle NAT associée à l’ensemble de services.

  3. Identifiez la règle PCP associée à l’ensemble de services.

  4. Identifiez l’interface de service associée à l’ensemble de services.

Résultats

Tableau de l’historique des modifications

La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l’explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.

Libération
Descriptif
20.2R1
À partir de Junos 20.2R1, PCP pour les services CGNAT DS-Lite est pris en charge pour les services nouvelle génération.
20.2R1
À partir de la version 20.2R1 de Junos OS, le PCP est pris en charge sur la carte de services de sécurité MX-SPC3 pour les services CGNAT.
18.2R1
À partir de la version 18.2R1 de Junos OS, le PCP sur les MS-MPC et MS-MIC prend en charge DS-Lite.
18.2R1
17.4R1
À partir de la version 17.4R1 de Junos OS, PCP pour NAPT44 est également pris en charge sur les MS-MPC et MS-MIC.
17.4R1
À partir de la version 17.4R1 de Junos OS, PCP pour NAPT44 est également pris en charge sur les MS-MPC et MS-MIC.
17.4R1
À partir de la version 17.4R1 de Junos OS, le PCP pour NATP44 est également pris en charge sur les MS-MPC et MS-MIC.
15.1
À partir de la version 15.1 de Junos OS, la version 2 du protocole de contrôle de port (PCP) est prise en charge, conformément à la norme RFC 6887.