Travaux Dirig es de R eseaux - DUT 1ere ann ee
Copyright c
(cid:13)
Emmanuel Nataf & Jean Fran cois Mari
Les 7 couches du mod le OSI
tuyau logique,
sockets
Suite doctets, adr.
r seau
Suite de bits, adr. Phys.
Signaux, prises, cables,
bits
Simplification selon Unix
Les couches r seaux selon Unix
"
"
"
"
"
5
4
3
2
1
ex. TCP, UDP
ex. HTTP, FTP, DNS
Application couche 7
Transport
R seau Pour TCP/IP il s'agit de IP
Liaison ex. Ethernet, Token Ring, etc.
Physique ex. la boucle locale, lignes t l phoniques, radio
Couche physique
L'unit d'information typique de cette couche est le bit, repr sent par une certaine
"
"
"
diff rence de potentiel.
s'occupe de la transmission des bits de fa on brute sur un canal de
communication.
garantit la parfaite transmission des donn es (un bit 1 envoy doit bien tre
re u comme bit valant 1).
d crit les caract ristiques physiques de la communication :
/ Nature du m dia : les c bles, les liens par fibre optique ou par radio
/ Connecteurs,
/ Les types de codage ou de modulation,
/ Le niveau des signaux,
/ Les longueurs d'ondes,
/ La synchronisation
les distances maximales
"/ D crit les proc dures d' tablissement, de maintien et de lib ration du circuit de
donn es.
Topologie en bus
Connecteur 10Base2
Connecteur en T
Bouchon de terminaison
Connexion 10 Base5 (vampire et
vis)
me : 1 fil
Tresse : lautre fil
Connexion 10Base5
MDI (Medium Dependent Interface)
MAU (Medium Access Unit)
ou transceiver
Connecteur AUI (15 broches)
Attachement Unit Interface
Carte Ethernet
C ble AUI (50m maxi)
C ble de descente ou drop cable
Topologie en toile
Concentrateurs (hubs)
"/ Au centre de la topologie en toile
"/ R p te le signal toutes les machines
connect es
"/ Peut tre mis en cascade
"/ C ble CAT5 de longueur maximale de 100m
et minimale de 2,5m (entre 2 machines)
Connecteur RJ45
Connexion au hub
1
2
3
6
1
2
3
6
1
2
3
6
1
2
3
6
Cascade de hubs
1
2
3
6
1
2
3
6
1
2
3
6
1
2
3
6
1
2
3
6
1
2
3
6
C ble crois
1
2
3
6
1
2
3
6
Cascade de hubs
1
2
3
6
3
6
1
2
Port de cascade
1
2
3
6
1
2
3
6
1
2
3
6
1
2
3
6
C ble droit
1
2
3
6
1
2
3
6
Couche de liaison de donn es
"
"
"
"
"
"
transforme la couche physique en une liaison a priori exempte d'erreurs de
transmission pour la couche r seau.
fractionne les donn es d'entr e de l' metteur en trames, transmet ces trames en
s quence et g re les trames d'acquittement renvoy es par le r cepteur.
reconna t les fronti res des trames. Cela peut poser quelques probl mes,
puisque les s quences de bits utilis es pour cette reconnaissance peuvent
appara tre dans les donn es.
d tecte et la corrige les erreurs intervenues sur la couche physique.
int gre galement une fonction de contr le de flux pour viter l'engorgement
du r cepteur.
pour la couche physique, les donn es n'ont aucune signification particuli re.
L'unit d'information de la couche liaison de donn es est la trame qui est
compos es de quelques centaines quelques milliers de bits maximum.
La couche r seau
C'est la couche qui permet de g rer le sous-r seau, i.e. le routage des paquets sur
ce sous-r seau et l'interconnexion des diff rents sous-r seaux entre eux. Au
moment de sa conception, il faut bien d terminer le m canisme de routage et
de calcul des tables de routage (tables statiques ou dynamiques...).
La couche r seau contr le galement l'engorgement du sous-r seau. On peut
galement y int grer des fonctions de comptabilit pour la facturation au
volume, mais cela peut tre d licat.
L'unit d'information de la couche r seau est le paquet.
Couche transport
responsable du bon acheminement des messages complets au destinataire.
prendre les messages de la couche session, de les d couper s'il le faut en unit s
plus petites et de les passer la couche r seau, tout en s'assurant que les
morceaux arrivent correctement de l'autre c t .
effectue donc aussi le r assemblage du message la r ception des morceaux.
responsable de l'optimisation des ressources du r seau : la couche transport cr e
une connexion r seau par connexion de transport requise par la couche session,
cette couche est capable de cr er plusieurs connexions r seau par
processus de la couche session pour r partir les donn es, par exemple pour
am liorer le d bit.
A l'inverse, cette couche est capable d'utiliser une seule connexion
r seau pour transporter plusieurs messages la fois gr ce au multiplexage.
Dans tous les cas, tout ceci doit tre transparent pour la couche session.
L'unit d'information de la couche r seau est le message.
La couche application
"/ point de contact entre l'utilisateur et le
r seau. C'est donc elle qui va apporter
l'utilisateur les services de base offerts par
le r seau, comme par exemple :
/ Web
/ Nfs
/ &
Chapitre 1
Physique des transmissions
1.1 Echantillonnage
1. On consid`ere le signal temporel p eriodique de fr equence 3 et de phase nulle donn e par
l equation :
x(t) = sin(2 3t)
On le num erise avec un convertisseur analogique / num erique fonctionnant avec une
fr equence d echantillonnage fe. Donner, en fonction de fe, l equation de la suite des
valeurs obtenues.
(a) on prend fe = 8, donnez les 8 premiers termes de la suite.
(b) m eme question avec fe = 6
(c) On code les valeurs avec V niveaux di erents. Calculer le d ebit en bit/s du
convertisseur. Retrouver le th eor`eme de Nyquist dans le cas g en eral.
2. Une ligne t el ephonique a une bande passante qui va de 300 Hz `a 3400 Hz et le rapport
S/N varie de 100 `a 1000.
(a) calculer les capacit es minimale et maximale de la ligne
(b) En prenant le rapport `a 1000, quel est le nombre de bits cod es par une modula-
tion ? Calculer le d ebit pratique en bit/s.
3. La voix est comprise dans une bande passante de 4000 Hz, `a quelle fr equence minimale
doit on echantillonner ? sachant quun echantillon est cod e sur 8 bits, donner le d ebit
minimal n ecessaire.
4. Une sortie analogique de musique est echantillonn ee `a 44 kHz et le codage est de 16
bits par echantillon. Quel est le volume correspondant `a 1 minute de son en st er eo ?
quel est le rapport maximal signal / bruit du syst`eme ?
1
2
Chapitre 1. Physique des transmissions
5. Quelle est la capacit e maximale en bps dune ligne ayant une bande passante de 105Hz
et un rapport signal/bruit de 10 dB ? M eme question avec 20 dB ?
1.2 Att enuation et gain
1. D emontrer que calculer latt enuation entre deux extr emit es dun canal compos e de
plusieurs sections revient `a additionner les gains (ou soustraire les att enuations) en
dB de chaque section.
2. Un canal de transmission est constitu e de trois sections, la premi`ere introduit une
att enuation de 16 dB, la seconde une amplication de 20 dB et la derni`ere une att e-
nuation de 10 dB. Avec un signal a 400 mW, donner la puissance a chaque extr emit e
de section.
1.3 Bruits
1. Donner la valeur du rapport S
N `a partir des valeurs suivantes :
(a) 3 dB
(b) 10 dB
(c) 12 dB
(d) 100 dB
1.4 D elais
Rappels
vitesse de propagation dun signal electrique dans lespace = 3
108m/s
vitesse de propagation dans un c able electrique = 2
108m/s
1. On emet une trame de 1000 bits. D eterminer les rapports des d elais de propagation
sur les d elais de transmission dans les cas suivants :
(a) 100 m de paires torsad ees `a 1 Mbps.
(b) 2,5 km de c able coaxial `a 10 Mbps.
(c) 50000 km despace `a 512 kbps.
Pour quelles valeurs du rapport passe-t-on plus de temps dans la propagation que
dans la transmission ? (la vitesse de propagation du signal est de 2.108ms1 pour les
c ables et de 3.108ms1 dans lespace)
1.4. D elais
3
2. Pour chaque cas pr ec edent, calculer combien de bits peuvent etre pr esents en m eme
temps sur le support.
3. Le Round Trip Time (RTT) est le temps dun aller-retour entre deux machines. Quel
est le RTT pour un canal de communication passant par un satellite g eostationnaire
(36000 km et vitesse de la lumi`ere).
4. Un r eseau est compos e de deux machines reli ees entre elles par linterm ediaire dun
equipement (et des c ables entre les machines et l equipement). Lorsquune machine
emet des donn ees vers lautre, elle envoie des paquets dune taille xe (les donn ees sont
d ecoup ees en plusieurs paquets et une partie du dernier paquet est remplie de 0).
Un paquet doit etre enti`erement re cu par l equipement interm ediaire avant d etre emis
`a nouveau vers lautre machine. L equipement peut emettre et recevoir simultan ement
deux paquets di erents. On veut transmettre un chier de 10 Mo (10 millions doctets),
`a une vitesse de transmission de 100 Mb/s (1 M ega signie 106). Combien de temps
dure le transfert si les paquets sont de 10 000 000, 100 000, 1000 et 100 octets (on
n eglige les temps de propagation) ?
5. Un chier de 3,5 Mo est transmis `a 45 kbps vers un destinataire via un satellite
g eosta-tionnaire (voir gure 1.1). Ce dernier a une m emoire de r eception (buer) de
3000 octets, lorsquil a re cu un buer complet, ou quil d etecte la n de chier, il
se vide dans un second buer (d emission) si celui-ci est vide. Ce dernier retransmet
les donn ees vers le destinataire (toujours `a 45 kbps) en m eme temps que le buer de
r eception re coit les donn ees suivantes de l emetteur. Le temps de transfert entre les
deux buers est n egligeable.
buffer
r ception
buffer
Publicité
mission
Emetteur
R cepteur
Figure 1.1 Transmission par satellite
(a) Au bout de combien de temps le destinataire recevra-t-il le d ebut du chier
(b) Combien de fois les buers de r eception et d emission seront chacun remplis ?
(c) Quelle sera le volume (en bits) du dernier buer ?
(d) Au bout de combien de temps le destinataire recevra-t-il la n du chier ?
4
Chapitre 1. Physique des transmissions
(e) Que deviendrait ce temps si les buers sont de 3,5 Mo ?
6. Une chaine de t el evision retransmet un match de tennis depuis les USA jusquen
France. A cause dune panne sur un satellite, limage et le son empruntent des chemins
di erents : limage est transmise via un satellite en orbite g eostationnaire (hauteur 36
000 Km) alors que le son emprunte un c able sous-marin (distance 7000 Km). Quel est
le d ecalage temporel entre une action telle que le spectateur fran cais devant son ecran
de tv la voit (par exemple la frappe de la balle par la raquette) et le son occasionn e
tel que le m eme spectateur lentend.
Chapitre 2
Les types de transmissions
2.1 La transmission par modulation dune onde porteuse
2.1.1 Modulation dune onde porteuse
La modulation dune onde porteuse consiste `a modier : son amplitude, sa fr equence
et sa phase. Le triplet (amplitude, fr equence, phase) identie un etat de la modulation. Le
nombre de changement d etats par seconde sappelle la vitesse de modulation et se mesure
en bauds.
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
sin(2pix)
0.5
1
1.5
2
2
2
1.5
1.5
1
1
0.5
0.5
0
0
-0.5
-0.5
-1
-1
-1.5
-1.5
-2
-2
0
0
2sin(2pi*x)
sin(2pix)
2sin(2pi*x)
0.5
0.5
1
1
1.5
1.5
2
2
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
sin(2pix)
sin(22pi*x)
0.5
1
1.5
2
onde porteuse
modulation damplitude
modulation de fr equence
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
sin(2pix)
sin(2pix + pi / 2)
0.5
1
1.5
2
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
sin(2pix)
sin(2pix - pi / 2)
0.5
1
1.5
2
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
sin(2pix)
sin(2pix - pi)
0.5
1
1.5
2
modulation de phase +90
modulation de phase -90
modulation de phase de 180
Le couple (amplitude, phase) se repr esente par un point en coordonn ees polaires dans
un diagramme appel e : diagramme de Fresnel (cf. Fig. 2.1).
5
6
Exemple
Chapitre 2. Les types de transmissions
On consid`ere une modulation de phase poss edant 4 phases distinctes : 0, 90, 180, 270. Le
diagramme de Fresnel qui lui correspond est donn e Fig. 2.1. Dapr`es le diagramme spatial,
la courbe repr esentant la s erie binaire : 10011111 est donn ee Fig. 2.2.
phase
0
90
180
270
info.
00
01
11
10
Figure 2.1 Modulation `a laide de 4 phases distinctes
Une phase code 2 bits. On divise la s equence de 8 bits `a envoyer en 4 s equences de 2
bits : 10 01 11 11. Au temps 0, le d ephasage se fait `a partir de la porteuse (en pointill es).
Aux autres temps, il est trouv e en applicant la phase correspondant `a la s equence suivante
de 2 bits. Les s equences : 10 01 11 11 sont associ ees aux phases : sin(x
/2), sin(x +
/2), sin(x + ), sin(x + ).
1
0.5
0
-0.5
-1
0
signal modul e
sin(x)
5
10
15
20
25
Figure 2.2 S equence de bits 10011111 modulant sin(x) dapr`es le diagramme de Fres-
nel donn e Fig.2.1. Une modulation code 2 bits. La s equence de 8 bits est envoy ee en 4
modulations
2.1. La transmission par modulation dune onde porteuse
7
2.1.2 Exercices
Les Modems V27
Publicité
La norme V27 d enit un modem fournissant un d ebit binaire de 4800 bps. Ce modem
utilise une modulation de phase `a 8 positions distinctes.
1. Quelle est la rapidit e de modulation de ce modem ?
2. Donner le diagramme spatial sachant que les phases sont r eparties r eguli`erement.
3. Pour chacune des modulations du diagramme, donner une valeur de sorte quil ny ait
quun bit de di erent entre deux modulations voisines.
Transmission de FAX
Lavis V29 d enit la constellation suivante pour un modem destin e `a une transmission
de 9600 bps :
6
5
4
3
2
1
32
2
-6 -5 -4 -3 -2 -1
0
1
2
32
-1
-2
-3
-4
-5
-6
32
2
2
2
3
4
5
6
32
1. Quel est le nombre de bits pour chaque modulation et rapidit e de modulation ?
2. commbien y a t-il de phases di erentes ? combien damplitudes di erentes ?
3. pour quelle(s) raison(s) nutilise t-on pas lensemble des 32 congurations ?
4. le premier bit sert `a coder lamplitude. Les 3 suivants, la phase. Proposer un code
pour chacun de ces groupes de sorte quil ny ait quun bit de di erent entre deux
modulations voisines.
8
Chapitre 2. Les types de transmissions
2.2 La transmission en bande de base
2.2.1 Codage NRZ
2.2.2 Codage de Manchester
Le codage Manchester utilis e dans une transmission consiste `a ajouter une transition au
1/2 temps bit ; si la valeur du bit est 0 alors la transition est du bas vers le haut et linverse
pour une valeur `a 1. Utilis e pour coder les trames ethernet. La s equence 010101 permet de
construire un signal de fr equence moiti e de la fr equence darriv ee des bits. Elle est utilis ee
pour synchroniser lhorloge du r ecepteur.
Figure 2.3 Codage de Manchester (source wikipedia)
2.2.3 Codage de Manchester di erentiel
Le codage Manchester di erentiel utilise toujours la transition au 1/2 temps bit mais on
rajoute une transition au d ebut du temps bit si le bit est `a 0, la signication de la transition
au 1/2 temps bit peut etre linverse que pour le codage Manchester.
1. Dessiner le signal pour la m eme valeur que lexercice p ec edent.
2. D ecoder les signaux ci-dessous.
Chapitre 3
Liaison de donn ees
3.1 R eseau Ethernet (protocole CSMA/CD)
1. Soit un r eseau local Ethernet en bus de longueur D km. La vitesse de propagation
du signal sur le support est de V km/s. La capacit e de transfert du support est de C
bit/s.
(a) Donnez la formule pour L, longueur minimale dune trame, pour que le protocole
CSMA/CD fonctionne.
(b) Donnez la valeur de L pour C = 10 Mbps, D = 2,5 km et V =100 000 km.s1.
Modier le r esultat obtenu de sorte `a ce quil soit exprim e en mots de 16 bits.
2. Pour les r eseaux `a 100 Mbps fonctionnant sous le m eme principe que CSMA/CD,
quelle est la distance maximale entre deux stations ? En d eduire la distance maximale
entre une machine et le hub.
3.2 Conguration des commutateurs et ponts
1. Dans le r eseau sch ematis e ci-dessous, on consid`ere que les tables de routage des
switches, faisant la correspondance entre les adresses mat erielles (A `a F) et les ports
(1 & 2) pour chaque switches sont vides. Donner la composition de ces tables `a chacun
des ev enements suivants, donn es dans lordre chronologique et indiquer quand ont lieu
les commutations :
9
10
Chapitre 3. Liaison de donn ees
(a) A
(b) B
(c) C
(d) F
(e) E
(f) D
B,
A
F,
A,
B,
A.
(g) Que se passe-t-il
pour
quel
ensuite
nimporte
echange ?
A
3.3 D ebits
B
E
1
S1
2
D
C
1
S2
2
F
1. Le r eseau local ci-dessous est constitu e de deux hubs `a 10 Mbits/s reliant 24 postes
de travail et 3 serveurs.
Serveur A
Serveur B
Serveur C
Hub 1
Hub 2
poste de travail 1
poste de travail 12
poste de travail 1
poste de travail 12
(a) Lorsquun utilisateur se sert dun poste de travail, il emet en moyenne 3 kbps vers
le serveur C et 1 kbps vers chaque serveur A et B. Ces deux derniers emettent
en moyenne 2 kbps chacun vers un utilisateur et le serveur C emet 5 kbps.
i. Quel d ebit binaire est n ecessaire pour un utilisateur ?
ii. Calculer les d ebits que devrait supporter chaque serveur lors dune utilisation
de tous les postes de travail.
iii. Quel est le d ebit entre les deux hubs ?
iv. Soit n le nombre dutilisateurs connect es, donner la formule permettant de
calculer le d ebit utilis e en fonction de n.
v. Calculer le nombre maximum de postes de travail qui puissent etre install es
sur ce r eseau.
(b) Un utilisateur peut avoir des pics de trac o`u les serveurs A et B lui envoient 0,5
Mbps et le serveur C 1 Mbps. Refaire les calculs pr ec edents.
3.4. Topologie
11
(c) Dans le cas dun pic de trac pour les 24 utilisateurs, calculer le temps moyen
dattente pour un utilisateur. On supposera que tous les utilisateurs sont trait es
de mani`ere equivalente en prenant la seconde comme unit e de temps.
(d) On remplace les hubs par des switches (switch1 et switch2), calculer le d ebit
entre ces deux switches suivant le nombre dutilisateurs connect es et leur r epartition
sur le r eseau.
3.4 Topologie
(a) Faire les sch emas logiques et physiques des topologies de r eseaux locaux suivantes
et etablir des devis pour le mat eriel r eseau.
i. Un bureau contenant deux postes xes et pouvant recevoir deux PC por-
tables. Le r eseau devra etre en Ethernet 100BaseT, le bureau fait 5m sur
3m.
ii. Un couloir contenant 20 bureaux du type pr ec edent (10 de chaque cot e, 2m
de couloir, utilisation de faux plafond), toujours en Ethernet 100BaseT ;
iii. trois etages compos es chacun dun couloir du type pr ec edent (hauteur de
3m), avec le r eseau en 100BaseT.
iv. Dans chaque etage, trois bureaux sont r eserv es aux services administratifs,
sept pour les d eveloppements et dix pour la production. Proposer lutilisation
dun switch et de hubs permettant de regrouper les di erents services dans
trois r eseaux logiquement s epar es, nemp echant pas les di erents services de
communiquer. Cela remet en cause les c ablages pr ec edents, ne pas refaire les
calculs de longueurs de c ables.
Chapitre 4
Protocole Kermit
4.1 Format de la trame Kermit
Les trames du protocole Kermit ont la structure g en erale suivante :
D but
Long.
Num.
Type
Donn es
Ctrl
Fin
Chaque champ, sauf pour les donn ees, a une longueur de 1 octet. Les valeurs pour le d ebut
et la n sont 01 et 0D. La longeur (champ Long.) donne le nombre doctets `a partir du
champ Num jusquau champ de contr ole (Ctrl.) inclus, la longueur dune trame ne peut
d epasser 94 octets. Le champ Num indique le num ero de la trame, qui evolue cycliquement
de 0 `a 63. Le type (champ Type) est une lettre signiant quel est le type de la trame (S
pour linitialisation, D pour les donn ees `a transmettre, Y pour conrmer la r eception
de donn ees, etc). Le champ de contr ole (Ctrl) est obtenu avec la formule :
((S + ((S AND C0)/40)) AND 3F ) + 20
o`u S est la somme des valeurs des octets compris entre le champ Long. inclus et Ctrl exclu.
4.2 Codage des donn ees
Une caract eristique importante est que tous les octets doivent etre achables et sont
sur 7 bits (code ASCII NVT Network Virtual Terminal), cest `a dire que leur valeur binaire
doit etre entre 32 et 126 (en d ecimal). Deux problemes sont a consid erer :
Les champs Long, Num et Ctrl peuvent avoir des valeurs hors de ces limites,
Les donn ees peuvent contenir toutes sortes de valeur sur 8 bits.
12
4.2. Codage des donn ees
13
Pour rem edier `a cela, on doit ajouter 32 aux entiers compris entre 0 et 94 dans les champs
Long, Num et Ctrl, ce qui les transposent dans lintervalle autoris e [32,126]. Lorsquun octet
de donn ee nest pas entre 32 et 126, on traite de la mani`ere suivante :
0 a 31 et 127 : on applique un ou exclusif bit a bit (XOR) avec 64 = 26 et on fait
pr ec eder du caract`ere #. Cest la m eme fonction tochar() qui sert pour le codage
et pour le d ecodage (unchar()) :
tochar(01) = A ;
01
A
unchar(A) = 01 ;
0D
M
tochar(0D) = M ;
unchar(M) = 0D ;
127 a 255 : on enleve 128 et on fait pr ec eder du caract`ere &
Kermit ore la possiblit e de coder la r ep etition de caracteres en utilisant le caractere ,
suivit du nombre de fois (cod e avec la regle pr ec edente) quest r ep et e le caractere, puis le
caractere a r ep eter.
Voici un exemple de trace hexad ecimale dune partie dun echange utilisant Kermit entre
deux machines E et R ; E envoyant un chier `a R.
E : 0 2 2 4 6 6 6 6 2 6 7 7 2 7 6 3 0
1 E 2 4 3 5 3 9 0 5 3 4 0 5 E 9 D
R :
E : 0 2 2 4 2 4 5 4 5 4 4 4 4 2 4 2 2 0
1 F 3 4 0 5 8 5 2 3 9 3 5 3 D 3 A D
R :
E : 0 2 2 4 4 7 2 4 2 4 2 4 2 5 4 0
1 D 4 4 A E F 1 3 D 3 A 3 A 7 D
R :
0 2 2 5 4 0
1 3 2 9 0 D
0 2 2 5 4 0
1 3 3 9 1 D
0 2 2 5 4 0
1 3 4 9 2 D
Exercice : D ecoder les champs de num eros et de type, reconstituer les echanges (utiliser
la table ASCII donn ee).
Exercice : V erier le champ de contr ole des trames emises par E.
Exercice : D ecoder les donn ees emises par la machine E.
14
Chapitre 4. Protocole Kermit
CAR BINAIRE DEC HEX
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
SP
!
#
$
%
&
(
)
00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
00001001
00001010
00001011
00001100
00001101
00001110
00001111
00010000
00010001
00010010
00010011
Publicité
00010100
00010101
00010110
00010111
00011000
00011001
00011010
00011011
00011100
00011101
00011110
00011111
00100000
00100001
00100010
00100011
00100100
00100101
00100110
00100111
00101000
00101001
00101010
00101011
00101100
00101101
00101110
00101111
00110000
00110001
00110010
00110011
00110100
00110101
00110110
00110111
00111000
00111001
00111010
00111011
00111100
00111101
00111110
00111111
000
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
CAR BINAIRE DEC HEX
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
}
DEL
01000000
01000001
01000010
01000011
01000100
01000101
01000110
01000111
01001000
01001001
01001010
01001011
01001100
01001101
01001110
01001111
01010000
01010001
01010010
01010011
01010100
01010101
01010110
01010111
01011000
01011001
01011010
01011011
01011100
01011101
01011110
01011111
01100000
01100001
01100010
01100011
01100100
01100101
01100110
01100111
01101000
01101001
01101010
01101011
01101100
01101101
Publicité
01101110
01101111
01110000
01110001
01110010
01110011
01110100
01110101
01110110
01110111
01111000
01111001
01111010
01111011
01111100
01111101
01111110
01111111
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
Chapitre 5
TP analyseur de trames Kermit
5.1 Objectif
Il sagit danalyser une trame Kermit repr esent ee par un chier texte contenant un octet
par ligne comme montr ee dans la partie gauche de la table 5.1. La partie droite de la gure
donne le r esultat de lanalyse pour cette trame. Le programme donne pour chaque octet de
la trame en entr ee ou groupe doctets quand il sagit dune s equence d echappement sa
valeur telle quelle a et e encod ee par Kermit. Les caract`eres non imprimables sont remplac es
par le caract`ere . (cf. tables 5.1 et 5.2).
01
2E
22
44
63
65
63
69
20
65
73
74
20
75
6E
39
0D
<--> 20 ==
Trame no 2 type D
00 : 63 == c <--> 63 == c
01 : 65 == e <--> 65 == e
02 : 63 == c <--> 63 == c
03 : 69 == i <--> 69 == i
04 : 20 ==
05 : 65 == e <--> 65 == e
06 : 73 == s <--> 73 == s
07 : 74 == t <--> 74 == t
08 : 20 ==
09 : 75 == u <--> 75 == u
10 : 6E == n <--> 6E == n
CRC OK
<--> 20 ==
Table 5.1 Description des donn ees (gauche) et r esultats (droite)
15
16
Chapitre 5. TP analyseur de trames Kermit
5.2 Encodage des octets par Kermit
Avant de transf erer une trame doctets, Kermit transforme chaque octet en une suite de
plusieurs caract`eres imprimables. Ceux ci ont un code ASCII compris entre 32 et 126 (en
notation d ecimale) compris. Le principe est le suivant :
si loctet est le code ASCII dun caract`ere imprimable, il est inchang e.
si loctet nest pas imprimable, il est pr ex e par # ou & et transform e en une suite de
un ou plusieurs caract`eres imprimables.
si loctet est un caract`ere de pr exe (#, &, ~), il est pr ex e par # et devient respecti-
vement ##, #&, #~.
si loctet est r ep et e, on compresse la r ep etition en introduisant le facteur de r ep etition
devant loctet qui sera eventuellement pr ex e par # ou &.
5.3 D ecodage des octets par Kermit
la s equence ## code #
la s equence #~ code ~
la s equence #& code &
la s equence #c code le caract`ere dont le code est obtenu par un ou exclusif de c
avec 64.
la s equence &c code loctet dont le code est 128 plus le code de c. Attention, c peut
etre pr ex e par #.
la s equence ~fd repr esente une r ep etition de loctet d par le facteur de r ep etition f.
Attention, d peut etre pr ex e par & et #. Le facteur de r ep etition est un entier cod e
par la fonction Kermit tochar().
5.4 Exemples
A reste A
#A devient 1
#B devient 2
#Z devient 26 (en d ecimale)
## devient #
&#A devient 129 (en d ecimale)
La table 5.2 donne dautres exemples (`a consommer avec mod eration !)
5.5. Simplications
17
== #
== ~
== &
Trame no 1 type D
00 : 23 23 == ## <--> 23
02 : 23 7E == #~ <--> 7E
04 : 23 26 == #& <--> 26
06 : 41 == A <--> 41 == A
07 : 23 42 == #B <--> 2 == .
09 : 26 41 == &A <--> C1
11 : 23 3F == #? <--> 7F
13 : 26 23 41 == &#A <--> 81 == .
16 : 7E 22 26 23 43 == ~"&#C <--> 83 83 == ..
21 : 42 == B <--> 42 == B
22 : 7E 23 42 == ~#B <--> 42 42 42 == BBB
25 : 7E 24 23 42 == ~$#B <--> 2 2 2 2 == ....
CRC OK
== .
== .
Table 5.2 Les di erentes possibilit es dutilisation de pr exes
5.5 Simplications
On suppose que les s equences d echappement sont enti erement comprises dans une
trame. Elles ne chevauchent donc pas 2 trames.
On nanalyse quune seule trame qui sera de type donn ees (D) ou acquittemnt (Y ou
N)
Le pseudo-CRC tient sur un octet, il sera v eri e. Dans le cas o`u celui est faux, la
valeur correcte sera ach ee par un message :
Bad CRC, found 8 (0x38) , expected 9 (0x39)
5.6 Questions
Le tableau 5.3 donne le squelette du programme `a compl eter qui constituera les ana-
lyseurs de trames de dicult e croissante. Compl eter le programme principal et ecrire la
fonction decodeChar telle quelle est donn ee dans le squelette du programme en respectant
son prol. Dans les versions 1 `a 3, le CRC nest pas calcul e ni v eri e. Pour chaque ques-
tion, donnez les trames qui permettent de tester de la fa con la plus compl`ete possible. Les
r esultats de lanalyseur respecteront le format des exemples.
18
Chapitre 5. TP analyseur de trames Kermit
;
;
:
:
}
{
}
l e
l e
l e
. . .
l e s
i o c )
t r a m e s
e t met
{
. . .
c a r a c t .
s u i v a n t
r e s u l t a t
l e s 15 A
i n t i o c )
r e A o i t
b i n i n t e r
c o m p l e t e r
( 0 s i o k )
i n t pos ,
l a q u e s t i o n
r e s u l t a t du
i n t t a i l l e ,
i n t p l b i n )
l e d e b u t d une
i n t b i n i n t e r [ ] ,
i n c r e m e n t e d e un .
; / c u r r e n t c h a r /
t a i l l e d e b i n i n t e r [ ]
s e q u e n c e s d e c h a p p e m e n t
e s t un c a r a c t d e p r e f i x e
b i n a i r e = c e q u e k e r m i t a
} / s w i t c h c u r r e n t c h a r /
l e nombre d e r r e u r s d e t e c t e e s
i n t d ecod eCh...