Point-to-point WANs (Chapter 12)

1. PPP
1.1 Généralités

PPP (Point to Point Protocol) est un protocole de niveau 2 (liaison de données).

PPP définit :

  • un header et un trailer permettant de faire transiter des données sur une liaison louée
  • supporte des liens synchrones ou asynchrones
  • ajoute un champ 'Protocol' permettant d'encapsuler divers protocole de niveau 3
  • Outils d'authentification intégré: CHAP et PAP
    • CHAP : Challenge Handshake Authentification Protocol
    • PAP : Password Authentification Protocol
  • Définit un protocole de contrôle pour chaque protocole de niveau 3
    • IP : IPCP
    • CDP: CDPCP
    • ...
En fait, PPP définit un protocole de contrôle du lien de niveau. Ce protocole est découpé en deux:
  • Un protocole indépendant du procole de niveau 3: LCP (Link Control Protocol)
  • Un protocole dépendant du protocole de niveau 3 : IPCP, CDPCP, ...

1.2 LCP

LCP fournit des fonctionnalités quant à l'utilisation du lien de transmission de données. Celles-ci sont :

Fonctionnalité Fonction LCP Description
Détection des boucles Magic number Dans le message LCP Keepalive, on met notre Magic number.
Si l'on détecte notre propre MN, alors il y a une boucle.
On peut alors mettre 'down' l'interface et utilisée une autre route vers la destination.
Détection des erreurs Link Quality Monitoring (LQM) PPP détecte les erreurs au moyen du champs FCS (Frame CRC Sequence).
Au moyen de LQM et d'un dialogue LCP avec son voisin, le routeur est à même de détecter
un taux d'erreur trop élevé et de mettre down l'interface.
Multi-liens PPP PPP multilink Cette fonctionnalité permet de load-balancer équitablement
du traffic sur plusieurs liens PPP vers un même subnet destination.
PPP fragmente les paquets en des trames de données de taille équitable
et les envoit de manière équitable sur les plusieurs liens.
Ce lien est vu comme un et un seul lien Multilink group.
Authentification CHAP et PAP CHAP et PAP sont des moyens d'authentification du routeur
voisin avec qui l'on discute en face.
CHAP est à utiliser en priorité, car pas d'envoi du mot de
passe en clair, contrairement à PAP.

1.3 Fonctionnement de CHAP et PAP

PAP :
CHAP :
PAP parle de lui-même. Tout est en clair. Il faut que chaque routeur soit configuré de la bonne manière.

Concernant CHAP, chaque routeur est configuré avec le nom et mot de passe de son voisin. Le challenge est généré en fonction de ce mot de passe et d'un nombre aléatoire. La fonction de hashage générant le challenge est donc différent à chaque fois. Le challenge est envoyé au routeur d'en face. En fonction du challenge, il renvoit son nom crypté. En fonction du mot de passe le routeur à l'initiative du challenge est capable de trouver le nom et accepte le lien PPP. Il est à noter qu'en aucun cas le mot de passe circule sur le lien.

2. Configuration de PPP

2.1 Configuration standard
La configuration de PPP sur une interface se fait très facilement :

R(config)# interface serial0/0
R(config-if)# encapsulation ppp
ATTENTION:
- Ne pas oublier de spécifier le 'clock rate' sur le DCE => up/down
- Encapsulation différente => up/down

2.2 Configuration de PAP et CHAP

[R1] <================> [R2]
Pour configurer l'authentification PAP ou CHAP sur deux routeurs, il faut :
  • 1. Configurer le 'hostname':
    R(config)# hostname R1
    R1(config)#
    
  • 2. Configurer un 'username' et 'password' correspondant au routeur sur lequel on veut s'authentifier.
    R1(config)# username R2 password toto
    
  • 3. Sur l'interface série, spécifier le type d'authenfication.
    R1(config)# interface serial 0/0
    R1(config-if)# ppp authentification chap pap
    
    Il est à noter que le routeur va essayer tout d'abord de s'authentifier en CHAP, puis en PAP s'il y avait un problème.

ATTENTION:
- Il est nécessaire que les mots de passe sur les deux routeurs soit identiques.
- CHAP fait parti de la couche LCP de PPP (Niveau 2), donc s'il y a échec de l'authentification, on va se retrouver avec une interface en up/down'

3. Dépannage de liens séries

En général un simple 'ping' suffit à détecter un problème avec le lien série.
Afin de détecter à quel niveau se situe le problème, il suffit de regarder l'état de l'interface via un 'i>show ip interface brief'.

Line status Protocol status Raison
Administratively down down Interface shutdown
down down Niveau 1
up down Niveau 2
up up Niveau 3

3.1 Niveau 1 (Physique):
La raison est très souvent une des suivantes :
  • La liaison louée est down(telco)
  • La liaison n'est pas connectée au CSU/DSU
  • Le CDU/DSU est en faute ou est mal configuré
  • Le câble série entre le routeur et le CSU/DSU n'est pas connecté
  • Pas de 'clock rate' de spécifier sur l'interface série où il y a le DCE (debug : 'sh controllers serial x/y')

3.2 Niveau 2 (Liaison de données):

Line status Protocol status Raison
Up down (stable) des deux côtés
  • Problème d'encapsulation
  • Problème d'authentification CHAP/PAP (debug: 'debug ppp authentification')
Up R1: down(instable) ; R2 : up Keepalive désactivé sur R2

3.3 Niveau 3 (Réseau):
Il se peut que les interfaces soient 'up/up', mais que cela ne pingue pas et ne puisse pas échanger de données de routage.

Encapsulation HDLC:
Il suffit de voir s'il n'y a pas un problème de subnet sur les interface et le régler le cas échéant.

Encapsulation PPP:
Concernant PPP, c'est plus compliqué. En effet, les IP des deux interfaces peuvent être dans des subnets différents et que cela pingue.
Pourquoi ?
PPP au moyen de LCP s'échangent entre routeurs les adresses IP de leur interface en /32.
Imaginons :

     [R1] <============================> [R2]
192.168.4.1/24                 192.168.10.2/24
Et bien R2 va se retrouver avec dans ta table de routage :
192.168.4.1/32 serial 0/0
Et inversement :
192.168.10.2/32 serial 0/0
Il faut donc y faire attention en cas de non échange de table de routage.

Résumons cela ainsi quant à un problème de subnet :
IP sur if serial dans subnet != HDLC PPP
Le ping fonctionne ? Non Oui
Echange de données de routage Non Non