Vous êtes sur la page 1sur 38

s Internet et les liaisons sries s

Internet et les liaisons


(/home/terre/d01/adp/bcousin/Polys/Reseaux-locaux-et-Liaison/5.Les_liaisons.fm- 31 Aot 1999 15:40)

Plan

Introduction Le protocole PPP Adaptation aux procds de transmission LCP Authentication NCP Conclusion

Bibliographie L.Toutain, Internet et les rseaux locaux, Herms, 1996. Les RFC

____ Bernard Cousin - IFSIC - Universit Rennes I

132

s Internet et les liaisons sries s

1. Introduction Les stations peuvent tre connectes Internet au moyen de liaisons : liaison srie liaison point--point Et non pas au moyen dun rseau local. Par exemple, une connexion Internet travers le rseau tlphonique :
protocole de liaison de donnes

station
modem intgr

Internet

modem

fournisseur daccs Internet

Les caractristiques des liaisons sont trs variables : il faut un protocole qui sadapte PPP

____ Bernard Cousin - IFSIC - Universit Rennes I

133

s Internet et les liaisons sries s

2. Le protocole PPP 2.1. Prsentation t Point to Point Protocol (rfc 1661) Les services offerts : transmission de donnes sur une liaison point point masque lhtrognit des caractristiques de la liaison : - asynchrone, synchrone, tlphonique, spcialise, HDLC, X25, RNIS, etc. supporte divers protocoles de niveau Rseau : - IP, IPX, Appletalk, IPv6, et mme des trames !, etc. une transmission transparente vis--vis des codes rservs par les modems protection contre les erreurs contrle laccs au rseau ngociation des diffrents paramtres mise en oeuvre de techniques doptimisation de la transmission (compression)

____ Bernard Cousin - IFSIC - Universit Rennes I

134

s Internet et les liaisons sries s

2.2. Architecture Dans Internet :


couches suprieures (TCP, UDP, etc)

IP PPP
liaison point--point (par ex. tlphonique)

Les autres fonctions et protocoles complmentaires : CHAP PAP NCP


compression Network Control Protocol

PPP
adaptation

LCP

Link Control Protocol

fonctions scuritaires

fonction de ngociation fonctions de transmission

____ Bernard Cousin - IFSIC - Universit Rennes I

135

s Internet et les liaisons sries s

2.3. Format gnral du paquet PPP paquet PPP


protocole 2 octets (ou 1) donnes variable bourrage variable

Protocole : Identie le protocole charg des donnes 2 octets par dfaut; un seul octet si ngoci (cf option de code 7 de LCP) compatible avec le format tendu dadresse (HDLC : ISO 3309) : - les octets intermdiaires ont leur LSb = 0, le dernier octet a son LSb = 1 [0***16 - 3***16] protocoles Rseau et [8***16 - b***16] protocoles NCP associs [4***16 - 7***16] protocoles spciques nayant pas de NCP [c***16 - f***16] protocoles LCP Exemples : - 002116 : IP, 002916 : AppleTalk, 002b16 : IPX, 002d16 : entte TCP/IP comprimes, 002f16 : enttes TCP/IP ne pouvant tre comprimes 802116 : IPCP, 802916 : AppleTalk, 802b16 : IPX c02116 : LCP, c02316 : PAP, c22316 : CHAP
136

____ Bernard Cousin - IFSIC - Universit Rennes I

s Internet et les liaisons sries s

Donnes : de 0 MRU octets de donnes MRU (Maximum Receive Unit) - 1500 octets par dfaut - peut tre ngoci (cf option de code 1 de LCP) Bourrage : permet dobtenir un paquet de longueur xe ou respectant une longueur minimale codage dpendant du protocole (cf option de code 10 de LCP)

____ Bernard Cousin - IFSIC - Universit Rennes I

137

s Internet et les liaisons sries s

2.4. Oprations Contrle de la liaison : utilise les paquets LCP test de la ligne ngociation des options

Authentification utilise les paquets PAP ou CHAP Contrle du protocole Rseau : utilise les paquets NCP conguration dun ou plusieurs protocoles partageant la liaison Echange de donnes : paquets du protocole PPP Fermeture de la liaison : paquet LCP ou NCP de fermeture perte de porteuse, temporisateur dinactivit, intervention de ladministrateur
____ Bernard Cousin - IFSIC - Universit Rennes I

138

s Internet et les liaisons sries s

3. Adaptation aux procds de transmission 3.1. Introduction Encapsulation des paquets PPP dans des trames compatibles avec le procd de transmission utilis par la liaison point--point. Le mode de transmission de la liaison : synchrone asynchrone Le service offert par la liaison : avec mise en oeuvre dun mcanisme de contrle de la abilit - rfc 1663 (compatible LAP-B : ISO 7776, appel numbered mode) - peu utilis sans augmentation de la abilit (connectionless) - rfc 1662 - pour . liaison asynchrone (XON/XOFF protocol, start/stop protocol, etc) . liaison synchrone (compatible LAP-B : unumbered)
____ Bernard Cousin - IFSIC - Universit Rennes I 139

s Internet et les liaisons sries s

3.2. Format gnral de la trame Encapsulation dans une trame au format similaire HDLC (ISO 4335) trame HDLC
fanion adresse 1 octet 1 octet contrle 1 octet * informations CRC 2 octets* * : peut avoir une autre taille en fonction de la ngociation fanion interframe

paquet PPP

protocole

donnes

bourrage

Fanion : 011111102 dlimiteur de trame

Adresse : 111111112 : adresse de diffusion liaison point--point

____ Bernard Cousin - IFSIC - Universit Rennes I

140

s Internet et les liaisons sries s

Contrle : type de la trame 000000112 : trame UI (Unnumbered Information) bit Poll/Final zro liaison sufsamment able (rfc 1662) liaison abiliser (rfc 1663) - LAP_B : - trames I, SABM(E), UA, etc format normal ou tendu  SABM(E) . . champ contrle sur 1 ou 2 octets numrotation modulo 8 ou 128

FCS (Frame Check Sequence) : par dfaut : CCITT 16 bit CRC ngociable : pas de FCS ou CRC de 32 bits (option 9 du LCP) Interframe : soit ladresse de la trame suivante soit des octets de remplissage (des fanions)
____ Bernard Cousin - IFSIC - Universit Rennes I

141

s Internet et les liaisons sries s

3.3. Le tramage 3.3.1 Transparence

La squence binaire du fanion ne doit pas apparatre au sein de la trame : Lencodage (stufng) Il existe plusieurs procds dencodage : par octet : caractre dchappement - plutt utilis par les transmissions asynchrones par bit : insertion de bits - plutt utilis par les transmissions synchrones 3.3.2 Encodage par octet

Un caractre dchappement doit tre plac devant tous caractres spciaux 0x7d Les caractres spciaux le fanion le caractre dchappement
142 ____ Bernard Cousin - IFSIC - Universit Rennes I

s Internet et les liaisons sries s

nimporte quel caractre dni par lACCM (Asynchronous Control Character Map) . LACCM est ngocie (option 2 de LCP)

Exemple : 3.3.3 transmettre : 0x7d transmis : 0x7d 0x5d (0x7d ^ 0x20)

Encodage par bit

Insertion systmatique dun bit 0 aprs 5 bits conscutifs 1 augmentation de la longueur de la trame un nombre quelconque de bits procd standard dHDLC Exemple : transmettre : 01111001.01111110.01111100.11111111.110000002 transmis : 01111001.011111010.011111000.111110111.1100000002

____ Bernard Cousin - IFSIC - Universit Rennes I

143

s Internet et les liaisons sries s

4. Le protocole LCP 4.1. Introduction 3 types de fonctions LCP : conguration de la liaison : - tablissement et ngociation des options - les paquets : cong-req, cong-ack, cong-nack, cong-rej - ces paquets utilisent toujours le format de paquet par dfaut libration de la liaison - les paquets : term-req, term-ack maintenance de la liaison : - les paquets : code-rej, proto-rej, echo-req, echo-reply, disc-req - paquets supplmentaires : didentication, de temps de vie restant de la session Chaque paquet LCP est encapsul dans un paquet PPP - le champ Protocol du paquet PPP = 0xc021 RFC 1570 et 1661
____ Bernard Cousin - IFSIC - Universit Rennes I

144

s Internet et les liaisons sries s

4.2. Format gnral des paquets LCP


1 octet code 1 octet identifier data 2 octets length Paquet LCP

Code : identie le type du paquet par exemple : 1 = Congure-Request Identifier : associe les demandes avec leurs rponses Length : longueur (totale) en octets du paquet LCP permet dliminer les octets de bourrage du paquet PPP Data : dpend du type du paquet

____ Bernard Cousin - IFSIC - Universit Rennes I

145

s Internet et les liaisons sries s

4.3. La conguration
1 octet 1/2/3/4 1 octet identifier liste doptions 2 octets length Paquet LCP de configuration

Une configuration pour chacun des deux sens, indpendamment.

 liaison congure de manire assymtrique


Demande de configuration : champ Code = 1 : Conguration.Request la listes des options ngocier (valeurs diffrentes des valeurs par dfaut) Accord de configuration champ Code = 2 : Conguration.Ack accord avec toutes les options ngocies Dsaccord de configuration champ Code = 3 : Conguration.Nack dsaccord avec certaines valeurs des options proposes
____ Bernard Cousin - IFSIC - Universit Rennes I 146

s Internet et les liaisons sries s

Refus de configuration champ Code = 4 : Conguration.Reject lorsque certaines options ne sont pas ngociables retourne les valeurs acceptables Scnarios :
conf.req conf.ack conf.nack conf.rej conf.req conf.req conf.rej conf.ack conf.req conf.ack Dans les 2 sens avec re-ngociation

____ Bernard Cousin - IFSIC - Universit Rennes I

147

s Internet et les liaisons sries s

4.4. Les options Utilises au sein de la liste doptions des paquets de configuration Format TLV
1 octet type 1 octet length value Option des paquets LCP

Type = 1 : ngociation du MRU (Maximum Receive Unit) par dfaut 1500 octets donnes sur 2 octets : taille maximum des paquets PPP Type = 2 : ngociation de la liste des caractres spciaux donnes sur 4 octets (lACCM): - chaque bit identie un des 32 premiers caractres - si le bit est positionn le caractre doit tre transcod Type = 3 : ngociation du protocole dauthenfication donnes sur 3 octets : identie le protocole (2 octets) : 0xc023 = PAP, 0xc223 = CHAP
148 ____ Bernard Cousin - IFSIC - Universit Rennes I

s Internet et les liaisons sries s

identie lalgorithme de chiffrement (1 octet) : 0x5 = MD5.

Type = 4 : ngociation du protocole de surveillance de la liaison donnes sur 2 octets identie le protocole : 0xc025 = Link Quality Report

Type = 5 : ngociation du nombre magique valeur du nombre magique sur 4 octets permet de dtecter les rebouclages Autres options : 7 : compression du champ protocole dans les paquets PPP 8 : compression des champs adresse et contrle de la trame 9 : procd de calcul du champ FCS 10 : bourrage auto-descriptif 11 : transmission en mode able (LAP-B) 13 : rappel automatique (call back) 15 : trames composites (une trame contient plusieurs paquets)

____ Bernard Cousin - IFSIC - Universit Rennes I

149

s Internet et les liaisons sries s

4.5. Libration de la liaison


1 octet 5/6 1 octet identifier data 2 octets length Paquet LCP de libration

Demande de libration : champ Code = 5 : Terminaison.Request les octets de donnes ne sont pas interprts Accord de libration champ Code = 6 : Terminaison.Ack les octets de donnes ne sont pas interprts

____ Bernard Cousin - IFSIC - Universit Rennes I

150

s Internet et les liaisons sries s

4.6. Trames dadministration Rejet de paquet


1 octet 7 1 octet identifier rejected-packet 2 octets length Paquet LCP de rejet de paquet

champ Code = 7 : Code.Reject la suite de la rception dune paquet LCP ayant un code inconnu le champ donnes contient le (dbut du) paquet LCP rejet

Rejet de trame
1 octet 8 1 octet identifier 2 octets length rejected-frame Paquet LCP de rejet de trame

rejected-protocol-code

champ Code = 8 : Protocol.Reject la suite de la rception dune trame ayant un champ protocol inconnu le champ de donnes contient cette valeur (2 octets) et (un extrait de) la trame rejete
151

____ Bernard Cousin - IFSIC - Universit Rennes I

s Internet et les liaisons sries s

Echo
1 octet 9/10 1 octet identifier magic_number data 2 octets length Paquet LCP dcho

champ Code = 9 et 10 : Echo.Request et Echo.Reply lors de la rception dun paquet Echo.Request un paquet Echo.Reply est retourn test de la liaison : rebouclage, dtermination de la qualit de la liaison magic-number : - permet didentier la prsence dun rebouclage - par dfaut 0, - valeur ngocie par loption correspondante lors de la conguration le champ donnes peut contenir des donnes quelconques

____ Bernard Cousin - IFSIC - Universit Rennes I

152

s Internet et les liaisons sries s

Destruction
1 octet 11 1 octet identifier magic_number data 2 octets length Paquet LCP dtruire

champ Code = 11 : Discard.Request lors de la rception dun paquet Discard.Request, le paquet est dtruit. test de la liaison : dboguage, valuation de performance magic-number : - permet didentier la prsence dun rebouclage - par dfaut 0, - valeur ngocie par loption correspondante lors de la conguration

____ Bernard Cousin - IFSIC - Universit Rennes I

153

s Internet et les liaisons sries s

5. Lauthentication 5.1. Prsentation Avant dtablir dfinitivement une session avec une entit distante, il convient de vrifier si cette entit est bien celle quelle annonce tre : protocole dauthencation Principe : les entits partagent un secret :

 le mot de passe
Problme : lors de la transmission sur le rseau le mot de passe est visible par exemple : le protocole PAP (password authentication protocol) - un simple protocole en 2 phases two-way handshake Solution : change de messages chiffrs le protocole CHAP (challenge authencation protocol)
____ Bernard Cousin - IFSIC - Universit Rennes I 154

s Internet et les liaisons sries s

5.2. Le protocole CHAP

 rfc 1334
Fonctionne en 3 phases (three-way handshake)
challenge response ack or nack

Principe de fonctionnement : Les 2 entits disposent dun mme procd de chiffrement secret : - procd paramtr par une clef commune et secrte. - par exemple : lalgorithme MD5 la premire entit soumet lautre un message (challenge) la seconde retourne le message aprs chiffrement (response) la premire compare le message chiffr reu et le chiffrement local du message puis en informe lentit distante : - sils sont identiques lauthentication est russie (ack),
____ Bernard Cousin - IFSIC - Universit Rennes I 155

s Internet et les liaisons sries s

sinon elle a chou (nack)

Remarques : - Lexistence de la fonction inverse nest pas ncessaire ! Le message soumis doit tre diffrent chaque fois pour viter le play-back lauthentication peut tre renouvele pendant la phase de transfert des donnes

____ Bernard Cousin - IFSIC - Universit Rennes I

156

s Internet et les liaisons sries s

5.3. Les paquets CHAP La fonction dauthentification est slectionne grce loption de type 3 des paquets de configuration du protocole LCP Les paquets CHAP sont transmis dans des paquets PPP dont le champ protocol vaut 0xc223. Le format des paquets CHAP est similaire celui des paquets LCP. 4 types de paquets CHAP : Dpendent du champ code (premier octet) : - 1 = Challenge
1 octet 1/2 value-size 1 octet identifier 2 octets length Paquet CHAP de challenge ou de rponse

challenge or response value supplementary-data

2 = Response 3 = Success 4 = Failure


157

____ Bernard Cousin - IFSIC - Universit Rennes I

s Internet et les liaisons sries s

6. Les protocoles NCP 6.1. Prsentation des NCP Chaque protocole de niveau Rseau a un protocole de configuration (NCP) adapt : IP  IPCP (rfc 1332) Appletalk  ATCP (rfc 1378) IPX  IPXCP (rfc 1552)

La forme que prennent les paquets NCP dpend du protocole de niveau Rseau employ. La fonction de configuration de niveau Rseau ressemble celle de niveau Liaison.

 IPCP

____ Bernard Cousin - IFSIC - Universit Rennes I

158

s Internet et les liaisons sries s

6.2. Introduction IPCP Le format gnral des paquets IPCP est le mme que celui de LCP
1 octet code 1 octet identifier data 2 octets length Paquet IPCP

Les mmes IPCP paquets sont utiliss : avec les mmes codes : - cong-req [1], cong-ack [2], cong-nack [3], cong-rej [4], term-req [5], term-ack [6], code-rej [7]. - mais seulement ceux-l. pour la mme utilisation avec le mme format particulier pour chaque type de paquets Seules les options changent !

____ Bernard Cousin - IFSIC - Universit Rennes I

159

s Internet et les liaisons sries s

6.3. Les options des paquets IPCP Le format gnral des options de IPCP est celui des options de LCP :

 TLV
Option de type=1 : configuration des adresses obsolte car difcile dassurer la convergence cf. type=3 Option de type=2 : choix de lalgorithme de compression identicateur de lalgorithme (2 octets) : - 0x002d : Van Jacobson compressed TCP/IP le champ donnes dpend de lalgorithme choisi : - pour Van Jacobson, 2 octets : . nombre de connexions pouvant avoir leurs enttes simultanment compresses . prsence du numro de connexion : obligatoire (0) ou non (1)

Option de type=3 : configuration de ladresse IP utilise sur la liaison le champ donnes contient ladresse IP propose (4 octets) - 0 : cest une demande dobtention dadresse
____ Bernard Cousin - IFSIC - Universit Rennes I 160

s Internet et les liaisons sries s

6.4. Compression des enttes TCP/IP 6.4.1 Introduction Procd de compression dfini par le rfc 1144 gnrique utile pour les liaisons faible dbit - sur liaison point point utilisant PPP, par ex. Deux paquets successifs dune mme connexion TCP possdent des champs identiques : seule transmission des champs diffrents  moins de champs transmission de la valeur de la diffrence  des champs plus courts
Vers HLEN ToS Identication TTL Protocol Checksum Source address Destination address Options Source port Destination port Sequence number Acknowledgment Segment TCP HLEN 0 Code Window size Checksum Urgent pointer Options Data Datag. length Flags Fragment offset

Datagramme IP

____ Bernard Cousin - IFSIC - Universit Rennes I

161

s Internet et les liaisons sries s

Hypothses ncessaires la compression : Compression uniquement des segments TCP :

 non compression des paquets UDP


Pas de compression sil y a une nouvelle partie variable dans lentte : - soit options IP, - soit options TCP Pas de compression si le paquet TCP est spcial:

 bits RST, SYN ou FIN du champ Code positionns


Pas de compression si les champs constants sont modis : - Vers, HLEN, ToS, Flags, Fragment Offset (pas de fragmentation=0), TTL - Protocol, Destination and sources addresses, Destination and sources ports Les champs checksum, datagram length dIP sont redondants donc reconstituables.

____ Bernard Cousin - IFSIC - Universit Rennes I

162

s Internet et les liaisons sries s

6.4.2

Format de lentte compresse

Le paquet compress a un format variable : Seuls loctet Slecteur et le champ Checksum sont toujours prsents
Vers HLEN Slecteur Slot identication Ckecksum Urgent pointer Window size diff. Acknowledgment diff. Sequence number diff. Identication diff. Data ToS

0 C I P S A W U Datagramme IP

Identication TTL Protocol Checksum Source address Destination address Options

Datag. length Flags Fragment offset

Source port Destination port Sequence number

Segment TCP

Acknowledgment HLEN 0 Code Window size Checksum Urgent pointer Options Data

____ Bernard Cousin - IFSIC - Universit Rennes I

163

s Internet et les liaisons sries s

6.4.3

Les diffrents champs de lentte compresse

Slecteur Indique la prsence ou labsence du champ optionnel correspondant : - C, I, S, A, W, U Bit Push du champ code du paquet TCP : - P (idem bit ack : A, bit Urg: U)

Slot identification Identie le contexte (un par sens de transmission) o sont conserves les donnes ncessaires la compression/dcompression Lorsque la compression ne peut pas avoir lieu, le champ protocol du datagramme IP contient cet identicateur. Le champ protocol du paquet PPP vaut 0x002f. Checksum Champ obligatoire Les enttes compresses sont plus sensibles aux erreurs Urgent pointer On code la valeur et pas la diffrence
____ Bernard Cousin - IFSIC - Universit Rennes I 164

s Internet et les liaisons sries s

La prsence du champ est conditionn par la validation du bit U (=1) du champ slecteur

Window size difference Code la diffrence du champ entre 2 paquets successifs Les valeurs ngatives sont reprsentes en complment 2 Si la largeur de la fentre est constante, le champ nexiste pas et le bit W vaut 0.

Acknowledgment number et Sequence number difference Code la diffrence du champ entre 2 paquets successifs Comme la capacit dencodage est limite (<216) alors que la diffrence peut tre grande (232) : - les paquets contenant des champs dont la diffrence est trop importante ou ngative ne sont pas compresss

Identification difference Code la diffrence du champ entre 2 paquets successifs Si le bit I vaut 0, le champ nest pas prsent et sa valeur est obtenue aprs incrmentation de la valeur prcdente

____ Bernard Cousin - IFSIC - Universit Rennes I

165

s Internet et les liaisons sries s

6.4.4

Codage des valeurs des champs optionnels de lentte compresse

On code la diffrence entre les valeurs successives du mme champ : les petites valeurs sont plus frquentes La valeur du champ (Urgent pointer) ou de la diffrence entre les deux valeurs successives (les autres champs optionnels) Procd : si la valeur < 256  codage sur un octet si la valeur >= 256 ou nulle  codage sur 3 octets, - le premier octet vaut 0, - les deux suivants, la valeur Par exemple : codage de 0  0x000000

____ Bernard Cousin - IFSIC - Universit Rennes I

166

s Internet et les liaisons sries s

6.5. Empilement Lutilisation de la fonction de compression de lentte est slectionne lors de la configuration par loption 2 du protocole IPCP. Toutefois la compression de lentte nest pas toujours applicable. Les paquets PPP, en fonction de la valeur de leur champ Protocol, contiennent : 0x0021 = un datagramme IP ne pas comprimer - la fonction de compression na pas t slectionne - ou le datagramme ne contient pas un segment TCP 0x002d = une entte comprime - la fonction de compression a t slectionne - et le datagramme contient un segment TCP compressible 0x002f = une entte comprimer mais non-compressible - la fonction de compression a t slectionne - mais le datagramme contient un segment TCP non-compressible : . par exemple : il y a des options ou un champ qui devrait tre xe ne lest pas.

____ Bernard Cousin - IFSIC - Universit Rennes I

167

s Internet et les liaisons sries s

6.6. Optimisation Si lon observe le trafic, on constate que, frquemment : la valeur champ Sequence number augmente de la taille du dernier paquet la valeur champ Acknowledgment number (1er cas) soit augmente de la taille du dernier paquet (2me cas) soit est inchange les valeurs des champs Window size et Urgent Pointer ne sont pas modies

On dcide de coder ces 2 cas (ne ncessitant pas de champs optionnels) par des configurations spcifiques des bits du champ Slecteur. 0x0b = SWU (1er cas) 0x0f = SAWU (2me cas)

 Lentte est alors rduite uniquement 3 octets !


Si ces configurations spcifiques du Slecteur doivent tre utilises : on transmet une entte non-compresse

____ Bernard Cousin - IFSIC - Universit Rennes I

168

s Internet et les liaisons sries s

7. Conclusion Le protocole PPP est adapt la transmission de datagramme IP sur des liaisons point point Le protocole PPP est un protocole gnrique, il sadapte : au procd de transmission (able ou non, synchrone ou asynchrone) aux diffrents protocoles de niveau Rseau Utilise des protocoles de configuration de niveau Liaison (LCP) et de niveau Rseau (NCP : IPCP) Peut tre associ un protocole dauthentification CHAP Adaptation la transmission : inspire du protocole HDLC (ISO) Technique de compression des enttes TCP/IP : adaptation aux lignes faible dbit PPP est utilis pour le pontage dans les rseaux locaux transport de trames Ethernet au sein des paquets PPP administration des algorithmes de pontage laide de NCP

____ Bernard Cousin - IFSIC - Universit Rennes I

169

Vous aimerez peut-être aussi