Technologie WAN : Point to Point
PPP :
L’encapsulation PPP a été conçue soigneusement pour garantir la compatibilité avec la plupart du matériel de prise en charge utilisé. PPP encapsule des trames de données pour les transmettre sur des liaisons physiques de couche 2. Il établit une connexion directe au moyen de câbles série, de lignes téléphoniques, de lignes agrégées, de téléphones portables, de liaisons radio spécialisées ou de liaisons à fibres optiques. L’utilisation du protocole PPP présente de nombreux avantages, notamment le fait qu’il n’est pas propriétaire. Il inclut en outre de nombreuses fonctionnalités qui ne sont pas disponibles dans HDLC :
- La fonctionnalité de gestion de qualité de la liaison contrôle la qualité de la liaison. Si un nombre trop important d’erreurs est détecté, le protocole PPP désactive la liaison.
- Le protocole PPP prend en charge l’authentification PAP et CHAP. Cette fonctionnalité est décrite et mise en pratique dans une section ultérieure.
PPP comprend trois composants principaux :
- Le protocole HDLC pour l’encapsulation de datagrammes sur des liaisons point à point.
- Le protocole de contrôle de liaison extensible (LCP, Link Control Protocol) pour établir, configurer et tester la connexion des liaisons de données.
- Une famille de protocoles de contrôle réseau (NCP, Network Control Protocol) pour établir et configurer différents protocoles de couche réseau. PPP permet l’utilisation simultanée de plusieurs protocoles de couche réseau. Certains des protocoles NCP les plus courants sont TCP/IP (Transmission Control Protocol/Internet Protocol), le protocole de contrôle Appletalk (Appletalk Control Protocol), le protocole de contrôle Novell IPX (Novell IPX Control Protocol), le protocole de contrôle Cisco Systems (Cisco Systems Control Protocol), le protocole de contrôle SNA (SNA Control Protocol) et le protocole de contrôle de compression (Compression Control Protocol).
Architecture multicouche PPP:
PPP utilise une architecture multicouche facilitant la communication entre des couches interconnectées.
PPP fournit une méthode d’encapsulation des datagrammes multiprotocoles sur une liaison point-à-point et utilise la couche de liaison de données pour tester la connexion.
PPP est constitué de deux sous-protocoles :
- Le protocole de contrôle de liaison (LCP Link Control Protocol) – Utilisé pour établir la liaison point-à-point.
- Le protocole de contrôle réseau (NCP Network Control Protocol) – Utilisé pour configurer les divers protocoles de couche réseau.
Format de trame PPP :
Indicateur 1 octet | Adresse 1 octet | Contrôle 1 octet | Protocole 2 octet | Données Variables | FCS 2 ou 4 octets |
indicateur : Indique le début ou la fin d’une trame et comprend la séquence binaire
01111110.
Adresse : Comprend l’adresse de broadcast standard composée de la séquence binaire 11111111. Le protocole PPP n’attribue pas d’adresse de station individuelle.
Contrôle : Comprend un octet composé de la séquence binaire 00000011, qui appelle la transmission des données utilisateur dans une trame non séquencée.
Protocole : Comprend deux octets qui identifient le protocole encapsulé dans le champ de données de la trame.
Données : Comprend zéro ou plusieurs octets contenant le datagramme du protocole précisé dans le champ de protocole. La longueur maximale par défaut du champ de données est de 1500 octets.
FCS : Normalement, 16 bits ou 2 octets faisant référence aux caractères supplémentaires ajoutés à une trame à des fins de contrôle d’erreur.
Couche LCP : La couche LCP (Link Control Protocol, protocole de contrôle de liaison) est la partie active de PPP. Le protocole LCP est situé au-dessus de la couche physique et permet d’établir, de configurer et de tester la connexion de liaison de données. Il établit la liaison point à point. Il négocie également et configure des options de contrôle sur la liaison de données de réseau étendu, qui sont gérées par les protocoles NCP.
Il fournit d’autre part la configuration automatique des interfaces à chaque extrémité, notamment les tâches suivantes :
- Gérer les limites variables de taille de paquets ;
- Détecter les erreurs de configuration courantes ;
- Mettre fin à la liaison ;
- Déterminer si une liaison fonctionne correctement ou présente des défaillances.
PPP utilise également le protocole LCP pour s’accorder automatiquement sur des formats d’encapsulation (authentification, compression, détection des erreurs) dès que la liaison est établie.
Couche NCP : Les liaisons point à point ont tendance à aggraver de nombreux problèmes existants avec la famille actuelle de protocoles de réseau. Ainsi, l’attribution et la gestion d’adresses IP, qui est un problème même dans des environnements de réseau LAN, est particulièrement difficile sur des liaisons point à point à commutation de circuits (tels que des serveurs de modem commuté). Le protocole PPP permet de résoudre ces problèmes, grâce aux couches NCP.
Avec PPP, plusieurs protocoles de couche réseau peuvent fonctionner sur la même liaison de communications. Pour chaque protocole de couche réseau utilisé, le protocole PPP utilise une couche NCP distincte. Par exemple, le protocole IP utilise le protocole de contrôle IP (IPCP), et IPX le protocole de contrôle Novell IPX (IPXCP).
Les couches NCP :
- Contient des champs fonctionnels comprenant des codes standard pour indiquer le type de protocole de couche réseau qu’encapsule le protocole PPP.
- Gère l’affectation et la gestion des adresses IP dans le protocole IPCP.
- Encapsule et négocie les options pour des protocoles de couche réseau multiples.
PAP : Le protocole PPP présente de nombreuses caractéristiques, dont l’authentification de couche 2, en plus des autres couches d’authentification qui sont le chiffrement, le contrôle d’accès et les procédures générales de sécurité.
Le protocole PAP procure une méthode simple permettant à un nœud distant d’établir son identité à l’aide d’un échange en deux étapes. PAP n’est pas interactif. Lorsque la commande ppp authentication pap est utilisée, les nom d’utilisateur et mot de passe sont envoyés en tant que paquet de données LCP unique, ce qui évite au serveur d’envoyer une invite de connexion et de devoir attendre une réponse.
Le protocole PAP n’est pas un protocole d’authentification très fort. En effet, les mots de passe sont transmis en clair sur la liaison et PAP n’offre aucune protection contre la lecture répétée des informations ou les attaques répétées par essais et erreurs. Le nœud distant contrôle la fréquence et la durée des tentatives de connexion.
CHAP : le protocole d’authentification à échanges confirmés (CHAP) effectue des vérifications régulières pour s’assurer que la valeur du mot de passe du nœud distant est toujours valide. Cette valeur variable change de façon imprévisible pendant l’existence de la liaison.
Une fois la phase d’établissement de la liaison PPP terminée, le routeur local envoie un message de demande de confirmation au nœud distant. Le nœud distant répond par une valeur calculée au moyen d’une fonction de hachage unidirectionnelle, généralement l’algorithme Message Digest 5 (MD5), basé sur le mot de passe et le message de demande de confirmation.
Le protocole CHAP protège contre les attaques de lecture répétée en utilisant une valeur de confirmation variable, unique et imprévisible. La demande de confirmation étant unique et aléatoire, la valeur hachée obtenue l’est également. Les demandes de confirmation répétées limitent la durée d’exposition à toute attaque. Le routeur local ou un serveur d’authentification externe contrôle la fréquence et la durée des demandes de confirmation.
Une fois l’authentification CHAP et/ou PAP activée, le routeur local demande au périphérique distant de prouver son identité avant de permettre au trafic de données de circuler. Cette procédure s’effectue de la façon suivante :
- L’authentification PAP demande au périphérique distant d’envoyer un nom et un mot de passe qui seront comparés à la base de données locale de noms d’utilisateur ou à la base de donnés distante TACACS/TACACS+.
- L’authentification CHAP envoie une demande de confirmation au périphérique distant. Ce dernier doit chiffrer la valeur de demande de confirmation à l’aide d’un secret partagé puis renvoyer la valeur chiffrée et son nom au routeur local dans un message de réponse. Le routeur local utilise le nom du périphérique distant pour rechercher le secret approprié dans la base de données de noms d’utilisateur locale ou distante TACACS/TACACS+. Il utilise le secret trouvé pour chiffrer la demande de confirmation d’origine et vérifier que les valeurs chiffrées correspondent.