You are on page 1of 4

BERARD Gladys EI3-IR *** Protocoles de couche liaison HDLC et PPP *** ** HDLC : famille ** HDLC (High-level Data

Link control)est un protocole de couche liaison. Il appartient une famille regroupant plusieurs protocoles : SDLC, ADCCP, qui est LAP et PPP (Point-to-Point Protocol) est un standard de l'IETF. LAP-B est utilis par X25 (protocole de commutation de paquet en mode connect (Transpac)). ** Format des trames ** HDLC est un protocole orient bit. Dans une trame HDLC, on retrouve trouve 4 champs et un fanion permettant d'identifier le dbut et la fin de trame (8 bits = 01111110), un champ adresse (8 bits) pour les liens multi-points, un champ de contrle pour identifier le type de trames envoyes (8 bits), un champ pour les donnes et un champ de contrle d'erreur (FCS) qui vrifie que les donnes n'ont pas t modifies (8 bits). ** Mode de fonctionnement ** 3 modes de fonctionnement : - NRM (Normal Response Mode) : fonctionnement matre/esclave. Un terminal n'envoie des donnes que si le serveur lui en a fait la demande. - ARM (Asynchronous Response Mode) :fonctionnement matre/esclave o le terminal peut initi la communication - ABM (Asynchronous Balanced Mode) : o tous les terminaux sont gaux. La communication entre les terminaux est libre. ** Champ contrle ** Le champ contrle peut tre de trois structures diffrentes selon le type de trames envoyes. On reconnat le type selon la valeur des 2 premiers bits : - le type information a le premier bit 0. Dans ces trames, il y a alors le numro de squence, un champ P/F et un champ suivant dans lequel on peut mettre les ACK. Ce type de trame permet une transmission de donnes avec fentre glissante. - le type supervision (identifi par les premiers bits 10) permet de faire du contrle de flux, des ACK non piggybacks ... Dans ce cas le champ contrle comprend un champ type et un champ suivant. - le type non numrot pour envoyer des informations de configuration ou pour tablir une connexion. Le champ contrle commence alors par 11. ** Trames de supervision ** Voici des exemples de trames de supervision : - RR : l'acquittement positif, - RNR : ACK + contrle de flux pour indiquer que l'on ne peut plus recevoir de donnes - REJ : faire un acquittement ngatif lorsque une information est mal reue, avec comme politique de retransmission go back n (on retransmet toutes les trames) - SREJ : faire un acquittement ngatif lorsque une information est mal reue, avec comme politique de retransmission selective-repeat (on retransmet que la trame souhaite). ** Trames non numrotes ** Exemple de trames non numrotes : - DISC pour demander une dconnexion - SNRM, SABM et SARM pour le choix du mode de fonctionnement - SNRME, SABME et SARME pour tendre le champ de contrle sur 16 bits - FRMR pour les erreurs de protocole - UA pour acquitter la dconnexion - UI pour faire du best effort (pas d'acquittement).

** PPP : Point to Point Protocol ** PPP tait l'origine SLIP ( protocole de niveau liaison). Aucune erreur n'tait gre ( elles taient gres par les couches suprieures). Seul IP pouvait fonctionner au dessus. L'adresse IP devait tre connue au pralable. PPP a permis une mthode d'encapsulation multi protocole (ip, ipx ...). Il ajoute aussi un tablissement, un test et la configuration de la connexion ainsi que la configuration pour la couche rseau. ** Etats de PPP ** Une connexion PPP se dcrit en 6 tats : le point de dpart en position 'morte'. Ensuite, la porteuse doit tre dtecte puis les partis doivent se mettre d'accord sur les options utiliser. S'ils n'y arrivent pas, on revient l'tat initial. En cas de succs, une authentification optionnelle peut tre effectue. Apres la configuration de la couche rseau ou la machine reoit par exemple son adresse IP, la connexion est ouverte et les partis peuvent communiquer normalement. En fin de communication, on passe l'tat Terminaison. ** Encapsulation ** PPP est un protocole orient octet. La trame de PPP comprend 7 champs : 2 champs flag (un en dbut et un en fin), un champ Adresse gale 0xFF (pas d'adresse car c'est du point--point), un champ contrle gale 0x03 (correspond une trame non numrote de HDLC), un champ protocole pour identifier le protocole, un champ payload de taille variable qui peut contenir des protocoles de diffrentes couches (LCP couche liaison et NCP couche rseau par exemple) et un cheksum. De nombreux protocoles peuvent tre encapsuls : des protocoles rseaux comme IP, des protocoles de configuration tels que IPCP et des protocoles de niveau rseau pour liaison tels que LCP (contrle de la couche liaison), PAP ou CHAP (authentification) ou encore NCP (contrle de la couche rseau). ** Link control protocol : LCP ** La trame LCP (Link Control Protocol) comprend un champ code qui indique le type de paquet LCP, un champ identificateur puis un champ longueur pour la taille totale du paquet entte LCP comprise et enfin un champ donn. Il existe beaucoup de codes qui permettent la ngociation (voir transparent). Il est noter que tous les paramtres s'effectuent pour un sens de la communication et que l'on peut avoir une configuration diffrente dans l'autre sens. Enfin, il faut remarquer que si la ngociation choue, la communication s'arrte. Les options de LCP sont dfinies dans le champ donnes. Elles permettent la Ngociation de compression d'en-tte la taille maximale des trames reues... ** PAP : Password Authentification Protocol ** Protocole d'identification par mot de passe. PAP transmet en clair sur le rseau l'identifiant et le mot de passe. Il est utilis aprs l'tablissement de la connexion. Aprs que le protocole LCP ait accept la liaison au site distant, le client s'authentifie auprs du serveur en lui envoyant un paquet Authentication-Request contenant l'identit du client et le mot de passe associ. Le serveur compare ces donnes celle contenu dans son fichier d'authentification puis acquitte (trame Authenticate-Ack) ou pas (Authenticate-Nack). ** CHAP : Challenge Handshake Authentification Protocol ** C'est un protocole d'identification qui permet de ne pas transmettre le Login/password en clair. Il fonctionne de la manire suivante : chaque extrmit possde une cl identique. On envoie des donnes l'autre extrmit en lui demandant de les renvoyer en les encryptant avec la cl. Puis on compare le rsultat obtenu avec notre propre rsultat. Il existe donc pour ce faire 4 types de trames de ngociations : challenge, response, success et failure. Le format

de la trame est identique celui de LCP. ** RADIUS : Remote Authentication Dial-In User Service ** RADIUS fonctionne selon le modle client/serveur : en effet il propose lui une centralisation des informations sur les utilisateurs. Il offre les fonctions AAA (Authentification , Authorization, Accounting) qui permettent la vrification de l'identit, de connatre les droits d'accs et de suivre les actions de l'utilisateur (par exemple, calcul le temps de connexion pour une facturation). Pour ne pas surcharger le serveur, c'est un service sans connexion (UDP port 1812). De plus, il s'agit d'une communication de type transaction auquel TCP n'est pas adapt. La fiabilit est gre au niveau applicatif. La scurit est assure par un hachage et un cryptage avec une cl connue par le serveur et le client (MD5). Un change typique consiste en un message Access-request du client d'accs auquel le serveur rpond par un message Access-Accept si l'utilisateur est rpertori dans la base est avec un message Access-Reject sinon. Il est noter que pour plus de scurit et de facilit, on laisse le moins possible de configuration faire par l'utilisateur. ** NCP : Network Control Protocol ** NCP est mis en oeuvre aprs la configuration de la liaison (LCP) et l'authentification (CHAP /PAP). Il permet de configurer et de contrler le protocole qui sera utilis. Il y a un NCP par protocole transport dfini par des RFC. ** IPCP ** Par exemple IPCP (Internet Protocol Control Protocol) pour la configuration de IPv4. IPCP envoie 4 types de paquets de ngociation. Le format de la trame est identique LCP et incorpore les options suivantes : la compression d'entte, l'adresse IP du client, l'adresse IP permanente, l'adresse IP du serveur DNS primaire, ... ** Pourquoi et que compresser ? ** La compression peut tre importante car elle permet d'conomiser la bande passante et permet le maintient d'une bonne interactivit (ex : si on envoie des trames longues, le temps d'mission est long, ce qui gne l'interactivit car on ne peut rien faire d'autre pendant ce temps). On peut donc compresser les champs HDLC/PPP en rduisant l'entte, les donnes (possibilit est coteuse en temps), les enttes TCP/IP. ** Compression d'en-tte TCP/IP ** Algorithme de Nagle :ds que l'on appuie sur une touche, on attend 100ms avant d'envoyer les donnes pour agrger des octets dans moins de paquets , ... (utilis dans Telnet par exemple). On constate qu'entre 2 trames, peu d'lment de l'entte TCP/IP varie. On peut Donc les compresser en n'envoyant que les parties variables. ** Algorithme de Van Jacobson ** L'algorithme de Van Jacobson permet de compresser les en-ttes TCP/IP. Lors de l'mission de trame SYN, RST et Fin, on envoie les en-tte complet. Sinon pour la synchronisation et les ACK ngatifs ou de squences, on envoie l'entte complet puis dans les trames suivantes, on envoie uniquement les champs modifis et l'identificateur de connexion. A chaque extrmit, on maintient un contexte (dernire valeur connue de l'en-tte). L'entte fait donc au minimum 3 octets. ** En-tte TCP/IP compress ** Schma exemple.

Le bit C reprsente l'identification de connexion. Il n'est pas mis si c'est le mme que dans la trame prcdente. Le checksum TCP ainsi que le bit U est une recopie de la trame non-compresse. On note que si le bit d'identification du delta est absent, alors on l'incrmente. ** Conclusion ** Pour conclure, on rappellera que HDLC est la base des protocoles de liaison. Enfin, PPP est un protocole trs gnrique que l'on peut utiliser dans beaucoup de liaison point point. Il intgre un support multi-protocoles, une configuration liaison, une configuration protocole rseau, une authentification. Il est fiable et permet la compression des en-ttes.

You might also like