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 Keepalive-Datenverkehr von Anwendungen zu reduzieren. 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 NAPT44 auch auf MS-MPC und MS-MIC unterstützt. Ab Junos 20.2R1 werden PCP für CGNAT DS-Lite Services für Services der nächsten Generation 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 so konzipiert, dass es sowohl im Kontext von Carrier-Grade NATs (CGNs) als auch mit kleinen NATs (z. B. NATs für Privathaushalte) implementiert werden kann. PCP ermöglicht es Hosts, Server für lange Zeit (wie im Fall einer Webcam) oder für kurze Zeit (z. B. während eines Spiels oder bei einem Telefonanruf) 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 externen 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 einer 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 folgenden Komponenten:

  • PCP-Client: Ein Host oder Gateway, der PCP-Anforderungen an einen PCP-Server sendet, um Ressourcen abzurufen 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. Flows können aus diesen Quellen verarbeitet werden:

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

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

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

Junos OS unterstützt keine deterministische Portblockierungszuweisung für PCP-bezogenen Datenverkehr.

Vorteile des Port Control Protocol

Viele NAT-optimierte Anwendungen senden häufig Meldungen auf Anwendungsebene, um sicherzustellen, dass ihre Sitzungen nicht durch ein NAT-Gerät unterbrochen werden. PCP wird verwendet, um:

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

  • Reduzieren der Bandbreite im Zugangsnetzwerk des Abonnenten

  • Reduzieren Sie den Datenverkehr zum Server

  • Reduzieren Sie den Akkuverbrauch auf mobilen Geräten

Port Control Protocol-Version 2

Ab Junos OS Version 15.1 wird Port Control Protocol (PCP) Version 2 unterstützt, die 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 Keep-Alive-Datenverkehr von Anwendungen 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-Payload 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, mit der das Mapping erstellt werden kann, wird ebenfalls beibehalten. Dieses Verhalten beim Speichern der Nonce- und Versionsparameter bedeutet, dass 13 Byte pro PCP-Mapping verwendet werden. Diese geringfügige Zunahme 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 endpunktunabhängigen Mappings (EIM) und des endpunktunabhängigen Filters (EIF), die zusammen mit dem Mapping erstellt werden). In einer Kundenbereitstellung bewirkt PCP, dass EIM- und EIF-Zuordnungen nur einen Bruchteil aller derartigen Zuordnungen darstellen.

Bis Junos Release 15.1 unterstützen Service PICs PCP-Server auf Routern von Juniper Networks gemäß PCP-Entwurf Version 22 mit Nachrichtencodierung der Version 1. Mit der Verfeinerung von PCP von der Entwurfsversion, wie sie in Port Control Protocol (PCP) draft-ietf-pcp-base-22 (Ablauf Juli 2012 ) definiert ist, auf eine endgültige Standardversion gemäß Definition in RFC 6887 – Port Control Protocol (PCP) wurde die Nachrichtencodierung auf Version 2 geändert, wobei eine zufällige Nonce-Nutzlast hinzugefügt wurde, um Peer- und Zuordnungsanforderungen nach Bedarf zu authentifizieren. Version 1 dekodiert keine Nachrichten, die mit dem Format der 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, wird beibehalten (die Versionsaushandlung ist Teil des Standards) und authentifiziert Request-Nonce-Nutzlastpakete, wenn v2-Nachrichten verwendet werden.

Die Ausgabe des show services pcp statistics Befehls enthält das Feld PCP nicht unterstützte Version, das erhöht wird, um anzugeben, wenn die Version nicht 1 oder 2 ist. Das neue Feld PCP-Anforderungs-Nonce stimmt nicht mit vorhandener Zuordnung überein, 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-PICs 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-Sicherheitsservicekarte 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.
    Anmerkung:

    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 Zuordnungslebensdauer für den Server an.
  5. Geben Sie die Zeitlimits für das Generieren von Fehlern mit kurzer oder langer Lebensdauer an.
  6. (Optional): Aktivieren Sie die PCP-Optionen auf dem angegebenen PCP-Server. Die folgenden Optionen stehen zur Verfügung:third-party und prefer-failure. Die Drittanbieteroption ist erforderlich, um Drittanbieteranforderungen durch den PCP-Client zu aktivieren. DS-Lite erfordert diese third-party Option. Die prefer-failure Option fordert die Generierung einer Fehlermeldung an, wenn der PCP-Client eine bestimmte IP-Adresse/einen bestimmten Port anfordert, die nicht verfügbar ist, anstatt eine andere verfügbare Adresse aus dem NAT-Pool zuzuweisen. Wenn prefer-failure dies nicht angegeben ist, 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.
    Anmerkung:

    Wenn Sie nicht explizit einen NAT-Pool für die Zuordnung angeben, führt das Junos OS eine teilweise Regelübereinstimmung basierend auf der Quell-IP, dem Quellport und dem 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 eine explizite Konfiguration verwenden, um mehrere NAT-Pools verwenden zu können.

    Für die MX-SPC3-Sicherheitsservices-Karte 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 verfügt über die gleichen grundlegenden Optionen wie alle Service-Set-Regeln:

  • Eine term Option, mit der eine einzelne Regel mehrere Anwendungen verwenden kann.

    Beim Ausführen der MX-SPC3-Sicherheitsserviceskarte 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 zu ergreifen ist. Im Falle einer PCP-Regel identifiziert diese Option den PCP-Server, der den ausgewählten Datenverkehr verarbeitet

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

    Dieser Schritt ist nicht erforderlich, wenn die MX-SPC3-Sicherheitsserviceskarte für Services der nächsten Generation ausgeführt wird.

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

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

    Dieser Schritt ist nicht erforderlich, wenn die MX-SPC3-Sicherheitsserviceskarte für Services der nächsten Generation 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-Sicherheitsservicekarte für Services der nächsten Generation ausgeführt wird.

    destination-address address <except>

    Der Datenverkehr für die Zieladresse oder das Präfix wird von der PCP-Regel verarbeitet. Wenn Sie die except Option einschließen, 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 einschließen, 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 Option einschließen, wird der except Datenverkehr für eine Zieladresse in der Präfixliste nicht von der PCP-Regel verarbeitet.

    source-address address <except>

    Datenverkehr von der Quelladresse oder dem Präfix wird von der PCP-Regel verarbeitet. Wenn Sie die except Option einschließen, wird der Datenverkehr von der Quelladresse oder dem Prä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 einschließen, wird der Datenverkehr aus dem Quelladressbereich nicht von der PCP-Regel verarbeitet.

    source-prefix-list list-name <except>

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

  4. Legen Sie die then Option zum Identifizieren des Ziel-PCP-Servers fest.

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 den Übersetzungstyp.
  4. Wenn Sie PCP mit IPv4-zu-IPv4-NAT oder mit DS-Lite verwenden, konfigurieren Sie die endpunktunabhängige Zuordnung (EIM) und die endpunktunabhängige Filterung (EIF).
    Anmerkung:

    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 Servicesatzes zum Anwenden 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 zur Hierarchieebene [edit services service-set service-set-name .
  2. Wenn es sich um einen neuen Servicesatz handelt, geben Sie grundlegende Servicesetinformationen an, einschließlich Schnittstelleninformationen und aller anderen anwendbaren Regeln.
  3. Geben Sie den Namen der PCP-Regel oder -Regelliste an, die zum Senden von Datenverkehr an den angegebenen PCP-Server verwendet wird.
Anmerkung:

Ihr Dienstsatz muss auch alle erforderlichen nat-rule und softwire-rule.

Konfiguration von SYSLOG-Meldungen

Eine neue Syslog-Klasse, Konfigurationsoption, wurde bereitgestellt, pcp-logsum die PCP-Protokollgenerierung zu steuern. Sie 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 Protokolle im Zusammenhang mit Protokollfehlern (z. B. Zuordnungsaktualisierung fehlgeschlagen, PCP-Suche fehlgeschlagen, Zuordnungserstellung fehlgeschlagen). sind in dieser Protokollierungsebene enthalten.

  • system-errorSpeicher- und Infrastrukturfehler sind in dieser Protokollierungsstufe enthalten.

Überwachung der Abläufe des Port Control Protocols

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

  • Für MS-MPCs verwenden Sie den Befehl show services nat mappings pcp .

    Anmerkung:

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

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

    Verwenden Sie für Dienste der nächsten Generation den Befehl show services nat source mappings endpoint-independent .

  • show services pcp statistics protocol

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

Beispiel: Konfigurieren des Port Control Protocol mit NAPT44

Anmerkung:

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

Hardwareanforderungen

  • UEs mit PCP-Clients.

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

  • Softwareanforderungen

  • Junos OS 13.2

  • Layer-3-Services-Paket

Überblick

Ein ISP möchte UEs mit PCP-Clients in die Lage versetzen, Verbindungen zu Servern ohne Zeitüberschreitung aufrechtzuerhalten. Die PCP-Clients generieren PCP-Anforderungen für die Art und Dauer der von ihnen benötigten Verbindung. Verbindungen können von langer Dauer sein, z. B. Anwendungen, die eine Webcam verwenden, oder von kürzerer Dauer, z. B. Onlinespiele. Ein MX 3D-Router stellt einen PCP-Server zur Interpretation von PCP-Client-Anfragen 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 in die CLI auf der Hierarchieebene [Bearbeiten] ein.

Gehäusekonfiguration

Schritt-für-Schritt-Anleitung

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

  1. Wechseln Sie zur Hierarchieebene [Chassis bearbeiten].

  2. Konfigurieren Sie das Layer 3-Servicepaket.

Befund

Schnittstellenkonfiguration

Schritt-für-Schritt-Anleitung

  1. Konfigurieren Sie die Dienste MS-DPC.

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

  3. Konfigurieren Sie die mit dem Internet verbundene Schnittstelle.

Befund

NAT-Konfiguration

Schritt-für-Schritt-Anleitung

  1. Gehe in die [edit services nat] Hierarchie.

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

  3. Konfigurieren Sie eine NAT-Regel mit dem Namen pcp-rule.

Befund

PCP-Konfiguration

Schritt-für-Schritt-Anleitung

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

  1. Wechseln Sie in die Hierarchieebene für den edit services pcp Server pcp-s1

  2. Konfigurieren Sie die PCP-Serveroptionen.

  3. Erstellen Sie die PCP-Regel.

  4. Konfigurieren Sie die PCP-Regeloptionen.

Befund

Konfiguration des Servicesatzes

Schritt-für-Schritt-Anleitung

  1. Erstellen Sie einen Servicesatz sset_0auf der edit services service-set Hierarchieebene.

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

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

  4. Identifizieren Sie die Dienstschnittstelle, die dem Servicesatz zugeordnet ist.

Befund

Tabellarischer Änderungsverlauf

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

Loslassen
Beschreibung
20.2R1
Ab Junos 20.2R1 werden PCP für CGNAT DS-Lite-Services für Services der nächsten Generation unterstützt.
20.2R1
Ab Junos OS Version 20.2R1 wird PCP auf der MX-SPC3-Sicherheitsservicekarte 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, die RFC 6887 entspricht.