Comprendre Point-to-Point Tunneling Protocol (PPTP)

Sommaire,Sur cette page

L'architecture PPTP
Aperçu de l'architecture PPTP
Le protocole PPP
La connexion de contrôle PPTP (PPTP Control Connexion)
Les transmissions de données PPTP

L'architecture PPTP

Aperçu de l'architecture PPTP

Cette communication sécurisée créée en utilisant le protocole PPTP implique généralement 3 processus, chacun requérant que le processus précédent ait été achevé. Ce document explique ces trois processus et la manière dont ils fonctionnent :

La connexion et la communication PPP
Un client PPTP utilise PPP pour se connecter à un ISP en utilisant une ligne téléphonique standard ou une ligne RNIS. Cette connexion utilise le protocole PPP pour établir la connexion et crypter les paquets de données.

PPTP Control Connection (La connexion de contrôle PPTP)
Utilisant la connexion à l'Internet établie par le protocole PPP, le protocole PPTP créé une connexion de contrôle du client PPTP vers un serveur PPTP en passant par l'Internet. Cette connexion utilise TCP pour établir la connexion et est appelé un tunnel PPTP.

PPTP Data Tunneling
Enfin, le protocole PPTP créé un datagramme IP contenant Les paquets PPP cryptés qui sont envoyés par le biais du tunnel PPTP vers le serveur PPTP. Le serveur PPTP désassemble les datagrammes IP et décrypte les paquets PPP et puis route les paquets décryptés vers un réseau privé.

Le protocole PPP

PPP est protocole d'accès distant utilisé par PPTP pour envoyer des données multi-protocoles à travers des réseaux TCP/IP. PPP encapsule des paquets IP, IPX et NetBEUI entre des frames PPP et envoie les paquets encapsulés en créant une liaison point-à-point entre les ordinateurs émetteurs et récepteurs.

La plupart des sessions PPTP sont démarrées par un client appelant le serveur d'accès réseau d'un ISP. Le protocole PPP est utilisé pour créer la connexion dial-up entre le client et le serveur d'accès réseau et accomplit les fonctions suivantes :

Etablir et terminer la connexion physique
Le protocole PPP utilise une séquence définie en RFC 1661 pour établir et maintenir des connexions entre des ordinateurs distants.

Authentifier des utilisateurs
Les clients PPTP sont authentifiés en utilisant le protocole PPP. Du texte normal, crypté ou l'authentification cryptée de Microsoft peuvent être utilisés par le protocole PPP.

Créer des datagrammes PPP qui contiennent des paquets cryptés IPX, NetBEUI ou TCP/IP
PPP créé des datagrammes qui contiennent un ou plus paquets de données cryptés TCP/IP, IPX ou NetBEUI. Parce que les paquets réseau sont cryptés, tout le trafic entre un client PPP et le serveur d'accès réseau est sécurisé.

Le processus complet est illustré dans la figure ci-dessous.

Connexion PPP Dial-Up Networking vers l'Isp

Figure 4 : La connexion PPP Dial-Up Networking vers l'Isp

Note
Dans certaines situations, les clients distants peuvent avoir un accès direct vers un réseau TCP/IP, tel que l'Internet. Par exemple, un ordinateur portable avec une carte réseau peut utiliser un accès Internet dans une salle de conférence. Avec un connexion IP directe, la connexion PPP initiale vers un ISP n'est pas nécessaire. Le client peut initier la connexion vers le serveur PPTP sans réaliser au préalable la connexion PPP vers un ISP.

La connexion de contrôle PPTP (PPTP Control Connexion)

Le protocole PPTP spécifie une série de messages de contrôles envoyés entre le client PPTP et serveur PPTP. Les messages de contrôle établissent, maintiennent et terminent le tunnel PPTP. La liste ci-dessous présente les messages de contrôle primaires utilisés pour établir et maintenir le tunnel PPTP.

Message Type Purpose
PPTP_START_SESSION_REQUEST Démarre session
PPTP_START_SESSION_REPLY Réponse à la requête de démarrage de session
PPTP_ECHO_REQUEST Maintien de la session
PPTP_ECHO_REPLY Réponse à une requête de maintien de session
PPTP_WAN_ERROR_NOTIFY Rapporte une erreur dans la connexion PPP
PPTP_SET_LINK_INFO Configure la connexion entre le client et le serveur PPTP
PPTP_STOP_SESSION_REQUEST Termine la session
PPTP_STOP_SESSION_REPLY Réponse à la requête de fin de session

Tableau 1 : les messages de contrôle PPTP types

Les messages de contrôle sont transmis dans des paquets de contrôle dans un datagramme TCP. Une connexion TCP est créée entre le client PPTP et le serveur PPTP. Cette connexion est utilisée pour échanger des messages de contrôle. Les messages de contrôle sont envoyés dans des datagrammes TCP contenant les messages de contrôle. Un datagramme contient un en-tête PPP, un message de contrôle PPTP et des trailers appropriés, similaire à ceux du schéma ci-dessous :

Datagramme TCP de PPTP avec les messages de contrôle

Figure 5 : Un datagramme TCP de PPTP avec les messages de contrôle

L'échange de messages entre le client PPTP et le serveur PPTP sur la connexion TCP sont utilisés pour créer et maintenir le tunnel PPTP. Le processus complet est illustré ci-dessous :

Connexion de contrôle PPTP vers un serveur PPTP sur une connexion PPP d'un ISP

Figure 6 : la connexion de contrôle PPTP vers un serveur PPTP sur une connexion PPP d'un ISP

Notez que dans cette illustration, la connexion de contrôle est pour le scénario dans lequel le client d'accès distant est le client PPTP. Dans le scénario dans lequel le client d'accès distant est non-PPTP et utilise un serveur d'accès réseau PPTP d'un ISP, la connexion de contrôle PPTP commence au serveur de l'ISP. Pour des informations détaillées concernant le protocole PPTP et ses messages de connexion de contrôle et la construction des datagrammes TCP, lisez l'Internet draft PPTP.

Les transmissions de données PPTP

Après que le tunnel PPTP est établi, les données utilisateur sont transmises entre le client et le serveur PPTP. Les données sont transmises dans des datagrammes IP contenant des paquets PPP. Les datagrammes IP sont créés en utilisant un version modifiée du protocole Internet Generic Routing Encapsulation (GRE) (GRE est défini dans les RFC 1701 et 1702). Le datagramme IP créé par PPTP est similaire à celui ci-dessous

Datagramme IP contenant le paquet PPP crypté tel que créé par PPTP

Figure 7 : datagramme IP contenant le paquet PPP crypté tel que créé par PPTP

L'en-tête de délivrance IP fournit les informations nécessaires pour que le datagramme passe par l'Internet. L'en-tête GRE est utilisé pour encapsuler le paquet PPP dans le datagramme IP. Le paquet PPP a été créé par RAS. Notez que le paquet PPP est juste un bloc incompréhensible car il est crypté. Même si le datagramme IP était intercepté, il serait presque impossible de décrypter les données.

<<12 3 4>>

Dernière mise à jour le jeudi 15 avril 1999