VPN-Server/Portfreigabe --> UDP vs. TCP

francy_space

Ensign
Registriert
Juni 2020
Beiträge
169
Hallo, ich habe meinen Raspberry Pi in einen VPN-Server umgewandelt. Als Software nutze ich Wireguard. Da Wireguard nur auf Basis des UDP-Protokolls arbeitet habe, habe ich bei der Porfreigabe auf meiner Connect Box auch UDP als Protokoll eingetragen. Wenn ich draußen unterwegs bin und auf meinem Handy eine VPN-Verbindung zu meinem Server aufbaue, so surfe ich mit der IP-Adresse meines Heimrouters. Das ist auch gut so.

An meinem Heimrouter hängt auch eine IP-Kamera. Diese Kamera arbeitet auf Basis des TCP-Protokolls. Wenn ich nun die Kamera-App auf meinem Handy starte, so kann ich die Liveansicht der Kamera sehen. Mein Handy läuft aber per VPN auf Basis von UDP. Wie kann es sein, dass ich die Bilder meiner Kamera (TCP) auf meinem Handy, der mit VPN mit meinem Server (UDP) verbunden ist, sehen kann? Müsste ich keine Fehlermeldung bekommen, da beide Protokolle nicht kompatibel sind?

Danke vielmals.
 
Der VPN Server nimmt die Daten über TCP an und sendet sie dann über das VPN-Netzwerk über UDP an dein Handy. Das ist auch richtig so, sonst könntest du zB auch keine Websites (Port 443) über das VPN empfangen
 
  • Gefällt mir
Reaktionen: konkretor, francy_space und Asghan
//#2 war schneller
 
Mal kurz: sämtlicher Traffic wird über den UDP VPN getunnelt / übertragen, was für protokolle da letzendlich durchgehen, interessiert Wireguard nicht.
 
  • Gefällt mir
Reaktionen: francy_space
@Homoioteleuton Würde ich die Geschwindigkeit der Liveansicht verbessern, wenn ich die Kamera auch auf Basis von UDP laufen lasse, oder ist dies egal?
 
Ein VPN (virtual private Network) baut eine virtuelle Netzwerkverbindung auf. Damit diese Verbindung aufgebaut werden kann, brauchst du den Zugriff auf deinen Raspi über den konfigurierten UDP-Port.

Danach hast du aber ein virtuelles Netzwerk aufgespannt und jeder Datenverkehrt, der über das Netzwerk wandert, wandert aus der Sicht deines Raspi. Du brauchst also keine weiteren Portfreigaben mehr im Router, damit das alles funktioniert. Die Pakete werden durch den Tunnel geschickt. Aus Sicht deines Routers kommunizierst du nur über den UDP-Port mit dem Raspi. Aus Sicht deiner Kamera kommunizierst du über TCP mit der Kamera. Aus Sicht deines Handys kommunizierst du ebenfalls per TCP mit deiner Kamera.

Wenn du ein Internet-Paket als kleines Päckchen siehst, dann beschriftest du das Päckchen quasi mit "TCP Kamera" und gibst es der Post auf. Nur, dass die Post hier nicht das Internet ist, sondern der VPN-Client. Der packt das dann in ein größeres Päckchen und beschriftet das mit "UDP Router" und gibt dann das größere Päckchen bei der Internet-Post auf. Dein Router empfängt das Päckchen und weiß, dass dein Raspi das Päckchen dringend erwartet (Portforwarding). Dein Raspi packt das Päckchen aus, sieht jetzt das innere Päckchen und verschickt es per TCP an die Kamera.


UDP ist grundsätzlich schneller, hat aber auch Nachteile. UDP-Pakete werden nicht überprüft. Ist ein Paket verloren gegangen oder kaputt, dann wird es genommen wie es ist. Bei Video-Ansichten führt das zu häufigeren Bildfehlern und zu stottern. Die Unterschiede sind aber nicht so gravierend, dass man sich damit ewig auseinandersetzen braucht. Viel Potential hast du durch solches Feintuning nicht.
 
  • Gefällt mir
Reaktionen: francy_space
@SoDaTierchen Vielen Dank. Ich habe zuvor auch OpenVPN (TCP/VPN-Server) genutzt. Ich muss sagen, dass das Surfen im Internet mit Wireguard viel schneller geht. Ich habe mich in Wireguard verliebt. Daher der Gedanke, alles auf UDP umstellen zu müssen..
 
Zurück
Oben