Die Vorteile beim Einsatz eines VPN sind zahlreich, z. B.
- die Erreichbarkeit von über GPRS angebundenen Geräten („Provider-Firewall“)
- die Kommunikationskosten können gesenkt werden, weil Internetanbindungen meist günstiger als Direktverbindungen sind ("Zum Ortstarif um die ganze Welt")
- die Vertraulichkeit der Daten wird gesichert: Schutz vor Manipulation, Aufzeichnung, Ausspähen, etc.
- administrativ und logistisch ergeben sich durch die zusätzliche Authentifizierung der VPN-Teilnehmer neue Möglichkeiten
- Verringerung der Latenzzeiten beim Start einer Datenverbindung
Dazu kommen spezielle Vorteile von OpenVPN:
- OpenVPN ist durch seine Flexibilität, Einfachheit und Robustheit geradezu ideal, um Ordnung in die Vielzahl von unterschiedlichen Anbindungsszenarien von Maschinen und deren Fernwartung zu bringen.
- Im Gegensatz zu anderen VPN-Implementierungen setzt OpenVPN nicht auf eigene Protokolle auf und kann deshalb Verbindungen in Konstellationen erzeugen, in denen andere Implementierungen chancenlos sind.
Wie jede Medaille hat auch der Einsatz von VPN zwei Seiten. Schon allein die Tatsache, dass man sich mit einer zusätzlichen Technologie befassen muss, stellt einen solchen Nachteil dar. Ein weiterer Nachteil von VPN ist, dass zusätzlicher Datenverkehr erzeugt wird. Dieser kann bei der M2M-Kommunikation für unerwartete und schwierig zu kalkulierende Kosten sorgen. Denn bei GPRS, EDGE und UMTS wird – im Gegensatz zu anderen Diensten – nicht nach Verbindungszeit, sondern nach übertragenem Datenvolumen (Traffic) abgerechnet. Im Folgenden soll der Overhead von OpenVPN betrachtet und eingeschätzt werden.
Funktionsweise von OpenVPN
Bei OpenVPN wird ein virtuelles Netzwerk erzeugt, indem der Client zunächst eine Datenverbindung zum Server herstellt und diese Verbindung aufrecht erhält. Durch diese Verbindung (auch Tunnel genannt) werden die eigentlichen Datenpakete gesendet. Die ursprünglichen Datenpakete müssen also in die Pakete eingebettet werden, die den Tunnel darstellen. Das bedeutet, dass insgesamt mehr Informationen übertragen werden müssen – ein zusätzlicher Overhead entsteht.
Betrachtung des Overhead
Dieser Overhead ist von Fall zu Fall unterschiedlich zu quantifizieren. Er hängt u.a. davon ab:
- wie das VPN konfiguriert ist und
- welche Daten übertragen werden.
OpenVPN kann Daten auf Level 2 (Bridging) oder auf Level 3 (Routing) tunneln: Beim Bridging werden die zu tunnelnden Daten in neue Ethernet-Pakete gepackt, beim Routing in neue IP-Pakete. Daher führt Bridging zu weniger Overhead, da für die neuen Ethernet-Pakete etwas weniger zusätzliche Informationen übertragen werden müssen als für die neuen IP-Pakete beim Routing.
Bridging erscheint somit im ersten Moment sehr attraktiv, zumal sich als zusätzlicher Vorteil die einfache Vergrößerung des Netzes ergibt. In der Praxis ist Bridging aus Sicht der Netzwerkplanung allerdings nicht einsetzbar, denn der administrative Aufwand im zentralen Netz zur Berücksichtigung der Teilnehmer des erweiterten Netzes steigt. Aus diesem Grund ist Routing in den meisten Fällen die bevorzugte Variante.
Tunnel mit Hilfe von UDP-Paketen erzeugen wiederum weniger Overhead, als Tunnel mit TCP-Paketen. Per Default wird eine UDP-Verbindung bevorzugt. Dies ist nicht nur im geringeren Overhead begründet, sondern auch darin, dass die Latenzzeiten bei einem UDP-Tunnel geringer sind, als bei einem TCP-Tunnel. OpenVPN muss bei beiden Tunnelarten dafür sorgen, dass die Pakete an der Gegenstelle wieder ordentlich ausgepackt und zusammengesetzt werden. Beim bereits verbindungsgesicherten TCP tritt damit unnötige Redundanz auf.
- TCP-Tunnel sollten nur eingesetzt werden, wenn sich UDP-Tunnel aus anderen Gründen, z.B. Firewall-Einstellungen nicht realisieren lassen.
Verschlüsselung der Daten vor der Übertragung
Mit OpenVPN ist es möglich, die zu tunnelnden Daten vor der Übertragung zu verschlüsseln und damit zusätzlich zu sichern. Dies ergibt zusätzlichen Overhead.
Hier ein Beispiel für den entstehenden Overhead bei einem verschlüsselten UDP-Tunnel mit Default-Einstellung: