Академический Документы
Профессиональный Документы
Культура Документы
Contrle de flux
5.1. Introduction
Nous avons dfini la notion de protocole et les principaux mcanismes
protocolaires utiliss. Dans ce chapitre nous allons considrer le protocole LAP B
utilis actuellement sur le rseau Transpac, afin dillustrer de manire concrte les
notions de couches et denveloppes, de regarder comment fonctionnent les
mcanismes de reprise sur erreur et de squencement dans ce protocole. Chaque
solution protocolaire est propre un protocole particulier. Enfin, nous allons sur ce
protocole introduire et illustrer le mcanisme de contrle de flux dfini dans le
chapitre 2.
5.2. Le rseau Transpac
Le rseau de transmission par paquets le plus utilis en France est le rseau
Transpac. Son nom est dailleurs tir des premires syllabes de transmission par
paquets . On trouvera tous les renseignements concernant Transpac (tarifs, normes et
connexions) dans les STUR (Spcifications Techniques dUtilisation du Rseau).
5.2.1. Historique
Lobjectif de Transpac tait de rpondre aux besoins nouveaux qui dcoulaient de
lutilisation de matriels informatiques varis. Avant lui, il nexistait en France que les
rseaux commuts tlphoniques analogiques et le tlex. Or ces rseaux ont des
performances limites et le taux derreur y est important (10-4). Ils ne peuvent
rpondre compltement aux besoins dapplications informatique. Pour des besoins
spcifiques, des lignes spcialises (ou liaisons spcialises) peuvent tre loues
France Tlcom, mais elles cotent cher et de ce fait ne sont rentables que pour des
utilisateurs importants, cest--dire dont le besoin de communication permet de les
utiliser de manire satisfaisante (taux doccupation lev). La liaison spcialise est
point point et ne sait pas raccorder deux usagers pour un usage temporaire (comme
le fait le tlphone). Cette solution manque de souplesse.
204
Les rseaux
Modem
Modem
liaison srie
Point daccs
TRANSPAC
Liaison spcialise
liaison srie
locale
locale
ETTD
ETCD
ETCD
ETTD
Figure 5.2. Raccordement au point du rseau TRANSPAC par une voie liaison spcialise
donnes sur connexion, appel X25 [21]. Les informations circulant ce niveau
sappellent des paquets, N PDU. Nous y reviendrons au chapitre 6.
Le niveau 2 (couche liaison) assure la transmission des donnes par blocs, L SDU
sans erreurs. Les informations circulant ce niveau sappellent des trames, L PDU. Ce
niveau gre le protocole de transmission entre les deux entits (gestion des ressources,
traitement des erreurs) et soccupe de lenveloppe des trames pour leur dlimitation
dans le flot continu de donnes. Le protocole utilis, appel LAP B (Link Access
Protocol version B), est un protocole de transfert de donnes sur connexion. Nous
allons lexaminer. Aujourdhui, Transpac utilise diverses versions de protocoles
(LAP D...). Nanmoins le segment terminal daccs usager utilise toujours le
protocole LAP B.
Le niveau 1 (couche physique) permet le transport des informations lmentaires
(bits) un rythme fixe (vitesse de la liaison). Il utilise un format de trame, MA PDU,
connu sous le nom de HDLC (High Level Data Link Control). Nous ne le dcrivons
ici que pour illustrer la couche physique et le mcanisme de dtection des erreurs. On
ne le verra plus dans les exercices proposs pour ce chapitre puisque les trames sont
collectes par une station au niveau liaison. Seul un oscilloscope pourrait montrer les
enveloppes physiques compltes. La couche physique est mise en uvre sur les
liaisons spcialises.
Le rseau Transpac est rsum par le schma de la figure 5.2. dans le vocabulaire
de Transpac (et dans les recommandations de lIUT-T), on appelle ETCD,
Equipement de Terminaison de Circuit de Donnes (en anglais DCE, Data
Commutation Equipement), le point daccs au rseau pour lusager ; en pratique un
modem. On appelle ETTD, Equipement Terminal de Traitement de Donnes,
lquipement de lusager (en anglais DTE, Data Terminal Equipment), ou le nud
dentre Transpac (cf. figure 5.3. ). Ce vocabulaire permet entre autres de distinguer
la partie fournie par et sous la responsabilit de la socit Transpac de la partie dont
labonn est responsable.
206
Les rseaux
paquets X25.3
trames LAP-B
bits
HDLC
ETTD
ETCD
ETCD
ETTD
Point daccs
TRANSPAC
ETTD ETCD
Point daccs
TRANSPAC
donnes
Ordinateur Client
ETCD
ETTD
Ordinateur Client
LETTD doit disposer de la pile de protocole utilise en interne par Transpac pour
construire la voie de communication jusqua labonn demand (cf. figure 5.3.). On
observe donc que les ordinateurs des clients et les point daccs mettent en uvre la
mme pile de protocoles.
5.2.3. Lenveloppe du niveau physique
Ce sous-niveau permet de dlimiter les blocs dinformations utiles dans le flot
continu de bits transmis par le niveau physique. Il permet galement de dtecter les
erreurs ventuelles introduites par le niveau physique dans les blocs dinformation. Il
permet, enfin, deffectuer une signalisation des deux tats de la ligne physique (actif
et inactif) pour chaque sens de transmission.
Avec le format utilis HDLC, High Level Data Link Control (cf. figure 5.4.),
toutes les trames doivent commencer et se terminer par une squence spciale de
dlimitation de trame ou fanion (flag en anglais). Lquipement (ETCD) doit, en
permanence, rechercher cette squence. Le fanion est utilis pour la synchronisation
des trames. Il sert dlimiter le dbut et la fin dune trame. Un mme fanion peut tre
fanion
01111110
bloc dinformation
CRC
16 bits
fanion
01111110
He
Hr
Figure 5.5. Les horloges de lmetteur et du rcepteur ne sont pas gnralement en phase
et nont pas la mme prcision
208
Les rseaux
101111111100011110111111001
Donnes transmises :
10111110111000111101111101001
101111111100011110111111001
Figure 5.6. Processus dinsertion et de retrait de bits dans une squence mise et reue
ajouts pour viter toute confusion avec le fanion, ne sont pas inclus dans le calcul du
CRC.
5.2.3.1. Architecture de la couche physique de HDLC
Le sous-niveau physique et la partie basse de la couche liaison peuvent ainsi tre
dcomposs en quatre fonctions ou entits protocolaires, comme le montre la
figure 5.7. On remarquera que la fonction bit stuffing est effectue en mission aprs
le calcul du CRC, rciproquement en rception avant le calcul du CRC. Elle
sapplique donc au rsultat du calcul du CRC. On remarquera quil sagit dun
empilement hirarchique dentits protocolaires (en loccurrence, toutes au sein du
niveau physique du modle OSI). Comme il ny a pas de besoin de multiplexage, il est
inutile de crer plusieurs SAP spcifiques en entre (resp. en sortie) de chaque entit
protocolaire. Lassemblage est fig, il ne tolre aucun multiplexage. Par exemple une
seule entit fanion et bit-stuffing peut utiliser le service fourni par lentit
modulation/dmodulation.
En mission on peut dcomposer le niveau physique en quatre entits.
entit srialisateur qui permet de passer des octets ou mots en mmoire un
train de bits continu au dbit de la voie, et rciproquement le rcepteur remet en octets
la suite de bits reus,
Octets ou mots en mmoire
Srialisateur/Dsrialisateur
CRC
fanion et bit-stuffing
Modulateur/Dmodulateur
Support physique
Figure 5.7. Dcomposition en sous-couches des fonctions ralises par la couche physique
Adresse
8 bits
Commande
8 bits
Information
entit de calcul du CRC, lmetteur ajoute le CRC dans le MA PDU alors que
le rcepteur effectue la vrification,
entit dajout (resp. retrait) de bits 0, bit stuffing. Ce mme module met les
fanions en labsence de demande de donnes transmettre. Ce module marque (resp.
signale) le dbut et la fin des MA PDU.
enfin, entit dmission physique, ou modem proprement dit, qui transforme
les squences de bits en un signal adapt au support de transmission. Le rseau remplit
normalement le temps entre les trames en mettant des fanions contigus. Lorsque le
rseau met des fanions contigus, la liaison physique de transmission du rseau vers
lETTD est dite dans ltat actif.
Cette sparation en quatre entits est purement logique et nest pas ncessairement
implante dans les ralisations, car des simplifications peuvent souvent tre ralises
en associant les diffrentes fonctions ncessaires llaboration des tches de ces
entits.
5.2.4. Gestion logique des trames
La couche physique permet dassurer un transport de blocs avec une faible
probabilit derreur sur linformation, mais avec possibilit de pertes. Une trame reue
avec un CRC faux est en effet limine.
Le format des paquets de la couche liaison est donn sur la figure 5.8. La couche
liaison permet de corriger ces pertes de blocs dinformations laide de plusieurs
protocoles. Nous allons dcrire ici la procdure appele LAP B (Link Asynchronous
Protocol version B). Ce protocole permet de transporter sans erreur et de conserver
lordre des paquets manipuls par la couche suprieure. La couche liaison avec le
protocole LAP B ne gre que des liaisons point point. Il existe un format long (utilis
dans les rseaux locaux, les rseaux satellites) et un format court. Nous dcrivons ici
uniquement le format court.
Dans Transpac, pour connecter un ETTD au rseau, deux valeurs dadresse sont
utilises. Elles permettent de distinguer les deux catgories de trame appeles
commande et rponse. Lutilisation de ces adresses et les valeurs sont donnes sur la
figure 5.9.
5.2.4.1. Champ de commande
Le champ de commande sert dsigner le type de la trame. Suivant la fonction de
la trame (ouverture de connexion, acquittement, transport de donnes, etc,), ce champ
prend des valeurs diffrentes. Les trames sont classes suivant trois types.
210
Les rseaux
Catgorie
COMMANDE
REPONSE
Emetteur
rseau
abonn
00000011
00000001
00000001
00000011
CODAGE
Type de
trame
Catgorie
Trame I
commande
Nr
P/F
Rponse/
commande
Nr
P/F
REJ: Rejet
Rponse/
commande
Nr
P/F
Rponse/
commande
Nr
P/F
1
0
Ns
Trame S
Trame U
0
Commande
UA: Accus de
rception
Rponse
FRMR: rejet de
trame
Rponse
SABM: Ouverture ou
rinitialisation
Commande
DM: Indication de
mode dconnect
Rponse
DISC: dconnexion
212
Les rseaux
Initiateur
Matre
Appel
Esclave
L_CONNECT
.request
SABM, P
L_CONNECT
.indication
Vr=0 Vs=0
UA, F
Vr=0 Vs=0
L_CONNECT
.rponse
I
L_CONNECT
.confirmation
Data.indication
Data.request
Data.request
Il ne faut pas confondre ce bit P/F avec le bit C/R prsent dans le champ adresse,
aussi appel SSAP. Le bit C/R sert coder la nature de la trame commande ou rponse,
tandis que le bit P/F sert demander une rponse immdiate dans le cas dune trame
de commande et donner une rponse immdiate dans le cas dune trame rponse.
Autrement dit, dans le cas dune trame de commande (bit C/R 0), le bit du champ
contrle sappelle P, et dans le cas dune trame de rponse (bit C/R 1), le bit du
champ contrle sappelle F.
5.2.5. Fonctionnement du protocole
LAP B est un protocole qui offre un service sur connexion. Il y a donc trois phases
dans la vie du protocole (cf. paragraphe 2.1.5) :
tablissement de la voie (ouverture de la connexion),
transfert de donnes sur la voie,
libration de la voie (fermeture de la connexion).
5.2.5.1. Etablissement de la voie
Si la voie est dans ltat dconnect, lETTD initiateur, abonn ou rseau, peut
demander ltablissement de la liaison en transmettant la commande SABM (Set
Asynchronous Balanced Mode), comme le montre la figure 5.11. LETTD appel
rpond normalement par UA (Unumbered Acknowledge) et passe en phase de transfert
TO
Appel
Esclave
Vr=0 Vs=0
Rptition
SABM, P
UA, F
214
Les rseaux
Repos
Repos
SABM,P
L_CONNECT.request
met SABM, P
arme TO
Attendre
ACk
TO
met SABM,P
arme TO
L_CONNECT.indication
Attente
rponse
SABM,P
UA,F
L_CONNECT.rponse
met L_CONNECT.confirmation
dsarme TO
UA,F
Connexion
ouverte
Connexion
ouverte
Initiateur
Rpondeur
SABM,P
UA, F
Vitesse de la ligne
Valeur minimale
du temporisateur.
48 000 b/s
19 200 b/s
9 600 b/s
4 800 b/s
2 400 b/s
100 ms
200 ms
400 ms
800 ms
1 600 ms
requte est linformation SDU (Service Data Unit) que lutilisateur souhaite
transmettre. Il met le numro du L PDU dans le champ Ns grce la valeur courante
Vs, et dans le champ Nr la valeur courante du numro de la prochaine L PDU attendue
grce la valeur de Vr. Le bit de polling est zro. Le compteur Vs est incrment
aprs lenvoi de la L PDU.
La figure 5.17. montre diffrents cycles dchanges aprs louverture de la
connexion. Aprs lenvoi de la L PDU, le compteur Vs est incrment et un rveil, TO,
est arm. Le rcepteur de cette trame va laccepter car elle est en squence (le numro
Ns est gal au Vr quil possde). Il incrmente Vs, le numro de la prochaine L PDU
attendue. Il peut mettre au destinataire lindication de rception L.DATA.indication
(L SDU). Comme ce ntait pas une L PDU I de scrutation (P = 0), lentit liaison
rceptrice peut attendre pour rpondre davoir une trame de donnes. Il ne faut pas
nanmoins quelle attende plus quune dure TO pour viter que lmetteur ne
retransmette sa L PDU (cf. figure 5.14.). Nous verrons plus loin que sil na aucune
donne mettre, il peut rpondre par une L PDU de supervision RR.
Restons sur lexemple de la figure 5.17. B ne rpond pas immdiatement. B
incrmente son compteur Vr pour noter quil attend maintenant une L PDU de numro
de squence 1. A, de nouveau, a une L PDU transmettre : il met donc une L PDU 1
de numro de squence Ns = 1. Comme il souhaite savoir o en est sa prcdente
LPDU, il met une L PDU de commande avec le bit P 1. A la rception de cette
commande, B va tre oblig de rpondre. A ne rarme pas ncessairement un rveil
TO car celui de la L PDU prcdente court toujours. Comme prcdemment, B
accepte cette L PDU car, Vr = Ns, il incrmente Vr. Sur la figure 5.17, on suppose qu
cet instant, B a des donnes mettre, il rpond par une L PDU de rponse avec le bit
P/F = 1. Il met Ns = Vs = 0 et Nr = Vr = 2. Aprs cette transmission, B incrmente Vs ;
en recevant cette L PDU, A sait que ses L PDU 0 et 1 ont t correctement reues. Il
va dsarmer aussi le rveil TO, arm pour la premire mission. Ol libre les copies
des L PDU 0 et 1 conserves dans ses buffers.
Dans le rseau Transpac, un certain nombre de valeurs pour le temporisateur (TO)
sont dfinis en fonction du dbit de transmission des donnes. Au dbit correspond
bien sr une dure dmission. La figure 5.14. donne les valeurs de ce temporisateur.
216
Les rseaux
I,0,0
I,0,0
armer
RR,1
I,0,1
I,1,0
armer
I,0,0,P expiration
armer
RR,1
REJ,1,F
RR,2
dsarmer
I,1,2
I,0,1
dsarmer
Transfert dinformation
I,0,0
I,0,0
I,0,1
I,0,0
I,0,1
REJ,0
I,1,0,P
RR,1,F
I,0,0,P
I,1,1
RR,1,F
A
Vr
Temps
Vs
Vr
Vs
0
Trame 0 bien reue
Donne vers A
6
Toujours sur la figure 5.17, tudions maintenant un cas derreur dtecte. A envoie
trois L PDU de numro de squence 2, 3 et 4. On suppose que la seconde trame (Ns=3)
arrive errone chez B et que la dernire trame (Ns=4) est une commande de polling.
Le rveil TO est arm sur la L PDU 2 uniquement. Vs crot jusqu 5.
Comme prcdemment, B reoit la L PDU 2 (Ns=2) et accepte celle-ci car Ns =
Vr. B ne reoit pas la L PDU 3 (Ns=3), mais reoit la L PDU 4 (Ns=4) et constate que
218
Les rseaux
Ns > Vr. La L PDU 4 est dite hors squence. Il ignore donc la partie SDU de cette
L PDU, cest--dire quil ne dlivre pas le L SDU 4, les donnes, lutilisateur. Par
contre, il reconnat dans la trame la source et la prsence du bit P. B va donc renvoyer
une L PDU de supervision de code REJ avec Nr = Vr. Le compteur Vs nest pas
incrment dans ce cas. La rception par A de cette trame de supervision lui permet
savoir quune L PDU hors squence est arrive lentit homologue et de reconnatre
que B attend toujours la L PDU 3. A remet son compteur Vs 3, libre le tampon de
la L PDU 2 qui est acquitte, dsarme le rveil TO et reprend la transmission des
L PDU 3 et 4.
Une L PDU information, mme avec le bit P/F 1, naurait pas eu un effet
similaire. En effet les L PDU peuvent se croiser et le fait que Nr ne soit pas gal Vs
ni signifie nullement quune perte eu lieu. Afin de mettre en lumire les phnomnes
dasynchronisme qui se produisent, la partie infrieure de la figure 5.17. montre un
exemple dchanges o les L PDU arrivent pendant une rception. On saperoit alors
que les compteurs Vs et Vr voluent de manire diffrente dans le temps en A et en B.
Il sagit, comme le lecteur peut le constater, dun protocole qui revient en arrire
pour retransmettre les N L PDU mises depuis la L PDU (incluse) : on dit quil est de
type Go Back N . Normalement, B ne doit envoyer quune seule L PDU REJ. Aprs
celle-ci, il ignore les L PDU hors squence, afin dviter les reprises de transmissions
multiples chez A. Nanmoins, un rveil de surveillance du rejet est arm pour
contrler que celui-ci ne sest pas perdu. Dans une telle hypothse, la L PDU REJ
pourrait tre retransmise N fois de manire similaire la procdure douverture de
connexion avant de dcider que la connexion est ferme. Nous ne traiterons pas tous
les cas de fautes et dasynchronismes possibles. La figure 5.19. dcrit le
fonctionnement de cet automate simplifi et son comportement dans les diffrentes
situations. Nous laissons au lecteur le soin de le dcouvrir, ou de se reporter la
description dtaille fournie soit par les STUR LAP B, soit par la norme IEEE802.2.
Le fonctionnement correct de ce protocole est bas sur une hypothse de flux
quilibr, cest--dire que les deux partenaires envoient des donnes (scnario de type
question-rponse typique des applications transactionnelles). Dans ce cas, si la
rponse vient rapidement, la donne permet dconomiser lacquittement. En
pratique, du fait des valeurs des timers (cf. figure 5.14.), il faut une raction trs
rapide. Si un ordinateur peut le faire, cest rarement le cas dun humain. La plupart du
temps, il faut envoyer une trame dacquittement RR pour viter que le rveil ne sonne
chez lmetteur. On rflchira ce problme dans lexemple propos par
lexercice 5.4.
5.2.6.2. Contrle de flux
Etudions maintenant la gestion du contrle de flux. La figure 5.17. montre un tel
cas et fait suite directement la figure 5.17. Aprs rception de la L PDU 6, B a utilis
tous ses tampons. Une cause possible est, par exemple, que lutilisateur de cette
connexion ne retire pas ses donnes. B ne peut recevoir les L PDU 7 et 0 du fait quil
na plus de tampons. Celles-ci sont donc perdues. B envoie une L PDU de supervision
RNR aprs la L PDU de numro de squence 0 venant de A (numrotation modulo 8
A
Vr
Temps
Vs
Vr
Vs
Time Out
3
A interroge B
B est de nouveau prt
recevoir
dans lexemple), car celle-ci a le bit P 1 et la rponse est donc imprative. B aurait
tout aussi bien pu envoyer son RNR sur la L PDU prcdente. Sur rception du RNR,
A comprend que B est bloqu. Cette L PDU a Nr = 7 : A remet donc son compteur Vs
7 mais ne reprend pas la transmission de nouvelles L PDU information.
Le dblocage de cette situation ne peut provenir que de B. Nanmoins A est
autoris envoyer des L PDU supervision RR avec le bit P 1 pour forcer B
rpondre, acquitter les L PDU quil a reues prcdemment et vrifier quil est
toujours en tat de fonctionnement. En effet, A ne peut rester ternellement
silencieux ; si B na aucune donne envoyer, il doit forcer B lui confirmer quil est
220
Les rseaux
Nr Vs
Libre les tampons
Envoi RR, Nr
si bit P=1
RR,Nr
I,Nr,Ns
Ns=Vr
Connexion
DLDT.ind
Dsarme le Timer
Ns>Vr
REJ,Nr
Envoi REJ,Nr
Ns<Vr
Cas dun double
REJ,Nr
DATA.request
Vs = Nr
Emission I,Nr,Ns pour
toutes les trames en attente. Arme un Timer
Vs = Nr
Emission I,Nr,Ns
Arme un Timer
DLDT.ind indique la dlivrance dun SDU lutilisateur, ou pour le moins le dpt du SDU dans le
SAP de lutilisateur.
Figure 5.19. Partie de lautomate de LAP-B active pendant la phase de transfert de donne
dune connexion tablie. Le contrle de flux nest pas trait
222
Les rseaux
Anticipation
de F
Vs Numro prochaine
L PDU mettre
Anticipation
de F
VsNumro prochaine
L PDU mettre
matriser ces mcanismes que lon retrouvera sous diverses formes dans dautres
protocoles [53], [54], [26], .
224
Les rseaux