NAT-PMP (NAT Port Mapping Protocol) ist ein Netzwerkprotokoll, mit dem ein Gerät hinter einem Router automatisch Portweiterleitungen anfordern kann — ohne manuelle Konfiguration am Router. Entwickelt wurde es von Apple für Mac OS X und Bonjour; die Spezifikation ist in RFC 6886 festgehalten.
So funktioniert es
Ein Client sendet eine UDP-Nachricht an Port 5351 der Gateway-Adresse (der Router antwortet von Port 5351, der Client verwendet Port 5350). Damit fragt er zunächst die öffentliche IP-Adresse ab und fordert anschließend Port-Mappings an: Leite bitte TCP/UDP-Port X an mich weiter. Der Router trägt die Zuordnung ein und bestätigt sie; auf Wunsch löscht der Client das Mapping auch wieder selbst.
Eigenschaften
- Einfacher Aufbau mit nur zwei Nachrichtentypen (Anfrage und Antwort), keine Authentifizierung nötig.
- Mappings sind an die interne IP-Adresse des anfragenden Geräts gebunden.
- NAT-PMP kennt nur eigene Mappings des Clients, keine Mappings im Auftrag Dritter.
- Es ist ein reines UDP-Protokoll ohne Discovery-Mechanismus — der Client muss die Gateway-Adresse bereits kennen.
Sein Nachfolger ist das Port Control Protocol (PCP, RFC 6887), das IPv6, Filterregeln und Mappings für Dritte unterstützt. Als Alternative im Heimnetz dient häufig UPnP, das zusätzlich die automatische Geräteerkennung per SSDP mitbringt.
Einordnung
NAT-PMP ist eine von mehreren NAT-Traversal-Techniken. Während Port Triggering reaktiv auf ausgehenden Verkehr wartet, fragt NAT-PMP die Ports proaktiv an, sobald eine Anwendung sie benötigt.
Verwandte Grundlagen: NAT, UPnP, Port Triggering, Port Forwarding.