Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Port Control Protocol

Port Control Protocol – Übersicht

Das Port Control Protocol (PCP) bietet eine Möglichkeit, die Weiterleitung eingehender Pakete durch vorgeschaltete Geräte wie NAT44- und Firewall-Geräte zu steuern und den Application Keepalive-Datenverkehr zu reduzieren. PCP wird auf den MultiServices-PIC MS-DPC, MS-100, MS-400 und MS-500 unterstützt. Ab Junos OS Version 17.4R1 wird PCP für NAPT44 auch auf MS-MPC und MS-MIC unterstützt. Ab Junos 20.2R1 werden PCP für CGNAT DS-Lite-Dienste für Next Gen Services unterstützt.Ab Junos OS Version 18.2R1 unterstützt PCP auf MS-MPC und MS-MIC DS-Lite. In Junos OS Version 18.1 und früheren Versionen unterstützt PCP auf MS-MPC und MS-MIC DS-Lite nicht.

PCP ist für die Implementierung sowohl im Kontext von Carrier-Grade NATs (CGNs) als auch mit kleinen NATs (z. B. NATs für Privathaushalte) konzipiert. PCP ermöglicht es Hosts, Server für eine lange Zeit (wie im Fall einer Webcam) oder für kurze Zeit (z. B. während eines Spiels oder eines Telefonanrufs) zu betreiben, wenn sie sich hinter einem NAT-Gerät befinden, einschließlich hinter einem CGN, das von ihrem ISP betrieben wird. PCP ermöglicht es Anwendungen, Zuordnungen von einer externen IP-Adresse und einem Port zu einer internen IP-Adresse und einem internen Port zu erstellen. Diese Zuordnungen sind für eine erfolgreiche eingehende Kommunikation erforderlich, die für Computer bestimmt ist, die sich hinter einem NAT oder einer Firewall befinden. Nachdem eine Zuordnung für eingehende Verbindungen erstellt wurde, müssen Remotecomputer über die IP-Adresse und den Port für die eingehende Verbindung informiert werden. Dies geschieht in der Regel anwendungsspezifisch.

Junos OS unterstützt PCP Version 2 und Version 1.

PCP besteht aus den folgenden Komponenten:

  • PCP-Client: Ein Host oder Gateway, der PCP-Anforderungen an einen PCP-Server sendet, um Ressourcen zu erhalten und zu steuern.

  • PCP-Server: In der Regel ein CGN-Gateway oder ein Co-Location-Server, der PCP-Anforderungen empfängt und verarbeitet.

Junos OS ermöglicht die Konfiguration von PCP-Servern für die Zuordnung von Datenströmen mithilfe von NAPT44-Funktionen wie Portweiterleitung und Portblockzuweisung. Flüsse können aus diesen Quellen verarbeitet werden:

  • Datenverkehr mit PCP-Anfragen, die direkt von Benutzergeräten empfangen werden, wie in Abbildung 1 dargestellt.

    Abbildung 1: Grundlegende PCP NAPT44-Topologie Basic PCP NAPT44 Topology
  • Mapping von Datenverkehr mit PCP-Anfragen, der von einem Router hinzugefügt wurde, der als DS-Lite-Softwire-Initiator fungiert (B4). Dieser Modus, der als einfacher DS-Lite-Modus bezeichnet wird, ist in Abbildung 2 dargestellt.

    Abbildung 2: PCP mit DS-Lite Plain Mode PCP with DS-Lite Plain Mode
Hinweis:

Junos OS unterstützt keine deterministische Portblockzuweisung für Datenverkehr aus PCP.

Vorteile des Port Control Protocol

Viele NAT-freundliche Anwendungen senden häufig Nachrichten auf Anwendungsebene, um sicherzustellen, dass ihre Sitzungen nicht von einem NAT-Gerät abgebrochen werden. PCP wird verwendet, um:

  • Reduzieren Sie die Häufigkeit dieser NAT-Keepalive-Nachrichten

  • Reduzierung der Bandbreite im Zugangsnetzwerk des Anwenders

  • Reduzieren des Datenverkehrs zum Server

  • Reduzieren Sie den Akkuverbrauch mobiler Geräte

Port Control Protocol Version 2

Ab Junos OS Version 15.1 wird Port Control Protocol (PCP) Version 2 unterstützt, das RFC 6887 entspricht. PCP bietet eine Möglichkeit, die Weiterleitung eingehender Pakete durch vorgeschaltete Geräte wie NAT44 und Firewall-Geräte zu steuern und den anwendungsbezogenen Keep-Alive-Datenverkehr zu reduzieren. PCP Version 2 unterstützt die Nonce-Authentifizierung. PCP ermöglicht es Anwendungen, Zuordnungen von einer externen IP-Adresse und einem Port zu einer internen IP-Adresse und einem internen Port zu erstellen. Eine Nonce-Nutzlast verhindert einen Replay-Angriff und wird standardmäßig gesendet, sofern sie nicht explizit deaktiviert ist.

Die Client-Nonce-Überprüfung für Zuordnungsanforderungen der Version 2 (zum Aktualisieren oder Löschen) erfordert, dass die in der ursprünglichen Zuordnungsanforderung empfangene Nonce, die die Erstellung der PCP-Zuordnung verursacht, beibehalten wird. Die Version der ursprünglichen Anforderung, die das Erstellen der Zuordnung ermöglicht, bleibt ebenfalls erhalten. Dieses Verhalten beim Speichern der Nonce- und Versionsparameter bedeutet, dass 13 Byte pro PCP-Zuordnung verwendet werden. Diese geringfügige Erhöhung des Speicherplatzes ist nicht signifikant, wenn sie mit der aktuellen Speicherauslastung eines Systems für ein einzelnes angefordertes Mapping abgeglichen wird (unter Berücksichtigung des Endgerät-unabhängigen Mappings (EIM) und des Endgerät-unabhängigen Filterns (EIF), die zusammen damit erstellt werden). In einer Kunden-Bereitstellung bewirkt PCP, dass EIM- und EIF-Zuordnungen nur einen Bruchteil aller derartigen Zuordnungen darstellen.

Bis zu Junos Version 15.1 unterstützen Service PICs PCP-Server auf Routern von Juniper Networks gemäß PCP-Entwurf Version 22 mit Version 1-Nachrichtencodierung. Da PCP von der Entwurfsversion, wie sie in Port Control Protocol (PCP) draft-ietf-pcp-base-22 (July 2012 expiration) definiert ist, zu einer endgültigen Standardversion gemäß RFC 6887 -- Port Control Protocol (PCP) verfeinert wurde, änderte sich die Nachrichtencodierung in Version 2 mit dem Zusatz einer zufälligen Nonce-Nutzlast, um Peer- und Map-Anfragen nach Bedarf zu authentifizieren. Version 1 decodiert keine Nachrichten, die mit dem Format von Version 2 kompatibel sind, und die Nonce-Authentifizierung wird nicht unterstützt. In einer realen Netzwerkumgebung, in der CPE-Geräte (Customer Premises Equipment) zunehmend nur Version 2 unterstützen, ist es erforderlich, Nachrichten der Version 2 zu analysieren und zu senden. Die Abwärtskompatibilität mit CPE-Geräten, die Version 1 unterstützen, bleibt erhalten (Versionsaushandlung ist Teil des Standards) und authentifiziert Nonce-Nutzlastpakete, wenn v2-Nachrichten verwendet werden.

Die Ausgabe des show services pcp statistics Befehls enthält das Feld PCP unsupported version, das inkrementiert wird, um anzuzeigen, wenn die Version nicht 1 oder 2 ist. Ein neues Feld, PCP-Anforderungsnonce stimmt nicht mit vorhandenem Mapping überein, wird eingeführt, um die Anzahl der PCP-Anforderungen der Version 2 anzugeben, die ignoriert wurden, weil die Nonce-Nutzlast nicht mit der in der Zuordnung aufgezeichneten übereinstimmte (Authentifizierung fehlgeschlagen). Wenn Version 2 verwendet wird, wird die Client-Nonce für die Authentifizierung verwendet.

Konfigurieren des Port Control Protocol

In diesem Thema wird beschrieben, wie das Port Control Protocol (PCP) konfiguriert wird. PCP wird auf den MultiServices-PIC MS-DPC, MS-100, MS-400 und MS-500 unterstützt. Ab Junos OS Version 17.4R1 wird PCP für NAPT44 auch auf MS-MPC und MS-MIC unterstützt. Ab Junos OS Version 18.2R1 unterstützt PCP auf MS-MPC und MS-MIC DS-Lite. In Junos OS Version 18.1 und früheren Versionen unterstützt PCP auf MS-MPC und MS-MIC DS-Lite nicht. Ab Junos OS Version 20.2R1 wird PCP auf der MX-SPC3 Security Services Card für CGNAT-Services unterstützt.

Führen Sie die folgenden Konfigurationsaufgaben aus:

Konfigurieren von PCP-Serveroptionen

  1. Geben Sie einen PCP-Servernamen an.
  2. Legen Sie die IPv4- oder IPv6-Adressen des Servers fest. Bei PCP DS-Lite muss die ipv6-address Adresse mit der Adresse des AFTR (Address Family Transition Router oder Softwire Concentrator) übereinstimmen.
    Hinweis:

    Ab Junos OS Version 18.2R1 unterstützt PCP auf MS-MPC und MS-MIC DS-Lite. In Junos OS Version 18.1 und früheren Versionen unterstützt PCP auf MS-MPC und MS-MIC DS-Lite nicht.

    oder

  3. Geben Sie für PCP DS-Lite den Namen der DS-Lite Softwire-Konzentratorkonfiguration an.
  4. Geben Sie die minimale und maximale Lebensdauer der Zuordnung für den Server an.
  5. Geben Sie die Zeitlimits für die Generierung von Fehlern mit kurzer Lebensdauer oder langer Lebensdauer an.
  6. (Optional): Aktivieren Sie die PCP-Optionen auf dem angegebenen PCP-Server. Die folgenden Optionen sind verfügbar:third-party und prefer-failure. Die Drittanbieteroption ist erforderlich, um Drittanbieteranforderungen durch den PCP-Client zu aktivieren. DS-Lite erfordert die third-party Option. Die prefer-failure Option fordert die Generierung einer Fehlermeldung an, wenn der PCP-Client eine bestimmte IP-Adresse/einen Port anfordert, die nicht verfügbar ist, anstatt eine andere verfügbare Adresse aus dem NAT-Pool zuzuweisen. Wenn prefer-failure nicht angegeben, weist NAPT44 basierend auf den konfigurierten NAT-Optionen eine verfügbare Adresse/einen verfügbaren Port aus dem NAT-Pool zu.
  7. (Optional): Geben Sie an, welcher NAT-Pool für die Zuordnung verwendet werden soll.
    Hinweis:

    Wenn Sie nicht explizit einen NAT-Pool für die Zuordnung angeben, führt das Junos OS einen teilweisen Regelabgleich basierend auf Quell-IP, Quellport und Protokoll durch, und das Junos OS verwendet den NAT-Pool, der für die erste Abgleichsregel konfiguriert ist, um Zuordnungen für PCP zuzuweisen.

    Sie müssen die explizite Konfiguration verwenden, um mehrere NAT-Pools verwenden zu können.

    Für die MX-SPC3-Sicherheitsservicekarte und die Next Gen Services unterstützt die Anweisung nur einen Poolnamen, der nat-options an einen PCP-Server angehängt werden kann.

  8. (Optional): Konfigurieren Sie die maximale Anzahl von Zuordnungen pro Client. Der Standardwert ist 32 und der Höchstwert ist 128.

Konfigurieren einer PCP-Regel

Eine PCP-Regel hat die gleichen grundlegenden Optionen wie alle Servicesatzregeln:

  • Eine term Option, die es einer einzelnen Regel ermöglicht, mehrere Anwendungen zu haben.

    Beim Ausführen der MX-SPC3 Security Services Card für Services der nächsten Generation ist keine Laufzeit erforderlich.

  • Eine from Option, die den Datenverkehr identifiziert, der der Regel unterliegt.

  • Eine then Option, die angibt, welche Aktion ausgeführt werden soll. Im Falle einer PCP-Regel identifiziert diese Option den PCP-Server, der den ausgewählten Datenverkehr verarbeitet

  1. Wechseln Sie auf die [edit services pcp rule rule-name] Hierarchieebene und geben Sie die Eingabe an match-direction .
  2. Wechseln Sie zur [edit services pcp rule rule-name term term-name] Hierarchieebene, und geben Sie einen Begriffsnamen an.

    Dieser Schritt ist nicht erforderlich, wenn die MX-SPC3 Security Services Card für Next Gen Services ausgeführt wird.

  3. (Optional): Geben Sie eine from Option zum Filtern des Datenverkehrs an, der für die Verarbeitung durch die Regel ausgewählt werden soll. Wenn Sie die from Option weglassen, unterliegt der gesamte Datenverkehr, der von der Serviceschnittstelle des Servicesatzes verarbeitet wird, der Regel. Auf Hierarchieebene [edit services pcp rule rule-name term term-name from] stehen Ihnen folgende Optionen zur Verfügung:
    application-sets set-name

    Der Datenverkehr für den Anwendungssatz wird von der PCP-Regel verarbeitet.

    Dieser Schritt ist nicht erforderlich, wenn die MX-SPC3 Security Services Card für Next Gen Services ausgeführt wird.

    applications [ application-name ]

    Der Datenverkehr für die Anwendung wird von der PCP-Regel verarbeitet.

    Diese Option ist nicht erforderlich, wenn die MX-SPC3 Security Services Card für Next Gen Services ausgeführt wird.

    destination-address address <except>

    Der Datenverkehr für die Zieladresse oder das Zielpräfix wird von der PCP-Regel verarbeitet. Wenn Sie die except Option angeben, wird der Datenverkehr für die Zieladresse oder das Präfix nicht von der PCP-Regel verarbeitet.

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

    Der Datenverkehr für den Zieladressbereich wird von der PCP-Regel verarbeitet. Wenn Sie die except Option angeben, wird der Datenverkehr für den Zieladressbereich nicht von der PCP-Regel verarbeitet.

    destination-port high maximum-value low minimum-value

    Der Datenverkehr für den Zielportbereich wird von der PCP-Regel verarbeitet.

    destination-prefix-list list-name <except>

    Der Datenverkehr für eine Zieladresse in der Präfixliste wird von der PCP-Regel verarbeitet. Wenn Sie die except Option angeben, wird der Datenverkehr für eine Zieladresse in der Präfixliste nicht von der PCP-Regel verarbeitet.

    source-address address <except>

    Der Datenverkehr von der Quelladresse oder dem Quellpräfix wird von der PCP-Regel verarbeitet. Wenn Sie die except Option angeben, wird der Datenverkehr von der Quelladresse oder dem Quellpräfix nicht von der PCP-Regel verarbeitet.

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

    Datenverkehr aus dem Quelladressbereich wird von der PCP-Regel verarbeitet. Wenn Sie die except Option angeben, wird Datenverkehr aus dem Quelladressbereich nicht von der PCP-Regel verarbeitet.

    source-prefix-list list-name <except>

    Der Datenverkehr von einer Quelladresse in der Präfixliste wird von der PCP-Regel verarbeitet. Wenn Sie die except Option angeben, wird Datenverkehr von einer Quelladresse in der Präfixliste nicht von der PCP-Regel verarbeitet.

  4. Legen Sie die then Option fest, um den Ziel-PCP-Server zu identifizieren.

Konfigurieren einer NAT-Regel

So konfigurieren Sie eine NAT-Regel:

  1. Konfigurieren Sie den Namen der NAT-Regel und die Übereinstimmungsrichtung.
  2. Geben Sie den zu verwendenden NAT-Pool an:
  3. Konfigurieren Sie die Übersetzungsart.
  4. Wenn Sie PCP mit IPv4-zu-IPv4-NAT oder mit DS-Lite verwenden, konfigurieren Sie die Endgerät-unabhängige Zuordnung (EIM) und die Endgeräte-unabhängige Filterung (EIF).
    Hinweis:

    Die PCP-Zuordnungen werden nicht erstellt, wenn Sie EIM und EIF nicht mit PCP für IPv4-zu-IPv4-NAT oder für DS-Lite konfigurieren.

Konfigurieren eines Service-Sets für die Anwendung von PCP

Um PCP zu verwenden, müssen Sie den Regelnamen (oder den Namen einer Liste von Regelnamen) in der pcp-rule rule-name Option angeben.

  1. Wechseln Sie auf die [edit services service-set service-set-name Hierarchieebene.
  2. Wenn es sich um einen neuen Servicesatz handelt, geben Sie grundlegende Servicesatzinformationen an, einschließlich Schnittstelleninformationen und anderer Regeln, die möglicherweise gelten.
  3. Geben Sie den Namen der PCP-Regel oder Regelliste an, die zum Senden von Datenverkehr an den angegebenen PCP-Server verwendet wird.
Hinweis:

Ihr Service-Set muss auch alle erforderlichen nat-rule und softwire-ruleidentifizieren.

Konfiguration der SYSLOG-Meldung

Eine neue Syslog-Klasse, Konfigurationsoption, wurde bereitgestellt, pcp-logsum die PCP-Protokollgenerierung zu steuern. Er bietet die folgenden Protokollierungsebenen:

  • protocol– Alle Protokolle, die sich auf die Erstellung und Löschung von Zuordnungen beziehen, sind auf dieser Protokollierungsebene enthalten.

  • protocol-error—–Alle protokollfehlerbezogenen Protokolle (z. B. Fehler bei der Aktualisierung des Zuordnungs, Fehler bei der PCP-Suche, Fehler bei der Erstellung des Zuordnungs). sind in dieser Protokollierungsebene enthalten.

  • system-error– Speicher- und Infrastrukturfehler sind in dieser Protokollierungsebene enthalten.

Überwachung der Vorgänge des Port Control Protocol

Sie können die Vorgänge des Port Control Protocol (PCP) mit den folgenden Betriebsbefehlen überwachen:

  • Verwenden Sie für MS-MPCs den show services nat mappings pcp Befehl.

    Hinweis:

    PCP wird für Services der nächsten Generation in Junos OS Version 19.3R2 nicht unterstützt

  • Verwenden Sie für MS-MPCs den show services nat mappings endpoint-independent Befehl.

    Verwenden Sie für Next Gen Services den show services nat source mappings endpoint-independent Befehl.

  • show services pcp statistics protocol

Im Folgenden finden Sie Beispiele für die Ausgabe dieser Befehle.

Beispiel: Konfigurieren des Port Control Protocol mit NAPT44

Hinweis:

PCP wird auf den MultiServices-PICS MS-DPC, MS-100, MS-400 und MS-500 unterstützt. Ab Junos OS Version 17.4R1 wird PCP für NATP44 auch auf MS-MPC und MS-MIC unterstützt.

Anforderungen

Hardware-Anforderungen

  • UEs mit PCP-Clients.

  • Ein MX 3D-Router mit einem MS-DPC-Service-PIC.

  • Anforderungen an die Software

  • Junos OS 13.2

  • Layer-3-Services-Paket

Überblick

Ein ISP möchte es Benutzergeräten mit PCP-Clients ermöglichen, Verbindungen zu Servern ohne Zeitüberschreitung aufrechtzuerhalten. Die PCP-Clients generieren PCP-Anfragen für den Typ und die Dauer der Verbindung, die sie benötigen. Die Verbindungen können von langer Dauer sein, wie z. B. Anwendungen, die eine Webcam verwenden, oder von kürzerer Dauer, wie z. B. Onlinespiele. Ein MX 3D-Router stellt einen PCP-Server zur Interpretation von PCP-Client-Anforderungen und NAPT44 bereit. Abbildung 3 zeigt die grundlegende Topologie für dieses Beispiel.

Abbildung 3: PCP mit NAPT44 PCP with NAPT44

PCP-Konfiguration

CLI-Schnellkonfiguration

Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, und kopieren Sie dann die Befehle und fügen Sie sie dann in die CLI auf der Hierarchieebene [edit] ein.

Chassis-Konfiguration

Schritt-für-Schritt-Anleitung

So konfigurieren Sie den Service PIC (FPC 2 Slot 0) mit dem Layer 3-Servicepaket:

  1. Rufen Sie die Hierarchieebene [edit chassis] auf.

  2. Konfigurieren Sie das Layer-3-Servicepaket.

Ergebnisse

Schnittstellen-Konfiguration

Schritt-für-Schritt-Anleitung

  1. Konfigurieren Sie die Dienste MS-DPC.

  2. Konfigurieren Sie die kundenorientierte Schnittstelle, die für NAT- und PCP-Services verwendet wird.

  3. Konfigurieren Sie die mit dem Internet verbundene Schnittstelle.

Ergebnisse

NAT-Konfiguration

Schritt-für-Schritt-Anleitung

  1. Gehen Sie die [edit services nat] Hierarchie entlang.

  2. Konfigurieren Sie einen NAT-Pool mit dem Namen pcp-pool.

  3. Konfigurieren Sie eine aufgerufene NAT-Regel pcp-rule.

Ergebnisse

PCP-Konfiguration

Schritt-für-Schritt-Anleitung

So konfigurieren Sie den PCP-Server und die PCP-Regeloptionen.

  1. Wechseln Sie auf die edit services pcp Hierarchieebene des Servers pcp-s1

  2. Konfigurieren Sie die PCP-Serveroptionen.

  3. Erstellen Sie die PCP-Regel.

  4. Konfigurieren Sie die PCP-Regeloptionen.

Ergebnisse

Konfiguration des Service-Sets

Schritt-für-Schritt-Anleitung

  1. Legen Sie ein Service-Set an, sset_0auf der edit services service-set Hierarchieebene.

  2. Identifizieren Sie die NAT-Regel, die dem Service-Set zugeordnet ist.

  3. Identifizieren Sie die PCP-Regel, die dem Service-Set zugeordnet ist.

  4. Identifizieren Sie die Serviceschnittstelle, die dem Service-Set zugeordnet ist.

Ergebnisse

Tabellarischer Änderungsverlauf

Die Unterstützung der Funktion hängt von der Plattform und der Version ab, die Sie benutzen. Verwenden Sie den Feature-Explorer , um festzustellen, ob eine Funktion auf Ihrer Plattform unterstützt wird.

Veröffentlichung
Beschreibung
20.2R1
Ab Junos 20.2R1 werden PCP für CGNAT DS-Lite-Dienste für Next Gen Services unterstützt.
20.2R1
Ab Junos OS Version 20.2R1 wird PCP auf der MX-SPC3 Security Services Card für CGNAT-Services unterstützt.
18.2R1
Ab Junos OS Version 18.2R1 unterstützt PCP auf MS-MPC und MS-MIC DS-Lite.
18.2R1
17,4R1
Ab Junos OS Version 17.4R1 wird PCP für NAPT44 auch auf MS-MPC und MS-MIC unterstützt.
17,4R1
Ab Junos OS Version 17.4R1 wird PCP für NAPT44 auch auf MS-MPC und MS-MIC unterstützt.
17,4R1
Ab Junos OS Version 17.4R1 wird PCP für NATP44 auch auf MS-MPC und MS-MIC unterstützt.
15.1
Ab Junos OS Version 15.1 wird Port Control Protocol (PCP) Version 2 unterstützt, das RFC 6887 entspricht.