PPTP Point-to-Point Tunneling Protocol

Op deze pagina:

Point to Point Tunnelling Protocol is een door Microsoft uitgevonden en nu standaardprotocol voor virtuele particuliere netwerken.

PPTP is een netwerkprotocol waarmee gegevens van een externe client door middel van een virtueel particulier netwerk (Virtual Private Networking, VPN) via TCP/IP-gegevensnetwerken naar de server van een particuliere onderneming kunnen worden verzonden. PPTP ondersteunt VPN voor meerdere protocollen en op afroep via openbare netwerken, zoals Internet.

De netwerktechnologie van PPTP vormt een uitbreiding op het protocol PPP (Point-to-Point Protocol) voor externe toegang. PPTP is een netwerkprotocol dat PPP-pakketjes voor verzending via Internet en andere openbare TCP/IP-netwerken in IP-datagrammen inkapselt. PPTP kan ook in particuliere LAN-to-LAN netwerken worden toegepast.

PPTP en Virtual Private Networking

Computers die werken met een besturingssysteem waarin het PPTP-protocol is opgenomen kunnen het PPTP-protocol gebruiken om als externe client door middel van een openbaar gegevensnetwerk, zoals Internet, een veilige verbinding met een particulier netwerk te maken. Met andere woorden: PPTP maakt virtuele particuliere netwerken via Internet of andere openbare TCP/IP-gegevensnetwerken mogelijk. PPTP kan ook door computers die met een LAN zijn verbonden worden gebruikt om een virtueel particulier netwerk via een LAN tot stand te brengen.

Een belangrijk kenmerk van het gebruik van PPTP is de ondersteuning van virtuele particuliere netwerken via openbare telefoonverbindingen (Public-Switched Telephone Networks, PSTN). PPTP is een eenvoudige en goedkope oplossing voor externe toegang bij een onderneming met externe of mobiele gebruikers, omdat PPTP veilige en gecodeerde communicatie via Internet mogelijk maakt. PPTP maakt dure huurlijnen of uitsluitend voor particuliere ondernemingen bedoelde communicatieservers overbodig, omdat PPTP via gewone telefoonlijnen kan worden gebruikt.

Doorgaans zijn er drie computers bij elke PPTP-implementatie betrokken:

  • Een PPTP-client
  • Een netwerktoegangsserver
  • Een PPTP-server

Als je echter een PPTP-tunnel tot stand brengt tussen een PPTP-client en een PPTP-server die beide met hetzelfde LAN zijn verbonden, heb je geen netwerktoegangsserver nodig.

Het toepassen van PPTP begint met een externe of mobiele PPTP-client die via een lokale Internet-aanbieder (ISP) toegang zoekt tot het LAN van een particuliere onderneming.

Een PPTP-client moet twee verbindingen maken om een PPTP-tunnel tot stand te brengen. De client gebruikt eerst Dial-Up Networking en het protocol voor externe toegang, PPP, om een verbinding met de netwerktoegangsserver (network access server, NAS) van de Internet-aanbieder te maken. Wanneer de verbinding is gemaakt, kan de client gegevenspakketjes via Internet verzenden en ontvangen. De netwerktoegangsserver gebruikt het TCP/IP-protocol voor al het verkeer naar Internet.

De cient maakt vervolgens met Dial-Up Networking een tweede logische verbinding via de bestaande PPP-verbinding. De gegevens die via deze tweede verbinding worden verzonden, hebben de vorm van IP-datagrammen waarin PPP-pakketjes zijn opgenomen en worden ingekapselde PPP-pakketjes (encapsulated PPP packets) genoemd.

Met de tweede verbinding wordt de VPN-verbinding naar een PPTP-server op het LAN van een particuliere onderneming tot stand gebracht. Een dergelijke verbinding wordt een tunnel genoemd.

Tunneling is het verzenden van pakketjes via een ander netwerk, zoals Internet, naar een computer in een particulier netwerk. De routers van het andere netwerk hebben geen toegang tot de computers in het particuliere netwerk, maar met tunneling kan het routerende netwerk het pakketje naar een bemiddelende computer verzenden: een PPTP-server die zowel met het routerende netwerk als met het particuliere netwerk is verbonden. Zowel de PPTP-client als de PPTP-server gebruikt tunnels om pakketjes via routers die alleen het adres van de bemiddelende server in het particuliere netwerk kennen, veilig naar een computer in het particuliere netwerk te routeren.

Wanneer de PPTP-server het pakketje van het routerende netwerk ontvangt, zendt deze het pakketje via het particuliere netwerk naar de doelcomputer. De PPTP-server doet dit door het PPTP-pakketje te verwerken, om zo de naam of het adres van de computer in het particuliere netwerk aan het ingekapselde PPP-pakketje te onttrekken. De netwerkprotocollen in het particuliere netwerk die door PPTP worden ondersteund zijn IPX, NetBEUI en TCP/IP.

Een pakketje dat van de PPTP-client naar de PPTP-server wordt verzonden, gaat door de PPTP-tunnel naar een doelcomputer in het particuliere netwerk. PPTP verpakt de gecodeerde en gecomprimeerde PPP-pakketjes voor verzending via Internet in IP-datagrammen. De IP-datagrammen worden met een gewijzigde versie van het Internet-protocol Generic Routing Encapsulation (GRE) gemaakt. Deze IP-datagrammen worden via Internet gerouteerd totdat ze de PPTP-server bereiken die zowel met Internet als met het particuliere netwerk is verbonden. De PPTP-server haalt het PPP-pakket uit het IP-datagram en decodeert het PPP-pakket met behulp van het netwerkprotocol van het particuliere netwerk.

PPTP-clients

Een computer die het PPTP-netwerkprotocol ondersteunt kan op twee manieren een verbinding met een PPTP-server maken:

Door een IP-inbelverbinding naar een netwerktoegangsserver van een Internet-aanbieder tot stand te brengen.

Door middel van een LAN-verbinding waarvoor IP is ingeschakeld.

PPTP-clients die een netwerktoegangsserver van een Internet-aanbieder (ISP) gebruiken, moeten met een modem, een PPTP-besturingsprogramma en een VPN-apparaat zijn geconfigureerd om de afzonderlijke verbindingen met de Internet-aanbieder en de PPTP-server te kunnen maken. De eerste verbinding is een inbelverbinding via het PPP-protocol en de modem met de Internet-aanbieder. De tweede verbinding is een VPN-verbinding met PPTP, via de modem en de ISP-verbinding, zodat via Internet een tunnel naar een VPN-apparaart op de PPTP-server tot stand kan worden gebracht. De eerste verbinding is een vereiste voor de tweede verbinding, omdat de tunnel tussen de VPN-apparaten tot stand wordt gebracht door middel van de modem en de PPP-verbinding met Internet.

In tegenstelling tot PPTP-clients, die de netwerktoegangsserver van een Internet-aanbieder gebruiken, hoeven clients met een LAN waarvoor IP is ingeschakeld alleen met een PPTP-besturingsprogramma en een VPN-apparaat te worden geconfigureerd. Omdat deze clients al met het LAN zijn verbonden, hoeft er slechts EEN verbinding te worden gemaakt: ze moeten een VPN-apparaat gebruiken om een verbinding met een PPTP-server in een LAN te maken.

Inbelclients zonder PPTP kunnen ook van PPTP gebruikmaken door een verbinding met een PPTP-compatibele netwerktoegangsserver te maken. De netwerktoegangsserver brengt dan een PPTP-verbinding met een PPTP-server tot stand. De architectuur is in wezen dezelfde, maar alle PPTP-communicatie vindt plaats tussen de netwerktoegangsserver en de PPTP-server. De PPTP-compatibele netwerktoegangsservers van Internet-aanbieders zijn voor een groot aantal inbelclients bestemd.

PPTP-architectuur

De veilige communicatie die met het PPTP-protocol tot stand wordt gebracht omvat doorgaans drie processen, waarvoor steeds een geslaagde voltooiing van het voorgaande proces nodig is.

PPP-verbinding en PPP-communicatie

Een PPTP-client gebruikt PPP om een verbinding met een Internet-aanbieder tot stand te brengen. Bij deze verbinding wordt gebruikgemaakt van het PPP-protocol om de verbinding tot stand te brengen en gegevenspakketjes te coderen.

PPTP-besturingsverbinding

Met behulp van de verbinding die door het PPP-protocol tot stand is gebracht, maakt het PPTP-protocol een besturingsverbinding van de PPTP-client naar een PPTP-server op Internet. Deze verbinding gebruikt TCP om de uiteindelijke verbinding tot stand te brengen en wordt een PPTP-tunnel genoemd.

PPTP-gegevenstunnels

Ten slotte maakt het PPTP-protocol IP-datagrammen die gecodeerde PPP-pakketjes bevatten, welke vervolgens door de PPTP-tunnel naar de PPTP-server worden verzonden. De PPTP-server haalt de PPP-pakketjes uit de IP-datagrammen en decodeert deze, waarna de gedecodeerde pakketjes naar het particuliere netwerk worden gerouteerd.

PPP-protocol

PPP is een extern toegangsprotocol dat door PPTP wordt gebruikt om gegevens met meer dan EEN protocol via TCP/IP-netwerken te verzenden. PPP kapselt IP-, IPX- en NetBEUI-pakketjes in met behulp van PPP-frames en verzendt de ingekapselde pakketjes door een point-to-point verbinding tussen de zendende en ontvangende computers tot stand te brengen.

Het PPP-protocol wordt gebruikt om de inbelverbinding tussen de client en de netwerktoegangsserver tot stand te brengen en verricht de volgende drie functies:

De fysieke verbinding tot stand brengen, onderhouden en beëindigen.

Het PPP-protocol gebruikt een reeks standaard opdrachten om de verbinding tussen externe computers tot stand te brengen, te onderhouden en te be-eindigen.

Gebruikers valideren. PPTP-clients worden via het PPP-protocol gevalideerd.

PPP-datagrammen samenstellen die één of meer gecodeerde IPX, NetBEUI- of IP-pakketjes bevatten.

Omdat de netwerkpakketten zijn gecodeerd, is al het verkeer tussen een PPP-client en een netwerktoegangsserver veilig.

PPTP-besturingsverbinding

Het PPTP-protocol specificeert een reeks besturingsberichten die tussen de PPTP-client en de PPTP-server worden verzonden. De besturingsberichten zorgen voor het tot stand brengen, onderhouden en be-eindigen van de PPTP-tunnel. Hieronder staan de primaire besturingsberichten die worden gebruikt om de PPTP-tunnel tot stand te brengen en te onderhouden.

PPTP_START_SESSION_REQUEST
Start sessie
PPTP_START_SESSION_REPLY
Beantwoordt het verzoek om de sessie te starten
PPTP_ECHO_REQUEST
Onderhoudt de sessie
PPTP_ECHO_REPLY
Beantwoordt het verzoek om de sessie te onderhouden
PPTP_WAN_ERROR_NOTIFY
Rapporteert een fout over de PPP-verbinding
PPTP_SET_LINK_INFO
Configureert de verbinding tussen client en PPTP-server
PPTP_STOP_SESSION_REQUEST
Be-eindigt sessie
PPTP_STOP_SESSION_REPLY
Beantwoordt het verzoek om de sessie te be-eindigen

Besturingsberichten worden in besturingspakketjes in een TCP-datagram verstuurd. Er wordt een TCP-verbinding tussen de PPTP-client en de PPTP-server gemaakt. Deze verbinding wordt gebruikt om besturingsberichten uit te wisselen. Een datagram omvat een IP-header, een TCP-header, een PPTP-besturingsbericht en de juiste trailers.

De uitwisseling van berichten tussen de PPTP-client en de PPTP-server via de TCP-verbinding dient om een PPTP-tunnel tot stand te brengen en te onderhouden.

PPTP-gegevensoverdracht

Nadat een PPTP-tunnel tot stand is gebracht, worden gebruikersgegevens tussen de client en de PPTP-server overgebracht. De gegevens worden overgebracht in IP-datagrammen die PPP-pakketjes bevatten. De IP-datagrammen worden met een gewijzigde versie van het GRE-protocol voor Internet gemaakt. De IP-afleveringsheader verschaft de informatie die voor het datagram is vereist om via Internet te worden verzonden. De GRE-header wordt gebruikt om het PPP-pakketje in het IP-datagram in te kapselen.

PPTP-gegevenscodering

Bij gegevenscodering gebruikt PPTP het coderingsproces "shared-secret" van de Remote Access Server (RAS). Het coderingsproces wordt "shared-secret" genoemd, omdat beide kanten van de verbinding over de codeersleutel beschikken. Bij de Microsoft-implementatie van RAS is het gebruikerswachtwoord het gedeelde geheim. Andere coderingsmethoden baseren de codering op een sleutel die openbaar is. Deze tweede methode van coderen staat bekend als "public key encryption".

PPTP gebruikt de PPP-systemen voor codering en compressie. Het Compression Control Protocol (CCP) van PPP wordt gebruikt om over de codering te onderhandelen.

De gegevens in de PPP-pakketjes worden gecodeerd. Het PPP-pakketje dat een blok met gecodeerde gegevens bevat, wordt vervolgens ingekapseld in een groter IP-diagram, zodat het via Internet naar de PPTP-server kan worden gerouteerd. Als een computerkraker op Internet een IP-datagram zou onderscheppen, vindt hij of zij alleen mediaheaders, IP-headers en het PPP-pakketje met daarin een blok gecodeerde gegevens. De gegevens zouden onleesbaar zijn.

PPTP-pakketfilters

De netwerkbeveiliging tegen kwaadwillige activiteiten kan worden verbeterd door PPTP-filters op de PPTP-server te activeren. Wanneer PPTP-filters zijn geactiveerd, worden alleen PPTP-pakketjes van gevalideerde gebruikers door de PPTP-server geaccepteerd en gerouterd. Hierdoor wordt voorkomen dat andere pakketjes de PPTP-server en het particuliere netwerk binnenkomen. Samen met PPP-codering zorgt dit ervoor dat alleen bevoegde gecodeerde gegevens in het particuliere LAN komen of dit verlaten.

PPTP met firewalls en routers gebruiken

PPTP-verkeer gebruikt TCP-poort 1723 en het IP-protocol gebruikt ID 47. Deze waarden zijn toegewezen door de Internet Assigned Numbers Authority (IANA). PPTP kan met de meeste firewalls en routers worden gebruikt door ervoor te zorgen dat verkeer bestemd voor TCP-poort 1723 en protocol 47 via de firewall of router wordt doorgestuurd.

Firewalls waarborgen de veiligheid in een bedrijfsnetwerk doordat de gegevens die vanaf Internet in het particuliere netwerk komen, strikt worden gereguleerd. De PPTP-server accepteert PPTP-pakketjes die aan het particuliere netwerk worden doorgegeven vanaf de firewall, licht het PPP-pakketje uit het IP-diagram, decodeert het pakketje en geeft het pakketje door aan de computer in het particuliere netwerk.

 

Verwante artikelen