# PPP : les phases d'une connexion

extrait de "Le service d'accès PPP au Centre de Calcul In2p3 par Réseau Téléphonique Commuté",
Gérard DREVON, Centre de Calcul In2p3, octobre 1996

0. ### Phase préalable: l'Appel RTC

   > La phase préalable consiste à appeler le modem distant.
   > Pour cela , les deux modems doivent être impérativement de type HAYES, répondant donc aux commandes `AT`, car l'application PPP génére un appel sous cette forme (`ATDT7012345678` etc...), et attend la fin du dialogue entre modems sous forme du message CONNECT (si tout va bien, bien sûr!).
   > A partir de cet instant, la connexion téléphonique étant établie et supposée stable, commencent les négociations des différentes couches de protocoles de PPP nécessaires à l'utilisation de la ligne par les applications TCP/IP.

1. ### La couche LCP

   > C'est la négociation du niveau LCP (Link Control Protocol - RFC 1333 ).
   > Cette couche est chargée, sur chacune des deux machines , de tester en continu la qualité de la ligne, par un process appelé Link Quality Monitoring.
   > Celui-ci émet, à intervalles réguliers et négociés, des paquets Link Quality Report vers son collègue "d'en face", à charge pour celui-ci de prendre les mesures qui s'imposent, en accord avec son propre système.
   > Ces paquets sont remplis d'informations en provenance de divers compteurs qui surveillent le trafic en cours.
   > La négociation aboutit donc sur un accord concernant ces échanges de paquets LQR, ou échoue.
   > Dans ce dernier cas, c'est la Link Termination Phase : l'ordre est transmis au modem de raccrocher (`ATHangup`).
   > Sinon cela correspond à l'écran au status "`Establishment`" dans Mac PPP, suivi du message "`Link Dead`" éventuellement, ou au message LCP "`Opened`" dans le fenêtre Trace PPP, dans une implémentation de type Trumpet Software pour Windows3.1 ou 95

2. ### PAP

   > La deuxième phase concerne l'option facultative d'authentification de l'appelant, si cette option a été mise en oeuvre sur le serveur d'accès.
   > Elle est décrite dans la RFC 1334, et est considérée comme une extension de la couche LCP décrite ci-dessus.
   > Deux protocoles sont possibles dans cette phase, qui sont très différents dans leur conception: Password Authentication Protocol (PAP) et Challenge Handshake Protocol (CHAP).

   > > Il est simplement utile de rappeler ici que cette authentification , par password, est nécessaire et doit responsabiliser les personnes utilisant PPP, pour accéder au Centre, car un appel leur permet d'accéder à tout le réseau Internet depuis l'extérieur avec les risques inhérents en matière de sécurité. Vous êtes responsables de l'utilisation de votre compte comme sur n'importe quelle machine.

   > Si cette phase échoue, parce qu'une extrémité n'obtient pas de password dans les délais impartis ou parce qu'il est erroné, là encore on entre dans la Link Termination Phase (voir ci-dessus). Sinon...

3. ### La couche IPCP

   > La couche LCP ayant achèvé ses négociations, elle passe "`UP`" et donne la main à la couche supérieure: la couche IPCP (Internet Protocol Control Protocol, RFC 1134-1332).
   > Elle est chargée de la négociation entre les deux extrémités, concernant cette fois-ci les paramètres d'échanges de packets IP (ceux qui permettent aux applications de type Telnet, FTP, etc, de fonctionner).
   > Ainsi est négociée la taille maxi des packets en octets, la compression des en-têtes, la taille des fenêtres de retransmissions, l'adresse IP souhaitée, figée ou négociée avec le serveur, etc...).
   > Là encore, l'échec de cette négociation peut aboutir à la Phase de Terminaison de la Liaison .
   > On conçoit donc qu'un échange de paquets soit nécessaire à ces négociations, ce qui n'est pas sans influer sur la durée de la phase d'établissement d'une liaison PPP, ajoutée à celle propre à tous les modems modernes à haute vitesse.
   > Lorsque la couche IPCP termine sa négociation avec succès (`UP`), la liaison est déclarée "`Opened` ", ouverte donc, au passage de paquets de données des applications qui, seules, intéressent l'utilisateur: Telnet, FTP, Netscape, Fetch, Eudora, etc...