Zum Inhalt springen
uencoder

Hole Punching

Hole Punching ist eine P2P-NAT-Durchquerungstechnik, bei der beide Peers Pakete an die öffentlichen Endpunkte des jeweils anderen senden, sodass jeder NAT ein ausgehendes Mapping erzeugt, das die eingehenden Pakete des anderen Peers zulässt.

Zweck

Es ermöglicht zwei Peers hinter NATs, eine direkte P2P-Verbindung ohne Relay-Server aufzubauen, und senkt Latenz und Serverlast.

Mechanismus

Beide Peers erfahren ihre öffentlichen Endpunkte über STUN und tauschen sie aus. Jeder Peer sendet an den öffentlichen Endpunkt des anderen (wodurch im eigenen NAT ein ausgehendes Mapping entsteht); der NAT des Peers sieht das Paket von einem gemappten Endpunkt eintreffen und lässt es durch.

Anwendungsfälle

  • Direkte P2P-Verbindungen
  • WebRTC ICE
  • Gaming und VoIP

Verwandte Tools

References