Das Point-to-Point Tunneling Protocol (PPTP) [Micr98] das von Microsoft und anderen führenden Unternehmen der Netzwerkbranche entwickelt wurde, wurde 1996 der Internet Engineering Task Force (IETF) als Standardprotokoll für das Internet-Tunneling vorgeschlagen [Full98]. PPTP ist eine Erweiterung des Point-to-Point Protocol (PPP). PPTP kapselt PPP-Pakete in IP-Paketen, so können Protokolle wie IP, IPX und NetBEUI über das Internet getunnelt werden. Für die Zugangskontrolle werden das Password Authentification Protocol (PAP) und das Challenge Handshake Protocol (CHAP) verwendet. Als Verschlüsselungsalgorithmen dienen die Rivest´s Cipher 4 (RC4) und der Data Encryption Standard (DES) mit Schlüsseln zwischen 40 und 128 Bit Länge [Jach97].
PPTP ermöglicht also den Aufbau eines sicheren Tunnels, in dem die Daten verschlüsselt transportiert werden. Da PPTP mit PAP und CHAP auch einen gesicherten Verbindungsaufbau und Authentifizierung unterstützt, kann es sowohl auf der Seite eines ISP, zur Verbindung von LANs, als auch auf Anwenderseite zur Anbindung von mobilen Rechnern, verwendet werden. Dabei kann der Anwender eine PPP-Verbindung zu seinem ISP aufbauen, die noch nicht gesichert ist. Dann wird entweder der Tunnel vom ISP aufgebaut, wenn dieser PPTP unterstützt, oder der Anwender kann, wenn PPTP auf seinem eigenen Rechner installiert ist, den Tunnel selbst aufbauen. Nach erfolgreicher Initialisierung des Tunnels nimmt PPTP die Quellpakete entgegen, verschlüsselt sie und gibt sie dann gemäß der GRE (siehe Abschnitt 2.1) weiter.
Ein PPTP-Paket setzt sich aus vier Schichten zusammen. Die oberste Schicht bildet ein Zustellungs-Kopf, der aus dem Netzwerkprotokoll des WAN besteht, über das das VPN aufgebaut wird. Darauf folgt als zweite Schicht ein IP-Kopf, der grundlegende Informationen über das IP-Datagramm enthält, wie die Paketlänge und die Absender- und Empfängeradresse. Die dritte Schicht enthält einen GREv2-Kopf. GREv2 stellt eine für PPTP entwickelte Erweiterung des GRE-Kopfes dar. Er enthält Informationen über die Art der Pakete, die gekapselt wurden und PPTP spezifische Daten über die Verbindung zwischen dem Client und dem Server. Die letze Schicht, das Nutzlast-Datagramm, enthält die eigentlichen Datenpakete. Im Fall von PPP sind das die PPP-Pakete, die zwischen Client und Server ausgetauscht werden. In diesen PPP-Paketen befinden sich dann die zu transportierenden IP-, IPX- oder NetBEUI-Pakete. [ScWE98] Zur Veranschaulichung zeigt Abbildung 3 die aktiven Protokollschichten während einer PPTP-Verbindung.
Figure 3: Aktive Protokollschichten während einer PPTP-Verbindung
Das Layer 2 Forwarding (L2F) von der Firma Cisco Systems stellt ein ähnliches Protokoll dar, das mit PPTP die Grundlage für das Layer 2 Transport Protocol (L2TP) eine Weiterentwicklung beider Systeme bildet [Aven98]. L2F unterstützt verschiedene Protokolle und mehrere unabhängige, parallele Tunnel. Die Benutzeridentifizierung ist allerdings etwas schwächer als bei PPTP und eine extra Verschlüsselung der Daten ist nicht vorgesehen [Cisc96].
L2TP [Cisc98b] unterscheidet sich nur in wenigen Punkten von PPTP. Zum einen ist hier zu nennen, daß L2TP, wie das L2F, mehrere Tunnel unterstützt, zum anderen liegt die Kontrolle über den Endpunkt eines Tunnels nicht wie bei PPTP beim Anwender, sondern wird vom ISP vorgegeben. Eine ausführliche Erläuterung der Unterschiede zwischen PPTP und L2TP findet sich in [FeHu98].