Académique Documents
Professionnel Documents
Culture Documents
téléinformatique
Le protocole PPP
Terminologie
Liaison point à point
C’est une communication par modem entre deux ordinateurs maximums, de la même manière
qu’une personne ne peut pas joindre deux autres personnes simultanément sur la même ligne
téléphonique.
Datagramme
C’est l'unité de transmission de la couche réseau (par exemple IP). Un datagramme peut être
encapsulé dans un ou plusieurs paquets passés à la couche liaison.
Trame
C’est l'unité de transmission de la couche liaison. Une trame peut comporter un en-tête et/ou
une queue, et des octets de données.
Paquet
C’est l'unité d'encapsulation de base, passant entre la couche réseau et la couche liaison de
données. Un paquet est en général associé à une trame; sauf pour les cas particuliers où une
fragmentation du paquet doit être opérée, où lorsque plusieurs paquets sont insérés dans une
trame unique.
Acronymes :
PPP : Point to Point Protocol (protocole point à point)
NP : Network Protocols (protocoles de couche réseau)
NCP : Network Control Protocols (Protocoles de contrôles de la couche réseau)
LCP : un protocole en particulier parmi les Link Control Protocols
Introduction
Le protocole PPP (Point to Point Protocol qui se traduit par Protocole Point à Point) est un
protocole de liaison de données qui assure un échange fiable des données sur une liaison point
à point.
Le protocole PPP a été crée pour résoudre les problèmes d’un ancien protocole nommé SLIP
(Serial Line Internet Protocol, qui veut dire protocole Internet de liaison en série).
Slip
Ce protocole n’effectue aucun contrôle d’adresse ni aucun contrôle d’erreur. La transmission
des données est assez simple, on envoie une simple trame qui contient uniquement un
caractère de fin de transmission qui est le END (192 en code ASCII).
Voici le format d’une trame SLIP :
Données à transmettre END
Figure 1 : format d’une trame SLIP
PPP
Le protocole PPP est plus complexe que le protocole SLIP. Il transfère sur une trame des
données supplémentaires qui sont mieux adaptés à la transmission de données sur l’Internet.
Ce protocole est en fait un ensemble de protocole :
• Un protocole d’encapsulation des datagrammes,
• Un protocole de contrôle de liaison (Link Control Protocol) qui permet de faire des
tests et de vérifier la configuration de la communication,
• Un ensemble de protocole de contrôle (Network Control Protocol) qui permet de
lancer et configurer différent protocole de la couche réseaux.
1. Encapsulation PPP
PPP permet d’utiliser plusieurs protocoles de couche réseau. Pour ce faire, on utilise
l’encapsulation PPP : Un paquet PPP contient d’abord un identifiant correspondant au
protocole encapsulé, le datagramme du protocole encapsulé, puis éventuellement des octets de
bourrage :
1
La liste complète des identifiants est disponible sur http://www.iana.org/assignments/ppp-numbers
2. Fonctionnement
Une liaison PPP se déroule en trois étapes :
3. Diagramme d’état
Lors d’une tentative de liaison point à point PPP, Il y a plusieurs étapes à passer avant
d’envoyer les données.
Voici le schéma des différentes étapes ci-dessous :
Succès/
Up Ouvrir Aucun
Mort Etablir Identifier
Echec Echec
Fermer
Terminer Réseau
Down
4.2.1 Tramage à octet de bourrage (pour les liens asynchrones 8 bits et synchrones
octets)
On utilise l’octet d’échappement 0x7d (= 01111101 binaire). Chaque octet ayant la même
valeur que le drapeau ou que l’octet d’échappement est échappé. Tous les octets présents dans
la table des caractères de contrôle asynchrone d’envoi (ACCM « Async-Control-Character-
Map ») sont également échappés (ACCM peut contenir typiquement des caractères tels que
XON, XOFF, …)
L’échappement se passe de la manière suivante :
Faire précéder le caractère à échapper par l’octet d’échappement
Transformer le caractère à échapper par un ou exclusif de lui-même avec 0x20 (00100000
binaire)
Exemples :
0x7e → 0x7d, 0x5e
0x7d → 0x7d, 0x5d
0x03 → 0x7d, 0x23
4.2.2 Tramage par bit de bourrage (pour les liens synchrones orientés bit)
Avant l’envoi d’une trame, mais après que le FCS soit calculé, on considère tous les champs
entre le drapeau de début et celui de fin de la trame. Chaque fois que 5 bits contigus sont à
« 1 », on insère un « 0 » après le groupe de 5 bits à « 1 ».
A la réception, on effectue l’opération inverse : on considère tous les champs entre le drapeau
de début et celui de fin de trame, et chaque fois que 5 bits contigus sont à « 1 », on supprime
le « 0 » qui suit.
Exemple :
à envoyer : …1101 1111 1111 1111 1011 …
envoyé : …1101 1111 0111 1101 1110 11…
Type Longueur
Données
8 bits 8 bits
Figure 4 : format général des options LCP
2
D’autres options sont susceptibles d’être ajoutées. Consulter http://www.iana.org/assignments/ppp-numbers
3
RFC 1661 n’explicite pas qu’il s’agit d’une suppression, mais http://www.freesoft.org/CIE/RFC/1812/40.htm
oui.
7.2 Détrammage
| dé-échappé | reçu | signification
------------+-------------+-------------------------+--------------
start flag: | 7e | 7e |
address: | ff | ff |
contrôle: | 03 | 7d 23 |
Protocole: | c0 21 | c0 21 | LCP
Information:| 01 01 00 18 | 7d 21 7d 21 7d 20 7d 38 |
| 02 06 00 00 | 7d 22 7d 26 7d 20 7d 20 |
| 00 00 03 04 | 7d 20 7d 20 7d 23 7d 24 |
| c2 27 05 06 | c2 27 7d 25 7d 26 |
| 74 30 1d fb | 74 30 7d 3d fb |
| 07 02 08 02 | 7d 27 7d 22 7d 28 7d 22 |
| fe 80 | fe 80 |
end flag: | 7e | 7e |
------------+-------------+-------------------------+---------------
8. Conclusion
Le protocole PPP offre la possibilité, grâce au principe de l'encapsulation, de transporter
simultanément des données de plusieurs protocoles de la couche réseau. Une trame standard
transporte toutes ces données. Ce protocole permet également de prendre en compte de
nouveaux protocoles de la couche réseau au fur et à mesure de leur apparition : il suffit pour
cela de définir un protocole de contrôle associé et de leur attribuer un numéro.
Le protocole LCP est très important car il permet d’assurer une bonne portabilité de PPP. Il
permet en effet, par l'intermédiaire des multiples options qu'il gère, une adaptation à
l'environnement et aux exigences de la ligne. De plus, c'est lui qui prend en charge l'ouverture
et de la fermeture de la liaison de données, une éventuelle authentification, la détection des
erreurs et donc la qualité de la liaison, mais aussi que la détection d’éventuels bouclages.
Ce protocole c’est imposé comme standard d’échange sur le réseau. Pour assurer plus de
sécurité des entreprise on mis au point de nouvelles technologies basées sur le protocole PPP
mais qui assure plus de confidentialité quant au contenu de la trame.
Exemple : le protocole PPTP (protocole point à point en mode tunnel).
D’autres protocoles basées sur le PPP on vue le jour ces dernières années. Ces nouveaux
protocoles amène de nouvelles spécificités. En voici les plus important :
• PPPoE : PPP over Ethernet
• L2TP : Layer 2 Tunneling Protocol
9. Bibliographie
9.1 Liens Internet
http://abcdrfc.free.fr/rfc-vf/pdf/rfc1661.pdf
Auteur : W. Simpson
Année : Juillet 1994
http://kia.etel.ru/lib/Networking/kurose/ethernet/ppp.htm, rfc1662
Auteurs : Keith W. Ross and Jim Kurose
Année : 1996-1999
http://www.labouret.net/ppp/
Auteurs : Ghislaine Labouret, Jean-Christophe Lator
Année : 1996
http://www.commentcamarche.net/internet/ppp.php3
Auteur : Jean-François Pillou
Année : 2005
http://www.labo-cisco.com/ArticleComp.asp?ARID=38
Auteur : Sivan Deray
Année : 2000
http://ylescop.free.fr/mrim/protocoles/rfc-fr/rfc1663.htm
Auteur : D. Rand
Année : 1994
http://www.freesoft.org/CIE/RFC/1812/40.htm
Auteur : F. Baker, Editor Cisco Systems
Année : 1995
http://www.iana.org/assignments/ppp-numbers
Auteur : The Internet Corporation for Assigned Names and Numbers
Année : 2001