Vous êtes sur la page 1sur 186

Les Réseaux Locaux

Industriels.

IUT de CACHAN

Version 2004.

PAR HUGUES ANGELIS.

Toute reproduction, même partielle, ne peut être réalisée qu'avec un accord écrit de l'auteur.
hugues.angelis@iut-cachan.u-psud.fr
Les Réseaux Locaux Industriels Page 2 / 186
IUT de CACHAN
Page 3 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

BIBLIOGRAPHIE.
Ce document a été réalisé grâce aux documents suivants :

Les Réseaux Locaux Industriels


De Messieurs Lepage, Afilal, Antoine, Bajic, Bron et Divoux
Edité par HERMES.

Les Bus de Terrain


De Guy Fabre
Edité par le Groupe SCHNEIDER.
(Certaines iconographies1 de ce livre sont reproduites dans ce document)

Réseaux Locaux Industriel (l'offre RLI)


De Bruno Jacquelin

Les Télécommunications Numériques


De Isidore Lauzier
Édité par STARNO
(Certaines iconographies2 de ce livre sont reproduites dans ce document)

Les MODEMS pour les Transmissions de données


De Michel STEIN
Édité par MASSON
(Certaines iconographies3 de ce livre sont reproduites dans ce document)

Réseaux locaux industriels


De Ch. Guiraudie
IUT de CACHAN

Autoformation aux réseaux


Par Intel (sur le site Web Intel : www.intel.com)
(Certaines iconographies4 de ce cours sont reproduites dans ce document)

Je souhaite remercier les personnes suivantes pour leur aide :

M. DEPRES M. ANGELIS (mon père)


IUT de CACHAN. IUT de CACHAN.

M. GUIRAUDIE M. DELAPLACE
IUT de CACHAN IUT de VELIZY.

1
Les iconographies empruntées à ce document sont repérées par un astérisque (*).
2
Les iconographies empruntées à ce document sont repérées par deux astérisques (**).
3
Les iconographies empruntées à ce document sont repérées par trois astérisques (***).
4
Les iconographies empruntées à ce document sont repérées par quatre astérisques (****).
Les Réseaux Locaux Industriels Page 4 / 186
IUT de CACHAN

Moi les dingues j'les soigne, j'm'en vais lui faire une ordonnance, et une sévère !

J'vais lui montrer qui c'est Raoul, aux quat' coins d'Paris qu'on va l'retrouver éparpillé
par petits bouts façon puzzle !

Moi quand on m'en fait trop j'correctionne plus, j'dynamite... j'disperse... et j'ventile...

Michel Audiard.
Page 5 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Avant-propos.

Ce document est la quatrième version du polycopié sur les réseaux


locaux industriel que j'ai commencé à l'IUT de VELIZY et fini à l'IUT de CACHAN, il a
été réalisé pour me servir de support de cours pour les étudiants du département
génie électrique et informatique industrielle.

Cette nouvelle mouture est basée sur une vision personnelle de


l'enseignement des techniques industrielles. En particulier, il me semble incongru
d'étudier des réseaux très répandus dans le monde industriel (MODBUS, PROFIBUS
et autres AS-i) dont le coût unitaire est parfois très élevé (et qui nécessitent des
parties opératives hors de prix) pour servir lors de deux ou trois TP au cours d'une
année.

Je préfère me concentrer sur des réseaux simples comme CAN, I2C et


Ethernet, des réseaux pour lesquels on trouve très facilement des informations et
dont la mise en œuvre peut se faire pour des coûts parfois dérisoires.

Pour le bus CAN par exemple, quasiment tous les microcontrôleurs


modernes (le 68HC12 par exemple) proposent des versions intégrant un ou plusieurs
canaux CAN. La liaison SPI est maintenant quasiment "de série" dans la majeur
partie des microcontrôleurs. Quand au réseau Ethernet, l'achat d'une carte réseau
peut se faire pour une dizaine d'euros. Il existe aussi des microprocesseurs
intégrants la gestion d'Ethernet avec souvent une prise en charge des protocoles
TCP et IP (par exemple le Rabbit 2000).

Dès lors pourquoi acheter un réseau d'automate (à des prix


exhorbitants) pour démontrer que le réseau est totalement transparent…

Je préfère que ce genre d'outils soient mis en œuvre par des


automaticiens pour mettre en évidence les processus de supervision. Je m'en tiens
donc à une approche résolument Informatique Industrielle du monde des réseaux…
Les Réseaux Locaux Industriels Page 6 / 186
IUT de CACHAN

Table des Matières


Historique : _______________________________________________________________ 11
Théorie sur les réseaux. _____________________________________________________ 14
Les transmissions. _____________________________________________________________ 14
La vitesse de propagation. _____________________________________________________________ 14
Les atténuations dans les lignes. ________________________________________________________ 15
Bande passante d'un canal. ____________________________________________________________ 16
Les réflexions dans les lignes. __________________________________________________________ 17
Exemples. _______________________________________________________________________ 18
Rappel sur les réflexions dans les lignes. _________________________________________________ 20
Le bruit dans les lignes. _______________________________________________________________ 22
Les techniques de transmission d'information. __________________________________ 23
Interconnexions _______________________________________________________________ 23
Les techniques de connexion___________________________________________________________ 23
Liaison monofilaire __________________________________________________________________ 23
Liaison bifilaire avec masse ___________________________________________________________ 24
Liaison bifilaire différentielle __________________________________________________________ 24
La transmission en bande de base. _______________________________________________ 25
Les polarités : ______________________________________________________________________ 25
Exemples. _______________________________________________________________________ 25
Le retour à zéro._____________________________________________________________________ 26
Exemple. ________________________________________________________________________ 26
Intérêt des codes asynchrones. _______________________________________________________ 26
Les codages synchrones. ______________________________________________________________ 27
Le code Miller. _____________________________________________________________________ 28
Le code Manchester II. _______________________________________________________________ 27
Le code HDB3. _____________________________________________________________________ 29
Représentation fréquentielle.___________________________________________________________ 30
La transmission en bande décalée. _______________________________________________ 31
Les modulations d'amplitude. __________________________________________________________ 31
Expressions mathématiques._________________________________________________________ 32
Modulation d'amplitude avec porteuse. ________________________________________________ 34
Les modulations d'amplitude sans porteuse._____________________________________________ 35
Les modulations d'amplitude à bande réduite. ___________________________________________ 36
Remarques sur les modulations d'amplitude. ____________________________________________ 37
Les modulations angulaires. ___________________________________________________________ 38
La FSK._________________________________________________________________________ 38
La PSK._________________________________________________________________________ 40
Rappels sur les modulations analogiques. _________________________________________________ 41
Les techniques de transmission de l'information._________________________________ 42
Le codage des informations._____________________________________________________ 42
Le codage de la parité.________________________________________________________________ 42
Les codages redondants. ______________________________________________________________ 44
Exemple. ________________________________________________________________________ 44
Les codes CRC. _____________________________________________________________________ 46
Correction d'erreurs de transmission. ____________________________________________ 47
Page 7 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le Multiplexage ___________________________________________________________ 48
Le multiplexage fréquentiel. ___________________________________________________________ 48
Le multiplexage temporel._____________________________________________________________ 50
Le vocabulaire des transmissions. _____________________________________________ 52
Les premiers réseaux informatiques.___________________________________________ 54
La norme RS232 ______________________________________________________________ 54
Présentation. _______________________________________________________________________ 54
Contrôle de flux_____________________________________________________________________ 55
Le contrôle de flux matériel._________________________________________________________ 55
Le contrôle de flux logiciel. _________________________________________________________ 56
Application. ________________________________________________________________________ 58
Le bus IEEE 488.______________________________________________________________ 59
Etudes des signaux de contrôle des machines : _____________________________________________ 59
Le signal REN (Remote ENable)._____________________________________________________ 59
Le signal IFC (InterFace Clear). ______________________________________________________ 60
Le signal ATN (ATtentioN). ________________________________________________________ 60
Le signal SRQ (Service ReQuest). ____________________________________________________ 60
Le signal EOI (End Or Identify). _____________________________________________________ 60
Etude du HAND-SHAKE (contrôle du flux) : _____________________________________________ 60
Le signal DAV (DAta Valid).________________________________________________________ 60
Le signal NRFD (Not Ready For Data). ________________________________________________ 61
Le signal NDAC (No Data ACepted). _________________________________________________ 61
Chronogramme d'une transmission. ___________________________________________________ 61
L'organisation des réseaux. __________________________________________________ 62
La norme OSI. ________________________________________________________________ 63
Les 7 couches de la norme OSI. ________________________________________________________ 63
La couche Physique (couche 1). ______________________________________________________ 64
La couche de liaison (couche 2). _____________________________________________________ 64
La couche réseau (couche 3). ________________________________________________________ 64
La couche de transport (couche 4).____________________________________________________ 64
La couche de session (couche 5). _____________________________________________________ 64
La couche de présentation (couche 6). _________________________________________________ 64
La couche d'application (couche 7). ___________________________________________________ 65
L'encapsulation des données. __________________________________________________________ 66
Trames et paquets. ___________________________________________________________________ 66
Principe de la trame élémentaire. _____________________________________________________ 66
Principe du paquet. ________________________________________________________________ 67
La couche physique. ________________________________________________________ 68
La topologie d'un réseau. _______________________________________________________ 68
L'anneau. __________________________________________________________________________ 68
L'étoile. ___________________________________________________________________________ 68
Le bus. ____________________________________________________________________________ 69
Le Back-Bone ______________________________________________________________________ 69
L'arborescence. _____________________________________________________________________ 70
Le réseau maillé. ____________________________________________________________________ 70
Le médium. __________________________________________________________________ 72
Remarque sur les vitesses de propagation _________________________________________________ 72
Les paires Torsadées. ________________________________________________________________ 73
La norme pour les fréquences. _______________________________________________________ 73
La norme par section de conducteur. __________________________________________________ 73
Les fibres optiques. __________________________________________________________________ 75
Les éléments de la couche physique._____________________________________________________ 77
Les Réseaux Locaux Industriels Page 8 / 186
IUT de CACHAN

La couche de Liaison. ______________________________________________________ 78


La sous-couche MAC. __________________________________________________________ 78
Les protocoles pour topologie de type bus. ________________________________________________ 79
Le protocole CSMA/CD. ___________________________________________________________ 79
Exemple de collision.____________________________________________________________ 79
Relevé de l'efficacité du protocole CSMA/CD. ________________________________________ 83
Le protocole CSMA/NBA __________________________________________________________ 84
Le protocole CSMA/DCR. __________________________________________________________ 84
Le protocole à jeton de bus. _________________________________________________________ 86
Les protocoles à scrutation (polling). __________________________________________________ 88
Outils indispensables. ______________________________________________________________ 89
Pourcentage d'occupation. ________________________________________________________ 89
Efficacité du codage. ____________________________________________________________ 89
Débit informatif maximum. _______________________________________________________ 89
Débit informatif réel. ____________________________________________________________ 89
Les protocoles pour topologies de type anneau. ____________________________________________ 90
Les anneaux à jeton. _______________________________________________________________ 90
Gestion des priorités. ____________________________________________________________ 92
Exemple : _____________________________________________________________________ 93
Efficacité des protocoles d'anneau à jeton. ___________________________________________ 93
Exemple de calcul d'efficacité._____________________________________________________ 94
Protocole d'anneau à multiplexage temporel. ____________________________________________ 95
Choix d'un protocole MAC. ___________________________________________________________ 95
La sous couche LLC.___________________________________________________________ 96
Les SAP (ou LLC SAP ou LSAP). ______________________________________________________ 96
Type de fonctionnement de la sous-couche LLC. ___________________________________________ 97
Fonctionnement type 1. ____________________________________________________________ 97
Fonctionnement type 2. ____________________________________________________________ 97
Vers un type 3. ___________________________________________________________________ 98
Les PDU (ou LLC PDU ou LPDU)______________________________________________________ 98
Format I. ________________________________________________________________________ 99
Format S. ______________________________________________________________________ 100
Format U. ______________________________________________________________________ 100
Type 1. ______________________________________________________________________ 101
Type 2. ______________________________________________________________________ 101
Vers un type 3. ________________________________________________________________ 102
Ce qu'il faut retenir de la sous-couche LLC. ___________________________________________ 102
Les couches 3, 4, 5 et 6. ____________________________________________________ 103
Exemple fictif de système multi-réseaux. ________________________________________________ 103
La couche de réseau. ______________________________________________________ 105
La couche d'application. ___________________________________________________ 106
Le ACSE (ASSOCIATION COMMON SERVICE ELEMENT) ______________________ 106
Le CASE (COMMON APPLICATION SERVICE ELEMENT). _____________________ 107
Etude de quelques réseaux locaux____________________________________________ 108
Page 9 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le bus CAN. _____________________________________________________________ 109


Les trames CAN. _____________________________________________________________ 109
Le protocole CSMA/NBA____________________________________________________________ 110
Les trames de données. ______________________________________________________________ 110
Le délimiteur de début. ____________________________________________________________ 111
Le champ d'arbitrage. _____________________________________________________________ 111
Le champ de contrôle._____________________________________________________________ 111
Le champ de données. ____________________________________________________________ 112
Le champ de CRC. _______________________________________________________________ 112
Le champ d'acquittement. __________________________________________________________ 112
Le champ de fin de trame. _________________________________________________________ 112
Les trames de requête. _______________________________________________________________ 112
La règle du BIT-STUFFING. _________________________________________________________ 113
Récapitulatif des trames CAN.__________________________________________________ 114
Les trames d'erreurs. ________________________________________________________________ 115
Présentation de la trame d'erreur active _______________________________________________ 116
Les trames de surcharge. _____________________________________________________________ 119
Synchronisation des échanges. __________________________________________________ 119
Décomposition d'un bit en segments. ___________________________________________________ 120
Exemple de calcul.____________________________________________________________ 121
Rappel sur les oscillateurs. _____________________________________________________ 122
Interface entre les composants CAN et la couche physique. __________________________ 124
High Speed CAN. __________________________________________________________________ 124
Low Speed CAN. __________________________________________________________________ 125
Fonctionnement du système physique. __________________________________________________ 126
Calcul du temps de propagation sur la ligne. ___________________________________________ 126
Définition des paramètres de l'adaptateur. _____________________________________________ 126
Définition des paramètres du contrôleur. ______________________________________________ 127
Le bus I2C_______________________________________________________________ 129
Définitions du bus I2C. ________________________________________________________ 129
Fonctionnement. ___________________________________________________________________ 129
Trame fondamentale.________________________________________________________________ 130
Acquittement. _____________________________________________________________________ 130
Restriction à l'utilisation du bus I2C. ___________________________________________________ 131
Organisation de l'échange de données. ___________________________________________ 132
Adressage. ________________________________________________________________________ 132
Transmission des données par paquets.__________________________________________________ 133
Synchronisation des échanges. ________________________________________________________ 134
Arbitrage._________________________________________________________________________ 135
Modes de transmissions. _______________________________________________________ 135
Transmission en Mode Simple. ________________________________________________________ 135
Mode combiné. ____________________________________________________________________ 136
Evolution.___________________________________________________________________ 137
Adressage sur 10 bits. _______________________________________________________________ 137
Les modes de transfert Haut débit. _____________________________________________________ 138
Fast Mode. _____________________________________________________________________ 138
High Speed Mode. _______________________________________________________________ 138
Les Réseaux Locaux Industriels Page 10 / 186
IUT de CACHAN

Ethernet. ________________________________________________________________ 140


Trame fondamentale. _________________________________________________________ 141
Le préambule. _____________________________________________________________________ 141
Les adresses de destination et de source._________________________________________________ 141
Le type. __________________________________________________________________________ 141
Le champ de donnée.________________________________________________________________ 141
Le FCS. __________________________________________________________________________ 142
Tables des Ethertypes. _______________________________________________________________ 142
La Couche Physique d'Ethernet. ________________________________________________ 142
La Couche de Liaison d'Ethernet. _______________________________________________ 144
TCP/IP. _________________________________________________________________ 147
Le protocole IP. __________________________________________________________ 152
La fragmentation des datagrammes._____________________________________________ 156
Les options de la trame IP._____________________________________________________ 157
IP et Ethernet. _______________________________________________________________ 160
Gestion des erreurs de routage sous IP. __________________________________________ 162
La commande PING. ________________________________________________________________ 164
La commande TRACEROUTE. _______________________________________________________ 164
Fonctionnement de IP. ________________________________________________________ 165
Identification des adresses locales. _____________________________________________________ 165
Le routage des paquets IP.____________________________________________________________ 168
Le protocole RIP_________________________________________________________________ 168
Diffusion et constitution des tables RIP _______________________________________________ 169
La trame RIP____________________________________________________________________ 172
Les autres protocoles de routage. ____________________________________________________ 172
TCP et UDP _____________________________________________________________ 174
UDP. _______________________________________________________________________ 175
TCP________________________________________________________________________ 176
Entête TCP _______________________________________________________________________ 177
Fonctionnement de TCP. _____________________________________________________________ 179
Initialisation de la connexion _______________________________________________________ 179
Dialogue _______________________________________________________________________ 179
Perte de segment. ________________________________________________________________ 181
Fermeture de la connexion _________________________________________________________ 182
Définition du MSS__________________________________________________________________ 182
L'automate TCP ____________________________________________________________________ 183
Le DNS. ____________________________________________________________________ 185
Formalisme DNS. __________________________________________________________________ 185
Approche itérative __________________________________________________________________ 186
Approche récursive._________________________________________________________________ 186
Page 11 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Historique :

O
n peut considérer que les réseaux locaux sont apparus il y a une quarantaine
d’années, ils servaient au transfert de données entre machines. Leurs
utilisations répondaient à la nécessité de transférer des données (souvent
élémentaire) entre un calculateur et des automates ou entre un calculateur et
des instruments de mesure.

Nous pouvons citer 2 réseaux très connus, que nous étudierons


sommairement dans les chapitres suivants, HPIB (IEEE 488) et RS 232. Toutefois
l'expansion des performances de l'électronique créant le développement de
l’informatique que nous connaissons, ces réseaux furent vite dépassés, et bien que
les normes RS 232 et HPIB restent encore utilisées de nos jours, il convient de
fortement relativiser leur domaine d’utilisation.

Aujourd'hui, les réseaux sont des éléments courants de l’informatique.


ETHERNET est le réseau le plus répandu dans le cadre industriel. Cependant, il
existe bien des applications où ETHERNET est inutilisable, par exemple, le transfert
d’information simple, en temps réel, entre des automates et des ordinateurs, ou pire
encore entre des capteurs et un automate. C’est ici qu’apparaissent les nouveaux
réseaux locaux industriels.

On cherche en général, lors de l’utilisation d’un réseau, une approche


simple et transparente des communications, une réduction des coûts de fabrication
(dans la mesure où le câblage diminue et où les coûts de développement sont
souvent réduits) et surtout un standard, disponible pour toutes les applications
industrielles de fabrication.

Or c'est là que se situe le principal problème avec les réseaux locaux,


la multiplication des standards rend souvent la sélection complexe, seuls comptent
alors l'application et le matériel disponible. En effet, souvent les constructeurs
d'automates sont aussi des constructeurs de réseaux locaux, d'où une parfaite
compatibilité des machines, et par extension inadéquation pour les machines des
autres marques.

Heureusement, certains systèmes semblent devenir des standards de


fait, c'est à dire des standards par la force des choses. A ce petit jeu, rare seront les
gagnants, mais il semble que CAN soit devenu le standard en terme de réseau
embarqué (dans l'automobile ou dans aéronautique).

Il n'en reste pas moins que l'avenir n'est pas clair. On peut donc
espérer qu'à l'instar de l'informatique, les prochaines années verront apparaître, non
un, mais un ensemble de réseaux normalisés, standardisés et accessible par tous
les fabricants.
Les Réseaux Locaux Industriels Page 12 / 186
IUT de CACHAN

Exemple de minimisation de coûts


Par mise en œuvre de réseaux

Analyse présentée par SCHNEIDER sur une application industrielle (*)


Page 13 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Les réseaux les plus connus et leur domaine de prédilection.

(*)

On nomme DATABUS, les réseaux chargés de transférer des quantités


importantes de données à longue distance (+1000km), sans notion de temps réel.

On nomme FIELDBUS, les réseaux qui permettent de contrôler les


structures, soit une quantité relativement faible de donnée à faire circuler sur des
distances assez importantes (1km), avec une notion d'événement temps réel.

On nomme DEVICEBUS, les réseaux locaux qui font transiter des flots
peu importants de données sur de faibles distances (100m) en temps réel.

On nomme SENSORBUS, les réseaux locaux qui ne font transiter que


des événements sur des distances réduites (de 10 à 100m) en temps réel.
Les Réseaux Locaux Industriels Page 14 / 186
IUT de CACHAN

Théorie sur les réseaux.

A
vant d'aborder les réseaux, nous allons voir certains points essentiels sans
lesquels, il est impossible de comprendre ce qui se passe et quelles sont les
raisons qui poussent à tant d'ingéniosité.

Les transmissions.

Dans une ligne de transmission, on est confronté à certains problèmes


que l'on peut définir selon 5 points.

La vitesse de propagation.

La propagation est un des phénomènes les plus communs et des plus


simples à comprendre. Lorsque l'on transmet un signal, quelque soit le type
d'information (son, lumière, onde électromagnétique), il met impérativement un
certain temps à se propager dans le milieu environnant, puisqu'il lui est impossible de
se propager plus rapidement que la lumière et sa vitesse est freinée par le milieu
traversé.

Par exemple, tout le monde connaît la vitesse de propagation du son


dans l'air, puisqu'elle est de 1224 km/h (Mach 1). Mais peu de monde sait qu'elle est
très différente dans l'eau puisqu'elle est alors de 5130 km/h (environ Mach 4).
Comme quoi la vitesse de propagation d'une onde est liée au milieu traversé !

Ce phénomène, connu sous le nom de propagation dans les milieux


isotropes, permet de définir quels seront les problèmes liés à la propagation d'une
onde électromagnétique.

Il existe une théorie, établie par MAXWELL, qui en défini clairement les
règles. Je ne vais pas présenter ici les équations (assez compliquées) de ce génie, je
vais me contenter de vous présenter ce qui se passe intuitivement.

Dans un câble électrique, on définit 2 vitesses de propagation suivant le


type d'information transmit. On trouve, d'une part, la vitesse de phase (Vϕ) qui
représente la vitesse de propagation d'une onde monochromatique (une seule
fréquence) et d'autre part, la vitesse de groupe (Vg) qui définit la variation de vitesse
d'un paquet d'ondes en fonction de la fréquence de ses harmoniques (voir Fourrier).

1 c
Vϕ = =
εµ ε r µr

λ=
f
Page 15 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Ces vitesses permettent de définir d'une part la forme des d'ondes à


l'arrivée du signal, d'autre part, le temps mis par une onde pour se propager le long
de la ligne.

En effet, la différence des vitesses pour différentes fréquences fait


qu'un signal carré au départ est comme filtré à l'arrivée. Cela peut se traduire par un
"circuit passe-bas" équivalent, sans atténuation, mais induisant un déphasage.

On résout généralement les problèmes de déformations liés aux


vitesses de propagation en réalisant une mise en forme (détecteur à hystérésis) à la
réception. Toutefois, cela entraîne un décalage temporel du signal.

Les atténuations dans les lignes.

Dans un câble électrique, on est confronté à un phénomène


d'atténuation de l'amplitude des signaux, c'est à dire qu'il y a des pertes de
puissance (effet Joule) dans un fil électrique. Ce phénomène est inhérent à la
résistivité intrinsèque de la matière (seuls les matériaux supraconducteurs n'ont pas
de résistivité, mais leur utilisation est pour l'instant très limitée pour une notion
évidente de coût).

Cette résistivité des milieux est liée, elle aussi, aux équations de
MAXWELL (encore lui). Il a définit qu'une ligne électrique peut se modéliser grâce à
un schéma simple (ce modèle tenant compte du phénomène de déphasage et du
phénomène d'atténuation) :

Modèle du télégraphe.
Les Réseaux Locaux Industriels Page 16 / 186
IUT de CACHAN

Il faut tenir compte de ce modèle pour définir la longueur maximale des


liaisons sur un fil sans utiliser de répéteur. Le répéteur étant un amplificateur qui
permet d'augmenter la puissance du signal. A titre d'exemple, pour une paire
torsadée de catégorie 5, la distance maximale entre 2 répéteurs est d'environ 100m.

Exemple d'atténuation dans un câble téléphonique (***).

Bande passante d'un canal.

Dans une ligne, on définit un élément très important qui va imposer bien
des choix, ce paramètre est la bande passante. Elle définit la largeur du spectre que
l'on peut faire transiter dans un canal sans que l'atténuation n'atteigne un niveau
limite. On dispose selon les types de liaison de valeur allant de quelques Kbit/s à
quelques Gbit/s.

Il convient aussi de considérer la bande de fréquence de transmission,


c'est à dire les fréquences qui peuvent occuper un canal. Ainsi, si on analyse les
différentes lignes, on peut définir pour chacune la gamme de fréquence transmise
(par exemple pour la fibre optique où seules les ondes lumineuses de 400nm à
800nm sont transmissibles, une ligne bifilaire simple peut transmettre de 0 à
100MHz). Sur certaines autres lignes, c'est la structure technologique de l’émetteur
ou du récepteur qui limite le domaine d'utilisation (l'utilisation d’un transformateur
interdit la transmission des tensions continues).

Pour d'autres raisons, on cherchera aussi à réduire au maximum la


largeur du spectre de transmission, par exemple pour augmenter le nombre de
dialogues simultanés sur une même ligne (voir multiplexage), mais aussi pour éviter
de se trouver sur des fréquences spécifiques où le brouillage est fortement présent
(par exemple 50Hz).
Page 17 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Les réflexions dans les lignes.

C'est l'élément le plus préoccupant dans les transmissions puisque, si


l'analyse des phénomènes d'atténuation et de déphasage montre qu'il suffit d'utiliser
des éléments de mise en forme pour corriger ces déformations, les réflexions dans
les lignes, nous confrontent à des problèmes autrement plus sérieux.

Ce phénomène est lié au rapport entre la longueur de la ligne de


transmission et la longueur d'onde du signal transmis. C'est une transposition d'effets
que l'on visualise en HF. Il convient donc de les comprendre par une approche
simple de leur principe.

Les lignes ont une impédance caractéristique définie par leur modèle
équivalent. Ce n'est pas la résistance linéique qui influence le plus, mais plutôt les
composants réactifs (capacité et inductance). En effet, la formule de cette impédance
L0
est la suivante : Z 0 = . Cette impédance caractéristique ne dépend donc pas de
C0
la fréquence et est généralement purement résistive, par exemple, vous devez
connaître l'impédance caractéristique des câbles coaxiaux électroniques (50Ω) ou
des câbles coaxiaux de télévision (75Ω).

Maintenant que vous savez ce que représente une impédance


caractéristique, nous allons regarder les effets de l'adaptation ou plutôt de la
désadaptation sur le fonctionnement d'une ligne parcouru par des signaux
électriques (ceci n'est sensé être qu'un rappel, je n'ai donc pas inclus les
démonstrations de ces résultats).

Lorsqu'une onde atteint l'extrémité d'une ligne non terminée par un


élément de résistance caractéristique égale à celle de la ligne, cette onde est
réfléchie et reprend le chemin qu'elle a déjà parcouru. De retour à l'origine, elle peut
à nouveau rebondir si cette extrémité aussi n'est pas adaptée, on a alors dans la
ligne une onde qui va aller et venir, en rebondissant sur les extrémités de la ligne.

Ce phénomène est présent partout (y compris à très basse fréquence)


prenons l'exemple d'un GBF avec une impédance de 50Ω qui envoi un signal
sinusoïdal à un oscilloscope avec une impédance d'entrée très élevée. La tension
visualisée sur l'oscilloscope est de V volts. Si maintenant, on place une résistance de
50Ω en parallèle avec l'oscilloscope, on relève une tension moitié de la précédente.
Cela s'exprime très facilement par les lois de Kirchhoff mais aussi par le modèle des
transmissions.

Dans le premier cas, la ligne est en l'air, l'onde incidente (émise par le
GBF) se réfléchie complètement sur la ligne. Elle se superpose à l'onde incidente et
donne donc l'impression que l'amplitude de l'onde incidente est le double de celle
émise (on envoie V/2 et on a réellement V volts). Avec une résistance de 50Ω, il n'y a
pas de réflexion, on visualise donc la tension réellement envoyée c'est à dire V/2, la
moitié de la tension relevée avec l'extrémité en l'air…
Les Réseaux Locaux Industriels Page 18 / 186
IUT de CACHAN

Exemples.

Cas d'une extrémité en court-circuit.

V V

Ve
sens de
propagation 0 L
t t
0 L sens de
propagation
-Ve

propagation de l'onde incidente propagation de l'onde réfléchie

Dans le cas d'un court-circuit, l'onde se réfléchie en s'inversant

Cas d'une extrémité en l'air.

Dans le cas d'une extrémité en l'air, l'onde se réfléchie sans s'inverser.

Cas d'une désadaptation par une impédance supérieure à l'impédance


caractéristique

Dans ce cas, l'onde revient avec une amplitude plus faible, mais de même signe.
Page 19 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Cas d'une désadaptation par une impédance inférieure à l'impédance caractéristique

Dans ce cas, l'onde revient avec une amplitude plus faible, mais de signe opposé.

Cas d'adaptation.

Dans le cas d'une adaptation, il n'y a pas de réflexion.

Comme vous le constatez, sur une ligne, les effets des désadaptations
sont parfois catastrophiques, non pas qu'ils soient destructifs mais à cause de leurs
résultats sur la lisibilité des messages lors d'une superposition des ondes incidentes
et réfléchies.

Cas de superposition d'ondes.


superposition de l'onde
incidente et de l'onde réfléchie

onde incidente onde incidente onde réfléchie


Les Réseaux Locaux Industriels Page 20 / 186
IUT de CACHAN

Rappel sur les réflexions dans les lignes.

On définit le coefficient de réflexion d'une extrémité de ligne par la


formule suivante :
Zc − Z0
ρ= d'où VR = ρ ⋅ VI
Zc + Z0

On définit aussi le coefficient de transmission (c'est à dire la part de


l'onde incidente qui est transmise à l'obstacle) par la formule :

τ = 1 + ρ d'où VT = (1 + ρ ) ⋅ VI

Où Zc est l'impédance vue à l'extrémité de la ligne, Z0 est l'impédance


caractéristique, VR est l'onde réfléchie, VT l'onde transmise et VI l'onde incidente.

Cette méthode n'est utilisable que pour des impédances purement


résistives. Si on est confronté à des impédances réactives, l'utilisation d'une telle
formule ne permet pas de se représenter le "chronogramme" ou la forme de l'onde
circulant sur la ligne. On utilise alors la méthode de BERGERON.

Méthode du tableau.

Soit le montage suivant :

ρc est le coefficient de réflexion en B tandis que ρg est le coefficient de


réflexion en A. T est le temps que met l'onde pour se propager le long de la ligne.
Dans notre exemple, on a : ρc= -1 et ρg= 1/3.
Page 21 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Par la méthode du tableau, on peut présenter l'évolution des ondes de


la façon suivante :

Lorsqu'on connaît l'onde incidente, V1, on connaît alors l'amplitude de


tous les signaux.
Les Réseaux Locaux Industriels Page 22 / 186
IUT de CACHAN

Le bruit dans les lignes.

Le bruit est un élément que nous connaissons tous, il est le fruit de


notre environnement (lampes au néon, moteurs électriques, téléphonie et ondes
hertzienne classiques, composants électroniques, température,...) et couvre toute la
gamme des fréquences accessibles. Bien qu'en général, il soit considéré comme
négligeable, il arrive que certains bruits soient très forts (bruit à 50Hz) et puissent, du
fait de leur puissance, venir parasiter les installations électriques en général et les
réseaux en particulier.

Pour lutter contre le bruit, il y a diverses méthodes, j'en citerai 4.

• Le blindage des lignes, c'est à dire leur protection contre les atteintes extérieures
(solution utilisée en dernier recours, car problème de coût).
• Une autre solution consiste à améliorer l'immunité au bruit en augmentant la
puissance nécessaire à la détection des états logiques, par exemple en passant
les signaux en ±12V (c'est la méthode la plus utilisée).
• Une solution très industrielle, qui est très souvent utilisée dans les réseaux locaux,
consiste à ne plus coder les informations sous forme de tensions mais sous forme
de courants (en utilisant des boucles de courant). En effet, la tension liée au bruit
peut être très forte, mais le courant lui est généralement très faible
• La dernière solution consistant à transmettre sur deux fils le signal de façon
flottante. A l'arrivée, il suffit de mesurer la différence des tensions sur les 2 voies
pour récupérer le signal d'origine.

Ces méthodes sont cumulables les unes avec les autres (sauf
l'utilisation commune des boucles de courant et l'augmentation des tensions).

Les 2 principaux bruits.

Niveau de bruit Niveau de bruit

F F
Bruit Blanc Bruit en 1/F ou bruit de grenaille

Même niveau sur toute la gamme Niveau décroissant sur toute la


de fréquence. gamme de fréquence.

Bruit d'origine thermique Bruits liés aux composants actifs

Il existe aussi d'autres bruits d'origine radiative (par exemple le 50Hz)


Ils dépendent exclusivement de l'environnement local.
Page 23 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Les techniques de transmission d'information.

C
omme on l'a vu, pour transmettre une information, les problèmes sont
nombreux. Donc on a tendance à utiliser les méthodes éprouvées, héritées
des télécommunications. Mais l’évolution technologique a sévèrement remis
en cause cette vision peu innovatrice des choses.

Avant d'étudier les méthodes utilisées pour transmettre un signal en


bande de base ou en bande décalée (on verra ces termes plus tard), il convient de
préciser comment on réalise une liaison entre deux machines, proches ou lointaines.
Comme on la vu précédemment, le bruit est un grand ennemis des transmission. On
va voir dans le chapitre qui suit qu'il n'est ni le seul ennemis, ni irréversible.

Interconnexions

Les techniques de connexion

Connecter deux machines entre elle semble simple au premier abord. Il


existe trois méthodes de connexion :
• La connexion à un fil.
• La connexion à deux fils avec masse.
• La connexion à deux fils différentielle.

Liaison monofilaire

Dans le cas d'une transmission à un seul fil, on joue sur le fait que la
masse est la même pour les deux machines, ce qui ne peut être vrai que pour des
distances extrêmement courtes (sur une même carte électronique par exemple).

Ce type de liaison ne peut pas s'appliquer à grande distance. Par


exemple, en considérant que masse et terre sont reliées, si l'on réalisait un tel
câblage entre l'Europe et les Etats Unis d'Amérique, la différence de potentiel entre
les deux terre peut dépasser les 100V. De plus la liaison ainsi réalisée serait
extrêmement sensible au bruit.
Les Réseaux Locaux Industriels Page 24 / 186
IUT de CACHAN

Liaison bifilaire avec masse

La tentation immédiate, pour résoudre le problème des liaisons


monofilaires, consiste à ajouter une seconde liaison à la masse, à la fois pour
résoudre le problème de la différence de potentiel entre les deux raccordements à la
terre, mais aussi pour protéger le signal, par exemple en réalisant un blindage.

Cette technique présente des avantages (la protection des données,


par exemple) et de nombreux inconvénients comme par exemple le parasitage de la
masse (quand la liaison est longue), la différence de potentiel intercontinentale qui
peut induire de forts courants dans les fils ou tout simplement le risque de foudre sur
la ligne qui pourrait détruire à la fois l'émetteur et le récepteur.

Liaison bifilaire différentielle

Pour lutter efficacement contre le bruit, on utilise quasi


systématiquement la solution qui consiste à transmettre en mode différentiel.

Le mode différentiel consiste à envoyer l'information sur 2 lignes.


Comprenons-nous bien, l'information n'est pas redondante, elle est dédoublée. On
crée ainsi une voie en "logique positive" et une autre en "logique négative",
l'information étant la soustraction de ces 2 signaux.

En cas de perturbation, les deux fils de la liaison sont touchés presque


en même temps par la perturbation et avec presque la même puissance de bruit.

Si au départ de la ligne on a un signal d'information d'amplitude 2A. A


l'arrivée de la ligne, on a donc d'une part sur la première voie le "demi signal" de
données (A) et un bruit (B) et sur l'autre voie, le même "demi signal" mais cette fois ci
inversé (-A) et le bruit (B). En soustrayant les signaux des deux voies, on obtient la
sortie S :

S = ( A + B) − (− A + B) = A + B + A − B = 2 ⋅ A

Comme on ne transmet plus la masse, l'information est flottante, sans


référence. A l'arrivée, la soustraction des 2 signaux s'effectue, elle avec la référence
de masse locale, ce qui fixe le potentiel du signal à sa destination finale. Plus de
problème de différence de potentiel entre les masses.

Ce type de liaison est utilisé dans de très nombreux réseaux à


moyenne ou grande échelle (ETHERNET) ou subissant un environnement
extrêmement bruyant (CAN).
Page 25 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Maintenant que l'on connaît les techniques permettant de réaliser


l'interconnexion entre deux machines en vue d'une transmission, il faut s'intéresser
aux modifications à apporter aux données pour leur permettre de circuler sur la ligne.

On a vu que les transmissions différentielles utilisent des


transformateurs. Il est donc indispensable que les signaux transmis aient une
composante continue nulle, ce qui n'est pas le cas des signaux "binaire" classique. Il
va donc falloir modifier ces signaux pour pouvoir réaliser ces transmissions, mais
aussi, pour limiter le spectre des signaux et essayer ainsi d'augmenter le nombre de
canaux dans une liaison.

Pour transmettre plusieurs signaux dans une ligne, on a longtemps


utilisé des méthodes analogiques : les modulations. Maintenant que l’informatique et
les systèmes numériques fonctionnent à des vitesses élevées, on s’est naturellement
tourné vers techniques de transmission numérique.

Et partant de là, on a étudié des systèmes capables de compacter le


signal sur des gammes de fréquence de plus en plus réduites, ces méthodes sont
regroupées sous le nom de transmission en bande de base.

La transmission en bande de base.

Le principe de la transmission en bande consiste à modifier le spectre


du signal, sans le décaler dans un autre domaine de fréquence, en jouant sur des
paramètres d'amplitude ou en associant différents signaux.

Les polarités :

On dit d'un code qu'il est unipolaire lorsque le codage de l'information


fait intervenir un niveau électrique (en plus de la masse). On dit d'un code qu'il est
bipolaire lorsque le codage de l'information fait intervenir deux niveaux électriques
pour coder l'information (la masse pouvant être utilisée comme 3ème niveau). Les
codes bipolaires éliminent généralement la composante continue du signal transmis.

Exemples.

1 0 0 1 1 0 1 1 1 1 1

0 0 0

Exemple de code unipolaire Exemple de code bipolaire


Les Réseaux Locaux Industriels Page 26 / 186
IUT de CACHAN

Le retour à zéro.

Les systèmes de transmission jouent aussi sur la façon de coder un


signal en terme, non plus de niveau de tension, mais d'évolution dans le temps. Le
code que nous appelons le binaire ('0' = 0V et '1' = +5V) est en réalité un code
unipolaire (le niveau des tension), NRZ (l'organisation dans le temps). NRZ signifiant
Non Return to Zero, c'est à dire : qui ne change pas d'état pendant la durée d'un bit.

C'est en fait le contraire du code RZ (Return to Zero) qui crée


automatiquement un retour à l'état zéro pendant la durée d'un bit.

Exemple.

1 0 0 1 1 0 1

1 0 0 1 1 0 1

Exemple de code unipolaire Exemple de code bipolaire


Non Retour à Zéro Retour à Zéro
On peut aussi parler des codes NRZI (Non Return to Zero Inverted).
Ces codes engendrent des changements de niveaux du signal en sortie du codeur
sur un niveau donné du signal entrant. Par exemple, le code NRZI-S (Non Return to
zero Inverted on Space) change l'état du signal en sortie à chaque fois que le bit
présenté à l'entrée du codeur est à '0' (le zéro étant considéré comme un espace).

Conclusions sur les codes asynchrones.

Le principal souci avec les codes asynchrones est justement présent


dans leurs noms, il s'agit de l'absence d'horloge. Les horloges respectives de
l'émetteur et du récepteur n'étant par définition pas les mêmes, elles battent à des
rythmes proches mais différents. Il faut donc réussir à resynchroniser régulièrement
les deux machines.

Ce sont les fronts sur le signal de données qui sont utilisés pour recaler
l'horloge du récepteur sur celle de l'émetteur.

Or plus la transmission se fait pour de grosse quantité de données, plus


la probabilité d'avoir un long "blanc", c'est à dire une absence de front, est grande.

Voilà pourquoi, il est excessivement rare d'utiliser des codes


asynchrones sans avoir de petits messages à transmettre (quitte à ce qu'il y ait
beaucoup de petits messages successifs). Dès que la transmission nécessite le
transfert d'une grosse quantité de données, on a tendance à utiliser des codes
synchrones.
Page 27 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Les codages synchrones.

Le principe des codes synchrones réside dans le mélange de


l'information d'horloge avec le signal de données pour composer un signal possédant
à la fois une horloge facilement utilisable et dont on peut facilement extraire les
données.

Horloge

Unipolaire

Biphasé ou
Manchester II

Le code Manchester II.

Ce code est assez utilisé dans les réseaux, c'est un code biphasé et
bipolaire. Le principe du codage Manchester consiste à traduire le '1' comme un front
descendant et le '0' comme un front montant. Pour ce faire, on utilise une fonction
logique NON OU EXCLUSIF entre l'horloge et le signal de données.

Ce signal peut paraître assez compliqué à analyser, mais en réalité il


est très simple. Tout les nombres impairs de fois T/2 (T/2, 3T/2, 5T/2, …), il y a
systématiquement un front. Si ce front est montant, il s'agit d'un '0' logique, si ce front
est descendant, il s'agit d'un '1' logique.

Episodiquement, il y a sur le signal des fronts après un nombre pair de


demi-période. Ce phénomène apparaît lorsqu'il y a consécutivement deux bits ayant
la même valeur. En effet pour pouvoir avoir deux fronts descendants, il est
indispensable d'avoir un front montant entre les deux.
Les Réseaux Locaux Industriels Page 28 / 186
IUT de CACHAN

Le signal codé en Manchester, outre qu'il ne comporte pas de


composante continue, élargi considérablement le spectre du signal NRZ (voir les
spectres présentés page 30) au point de lui faire occuper une bande de fréquence
située entre 2F/3 et 3F/2 (F est la fréquence de l'horloge d'émission). Son spectre
contient donc inévitablement une composante à la fréquence F de l'horloge.

La réalisation d'un tel codage est, comme on l'a vu, extrêmement


simple. Son décodage est quand à lui un peu plus difficile, il faut recréer une horloge
(la partie compliquée du travail) avant de passer cette horloge dans une même porte
NON OU EXCLUSIF pour récupérer les données.

La régénération de l'horloge ne peut se faire qu'en éliminant les


transitions aux instants multiples de T, et en ne gardant que les fronts à T/2. A
l'origine, on utilisait (avant que les techniques numériques ne le remplace) un
système à base de monostables non redéclenchable pour éliminer les fronts à T.
Puis on utilisait une PLL pour re-fabriquer à partir du signal extrait des monostables,
une horloge de même fréquence et en phase avec celle de l'émetteur. Cette horloge
était en suite utilisée pour la récupération des données.

La "lenteur" de la synchronisation de la PLL imposait alors de longues


salves de données pour permettre au récepteur de se caler. Pour Ethernet (qui utilise
le codage Manchester II), il y a 7 octets utilisés en tant que salve (le préambule).

Le code Miller.

Le code Miller est un code dérivé du code biphasé classique, il répond


à la nécessité de transmettre un signal dans une bande plus étroite. Pour réaliser un
code Miller, on passe le code biphasé dans une bascule montée en diviseur par 2.

Horloge

Binaire

Biphasé

Miller

Bien entendu, cette fois ci, le décodage est beaucoup plus compliqué.
Page 29 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le code HDB3.

Le code HDB3 est le code utilisé en téléphonie (pas au niveau


utilisateur, mais au niveau des centraux et de l'international). Le code HDB3 est un
code bipolaire, retour à zéro, alterné (les bits à '1' sont une fois positifs, une fois
négatifs), asynchrone. Il permet de transmettre des trames extrêmement longues,
sans qu'il puisse il y avoir de désynchronisation de l'émetteur et du récepteur.

Horloge

Unipolaire

Biphasé

HDB3

Bourrage Viol

Le principe utilisé ici s'appelle le bit stuffing, il consiste (dans le cas du


code HDB3) à substituer des bits à '0' par des bits fictivement à '1'. On parle alors de
bit stuffing substitutif. Dans le cas d'autres réseaux, il n'y a pas substitution, mais
ajout d'un bit à '1'. On parle alors de bit stuffing addittif.

Dans le code HDB3, si une série de plus de 3 zéros consécutifs


apparaît sur la ligne de données (d'où le 3 de HDB3), on substitue volontairement le
quatrième '0' par un '1' qu'on appelle bit de viol.

Pour pouvoir identifier immédiatement un bit de viol d'un bit réellement


à '1', le bit de viol est systématiquement de la même polarité que le dernier bit à '1'
(que ce soit un vrai bit à '1' ou un bit de bourrage). Ce bit viol la règle de l'alternance.

Toutefois, ce non respect de l'alternance risque, en cas de très longue


série de '0', d'engendrer l'apparition d'une tension continue (les bits de viols étant
tous dans le même sens). Pour les compenser, on introduit donc des bits dit de
bourrage pour forcer des alternances.

Les bits de bourrage respectent la règle de l'alternance. On les insère


dans la transmission si le nombre total de bits à '1' depuis le dernier bit de viol est
pair. Ainsi en cas de longue série de '0', les bits de bourrage en s'alternant éliminent
la composante continue.

Le décodage de ce système est simple, il consiste à repérer les bits de


viol (facile, il ne respectent pas la règle de l'alternance), puis pour éliminer les bits de
bourrage, il faut savoir qu'un bit de viol est précédé d'une série de trois '0'…
Les Réseaux Locaux Industriels Page 30 / 186
IUT de CACHAN

Représentation fréquentielle.

(***)
Page 31 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

La transmission en bande décalée.

La transmission en bande décalée consiste à traiter l'information pour


modifier sa fréquence et déplacer ainsi son spectre à un endroit donné. Cette
opération s'appelle une modulation.

En effet, si plusieurs personnes "parlent" en même temps en un même


lieu, il est assez difficile d'extraire la parole de l'un de la parole de l'autre. Dans le cas
de la radio, un grand nombre d'émetteurs qui "parlent" en même temps, mais
heureusement pour nos oreilles, grâce aux modulations, pas aux mêmes fréquences.
De plus, la voix ne se transmet pas bien à grande distance (le milieu ayant tendance
à très vite l'atténuer).

Les techniques de modulation permettent donc à la fois de trouver la


fréquence où le milieu est le plus propice à la transmission, et en même temps à
autoriser que plusieurs émetteurs parlent en même temps.

Bien que relativement peu utilisée dans le monde des réseaux câblés,
les modulations ont fait récemment une entrée remarquable, dans le monde des
réseaux, avec l'apparition des technologies sans fil (WIRELESS).

Cette technique de transmission étant assez spécifique au monde des


télécommunications, je préfère me contenter d'une rapide présentation sans détails
ni fioritures.

Il existe deux familles de modulations analogiques. L'une fait évoluer


l'amplitude d'un signal à haute fréquence en fonction d'un autre signal contenant
l'information. On parle alors de modulation d'amplitude. L'autre fait varier non plus
l'amplitude, mais la phase, ou la fréquence, du signal porteur en fonction du signal
informatif. On parle alors de modulation angulaire.

Les modulations d'amplitude sont en général inadaptées aux signaux


logiques car elles ne savent pas transmettre convenablement un front (on a vu que
l'élément fondamental d'une transmission de signaux numérique est le front du signal
de données). De plus, les modulations d'amplitude sont très sensibles aux bruits.

Les modulation angulaires sont quand à elle beaucoup plus complexes


à mettre en œuvre, mais elles offrent, par contre, de très nombreux avantages
comme une bonne immunité au bruit ou la capacité de transmettre des fronts assez
raides. Elles sont donc beaucoup plus utilisées que les modulations d'amplitude pour
transmettre des signaux numériques.

Les modulations d'amplitude.

Les modulations d'amplitude sont utilisées essentiellement dans des


gammes d'ondes dites telluriques (fréquences qui se propagent par effet de sol sur
de très longues distances).
Les Réseaux Locaux Industriels Page 32 / 186
IUT de CACHAN

Les modulations d'amplitudes reposent sur le principe de la


multiplication de 2 signaux. D'un coté, un signal informatif appelé signal modulant (f)
et d'un signal "haute fréquence" appelé porteuse (p). En sortie, du modulateur on
récupère un signal modulé (s).

Expressions mathématiques.

f et p sont dans notre exemple des sinusoïdes :

p(t ) = A cos(ω 0 t)
f (t ) = B cos(ω ' t)
s(t ) = AB cos(ω 0 t) * cos(ω ' t)

s(t) =
AB
[cos(ω0 + ω ' )t + cos(ω0 − ω ' )t ]
2

On constate que s est composé de deux sinusoïdes. Si on s'intéresse


au spectre de s. Sachant que :
e j ω t + e − jω t
cos(ω t) =
2
et
e jωt ⎯⎯→
TF
δ (ω )

On trouve alors le spectre de s :

AB
s (t ) = [δ (ω 0 + ω ' ) + δ (ω0 − ω ' ) + δ (−ω 0 + ω ' ) + δ (−ω 0 − ω ' )]
4
Cela se traduit par une représentation en fréquence :
Page 33 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Si maintenant on considère que le signal informatif n'est plus une


sinusoïde mais un signal polychromatique (qui est constitué d'un spectre de plusieurs
raies). On peut alors considérer que si la transformée de Fourrier du signal f(t) est
F(ω), on trouve alors l'expression de S(ω).

s (t ) = f (t ) * p (t )
p (t ) = A cos(ω 0 t)
A jω 0 t
⇔ s (t ) = f (t ) * (e + e − jω0t )
2
A A
⇔ s (t ) = f (t ) * e jω0t + f (t ) * e − jω0t
2 2
s (t ) ⎯⎯→ S (ω )
TF

A
⇔ S (ω ) = [ F (ω + ω 0 ) + F (ω − ω 0 )]
2

Ce qui donne le spectre suivant :

Les différentes modulations d'amplitude

Il existe trois grands types de modulation d'amplitude.


Les Réseaux Locaux Industriels Page 34 / 186
IUT de CACHAN

Modulation d'amplitude avec porteuse.

La modulation d'amplitude avec porteuse permet de transmettre le


signal informatif en conservant une image de la porteuse. Le spectre de la
modulation d'amplitude avec porteuse est le suivant :

On peut réaliser une modulation d'amplitude avec porteuse en insérant


une composante continue dans le signal informatif. On peut donc écrire :

f (t ) = B[m + cos(ωt )] et p(t ) = A cos(ω 0 t )


s(t ) = AB[m + cos(ωt )] cos(ω 0 t )
⎧ 1 ⎫
s (t ) = AB ⎨m cos(ω 0 t ) + [cos(ω 0 + ω )t + cos(ω 0 − ω )t ]⎬
⎩ 2 ⎭
Où m est appelé indice de modulation.

En considérant maintenant la valeur absolue de m, on peut décrire trois


types de modulation

• Si |m| = 0, on se trouve dans le cas d'une modulation sans porteuse.


• Si |m| < 1, on est dans un cas de sous modulation.
• Si |m| > 1, on est dans un cas de sur modulation.

On étudiera dans le chapitre suivant le cas des modulations sans


porteuses.

Lorsqu'on réalise une modulation avec porteuse, on utilise


exclusivement des indices de modulation m supérieur à 1. Au dessous de 1, le signal
informatif passant au dessous de zéro volt, on ne peut plus utiliser une détection
d'enveloppe pour la démodulation du signal et seule une détection synchrone permet
de démoduler le signal. Or ce type de démodulation est aussi celui employé pour les
modulations sans porteuses. Dans ce cas, pourquoi consommer de l'énergie à
transmettre une porteuse dont on n'a physiquement pas besoin ?

La représentation temporelle des signaux est alors variable, en fonction


de m. Dans le cas d’une sur modulation (indice m supérieur à 1), le signal informatif
est toujours supérieur à 0.
Page 35 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Modulation d'amplitude avec porteuse (m>1).

Or si le principal avantage de ce type de modulation réside dans la


simplicité de la démodulation par détection d'enveloppe, leur principal défaut réside
dans leur très faible rendement de transmission (généralement inférieur à 50%). Dès
lors qu'une démodulation cohérente est nécessaire, on préfèrera donc des
modulations d'amplitude sans porteuses.

Les modulations d'amplitude sans porteuse.

Les modulations sans porteuse permettent d'économiser la puissance


que l'on fournit à la porteuse et qui fait énormément chuter le rendement de
transmission.

Dans une modulation d'amplitude sans porteuse, on est confronté à la


nécessité de reconstituer une porteuse pour démoduler le signal. Or on a
régulièrement (à chaque fois que le signal informatif passe par zéro volt), une
inversion de la phase de la porteuse.

On peut facilement distinguer par représentation temporelle la


différence entre les modulations avec et sans porteuses.
Les Réseaux Locaux Industriels Page 36 / 186
IUT de CACHAN

Modulation d'amplitude sans porteuse.

Le surcoût engendré par la démodulation de ce signal, classe cette


modulation dans la même gamme de prix que les modulations angulaires, qui sont,
comme on le verra plus loin, beaucoup plus résistantes aux perturbations.

On a donc tendance à ne pas utiliser de modulation d'amplitude sans


porteuse, au profit des modulations angulaires.

Les modulations d'amplitude à bande réduite.

Les modulations à bande réduite sont des techniques de transmission


assez récentes. La plus connue de ces modulations est la modulation BLU (Bande
Latérale Unique). Elle a un rendement de modulation de 100% (toute l'énergie est
utilisée par le signal d'information). Néanmoins elle est extrêmement complexe à
démoduler, ce qui la rend inutilisable dans les réseaux locaux.
Page 37 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le principe de la modulation BLU consiste à éliminer à la fois la


porteuse et la moitié du spectre du signal informatif.

f(ω) p(ω)

−ωΜΑX −ωΜΙΝ ωΜΙΝ ωΜΑX −ω0 ω0

s(ω)

−ω0−ωΜΑX −ω0 ω0 ω0+ωΜΑX


Zone éliminée
−ω0−ωΜΙΝ ω0+ωΜΙΝ

Remarques sur les modulations d'amplitude.

Les modulations d'amplitude sont totalement absentes du monde des


réseaux locaux industriel, les fronts des signaux numériques se prêtant peu à
l’utilisation de modulations d’amplitude. Leur usage est en général limité aux
transmissions de faible qualité ou à de très longues distances.

De plus, leur trop grande sensibilité aux perturbations extérieures en


fait des éléments dangereux. En effet, elles ne protègent pas, voir même, elles
sensibilisent un peu plus, les signaux transmis. Le moindre bruit pouvant déformer
l'enveloppe du signal modulé.

Dés lors on utilise, plus généralement lorsque l'on souhaite transmettre


des données numériques, des modulation angulaires.

Précisons encore que dans le domaine des RLI, l'utilisation de


modulations (angulaires ou d'amplitude) est extrêmement rare.
Les Réseaux Locaux Industriels Page 38 / 186
IUT de CACHAN

Les modulations angulaires.

L'autre méthode pour décaler le spectre du signal informatif est de


modifier la phase ou la fréquence instantanée d'un signal porteur en fonction de
l'amplitude du signal informatif.

Les modulations angulaires sont très utilisées pour les signaux


numériques car elles permettent une bonne transmission des fronts ainsi qu'une
bonne immunité aux bruits (l'amplitude du signal transmis ne contenant pas
d'information).

Contrairement aux paragraphes précédents sur les modulations


d'amplitude où nous avons étudié la transmission de signaux analogiques (donc par
extension de signaux numériques), nous allons parler ici d'un domaine beaucoup
plus réduit en n'abordant que le principe des modulations angulaires numériques.

Il existe deux types de modulations angulaires, l'une joue sur la phase


(PSK), l'autre sur la fréquence (FSK).

La FSK.

La FSK (FREQUENCE SHIFT KEYING) ou modulation par saut de


fréquence, associe à chaque niveau logique, une fréquence de la porteuse.

Le principe de la modulation FSK consiste à utiliser deux sources de


fréquence (f1 et f2) pour générer un signal qui soit la représentation en fréquence du
signal numérique.

f 2 − f1
On définit l'indice de modulation d'une FSK par : X = . Où R est
R
la fréquence maximum du signal de données et f1 et f2, les fréquences de la porteuse
pour respectivement un '0' logique et un '1' logique.

On cherche généralement à produire des indices de modulation assez


proche de 0,66 (occupation spectrale optimum). Or souvent le canal de transmission
utilisé est assez étroit cela revient à dire que f1 et f2 sont imposés et souvent proches
l'une de l'autre. On joue donc sur la fréquence supérieure du signal informatif pour
obtenir l'indice souhaité.

Précisons qu'il est déconseillé de réduire ou d'augmenter (quand c'est


possible) la distance entre f2 et f1 pour des raisons liées à la capacité de
discrimination entre ces 2 valeurs (lorsqu'elles sont trop proches) ou pour éviter une
trop grande occupation spectrale (lorsqu'elles sont trop écartées).
Page 39 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

FSK avec un indice de modulation de 0,6 (***)

FSK avec un indice de modulation de 0,66 à phase continue (***).

FSK avec un indice de modulation de 0,8 (***).

Il faut là encore distinguer deux famille de FSK, d'une part les FSK à
phase continue, c'est à dire sans saut de phase lors du passage de f1 à f2 (et
inversement), ou les FSK à phase discontinue où des saut de phase peuvent avoir
lieu.
Les Réseaux Locaux Industriels Page 40 / 186
IUT de CACHAN

Comme présenté dans les exemples précédents, les FSK à phase


continue ont un bien meilleur spectre (largeur réduite) que leurs équivalentes à
phase discontinue. Bien entendu, les FSK à phase continue sont bien plus
complexes à réaliser que les FSK à phase discontinue.

La PSK.

La PSK (Phase Shift Keying) est une autre forme de modulation


angulaire. Elle agit par saut de phase.

Il existe là encore un grand nombre de PSK utilisant différentes


techniques pour traduire le code numérique transmis.

Certaines PSK standard code le '1' logique comme un signal avec une
phase de 180° et le '0' comme un signal avec une phase nulle. Il s'agit ici de valeurs
de phase absolues.

D'autres PSK (les DPSK pour differential PSK) codent la phase


relativement à la valeur précédente. Ainsi les '1' logiques et '0' logiques
correspondent à des sauts de phase respectivement de +90° et de -90° par rapport à
sa phase précédente du signal.

Il existe aussi des PSK qui codent, en même temps, plusieurs bits. Par
exemple avec deux bits, on va établir quatre déphasages en fonction de la valeur des
deux bits. Par exemple le "00" correspond à un déphasage nul, le "01" comme un
déphasage de 90°, etc.

Attention, plus la PSK va coder un grand nombre de bit à la fois (et


ainsi augmenter le débit de la liaison), plus il est difficile de discriminer entre deux
phases, donc plus il est compliqué de réaliser le démodulateur.
Page 41 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Rappels sur les modulations analogiques.

On va retrouver ci-dessous, après l'horloge, une autre forme de


modulation, la PWM. Comme elle n'est pas utilisée dans les réseaux, je ne ferais
aucun commentaire dessus.

Code binaire

Alimentation

Signal binaire

Horloge

PWM

Porteuse

AM avec
porteuse

FSK

PSK

(***)
Les Réseaux Locaux Industriels Page 42 / 186
IUT de CACHAN

Les techniques de transmission de l'information.

D
ans ce chapitre, nous allons étudier toujours de le cadre de la transmission
des données, comment on prépare ces données en vue d’une transmission
où l'on peut grâce à un codage approprié améliorer la qualité, la vitesse ou la
quantité des données transmises.

Le codage des informations.

Le codage des informations est utilisé dans les transmissions, aussi


bien en bande de base qu'en bande décalée, pour éviter la transmission d'erreurs.

Une erreur étant toujours inacceptable, il convient pour l’éviter, de


fournir, en plus des données, un code qui permet, dans le pire des cas, de détecter
les erreurs et dans le meilleur, de les corriger.

Le codage de la parité.

Le code le plus simple pour transférer une information est le codage de


la parité. Cette méthode, la plus élémentaire, fut l'une des premières à être utilisée.

Son principe est assez simple, il s'agit d'ajouter un bit supplémentaire


aux données transmises. Dans le cas d'une parité paire, ce bit permet au message
d'être composé d'un nombre toujours pair de bits à '1', et dans le cas d'une parité
impaire, un nombre toujours impaire de bits à '1'. Ce codage est réalisé au moyen de
la fonction OU EXCLUSIF pour la parité paire et NON OU EXCLUSIF pour la parité
impaire.

Au décodage, on va utiliser la même fonction logique que celle utilisée


pour le codage pour valider le message. Par exemple avec la parité paire, on va
réaliser une fonction OU EXCLUSIF entre les n bits du message et le bit de parité. Si
le résultat vaut '0', le message est réputé vrai, si le résultat vaut '1' il est réputé faux.

Il faut toutefois relativiser ce résultat, en effet un code de parité ne sait


détecter qu'un nombre impair d'erreur. Il lui est impossible de détecter deux erreurs.
On considère donc que les codes de parité simple ne savent détecter qu'une seule
erreur.

On peut aussi s'intéresser à la quantité de bits de contrôle transmis par


message. Dans le cas d'un code de parité simple, on considère en général qu'il est
dangereux de dépasser une proportion de 1/8 soit un bit de contrôle pour huit bits de
données.
Page 43 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Une évolution des codes de parité consiste à introduire une redondance


des codages.

Ainsi, on peut envisager, toujours en utilisant un contrôle de parité, de


retrouver le bit erroné. Envisageons d'envoyer un message de 5 mots de 5 bits, on
peut alors coder de la façon suivante le message.

Coté émission, à l'extrémité de chaque ligne, on place un bit de parité


paire et on fait la même chose avec les colonnes.

On nomme parité transverse les bits de parités créés pour chaque


colonne et parité longitudinale ceux créés pour chaque ligne.

1 0 0 1 1 1 1 0 0 1 1 1 0
1 1 0 0 0 0 1 1 0 0 0 0 0
1 0 1 0 0 0 1 0 1 1 0 0 1
0 1 0 1 1 1 0 1 0 1 1 1 0
1 0 0 0 1 0 1 0 0 0 1 0 0
0 0 1 0 1 0 0 0 1 0 1 0 0
Emis 0 0 0 1 0 0 1
Reçu

Les signaux émis sont : 100111 110000 101000 010111 100010 001010
Les signaux reçus sont : 100111 110000 101100 010111 100010 001010

A la réception, on récupère le message qui a été transmis et on lui


applique encore une fois un contrôle de parité longitudinal et transverse. Si une
erreur s'est glissée dans le code, immanquablement une parité longitudinale et une
parité transverse sont à '1'. Cela signifie qu'il y a eut une erreur dans la transmission.

Dans notre exemple, en vérifiant les valeurs de contrôle, on constate


qu'il y a 2 codes de contrôle non valable, l'un sur une ligne, l'autre sur une colonne.
Donc on connaît rigoureusement l'emplacement de l'erreur.

Ce code permet donc de corriger l’erreur puisqu’elle est placée à


l’intersection des 2 lignes et colonnes fautives. Toutefois, si à la réception, il y a deux
ou trois erreurs, il y aura toujours systématiquement au moins un bit de parité
transverse ou longitudinale à '1'. On peut donc détecter jusqu'à trois erreurs. Par
contre, on ne peut corriger qu'une seule erreur.

La proportion des bits de contrôle par rapport aux bits de données, au


moment de la transmission, passe (dans notre exemple) de 1/5 (0,2) pour une parité
simple à 11/25 (0,44) pour les parités composées.
Les Réseaux Locaux Industriels Page 44 / 186
IUT de CACHAN

Les codages redondants.

Les codages redondants augmentent le nombre de bits du message


pour permettre de détecter d'éventuelles erreurs et éventuellement de les corriger.

Le code le plus connu est celui de HAMMING, bien que pratiquement


abandonné, il fut le codes des premières transmissions numériques.

Exemple.

Imaginons que l'on cherche à transmettre un mot de 4 bits. Le code de


HAMMING nous dit que pour n bits d'information, il faut k bits de contrôle pour
corriger une erreur. On peut exprimer k en fonction de n grâce à la formule suivante :
2k ≥ n + k +1
Par itération, on peut résoudre cette équation. Pour n = 4, on a k = 3.
Cela veut dire que l'on va transmettre 7 bits (m = k + n). Il faut maintenant coder les
k bits en vue de la transmission.

Pour cela on va coder dans un tableau toutes les possibilités d'erreur


dans le message. Il y a pour un message de m bits, m+1 possibilité d'erreur. Ce
tableau est composé de k (=3) colonnes. D'où la formule précédente (m+1 = n+k+1
et 2k représente le nombre de ligne identifiable avec k colonnes).

Erreur sur le e3 e2 e1
bit
aucun 0 0 0
er
1 bit (m1) 0 0 1
2ème bit (m2) 0 1 0
3ème bit (m3) 0 1 1
4ème bit (m4) 1 0 0
5ème bit (m5) 1 0 1
6ème bit (m6) 1 1 0
7ème bit (m7) 1 1 1

On sort maintenant les équations de e1, e2 et e3, et on trouve :

e1=m1 ⊕ m3 ⊕ m5 ⊕ m7 Le signe ⊕ signifie une addition


e2=m2 ⊕ m3 ⊕ m6 ⊕ m7 modulo 2 ce qui peut se traduire par
e3=m4 ⊕ m5 ⊕ m6 ⊕ m7 1⊕1=0. ⊕ est l’opérateur Ou Exclusif

Si l’on regarde bien, on se rend compte que les termes m1, m2 et m4


n’apparaissent qu’une seule fois dans les équations. On peut donc en faire (pour
simplifier les équations) les bits de codage de Hamming.
Page 45 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le message transmis étant alors composé de la façon suivante :

m7 m6 m5 m4 m3 m2 m1
n4 n3 n2 k3 n1 k2 k1

Pour terminer la réalisation de notre codage, il reste à remplir le tableau, c’est


à dire trouver les valeurs de k1, k2 et k3 qui rendent e1, e2 et e3 nuls. En effet, le
message n’étant pas encore émis, il n’est pas sensé contenir d’erreur.

Pour trouver la valeur de m1, m2 et m4, il suffit d’écrire :

k1 = m1 = e1 ⊕ m3 ⊕ m5 ⊕ m7
k2 = m2 = e2 ⊕ m3 ⊕ m6 ⊕ m7
k3 = m4 = e3 ⊕ m5 ⊕ m6 ⊕ m7

Comme e1, e2 et e3 sont nuls, on trouve :

k1 = m3 ⊕ m5 ⊕ m7
k2 = m3 ⊕ m6 ⊕ m7
k3 = m5 ⊕ m6 ⊕ m7

Ce qui donne le tableau suivant :

m7 m6 m5 m4 m3 m2 m1
n4 n3 n2 k3 n1 k2 k1 n= k=
0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 3
0 0 1 1 0 0 1 2 5
0 0 1 1 1 1 0 3 6
0 1 0 1 0 1 0 4 6
0 1 0 1 1 0 1 5 5
0 1 1 0 0 1 1 6 3
0 1 1 0 1 0 0 7 0
1 0 0 1 0 1 1 8 7
1 0 0 1 1 0 0 9 4
1 0 1 0 0 1 0 10 2
1 0 1 0 1 0 1 11 1
1 1 0 0 0 0 1 12 1
1 1 0 0 1 1 0 13 2
1 1 1 1 0 0 0 14 4
1 1 1 1 1 1 1 15 7

A la réception, il suffit de calculer les valeurs de e1, e2 et e3 pour définir


s’il y a eut une erreur et où elle se situe. On est alors capable de transmettre un
message en détectant les erreurs et en les corrigeant.
Les Réseaux Locaux Industriels Page 46 / 186
IUT de CACHAN

Ainsi, si le message à envoyer est 1100, on a k3=0, k2=0 et k1=1 donc


le message transmis est 1100001. Mais si en route, une erreur apparaît sur le 3ème
bit, le message reçu devient 1100101, en utilisant le décodeur de Hamming, on
trouve :

e1=m1⊕m3⊕m5⊕m7=1⊕1⊕0⊕1=1 e3 e2 e1 décimal
e2=m2⊕m3⊕m6⊕m7=0⊕1⊕1⊕1=1 0 1 1 3
e3=m4⊕m5⊕m6⊕m7=0⊕0⊕1⊕1=0
On trouve alors

On sait donc où l’erreur se situe car e1, e2 et e3 indiquent une erreur sur
le 3ème bit. On peut donc corriger le code reçu et écrire que le code sans erreur est
1100001 donc que le message est 1100.

Avec ce code de Hamming, on sait donc corriger une erreur sur un bit
mais on est capable, sans les corriger, de détecter jusqu'à trois erreurs.

Quand à la proportion des bits de contrôle, on constate que plus n est


grand, plus k augmente, mais pas de façon linéaire. Par exemple, si pour détecter 3
erreurs, il y a besoin de 3 bits de contrôle pour 4 bits de données, avec 112 bits de
données, il suffit d'utiliser 7 bits de contrôle.

Attention, rappelons que la probabilité d'erreur s'accroît linéairement


avec le nombre de bits transmis. Pour une transmission de 119 bits, le risque
d'erreur est donc 17 fois plus grand que pour une transmission de 7 bits. Aussi, pour
une telle quantité de données, il serait raisonnable d'utiliser un code de Hamming
plus puissant, c'est à dire capable de détecter plus d'erreur.

Les codes CRC.

Les codes CRC ou CYCLICAL REDUNDANCY CHECK (contrôle par


redondance cyclique) sont basés sur une série d'opérations arithmétiques.

Tout commence par l'élaboration de la forme polynomiale du message


binaire. Par exemple, 110100, c'est à dire 1⋅ 2 5 + 1⋅ 2 4 +0 ⋅ 2 3 +1⋅ 2 2 +0 ⋅ 21 +0 ⋅ 2 0 s'écrit
sous forme polynomiale x5+x4+x2. On nomme ce polynôme P(x). Puis on applique la
formule suivante :
P( x) ⋅ x v G (x )
Q (x )
R (x )

Où G(x) est un polynôme, défini par le protocole du réseau, connu de


l'émetteur et du récepteur et de degré v. Q(x) est le quotient de la division de P(x).xv
par G(x) et donc R(x) est le reste de la division.

Puisque G(x) est de degré v, R(x) est forcément d'un degré inférieur ou
égal à v. C'est ce reste R(x) qui va être transmis en plus de P(x) au récepteur.
Page 47 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

A l'arrivée, on connaît donc R(x) (le reste transmis avec le message),


v (qui est obtenu par analyse de G(x)), G(x) (connu par définition) et P(x) (le
message transmis). On va alors refaire le même calcul que celui réalisé par
l'émetteur et comparer les restes des deux divisions.

S’il y a une différence entre les deux restes, on est sûr alors qu'une
erreur s'est glissée dans la transmission.

G(x) est défini par la norme de transmission utilisée. L'avis V41 de la


norme CCITT (Comité Consultatif International pour le Télégraphe et le Téléphone)
définit G(x) comme :
G(x)=x16+x12+x5+1

Pour le réseau CAN, le code G(x) vaut x15+x14+x10+x8+x7+x4+x3+1

Et c'est là que l'on constate l'efficacité du code CRC, puisque dans le


cas du bus CAN, il permet de repérer les erreurs suivantes :

• Toutes les salves d'erreurs comportant un nombre impair de termes


• Toutes les salves d'erreurs comportant moins de 17 bits.
• 99,998% des salves d'erreurs de plus de 16 bits.

C'est ce qui fait que le codage CRC est très utilisé pour les supports
peu fiables, mais aussi dans la majeure partie des réseaux.

Du point de vue des proportions entre le nombre de bits de données et


le nombre de bits de contrôle, on constate que, par exemple, le réseau Ethernet
utilise un code CRC de 32 bits qui lui permet d'assurer la sécurité de sa trame de
donnée qui peut contenir jusqu'à 1526 octets, soit un rapport de 4/1526 (0,0026).

Plus généralement, les codes CRC sur 64 bits sont utilisés par les
logiciels de compression de données (ZIP ou RAR) pour valider des fichiers pouvant
atteindre plusieurs dizaine de Méga octets.

Il faut toutefois se rendre compte que les codes CRC que nous vous
avons présentés ne permettent pas de corriger les erreurs, de même, ils n'assurent
aucune confidentialité aux communications malgré leur grande similarité avec les
codes de cryptage, militaires ou civil. Il existe tout de même des codes CRC
correcteurs d'erreurs, mais nous ne les étudieront pas.

Correction d'erreurs de transmission.

Dans le monde des réseaux, les codes ne sont là que pour détecter les
erreurs de transmission, même si ils sont capables de les corriger. La capacité de
transfert des réseaux moderne, et la sensibilité des données, sont telles que l'on
préfère retransmettre un paquet si il est susceptible de contenir des erreurs plutôt
que d'en commettre de nouvelles par des corrections hasardeuses.
Les Réseaux Locaux Industriels Page 48 / 186
IUT de CACHAN

Le Multiplexage
Depuis toujours, l'objectif des transmissions est de transmettre plus de
données dans un minimum d'espace. Actuellement, avec la multiplication des
réseaux hertziens, avec l'essor de la téléphonie, le manque de place est cruel. Or le
monde des transmissions est régit par une loi intangible :

Pour transmettre plusieurs signaux sur un même canal, il faut être capable de
tous les extraire.

Cela imposait donc de décaler soit dans le temps, soit en fréquence les
signaux à transmettre. Cette technique appelée multiplexage, se conjugue donc
selon 2 axes : d'un coté l'axe temporel, de l'autre, l'axe fréquentiel. Dans les 2 cas,
cela revient à découper la bande autorisée en petits intervalles qui seront autant de
voies de communication.

Le multiplexage fréquentiel.

Le multiplexage fréquentiel, c'est réaliser un découpage de la bande de


fréquence dont on dispose en intervalles de la taille de la voie de communication.
Cette technique fut très utilisée en télécommunication, à l'époque où les systèmes
numériques n'étaient pas aussi performants qu'aujourd'hui.

La voix humaine telle que les télécoms l'imaginent, est un signal


occupant une bande de 300 à 3400Hz (vision un peu restrictive puisqu'en général,
on juge que la parole occupe une bande de 20Hz à 20KHz). Grâce à cette restriction
de la bande de fréquence, et au multiplexage fréquentiel, on peut placer environ
1800 communications simultanées sur une même ligne.

Spectre de
la parole

f
300 3400
1 12

f
4KHz Multiplexage de 108KHz
plusieurs voies de
60KHz communication.
Exemple de multiplexage fréquentiel à 12 voies

Néanmoins, on ne peut réaliser directement le multiplexage de 1800


voies, on doit procéder par étapes.
Page 49 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Tout d'abord, on part du poste téléphonique vers le boîtier d'interconnexion


téléphonique de l'immeuble (ou de la rue, c'est selon), jusque là, votre ligne est
personnelle, vous êtes le seul à l'utiliser (c'est d'ailleurs cette ligne que l'on peut vous
pirater). Arrivée au premier poste d'interconnexion, votre ligne est multiplexée avec
celles de vos voisins qui sont en train de communiquer, et expédiée sur une ligne
composée de 12 voies.

Cette ligne à 12 voies va vers le poste central où elle sera encore


multiplexée avec d'autres voies de même gabarit pour créer sur une ligne un canal
de 144 voies. Ce canal est alors assemblé à d'autre de même taille pour former une
ligne de 1728 voies.

Précisons toutefois que comme vous n'êtes pas dépositaire d'une


fréquence fixée, et donc que vous utilisez la première fréquence disponible au niveau
du central immeuble, il y a en systématiquement, en plus des voies de
communication, des voies de codage qui sont ajoutées, et ainsi permettent
d'acheminer toutes les conversations vers leurs destinataires respectifs.

On représente en général, les opérations de multiplexage de la façon


suivante :

1728 voies
multiplexées de
612 à 3100KHz

144 voies
multiplexées de
312 à 552KHz

12 voies
multiplexées de
60 à 108KHz
Les Réseaux Locaux Industriels Page 50 / 186
IUT de CACHAN

Le multiplexage temporel.

Cette méthode de multiplexage fut créée avec l'avancée des


technologies numériques. Moins coûteuse que le multiplexage fréquentiel qui
nécessite une pléthore de porteuses accordées très finement, et des modulations
BLU (donc plutôt complexe à réaliser), le multiplexage numérique n'utilise qu'une
seule horloge, couplée avec des composants numériques à haute fréquence.

C'est donc avec l'intégration des composants numériques que l'on a su


réaliser des centraux numériques à haut débit, ouvrant ainsi la voie au multiplexage
temporel (rappelons que c'est en 1996, que l'intégralité du système de
communication, de FRANCE TELECOM, est passé au numérique).

Le principe du multiplexage temporel, c'est découper la parole ou les


données en petits éléments simples (des échantillons), qui seront numérisés pour
former des données numériques (paquets) elles mêmes transmises dans un bref
intervalle de temps (time slot). On y accolera alors les bits issus d'un paquet émis par
une autre source. L'ensemble de ces paquets formant une trame. Lors de la trame
suivante, on place dans l'espace qui nous est imparti le paquet suivant.

On a donc une liaison discontinue avec notre interlocuteur. Mais si


l'émission de ces petits morceaux de parole, se fait à une cadence très élevée, cela
permet de rendre ce phénomène inaudible (c'est le principe de l'échantillonnage).

Il faut remarquer que de nos jours une troisième forme de multiplexage


est apparue, il s'agit de la technologie employée pour les systèmes UMTS, on la
nomme multiplexage de puissance. Dans l'illustration précédente, un axe n'est pas
exploité (l'axe P pour puissance), c'est selon cet axe que se réalise ce multiplexage.
Page 51 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le concept de cette modulation totalement numérique est de mélanger


aux informations à transmettre un code pseudo-aléatoire à très haute fréquence, puis
à la réception d'utiliser des systèmes de corrélation pour extraire les informations.

Par cette technique, on arrive à extraire, parmi plusieurs autres


signaux, transmis en même temps, et à la même fréquence, un signal par la seule
connaissance de son code pseudo-aléatoire.

Cette technique est aussi utilisée (mais cette fois ci à des fins de
protection) dans le concept du GPS.
Les Réseaux Locaux Industriels Page 52 / 186
IUT de CACHAN

Le vocabulaire des transmissions.

C
e paragraphe est un petit lexique de certains termes dont l'usage est courant
dans les transmissions.

FULL DUPLEX : Méthode de transmission permettant à 2 machines de se


parler en même temps (pas forcément sur la même ligne).

HALF DUPLEX : Méthode de transmission permettant à 2 machines de se


parler sur une même ligne, mais pas en même temps.

SIMPLEX : Méthode de transmission imposant sur une ligne une machine qui
parle et une seule, sans possibilité pour qu'une autre machine ne parle.

MODEM : (Modulateur Démodulateur), outil permettant de dialoguer sur une


ligne téléphonique et répondant aux formats standards des normes de
communication téléphonique.

UART : (Transmetteur Récepteur Asynchrone Universel) composant


électronique permettant de recevoir et de transmettre les données sur une liaison
série, en gérant le contrôle de parité.

BAUD : unité de transmission représentant le nombre d'événement transmis


en une seconde. Il s'oppose aux bits par seconde par le fait qu'une mesure en bits
par seconde ne peut s'appliquer qu'aux signaux binaires.
Dans le cas d'une transmission d'un signal à 2 états, un baud est égal à un bit par
seconde.

INTERCONNEXION : Il existe plusieurs types de connexions, permettant une


certaine diversité de câblage, rendant plus simple l'adaptation du réseau à la
topologie du lieu. On en distinguera deux : la connexion "point à point" et la
connexion répartie. La connexion "point à point" consiste à établir des liaisons entre
uniquement deux machines et la connexion multipoints (ou répartie) à n'utiliser
qu'une seule ligne pour relier toutes les machines.

Machine n°1 Machine n°2 Machine n°4

Machine n°3
Interconnexion Machine n°5
point à point.
Interconnexion
répartie.
Page 53 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

LE TEMPS REEL : Cette notion, que vous allez étudier dans d'autres cours,
est un élément très important dans les réseaux locaux. La notion de temps réel, c'est
en fait la capacité qu'à un système pour répondre en un temps donné.

Prenons l'exemple d'un banc de perçage automatique, on dispose en


général d'un capteur permettant de détecter une rupture du foré. En cas de rupture, il
convient de réagir relativement vite, soit en détournant les pièces sur d'autres unités
de perçage, soit en stoppant la chaîne pour permettre un remplacement de la pièce
défectueuse. Il faut donc que l'information arrive à l'ordinateur central avant qu'une
nouvelle pièce se présente. Donc l'ordre répondant à une rupture du foré doit être
traité en un temps limite. Ce temps limite est à la base de la notion de temps réel.

Le temps réel veut dire qu'au pire, n µs après l'envoie d'un ordre, il doit
être arrivé à l'ordinateur traitant ce problème et que p µs après, ces données doivent
être traitées et revenir aux différents actionneurs.

RESEAU DETERMINISTE : On dit qu'un réseau est déterministe lorsqu'il n'y a


pas de hasard dans la méthode d'accès (l'ordre de parole des machines est
déterminé). On l'oppose en général aux réseaux à accès aléatoire

NOEUDS : Point de connexion d’une machine avec le réseau. Ce terme


exprime le nombre d’éléments reliés à un réseau. Attention, entre 2 nœuds, on peut
placer un répéteur, celui ci ne sera pas comptabilisé puisqu'il n’est pas actif vis à vis
du transfert d’information.

WATCHDOG : Dispositif totalement indépendant et généralement implanté


directement dans le silicium des composants électroniques, il permet de redémarrer
automatiquement la machine en cas de défaillance de ses ou son logiciel.

BIG ENDIAN : Le bit de poids fort est transmis en premier, le bit de poids
faible à la fin.

SMALL ENDIAN : Inverse de BIG ENDIAN, cela consiste à transmettre le


poids faible d'abord et le poids fort à la fin.

DTE : Digital Terminal Equipment, autrement dit, il s'agit d'un équipement de


fin de ligne (c'est à dire producteur ou consommateur de données), comme par
exemple un ordinateur.

DCE : Digital Communication Equipment, autrement dit un élément utilisé


dans le transfert de l'information, qui est donc susceptible d'en modifier la forme mais
pas le contenu, par exemple un MODEM.
Les Réseaux Locaux Industriels Page 54 / 186
IUT de CACHAN

Les premiers réseaux informatiques.

A
vant d'essayer d'analyser les réseaux modernes, nous allons "continuer"
l'historique en étudiant certaines vieilleries. Elles furent à l'origine de toutes
améliorations et de tous les éléments actuels (les réseaux en particulier).

La norme RS232

Les puristes pourraient vous le dire, RS 232 est une façon de faire
communiquer 2 machines entre elles, mais en aucun cas le terme réseau ne peut lui
être appliqué. Ceci est une pure vérité, mais, comme il faut bien commencer quelque
part, commençons donc par ce système puisque je suis sûr que vous en avez
entendu parlé (peut être sous le nom de liaison série).

La norme RS 232 permet de connecter entre elles 2 et seulement 2


machines. Entre ces machines va circuler, via une liaison série à 3 ou à 9 fils,
l'information à transmettre. Les signaux présents sur ces fils, auxquels il convient
d'ajouter la masse, sont :

TD Transmission Sortie
RD Réception Entrée
RTS Ready To Send (demande d'émission) Sortie
CTS Clear To Send (prêt à émettre) Entrée
DSR Data Set Ready (données prêtes) Entrée
DCD Data Carrier Detect (détection de porteuse) Entrée
DTR Data Terminal Ready (terminal prêt) Sortie
RI Ring Indicator (détection de sonnerie) Entrée

Présentation.

La norme RS 232 est un protocole de transmission série qui permet des


transmissions full duplex, half duplex ou même simplex. Les signaux transmis sont
codés en ±12V avec le "1" logique équivalant à un niveau -12V. La communication
est régie par des paramètres matériels qui doivent être identiques sur les deux
machines en communication :

♦ Le débit : Il peut être choisi, selon les versions de la norme entre 75 bauds
et plusieurs centaines de kilo-bauds (valeur typique 9600 bauds).
♦ Le nombre de bits de données : Il peut varier de 4 à 8 bits.
♦ Le nombre de bits d'arrêts : Il peut être 1, 1,5 ou 2.
♦ Le type de contrôle de la parité. Il peut être choisi parmi trois possibilités :
• pas de contrôle de parité;
• parité paire (le message contient un nombre pair de '1');
• parité impaire (le message contient un nombre impair de '1').
Page 55 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

En outre, une fois les paramètres matériels définis à l'identique sur les
deux machines, pour quelles communiquent, on doit choisir un mode de
transmission, c'est à dire définir le processus de contrôle de flux utilisé pour la liaison
série.

Contrôle de flux

La notion de contrôle de flux doit être comprise comme un moyen mis


en œuvre pour faire en sorte qu'entre deux machines connectées à une liaison série
avec un débit fixe et des vitesses de traitement différentes selon les machines, on
s'aligne sur la capacité de traitement la plus lente.

Même si de nos jours, la capacité de traitement des ordinateurs


modernes rend ridicule le temps de traitement de l'information par rapport à la durée
d'un bit, il existe toujours des cas où ce contrôle est indispensable.

Il existe trois possibilités pour le contrôle de flux :


• Le contrôle de flux matériel.
• Le contrôle de flux logiciel.
• Pas de contrôle flux.

Le contrôle de flux matériel.

Le contrôle de flux matériel, consiste à utiliser des signaux


supplémentaires pour "rythmer" les échanges, c'est à dire que les machines en
communication vont transmettre des données de contrôle sur des voies
supplémentaires.

Il existe plusieurs méthodes de contrôle de flux matériel utilisant plus ou


moins de signaux.

Le cas général (celui décrit par la


norme RS-232) utilise sept signaux nommés
CTS (Clear To Send), RTS (Request To
Send), DSR (Data Set Ready), DTR (Data
Terminal Ready), TD (Transmit Data), RD
(Received Data) et DCD (Data Carrier
Detected) auxquels on ajoute une masse.

Dans le câblage, on associe ces


signaux par paire : DTR avec DSR (et DCD),
RTS avec CTS et TD avec RD. On a alors
besoin d'une liaison à 7 fils.
Les Réseaux Locaux Industriels Page 56 / 186
IUT de CACHAN

Parmi les autres possibilités, de câblage, il existe des liaisons à 5


(contrôle de flux partiel) et à 3 fils (sans contrôle de flux matériel).

Liaison à 5 fils Liaison à 3 fils

Le contrôle de flux logiciel.

On peut aussi utiliser un protocole logiciel pour contrôler le flux des


échanges. Cette fois-ci, la connexion n'a plus besoin des signaux RTS, CTS, DTR,
DSR et DCD, on peut donc se limiter à une liaison à 3 fils.

C'est au niveau du logiciel que les machines vont contrôler leurs


échanges de données. Le protocole (puisqu'il s'agit là d'un protocole) se nomme
Xon/Xoff. Il est limité aux échanges en ASCII. Il est impossible d'utiliser ce protocole
pour envoyer des informations binaires. De plus ce protocole nécessite une liaison
FULL DUPLEX.

Les codes ASCII utilisés pour contrôler les échanges sont Xon, qui est
le code ASCII 17 (0x11) ou Ctrl Q, et Xoff qui est le code ASCII 19 (0x13) ou Ctrl S.

Le principe de fonctionnement de ce contrôle de flux repose sur un


concept d'automatique simple.

Du point de vue de la machine réceptrice qui, à l'origine, est


naturellement prête à recevoir des données; chaque octet reçu est stocké dans un
tampon de réception.

Lorsque ce tampon de réception atteint un certain pourcentage


d'occupation (en général 80%), la machine réceptrice envoie le caractère Xoff à
l'émetteur. Elle va alors traiter les données reçues pour vider le tampon de réception.

Une fois atteint un second seuil (50% en général), elle envoie alors à
l'émetteur le caractère Xon pour que le transfert de données puisse reprendre.
Page 57 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Du coté émetteur, la réception du Xoff bloque l'émission jusqu'à la


réception d'un Xon.

Concept du contrôle de flux logiciel pour le récepteur.

Concept du contrôle de flux logiciel pour l'émetteur.


Les Réseaux Locaux Industriels Page 58 / 186
IUT de CACHAN

Application.

Ainsi une transmission de 7 bits de données avec un contrôle de parité


paire et 2 bits de stop à 9600 bauds représente une transmission de 11 bits au total
dont 7 utiles. Soit (9600*7) / 11 = 6110 bits utiles/s.

Une fois ces points définis, on peut transmettre les données en utilisant
un UART. La forme des trames est alors la suivante :

Trame RS 232

0 1 1 0 0 1 0 1 0 1

Données utiles Bits de stop


7 bits de données (2 bits)

Bit de start Bit de parité


(parité impaire)

La réception des données est réalisée par l’horloge interne d’un UART,
multiple de la fréquence de transmission (horloge interne = N * horloge transmission)
pour lui permettre de se synchroniser avec le signal transmis.

Un front descendant du signal permet de définir le début du bit de start


(qui vaut '0' alors que la ligne inoccupée ou le stop est à '1'), on a alors un comptage
des fronts de l'horloge interne. Comme on a défini le débit de la transmission, le
récepteur sait combien de fronts de l’horloge interne (N) représentent un bit transmis,
à N/2, l’UART saisit la donnée présente sur la ligne. On fait de même avec les autres
bits de la transmission à 3N/2, 5N/2, etc.

Ainsi on reconstitue le message sans qu'il soit nécessaire de


transmettre l'horloge. Toutefois, ceci n'est valable que pour des messages de faible
longueur faute de quoi, la désynchronisation des horloges risque de poser des
problèmes qui peuvent engendrer une perte de données. Il suffit, pour éviter ces
dysfonctionnements de resynchroniser l’horloge de réception à chaque front montant
et (ou) à chaque front descendant du signal de données.

La norme RS 232 est désormais réservée à une utilisation basique.


Certaine évolutions (RS 422, RS 423 et RS 485) de la norme permettent des débits
bien supérieurs entre de multiples machines. Toutefois, elle ne sont pas "de série"
sur les ordinateurs modernes, ce qui est un handicape sévère à leur développement.
Page 59 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le bus IEEE 488.

Le bus IEEE 488 est le premier bus d'instrumentation qui a connu une
normalisation, né du bus HPIB (HEWLETT PACKARD INSTRUMENTATION BUS),
ce bus est exclusivement dédié à l'automatisation de chaînes de mesures.

Il permet de transférer des données, de manière bidirectionnelle, sur un


bus de 8 bits grâce à un protocole de dialogue HALF DUPLEX asynchrone. La
connexion des machines entre elles est réalisée au moyen d'un câble de 16 fils qui
se branche par une liaison répartie sur le connecteur IEEE.

Le bus est obligatoirement géré par un contrôleur (souvent l'unité de


traitement des données). Sur ce bus, toutes les machines (dont le contrôleur)
peuvent être alternativement TALKER (émetteur) ou LISTENER (récepteur). Il ne
doit il y avoir plus un émetteur à la fois, mais il peut y avoir plusieurs récepteurs.

On peut connecter jusqu'à 15 machines (dont le contrôleur) et atteindre


des débits de 1Moctets par seconde sur une longueur totale de la ligne ne dépassant
pas 15m (soit 1m entre chaque machine). Aucun segment entre deux machine ne
doit être plus grand que 2m.

Les signaux qui transitent sur les lignes sont de 3 types (les nombres
entre parenthèse représentent le numéro de broche sur le connecteur IEC) :

Les signaux de données de D0 (1) à D4 (4) et de D5 (14) à D8 (17)


Les signaux de contrôle REN (5), IFC (10), ATN (12), SRQ (11) et EOI (6).
Les signaux de contrôle du flux DAV (7), NRFD (8), NDAC (9).
Tous les autres fils sont reliés à la masse.

1 13

14 25
Connecteur IEEE 488 (modèle IEC)

Etudes des signaux de contrôle des machines :

Le signal REN (Remote ENable).

REN permet une prise en main d'une machine par le bus. Dans le cas
où le signal REN est à "0", les instruments (de mesure ou de visualisation) sont
accessibles par leurs faces avant. Si REN est à 1, les instruments sont pilotés par le
bus et leur face avant est désactivée.

On peut alors les commander par envoi de données. Le format des


messages est alors un code ASCII, tel que le constructeur de la machine l'a définit.
Les Réseaux Locaux Industriels Page 60 / 186
IUT de CACHAN

Le signal IFC (InterFace Clear).

IFC permet au contrôleur du bus d'initialiser toutes les machines reliées


à lui. Lorsque IFC est à 1, toutes les machines s'arrêtent. On libère la ligne et ainsi
les signaux de contrôle des données restent libre et permettent au contrôleur
d'initialiser les machines.

Le signal ATN (ATtentioN).

ATN permet au contrôleur du bus de prendre la parole. Lorsque ATN


est à 1, le contrôleur devient aussi l'émetteur d'ordres de fonctionnement. C'est à dire
qu'il ne fournit plus des données mais des commandes. Quand ATN est à 0, le
contrôleur est une machine comme les autres, émettrice ou réceptrice selon la
programmation et les signaux sur le bus sont alors des données.

Le signal SRQ (Service ReQuest).

Ce signal (optionnel) est utilisé par les machines (certaines seulement)


pour prévenir le contrôleur de la nécessité de donner de nouveaux ordres. Cette
ligne est commune à toutes les machines donc le contrôleur se doit de décoder, suite
au passage à 1 de SRQ, l'adresse de la machine demandeuse.

Le signal EOI (End Or Identify).

Le signal EOI permet au contrôleur de définir la machine qui lui


demande de l'aide grâce à SRQ (identification).

Ces signaux sont transmis avec une masse pour améliorer l'immunité
aux bruits. Les masses sont placées sur les broches 13 et de 18 à 25

Etude du HAND-SHAKE (contrôle du flux) :

L'utilisation d'un protocole asynchrone impose un ensemble de signaux


de commande. Les signaux utilisés sont :

Le signal DAV (DAta Valid).

DAV permet à l'émetteur de signaler au(x) récepteur(s) que les


données présentées sur le bus sont valables et peuvent être saisies.
Page 61 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le signal NRFD (Not Ready For Data).

NRFD permet à un récepteur de signaler à l'émetteur qu'il ne peut saisir


une donnée qu'il pourrait présenter sur le bus.

Le signal NDAC (No Data ACepted).

NDAC permet à un récepteur de signaler à l'émetteur qu'il n'a pas


encore saisi les données présentées sur le bus.

Chronogramme d'une transmission.

Données

DAV Ta Tb

NRFD

NDAC

T0 T1 T2 T3 T4 T5

♦ Avant T0, le récepteur signale qu'il n'est pas en mesure de recevoir des données.
♦ A T0, le récepteur signale qu'il est prêt à recevoir.
♦ A T1, les données sont présentes depuis un temps Ta sur la ligne. L'émetteur
signale alors au(x) récepteur(s) que les données sont valables.
♦ De T2 à T3, le récepteur réalise l'acquisition des données.
♦ A T3, les données ont été saisies et le récepteur le signale à l'émetteur.
♦ A T4, l'émetteur annonce que les données ne sont plus valables (bien qu'elles
restent encore valides pendant un temps Tb).
♦ A T5, le cycle peut recommencer.
Les Réseaux Locaux Industriels Page 62 / 186
IUT de CACHAN

L'organisation des réseaux.

C
omme vous pouvez le constater, les réseaux sont des éléments complexes,
faisant appel à une technique importante, souvenons nous qu'il n'y a pas 2
réseaux identiques, on en trouve donc une quantité impressionnante, avec
chacun un domaine de prédilection, d'où la définition de plusieurs niveaux de
spécification sous forme d’une pyramide nommé CIM.

Cette jolie représentation est en train de voler en éclat du fait de


l'utilisation de plus en plus répandue d'internet. Un grand nombre d'industriels ayant
réduit à cet égard, de façon drastique, la diversité de leur offre réseau. De plus en
plus, le lot commun est devenu Ethernet + TCP/IP, la pyramide se limitant alors à 2
couches. Une couche supérieure (Ethernet +TCP/IP) puis au dessous des réseaux
de capteurs.

Pyramide CIM(*)

Toutefois, dans un effort collectif de normalisation, on a définit la norme


OSI (OPEN SYSTEM INTERCONNECTION). Cette norme, basée sur un découpage
fonctionnel des éléments d'un réseau, définit 7 couches caractérisant chacune un
niveau de programmation ou de câblage.
Page 63 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

La norme OSI.

Commencé en 1977 et acceptée en 1978, la norme ISO définit 7


niveaux de spécification présentés chacun comme une couche superposée à la
précédente.

Les 7 couches de la norme OSI.

On utilise généralement des analogies épistolaires pour présenter cette


notion de couches, aussi sacrifions à la tradition et imaginons donc, qu'on souhaite
envoyer une lettre d'embauche. Presque à son insu, autour de l'information à
transmettre, on définit un ensemble de paramètres qui permette un acheminement
des données, de nous, vers un responsable. Procédons par étape.

• On rédige la lettre (application).


• On place un entête pour que le destinataire nous reconnaisse (présentation).
• Une fois la lettre rédigée, on la glisse dans une enveloppe (physique).
• Puis on indique sur le recto l'adresse du destinataire (transport).
• On timbre (session).
• On dépose l'enveloppe dans une boite à lettres (réseau).
• Elle est transmise de façon transparente à son destinataire (liaison).

Voilà en 7 lignes, j'ai définit le principe de tous les réseaux, on part


d'une application (ce que l'on souhaite transmettre), on rajoute une présentation, etc.
et à la fin, le message est transmis. On comprend donc qu'il a fallu greffer, autour du
texte, un ensemble d'éléments qui pour nous représentent peu d'information, mais
qui permettent au courrier d'atteindre sa cible. On a donc déposé des couches
successives d'information. D'où l'idée d'une définition de ces ajouts sous forme de
couches.

Mais la notion de couche cache un double sens :

• Une couche assure une base stable, elle permet une communication correcte
entre le niveau inférieur et le niveau supérieur (un peu comme les briques dans un
mur, où il faut pouvoir s'appuyer sur les briques déjà posées). On trouve alors
comme règle de dialogue, la possibilité de communiquer avec les niveaux
adjacents (dialogue vertical). On nomme cette fonction le service.

• L'autre notion est liée à l'utilisation de la couche, c'est à dire la cohérence avec la
couche de même niveau de la machine avec laquelle on communique. Pour
reprendre nos analogies maçonnes, c'est la cohérence entre 2 briques côte à côte
sur une même rangée. Si l'une est plus grande que l'autre, on risque des
surprises. On trouve alors comme règle de dialogue la possibilité de communiquer
avec une couche de même niveau (dialogue horizontal). On nomme cette fonction
le protocole.
Les Réseaux Locaux Industriels Page 64 / 186
IUT de CACHAN

La couche Physique (couche 1).

La couche physique représente le plus bas niveau de spécification, elle


définit les spécifications électriques et mécaniques d'un réseau. On définit ainsi le
type de connexion (full duplex, half duplex ou simplex), le type de liaison (série ou
parallèle), le média (liaison hertzienne, câble coaxial, paire torsadée, etc.).

La couche de liaison (couche 2).

La couche de liaison permet de gérer l'accès à la ligne et le transfert


d'information entre 2 machines adjacentes. Elle gère les processus de connexion et
de déconnexion, elle détecte les erreurs, gère l'adressage et défini le formalisme de
la trame pour l'adapter au support physique. On y trouve 2 sous-couches très
importantes la sous-couche MAC (Médium Access Control) qui permet de gérer
l'accès au réseau, gérer les conflits ou les éviter et la sous-couche LLC (Logic Link
Control) qui s'occupe du service avec les couches supérieures.

La couche réseau (couche 3).

La couche de réseau permet de réaliser le routage de l'information d'un


réseau vers un autre ou même au travers d'un ensemble de réseau.

La couche de transport (couche 4).

La couche de transport est utilisée pour contrôler le flux des données


dans un réseau. Elle gère le contrôle des erreurs de transmission et la fiabilité de la
liaison.

La couche de session (couche 5).

La couche de session a pour fonction de mettre en relation les services


disponibles dans les 2 machines, en permettant ainsi de rendre transparent les
couches inférieures du réseau.

La couche de présentation (couche 6).

La couche de présentation gère la présentation des données de façon


syntaxique (grammaticale). Elle permet entre autre le codage et le décodage de
l'information (confidentialité ou compression). Son rôle est en fait de rendre
compatibles des machines hétérogènes (par exemple, dialogue entre un MAC et un
PC).
Page 65 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

La couche d'application (couche 7).

La couche d'application est la couche supérieure du réseau. Elle


englobe l'intégralité des applications que va utiliser le réseau. C'est en général cette
couche que l'utilisateur aura comme interface. On distingue 2 types d'applications :
les applications en mode connectées (où la connexion doit être maintenue) et les
applications en mode non connectées (où la connexion est intermittente, comme par
exemple INTERNET ou le courrier électronique).

On utilise souvent pour les couches 1, 2 et 3 le surnom de couches


basse (utilisant l'informatique industrielle) par oppositions aux autres nommées
couches hautes.

Représentation OSI.

Application Couche 7
P Présentation Couche 6
A
S Session Couche 5
S
E Transport Couche 4
R
E
R Réseau Couche 3
O
L U P
L
Liaison Couche 2
T O
E E N médium
Physique Couche 1
U T
R

La définition des couches OSI d'un réseau au sens global, nous amène
à étudier l'influence de ces couches dans nos applications. Par exemple, l'utilisation
du bus IEEE 488 sous-entend que les couches 1, 2 et 7 sont utilisées. Ce qui veut
dire que les couches 3, 4, 5 et 6 sont inexistantes.

Ce point est extrêmement important puisqu'il permet de dire que si la


"modélisation" OSI permet de définir tous les réseaux, en aucun cas, les réseaux ne
sont contraints d'utiliser l'ensemble des 7 couches du modèle OSI.
Les Réseaux Locaux Industriels Page 66 / 186
IUT de CACHAN

L'encapsulation des données.

Le phénomène de couches n'est pas seulement théorique, il a une


représentation au niveau physique, on appelle ce phénomène l'encapsulation.
L'encapsulation c'est l'ajout, couche par couche, de données en plus de celles
fournies par la couche supérieure pour autoriser un décodage correct de
l'information.

Données à transmettre.
Code ajouté.

Couche 7

Couche 6

Couche 5 Transaction

Couche 4 Message

Décomposition
en paquets.

Couche 3 Paquet

Couche 2 Trame Décomposition


en bits

Bits Couche 1

Trames et paquets.

Les termes de trames et de paquets représentent des éléments très


importants dans les transmissions. Reprenons l'exemple du courrier, on a vu que sur
le texte à transmettre, on a ajouté des paramètres supplémentaires tels que l'adresse
du destinataire, l'adresse de l'expéditeur, etc. Dans la réalité électronique des
réseaux, on retrouve à peu près la même chose, si le texte représente n bits, il faut y
adjoindre des termes supplémentaires pour que la transmission s'effectue.

Principe de la trame élémentaire.

Une trame représente la plus petite unité compréhensible par un


réseau, c'est à dire le minimum de bits pour que le message puisse être transmis.
Analysons donc comment sont fabriquées les trames dans les réseaux.
Page 67 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Si on se base toujours sur notre exemple, on se rend compte que notre


message peut se résumer à :

adresse du destinataire adresse de l'émetteur texte du message

Malheureusement, cette trame élémentaire est trop simple pour les


réseaux actuels. En effet, si le message n'est pas de longueur constante, on risque
fort de ne pas savoir où il s'arrête et où démarre le suivant. On rajoute donc un
champ supplémentaire pour définir la taille du texte. Mais cela risque de ne pas
suffire, il faut aussi être sûr que chaque machine lisant le message comprenne que si
dans le texte du message, elle trouve son adresse, il ne s'agit que d'une coïncidence.
Aussi, on ajoute en général un code en début de trame permettant d'en repérer le
début, on appelle ce code le marqueur. On y ajoutera aussi un champ pour le
contrôle d'erreur. Ce qui donne :

Marqueur adresse du adresse de nombre texte du code de


de début destinataire l'émetteur d'octets message contrôle

Principe du paquet.

On a vu au chapitre précédent que sur un texte à transmettre, viennent


se greffer des éléments. Mais souvent, les trames ont un format limité, pour
permettre aux autres de parler (limite supérieure) ou pour des raisons technologiques
que nous aborderons plus loin (limite inférieure).

Si dans le cas de la limitation inférieure, on résout en général le


problème en ajoutant des caractères sans signification, dans le cas de la limite
supérieure, on doit souvent découper le texte en morceaux, d'un format restreint,
permettant ainsi un transfert dans les normes, ce découpage, c'est la mise en paquet
et les extraits du message sont alors nommés paquets (pour certains réseaux, on
parle de datagrammes).

La pyramide OSI a donc un défaut : augmenter grandement la taille de


l'information à transmettre. Cependant, elle a l'avantage de fournir, sans erreur et de
façon compréhensible, les données, ce qui est la moindre des choses.
Les Réseaux Locaux Industriels Page 68 / 186
IUT de CACHAN

La couche physique.

L
a couche physique permet de définir l'ensemble des caractéristiques physiques
(d'où son nom) du réseau. Elle permet en fait de réaliser l'adaptation au
médium utilisé pour la transmission en fixant les limites de son utilisation (débit,
longueur, etc.).

La topologie d'un réseau.

La topologie d'un réseau, c'est la façon de connecter les machines. Il y


a 3 méthodes élémentaires pour établir des communications.

L'anneau.

Les machines sont placées pour former une boucle fermée, réalisée
avec des liaisons point à point. Sur ce type de structure, chaque machine étant un
élément de la transmission, la défaillance d'une machine peut provoquer la
défaillance du réseau. Pour éviter cela, un dispositif court-circuite la connexion à la
machine ce qui permet aussi l'installation d'une nouvelle machine ou son retrait de
l'anneau sans provoquer l'arrêt complet de toutes les autres.

(*)

L'étoile.

Les machines sont réparties, en étoile, autour d'une autre, nommée


concentrateur, et reliées avec cette dernière par une liaison point à point. Cette
topologie permet de créer de petits îlots indépendants. L'installation ou le retrait
d'une machine (exception faite du routeur) peut se faire sans condition spéciale.
Seule une défaillance du concentrateur peut causer une défaillance du réseau, par
fois au-delà même de l'îlot.
Page 69 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

(*)

Le bus.

Les machines sont réparties tout le long de la ligne, comme les


mémoires sur un bus de microprocesseur, reliées au routeur par une liaison
multipoints. Comme pour l'étoile, le retrait ou l'installation d'une machine (hormis le
routeur) peut se faire sans condition particulière, toutefois, il suffit d’une machine
pour créer une défaillance du réseau.

(*)

En plus de ces méthodes élémentaires, il existe aussi des fonctions


plus complexes permettant des formes plus variées, donc plus adaptées aux
architectures des bâtiments ou du mode d'utilisation. Ces formes (le back-bone,
l'arborescence et le réseau maillé) sont respectivement des dérivés du bus de l'étoile
et de l'anneau.

Le Back-Bone

La traduction de Back-bone donne colonne vertébrale, c'est sur cette


ligne que sont reliées toutes les autres structures (comme les côtes qui s'articulent
sur l'axe qui transmet l'information nerveuse).
Les Réseaux Locaux Industriels Page 70 / 186
IUT de CACHAN

L'arborescence.

L'arborescence, est à l'image d'un arbre dont le nombre de branches


augmente à mesure que l'on s'éloigne du tronc.

(****)

Le réseau maillé.

Cette structure utilise des liaisons point à point multiples offrant


plusieurs voies de communication pour se rendre d'un point à un autre (redondance
des liaisons). Le réseau maillé est la structure la plus complexe à utiliser, mais aussi,
la plus sûre puisqu'une liaison défaillante n'interdit pas la communication des
machines qu'elle relie, les données utilisant alors un autre chemin.

Toutes ces topologies présentent chacune un (ou plusieurs) défauts


spécifiques, l'anneau risque une ouverture, l'étoile est très difficile à reconfigurer, le
bus crée des risques de collisions et enfin le réseau maillé impose l'utilisation d'un
protocole de routage.

On peut utiliser plusieurs topologies de connexions pour un réseau


global, mais généralement, on utilise les réseaux maillés pour couvrir un territoire
entier (ville, pays), un réseau en étoile ou en anneau localement dans une entreprise
(la préférence est aux réseaux en étoile). Enfin au niveau des réseaux locaux, la
topologie en bus est très répandue.
Page 71 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Il n'est pas rare de voir des entreprises (IBM, HP, etc.) utiliser un
réseau en étoile comme structure de l'immeuble et de créer de petits îlots avec des
réseaux en anneau. A ce sujet, cassons le cou à quelques idées reçues :

• Les réseaux en anneau sont souvent beaucoup plus rapides que les réseaux en
étoile ou en bus. En effet, ces derniers sont "saturables", c'est à dire qu'ils ont une
capacité au dialogue qui diminue avec le nombre de machines en communication,
tandis qu'un réseau en anneau offre toujours les mêmes performances. Voir le
paragraphe sur la sous-couche MAC.

• Les réseaux en étoile ou les bus utilisent parfois des ressources partagées
(réparties sur plusieurs machines) ce qui les rendent aussi sensibles que les
anneaux vis à vis de la défaillance d'une machine.

• Aucun réseau n'est d'avance conseillé pour une application et seul une étude
permet de dire que l'un est meilleur que l'autre.
Les Réseaux Locaux Industriels Page 72 / 186
IUT de CACHAN

Le médium.

Le médium est la liaison physique entre les machines, c'est donc un


aspect technologique des réseaux que l'on va aborder ici.

Il existe une grande variété de média pour une information, on trouve


par exemple, les liaisons par câble que nous verrons plus loin, mais aussi, des
liaisons hertziennes, infrarouges, ultrasons, etc. Par exemple, le bus de terrain utilisé
par EUROCOPTER pour tester l'hélicoptère TIGRE utilise pour une raison évidente
une liaison hertzienne pour communiquer avec les capteurs placés sur les rotors.

Toutefois, il faut en convenir, c'est essentiellement par des liaisons


filaires que s'établit la communication

Il n'y a de nos jours plus que 2 types de liaison filaire, d'une part, les
paires torsadées, d'autre part, les fibres optiques.

On utilise généralement une paire torsadée pour réaliser des réseaux


de petite taille (dans un immeuble). En effet, il est souvent plus simple d'accepter un
certain taux d'erreur que d'utiliser des médias à coût élevé.

On peu remarquer que les liaisons coaxiales sont en voie de disparition


eut égard à leurs rapport coût - performance qui les rend prohibitives vis à vis de la
fibre optique.

Remarque sur les vitesses de propagation

La vitesse de propagation dans une ligne électrique en cuivre est


c
globalement de l’ordre de 220 000 Km/s, cela correspond à la formule : Vϕ = où
ε ⋅µ
ε et µ sont respectivement la conductivité et la permittivité du milieu, et c la vitesse
de la lumière dans le vide (299 792 Km/s).

c
C'est cette même formule, transformée en Vϕ = qui permet d'obtenir
n
la vitesse de propagation d'une onde lumineuse dans une fibre optique. On définit n
comme l'indice du milieu. Dans les fibres optiques, l'indice du milieu est de l'ordre de
1,5, cela donne une vitesse de propagation de l’ordre de 200 000 Km/s. On peut
aussi noter que dans l'eau, la lumière atteint 75% de c et qu'elle est comprise entre
50 et 60% de c dans le verre.

On constatera donc que l'information se propage plus vite dans le


cuivre que dans la fibre optique.
Page 73 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Les paires Torsadées.

L'utilisation du nom générique "paire torsadée" ne cache pas une


uniformité des qualités, on les classe selon 3 normes cumulatives :

La norme pour les fréquences.

On parle ici de catégorie de paire torsadée, il existe 7 (ou 8 catégories)


de liaison en paire torsadée.

Fréquence
Catégorie Débit Domaine d'utilisation
Maximum
Cat. 1 Câble téléphonique Abandonné
Cat. 2
Cat. 3 16MHz 10Mbits/s 10BASE-T
Cat. 4 20MHz 16Mbits/s Token Ring ou 100BASE-T4
Cat. 5 100MHz 100Mbits/s 100BASE-TX ou ATM
Cat. 5e 100MHz 1Gbit/s
Cat. 6 200MHz 1Gbit/s et + Ethernet Gigabit ou plus
Cat. 7 600MHz 1Gbit/s et +
Les catégories 3 à 6 valent aussi pour la connectique utilisée.

La norme par section de conducteur.

Cette norme est plus connue sous le nom de AWG (American Wire
Gauge), elle donne à partir d'un nombre le diamètre du conducteur mais aussi sa
résistance linéique. Tout du moins c'est ce qui était à l'origine prévu,
malheureusement il semble qu'il y ai eu quelques divergences. Toutefois, on peut
donner à partir de la référence AWG la section et la résistivité d'une ligne :
AWG

diamètre = 0,32"⋅2 6

AWG
r = µ ⋅2 3
avec µ = 3,06824 10 -4 Ω/m

Cette norme qui, à l'origine était utilisée pour les cordes de guitare
(monter d'un ton revient à prendre une corde en AWG+1), est désormais dédiée aux
câbles électrique. Il existe de très nombreux tableaux (pas tous très cohérents) pour
éviter de fastidieux calculs…

AWG ø:1/10mm Ω/m


36 1,270 1,257
38 1,008 1,995
40 0,800 3,167
42 0,635 5,027
44 0,504 7,980
La norme pour les protections.
Les Réseaux Locaux Industriels Page 74 / 186
IUT de CACHAN

Bien que dans la très grande majorité des cas, le simple fait d'utiliser un
système de transmission différentiel soit amplement suffisant pour protéger les
informations qui circulent dans une paire torsadée, il existe une norme décrivant la
protection apportée à une ligne. Ce classement se fait par indice de protection.

Câble non blindé UTP Unshielded Twisted Pair

Câble écranté FTP Foiled Twisted Pair

Shielded-Foiled
Câble écranté-blindé S-FTP
Twisted Pair

Shielded-Shielded
Câble double blindage S-STP
Twisted Pair

Les paires torsadées UTP n'ont aucune protection particulière, elles


sont donc théoriquement plus sensibles que les autres aux perturbations.

En FTP, un écran en aluminium (en général non connecté à la masse)


viens ajouter un écran vis à vis des parasites extérieurs, c'est en général une
solution intermédiaire entre le UTP et le S-FTP.

En S-FTP (parfois appelé STP pour Shielded Twisted Pair), en plus de


l'écran des FTP, on ajoute une tresse reliée à la masse qui joue le rôle de cage de
Faraday.

Enfin S-STP est le nec plus ultra des liaisons en paire torsadée, chaque
paire est individuellement blindée et l'ensemble est blindé lui aussi. Ces lignes de
transmission sont virtuellement parfaitement isolées de tous les parasitages,
précisons qu'elles coûtent horriblement cher…

Pour toutes les paires torsadées de type UTP, FTP ou S-FTP, il existe une forme
sournoise de parasitage, la diaphonie, c'est à dire l'effet d'une paire sur une autre.
Page 75 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Les paires torsadées disposent donc, en outre de leur protection, d'une


autre astuce leur permettant de réduire l'effet de la diaphonie : la fréquence de
torsadage des paires.

Dans une liaison à 2 paires, les paires 1 et 2 sont torsadées à des


fréquence différentes (en général il y a un facteur 2). Dans une liaison à 4 paires, les
paires 1 et 3 sont de fréquences identiques, de même que les paires 2 et 4, mais ces
2 fréquences sont différentes.

En général, les constructeurs fournissent des tableaux récapitulant les


caractéristiques de leurs liaisons.

Indice de protection Fmax Catégorie Atténuations


19,8 dB/100m
UTP ou FTP 200 MHz 5e
à 100 MHz
19,8 dB/100m
S-FTP 300 MHz 5e
à 100 MHz
27 dB/100 m
UTP, FTP ou S-FTP 400 MHz 6
à 200 MHz
49,2 dB/100 m
S-STP 750 MHz 7
à 600 MHz
1200 64 dB/100 m
S-STP 8
MHz à 1200 MHz

Les fibres optiques.

Il existe 2 grands types de fibres optiques, les fibres monomodes, où


l'onde lumineuse circule dans le cœur de la fibre, et les fibres multimodes (à saut ou
à gradient d'indice), où l'onde se réfléchie sur les parois de la fibre.

Multimode
à saut
d’indice

Multimode à
gradient
d’indice

Monomode
Les Réseaux Locaux Industriels Page 76 / 186
IUT de CACHAN

Les fibres optiques sont apparues au début des années 60, mais ce
n'est qu'au cours des années 70 qu'elles sont entrées dans le domaine des réseaux,
grâce à une meilleur maîtrise du silicium et de ses dopants qui a permis d'obtenir des
atténuations de l'ordre de 20dB/Km (au lieu de 1000dB/Km à l'origine).

Avec l'apparition dans les années 80 des fibres monomodes,


l'atténuation dans les lignes fut portée à 2dB/Km. De nos jours, les fibres
monomodes offrent des atténuations de 0,2 à 0,3dB/Km.

On considère que les fibres optiques à saut d'indice (quasiment


abandonnées de nos jours) offrent des débits de l'ordre de 50 Mbits/s, tandis que
celles à gradient d'indice permettent d'atteindre 1Gbits/s. Les fibres monomodes
quand à elle d'atteindre des débits de 40Gbits/s sur des distance allant de 3Km pour
les fibres monomode standard (G 652) jusqu'à 25Km pour les fibres "True Wave" (G
655).

Les fibres optiques travaillent dans le proche infrarouge (de 800 à 1600
nm de longueur d'onde). Elles sont réalisées en oxyde de silicium (SiO2) avec une
très faible densité d'ions OH- (ces ions ayant la fâcheuse tendance à absorber le
rayonnement en proche infrarouge). On dope en suite le cœur de la fibre à l'aide de
Germanium ou de phosphore, ce qui permet d'augmenter légèrement l'indice du
cœur. On dope aussi la gaine à l'aide de bore ou de fluor pour diminuer légèrement
son indice.

Le cœur d'une fibre optique a un indice (n1) d'environ 1,5 pour un


diamètre de l'ordre de 200µm pour les fibres à saut d'indice, de 62,5µm pour les
fibres à gradient d'indice et de 10µm pour les fibres monomodes.

n2
= 0,99 ),
La gaine elle à un indice (n2) très proche de celui du cœur (
n1
pour un diamètre extérieur de fibre de 380µm pour les fibres à saut d'indice et de
125µm pour les fibres à gradient d'indice ou monomodes.

Le tout est enrobé d'une enveloppe en acrylique qui assure l'absorption


des chocs mécaniques. C'est la fibre optique seule qui donne à la ligne de
transmission ses propriétés mécaniques longitudinale, l'enveloppe en plastique ne
servant qu'à la protéger contre le cisaillement. En théorie, une fibre de 29mm de
diamètre devrait supporter le poids de 216 éléphants (1300 tonnes)

Les fibres optiques ne sont toutefois pas exemptes de défauts, même si


elles sont parfaitement immunes aux perturbations électromagnétiques, elles ont
tendance à diffuser la lumière, c'est à dire à créer des tâches floues, de même, elles
ne propagent pas toutes les longueurs d'onde à la même vitesse, ce qui tend à
déformer les signaux transmis. Enfin leur atténuation naturelle limite les distances de
transmission.
Page 77 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Les éléments de la couche physique.

Fibres optiques
Paire torsadée

L'autre élément fondamental de la couche 1 qui permet les interconnexions sans


analyse des protocoles est le HUB.

Toutes les illustration de cette page sont issues des cours en ligne de Intel(****)
Les Réseaux Locaux Industriels Page 78 / 186
IUT de CACHAN

La couche de Liaison.

L
a couche de liaison est l'une des couches les plus importantes des réseaux,
puisque c'est elle qui définit les trames à transmettre et qu'elle gère l'accès à la
ligne de communication. Ces 2 éléments étant extrêmement différents et
extrêmement importants, on a scindé, en 2 la couche de liaison, pour former la
sous-couche d'accès au médium (MAC qui en anglais veut dire MEDIUM ACCES
CONTROL), et la sous-couche de contrôle logique de la liaison (LLC qui en anglais
veut dire LOGICAL LINK CONTROL).

Décomposition en sous couche de la couche 2 (****).

La sous-couche MAC.

On a vu dans le chapitre précédent les différentes topologies des


réseaux, mais ces topologies sous-entendent des modes d'utilisation. Ainsi, les
anneaux et les bus ne peuvent pas être employés de la même façon et on définit
alors deux façons de dialoguer distinctes pour l'un et l'autre.

Commençons par une structure de type bus, si 2 machines tentent de


parler (pas forcément entre elles) sur un bus, on aura à un instant donné, 2 sources,
sur une même voie, ce que l'on nomme, quand on est électronicien un conflit et
quand on est spécialiste des réseaux, une collision. On doit alors développer une
stratégie qui permet à ces 2 machines de transmettre leurs données. C'est le
protocole CSMA/CD.

Dans un anneau, il est hors de question de laisser faire une chose


pareille, les collisions y sont généralement prohibées. On utilise donc d'autres
méthodes qui permettent de donner tour à tour, la parole à chacune des machines.
On utilise généralement un jeton que les machines se transmettent de l'une à l'autre.
Mais la méthode du jeton n'est pas la seule.
Page 79 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Les protocoles pour topologie de type bus.

Le protocole CSMA/CD.

CSMA/CD veut dire CARRIER SENS MULTIPLE ACCES/COLLISION


DETECTION ou encore accès multiple par détection de porteuse avec détection de
collision. Son principe de fonctionnement est relativement simple, lorsqu'il y a une
collision, on arrête tout et on recommence.

On utilise généralement l'algorithme suivant :

La machine qui souhaite parler scrute la ligne, lorsque celle-ci est "à son avis"
libre, elle prend la parole et émet son message. Se faisant, elle continue de scruter
l'état de la ligne.

Si à un moment quelconque de la transmission, elle se rend compte


qu'une autre machine tente de dialoguer sur cette même ligne, elle se déconnecte
pendant un laps de temps aléatoire puis tente de reprendre la parole en suivant la
séquence précédemment décrite.

Exemple de collision.

T=t0.
A commence à
B C A émettre.

T=t1.
C détecte une
B C A occupation de la
ligne.

T=t2.
B commence à
B C A émettre.

T=t3.
On a une
B C A collision sur la
ligne.

T=t4.
B détecte la
B C A collision.

T=t5.
JAM A détecte la
B C A collision.
Les Réseaux Locaux Industriels Page 80 / 186
IUT de CACHAN

Le point difficile à comprendre, c'est comment se fait il que 2 machines


puissent parler en même temps sur une même ligne alors qu'elles ont testé l'état de
cette ligne quelques micros secondes avant. En fait, c'est tout bonnement le
phénomène de propagation qui est en train de s'appliquer (il faut un certain temps
pour que l'onde atteigne sa cible et pendant ce laps de temps, le bus peut sembler
libre). Le double du temps mis par l'onde pour occuper entièrement la ligne est
appelé TIME SLOT (ts) ou distance temporelle ou ROUND TRIP DELAY.

Dans notre exemple, on se rend compte facilement de ce que


représente le time-slot. Pour cela, il faut imaginer le pire des cas (comme dans notre
exemple), ainsi, si la machine A émet sur une ligne totalement libre, il faut un certain
temps (t4) pour que la machine B détecte que A a parlé. Si quelques picosecondes
avant, B s’est mis à parler, B détecte presque instantanément la collision, mais il
faudra pour que A détecte la collision attendre encore le temps t4 pour que le signal
émis par B lui arrive. Le time-slot c’est donc le temps mis pour qu’un message
envoyé d’une des extrémités la ligne face un aller et retour.

Si l’on connaît la longueur de la ligne (L) et la vitesse de propagation du


signal (v), on peut en déduire le time-slot :

L
Ts = 2 ⋅
v
Donc si l’on connaît le time-slot, il faut maintenant que l’on ait une
conformité entre la durée du message et le time-slot, en effet, il faut que A puisse
comparer ce qu’il émet et ce qu’il reçoit, donc le message expédié doit être plus long
que le time-slot d’où une autre règle importante :

M MIN
Ts ≤
D
Où Mmin est la longueur minimale en bit du message et D le débit du réseau.

Cela impose, l'introduction dans les messages de faible taille (signaux


d'acquittement de tache ou accusé de réception) de données sans signification (qui
seront éliminés à la réception), de façon à maintenir un nombre suffisant de bits pour
respecter l'équation précédente.

L’utilisation de protocoles à collision impose le respect du time-slot, ceci


dit, il existe plusieurs topologies pour les réseaux à collision, le bus (cas que nous
venons d’étudier) et l’étoile. Dans ce dernier cas, le calcul du time-slot est
pratiquement identique à celui du bus, on calcule la valeur du time-slot sur la base de
la distance entre les machines au bout des branches les plus éloignées.

En cas de collision, les machines concernées cessent de transmettre


des données, mais continue à émettre un signal de brouillage (ne contenant pas de
données mais assez différent du bruit des lignes) appelé JAM, permettant ainsi
d'éliminer toutes les stations qui pourraient encore tenter de parler sur la ligne.

Une fois la collision détectée et le signal de brouillage émis, les


machines qui sont entrées en collision ne doivent pas rééditer immédiatement (elles
colisionneraient à nouveau), elles doivent passer par une phase d’attente "aléatoire".
Page 81 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Cette phase d'attente est réalisée grâce à un facteur de collision (N) et par un
compteur de collision (k). Le temps d'attente après une collision est donc :

Tc = k ⋅ N ⋅ Ts

On distingue donc 2 phases, d'un coté la phase de transmission de


M
données (phase productive), dont on peut donner la durée Ti = (où D est le débit
D
du réseau et M, la taille des trames) et la phase de conflit (phase de contention ou de
Back-Off), dont on vient de donner la formule.

On définit aussi 2 autres formes d’erreurs, les erreurs d'alignement


(RUNT) caractérisée par une trame de taille non divisible par 8, et les erreurs de
longueur (JABBER) où la trame est trop longue, ceci étant souvent causé par une
collision non détectée.

On peut aussi présenter le synoptique d'une réception avec le protocole


CSMA/CD (****):
Les Réseaux Locaux Industriels Page 82 / 186
IUT de CACHAN

On peut donc présenter le synoptique d'une émission avec le protocole


CSMA/CD (****) :
Page 83 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Et juger de l'efficacité du protocole grâce à la formule :

Eff =
∑ TI
∑ TI + ∑ TC
Où TI est le temps de transmission et TC le temps de contention.

Bien entendu, cette formule n'est valable que pour l'analyse pratique
d'un certain nombre de transmission.

Relevé de l'efficacité du protocole CSMA/CD.

Débit Longueur de Facteur N Efficacité


la trame

bus de 100m avec un ts de 0,5µs

10Mbit/s 5000 bits 2 99,6%


10Mbit/s 500 bits 2 96,2%

10Mbit/s 5000 bits 10 98%


10Mbit/s 500 bits 10 83,3%

100Mbit/s 5000 bits 2 96,2%


100Mbit/s 500 bits 2 71,4%

100Mbit/s 5000 bits 10 83,3%


100Mbit/s 500 bits 10 33,3%

bus de 10Km avec un ts de 50µs

10Mbit/s 5000 bits 2 71,4%


10Mbit/s 500 bits 2 20%

10Mbit/s 5000 bits 10 33,3%


10Mbit/s 500 bits 10 4,8%

100Mbit/s 5000 bits 2 20%


100Mbit/s 500 bits 2 2,4%

100Mbit/s 5000 bits 10 4,8%


100Mbit/s 500 bits 10 0,5%

Cette illustration est la copie de celle présentée par P Millet dans son ouvrage
"transmission et réseaux locaux", édité par MASSON.
Les Réseaux Locaux Industriels Page 84 / 186
IUT de CACHAN

On comprend très vite que si de nombreuses machines sont reliées à


un bus, les collisions ne seront pas rares, or les algorithmes sont ainsi faits que les
délais de temporisation augmentent de façon "exponentielle" avec le nombre de
collisions détectées pour un même message. On peut donc saturer un réseau sur
lequel personne ne parle, mais où tout le monde souhaite le faire.

Pour éviter ce problème, on a recours, soit aux méthodes déterministes


et non plus aléatoires comme c'est le cas avec CSMA/CD, soit en utilisant plus
intensément de la couche d'application qui lance alors des ordres de services
permettant de supprimer certaines communications jugées non prioritaires, soit en
jouant sur la couche physique.

Le protocole CSMA/NBA

Le protocole CSMA/NBA est un protocole sans contention, en cas de


conflit, les machines s'arbitrent grâce aux valeurs "d'adresse" qu'elles envoient.

Pour le protocole CSMA/NBA, il existe 2 niveaux de tension


correspondant au "1" et au "0" logique, l'état "0" est obtenu par mise directe à la
masse (on dit que c'est un état dominant) et l'état logique "1" s'obtient par passage
dans un élément résistif (on dit que c'est un état récessif). En cas de confit, un état
dominant l'emporte toujours sur un état récessif, l'arbitrage est donc facile à faire et
surtout il est non destructif puisqu'il ne nécessite pas la réémission des 2 messages.
D'où le nom de ce protocole (NBA = Non-destructive Bitwise Arbitration)

Emetteur A R R R D R D R D R D
Emetteur B R R R R
Emetteur C R R R D R R
état du bus R R R D R D R D R D
Dans cet exemple, je ne présente que la notion d'état récessif, en aucun cas, cela ne
veut dire quelque chose pour le protocole.

Ce protocole joue typiquement sur la capacité de la couche physique à


absorber les chocs liés aux conflits de bus. Toutefois, il reste encore teinté d'une
connotation aléatoire, on ne peut en effet pas prédire en combien de temps une
machine peut transmettre un message, la seule chose qui soit sure, c'est que plus
"l'adresse" contient de bit dominant au début, plus ce message devient prioritaire.

Le protocole CSMA/DCR.

Le protocole CSMA/DCR est une évolution du protocole CSMA/CD,


l'abréviation DCR signifie DETERMINISTIC COLLISION RESOLUTION ou résolution
de collision par méthode déterministe. Cela revient en fait, à donner à chacune des
machines un numéro d'index, puis à offrir la main aux machines en effectuant une
dichotomie sur les numéros d'index.
Page 85 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Cette méthode fait appel à une résolution déterministe des conflits, elle
permet donc de s'affranchir des calculs de Back-Off qui engendrent des
effondrements de réseau. L'autre avantage des méthodes déterministes, c'est l'accès
aux notions de temps réel, puisqu'on peut prédire le temps maximum de réponse à
une requête, qu'il y ait conflit ou pas.

Dans notre exemple à 7 machines, 5 souhaitent parler en même temps,


on se trouve alors dans un cas de conflit à 5 machines.

N° d'index des machines 0 1 2 3 4 5 6 7 temps étape


C C C C C 0
C C C I I I I 1
C C I I I I I I 2
E I I I I I I I 3
I E I I I I I I 4
I I E I I I I 5
Tranche vide I I I I C C 6
I I I I I I 7
I I I I I I C C 8
I I I I I I E I 9
I I I I I I I E 10

Légende : I : interdiction de dialoguer.


C : collision.
E : Emission.

Dans cet exemple, on vous montre comment se réalise la dichotomie


permettant de gérer les conflits. On constate que si la résolution des contentions est
rapide, elle crée par instant des tranches vides (voir étape 7), qui sont des intervalles
de temps pendant lequel le réseau n'est pas utilisé.

Ce protocole est utilisé par le réseau RECITAL de Serges DASSAULT


Electronique et équipe le porte-avions CHARLES DE GAULLES.
Les Réseaux Locaux Industriels Page 86 / 186
IUT de CACHAN

Le protocole à jeton de bus.

Le protocole du bus à jeton est plutôt complexe, il présente l'avantage


d'être déterministe, et par-là même, de permettre un fonctionnement temps réel d'un
réseau de type bus. Son principe repose sur une numérotation des machines (en
général par l'adressage) et sur l'utilisation d'un jeton que chaque machines recevra à
tour de rôle et qu'elles devront gérer pour transmettre ses données.

La circulation du jeton s'effectue en allant dans le sens décroissant des


adresses des machines qui constituent le bus (on parle souvent de boucle logique,
qu'il ne faut pas confondre avec un anneau). La machine dont l'adresse est la plus
faible, étant chargée de transmettre le jeton à celle d'adresse la plus élevée et ainsi
boucler la boucle.

A la réception du jeton, la machine active place dans la trame du jeton,


une valeur qui est le temps dont elle dispose pour ses transmissions. Cette valeur est
décomptée de façon indépendante du reste des opérations. Si la machine doit
émettre, elle vérifie que le temps qui lui reste est positif, et si c'est le cas, elle émet
sa trame de données. Si le temps qui lui reste est négatif ou nul, elle doit alors
passer le jeton.
Une machine qui a fini de transmettre (ou qui ne souhaite pas le faire),
transmet alors, quel que soit le temps qui lui reste, le jeton à la suivante.

La circulation du jeton est réalisée à l'aide de 3 registres, un registre


désignant la machine active (TS ou THIS STATION), les deux autres désignant
respectivement les machines précédentes (PS ou PREVIOUS STATION) et suivante
(NS ou NEXT STATION).

TS=5 TS=4 TS=2


PS=6 PS=5
NS=2 NS=1

TS=3 TS=1 TS=6


PS=2 PS=1
NS=6 NS=5

Circulation du jeton

Comme on le voit certaines machines n'entrent pas dans la boucle du


jeton, elles sont tout de même présentes sur le bus et peuvent donc recevoir des
données. Toutefois, elles n'ont pas droit à la parole.
Page 87 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Il existe un processus de priorité qui permet de fixer un ordre prioritaire


dans le transfert des données. Les trames de niveau prioritaire sont émises en
premier et sans restriction. Pour les niveaux inférieurs, on utilise alors 2 registres
internes aux machines qui sont TREJ (Temps de Rotation Effectif du Jeton) et OTR
(Objectif de Temps de Rotation du jeton). Le registre OTR n'a pas de valeur unique
et chaque niveau de priorité dispose d'une valeur spécifique.

Une fois que les machines prioritaires ont transmis leurs données, le
niveau de priorité directement inférieur prend la parole, la machine disposant du jeton
vérifie que TREJ<OTR, si tel est le cas, le niveau de priorité a le droit au dialogue.
Lorsqu'il aura terminé son tour, la même opération se répétera pour les niveaux
inférieurs. Lorsque TREJ devient supérieur à OTR, on rend à nouveau la main au
niveau le plus prioritaire.

Il faut cependant bien comprendre que la circulation du jeton est un


mode normal de fonctionnement, mais qui dit mode normal, dit fonctionnement
exceptionnel, comme l'initialisation, la perte du jeton, l'insertion de nouvelles
machines ou encore, la duplication du jeton.

• Commençons par l'initialisation de la boucle. La machine qui souhaite créer


un jeton émet une trame spéciale CLAIM TOKEN (demande de jeton) et
écoute la ligne, si au bout d'un certain temps, elle ne repère aucune activité
sur la ligne, elle est alors dépositaire du jeton.

• Dans le cas où une nouvelle machine souhaiterait s'insérer dans la boucle,


périodiquement, les machines déjà connectées lancent des trames
spéciales : SOLLICIT SUCCESSOR (sollicite successeur). Cette trame fixe
les numéros autorisés du ou des successeurs en précisant entre quelles
adresses ils doivent se trouver grâce à NS et TS (seule les machines entre
NS et TS ont le doit de répondre). Il y a alors 3 cas :
• Pas de réponse, alors le trafic reprend son cours normal.
• Une seule réponse sous forme d'une trame spéciale SET
SUCCESSOR (déclaration de succession), dans ce cas, la machine
qui a émis la trame de sollicitation modifie son NS pour se connecter
à la nouvelle machine. Puis le jeton change de main.
• Plusieurs réponses d'où collision, alors la machine qui a émis la
trame spéciale émet une nouvelle trame spéciale RESOLVE
CONTENTION (résolution de conflit) qui permet à 4 machines de
répondre grâce à un découpage temporel de la trame en 5 parties,
l'une d'en-tête et 4 autres vides permettant à 4 machines de
s'exprimer. Si cela ne suffit pas, un système permet par des
itérations de décomposer pour avoir au maximum 4 réponses.
Les Réseaux Locaux Industriels Page 88 / 186
IUT de CACHAN

• Si après avoir proposé à la machine suivante, le passage du jeton, la


machine émettrice ne reçoit pas de réponse valable, elle juge alors qu'il y a
eu une erreur de transmission et elle recommence sa proposition. Si après
plusieurs essais, elle n'a toujours pas de réponse valable, elle considère
son successeur comme en panne. Elle envoie alors la trame spéciale WHO
FOLLOWS (qui suit ?) en précisant la valeur de NS. La machine qui
constate que le NS présenté correspond à son PS répond en envoyant la
trame spéciale SET SUCCESSOR (déclaration de succession). Si aucune
réponse ne revient, la machine considère que la boucle logique est rompue
et passe en mode insertion de station dans la boucle pour redéfinir le
bouclage. Si alors, il n'y a aucune réponse, la machine se considère comme
déconnectée et passe en écoute passive. Charge alors à la couche
d'application de résoudre les éventuels problèmes.

• La détection d'une duplication du jeton ne peut se réaliser que lorsque suite


à l'envoi de WHO FOLLOWS ou SOLLICIT SUCCESSOR, la réponse n'est
pas la trame SET SUCCESSOR. La machine considère alors son jeton
comme non valable et attend le suivant.

Bien entendu, ce n'est qu'une vision exhaustive des erreurs qui peuvent
se présenter, mais elle permet de comprendre un peu les techniques que l'on
retrouve sur la majeure partie des réseaux en anneau ou à boucle logique.

Les protocoles à scrutation (polling).

Les protocoles à scrutation sont très utilisés dans les réseaux de


capteurs (bien que non normalisés). On considère qu’il en existe 2 grands types.

Les procédés à scrutation simple fonctionnent sur la base de


l'interrogation cyclique de toutes les machines, une par une, par le maître.
Lorsqu'une machine souhaite communiquer avec une autre, elle attend que le maître
lui propose la parole, et lorsqu'elle l'obtient, elle dispose de la parole de façon
exclusive pendant un certain laps de temps. Puis le maître donne la parole à la
machine suivante.

Les procédés de scrutation adaptative (ou probing) fonctionnent sur le même


principe que ceux dépeint précédemment, à 2 exceptions près.
• D'une part, le maître interroge toutes les machines en même temps et obtient
alors la réponse des machines sur une autre trame, où chaque machine dispose
d'une petite tranche temporelle lui permettant de s'exprimer.
• D'autre part, le temps de parole est alors donné à chacune des machines, ayant
exprimé un désir de communication, en découpant le temps total de parole
autorisé par le nombre de machines souhaitant parler.
Page 89 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Ces 2 modes de scrutation sont très intéressants puisque qu'ils


permettent de disposer d'un réseau "temps réel" et que certains d'entre eux peuvent,
grâce à ces processus de scrutation, détecter les machines ajoutées ou ôtées du
réseau. Nécessitant très peu de signaux de contrôle, ils sont plutôt utilisés en atelier
où ils permettent de relier des capteurs disposant d'interfaces très limitées.

Outils indispensables.

Dans le cadre de l'utilisation d'un réseau, il convient de définir des outils


qui permettent de définir comment se comporte notre réseau. On a déjà vu, à ce titre,
la notion d'efficacité pour le protocole CSMA/CD, envisageons maintenant des outils
plus généraux.

Pourcentage d'occupation.

Le pourcentage d'occupation, c'est le nombre de bits transmis durant


un certain laps de temps divisé par le nombre théorique maximum de bit transmis
durant ce même laps de temps. Par exemple, si en 10 minutes je transmets 8Mbits
sur un réseau Ethernet standard, alors que j'aurais pu en transmettre 6Gbits, j'ai
donc utilisé 8Mbits / 6Gbits = 0,133% de la bande passante du réseau.

Efficacité du codage.

C'est le rapport entre le nombre de bits informatifs et la taille de la


trame. Ainsi pour le protocole RS232, avec 1 bit de start, 1 bits de parité, 8 bits de
données, et 2 bits de stop, l'efficacité du code est 8bits / 12bits = 66,6%

Débit informatif maximum.

Le débit informatif maximum c'est le débit du réseau multiplié par


l'efficacité du codage et par l'efficacité du réseau. Par exemple, un réseau Ethernet
avec une efficacité de 66,6% et une efficacité de codage de 85% a un débit réel de
10Mbit/s * 0,666 * 0,85 = 5,61Mbit/s.

Débit informatif réel.

Le débit informatif réel, c'est le débit résultant de l'occupation du réseau


et du débit informatif maximum. En reprenant les exemples précédents, on a un débit
informatif réel de 5,61Mbit/s * 0,133% = 7,4Kbits/s.

Généralement l'étude d'un réseau consiste à analyser ces différents


paramètres et en déduire si il convient de faire évoluer ou pas le lien en question.
Les Réseaux Locaux Industriels Page 90 / 186
IUT de CACHAN

Les protocoles pour topologies de type anneau.

Les anneaux à jeton.

La technique de l'anneau à jeton est un principe déterministe qui


permet à chaque machine de parler quand son tour est arrivé. Il n'y a donc pas de
mise en concurrence des machines sur le réseau. Cette technique permet d'accéder
à des fonctions temps réel.

La grande différence entre les bus à jeton et les anneaux à jeton vient
essentiellement de la non-distribution des fonctions entre les machines puisque la
machine génératrice du jeton est aussi la machine chargée du contrôle de l'anneau, il
y a donc une machine prépondérante, on l'appelle le moniteur. Ce dernier est élu et
est chargé de détecter les pannes d'autres machines (ou leur déconnexion) en
contrôlant le nombre de fois où il va voir passer une même trame devant lui, au
moyen d'un FLAG nommé M pour moniteur.

A A

D B D B
1 2

J
C C

A A

D B D B
3 4
J

J
C C
Page 91 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

A A

D B D B
5 6
J J

C C

A A

D B D B
7 8
J

C C

A A
J J

D B D B
9 10

C C

Légende :

• Etape 1 : présentation de l'anneau. Les machines A et D veulent parler à B.


• Etape 2 : le jeton est disponible.
• Etape 3 : le jeton est disponible.
• Etape 4 : D a pris le jeton et placé ses données dans la trame, le jeton est
indisponible.
Les Réseaux Locaux Industriels Page 92 / 186
IUT de CACHAN

• Etape 5 : le jeton est indisponible.


• Etape 6 : B a copié les données dans son registre, le jeton est indisponible.
• Etape 7 : le jeton est indisponible.
• Etape 8 : D a rendu le jeton et vidé la trame, le jeton est disponible.
• Etape 9 : A a pris le jeton et placé ses données dans la trame, le jeton est
indisponible.
• Etape 10 : B a copié les données dans son registre, le jeton est indisponible.
• etc.

Gestion des priorités.

On dispose aussi d'un processus permettant de définir un niveau de


priorité, comme pour les bus à jeton. Toutefois, on trouve ici une différence
importante entre ces 2 protocoles, puisqu'il n'y a pas d'objectif temporel, mais une
simple réservation.

On relève 2 types de priorités, d'une part la priorité du jeton (PJ),


d'autre part, la priorité de la trame (PT) émise par une machine. On peut effectuer
une réservation grâce au registre PR (priorité requise).

Lorsqu'une machine souhaite émettre, elle attend le passage du jeton :

• Si le jeton est libre, elle regarde PJ


• Si PJ > PT, elle regarde PR
• Si PR ≥ PT, elle le laisse passer.
• Si PR < PT, elle copie la valeur de PT dans PR.
• Si PJ ≤ PT, elle prend possession du jeton et place ses données.
• Si le jeton est occupé, elle regarde PR
• Si PR ≥ PT, elle le laisse passer.
• Si PR < PT, elle copie la valeur de PT dans PR.

Lorsque la machine qui disposait du jeton, fini sa tâche, elle place alors la valeur de
PR dans PJ puis libère le jeton. La machine qui a placé la valeur de PR pourra alors
récupérer le jeton.

Pour le moniteur lorsqu'une trame passe devant lui, il place M à 1, s'il


voit repasser le jeton avec M à 1, il le libère. Donc les machines lorsqu'elles rendent
le jeton, éliminent aussi M.
Page 93 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Exemple :

Sur un anneau de 3 machines : M1, PT=1 ; M2, PT=3 ; M3, moniteur, PT=4.
Toutes les machines veulent parler. M3 crée le jeton, sans l'utiliser.
Contrôle d'accès de la trame : PJ.T.M.PR (T=0 : jeton libre, T=1 : jeton occupé)
avant M1 avant M2 avant M3
0.0.0.0 → 1.1.0.0 → 1.1.0.3
1.1.1.4 → 4.0.0.0 → 4.0.0.3
4.1.0.3 → 4.1.0.3 → 4.1.0.3
3.0.0.0 → 3.0.0.0 → 3.1.0.0
3.1.1.0 → 3.1.1.0 → 0.0.0.0
Il faut aussi chercher à analyser comment le réseau gère la
déconnexion des machines ou des problèmes de circulation. Sur détection d'une
erreur de transmission, le moniteur envoie une trame spéciale RING PURGE (purge
de l'anneau) pour réinitialiser l'interface réseau de toutes les machines de l'anneau.
Si l'erreur persiste, on effectue une nouvelle élection du moniteur, et si l'erreur
persiste encore, la trame BEACON est émise commandant à toutes les machines de
se placer en auto test.

Après l'auto test, les machines n'ayant pas détecter d'anomalie se reconnectent et
élisent un nouveau moniteur.

Efficacité des protocoles d'anneau à jeton.

Un anneau, tel qu'on le représente, c'est un ensemble de câbles et de


machines, chaque machine lit un bit puis, une période d'horloge plus tard, le recopie
sur la ligne (il y a une ligne en entrée et une ligne en sortie). On peut donc définir le
nombre de bits contenus dans l'anneau, c'est la taille de la ligne exprimée en bit
L. D
( c1 = , où L est la longueur de la ligne, v la vitesse de propagation et D le débit),
v
plus le nombre de station de l'anneau. On nomme cette valeur RING LATENCY, elle
permet de définir l'efficacité du réseau.

Il faut se rendre compte que généralement les anneaux sont constitués


d'une centaine de machine, et font quelques Km de long. Donc leur capacité est de
l'ordre de 300 bits, or, on verra plus loin pourquoi, la taille de la trame est en général
de 1 000 à 10 000 bits. On comprend que si d'un coté, l'anneau ne peut contenir que
300 bits et que de l'autre, on souhaite émettre 10 000 bits, il convient qu'une machine
effectue le stockage des 10 000-300 bits à émettre. Cette machine est tout
simplement l'émettrice du message.

Il faut impérativement que quel que soit l'anneau, le jeton tienne


entièrement dans l'anneau. Le jeton contenant 24 bits, et comme on ne peut
présupposer de la taille de l'anneau, le moniteur dispose d'une mémoire de 24 bits,
cette fonction s'appelle la mémoire de correction de contenance ou LATENCY
BUFFER.
Les Réseaux Locaux Industriels Page 94 / 186
IUT de CACHAN

L'autre notion à prendre en compte est le temps d'attente avant


l'émission. Statistiquement, quand aucune machine ne souhaite parler, il est égal à la
moitié de la contenance de l'anneau divisée par le débit.

On définit donc l'efficacité de la façon suivante :

Eff =
∑T I

∑TI + délai

où ΣTI représente le temps de transport des informations


et délai le temps d'attente du jeton :
3
Délai = (RING LATENCY + LATENCY BUFFER)
2. D

D'où le tableau suivant :

Débit Longueur de nombre de Efficacité


la trame machines

anneau de 10Km

4Mbit/s 10 000 bits 50 96,04%


4Mbit/s 10 000 bits 100 95,36%

4Mbit/s 1000 bits 50 70,82%


4Mbit/s 1000 bits 100 67,29%

Cette illustration est la copie de celle présentée par P Millet dans son ouvrage
"transmission et réseaux locaux", édité par MASSON.

Exemple de calcul d'efficacité.

Anneau de 10 000m avec un débit de 4Mbit/s et une vitesse de


propagation de 200 000Km/s, avec 50 machines.

Occupation du réseau : 104 * 4.106 / 200.106 =4.1010 / 2.108 = 200 bits


50 machines⇒50 bits + 24 de LATENCY BUFFER.
D'où au total 274 bits soit 274 / 4.106=68,5µs
D'où un délai de 3*68,5/2=103µs.

Efficacité pour 1000 bits/trame :


1000/4.106=250µs
Eff = 250 / (250 + 103) ≈ 71%
Page 95 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Protocole d'anneau à multiplexage temporel.

Le principe de ces anneaux est assez particulier, les différentes


machines disposent d'un laps de temps constant pour émettre, et la trame est
constituée de l'ensemble de ces messages, il y a donc un découpage temporel de la
trame pour que chaque machine puisse s'exprimer.

Ce protocole n'est pas normalisé, toutefois, il est utilisé par différents


réseaux de terrain. Je n'irai pas plus loin sur ce type de protocole.

Choix d'un protocole MAC.

Comme on a pu s'en rendre compte, il n'existe pas de "réseau à tout


faire", on se doit donc de définir le domaine d'utilisation d'un réseau.

Dans le cas d'un réseau local industriel, de type SENSOR BUS, on


utilise généralement des topologies de type bus, avec des protocoles à probing ou à
pooling, rarement des protocoles à jeton ou à collision (dans ce dernier cas, on utilise
généralement des bus sous exploités de 70%, c'est à dire avec peu de machines et
sur des distances réduites pour éviter des délais trop longs ou des saturations). Les
réseaux les plus utilisés sont CAN, FIPIO, BITBUS, BATIBUS ou AS-i.

Pour les structures de type DEVICE BUS, on utilise des topologies en


étoile, en bus ou en anneau, généralement, et pour des raisons de coût, on a
tendance à utiliser des protocoles à collision (toujours en les sous exploitant de 50 à
60%). Les réseaux les plus utilisés sont WORLDFIP (ou FIPWAY), CAN, MODBUS
LONWORKS, ETHERNET ou PROFIBUS.

Pour les structures de type FIELD BUS, on utilise des topologies en


étoile, en bus (avec des protocoles à collisions déterministes ou en sous exploitant
de 50%) ou en anneau. Les réseaux les plus utilisés sont FAST-ETHERNET,
TOKEN-RING ou FACTOR.

Pour les structures de type DATA BUS, on utilise des topologies en


étoile (avec des protocoles à collision déterministe ou sous exploités de 50%), en
anneau ou maillé. Les réseaux les plus exploités sont TCP-IP sur ETHERNET
GIGABIT, ATM ou FDDI.

Comme vous le constatez, il n'existe pas à proprement parler de


topologie ni de protocole unique adaptée à une application. De plus, il faut aussi
considérer que l'on a de plus en plus tendance à multiplier les réseaux pour limiter
les risques liés à la défaillance d'une machine. On remarque quand même que les
topologies en bus qui sont assez économiques sont très utilisées pour des
applications industrielles, mais dès que le nombre de machines devient important, les
bus à collision sont abandonnés au profit des anneaux ou des réseaux maillés, plus
souples à utiliser et plus fiables.
Les Réseaux Locaux Industriels Page 96 / 186
IUT de CACHAN

La sous couche LLC.

La sous couche LLC est une entité de la couche de liaison, dédiée au


service. Elle permet un ensemble de fonctions de services entre la sous couche MAC
et les couches supérieures. Dans la suite, nous "étudierons" la couche LLC du
réseau ETHERNET.

Les SAP (ou LLC SAP ou LSAP).

On définit dans cette entité des fonctions permettant de créer des accès
vis à vis des couches supérieures, en particulier de la couche réseau, ou dans les
réseaux locaux, de la couche d'application. Ces points d'entrée sont nommés SAP
pour SERVICE ACCES POINT ou point d'accès pour le service.

Chaque SAP est repéré par une adresse codée sur 8 bits. Les 7 bits de
poids faible repèrent l'adresse individuelle, tandis que le 8ème bit définit le groupe
dont fait partie le SAP pour des accès groupés.
Couche réseau
SAP 2 SAP 2

SAP 2

Gestion
LLC
PDU

Sous-couche
MAC

Exemple de sous-couche LLC.

Mais les SAP ne sont que des points d'accès, le corps du service LLC
est défini par 2 types de fonctions normalisées. Le type 1 ou service minimal, et le
type 2 où la sous-couche LLC prend en charge une grande partie des fonctions
indispensables au maintien des connexions.
Page 97 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Type de fonctionnement de la sous-couche LLC.

Fonctionnement type 1.

Le fonctionnement de type 1 ou service minimal, est le mode le plus


simple de fonctionnement. Ce mode permet l'émission et la réception des paquets
sans assurer ni le contrôle du flux, ni établissement de connexion logique avec le
récepteur, ni même la vérification de la bonne réception des données.

Il n'existe alors qu'une seule primitive dédoublée pour créer 2


commandes l'une pour l'émission, l'autre pour la réception des données : L.DATA.
Cette primitive utilisée avec le suffixe REQUEST sert à émettre et avec INDICATION
sert à la réception. On doit alors et quelque soit la direction fournir les paramètres
suivants :

Adresse locale Adresse distante Données Niveau de priorité (facultatif)

Dans le cas d'un fonctionnement de type 1, les couches supérieures


sont chargées des éléments non-traités par la sous-couche LLC. Ce format est donc
adapté à des réseaux utilisant les couches OSI supérieures. Dans le cas des
réseaux locaux de type SENSOR BUS, on a tendance à préférer à ce mode de
fonctionnement des types 2 (ou 3), ou alors pas de fonction LLC du tout.

Fonctionnement type 2.

Le fonctionnement de type 2 lui par contre, contient un nombre


beaucoup plus important de fonctions, la sous-couche LLC prenant en charge
quelques fonctions des couches supérieures, il y a cette fois ci une liaison logique
entre sous-couches LLC d'émission et de réception.

En effet, dans ce mode de fonctionnement, les sous-couches gèrent


non seulement les possibles erreurs de transmission, mais aussi l'établissement des
connexions et le contrôle du "débit" des paquets émis. Par débit, il faut comprendre
ce terme comme le fruit d'une communication asynchrone, c'est à dire l'envoi d'un
message quand le récepteur est capable de le recevoir (gestion des mémoires
tampons). On appelle en général cette fonction le contrôle du flux.

Bien entendu, le nombre de commandes croit en conséquence, on ne


trouve plus uniquement L.DATA. L'ensemble de ces commandes de contrôle est
résumés dans le tableau de la page suivante.

Attention, il faut comprendre que le mot REQUEST permet aux couches


supérieures de signaler leurs volontés d'émission, cette dernière est alors transmise
au SAP récepteur qui sous forme d'INDICATION prévient ses couches supérieures.
La fonction CONFIRM permet à l'émetteur de signaler aux couches supérieures
comment le SAP récepteur s'est comporté vis à vis de la commande (et pas quand ni
comment les couches supérieures du récepteur ont reçu l'information).
Les Réseaux Locaux Industriels Page 98 / 186
IUT de CACHAN

PRIMITIVE SUFFIXE FONCTION

REQUEST Demande de connexion.


L.CONNECT INDICATION Indication d'une demande de connexion.
CONFIRM Acquittement d'une demande de connexion.
REQUEST Emission d'un paquet.
L.DATA.CONNECT INDICATION Indication de réception d'un paquet.
CONFIRM Acquittement de réception d'un paquet.
REQUEST Demande réinitialisation de la connexion.
L.RESET INDICATION Indication de réinitialisation.
CONFIRM Acquittement de la réinitialisation
REQUEST Demande de fin de connexion.
L.DISCONNECT INDICATION Indication de fin de connexion.
CONFIRM Acquittement de fin de connexion.
L.CONNECTION- REQUEST Demande de définition du format du LSAP.
FLOW.CONTROL INDICATION Indication de définition du format du LSAP.

Vers un type 3.

Il existe actuellement un nouveau type (type 3) en cours de


spécification (donc encore incomplet et risque de changer). Ce protocole est de type
purement asynchrone, il permet de s'affranchir de la mise en rapport des SAP. Son
fonctionnement en est donc simplifié. Toutefois, il prend en charge les fonctions de
contrôle d'erreur sur les paquets émis.

Bien sûr, le nombre de primitive diminue en conséquence et passe


alors à 2, L.DATA.ACK (primitive de transmission) et L.REPLY_UPDATE (primitive
d'interrogation).

Les PDU (ou LLC PDU ou LPDU)

L'autre point très important de la sous-couche LLC est le PDU ou


PROTOCOL DATA UNIT (unité de donnée des protocoles). Cette unité représente la
façon dont la sous-couche LLC présente ses données à la couche MAC. On peut
donc considérer que les PDU sont les petits frères des SAP, l'un reçoit des données
des couches supérieures, l'autre se charge de les envoyer pour transmission.

Les PDU utilisent les paramètres transmis aux primitives SAP pour
définir le paquet à transmettre. Le format de ce paquet est strictement défini et
normé ce qui le rend totalement compatible pour toutes les machines d'un réseau.

Le paquet PDU est donc composé de 4 champs, le champ de


destination qui définit le SAP récepteur, le champ de source qui définit le SAP
émetteur, le code définissant le type de transmission et les données à transmettre.
Page 99 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

DSAP SSAP Contrôle Données


1 octet 1 octet 1 ou 2 octets N octets
Format du PDU (DSAP = destination SAP et SSAP = source SAP).

Ce PDU dispose de plus de différents modes de fonctionnement


permettant de transmettre des ordres ou des opérations. On a donc une certaine
forme de codage, aussi bien au niveau de la définition des adresses, qu'au niveau
des octets de contrôle.

Les champs d'adresses permettent de définir, par exemple, les accès


groupés (1 bit du champ DSAP) ou le type d'information en transit (1er bit du champ
er

SSAP).

DSAP SSAP
76 54 3 21 0 76 543 21 0
D D D D D D D I/G S S S S S S S C/R
D : définition de l'adresse de destination.
S : définition de l'adresse de source.
I/G : individuel / groupé (1 si groupé, 0 si individuel)
C/R : commande / réponse (1 si réponse, 0 si commande).

Mais l'élément le plus important des PDU reste le (ou les) octet(s) de
contrôle. Ces éléments ont une signification qui permet de définir comment sont
réalisées les commandes, à qui elles s'adressent, ce qu'elles représentent. Pour
reprendre une analogie simple, on peut les considérer un peu comme le codage des
mnémoniques de l'assembleur, d'un coté, on présente un texte, de l'autre, on
récupère du "code machine".

On définit ainsi 3 types de codes, les codes de type I (pour informatif)


qui sont chargés de transmettre des données en fonctionnement de type 2, les codes
de type S (pour superviseur) qui permettent de transmettre des ordres de supervision
en fonctionnement de type 2 et enfin les codes de type U (pour Indéfini en anglais
UNNUMBERED) qui permettent de transmettre tous types d'information, dans tous
les modes de fonctionnement.

Format I.

Analysons les trames présentées sur la page suivante, et commençons


par les PDU de format I. Le rôle de ce signal de contrôle est de transmettre les
paquets dans un ordre acceptable ou en tout cas déchiffrable par le récepteur. On
dispose en plus d'un indicateur permettant de définir, selon qu'il s'agisse d'un PDU
de commande ou de réponse, si l'expédition du message doit entraîner une réponse
ou si c'est un marqueur de fin.
Les Réseaux Locaux Industriels Page 100 / 186
IUT de CACHAN

Les valeurs de N°S et de N°R permettent de définir respectivement le


numéro du groupe à l'émission et à la réception. On peut ainsi définir un ordre pour
la circulation des paquets.

L'indicateur P/F permet de définir si l'émetteur souhaite recevoir une


réponse. Placé à 1 dans un PDU de commande, il signifie une demande de réponse,
placé à 1 dans un PDU de réponse, il signifie la fin de la transmission.

N° des bits de contrôle.


TYPE
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
I 0 N°S P/F N°R
S 1 0 SS XXXX P/F N°R
U 1 1 MM P/F MMM
Les formats des PDU

Format S.

Le format de supervision permet de superviser les échanges entre


machine, il ne transfère pas de données, mais des informations de contrôle du flux,
comme les demandes de retransmission en cas d'erreur, la suspension de la
transmission pour permettre à une machine d'effectuer une tâche plus prioritaire.

Il existe 3 PDU utilisable en commande et en réponse.

RR ou REICEIVE READY (reçu et prêt à recevoir), cette fonction


permet de signaler à l'émetteur que les paquets de format I numérotés jusqu'à N°R-1
ont été acquittés et que la machine peut à nouveau recevoir.

REJ ou REJECT (rejet), cette fonction permet de signaler à l'émetteur


que les paquets de format I reçus depuis le numéro N°R sont à retransmettre.

RNR ou REICEIVE NOT READY (reçu et incapable de recevoir), cette


commande permet de signaler à l'émetteur que les paquets de format I envoyés
avant N°R-1 ont été acquittés et que depuis, le récepteur n'est plus capable de
recevoir de nouvelles données.

Format U.

Le format U fonctionne aussi bien avec des types de fonctionnement 1


qu'avec des types 2. On doit donc séparer l'étude de ce format selon le type utilisé.
Page 101 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Type 1.

Le format U adapté au type 1 est composé de 4 commandes dont 1 qui


est bidirectionnelle (utilisable par l'émetteur et par le récepteur). Le fonctionnement
n'est plus asynchrone, mais réalisé sous forme d'émissions de données en série.
Seule l'interrogation (régulière) du récepteur permet de définir s'il est encore capable
de recevoir.

Attention, il ne faut pas croire qu'il n'y a aucun contrôle de réalisé lors
de la circulation des données, simplement, ils ne se situent pas à ce niveau.

UI ou UNNUMBERED INFORMATION (information indéfinie), cette


commande permet d'émettre un paquet dont le numéro d'ordre et le format ne sont
pas défini à ce niveau. Cette émission n'implique pas de la part des SAP
l'établissement d'une connexion.

XID ou EXCHANGE IDENTIFICATION (échange d'identité), cette


commande permet à l'émetteur de préciser son identité et donc les modes de service
supporté.

ID ou IDENTIFICATION (identité), cette commande est la réponse du


récepteur à une commande XID de l'émetteur. Elle permet à ce dernier de s'identifier.

TEST (test), cette commande est bidirectionnelle, elle permet de définir


l'état du récepteur. Lorsque l'émetteur émet la commande TEST, le récepteur lui
répond s'il est capable ou incapable de recevoir.

Type 2.

Dans le cas du type 2, on se trouve en face de 2 commandes et de 3


réponses, dans ce mode de fonctionnement, on "retrouve" partiellement les
commandes du mode S et du mode I. Comme on cherche à contrôler le flux
d'information, et que l'on fonctionne en mode connecté, on établit donc un mode de
transmission asynchrone.

SABME ou SET ASYNCHRONOUS BALANCED MODE EXTENDED


(activation du mode asynchrone équilibré), cette commande permet d'établir la
connexion et ses règles de fonctionnement en respectant les indications fixées par la
norme du réseau. Cette commande exige un acquittement du récepteur.

DISC ou DISCONNECT (déconnexion), cette commande permet de


terminer la connexion. Cette commande exige un acquittement du récepteur.

UA ou UNNUMBERED ACKNOWLEDGMENT (acquittement), cette


commande permet au récepteur de répondre à toutes les commandes de l'émetteur.
Il ne permet pas de préciser si les données ont été acquittées.
Les Réseaux Locaux Industriels Page 102 / 186
IUT de CACHAN

DM ou DISCONNECTED MODE (mode déconnecté), cette commande


permet au récepteur de signaler qu'il est actuellement déconnecté.

FRMR ou FRAME REJECTION (trame rejetée), cette commande


permet de signaler que la trame reçue n'est pas valable et doit être réémise. Cette
commande permet aussi de définir le type d'erreur détectée (non-respect des N° de
réception ou d'émission, erreur de transmission non corrigible, mauvaise définition de
PDU).

Vers un type 3.

Dans ce mode on dispose alors d'une commande et de 2 réponses qui


établissent un dialogue asynchrone sans établir de connexion.

UI ou UNNUMBERED INFORMATION (information indéfinie), cette


commande permet d'émettre des données.

UA ou UNNUMBERED ACKNOLEDGMENT (acquittement indéfini),


cette réponse signale à l'émetteur que les données envoyées précédemment ont été
acquittées.

FRMR ou FRAME REJECTION (rejet de trame), cette réponse signale


une erreur de transmission nécessitant une réémission du paquet.

Ce qu'il faut retenir de la sous-couche LLC.

Les formats des mots de contrôle ne sont pas incompatibles entre eux,
on peut par exemple expliciter par des commandes de format U, l'établissement
d'une communication, puis utiliser un format I pour transmettre des données. Il n'y a
pas d'incompatibilité à ce niveau. Il est par contre totalement interdit de changer de
type de fonctionnement pendant une transmission.
Page 103 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Les couches 3, 4, 5 et 6.

R
espectivement les couches de réseau, transport, session et présentation. Les
quatre couches que nous allons "étudier" ici sont souvent absentes des
réseaux locaux industriels. Elles sont généralement utilisées pour les très
gros réseaux ou pour des systèmes multi-réseaux à architecture maillée, ce
qui me permet de les passer en grande partie sous silence. Je conseillerai donc à
ceux qui sont intéressés par une analyse plus fine de leur fonctionnement de se
reporter aux ouvrages que je site au début de ce document ou à l'étude de TCP-IP
en fin de document. Ceci dit, nous aborderons ici un point précis : comment rendre
inter opérable 2 réseaux.

L'interopérabilité consiste en fait à rechercher le plus petit commun


multiple entre 2 réseaux pour établir une liaison. On a alors la possibilité de créer un
élément qui permet de transmettre des données de l'un vers l'autre. Selon le niveau
de la couche supérieure, on définit le "nom" du circuit d'interface.

Si on se situe au niveau de la couche de liaison, c'est à dire qu'il y a 2


réseaux avec chacun une machine maître, utilisant le même protocole, mais pas la
même liaison physique, on utilise alors un pont pour établir la connexion.
Si on se situe au niveau de la couche réseau, c'est à dire qu'il y a 2
réseaux avec chacun un protocole de liaison différent, mais la même encapsulation
des données, on utilise alors un routeur pour établir la connexion.
Dans le reste des cas, on doit utiliser une passerelle.

Exemple fictif de système multi-réseaux.

Réseau ETHERNET
100Mbit/s
Serveur Stations
routeur de Terminaux
de base
travail
de Terminaux
données

Stations MODEM MODEM


Disques
HP-SUN
Imprimantes PC
Pont routeur
Réseau ETHERNET 10Mb/s
passerelle
capteurs
Réseau FIP
Réseau répéteur
BITBUS Contrôle de
processus PC automates
actionneurs
Les Réseaux Locaux Industriels Page 104 / 186
IUT de CACHAN

On remarquera 2 éléments important dans les réseaux, le switch et le routeur


(****)
Page 105 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

La couche de réseau.

L
a couche de réseau a pour objectif d'amener le plus rapidement possible et par
le chemin " le plus court" les données de l'émetteur vers le récepteur en gérant
éventuellement les problèmes liés aux passage d'un réseau à un autre.

Il existe deux grands modes de fonctionnement, soit le mode connecté


(on laisse l'émetteur et le récepteur connectés en permanence l'un à l'autre), soit en
mode sans connexion (c'est à dire sans établir de lien direct).

Ce dernier cas fait apparaître la notion de datagramme, un datagramme


étant un chemin emprunté par un paquet pour atteindre un autre point. Cette notion
impose la compréhension du déplacement des paquets dans une structure maillée,
où les paquets sont transmis via les liaisons "les moins encombrées".

Ce genre de connexion convient relativement bien dès qu'il y a "peu de


trafic sur la ligne. Par contre en cas de forte occupation du réseau, il devient
impératif d'utiliser le mode connecté.

Un exemple parfait de ce mode de connexion est votre accès privé à


Internet. Pour vous connecter à votre fournisseur d'accès, vous utilisez généralement
un modem. Vous établissez entre votre domicile et le site de sa société une
connexion permanente (vous êtes en mode connecté). Par contre, votre fournisseur
lui n'est pas connecté en permanence à une machine spécifique (par exemple le
serveur de l'IUT), il n'établit donc pas de connexion quand une requête arrive lui
demandant de parler au serveur. Il se contente de lui envoyer des paquets de
requête et il reçoit les paquets fournis par le serveur (on est en mode non-connecté).

Cet exemple trouve son explication dans le fait que le secteur des
télécommunications publiques utilise le protocole X25 qui utilise le mode connecté
pour l'authentification des utilisateurs tandis qu'internet utilise le protocole TCP/IP qui
lui par contre utilise le mode non-connecté.
Les Réseaux Locaux Industriels Page 106 / 186
IUT de CACHAN

La couche d'application.

L
a couche d'application, c'est vous, mais pas seulement vous, c'est aussi
l'interface (graphique ou pas), la façon dont le logiciel présente ses données
(qui se caractérise en général par une incompatibilité des systèmes), et plein
d'autres petites choses. Cette couche n'est donc pas grande mais immense,
alors on va s'intéresser à certains points, typiques d'Ethernet .

La couche d'application se décompose sous une forme presque


pyramidale, d'un coté, on a un fonctionnement de type protocole (AP ou
APPLICATION PROCESS), de l'autre un fonctionnement de service (AE ou
APPLICATION ENTITY), ce coté se décompose alors en éléments de plus petite
taille (ASE ou APPLICATION SERVICE ELEMENT)qui lui-même est composé de
plusieurs applications, celles communes (CASE ou COMMON APPLICATION
SERVICE ELEMENT) et celles spécifiques (SASE ou SPECIFIC APPLICATION
SERVICE ELEMENT).

Couche d'application.
APPLICATION ENTITY
ASE1 ASE2

CASE SASE

APPLICATION PROCESS
ASE3 ASE4

S’il n'existe qu'un seul format pour le CASE, il existe bien des versions
des SASE (exception faite d'un SASE spécial nommé ACSE que nous verrons plus
loin). Il est impossible de parler des SASE puisque cette application n'est pas un
standard unique, et qu'en général, elle n'est adaptée que pour des réseaux
spécifiques. Toutefois, les fonctions ACSE et CASE étant des standards, je vous
propose un petit lexique.

Le ACSE (ASSOCIATION COMMON SERVICE ELEMENT)

L’élément de service commun d'association. Cette fonction permet


d'établir des connexions logiques entre 2 machines (et seulement 2). Cela permet
d'établir un lien au niveau de la couche d'application sans que l'utilisateur n'ait à
contrôler les couches inférieures.

On dispose alors de 4 commandes elle aussi paramétrables pour établir


une connexion bidirectionnelle.
Page 107 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

PRIMITIVE PARAMETRE FONCTION

REQUEST
L'ensemble de ces primitives permet d'établir
A_ASSOCIATE INDICATION une association entre 2 machines.
RESPONSE
CONFIRM
REQUEST L'ensemble de ces primitives permet
A_RELEASE
INDICATION d'interrompre l'association de 2 machines
RESPONSE
CONFIRM
Fonction permettant d'interrompre l'association
A_ABORT REQUEST à la suite d'une erreur détectée par l'utilisateur
INDICATION
A_P_ABORT INDICATION Même chose mais détection du fournisseur

Le CASE (COMMON APPLICATION SERVICE ELEMENT).

L'élément de service commun aux applications permet à toutes les


fonctions de disposer d'un ensemble de commandes utilisable pour dialoguer avec
les couches inférieures directement à partir de la couche d'application. On peut ainsi
transmettre aux couches inférieures des commandes. On ne détaillera ici que les
fonctions utilisées pour le dialogue (atteignant les couches basses, comme la couche
de liaison).

Il y a bien sur d'autres fonctions permettant de donner des ordres aux


couches de présentation, de session, de transport ou de réseau, mais comme ces
couches sont absentes de la majorité des réseaux de type DEVICEBUS, je les passe
sous silence.
TYPE PRIMITIVE FONCTION
A_ASSOCIATE
A_RELEASE
ACSE A_ABORT Voir tableau précédent
A_P_ABORT
A_SYNC_MAJOR Synchronisation forte
A_SYNC_MINOR Synchronisation faible
A_RESYNC Resynchronisation
A_TOKEN_PLEASE Demande du jeton
Contrôle A_TOKEN_GIVE Passage du jeton
Du A_CONTROL_GIVE Cession du contrôle du réseau
Dialogue A_ACTIVITY_START Lancement d'une activité
A_ACTIVITY_RESUME Reprise d'une activité
A_ACTIVITY_END Fin d'une activité
A_ACTIVITY_INTERRUPT Interruption d'une activité
A_ACTIVITY_DISCARD Annulation d'une activité
Les Réseaux Locaux Industriels Page 108 / 186
IUT de CACHAN

Etude de quelques réseaux locaux

D
ans ce chapitre, on va (enfin) étudier le fonctionnement de quelques réseaux.
En particulier, il me semble logique de vous parler d'ETHERNET + TCP-IP, de
CAN et de I2C. Bien entendu, ce chapitre n'est pas exhaustif, et ne pourrait
pas l'être. En effet, le renouvellement quasi permanent des technologies ne le
permettrait pas.

Mais avant de présenter ces réseaux, nous allons regarder un petit


lexique des différents réseaux disponibles sur le marché.

Nom BITBUS CAN WORLDFIP ETHERNET


Fabriquant Intel Bosch Schneider EDF Intel
Type de bus Sensor Device Sensor Device Device Device Field
Application type Manufacturier Automobile Manufacturier Bureautique
Procédure Producteur
Maître Esclave multimaître Répartie
d'échange Consommateur
Accès au médium Scrutation CSMA/NBA Arbitre Scrutation CSMA/CD
Tout support Paire torsadée paire torsadée
Médium Paire torsadée
(paire torsadée) fibre optique fibre optique
Topologie Etoile Bus Etoile Bus Bus Etoile Bus
0,5 à 2,4M (30m) 20K (1000m) 31,25K 1M 2,5M 10 ou 100M
Vitesse et distance
375K (300m) 1M (40m) (7000m) (500m)
Longueur du
250 octets 8 octets 128 octets 46 à 1500 octets
champ de donnée
Temps d'accès 35 bits en 1ms
Nombre de nœuds 28 par étoile
128 256 1024
maximum 250 par bus
Remarque Déterministe Aléatoire Déterministe Aléatoire

Il faut noter que bon nombre de réseaux ne sont que des variantes des
réseaux les plus connus (ce qui à tendance à rendre l'offre encore plus difficile à
analyser), on retiendra pour l'exemple FIPIO qui est une version SENSOR BUS de
FIP et FIPWAY la version DEVICE BUS. Mais les exemples ne s'arrêtent pas là
puisque certains réseaux (comme CAN ou FIP, considérés comme des
technologies), sont utilisés comme des "supports" pour des applications, ce qui fait
qu'entre 2 réseaux basés sur CAN, il n'y a souvent que la couche 7 (couche
d'application) qui les rend incompatible (par exemple SDS, DEVICENET, VAN et
CAL ne sont que des applications spécifiques de CAN pour un type de
fonctionnement précis).

Ce genre de récupération est assez intéressante puisqu'elle autorise


l'utilisation de systèmes CAN tout en les rendant plus spécifique donc plus
adaptable.
Page 109 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le bus CAN.

L
e bus CAN est né en 1984 dans les ateliers BOSCH, initialement prévu pour
des applications automobiles, il s'est au fur et à mesure étendu pour former une
gamme industrielle complète. Les composants spécifiques CAN sont fabriqués
par les plus grands manufacturiers (PHILIPS, INTEL, MOTOROLA, SIEMENS,
NEC, THOMSON, NATIONAL SEMICONDUCTOR, etc.) et on considère que CAN
représente désormais un standard international.

CAN ou CONTROLER AREA NETWORK (réseau de contrôle local) est


un protocole de transmission différentiel série avec viol (après 5 bits) qui permet
l'utilisation de systèmes temps réel pour des coûts relativement faible.

Développé pour l'automobiles, il permet de réduire les câblages


internes des véhicules en multiplexant sur une ligne les informations en provenances
des divers éléments du véhicule (gestion de la motorisation, des organes de
signalisation, de l'allumage électronique, etc.). Entièrement compatible avec la norme
OSI, il est composé de 4 couches (en réalité 3 mais la couche de liaison a été
découpée entre LLC et MAC).

Il peut autoriser des débits de 20Kbits/s sur une distance de 1000m ou


pour des distances réduites, de l'ordre de 40m, autoriser un débit de 1Mbit/s. Les
trames de données peuvent accueillir un message comprenant jusqu'à 8 octets.
Grâce à son code CRC, il permet d'obtenir une probabilité d'erreur rémanente (non
détectés) de 4,7.10-11. Il dispose aussi d'un système permettant la mise en sommeil
des éléments du réseau (ce qui permet dans le cas de l'automobile de gérer une
alarme).

Les trames CAN.


Les communications sur le réseau CAN sont réalisées grâce à
différentes trames, chaque trame permettant de transmettre une information
spécifique (données, requêtes, surcharges ou erreurs). Ces trames sont composées
de plusieurs champs permettant de définir tous les paramètres de la transmission.
Entre 2 trames, on place un ou plusieurs intervalles "vides" permettant au récepteur
de décoder le message et de signaler si on doit le placer dans un mode d'attente
(surcharge), s’il y a une erreur de transmission ou si d'autres données sont
nécessaires.

Ainsi, une trame de donnée est obligatoirement suivie soit d'une trame
d'erreur, soit d'une trame de surcharge, soit d'un intertrame. Dans ce dernier cas, il
peut apparaître, après l'intertrame, à nouveau une intertrame, une trame de requête
ou de données.

Après une trame d'erreur, on peut voir soit un intertrame, soit une trame
de surcharge. Après une trame de surcharge, on peut voir apparaître une nouvelle
trame de surcharge ou un intertrame.
Les Réseaux Locaux Industriels Page 110 / 186
IUT de CACHAN

Le protocole CSMA/NBA
Le protocole CSMA/NBA est un protocole sans contention, en cas de
conflit, les machines s'arbitrent grâce aux valeurs "d'index" qu'elles envoient.

Pour le protocole CSMA/NBA, il existe 2 niveaux de tension


correspondant au "1" et au "0" logique, l'état "0" est obtenu par mise directe à la
masse (on dit que c'est un état dominant) et l'état logique "1" s'obtient par passage
dans un élément résistif (on dit que c'est un état récessif). En cas de confit, un état
dominant l'emporte toujours sur un état récessif, l'arbitrage est donc facile à faire et
surtout il est non destructif puisqu'il ne nécessite pas la réémission des 2 messages.
D'où le nom de ce protocole (NBA = Non-destructive Bitwise Arbitration ou arbitrage
bit à bit non destructif)

Emetteur A R R R D R D R D R D
Emetteur B R R R R
Emetteur C R R R D R R
état du bus R R R D R D R D R D

Ce protocole joue sur la capacité de la couche physique à absorber les


chocs liés aux conflits de bus. Toutefois, il reste encore teinté d'une connotation
aléatoire, on ne peut en effet pas prédire en combien de temps une machine peut
transmettre un message, la seule chose qui soit sure, c'est que plus "l'index" contient
des bits dominants au début, plus le message devient prioritaire.

Les trames de données.


Les trames de données sont composées de 7 champs, le premier
permettant de définir le début de la trame (délimiteur de début), puis, on trouve un
champ d'arbitrage, utilisant le protocole CSMA/NBA, permettant à la machine la plus
prioritaire d'obtenir le contrôle du bus. Vient après, le champ de contrôle, permettant
de définir la longueur du message à transmettre, puis on trouve le champ de
données où se trouve le message. Enfin viennent les champs de contrôle d'erreur
champ de CRC), d'acquittement et de fin de trame.

Trame de données

Délimiteur de début Fin de trame


Champ d'arbitrage Cham p d'acquittement
Champ de contrôle Champ de CRC
Champ de données
Page 111 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le délimiteur de début.
Le délimiteur de début permet de définir le début de la trame. Il est
constitué d'un simple bit dominant ("0") qui permet de lancer une resynchronisation
des machines du réseau. La transmission du délimiteur n'est autorisée que lorsque le
code IDLE (prêt à transmettre) est détecté (intertrame).

Le champ d'arbitrage.
Le champ d'arbitrage est composé de 12 bits, 11 bits d'identification et
1 bit spécial nommé RTR ou REMOTE TRANSMISSION REQUEST (demande de
transmission à distance). Les 11 bits d'identification servent à définir le ou les
destinataires (on ne transmet pas une adresse mais un "descriptif" du message). Ils
servent aussi à définir le niveau de priorité des messages. C'est sur ce champ, qui
est définit lors de la mise en œuvre du réseau, que l'on réalise l'arbitrage du bus
(d'où son nom).

Il faut noter que toutes les machines lisent le message mais seules
celles destinataires du message sont susceptibles de l'utiliser. Les 11 bits sont
transmis dans l'ordre ID10 (MSB) à ID0 (LSB).

Le bit RTR permet d'effectuer une demande de transmission à distance.


Placé à l'état dominant, il signifie que l'on a une trame de données, placé à l'état
récessif il signifie que l'on a une trame de requête. Dans une trame de requête il n'y a
pas de données dans le champ de message, quelle que soit la longueur définie dans
le champ de contrôle.

Le champ de contrôle.
Le champ de contrôle est composé de 6 bits, 4 permettent le codage de
la longueur du message et les 2 autres servent à définir la version du protocole
réseau utilisé.

Les 2 premiers bits du champ de contrôle définissent le protocole utilisé


par le bus CAN. Le premier bit nommé IDE pour Identifier Extended permet de
signifier si l'index est codé sur 11 bits (IDE à l'état Dominant, réseau à la norme CAN
2.A) ou sur 29 bits (IDE à l'état récessif, réseau à la norme CAN 2.B). Le second bit
étant toujours à l'état dominant. La longueur du message est définie au moyen des 4
bits suivant du champ de contrôles.
Taille du mot de DLC3 DLC2 DLC1 DLC0
donnée
0 octet D D D D
1 octet D D D R
2 octets D D R D
3 octets D D R R
4 octets D R D D
5 octets D R D R
6 octets D R R D
7 octets D R R R
8 octets R D D D
Les Réseaux Locaux Industriels Page 112 / 186
IUT de CACHAN

Le champ de données.
Le champ de données est composé de 0 à 8 octets de données. La
taille de ce message est définie par 4 bits du champ de contrôle.

Le champ de CRC.
Le champ de CRC est composé de 16 bits. On a d'abord la séquence
CRC (15 bits), représentant le reste de la division des bits des champs précédents
de la trame par le polynôme suivant :
G ( x) = x15 + x14 + x10 + x 8 + x 7 + x 4 + x 3 + 1

D’autre part, on a un marqueur de fin de CRC qui est un simple bit


récessif appelé délimiteur de CRC (CRC DEL).

Le code CRC du message est calculé sur tous les champs précédents
(début de trame, arbitrage, contrôle et données). Il ne tient pas compte du BIT-
STUFFING du message mais est lui-même soumis à cette règle.

Le champ d'acquittement.
Le champ d'acquittement est composé de 2 bits, d'un coté, le bit
d'acquittement (ACK SLOT), mis à 1 (récessif) par l'émetteur et mis à 0 (dominant)
par les machines réceptrices (il faut noter que toutes les machines doivent répondre,
y compris celles qui ne sont pas concernées par le message). De l'autre, le bit de
délimitation (ACK DEL) qui est un bit récessif.

Le champ de fin de trame.


Le champ de fin de trame est composé de 2 champs, d'une part le
champ d'intertrame (composé de 7 bits récessifs) et après le champ BUS-IDLE qui
signifie que le bus est libre et dont la taille n'est pas limitée.

Les trames de requête.


Les trames de requête sont composées comme les trames de données
du délimiteur, suivit du champ d'arbitrage, du champ de contrôle, du champ de CRC,
du champ d'acquittement et du délimiteur de fin.

Il n'y a donc pas de champ de données. Toutefois, dans le champ de


contrôle, la définition de la longueur du message est, elle, totalement libre, on peut
donc y inscrire toutes les valeurs utilisables (de 0 à 8).

Le champ d'arbitrage est composé, comme pour une trame de donnée


de 11 bits d'identification et du bit RTR qui doit être obligatoirement récessif. Les bits
d'identification émis par la machine qui sollicite le transfert seront utilisés pour
identifier la réponse.
Page 113 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

La règle du BIT-STUFFING.

Le bus CAN étant asynchrone, l'horloge de l'émetteur et celle du


récepteur ne sont pas identique en permanence (pas de boucle à verrouillage de
phase pour fabriquer l'horloge de réception à partir de la ligne de transmission).
Toutefois, pour que le synchronisme des échanges reste correct, il faut que les 2
horloges soient à peu près identiques (on verra plus loin comment synchroniser les
échanges). Pour cela, le récepteur essaye de caler son horloge sur celle de
l'émetteur grâce aux fronts (descendant) que celui-ci émet.

Dans cette hypothèse, une longue absence de fronts risque de


désynchroniser le récepteur et donc de créer des problèmes de réception. Pour cela,
régulièrement, l'émetteur, quelque soit son message, va insérer des fronts de
resynchronisation, c'est le BIT-STUFFING.

Le BIT-STUFFING est un élément important du réseau CAN, il permet


à l'horloge de réception de ne pas dériver trop vis à vis de la fréquence de l'horloge
d'émission. Il est réalisé par l'ajout d'un bit récessif ou dominant (respectivement
pour une série de 5 bits dominants ou récessifs).

Le BIT-STUFFING s'applique aux champs suivants des trames de


données ou de requête :
• Le délimiteur de début de trame.
• Le champ d'arbitrage.
• Le champ de contrôle.
• Le champ de données (quand il est présent).
• Le champ de CRC.

Les bits de STUFFING sont extrais à la réception, lorsque le récepteur


détecte 5 bits dans un état, il vérifie que le 6ème n'est pas dans le même état (ce qui
serait contraire à la règle de stuffing) et si ce bit est différent de la série précédente, il
l'élimine et reprend son analyse de la trame au bit suivant comme si de rien n'était.
Les Réseaux Locaux Industriels Page 114 / 186
IUT de CACHAN

Récapitulatif des trames CAN.

Champ d'arbitrage
Début de trame

ID10 ID0 RTR

Champ de contrôle
Longueur du
Bits réservés champ de
données

Champ Champ de
d'arbitrage données
IDE DLC0
R DLC3

Champ de Champ
données Champ de CRC d'acquittement

Séquence CRC

Délimiteur de CRC

ACK SLOT Délimiteur d'ACK ACK SLOT Délimiteur d'ACK

Champ de Champ de
CRC Intertrame CRC Intertrame

Champ Champ
d'acquittement d'acquittement
émis renvoyé
Format des différents champs.
Page 115 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Les trames d'erreurs.


L'activité principale du réseau CAN étant l'automobile, on comprend
facilement le soin qui a été porté à la gestion des erreurs, car un système automobile
est par essence extrêmement sensible aux éventuelles défaillances du réseau. On
doit donc rendre les éléments du réseau "intelligent" vis à vis de la détection d'erreur.

Chaque nœud du réseau CAN peut détecter 5 types d'erreurs.


• Les erreurs de bits qui sont liées à la détection par l'émetteur d'un état
différent de celui émis. Il n'y a pas d'erreur si un bit dominant apparaît à la
place d'un bit récessif durant l'émission du champ d'arbitrage, du bit ACK
SLOT ou durant l'émission une d'erreur passive.
• Les erreurs d'acquittement apparaissent lorsque le ACK SLOT n'est pas
passé à un état dominant.
• Les STUFF ERROR (ou erreur de viol) signifie que la machine réceptrice a
détecté 6 bits dans le même état (alors qu'au bout de 5 bits, il doit en
principe, il y avoir un viol).
• Les erreurs de CRC sont émises lorsque le champ de CRC ne correspond
pas aux données transmises.
• Les erreurs de forme sont émises lorsque la trame n'est pas conforme au
format prédéfini (trame trop courte par exemple).

De plus, chaque nœud dispose de 3 états de réceptivité aux


communications. L'état actif, qui est l'état normal de fonctionnement, l'état passif qui
est un mode légèrement dégradé et l'état déconnecté (état Off) qui verrouille le
contrôleur en lui interdisant d'émettre et de recevoir des données.

La trame d'erreur active est composée de 6 bits dominants (appelés


ERROR FLAG) puis de 8 bits récessifs (ERROR DELIMITER), et ceci en violant les
règles du BIT-STUFFING.

La trame d'erreur passive est composée de 6 bits récessifs (ERROR


FLAG) puis du ERROR DELIMITER.

Les trames d'erreurs sont impérativement suivies de 3 temps bit


pendant lesquels le bus est laissé libre.
Les Réseaux Locaux Industriels Page 116 / 186
IUT de CACHAN

Présentation de la trame d'erreur active


Bit-time Inter-trame
Trame d'erreur

ERROR FLAG

Superposition ERROR DELIMITER


d'ERROR FLAG

Une machine qui détecte une erreur émet immédiatement (en


interrompant la transmission du message, c'est à dire sans en attendre la fin) son
ERROR FLAG puis le premier bit de son ERROR DELIMITER. Si la machine est en
mode actif, les 6 bits dominant qu'elle émet créent une erreur de BIT-STUFFING
pour toutes les autres machines du bus. Toutes les machines qui n'auraient pas
détecté l'erreur initiale, envoient alors leur trame d'erreur. La ou les machines qui
avaient détecté l'erreur initiale (et émis leurs ERROR FLAG) attendent l'apparition
d'un front montant (passage du premier bit du ERROR DELIMITER de la dernière
machine ayant détecté une erreur), pour émettre le reste du ERROR DELIMITER.

De plus, chaque machine comptabilise les erreurs qu'elle détecte ou qui


lui sont signalées grâce à deux compteurs, l'un en émission qui compte le nombre
d'erreur que la machine réalise lorsqu'elle émet, le second en réception compte les
erreurs que la machine détecte quand elle reçoit.

Chaque fois qu'une erreur est détectée, les machines émettent une
trame d'erreur (active ou passive) et incrémente leur compteur d'erreur concerné de
8 unités. Tout message transmis avec succès permet de décrémenter le compteur
concerné d'une unité.
Page 117 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

L'état de la machine est défini par l'état de ses deux


compteurs. Si les deux compteurs sont strictement
inférieurs à 128, la machine est en mode actif. Si par
contre l'un de ses deux compteurs atteint ou dépasse la
valeur de 128, la machine passe en mode passif. Enfin, si
le compteur d'erreur de transmission dépasse 255, la
machine passe à l'état Off.

La seule différence entre le mode actif et le mode


passif réside dans la différence de trame d'erreur. Cela
sous entend qu'une machine passive ne peut interrompre
les transmissions par l'émission de sa trame d'erreur, donc,
seule, une machine passive ne peut déclencher d'erreur
sur les autres machines du bus.

Néanmoins, une machine en mode passif est libre


d'émettre ou de recevoir des messages, tout comme une
machine active. Une machine à l'état Off quand à elle est
physiquement déconnectée de la ligne et ne peut donc ni
émettre, ni recevoir. Seul le comptage de 128 fois 11 bits
récessif sur le bus pourra la réinitialiser.

Dans notre premier exemple, La machine C est la seule qui souhaite parler, les
machines A et B n'ayant rien à transmettre durant toute la phase présentée.

Machine A Machine B Machine C


numéro d'étape
CER CET CER CET CER CET
Etape 0 0 0 0 0 0 0
Etape 1 8 0 8 0 0 8
Etape 2 16 0 16 0 0 16
… … … … … … …
Etape 16 128 0 128 0 0 128
Etape 17 136 0 136 0 0 136
… … … … … … …
Etape 31 248 0 248 0 0 248
Etape 32 255 0 255 0 0 256

Etape 0 : Les 3 machines sont à l'état initial, leurs compteurs sont


tous à 0, la machine C souhaite transmettre, mais sa
connexion est défaillante et elle déclenchera donc
systématiquement une erreur à chaque transmission.

Etape 1 : Après la première transmission de C, les machines A et B


détectent des erreurs de CRC ou de forme. Elles envoient
donc leurs trames d'erreur active se qui déclenche sur C
une erreur. Toutes les machines incrémentent leurs
compteurs d'erreur de réception (pour A et B) et de
transmission (pour C) de 8 unités.
Les Réseaux Locaux Industriels Page 118 / 186
IUT de CACHAN

Etape 2 : La machine C n'ayant pas réussi à transmettre son


message, elle réitère sa transmission. Les mêmes causes
ayant les mêmes effets, toutes les machines incrémentent
leurs compteurs respectifs.

Etape 16 : Suite à une nouvelle transmission de C, une erreur fait


passer tout le monde en mode passif, désormais, les
machines détectent les erreurs mais n'envoie plus de
trames actives. Les trames passives ne bloquant plus la
transmission, c'est chaque machine qui gère
individuellement les erreurs.

Etape 17 : La machine C étant la seule à vouloir parler, elle émet à


nouveau. Les machines A et B détectent une erreur,
envoient leurs trames d'erreur passive et incrémentent leurs
compteurs d'erreurs. La machine C n'a personne pour
acquitter sa trame, cela déclenche une erreur.

Etape 31 : La machine C étant la seule à parler, elle s'enfonce


rapidement.

Etape 32 : C'est la 32ème erreur consécutive de la machine C en


transmission, son compteur d'erreur de transmission atteint
256, elle passe en mode OFF. Elle est désormais
désactivée et seul une intervention extérieure pourra la
réactiver. Les machines A et B sont elles toujours à l'état
passif et continuent donc de dialoguer. Doucement, elles
vont revenir à l'état initial.

Dans notre deuxième exemple, la machine A est la seule qui souhaite


parler et la machine C est toujours défaillante.
Machine A Machine B Machine C
numéro d'étape
CER CET CER CET CER CET
Etape 0 0 0 0 0 0 0
Etape 1 0 8 8 0 8 0
… … … … … … …
Etape 16 0 128 128 0 128 0
Etape 17 0 127 127 0 136 0
… … … … … … …
Etape 32 0 112 112 0 255 0

Etape 0 : Les trois machines sont à l'état initial, la machine C est


défaillante et la machine A a une trame à transmettre.

Etape 1 : La machine C ne reçoit pas correctement la trame de A


(erreur de CRC ou de Forme), elle émet alors une trame
d'erreur active qui déclenche une erreur sur B et sur A. Les
compteurs d'erreur s'incrémentent. A n'ayant toujours pas
transmis sa trame, il recommence sa transmission.
Page 119 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Etape 16 : Pour la 16ème fois consécutive, la machine C signale une


erreur sur la réception de la trame émise par A. Cette fois
ci, toutes les machine ont atteint le seuil de passage en
mode passif.

Etape 17 : A transmet à nouveau sa trame, la machine C détecte une


erreur, et envoie une trame d'erreur passive (composée
uniquement de bit récessifs). Cette trame ne perturbe pas
la transmission de A et la réception de B. La machine B va
donc acquitter la trame de A, ces 2 machines n'ont pas
détecter d'erreur, elles décrémentent donc leur compteurs
d'erreur, ce qui les fait repasser en mode actif, tandis que C
en incrémentant le sien, continu de s'enfoncer en mode
passif.

Etape 32 : Doucement A et B qui continuent à communiquer sans


problèmes voient leurs compteurs revenir vers la normale,
tandis que C achève de se placer en mode passif. C existe
toujours, mais ne perturbe plus les communications, seul
des transmissions issues de C peuvent le placer en mode
OFF (voir l'exemple précédent).

Les trames de surcharge.


L'émission d'une trame de surcharge répond à un problème de
surcharge sur l'une des machines. Elle permet de temporiser l'émission de la trame
de donnée suivante. Il ne peut y avoir plus de 2 trames de surcharge de suite pour
éviter qu'un problème sur une machine puisse bloquer les autres machines du
réseau trop longtemps.

Comme pour les trames d'erreur, les trames de surcharges sont


composées de 2 champs. Le champ de surcharge (OVERLOAD FLAG) est composé
de 6 bits dominants violant ainsi la règle du BIT-STUFFING et par le délimiteur de
surcharge (OVERLOAD DELIMITER) composé de 8 bits récessifs.

A la différence des trames d'erreur, les trames de surcharges sont


exclusivement émises à la fin d'une trame de données ou de requête tandis qu'une
trame d'erreur interrompt la transmission. C'est d’ailleurs de cette façon que l'on
différentie les deux.

Synchronisation des échanges.

L'utilisation de composants CAN nécessite une certaine compréhension


de ce que l'on appelle la synchronisation des échanges. Il faut envisager ce point
avec en mémoire les règles élémentaires des transmissions.

Le but de ce chapitre est de définir les points importants de la


transmission. La définition de la vitesse maximale de transmission, la définition du
point d'échantillonnage, et enfin, la définition des longueurs maximales des lignes du
réseau.
Les Réseaux Locaux Industriels Page 120 / 186
IUT de CACHAN

Décomposition d'un bit en segments.


Un bit, au sens du réseau CAN, est composé de 3 segments, le
segment de synchronisation, le segment n°1 qui est composé de la propagation et de
la phase de pré-acquisition et enfin le segment 2.

Horloge d'émission Tscl

Propagation Segment n°1 Segment n°2

Segment de Point
synchronisation d'échantillonage

Durée d'un BIT

L'horloge de transmission (TSCL ou System Clock) est réalisée à partir


de l'horloge du composant (TCLK). Ces deux horloges sont liées par le terme NBRP ou
Baud Rate Prescaler. On peut dont écrire la relation suivante :
TSCL = 2 ⋅ NBRP ⋅ TCLK
Pour chaque bit transmis, la première période de l'horloge système est
appelée temps de resynchronisation (TSYNC), il permet à la machine réceptrice de se
resynchroniser avec l'émetteur.

Viens en suite le temps de propagation de la ligne et les retards liés aux


différents composants rencontrés sur le bus. L'addition de ces temps forme le
segment SEG1 (TSEG1).

On ajoute enfin un petit intervalle de temps pour permettre le traitement


et éventuellement pour obtenir une "marge d'erreur" sur la longueur d'un bit. Cela
forme le segment SEG2 (TSEG2).

Pour permettre au système de se resynchroniser, on autorise la trame à


être réduite ou au contraire prolongée. Cette valeur est nommée SJW pour
Synchronisation Jump Width.

Pour les segments SYNC, SEG1 et SEG2, on peut traduire la durée


des segments en un nombre de périodes de l'horloge système :
TSEG1 = N SEG1 · TSCL
TSEG2 = N SEG2 · TSCL
TSYNC = TSCL
Page 121 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

On peut donc en déduire que la transmission d'un bit est la somme d'un
nombre de périodes de l'horloge système. Ce nombre est nommé NNBT (pour
Nominal Bit Time) et se décompose de la façon suivante :
NNBT = 1 + NSEG1 + NSEG2

On cherchera toujours à obtenir NNBT le plus grand possible.

De plus, les composants CAN permettent de réaliser l'acquisition, au


choix, de un ou de trois échantillons. On réalise alors un "filtrage numérique" en
calculant la moyenne et en la comparant à une certaine valeur. Cette possibilité est
nommée SAM pour Sample Mode.

On a donc définit, en fonction des limites des composants, les règles


liant les valeurs les unes aux autres.

NSEG1 ne peut pas dépasser 16


NSEG2 ne peut pas dépasser 8
NSJW ne peut pas dépasser 4
NBRP ne peut pas dépasser 64

Il existe aussi des critères de "qualité" dans la définition des segments


d'un bus CAN. Cela reviens à dire que le point d'échantillonnage doit se situer entre
66 et 75% de la taille de la trame. Autrement dit, on considère que :

2 ⋅ NNBT 3 ⋅ NNBT
≤ (NSEG1 + NSYNC ) ≤
3 4

Toutefois, dans certains cas, ces règles ne peuvent être atteinte, dans
ce cas, il existe des limites qui sont simplement liées à la cohérence du système ou à
une vision moins restrictive de la norme :

3+SA ≤ NNBT ≤ 25
M
1 ≤ NSEG1 ≤ 16
2+SA ≤ NSEG2 ≤ 8
M
1 ≤ NSJW < NSEG2

Exemple de calcul.
On souhaite transmettre à l'aide d'un composant CAN doté d'une
horloge à 16MHz des signaux à un débit de 100Kbit/s en ne prenant qu'un seul
échantillon, sur une ligne de 50m.

1
Un bit doit durer : 10µs = avec une période d'horloge
100Kbit/s
1
de 62,5ns = , d'où :
16MHz
10µs
NBRP ⋅ NNBT ⋅ 2 = ⇔ NBRP ⋅ NNBT ⋅ 2 = 160
62,5ns
Les Réseaux Locaux Industriels Page 122 / 186
IUT de CACHAN

La méthode la plus simple pour résoudre ce problème est de


décomposer 160 en éléments simples :
160 = 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 2 ⋅ 5
On peut alors dire :
NBRP = 5
NNBT = 2·2·2·2 = 16
Ce qui correspond bien aux règles imposées dans le tableau précédent
(NNBT le plus grand possible sans jamais dépasser 25).

On en déduit :
TSCL = 2 · NBRP · TOSC
TSCL = 2 · 5 · 62,5ns = 625ns
Selon le critère qui impose le rapport entre NNBT et NSEG1 + NSYNC, on a
2 limites qui sont :
16 ⋅ 2 16 ⋅ 3
≤ 1+ NSEG1 ≤
3 4
10,66 ≤ 1 + NSEG1 ≤ 12
On choisira donc NSEG1 le plus grand possible d'où :
NSEG1 = 11
NSEG2 = 16 - NSYNC - NSEG1 = 4
On reprendra ce calcul un peu plus loin pour prendre en compte la
longueur souhaitée de la ligne, lors du paragraphe sur les temps de propagation et
sur la tolérance de l'horloge.

Rappel sur les oscillateurs.

Le fait de ne pas transmettre l'horloge dans une liaison CAN implique


une resynchronisation régulière des différents nœuds du réseau. Cette
resynchronisation est réalisé à chaque front descendant de la trame. Avec elle, le
récepteur est capable de compenser la dérive de son oscillateur local par rapport à
celui de l'émetteur, puisque par définition, un front est synchrone avec l'horloge qui
l'a créé.

Cette synchronisation est réalisée par le NSJW et s'établie de la façon suivante :

• Si le changement d'état (front descendant) intervient durant le segment


SYNC, la durée du bit n'est pas modifiée.

• Si le changement d'état intervient après le segment SYNC, on parle


d'erreur de phase positive, dans ce cas, le Segment 1 sera rallongé, dans
la limite de la valeur de NSJW, d'un nombre entier de périodes de TSCL.

• Si le changement d'état intervient avant le segment SYNC, on parle


d'erreur de phase négative, dans ce cas, le segment 2 sera diminué, dans
la limite de la valeur de NSJW, d'un nombre entier de périodes de TSCL.
Page 123 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Dans le cas d'une erreur de phase positive, le segment n°1 en se


rallongeant va compenser la perte de temps de propagation liée au retard du front
d'horloge.
Cela revient à dire que tant que le retard du front est inférieur
à TSCL ⋅ NSJWMAX , il n'y a pas de diminution du temps de propagation.

Dans le cas d'une erreur de phase négative, c'est le segment 2 du bit


"précédent" qui est atteint, cela n'a donc aucune conséquence sur la propagation.
La tolérance maximale sur l'oscillateur local d'un composant CAN est donnée par la
formule :
NSJW NSJW
TOL MAX = ou
20 ⋅ NNBT 2 ⋅ (30 ⋅ NNBT − NSEG2 )

On notera que la tolérance généralement admise pour un astable est


de 1,5%, de 0,1% pour un quartz non thermostaté et de 10ppm pour un quartz de
très bonne qualité.
Les Réseaux Locaux Industriels Page 124 / 186
IUT de CACHAN

Interface entre les composants CAN et la couche physique.

Dans la plus part des cas, il est impossible de placer directement le


contrôleur CAN sur la ligne physique, et on doit souvent utiliser des composants
spécifiques d'interfaçage (par exemple le 82c250 de Philips). En effet, l'utilisation
d'une ligne bifilaire à des débits importants implique une adaptation d'impédance. De
plus les niveaux électriques utilisés sur les 2 voies différentielles du réseau sont
assez difficiles à obtenir sans interfaçage.

La norme CAN définie 2 règles de transfert, la règle de transfert rapide


(High Speed CAN) caractérisée par des débits supérieurs à125Kbit/s et la règle de
transfert lent (Low Speed CAN) caractérisée par des débits inférieurs à 100Kbit/s.

High Speed CAN.


Les contraintes technologiques liées à l'utilisation de CAN à des débits
élevés, sont les suivantes :
• Limitation du nombre de nœud (inférieur à 30).
• Utilisation d'un câble en paire torsadée d'impédance 120Ω.
• Sortie en courant (25mA) avec protection contre les courts-circuits.
• Limitation de la longueur de la ligne par le temps de propagation.

La ligne utilisée est alors de la forme suivante :

Noeud 1 Noeud 30

CAN_H

120Ω 120Ω

CAN_L
D'où les niveaux de tension :
5V

4V CAN_H
3,5V
3V
2,5V
2V
1,5V
1V CAN_L

Récessif Dominant Récessif


Page 125 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Low Speed CAN.

Les contraintes technologiques liées à l'utilisation de CAN à des débits


faible, sont les suivantes :
• Limitation du nombre de nœud (inférieur à 20).
• Utilisation d'un câble en paire torsadée d'impédance 120Ω.
• Sortie en courant (1mA) avec protection contre les courts-circuits.
• Limitation de la longueur de la ligne liée à la charge capacitive.

La ligne utilisée est alors de la forme suivante :

Noeud 1 Noeud 20
2,2kΩ
CAN_H
3,25 V

1,75 V
CAN_L
2,2kΩ

D'où les niveaux de tension :

5V

4V
CAN_H
3,25V
3V

2V
1,75V
CAN_L
1V

Récessif Dominant Récessif


Les Réseaux Locaux Industriels Page 126 / 186
IUT de CACHAN

Fonctionnement du système physique.


Cette petite étude à pour but de vous familiariser avec votre
environnement de travail lorsque vous allez utiliser le réseau CAN, on va donc
s’intéresser aux temps de propagation.

Si l'on simplifie un peu la chaîne d'un réseau CAN, on arrive rapidement


au schéma suivant :

Contrôleur CAN Contrôleur CAN


tSD

tRX ou tTX
Adaptateur CAN Adaptateur CAN

tCBL

Adaptateur CAN

Contrôleur CAN

Présentation d'un réseau CAN (pire des cas).

La distance la plus longue entre 2 machines CAN permet de calculer le


temps de propagation maximum du réseau. Ce temps de propagation est composé
de 3 éléments :
• Le temps de propagation le long de la ligne (TCBL).
• Le temps de transfert dans les adaptateurs CAN, aussi bien en émission qu'en
réception (TRX ou TTX).
• Le temps d'acquisition et de restitution du contrôleur CAN (TSD).

Calcul du temps de propagation sur la ligne.


Le temps mis par une onde à se propager sur la ligne dépend
beaucoup de la vitesse de phase de la ligne. Dans la plupart des cas, la vitesse de
propagation est de 220 000km/s. Soit un temps de propagation par mètre de l'ordre
de 5ns (pour 200 000km/s ou 5,5ns pour 180 000km/s ou 4,5ns pour 220 000km/s).

Définition des paramètres de l'adaptateur.


L'adaptateur peut être soit encapsulé (composant discret) soit réalisé
par le développeur. Dans tous les cas, la définition des temps de propagation est
extrêmement variable. On se contente donc de réaliser ce calcul grâce aux
documents constructeurs (cas des composants discrets) ou par des essais (cas des
composants fait main). Généralement on essaie d'obtenir des temps de l'ordre de
10ns.
Page 127 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Définition des paramètres du contrôleur.


Le contrôleur CAN doit acquérir les signaux pour pouvoir les traiter.
Cette acquisition se fait par l'intermédiaire de bascules D. Ces bascules sont
directement reliées à l'horloge du contrôleur. Par contre la réémission elle se fait
directement sur les sorties des bascules d’acquisition. On peut donc déduire que le
temps maximum mis par le contrôleur pour acquérir des signaux et les restituer est
une période de l'horloge.

Calcul du temps de propagation global.

Le temps de propagation réel du réseau CAN est définit par la formule


suivante :
t PROP = 2·(TCBL + TTX + TRX + TSD )

Grâce à cette formule, on peut imposer la valeur minimum du temps de


propagation du réseau grâce à la formule :
t PROP < (NSEG1 - NSJW - 2 ⋅ SAM + 1)·TSCL

Dans le cas de notre exemple précédent nous avions trouvé :


NSEG1 = 11;
NSEG2 = 4;
TSCL = 625ns.

Pour TTX = TRX = 40ns et TSD = TOSC = 62,5ns, si l'on souhaite une
longueur de ligne d'au moins 40m, on trouve :
L 40
TCBLMIN = MIN = = 182ns
vϕ 2,2 ⋅ 10 8
( )
t PROP = 2 ⋅ TTX + TRX + TSD + TCBLMIN = 2 ⋅ (40 + 40 + 62,5 + 182) ⋅ 10 −9 = 649ns
Comme on a la formule suivante :
t t
t PROP < (N SEG1 − N SJW + 1) ⋅ TSCL ⇔ N SEG1 − N SJW + 1 > PROP ⇔ N SJW < N SEG1 + 1 − PROP
TSCL TSCL
⎛ 649 ⎞
N SJW ≤ 11 + 1 − ⎜ ⎟ ⇔ N SJW ≤ 11 + 1 − 2 ⇔ N SJW ≤ 10
⎝ 625 ⎠ entier

Comme la limite de NSJW est :


NSJW ≤ 4
NSJW < NSEG2 ⇔ NSJW < 4

Alors NSJW = 3.

Ce qui autorise l'utilisation d'une ligne d'une longueur maximum :


⎡ (N − NSJW + 1) ⋅ TSCL ⎤
L MAX = v ϕ ⋅ ⎢ SEG1 − TTX − TRX − TSD ⎥
⎣ 2 ⎦
L MAX = 587,4m
Les Réseaux Locaux Industriels Page 128 / 186
IUT de CACHAN

Et une tolérance sur le quartz :


NSJW 3
TOL MAX = = = 0,93%
20 ⋅ NNBT 20 ⋅ 16
Ou
NSJW 3 3
TOL MAX = = = = 0,315%
2 ⋅ (30 ⋅ NNBT - NSEG2 ) 2 ⋅ (30 ⋅ 16 − 4 ) 952
Selon la formule utilisée…
Page 129 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le bus I2C

L
e bus I2C est né en 1992 quand sa première version fut normalisée par l’IEEE.
Ce bus, à l’origine conçu pour l’interfaçage des périphériques d’un calculateur,
est une "évolution" du bus parallèle IEEE 488 précédemment étudié. Son
principe repose sur l'utilisation d'un bus d'instrumentation série (donc mieux
protégé et moins coûteux que le bus parallèle HPIB).

Le bus I2C est une liaison synchrone, trifilaire, d'un débit variant entre 0
et 100Kbaud, multimaître et basé sur un double mode de transfert de données
(maître/esclave ou producteur/consommateur). Nous verrons plus loin la différence
entre ces 2 modes de fonctionnement, mais pour commencer intéressons-nous aux
échanges sur le bus.

Les illustrations présentées dans ce document sont extrait de la


notice de spécification du bus I2C proposée par Philips.

Définitions du bus I2C.

Les 3 lignes utilisées par le bus I2C sont SCL (pour System CLock),
SDA (pour Serial DAta) et enfin un fil de masse pour identifier les niveaux logiques
transmis. La ligne SCL est la propriété du maître de l'échange, elle définie l'horloge
qui rythme la fréquence des échanges entre les 2 machines en communication et
avec laquelle on doit être synchronisée , tandis que la ligne SDA sert à l'échange des
données du producteur vers le consommateur. Les données présentes sur le bus
sont valide uniquement quand la ligne SCL est à l'état haut.

Fonctionnement.

La transmission débute avec une transition de l'état haut à l'état bas de


la ligne SDA lorsque la ligne SCL est à l'état haut (donc lorsqu'il n'est pas sensé y
avoir de changement d'état sur la ligne SDA), ce qui identifie formellement le
délimiteur de début de trame. Elle s'achèvera par une transition de l'état bas à l'état
haut de la ligne SDA lorsque SCL est à l'état haut, pour identifier le délimiteur de fin
de trame.
Les Réseaux Locaux Industriels Page 130 / 186
IUT de CACHAN

Après la transition marquant un début de trame, l'émetteur envoie un


octet de données. Puis il envoie un bit à l'état haut et attend que le destinataire du
message le force à l'état bas, pour émettre alors le marqueur de fin de transmission.

Trame fondamentale.

Le principe du bus I2C est de transmettre via une liaison trifilaire des
informations numériques sur des distances de quelques mètres, il est donc
volontairement très limité dans ses capacités de transfert. Ainsi, une trame I2C
élémentaire est composée des champs suivants :

Un délimiteur de début de trame ;


Un champ de donnée de 8 bits ;
Un bit de validation ;
Un délimiteur de fin de trame.
SCL

SDA 1 2 3 4 5 6 7 8

Start 1 octet de données Ack Stop

Acquittement.

Lors d'une transmission, le producteur et le consommateur doivent


valider régulièrement leurs échanges. Tous les 8 bits, les 2 machines en
communication valident les 8 derniers bits reçus, c'est l'acquittement du message.
Page 131 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le processus d'acquittement repose sur l'envoie par l'émetteur d'un bit


récessif et son écrasement par le récepteur qui renvoie alors un bit dominant. Le non
respect d'un acquittement peut entraîner la rémission du message ou l'abandon de la
transmission. Généralement, la transmission est abandonnée et les machines
retentent une transmission pour terminer leur échange.

Restriction à l'utilisation du bus I2C.

Le bus I2C n'est pas à proprement parler un bus conçu pour des
transmissions à grande distance. En effet, comme il utilise des circuits électriques à
collecteur (ou à drain) ouvert, il convient d'utiliser des résistances de "Pull-up" pour
définir le niveau de tension sur la ligne lorsque les transistors sont bloqués. Ces
résistances doivent avoir un valeur précise de façon à ne pas risquer d'endommager
les composants permettant l'accès au médium. Or le simple fait d'utiliser des
résistances impose une définition de la capacité parasite maximum tolérée par le bus
pour atteindre le débit recherché. Cette capacité est la somme des capacités de
couplage (capacités internes des composants branchés sur la ligne) et de la capacité
linéique du canal. Globalement, cette impédance ne peut pas dépasser 400pF (soit
pour un bus à 4 machines, une ligne de l'ordre de 2 mètres).

Il convient de noter que l'utilisation du bus I2C, soit en mode Fast (400Kbaud), ou en
mode High Speed (3,4Mbaud), implique que la charge capacitive tolérée soit réduite
à 200pF et on doit utiliser des composants actifs pour établir les niveaux de tension,
de façon à engendrer la circulation d'un courant de 3mA sur la ligne.
Les Réseaux Locaux Industriels Page 132 / 186
IUT de CACHAN

Organisation de l'échange de données.

Le simple fait d'utiliser plusieurs machines sur une ligne impose de


définir des règles strictes pour l'accès au médium. On verra plus loin comment les
échanges sont synchronisé entre les différentes machines, mais commençons par
analyser comment I2C permet l'adressage des machines qui le compose.

Adressage.

La faible longueur de la trame de donnée du bus I2C ne permet


naturellement pas de réaliser à la fois un adressage de qualité et une transmission
efficace de données.

On réalise donc la concaténation de plusieurs trames simples pour


créer une trame complète possédant : un champ d'adresses de taille variable (on
verra qu'il existe deux modes d'adressages, un sur 7 bits, l'autre sur 10 bits); un bit
définissant le sens de l'échange (Read ou Write) et d'un champ de données de K fois
8 bits (ce champ est obtenu par concaténation de K trames de 8 bits de données).

Dans un adressage sur 7 bits, on utilise certaines adresses spécifiques


pour réaliser des fonctions spéciales.
Page 133 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Par exemple, l'adresse 0 (General Call Adress) permet d'ordonner,


selon la valeur de l'octet suivant (associé à l'octet d'adresse), la remise à zéro de
l'ensemble des machines ou la réinitialisation de leur adressage.

Toutes les adresses ne sont donc pas utilisables. Les adresses


interdites sont 0000 XXX et 1111 XXX. Le comité I2C définit donc pour différents
composants des adresses incluant une partie fixe et une partie programmable. Ces
adresses programmables permettent d'utiliser sur un même montage plusieurs fois le
même composant.

Comme on la vu, pour lancer un appel général, le premier octet


transmis doit obligatoirement être à 0. C'est l'octet suivant qui défini la fonction
réalisée. Si le second octet fini par un "zéro" (son LSB est à "0"), alors on a un
RESET logiciel.

Si le LSB est à "1", on est en présence d'un message provenant d'une


machine qui n'a pas la possibilité de connaître à priori l'adresse de la machine
consommatrice (par exemple un scanner ou un clavier d'ordinateur) et qui utilise une
procédure de GENERAL CALL pour se faire connaître, en envoyant son adresse (sur
7 bits) suivi des données à transmettre.

En cas de RESET logiciel, c'est le contenu du deuxième octet qui défini


la commande effectuée par les périphériques réseaux. Si l'octet vaut 4, on demande
à toutes les machines de remplacer leur adresse programmable "par défaut" par
celle obtenue par programmation. Si l'octet vaut 6 alors toutes les machines font une
remise à zéro et chargent leurs adresses par défaut.

Transmission des données par paquets.

Du fait de sa faible capacité de transfert, le protocole I2C impose une


transmission par paquet. Imaginez sinon, qu'une fois l'adressage réalisé, on soit
limité à une seule trame de donnée, l'efficacité de codage devient alors 38%. Par
contre si l'on réalise une transmission par paquet, on concatène des trames de
données à la suite les unes des autres après une trame d'adresse pour transmettre
un grand nombre d'octets de données sans refaire d'adressage, d'où un sérieux gain
d'efficacité. Par exemple, l'émission de 10 trames de données permet d'obtenir une
efficacité de codage de 80% (correct).

Mais ce mode de transmission est dangereux car si l'on ne limite pas le


temps de parole, une machine peut totalement s'accaparer le réseau.
Les Réseaux Locaux Industriels Page 134 / 186
IUT de CACHAN

Il est possible, entre 2 trames, de faire apparaître un "temps de


relaxation". Ce temps permet au récepteur (ou à l'émetteur) du message de réaliser
un traitement des données reçues (ou à émettre) avant de poursuivre la
transmission, sans avoir à libérer la ligne. Bloquer la ligne SCL à 0 permet alors,
sans conséquences pour les autres machines présentes, d'interrompre l'échange.

Pour se protéger de la défaillance de l'un des 2 nœud qui pourrait


maintenir la ligne SCL à l'état bas indéfiniment ou qui pourrait ne plus libérer la ligne,
on utilise généralement des "chiens de gardes" (WATCHDOG) pour limiter la durée
d'activité des composants.

Synchronisation des échanges.

Le maître du bus a pour rôle la création de l'horloge de transmission.


Cette horloge ne doit pas être perturbée par des éléments extérieurs (sauf en cas
d'arbitrage). Par exemple, si 2 machines souhaitent prendre possession du bus, elles
émettent leur horloge. Il faut donc les synchroniser entre elles. Plus généralement,
émetteurs et récepteurs synchronisent leurs horloges respectives lors des échanges.

Vu la méthode utilisée pour se connecter au médium, l'état bas est un


état dominant c'est à dire qu'il l'emporte sur tous les autres états du bus, la durée de
l'état bas de la ligne SCL dépend uniquement de la machine la plus lente, tandis que
la durée de l'état haut dépend de l'horloge la plus rapide.
Page 135 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Arbitrage.

Lorsque les horloges sont synchronisées, on se retrouve dans le cas où


la ligne de donnée doit arbitrer l'échange. C'est donc sur le contenu du message
(comme pour le protocole CSMA/NBA) que sera réalisé l'arbitrage.

Encore une fois, du fait de la liaison avec les lignes du réseau, les états
récessifs sont écrasés par les états dominants. Ainsi le message contenant le plus
de bits dominants est aussi le plus prioritaire.

Modes de transmissions.

Transmission en Mode Simple.


Les Réseaux Locaux Industriels Page 136 / 186
IUT de CACHAN

Dans les échanges en mode simple, l'un des maîtres du réseau


s'accapare le bus pour réaliser un transfert unidirectionnel de données vers une
seule machine.

Une fois que le maître a pris possession de la ligne (imposition de


l'horloge), il commence à émettre l'octet d'adressage (7 bits d'adresse et 1 bit de
sens) puis il demande à sa cible (l'esclave) de confirmer l'acceptation de l'échange
(acquittement). Une fois l'adresse acceptée, le maître, selon la valeur du bit de sens,
lit ou écrit successivement l'ensemble des octets en les acquittant (ou en demandant
l'acquittement, selon qu'il est respectivement consommateur ou producteur) les uns
après les autres.

Attention, lorsque le maître envoie un ordre de lecture, cela signifie qu'il


se place comme consommateur du message (c'est lui qui lit), tandis qu'avec un ordre
d'écriture, il se place comme producteur du message.

Lorsque le maître est aussi le consommateur, la seule façon qu'il a


d'arrêter l'échange est de ne pas acquitter le dernier octet envoyé (tout en le
conservant). Le producteur rompt alors l'échange et arrête d'émettre.

Le cas inverse peut se produire, si le maître émet et ne récupère pas


d'acquittement pour l'un de ses messages, il cesse immédiatement d'émettre et, si
l'ensemble des données n'a pas encore été expédié, il essaiera de contacter à
nouveau la machine cible en recommençant l'adressage.

Dans tous les cas, après avoir envoyé son dernier octet ou en l'absence
d'un acquittement, le maître émet une commande de Stop.

Mode combiné.

Une machine maître peut parler à plusieurs machines, à la suite, ou


souhaiter modifier le sens de l'échange. Dans ce cas, le maître à la possibilité de
changer d'adressage sans avoir à rendre la ligne, c'est le mode combiné.

Dans ce mode, avant d'émettre une nouvelle adresse, le maître émet à


la fin de son précédent message, non pas un bit de commande d'arrêt de
transmission (Stop), mais au contraire, un bit de commande de début de
transmission (Start). On dit alors que c'est une commande de redémarrage.
Page 137 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Evolution.

Il existe certaines évolutions du bus I2C, en particulier, les auteurs de la


norme tendent vers des versions de I2C à des débits plus élevés avec plus de
nœuds. Cette course en avant à conduit à l'utilisation de format d'adresse sur 10 bits,
le développement de mode de transmission plus rapide (400K et 3,4Mbaud).

Adressage sur 10 bits.

L'adressage sur 10 bits repose sur l'utilisation de 2 trames pour coder


l'adresse du destinataire. La première trame émise étant très fortement amputée par
le codage du mode d'adressage (le mode 10 bits est codé 1111 0XX où les XX sont
les 2 bits de poids fort de l'adresse du destinataire). Le huitième bit de la première
trame d'adresse reste le bit qui code le sens de transfert (comme dans le mode
d'adressage à 7 bits). La seconde trame est constituée des 8 derniers octets
d'adressage. Attention, encore une fois, chaque octet doit être acquitté.

Ce mode d'adressage permet de dialoguer avec plus de machines que


le classique mode 7 bits. De plus, il continue à être utilisable avec des machines
fonctionnant en mode 7 ou en mode 10 bits. Une machine en mode 7 bits
comprenant par la lecture du premier octet d'adresse qu'il s'agit d'un format 10 bits.

Exemple de transmission vers 2 machines (mode combiné) en adressage 10 bits.

Exemple de transmission vers 2 machines (mode combiné) en adressage 7 bits puis


en 10 bits.
Les Réseaux Locaux Industriels Page 138 / 186
IUT de CACHAN

Les modes de transfert Haut débit.

Les évolutions de la norme I2C permettent maintenant d'atteindre des


débit jusque là inaccessible. Au fur et à mesure de l'évolution technique, on a utilisé
des débits de 400Kbaud (Fast Mode) et maintenant on atteint 3,4Mbaud (High Speed
Mode).

Fast Mode.

En mode rapide comme en mode standard, le même bus I2C permet


aussi bien la transmission des signaux à 100 qu'à 400Kbaud. Par contre, on doit
alors respecter scrupuleusement la limitation de la charge capacitive du bus à 200pF.
Si toutefois, on souhaite augmenter cette valeur, il faut utiliser non plus des
transistors en collecteur ouvert pour l'accès à la ligne, mais des sources de courant
de 3mA (max).

High Speed Mode.

Le mode grande vitesse permet d'atteindre des débits de 3,4Mbaud, sur


une ligne un peu particulière puisqu'elle doit être pilotée par des sources de courant
et non par des transistors en collecteur ouvert, un peu comme dans une liaison
rapide. On utilise donc des lignes spécifiques au fonctionnement à grande vitesse,
les ligne SDAH et SCLH. Ces lignes doivent pouvoir être compatible avec le mode
basses vitesses.

Les résistances de pull-up existant toujours, la charge capacitive de la


ligne est encore abaissée pour atteindre 100pF maximum en mode normal. On peut
quand même augmenter la capacité de la ligne en remplaçant les résistances par
des éléments actifs.

Du fait de ces profondes modifications, le mode haute vitesse interdit


totalement de réaliser des arbitrages. En cas de bus multimaître, les arbitrages
seront réalisés sur les lignes basses vitesses.

Pour commencer un transfert à grande vitesse, on démarre


paradoxalement la transmission par un premier octet (0000 1XXX) en mode standard
pour arbitrer entre les différentes machines qui souhaitent la maîtrise du bus (avec
un arbitrage sur les 3 bits X). Une seule machine gagne alors la main (c'est le
principe de l'arbitrage), mais l'octet précédemment émis n'est pas acquitté. La
communication prend alors fin en mode classique et démarre alors en mode grande
vitesse.
Page 139 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

En mode grande vitesse, la trame commence par une condition de


redémarrage suivie soit d'un adressage sur 10 bits, soit d'un adressage sur 7 bits.
Puis la machine contrôlant le bus envoie (ou reçoit) des données en recevant un
acquittement à chaque octet. Le fonctionnement grande vitesse permet tout de
même à la machine maîtresse de "libérer" la ligne d'horloge en fin de message pour
permettre à d'autres machines de la bloquer à l'état bas.

En conclusion, en mode HS (High Speed), comme en mode standard,


le protocole reste identique, seul l'accès au médium change.

Protocole de transfert en mode HS

Exemple de liaison au médium des composants autorisant le mode HS

Il faut remarquer que les composant "maître-esclave" disposent de 2


liaisons. D'une part, une liaison HS, d'autre part, une liaison standard. La seconde
liaison permet de transformer ce nœud en pont entre deux réseaux I2C, l'un utilisant
le mode grande vitesse, le second utilisant le mode standard.
Les Réseaux Locaux Industriels Page 140 / 186
IUT de CACHAN

Ethernet.

E
thernet est le standard le plus connu dans le monde des réseau, bien qu'étant
parmi les moins performant sur le marché, son utilisation mondiale en a fait
l'outil par excellence de toutes les entreprises. Conçu en 1980 par Bob Metcalf
(le fondateur de 3Com) financé par Intel, DEC et Xerox dans leurs laboratoires de
Palo-Alto (Silicon Valley), il est une interface peu onéreuse permettant de connecter
des machines via une topologie de bus (et par la suite étoile) en vue de partager des
ressources.

Bien que ne faisant pas réellement partie du monde des réseaux locaux
industriels au sens strict, Ethernet n'en reste pas moins un réseaux local d'entreprise.
Le fait est qu'il n'est plus rare du tout de voir des automates connectés à Ethernet
sinon à Internet via Ethernet.

Mais revenons à nos spécifications techniques. Ethernet n'utilise que


les deux couches les plus basses de la pyramide OSI. La couche physique permet
de se connecter via 3 familles de média : paire torsadée (UTP); Câble coaxial (gros
ou fin) et fibre optiques. La couche d'accès au médium utilise un processus
CSMA/CD normalisé (IEEE 802.3).

Mais ce qui caractérise le plus ce réseau, c'est l'incroyable quantité


d'applications qui ont été développées "sur" lui. En effet, s'y sont greffés de
nombreux protocoles, comme TCP-IP ou X25 ou APPLETALK ou NETWARE. En
définitive, Ethernet est un support universel. Ce qui lui vaut une grande popularité.

Nous allons donc étudier tout d'abord la trame standard d'Ethernet puis
les connexions utilisées. Enfin nous nous intéresserons au chapitre suivant au
réseau TCP-IP.

Cette trame à subit une importante modification depuis sa mise en


place par les primo géniteurs du réseau. A l'origine, la longueur de la trame était
codée dans un champ spécifique. Depuis elle s'est transformée en une définition du
type de données encapsulées.
Page 141 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Trame fondamentale.

La trame Ethernet fondamentale est composée de 6 champs (****) :


• Le champ de début (préambule).
• L'adresse du destinataire (Destination Adress Field).
• L'adresse de l'émetteur (Source Adress Field).
• Le champ de longueur ou de type.
• Le champ de données.
• Le champ de CRC.

Le préambule.

Le préambule est constitué de 7 octets permettant la régénération de


l'horloge de l'émetteur, puis du délimiteur de début. Les 7 premiers octets sont
composés en alternance de 1 et de 0, formant le code hexadécimal AAH. Tandis que
l'octet de début forme le mot ABH (seul le dernier bit change).

Les adresses de destination et de source.

Les adresses sont composées de 2 zones de 3 octets chacune la


première permet de définir le nom du constructeur (elle est fournis par un organisme
de régulation) tandis que les 3 octets de poids faible codent le "n° de série" de la
carte. On appelle généralement ces adresses les adresses MAC (du nom de la
couche où l'on les utilises). Une spécificité de cet adressage c'est qu'il n'utilise pas
d'adresses impaires pour parler à des machines individuelles. Ces adresses sont
strictement réservées aux émissions multiples (multicast et broadcast).

Le type.

Les trames Ethernet encapsulant un grand nombre d'autres protocoles,


on utilise ce champ pour préciser le type d'informations encapsulées. Par exemple
les paquets IP sont codés 0800H. Voir la table des valeurs de la page suivante.

Le champ de donnée.

Le champ de données est utilisé par les couches supérieures pour y


placer des données. Ce champ doit contenir au moins 46 octets. Si une trame ne
contient pas assez de données pour remplir cet intervalle, on utilise des bits de
remplissage pour compléter l'espace.
Les Réseaux Locaux Industriels Page 142 / 186
IUT de CACHAN

Le FCS.

Le FCS (Frame Check Sequence) utilise un polynôme de CRC pour


coder la trame précédente et apporter ainsi une validation de contenu. Le polynôme
générateur est : x 32 + x 26 + x 23 + x 22 + x16 + x12 + x11 + x10 + x 8 + x 7 + x 5 + x 4 + x 2 + x + 1 .

Tables des Ethertypes.

Type (Hex) Fonction Type (Hex) Fonction


0 - 05DC Taille du champ de donnée 0600 XEROX
0800 Internet Protocol 0805 X25 version 3
0806 Adress Resolution Protocol 0BAD Banyan System
0BAF Banyan Vines 8035 Reverse ARP
8037 Novell Netware IPX (New) 809B Ethertalk (Appletalk)
80D5 IBM SNA Services over Ethernet 80F3 AppleTalk ARP
8137 Novell NetWare IPX (Old) 8138 Réservé Novell, Inc.
814C SNMP over Ethernet 8191 NetBIOS/NetBEUI (PC)
817D XTP 81D6 Artisoft Lantastic
81D7 Artisoft Lantastic 8203-8205 QNX Software Systems Ltd.
86DD IP version 6 AAAA DECNET (VAX)
Extraits de la table des Ethertypes Normalisés.

La Couche Physique d'Ethernet.

Originellement, Ethernet était conçu pour utiliser exclusivement du


câble coaxial 50Ω, avec une topologie en bus donc avec des impédances de
terminaison. Du fait de ses caractéristiques, il permettait la transmission à 10Mbaud
en bande de base sur une distance de 500m du signal informatif. D'où son nom de
câblage en 10BASE-5.

(****)

En décomposant 10BASE-5 on trouve 10Mbaud en bande de BASE


sur 500m.
Page 143 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

L'utilisation d'un câblage en 10BASE-5 impose l'installation d'un câble


principal (le Back Bone ou colonne vertébrale) "rigide", sur lequel on branche avec
des prises vampires (permettant une connexion sans rupture de ligne) des
"tranceivers" ou des prolongateurs. Cet ensemble forme un MAU pour Media
Attachment Unit. On peut alors établir une connexion avec la machines via une
interface (AUI pour Attachment Unit Interface), composée d'un connecteur de type
CANON DB15.

Ce gros câble doit avoir une longueur qui est un multiple impaire de
23,4m (23,4m, 70,2m, 117m, 163,8, etc.) sans pour autant dépasser 500m soit au
plus 491m soit 21 segments de câble coaxial. Son atténuation ne doit pas dépasser
8,5dB pour 500m à 10MHz et sa résistivité doit être inférieure à 10mΩ/m.

Mais l'évolution des techniques et surtout la réelle nécessité de réduire


les coûts de câblage permis la mise en place d'autres versions telle que le 10BASE-2
qui utilise un câble coaxial fin et nettement moins coûteux, avec les câbles coaxiaux
relié directement au niveau de chaque machine par des connecteurs en tés. Par
contre la distance entre machine est réduite à 200m et il est interdit de relier une
machine via un brin au connecteur en té.

Ce câblage est dénommé câblage coaxial fin (ou yellow cable), son
atténuation grimpe en flèche à 4,6dB pour 100m à 10MHz, il est aussi plus lent à
propager l'onde électromagnétique que le gros câble coaxial.

Ces câblages présentaient toujours l'inconvénient d'interdire toute


installation (ou retrait) de machine sans interruption des communication et toute
défaillance d'un élément du réseau influençait tous les autres.

L'utilisation d'un câblage plus évolutif devint vite une nécessité, d'où
l'implémentation par le Comité IEEE de câblages en paire torsadées. Cette
technologie permet d'utiliser des fils torsadés non blindés donc un type de câblage
extrêmement économique. En utilisant une topologie non plus en bus mais en étoile,
en utilisant la désormais célèbre prise RJ45.

(****)

Les câbles en paire torsadée ont une impédance caractéristique de


120Ω, ils sont encore plus lents que le câble coaxial fin vis à vis de la propagation
des signaux électromagnétiques. Enfin il impose une atténuation de 11,5dB pour
100m à 10MHz. On leur connaît aussi d'autres défauts tels que la diaphonie
(influence d'un brin sur l'autre), cette dernière ne doit pas excéder 26dB à 10MHz.
Les Réseaux Locaux Industriels Page 144 / 186
IUT de CACHAN

Cette méthode de câblage a reçu le nom de 10BASE-T. Comme elle


utilise 2 paires de fil torsadé, un pour la transmission, et un pour la réception, elle
permet un transfert en FULL DUPLEX des informations.

Toutefois, l'évolution d'Ethernet ne s'arrête pas là puisqu'il existe des


modes de fonctionnement utilisant la fibre optique ce sont les modes 100BASE-FL.
Ces modes utilisent en général des topologies de type Back-bone (réalisé en fibre
optique) et sur lesquels viennent s'articuler des formes différentes (anneaux, bus ou
étoiles).

L'utilisation des câblages en étoile ou des structures Back-bone impose


l'utilisation respectivement de Hub (pour diffuser l'information en étoile) ou de Switch
(pour modifier les vitesses, voir les protocoles liés aux méthodes de diffusion).

Tant qu'il n'est pas nécessaire d'établir un routage, on peut conserver


les protocoles Ethernet. Toutefois, dès qu'il y a une segmentation en réseaux et sous
réseaux, il est impératif d'inclure un protocole de couche 3 voir de couche 4. Le
protocole TCP/IP étant le plus utilisé.

(****)Exemple non contractuel d'un routage entre réseau

Mais avant d'aborder l'étude de ce protocole de couche haute, on va


étudier plus en détail le comportement de notre couche 2.

La Couche de Liaison d'Ethernet.

La couche de liaison repose sur la trame précédemment décrite, elle


permet du fait de sa taille une encapsulation facile de message en provenance des
couches supérieures. Ainsi, une trame normalisée IEEE 802.3 en provenance directe
de la couche d'application de la pyramide OSI peut être présenté de la façon
suivante:

(****) Trame classique Ethernet II normalisée IEEE 802.3


Page 145 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Tandis que l'utilisation des encapsulation permet de décomposer à


nouveau les trames reçues :

(****) Trame Ethernet incluant une encapsulation LLC normalisée IEEE 802.2

Comme on peut le constater, on a placé dans le champ de donnée des


information provenant des couches supérieures (ici de la sous-couche LLC).

Ces information s'adressant à des éléments de la machine non pointé


par des adresses MAC, les données encapsulées dans le champ de donnée de la
trame MAC commence donc par la définition du service destinataire et du service
source (dans notre cas, il s'agit de l'adressage des SAP de la couche LLC entrant en
communication). On réduit donc d'autant la taille du champ de données.

Il faut aussi permettre un aiguillage correct des données, c'est à dire


établir à quel service sont destinées les données présentes sur le bus. Aussi on a
reconverti le champ de longueur en un champ de 2 octets codant le type
d'informations portées. A titre d'exemple, un champ IP est référencé 080016.

Toujours dans le cadre du protocole, on doit s'appesantir un peu sur les


principes d'adressage. Ainsi, les 6 octets du champ d'adresse sont décomposés en 2
fois 3 octets.

Le premier octet (ou l'octet de poids fort) permet d'identifier le


constructeur. Tous les pays identifient les constructeurs de la même façon, mais ce
code n'est pas véhiculé par les algorithmes de routage. Il n'est donc connu que
localement. Les constructeurs peuvent donc utiliser 2 fois (ou plus) une même
adresse à condition de ne pas vendre ces cartes dans la même zone géographique,
d'où un certain risque à acheter dans deux pays différents des cartes réseaux d'un
même constructeur.

Le second octet (ou l'octet de poids faible) permet d'identifier la carte.


Cet octet doit impérativement être pair.

Mais même si l'adresse est paire, il circule sur le réseau (on peut le
constater avec un espion) des trames dont les adresses sont impaires. Ce sont des
trames à destination de groupes de cartes (MULTICAST) voir même de toutes les
cartes (BROADCAST).

L'adresse de BROADCAST est assez simple à retenir puisqu'elle n'est


composée (en binaire) que de 1 ce qui donne en hexadécimal "FF FF FF FF FF FF".
A cette adresse de diffusion, toutes les machines sont censées répondre si le
contenu du message les concerne. On verra dans le cadre de l'utilisation de TCP/IP
comment cela fonctionne.
Les Réseaux Locaux Industriels Page 146 / 186
IUT de CACHAN

Les adresses de MULTICAST sont elles par contre légion (environ


8 millions), elles sont obtenues par un algorithme à partir des adresses des
différentes machines concernées par le message. Cet algorithme apparenté aux
calculs de CRC permet de recréer automatiquement une adresse commune à
l'ensemble des machines concernées. Chaque machine en appliquant le même
calcul retrouvera ainsi son adresse propre.

L'utilisation des commandes de MULTICAST est plus limitée que


l'utilisation des commandes de BROADCAST. Toutefois, dans le cadre de l'utilisation
des couches supérieures, il n'est pas rare de voir ce genre de trames circuler.
Page 147 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

TCP/IP.

C
'est en 1957 que le "Department Of Defence" (le ministère de la défense
américain) en réponse au vol du premier Sputnik soviétique, initie le projet
DARPA (Defence Advanced Research Project Agency) pour permettre aux
USA de reprendre le leadership dans les domaines technologiques
(accessoirement), mais surtout militaire.

L'idée de mettre en œuvre un réseau "invulnérable" aux attaques


nucléaire soviétiques apparaît très tôt comme un concept fondamental pour lequel le
DARPA va financer la recherche en lançant le projet qui deviendra ARPANET.

En mai 1961 que Leonard Kleinrock


étudiant au MIT présente dans sa thèse, le
concept de "Packet Switched" (le routage par
paquet), qui est à la base du protocole IP.

En 1966 Larry Robert crée le concept


du IMP (Interface Message Processor),
l'ancêtre de nos routeurs.

En 1969 le premier réseau ARPANET


(à l'époque reliant 4 supercalculateurs) est mis
en œuvre entre l'UCLA, le Stanford Research
Institute, l'université de l'Utah et l'UCSB. Il
utilise des lignes dédiées de AT&T à 50kbit/s
en utilisant la technologie Packet switched.

Un groupe de chercheurs composé de Vinton Cerf (SRI), Steve Crocker


(UCLA), John Postel (UCLA) et Leonard Kleinrock (UCLA) créent le Network Working
Group (NWG). Steve Crocker en prend la direction. Ils seront quelques années plus
tard, avec Robert Kahn (DARPA), les inventeurs d'Internet.

C'est aussi en 1969 que Steve Crocker publie la première RFC (Request For
Comment). Les RFC sont les moyens d'échanger des informations ou de décrire des
procédés, voir de résumer des connaissances. Il arrivera que l'usage dévie (voir la
RFC 527).

En 1970, ARPANET choisi le protocole NCP (Network Control Protocol) pour


le routage des paquets.
Les Réseaux Locaux Industriels Page 148 / 186
IUT de CACHAN

En 1971, ARPANET est composé de 15 nœuds. Les protocoles FTP (File


Transfert Protocol) et Telnet sont créés par le Network Working Group.

Le premier programme permettant d'envoyer des E-mail apparaît


(SENDMSG), mais c'est en 1972 que le @ est choisi comme sigle de ponctuation
entre l'utilisateur et l'adresse.

En 1972, ARPANET est composé de 30 nœuds. Le trafic sur ARPANET est


composé à 75% d'E-mail. Le NWG devient le INWG (International NWG). En France,
Louis Pouzin développe l'ARPANET français sous le nom de CYCLADES.

En 1973, ARPANET devient international avec le raccordement du University


College of London et le NORSAR organisme Norvégien de communication.
ALOHANET est le premier réseau sans fil, il relie 7 supercalculateurs sur 4 îles de
l'archipel de Hawaï. ARPANET est composé de 40 nœuds.

En 1974, Vinton Cerf et Robert Kahn présentent le protocole TCP/IP. Le trafic


quotidien sur ARPANET dépasse les 3 millions de paquets.

Robert Kahn Vinton Cerf

En 1975, ARPANET est composé de 61 nœuds et la NSF (National Science


Foundation) commence à financer le projet. SENDMSG se change en MSG, le
premier logiciel E-mail complet (lecture, transfert, réponse). C'est aussi à cette date
que le premier Newsgroup est créé, il parle de science fiction, Einar Stefferud en est
le premier modérateur.
Page 149 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

En 1979, DARPA et NSF commencent à étudier la possibilité de créer le


CSNET (Computer Science research Network), mais le coût de 3 millions de dollars
est jugé prohibitif. Naissance de USENET (les newsgroup automatisés). Kevin
MacKenzie crée les premiers émoticons (☺ ).

En 1981, le CSNET est créé pour les universitaires non reliés à ARPANET, il
est financé par la NSF. En France on voit apparaître le Minitel.

En 1982, L'ensemble des réseaux mondiaux commence leur migration en


abandonnant le protocole NCP au profit de TCP/IP. La Norvège est la première à
effectuer cette opération. TCP/IP est reconnu comme le standard international de
communication en Packet Switched.

En 1983, NCP disparaît. L'Europe se connecte (Hollande, Suède, Norvège,


Angleterre, Allemagne) à EUNET (European UNIX Network) version européenne de
CSNET qui permet le transfert d'E-mail et l'utilisation de USENET. Première version
des services de nom qui permettent de traduire un nom de machine en adresse IP et
inversement. Aux USA, ARPANET se sépare en MILNET (réseau exclusivement
militaire) et ARPANET (réseau civil). Le nouveau ARPANET est connecté à CSNET.

En 1984, le Japon crée JUNET, la version asiatique de CSNET. Le Canada


fait de même avec NorthNet. L'ensemble du réseau contient plus de 1000 nœuds. Le
DNS est adopté comme service de nom. L'URSS implémente une version russe
d'USENET

En 1985, le 1er mars la racine .com est créée vont suivre : .edu, .gov et .org en
juin et .uk en juillet.

En 1986, la NSF crée NSFNET sur un backbone à 56 Kbit/s, regroupant 5


supercalculateurs. Le protocole NNTP (News Network Transfert Protocol) est créé.

En 1987, plus de 10 000 nœuds sont connectés aux réseaux mondiaux. Plus
de 1 000 RFC ont été créées.

1988 : Naissance du mot Internet lors de la connexion de 7 nouveaux pays


(Canada, Danemark, Finlande, France, Islande, Norvège et Suède) au réseau
NSFNET qui fédère déjà les réseaux américains. Le 2 novembre, le premier virus
réseau (worm) est officiellement déclaré. Il infecte à peu près 6 000 des 60 000
nœuds connectés à internet. Naissance du IANA (Internet Assigned Number
Autority) qui contrôle les adresses IP et les numéros de ports TCP (et UDP). Sa
direction est confiée à John Postel. Naissance aussi du protocole IRC.

1989 : Internet dépasse les 100 000 nœuds avec la connexion de 10


nouveaux pays à NSFNET (Allemagne, Angleterre, Australie, Hollande, Israël, Italie,
Japon, Mexique, Nouvelle Zélande et Porto Rico). NSFNET utilise des lignes T1
(1,544 Mbit/s)

1990 : Disparition de ARPANET et arrivée de 11 nouveaux pays sur NSFNET


(Argentine, Autriche, Belgique, Brésil, Chili, Corée, Espagne, Grèce, Inde, Irlande et
Suisse)
Les Réseaux Locaux Industriels Page 150 / 186
IUT de CACHAN

En 1991, NSFNET accueille 10 nouveaux pays (beaucoup du bloc de l'Est


puisque le mûr viens de tomber) sur ses nouvelles lignes T3 (44,736 Mbit/s). Au
CERN à Genève Tim Berners-Lee crée le World Wide Web en développant le
protocole HTTP (Hyper Text Transfert Protocol). Le premier site Web au monde est
http://info.cern.ch. NSF recense un trafic mensuel de 1012 octets (1000 milliards).
La NSF autorise un usage commercial d'internet. "World comes On Line" est
le premier fournisseur d'accès à internet.

En 1992, 13 nouveaux pays rejoignent NSFNET (dont la Russie). Il y a plus de


1 000 000 de nœuds connectés à internet.

En 1993, 17 nouveaux pays rejoignent NSFNET. Le premier navigateur Web


(Mosaic) apparaît. La croissance du service http est de 341 634% sur l'année.
Naissance des moteurs de recherche.

En 1994, Le trafic mensuel sur Internet dépasse les 1013 octets (dix mille
milliards d'octet). Premier spam (envoi de courrier en masse) par une société
d'avocat de l'Arizona. 22 pays rejoignent NSFNET (dont la Chine). Apparition des
premières publicités sur internet. AOL et Compuserve sont les principaux FAI
(Fournisseur d'Accès à Internet).

En 1995, NSFNET redevient un réseau de recherche, les fournisseurs d'accès


à internet ne transitent plus sur NSFNET. Le service http dépasse en quantité le
service FTP. 22 nouveaux pays rejoignent l'internet.

En 1996, les backbone ont des débits variant entre 155 et 622 Mbit/s.
29 nouveaux pays rejoignent internet (on peut noter que la Guadeloupe est dans
cette liste avec l'extension .gp). Les piratages se multiplient (NASA, CIA, Air
Force,…).

En 1997, le 2 000ème RFC est publié. 47 nouveaux pays rejoignent internet. Il y


a plus de 100 000 serveurs de noms.

En 1998, Première fête de l'internet (20 et 21 mars) sous l'initiative de Jack


Lang. L'internet compte 43 230 000 clients. Décès de John Postel.

Aujourd'hui (le 01/01/2004), on recense plus de 200 000 000 de noeuds.


Page 151 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

FTP HTTP TELNET SNMP X-WINDOWS


Application
SMTP RLOGIN POP3

Présentation

DNS NETBIOS LDAP Session

TCP UDP Transport

ICMP IP IGMP Réseau

ARP ETHERNET RARP Liaison

Présentation du modèle OSI adapté à quelques éléments de la suite TCP/IP.


Les Réseaux Locaux Industriels Page 152 / 186
IUT de CACHAN

Le protocole IP.

L
e protocole IP a pour rôle de router l'information, c'est à dire de permettre le
transport des informations d'un réseau vers un autre à travers plusieurs
routeurs, donc dépasser la couche 2 pour franchir le mur du routeur, et atteindre
sa cible en prenant le plus court chemin. Pour cela on utilise un nouveau format
d'adressage, l'adresse IP.

L'adresse IP est composée, comme on le verra plus loin, de 32 bits,


mais pour en simplifier l'usage (on pourra juger cette simplification un peu trop
"informaticienne") on a regroupé ces termes par octet et énuméré l'adresse en
décimal pointé (4 nombre décimaux inférieurs à 255 et séparés par des points).

On trouve cette adresse encapsulée dans la trame Ethernet (dans les


premiers octets du champ de donnée de la trame IEEE 802.3). Elle est placée à
l'intérieur de l'entête IP

Entête IP

L'adresse IP est définie par un ensemble de 4 octets. Ce qui permet de


32
définir 2 adresses (4 300 milliards de nœuds). Ces adresses sont rangées selon 5
classes, dépendant de la valeur des premiers bits de l’adresse.

• La classe A permet de créer 126 réseaux de 224 machines (16 millions),


soit une utilisation des adresses de 1.0.0.0 à 126.255.255.255.
• La classe B permet de créer 16 384 réseaux de 216 machines (65 536), soit
une utilisation des adresses de 128.1.0.0 à 191.255.255.255.
• La classe C permet de créer 221 réseaux (2 millions) de 256 machines, soit
une utilisation des adresses de 192.0.1.0 à 223.255.255.255.
• La classe D permet à une seule trame IP de s’adresser à plusieurs
machines (MULTICAST mais en IP), elle utilise les adresses comprise
entre 224.0.0.0 et 239.255.255.255.
• Enfin la classe E est réservée à de futures utilisations, elle utilise quand
même les adresses comprises entre 240.0.0.0 et 247.255.255.255.
Page 153 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Cette répartition permet aussi de définir non seulement une


"arborescence" du nombre de réseau, mais aussi une organisation hiérarchique.

Au niveau de la classe A, toutes les machines sont des routeurs ou des


passerelles interconnectées sur un faible nombre de réseaux. On forme à ce niveau
les interconnexions des grands réseaux intercontinentaux.

Au niveau de la classe C, on retrouve un petit nombre d'ordinateurs


connectés sur un grand nombre de sous-réseaux (sous réseaux pilotés par les
routeurs de la classe A et B). On est ici dans le domaine "grand-public" avec plein de
petits réseaux sur lesquels sont connectés les machines des utilisateurs.

On arrive ainsi à la représentation suivante des adresses IP :

0 7 bits 24 bits Classe A


1 0 14 bits 16 bits Classe B
1 1 0 21 bits 8 bits Classe C
1 1 1 0 28 bits Classe D
1 1 1 1 0 27 bits Classe E

En gris, le codage du "nom" du réseau, en blanc le codage du "nom" de la machine.

Pour permettre à une machine de s'identifier correctement dans son


environnement, un autre paramètre que son adresse IP lui est indispensable, c'est le
masque de sous-réseau. Cette valeur composée de 4 octet lui permet de définir
l'adresse du réseau sur lequel elle est connecté, et par déduction connaître son
"nom" sur le réseau.

Par exemple, pour une machine d'adresse IP de classe C :

IP 192 10 15 20 IP 192 10 15 20
& Masque 255 255 255 0 + Masque 255 255 255 0
= Réseau 192 10 15 0 =Machine 255 255 255 20

Attention, les nombres précédents sont présentés en base 10, pour


mieux comprendre la manipulation présentée dans cet exemple de traduire les
nombres en hexadécimal.

IP C0 A F 15 IP C0 A F 15
& Masque FF FF FF 0 + Masque FF FF FF 0
= Réseau C0 A F 0 =Machine FF FF FF 15
Les Réseaux Locaux Industriels Page 154 / 186
IUT de CACHAN

Analysons maintenant, ligne par ligne un entête IP.

• Les 4 premiers bits définissent le numéro de version IP, généralement ce


nombre est 4 (IPv4).

• Le champ IHL (Ip Header Length) donne le nombre de mots de 32 bits


contenu dans l'entête (les données n'en font pas partie), mais en incluant
les options et le Padding.

• Le champ TOS (Type Of Service) est en réalité composé de 5 sous


ensembles.
• Les 3 premiers bits forment un ensemble qui
code la priorité du message.
• 000 : routine (normal)
• 001 : priority
• 010 : immediate
• 011 : flash
• 100 : flash override
• 101 : critic
• 110 : internetwork control
• 111 : network control
• Le bit suivant est à 0.
• Les 4 derniers bits servent à décrire le service
demandé. Ils sont exclusifs (un seul bit peut être
validé pour une trame)
• D : Minimiser le délai, utilisé pour les
messages de commande ou de
synchronisation, donc pour des
messages de petite taille.
• T : Maximiser le débit, bien entendu, cette option est utilisée dès
qu'il y a beaucoup de données à transmettre.
• R : Maximise la fiabilité, spécialement utilisée par les opérations de
gestion du réseau.
• C : Minimise le coût, en générale non utilisée.

• Le Champ TLF (Total Length Field) permet de fixer la taille totale du


paquet IP (donc, connaissant la taille de l'entête, on connaît la taille du
champ de données). Ce champ permet ainsi d'éliminer des termes de
bourrage utilisé pour porter les petites trames IP au format minimum de la
trame Ethernet (46 octets).
Page 155 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

• Le champ d'identification donne un numéro unique à chaque datagramme


d'une machine, ce numéro s'incrémente de 1 après chaque émission. Il
permet ainsi de connaître le numéro d'ordre de chaque datagramme
transmis. En cas de fragmentation d'un datagramme, le numéro
d'identification est dédoublé pour être le même sur tous les fragments d'un
même message.

• Les 3 bits de Flag permettent de contrôler les fragmentations.

• "More Fragments" permet de prévenir que d'autres fragments d'un


même datagramme sont à suivre. Le dernier fragment du
datagramme a forcément ce bit à "0" (No more Fragment).
• "Don't Fragment" permet d'interdire la fragmentation du data-
gramme (cela peut entraîner des erreurs dans la mesure où la taille
maximum du message autorisée par les couches inférieures du
réseau est inférieure à la taille du datagramme).
• Le dernier bit de Flag n'est pas utilisé, donc à 0.

• Le champ Fragment Offset permet de définir le "numéro d'ordre" du


fragment, chaque fragment pouvant être routé indépendamment des
autres il peut passer par un chemin plus court que son prédécesseur et
donc arriver à destination avant lui. La machine cible se chargeant alors de
recomposer le datagramme en replaçant les fragments (qui ont la même
identité) dans le bon ordre (ordre croissant des Fragment Offset).

Attention la fragmentation est une arme à double tranchant car si un


fragment est perdu, tout le message est à retransmettre.

• Le champ TTL (Time To Live) permet de fixer le nombre maximal de


routeur qu'un datagramme peut traverser. Ce champ est initialisé à une
certaine valeur au départ. Puis chaque routeur traversé le décrémente.
Arrivé à 0, le datagramme est rejeté, et l'émetteur prévenu. Contrairement
à ce que l'on peut croire, cette méthode n'est pas coercitive, mais permet
d'éliminer des paquets perdus sur le réseau.

• Le champ protocole permet de définir quel type de service (TCP, UDP,


etc.) utilise le champ de données de IP pour y encapsuler ses données. On
peut noter certaines valeurs de ce champ (1 pour ICMP, 6 pour TCP et 17
pour UDP)

• Le champ HCS (Header Check Sum) contient un code CRC permettant de


valider l'entête IP et exclusivement l'entête IP encapsulé dans la trame
Ethernet. Il faut noter que le propre champ HCS est lui même inclus dans
l'entête, donc dans le champ de contrôle, pour cela on le considère pour le
calcul valant zéro.

• Enfin, on présente les adresses IP de la source et du destinataire, puis,


avant d'empiler les données, on laisse systématiquement 32 bits libres
pour la définition d'options (si il y en a) ou pour un usage ultérieur.
Les Réseaux Locaux Industriels Page 156 / 186
IUT de CACHAN

La fragmentation des datagrammes.

Le principe de la fragmentation des datagrammes repose sur la


connaissance par chaque routeur de la taille maximum admissible du champ de
donnée de chacun des réseaux qu'il interconnecte. Cette valeur communément
appelée MTU (Maximum Transfert Unit) est définie pour chaque réseau.

Lorsqu'une trame arrive sur un routeur, si sa taille dépasse le MTU du


réseau sortant, la trame est fragmentée. Chaque fragment dispose alors du même
identificateur que le message d'origine, mais les 12 bits du champ Fragment Offset
contiennent le déplacement par rapport à l'origine du champ de données du
message, divisé par 8. La trame IP contient donc toujours un champ de donnée dont
la taille est divisible par 8.

Par exemple, soit 3 réseaux reliant la machine A à la machine B, le


premier avec un MTU de 1500 octets, le second un MTU de 620 octets et le
troisième un MTU de 420 octets.

Un paquet IP de 1496 octets (la taille doit être divisible par 8) est
envoyé par la machine A, à destination de la machine B. Il contient 20 octets d'entête
et 1476 octets de données.
Page 157 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Au passage du premier routeur, ce datagramme est divisé en trois


morceaux respectivement de 620 (20 octets d'entête et 600 octets de données), 620
et 296 octets. Au total, on a bien un champ de données de 600 + 600 + 276 = 1476
octets.

• Pour le premier datagramme, l'entête IP est composé de


l'identificateur du message d'origine, le bit More Fragment
est à 1 et l'offset est à 0. Sa taille est de 620 octets (20
octets d'entête et 600 octets de données).
• Pour le second datagramme, l'entête IP est composé de
l'identificateur du message d'origine, le bit More Fragment
est à 1 et l'offset vaut 75 (8 x 75 = 600).
• Pour le troisième datagramme, l'entête IP est composé de
l'identificateur du message d'origine, le bit More Fragment
est à 0 et l'offset vaut 150.

Au passage par le second routeur, le MTU passe à 420. Cela signifie


que les trames doivent être re-fragmentées. Pour les 2 premiers fragments, le
routeur va les re-fragmenter en 2 morceaux respectivement de 420 octets (20 octets
d'entête et 400 octets de données) et de 220 pour le second.

• Pour les fragments de 620 octets :


o Le premier fragment (de 420 octets) conserve l'entête du fragment
précédent.
o Le second fragment (de 220 octets) présente lui un offset de 50
(8 x 50 = 400) en plus de celui du fragment dont il est issu.
• Pour le fragment de 296 octets, sa taille étant inférieure au MTU, il est
transmis tel quel sur le réseau.

Au total, la machine B va recevoir les 5 fragments du message


d'origine. Elle va recomposer le datagramme à partir des offset de fragmentation. Il
n'y a pas de discontinuité, les fragmentations coïncident.

Dans certain cas, il peut arriver que le datagramme IP soit plus petit
que le format minimum du champ de donnée du réseau qui encapsule, on utilise
alors les 2 champs de l'entête IP (IHL et TLF) pour définir le format réel du
datagramme, et on accole au datagramme des bits de remplissage pour compléter la
trame.

Les options de la trame IP.

La trame IP peut contenir des options. Celles-ci servent à la mise au


point des réseaux. Elles restent toutefois optionnelles bien que devant être
implémentées par tous les éléments d'un réseau.Les options sont décrites par un
simple octet.
Les Réseaux Locaux Industriels Page 158 / 186
IUT de CACHAN

Le premier bit de l'octet est l'indicateur de copie, il permet de signifier si


les informations concernant cette option doivent être copié pour chacun des
éventuels fragments (bit à 1) ou pas (bit à 0).

Les 2 bits suivants définissent la classe de l'option :


o 00 : classe de contrôle
o 01 : réservé à un usage futur
o 10 : mise au point et mesure
o 11 : réservé à un usage futur

Les 5 derniers bits définissent l'option.

Le IANA gère bien entendu ces numéros.


Page 159 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

On peut noter en particulier les options suivantes :

• L'option 7 est utilisée pour enregistrer le chemin parcouru.


• Les options 9 et 3 permettent de fixer, pour l'option 9 l'intégralité du
chemin que doit parcourir le message et pour l'option 3 (routage
lâche par la source) les points de passage obligatoires pour un
paquet.
• L'option 4 (de classe 2) permet de créer un horodatage des paquets.
A chaque passage par un routeur une information horaire est
ajoutée à la trame.

Les options n'utilisant qu'un seul octet pour leur définition, on ajoute
systématiquement des octets de remplissage pour compléter le paquet de 4 octets
commencé par la définition de l'option. On parle alors de PADDING.
Les Réseaux Locaux Industriels Page 160 / 186
IUT de CACHAN

IP et Ethernet.

L'utilisation du protocole IP sur internet impose la définition de deux


problèmes, d'une part où et comment se rangent les données et l'identification de la
trame IP (au sens physique), d'autre part comment on associe le fonctionnement des
2 protocoles (au sens logique).

Lors de l'émission d'une trame

Le protocole IP et le protocole Ethernet sont liés l'un à l'autre par une


table d'échange nommée table ARP (pour Adress Resolution Protocol). Le rôle de
cette table est d'associer à une adresse IP une adresse MAC. Ceci se fait suivant
une procédure très simple.

Les 3 paramètres qui doivent être définis pour toutes les machines
utilisant IP sont respectivement : l'adresses IP, le masque de sous réseau et
l'adresse IP de sa passerelle (qui doit être sur le même réseau physique que la
machine).

Lors de l'émission d'une trame IP, la machine source compare l'adresse


IP de la machine cible avec l'adresse de son sous réseau.

Si elle ne reconnaît pas alors l'adresse de son propre réseau, elle sait
que seule la passerelle est à même de faire transiter son message sur le Web, elle
va donc essayer de contacter sa passerelle. Pour se faire, elle va utiliser la même
procédure que celle lui permettant de contacter une machine sur le même sous
réseau.

Si la cible est sur le même sous réseau, en considérant que la machine


source est restée inactive assez longtemps, elle doit alors associer à l'adresse IP de
sa cible une adresse au niveau de la couche MAC (IP n'est pas un réseau, rappelez
vous ce que j'en ai dit, seul la couche MAC donne accès à la liaison physique). Pour
identifier l'adresse de sa cible, la machine source envoie une trame ARP Request.

La trame ARP utilise le champ de donnée de la trame du réseau local


pour présenter son entête et place dans le champ de définition du type de trame
encapsulé le code hexadécimal 0806.

Entête ARP.

La trame ARP Request envoie alors un message à toutes les machines


(BROADCAST ALL) leur demandant de répondre à l'émetteur si leur adresse IP est
présente dans la trame. La machine concernée répondra par une trame ARP Reply
directement adressée à l'émetteur de la requète.
Page 161 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

L'entête ARP est composé de 2 type de champs, d'une part des


champs orientés vers la couche physique (HARDWARE) d'autre part les champs
orientés vers la couche IP (PROTOCOL). Tout commence par 4 octets définissant
respectivement pour les 2 premiers le type de couche MAC utilisée (Ethernet est
caractérisé par un 1), et pour les 2 derniers le type de couche réseau utilisée (on
utilise le code 0x0800 pour IP).

Les champs Hlen et Plen définissent respectivement la taille en octets


des adresses de la couche MAC (6 pour Ethernet) et celles de la couche réseau (4
pour IP).

Le champ OP indique s'il s'agit d'une requête ou d'une réponse ARP


(1 pour une requête et 2 pour une réponse) ou d'une commande RARP (Reverse
Adress Resolution Protocol).

Les champs précisés par la suite sont respectivement l'adresse MAC


de la source, puis son adresse dans la couche réseau en suite viennent les adresses
MAC et réseau de la cible.

Lors de la requête, le champ correspondant à l'adresse MAC de la cible


est laissé vide. Lors de la réponse, c'est la machine qui était la cible qui devient la
source donc c'est elle qui fournit les valeurs d'adresse source et d'adresse cible au
niveau de la couche réseau, comme au niveau de la couche MAC. La machine cible
étant alors la machine qui a émis la requête.

Ces données sont alors stockées dans une table dynamique (qui
s'efface si on ne la rafraîchit pas au bout de 30 secondes). Ainsi, on efface
automatiquement les données entrées dans la table si elles ne sont plus utilisées.
Les Réseaux Locaux Industriels Page 162 / 186
IUT de CACHAN

Gestion des erreurs de routage sous IP.

L'utilisation de IP nous découple des réseaux physiques, il faut donc


établir une liaison entre les erreurs de routages (gérées au niveau de IP) et le
comportement du réseau (géré par la couche MAC). Si une machine cible (par
exemple aux USA) est éteinte, la machine source (par exemple en France) doit
recevoir une erreur de routage si elle tente d'y accéder.

Pour cela, il existe un protocole (que beaucoup considèrent comme


partie intégrante de IP) qui se nomme ICMP (Internet Control Message Protocol ou
protocole des messages de contrôle sur internet), qui s'encapsule dans les trames
IP. Il a pour rôle de transmettre les messages d'erreurs liés à la couche IP au travers
des différents réseaux.

Entête ICMP

Seule la première ligne de l'entête est généralisée, les lignes suivantes


ne sont utilisées que pour certaines fonctions.

On trouve, dans le tableau de la page suivante le contenu des 2


premiers champs (Type et Code) et on associe à ces 2 valeurs une erreur ou une
fonction de test.

Le 3ème champ de la première ligne de l'entête ICMP est le champ de


contrôle d'erreur lié à l'entête (CRC).
Page 163 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Type Code Description Erreur Test


0 0 Réponse à l'écho PING •
Destination inaccessible
0 Réseau Inaccessible •
1 Machine Inaccessible •
2 Protocole Inaccessible •
3 Port Inaccessible •
4 Fragmentation nécessaire mais non autorisée •
5 Echec de la route source •
3
6 Réseau inconnu •
7 Machine inconnue •
9 Réseau Interdit par le routeur local •
10 Machine interdite par le routeur local •
11 Réseau interdit •
12 Machine interdite •
13 Communication interdite par filtrage •
14 Violation de la précédence de machine •
15 Coupure de la précédence de l'action •
4 0 Débit trop élevé •
Redirection
0 Redirection pour un réseau •
5 1 Redirection pour une machine •
2 Redirection pour un type de service et réseau •
3 Redirection pour un type de service et machine •
8 0 Requête d'écho PING •
9 0 Alerte du routeur •
10 0 Sollicitation du routeur •
Dépassement de temps
11 0 TTL à 0 pendant le transit •
1 TTL à 0 à la recomposition •
Mauvais paramétrage
12 0 Erreur d'entête IP •
1 Option non reconnue •
13 0 Requête TIMESTAMP •
14 0 Réponse TIMESTAMP •
17 0 Requête ADRESS MASK •
18 0 Réponse ADRESS MASK •

L'utilisation d'ICMP permet de tester ou de signaler les erreurs, on a


donc établis un ensemble de fonction permettant des tests simples. Parmis ces
commandes on trouve la commande PING et la commande TRACEROUTE.
Les Réseaux Locaux Industriels Page 164 / 186
IUT de CACHAN

La commande PING.

La commande PING vient de Packet INternet Groper, elle permet de


tester la réponse d'une machine cible à une sollicitation de la part d'une machine
source. Cette sollicitation est un écho que la machine cible doit retourner.

L'entête ICMP est alors composé des 2 premières lignes (8 premiers


octets), c'est à dire qu'en plus des champs de type et de code ainsi que celui de
checksum, on trouve 2 autres champs. Un champ d'identification qui transmet
l'identité de la source (au cas où plusieurs sources tenteraient de communiquer avec
la même cible en même temps), et un champ de numéro de séquence qui sert à
indiquer quel est le numéro du message transmis.

Le message émis est donc composé d'un entête IP avec l'adresse de la


machine source et de la machine cible, en suite on trouve, encapsulé dans le champ
de donnés de IP l'entête ICMP qui possède un type et un code à 0, suivent un code
d'identification de la machine source et le numéro de séquence.

Le message renvoyé par la cible est lui aussi composé d'un entête IP et
d'un entête ICMP où le type vaut 8 et le code vaut 0, le champ d'identification et le
numéro de séquence sont ceux de la requête d'écho (le message émis).

La commande TRACEROUTE.

La commande TRACEROUTE est une implémentation de la commande


PING, elle permet de définir le chemin suivit par le datagramme IP. Son principe est
de créer volontairement des erreurs de routage, pour recevoir les trames d'erreur
ICMP.

La commande utilisée est : TRACEROUTE <nom de la machine>

Il y alors émission d'une trame de type PING à destination de la


machine déclarée, mais cette trame à un TTL à 0, le premier routeur récupérant une
trame dont le contenu à expiré renvoie vers l'émetteur une trame ICMP d'erreur.

Cette trame ICMP, dont le contenu est un type 11 (délai expiré) et un


code 0 ou 1 (cela n'a pas d'importance), contient une deuxième ligne nulle (pas
d'identification ni de numéro de séquence), mais sur les lignes suivantes, on trouve
le nom de la machine qui a signalé l'erreur.

Ainsi en incrémentant la valeur du TTL jusqu'à obtenir un écho de


retour, on trouve le chemin suivi par les datagrammes.
Page 165 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Fonctionnement de IP.

Identification des adresses locales.

Lorsqu'une machine souhaite communiquer avec une autre, elle doit


utiliser un support physique de réseau pour faire transiter ses données. Prenons
l'exemple d'un réseau fictif où trône 3 machines.

Ces 3 machines sont en fait un routeur et 2 ordinateurs. Chacun d'eux à


sa propre adresse IP et à part le routeur qui utilise 2 types de réseaux, les 2
ordinateurs utilisent exclusivement le réseau Ethernet. On a donc la structure
suivante:

Machine n°1 Machine n°2 Routeur n°1

IP:192.0.1.2 IP:192.0.1.3 IP:192.0.1.1


MAC : MAC : MAC :
MAC :
0.0.0.0.0.2 0.0.0.0.0.4 0.0.0.0.0.6
0.0.0.0.2.2
IP:192.0.0.5

Réseau Ethernet
IP : 192.0.1.0 Autre réseau
(ATM ou
FDDI ou
Ethernet)

Machine n°3 Machine n°4 Routeur n°2 MAC :


0.0.0.0.2.4
IP:192.0.0.9
IP:192.0.2.2 IP:192.0.2.3 IP:192.0.2.1
MAC : MAC : MAC :
0.0.0.0.1.2 0.0.0.0.1.4 0.0.0.0.1.6

Réseau Ethernet
IP : 192.0.2.0

On considérera 2 cas, un premier où la machine n°1 souhaitera parler à


la machine n°2, un autre où la machine 2 souhaitera parler à la machine 4. On
étudiera après un exemple avec encore plus de réseaux.

Dans notre premier cas, on va imaginer qu'un utilisateur sur la


machine n°1 souhaite communiquer avec la machine n°2. Cette machine ayant été
inactive depuis très longtemps, elle ne connaît pas ses voisins.

Pour communiquer, elle a besoin de l'adresse physique de la machine


cible (si celle-ci est sur le même réseau qu'elle) ou alors de l'adresse physique du
routeur si sa machine cible n'est pas sur son réseau local.
Les Réseaux Locaux Industriels Page 166 / 186
IUT de CACHAN

Pour définir l'adresse de son réseau, la machine source réalise un ET


logique entre son adresse IP et le masque. On trouve :

192 0 1 2
255 255 255 0
192 0 1 0

Le réseau est donc 192.0.1.0. La cible ayant pour adresse 192.0.1.3,


on cherche, pour elle aussi, son réseau :

192 0 1 3
255 255 255 0
192 0 1 0

Les 2 machines sont donc sur le même réseau. La machine source va


donc demander à toutes les machines du réseau celle qui a pour adresse IP :
192.0.1.3.

Cette demande se fait en envoyant une requête ARP en


BROADCAST ALL, c'est à dire à l'adresse de toutes les machines. On trouve donc
une trame ARP contenant les informations suivantes :

Sender Hardware Address 000002


Sender Protocol Address 192.0.1.2
Target Hardware Address FF FF FF FF FF FF
Target Protocol Address 192.0.1.3

Puis une trame de réponse ARP viens de la cible qui répond :

Sender Hardware Address 000004


Sender Protocol Address 192.0.1.3
Target Hardware Address 000002
Target Protocol Address 192.0.1.2

Désormais les 2 machines se connaissent, elles communiquent entre


elles par le truchement du réseau Ethernet, sans relancer de commandes ARP. Tant
que ces 2 machines continueront à discuter entre elles, elles conserveront
localement l'association des adresses IP et MAC, dans la table ARP. De plus, une
table de routage leurs permet de connaître désormais la voie à suivre pour se parler.
Page 167 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Prenons maintenant le second cas : la machine n°2 souhaite dialoguer


avec la machine n°4. On recommence alors la procédure :

Définition du réseau de la machine source :

192 0 1 3
255 255 255 0
192 0 1 0

Définition du réseau de la machine cible :

192 0 2 3
255 255 255 0
192 0 2 0

Les réseaux étant différents, la machine source sait qu'elle ne peut pas
discuter directement avec sa cible, elle doit donc impérativement dialoguer avec son
routeur pour obtenir le transfert des informations vers la cible.

Comme la machine n'a pas dialogué avec le routeur depuis longtemps,


elle doit associer à nouveau, à l'adresse IP du routeur, l'adresse MAC de ce dernier.
Pour cela elle lance une requête ARP en BROADCAST ALL.

Sender Hardware Address 000004


Sender Protocol Address 192.0.1.3
Target Hardware Address FF FF FF FF FF FF
Target Protocol Address 192.0.1.1

Puis une trame de réponse ARP vient du routeur :

Sender Hardware Address 000006


Sender Protocol Address 192.0.1.1
Target Hardware Address 000004
Target Protocol Address 192.0.1.3

Désormais, la machine n°2 sait parler à son routeur. C'est maintenant à


lui d'établir la fin de la communication. Pour cela, il existe plusieurs possibilités : le
routage statique (le chemin à suivre à été fixé par un administrateur) ou le routage
dynamique (les routeurs doivent se découvrir sans aide extérieure).

Mais quel que soit la méthode de routage, le principe reste le même, le


routeur comme les autres machines, vérifie la présence du réseau cible dans sa
table de routage. Et si celui ci n'est pas présent, il consulte les autres machines
grâce à des protocoles d'échange de routes (comme le protocole IRDP pour Internet
Router Discovery Protocol).
Les Réseaux Locaux Industriels Page 168 / 186
IUT de CACHAN

Le routage des paquets IP.

Le protocole RIP

Le principal protocole utilisé par les routeurs est le protocole RIP (pour
Routing Information Protocol). Celui ci permet à un routeur de définir
automatiquement et dynamiquement (c'est à dire sans intervention extérieure) le plus
court chemin à suivre pour atteindre une cible.

Les informations de routages ne sont pas centralisées mais sont


diffusées localement. Chaque routeur dispose de sa propre table de routage appelée
table RIP. Il n'y a pas sur le réseau, de nœud centralisateur de l'information de
routage, pas plus qu'il n'y a de routeur connaissant l'ensemble des réseaux
disponible.

La définition du chemin le plus court passe par l'utilisation d'une mesure


de distance, basé sur le HOP. Un HOP correspondant au passage d'un routeur. La
distance n'est donc pas réelle mais fictive, en effet, peu importe qu'un réseau mesure
plusieurs centaines de kilomètres, ce qui compte c'est que l'on mobilise un nombre
minimum de routeur pour transférer une information.

La table RIP des routeurs stocke donc 3 informations :


• Le numéro IP du réseau destinataire (R).
• Le numéro IP du prochain routeur permettant d'y accéder (P).
• La distance en HOP totale du chemin (H).

Régulièrement (environ toutes les 30 secondes), les routeurs diffusent


leurs tables RIP. Heureusement, il existe 2 garde-fous à ces échanges, qui sur un
réseau aussi vaste qu'internet pourraient poser de gros problèmes de saturation. Le
premier tient au fait que les tables son propagées avec une limitation à 15 HOP de la
distance maximale accessible. La seconde tiens au fait que seul le chemin le plus
court est mémorisé.
Page 169 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Diffusion et constitution des tables RIP

Imaginons maintenant la situation suivante :


Les 1, 2 et 3 placé sur les fils reliés
aux routeurs représentent la fin de
1 192.0.1.0 2
l'adresse IP du point de connexion.
Par exemple le routeur A sur le
réseau 192.0.1.0 a pour
adresse192.0.1.1.

2 A B 1

192.0.4.0
192.1.0.0 1
E 3 3 F
1 10.1.0.0
192.0.2.0

1 C D 2

2 192.0.3.0 1

Dans ce réseau, toutes les boîtes sont des routeurs. Ainsi par exemple,
si on analyse le routeur A, on a la table RIP suivante :

Réseau Next HOP HOP Remarque


192.0.1.0 0 Autre voie à 4 HOP (éliminée)
192.0.2.0 0 Autre voie à 4 HOP (éliminée)
192.0.3.0 192.0.2.1 1 Autre voie à 2 HOP (éliminée)
192.0.4.0 192.0.1.2 1 Autre voie à 2 HOP (éliminée)
192.1.0.0 192.0.2.3 1 Autre voie à 4 HOP (éliminée)
10.1.0.0 192.0.1.2 2 Autre voie à 3 HOP (éliminée)

Le routeur B lui, a la table suivante :

Réseau Passerelle HOP Remarque


192.0.1.0 0 Autre voie à 4 HOP (éliminée)
192.0.4.0 0 Autre voie à 4 HOP (éliminée)
192.0.3.0 192.0.4.2 1 Autre voie à 2 HOP (éliminée)
192.0.2.0 192.0.1.1 1 Autre voie à 2 HOP (éliminée)
192.1.0.0 192.0.1.1 2 Autre voie à 4 HOP (éliminée)
10.1.0.0 192.0.4.3 1 Autre voie à 3 HOP (éliminée)
Les Réseaux Locaux Industriels Page 170 / 186
IUT de CACHAN

Ces tables sont entretenues dynamiquement, cela veut dire par


exemple que si le réseau 192.0.3.0 est défaillant (par exemple, le lien est brisé), dès
que le routeur C (ou le routeur D) essayera de transmettre sur ce réseau, il détectera
une erreur et fera évoluer sa table de routage et par propagation celle des autres.
Dans notre exemple précédent, le routeur D aura les informations suivantes :

Réseau Passerelle HOP Réseau Passerelle HOP


192.0.1.0 192.0.4.1 1 192.0.1.0 192.0.4.1 1
192.0.2.0 192.0.3.2 1 192.0.2.0 192.0.4.1 2
192.0.3.0 0 192.0.3.0 0
192.0.4.0 0 192.0.4.0 0
192.1.0.0 192.0.3.2 2 192.1.0.0 192.0.4.1 3
10.1.0.0 192.0.4.3 1 10.1.0.0 192.0.4.3 1

Avant Après

La création de ces tables de routage est réalisée par propagation de la


table d'autres routeurs (en incrémentant les distances), via des échanges de trames
RIP.

Par exemple, imaginons l'initialisation de la table RIP de A. On


considérera que A initie la propagation.

• A connaît naturellement les 2 réseaux auxquels il est relié. Il envoie donc


l'information que constitue sa table de routage en "BROADCAST" à toutes les
machines des 2 réseaux où il est relié (seul les routeurs retiendront cette
information estampillée RIP).

• B reçoit la table de A, il tente de la • C reçoit la table de A, il tente de la


mettre à jour : mettre à jour :
• Pour le réseau 192.0.1.0, B le • Pour le réseau 192.0.2.0, C le
connaît déjà et il sait qu'il y est connaît déjà et il sait qu'il y est
relié. relié.
• Par contre pour le réseau • Par contre pour le réseau
192.0.2.0, B ne le connaissait pas, 192.0.1.0, C ne le connaissait
il entre donc l'adresse de A pas, il entre donc l'adresse de A
comme "Next HOP". comme "Next HOP".

• B utilise ses propres connaissances • C utilise ses propres connaissances


pour la compléter : pour la compléter :
• Ajout dans la table de 192.0.4.0. • Ajout dans la table de 192.0.3.0.

• B attend un petit délai aléatoire et • C attend un petit délai aléatoire et


rediffuse sa table (comme A) rediffuse sa table (comme A)
[NB]
• J'ignore volontairement le routeur de E puisqu'il n'apporte rien au cas étudié.
• Le délai aléatoire sert dans le cas du réseau 192.0.2.0 à éviter une collision entre le retour de
la table de C et celle de E.
Page 171 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

• Pour A qui va recevoir, selon les valeurs aléatoires la trame de B ou de C en


premier, va donc mettre sa table à jour en incluant les 2 réseaux (192.0.3.0
venant de C et 192.0.4.0 venant de B). Les tables respectives de B et de C
continues à se propager.

• Le routeur D, comme A recevra en même temps que A les informations


provenant de B et de C, il va donc mettre lui aussi à jour sa table et il va lui
aussi la diffuser après un court délai.

A ce point les 4 réseaux 192.0.X.0 sont tous connus, pour mieux comprendre le
cheminement utilisé, on va synthétiser ces résultats sous la forme d'un tableau.

Routeur A Routeur B Routeur C Routeur D


Etape Adresse du Adresse du Adresse du Adresse du
HOP HOP HOP HOP
réseau réseau réseau réseau
0 192.0.1.0 0 192.0.1.0 0 192.0.2.0 0 192.0.3.0 0
192.0.2.0 192.0.4.0 192.0.3.0 192.0.4.0
A diffuse sa table RIP
1 192.0.2.0 1 192.0.1.0 1
B diffuse sa table RIP
2 192.0.4.0 1 192.0.1.0 2
C diffuse sa table RIP
3 192.0.3.0 2 192.0.2.0 1
On a alors les tables suivantes
192.0.1.0 0 192.0.1.0 0 192.0.1.0 1 192.0.1.0 2
après
192.0.2.0 0 192.0.2.0 1 192.0.2.0 0 192.0.2.0 1
l'étape
3 192.0.3.0 2 192.0.3.0 0 192.0.3.0 0
192.0.4.0 1 192.0.4.0 0 192.0.4.0 0
D diffuse maintenant sa table RIP
4 192.0.3.0 2 192.0.4.0 2
On a alors les tables suivantes
192.0.1.0 0 192.0.1.0 0 192.0.1.0 1 192.0.1.0 2
après
192.0.2.0 0 192.0.2.0 1 192.0.2.0 0 192.0.2.0 1
l'étape
4 192.0.3.0 2 192.0.3.0 2 192.0.3.0 0 192.0.3.0 0
192.0.4.0 1 192.0.4.0 0 192.0.4.0 2 192.0.4.0 0
A, B et C vont diffuser leurs tables, mais tous les réseaux sont déjà connus, et les chemins sont déjà
les plus court, il ne seront donc pas suivis de rediffusions.

Les distances devant être minimisées, après la troisième étape,


l'ensemble des éléments du réseau connaît le chemin le plus court pour atteindre sa
cible. Si l'on ajoute les routeurs E et F, la diffusion est un peu plus longue mais elle
conduira aux mêmes résultats.
Les Réseaux Locaux Industriels Page 172 / 186
IUT de CACHAN

La trame RIP

La trame RIP est encapsulée dans une trame IP. Elle se compose d'un
nombre variable de champs. Toutefois, au minimum, la trame RIP est composée de
24 octets. La trame suivante est en octets.

1 1 2 2 2 4 8 4
C V ZERO AFI ZERO ADDRESS ZERO METRIC

Les champs ZERO sont des champs "vides" (remplis de zéro)

Définit le sens de propagation du message.


Cela peut être une requête (un routeur sollicite d'un autre
C la propagation de sa table) ou une "réponse" qui est soit
Command
une mise à jour régulière soit une mise à jour
extraordinaire (cas où un brin du réseau est défaillant).
V Donne le numéro de version du protocole RIP utilisé
Version
AFI Permet d'utiliser RIP avec des protocoles de réseaux
Address Family différents de IP. Nous-nous limiterons au protocole IP
Indetifier donc ce champ contient le mot hexadécimal "0002".
ADDRESS Addresse IP du réseau accessible
METRIC Distance du réseau cible en HOP
Une trame RIP peut contenir jusqu'à 25 occurrences des champs
ADDRESS et METRIC, permettant ainsi (pour chaque trame) de donner la position
de 25 routeurs.

Le champ METRIC permet de donner le nombre de HOP entre le


routeur source et sa cible. Le nombre de HOP est limité à 15 (et il ne peut pas être
inférieur à 1), toutefois, il est possible de trouver dans le champ METRIC la valeur 16
qui signifie que le réseau est inaccessible.

L'adresse IP de la passerelle à contacter pour le routage est quand à


elle dans la trame IP qui encapsule la trame RIP.

Les autres protocoles de routage.

Relativisons bien les choses, RIP n'est pas un protocole de routage très
performant à grande échelle. Pour des applications "locales", il est simple et facile à
utiliser, par contre à grande échelle il n'est pas du tout adapté (limitation à 15 HOP
du routage, trame trop longue pour peu d'informations). On utilise donc d'autres
protocoles.

Il existe une évolution du protocole RIP qui est RIP2, cette nouvelle
version est plus puissante que RIP, mais somme toute assez peu différente de son
aïeul. Nous n'étudierons donc pas ce protocole.
Page 173 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Pour mieux comprendre dans quels cas on utilise le routage RIP, on a


définit 2 "zones" où peuvent s'appliquer des règles de réflexion différentes. On a
donc une zone nommée Intra-domaine et inter-domaine.

L'intra-domaines, est une zone que vous "contrôlez", c'est à dire où


vous avez le contrôle de l'ensemble des nœuds. c'est vous qui fixez les règles de
routages, qui segmentez l'espace en sous domaines. Vous devez securiser votre
espace, mais pour ce faire, vous avez "tous les droits" puisque vous êtes chez vous.

L'inter-domaine est le pays des opérateurs du monde des réseaux (cela


coïncide en général avec les grands opérateurs téléphoniques). A moins de travailler
pour ces grandes entreprises, vous n'avez absolument aucun droit d'influencer de
quelque façon que ce soit sur leur domaine, ou de leur demander de s'adapter à vos
spécificités.

Pour les zones intra-domaine, RIP est encore le plus employé, mais le
protocole OSPF (Open Shortest Path First) est en passe de le détrôner. OSPF
permet de contrôler l'état des liens, il est aussi plus rapide à se stabiliser que RIP.
On trouve aussi les protocoles IGRP (Interior Gateway Routing Protocol) et E-IGRP
(Enhanced IGRP).

Pour les zones Inter-domaine, on trouve des protocoles tels que BGP
(Border Gateway Protocol), IS-IS (Intermediate System to Intermetiate System),
OSPF, etc…

L'utilisation de la version 6 de IP fournira sans doute une normalisation


des fonctions de routage, avec peut être l'apparition de nouveaux protocoles.
Les Réseaux Locaux Industriels Page 174 / 186
IUT de CACHAN

TCP et UDP

L
e protocole IP permet, comme on l'a vu dans le chapitre précédent, de
transférer une information vers une machine cible, de façon non connecté, c'est
à dire en ne s'occupant ni de la façon dont les données sont transmise, ni de
l'ordre dans lequel elles arrivent, ni même en se posant la question de la capacité de
la machine cible à les recevoir. Il manque donc un élément très important dans le
dialogue sur les réseaux, le contrôle du flux. C'est le rôle de la couche de transport
autrement dit de TCP ou de UDP.

Avant de détailler ces deux protocoles, il existe une notion importante liée aux
protocoles de transport, c'est la notion de port.

Un port est un point d'accès à un ou plusieurs services (c'est à dire un ou


plusieurs protocoles internes à la machine), ces services correspondent à une tâche
(ou un processus) prise en charge par la machine. Comme ces processus sont
susceptibles d'être créés ou détruit, qu'ils n'ont pas forcément toujours le même
numéro de tâche, il faut passer par un numéro arbitraire, c'est le numéro du port.

Les numéros de port sont codés sur 16 bits (de 0 à 65 535) et ils sont classés
selon 3 catégories.

• Les numéros de 0 à 1023 sont appelés les "Well Known


Port", ils correspondent à des applications système
fondamentales dûment enregistrées et reconnues de tous,
ouverte et publiées sous forme de RFC. Elles sont gérées
par le IANA (Internet Assigned Number Autority).
• Les numéros de port supérieurs à 1023 sont appelés les
"Registered Port", ils peuvent être utilisé en fonction des
disponibilités comme ephemeral ports (les ports utilisés
pour lancer des requêtes) ou sont propriétés de logiciels
privés.

Pour toute machine il existe 2 modes de fonctionnement. Le mode serveur et


le mode client. Une machine serveur ne propose pas ses services, elle attend qu'un
client les lui réclame. Le client est donc le demandeur, et c'est donc toujours le client
qui initie une transaction avec un serveur.

Le client utilise donc un de ses ports (un ephemeral port) non utilisé par une
de ses application pour initier le dialogue avec un Well Known Port du serveur.
Prenons l'exemple d'une communication HTTP entre un client et un serveur, le client
utilisera un port quelconque (X) pour parler au port 80 du serveur. Celui ci lui
répondra depuis le port 80 vers le port X du client.

La double paire composée de l'adresse IP et du numéro de port, coté serveur


et coté client, est communément nommée Socket.
Page 175 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Une Socket doit toujours être unique c'est à dire qu'il ne doit jamais il y
avoir deux socket utilisant en même temps un même port source de la machine
source et un même port de destination de la machine de destination.

UDP.

Le protocole UDP (User Datagram Protocol) est une version simplifiée


du protocole de transport TCP. Il n'assure pas les fonctions de mode connecté, c'est
à dire qu'il ne contrôle pas la fiabilité des échanges, et il ne gère pas le flux. Il est
utilisé comme une pseudo interface logicielle au protocole IP lui permettant de
fonctionner avec des ports donc de créer des socket.

• Le champ Source Port donne le numéro du port de la machine source. il


est optionnel. Dans ce dernier cas, il est mis à zéro.
• Le champ Destination Port donne le numéro du port de la machine cible.
• Le champ Length donne la taille totale, en octets, du paquet UDP, donnée
comprise. Il ne doit pas être inférieur à 8.
• Le champ Checksum est un CRC sur l'entête UDP ainsi que le pseudo
entête (étudié juste après) et qui n'est pas transmis.

Le pseudo entête UDP n'est pas transmis, mais il est utilisé pour
calculer le checksum. Il est composé de 5 champs.

• Le champ Zero est composé de 8 bits à 0.


• Le champ Proto contient la copie du champ Protocol de l'entête IP. Il vaut
donc, dans le cas de trame UDP, toujours, la valeur 17.
• Le champ UDP Length est la copie du champ Length de l'entête UDP (c'est
à dire qu'il ne tiens pas compte de la taille du pseudo entête).

En contrepartie de sa faible sécurité, UDP présente quelques


avantages : sa rapidité (peu de contrôles à réaliser) et son efficacité (le rendement
de transmission de UDP est excellent).

Son domaine d'utilisation se réduit donc à des applications nécessitant


rapidité et simplicité.
Les Réseaux Locaux Industriels Page 176 / 186
IUT de CACHAN

TCP

Le protocole TCP est un protocole de transmission permettant un


fonctionnement en mode connecté, contrairement au protocole IP qui est un
protocole sans connexion.

Le mode connecté signifie qu'il y a une vraie relation entre l'émetteur et


le récepteur. Cela sous entend que les deux machines vont s'accorder sur leur
capacité à gérer les échanges, à gérer les congestion du réseau, les pertes de
données, les erreurs…

En mode connecté, les échanges ne sont donc plus exclusivement des


échanges de données, il y a aussi des trames qui circulent en vue de la
synchronisation des échanges de données. Ainsi lorsque une machine émet un
message Mi, elle s'attend à recevoir un acquittement Ai, si celui ci arrive, elle envoie
alors le message suivant Mi+1. Si il n'y a pas d'acquittement de reçu, au bout d'un
certain temps, elle considère que le message est perdu et elle le renvoie à nouveau.

Toutefois, dans le cas de grosse quantité de données à transmettre, ce


genre de méthode pourrait s'avérer très pénalisante pour le débit réel des données.
On utilise donc un mode d'envoie par groupe des messages. C'est à dire que
l'émetteur et le récepteur s'accordent sur un nombre maximum T de messages
transmissibles sans acquittement. L'envoie par le récepteur de l'acquittement Ai puis
Ai+K (avec K < T) signifie que tous les messages Mi à Mi+K ont été correctement
reçus.

De plus, tous les messages n'ont pas une taille leur permettant de tenir
en une seule trame. Ils sont donc découpés (à l'origine par paquets de 536 octets
mais depuis qu'Ethernet s'est généralisé, on utilise des paquets de 1460 octets). Ce
principe, aussi appelé segmentation, transforme les messages en petits paquets,
émis par la suite dans des trames IP.

Chaque segment dispose d'un numéro de séquence qui permet d'établir


une relation avec le segment précédent et le segment suivant. Les segments sont
émis en rafale, c'est à dire par groupe, et sont acquittés par groupe. Le phénomène
de création de groupe est appelé fenêtrage.

Il faut noter que le protocole TCP place systématiquement à 1 le bit


Don't Fragment de la trame IP. Il utilise donc un algorithme pour définir la taille
maximum de chacun des segments.
Page 177 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Entête TCP

• Les champs Source Port et Destination Port contiennent le numéro du port


de la machine source ou destination. Le numéro du port source est dans le
cas du client un "ephemeral port" et dans le cas du serveur un "well known
port". Inversement pour le port de destination.
• Le champ Sequence number contient un nombre "aléatoire" qui représente
le numéro du premier octet de la séquence transmise.
• Le champ Acknowledgement Number contient un nombre qui est le
numéro de l'octet de début de la prochaine séquence à transmettre donc le
numéro du dernier octet reçu + 1.
• Le champ Offset contient le nombre de mot de 32 bits composant l'entête
TCP. Il indique l'offset par rapport au début de la trame TCP où on va
trouver les données.
• Le champ Reserved est composé de 6 bits à 0, il est réservé à un usage
futur.
• Les 6 bits de contrôle :
o URG (U) pour URGENT : les données doivent être émises ou reçues
immédiatement.
o ACK (A) pour ACKNOWLEDGE : la trame est une trame
d'acquittement. Le champ Acknowledgement Number est signifiant. Si
le bit A n'est pas actif, la valeur du champ Acknowledgement Number
n'est pas pris en compte. De même lorsqu'il est actif, le champ
Sequence Number n'est pas pris en compte.
o PSH (P) pour PUSH : les données doivent être transmise à l'applicatif
sans attendre la fin du segment (ce bit est obsolète, il est utilisé pour
signaler la présence de données).
o RST (R) pour RESET : réinitialise la connexion (notamment en cas de
désynchronisation)
o SYN (S) pour SYNCHRONIZE : initie la connexion. Il faut noter que le
segment SYN dispose d'un numéro de séquence bien que ne
contenant pas de données. Ce numéro est appelé ISN (Initial
Sequence Number).
o FIN (F) pour FINISH : achève la connexion (fin de connexion).
• Le champ Window donne la taille en octet des données que l'émetteur est
capable de recevoir. Dans le cas d'une trame d'acquittement, il s'agit de la
taille de la fenêtre avant le prochain acquittement.
Les Réseaux Locaux Industriels Page 178 / 186
IUT de CACHAN

• Le champ Checsum contient un code CRC calculé pour l'ensemble de


l'entête du segment en cours de transmission. Il utilise comme pour UDP
un pseudo entête dont les champs sont rigoureusement les mêmes que
pour UDP et qu'il place avant l'entête TCP (le champ proto contient la
valeur 6). Pour le calcul du CRC, le champ Cheksum est initialement mis à
0.

Pseudo entête TCP

• Le champ Urgent Pointer contient l'offset du premier octet de données non-


urgente dans le segment. Il n'est pris en compte que si le bit U est actif.
Les octets, entre le début du segment et la valeur du champ Urgent
Pointer, sont donc les octets urgents.
• Les options permettent de passer des informations de contrôle de
l'émetteur au récepteur. Il peut il y avoir plusieurs options à la suites les
unes des autres. Chaque option s'organise de deux façons :
o soit sous la forme d'un octet unique, auquel cas, l'octet est complété de
24 bits de bourrage (padding) pour obtenir une chaîne de 32 bits de
long.
o soit sous la forme d'un groupe d'octet organisé sous la forme : d'un
octet de Code, d'un octet de longueur (incluant la taille des octets de
code et de longueur) et de plusieurs octets de données. Là encore la
taille de l'option devant être un nombre entier de fois 32 bits, l'option est
complétée par des bits de bourrage.
Il existe 7 codes d'options :
o Les codes 0 et 1 servent à fabriquer le padding (le code 0 est très rare
voir inutilisé, seul le code 1 est fréquemment employé). Le code 0
signifie la fin des options (il est placé après des options de taille
variable), tandis que le code 1 signifie NOP (No OPeration), il est placé
avant les autres options en guise de padding.
o Le code 2, pour Maximum Segment Size. Cette option permet lors de
l'initialisation de la connexion (lorsque le bit S est actif) de définir la
taille maximum du segment admissible. Cette option est donc un
groupe d'octet. Le champ longueur valant 4 (pour 4 octets utilisés pour
l'option), la taille maximum d'un segment est codée sur 16 bits.
o Le code 3, pour modifier la taille de la fenêtre au delà des 16 bits
autorisé par l'entête TCP.
o Les codes 4 et 5, pour autoriser la fonction SACK (Selective
Acknoledgment). La taille de cette option est variable.
o Le code 8, pour la mesure du RTT (Round Trip Time), le temps mis par
un message pour réaliser un aller-retour, ou plutôt son estimation. Il est
codé sur 10 octets avec 2 octets de Padding.
Page 179 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Fonctionnement de TCP.

Initialisation de la connexion

Lorsque que l'émetteur souhaite établir une communication avec une


cible pour un protocole donné, il commence par créer une socket, donc il sélectionne
un port éphémère qu'il va désormais utiliser pour toutes ses communications avec
cette cible avec ce protocole.

Il envoie alors une trame SYN en direction de la machine cible. Ce


message est identifié par un numéro de séquence spécial le ISN de la machine
source, appelons le x.

La machine cible reçoit


le message SYN et lui répond en
envoyant un message SYN + ACK.
Le numéro de séquence de cette
réponse est l'ISN de la machine
(appelons le y). Le numéro
d'acquittement est le numéro de
séquence reçu plus 1 (x+1).

La machine à l'origine
de la requête SYN reçoit la trame
SYN + ACK. Elle répond en
retournant une trame ACK avec un numéro de séquence qui vaut x+1 et un numéro
d'acquittement qui vaut y+1.

La connexion est maintenant établie.

Il faut noter que la mise à 1 du bit S est considérée comme la présence


d'un octet de données donc donne lieu à l'incrémentation du numéro de séquence
d'une unité. Par contre, la présence du bit A n'influe pas sur le numéro de séquence.

Dialogue

La connexion étant établie, le dialogue peut prendre place entre


l'émetteur et le récepteur. Dans cette conversation, l'émetteur va envoyer des
segments et le récepteur va les acquitter. L'utilisation du processus de fenêtrage
entraîne un comportement variable selon que le réseau présente des
caractéristiques Full Duplex ou Half Duplex.

Dans le cas d'un réseau full duplex, la machine émettrice envoie un


premier segment avec un numéro de séquence qui vaut x+1. Une fois ce message
émis (en imaginant qu'il a envoyé une trame de 1460 octets), la machine émettrice
envoie un autre segment immédiatement avec un numéro de séquence de x+1461.
Les Réseaux Locaux Industriels Page 180 / 186
IUT de CACHAN

En théorie, durant l'émission de ce second segment, la machine


émettrice doit recevoir de la machine réceptrice des données un acquittement du
premier segment. Le champ numéro d'acquittement ayant pour valeur x+1461.

Dans le cas contraire, en imaginant que le fenêtrage autorise l'émission


de 3 segments maximum sans acquittement, la machine émettrice est donc encore
autorisée à envoyer un nouveau segment avec un numéro de séquence valant
x+2921. En suite, elle reste bloquée dans cet état jusqu'à ce que le récepteur
acquitte au moins un des segments précédents.

Si par exemple elle récupère une trame d'acquittement valant x+2921,


elle en déduit que tous les octets émis dans le premier et dans le second segment
ont été acquittés (tous les octets des trames de numéro de séquence x+1 et
x+1461).

Grâce à ce principe d'acquittement, il est possible de décrire


l'agencement des segments comme une fenêtre glissante (d'où le nom de fenêtrage).
En reprenant les valeurs de l'exemple précédent, on peut établir une représentation
du phénomène :
Page 181 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Dans le cas d'un


réseau Half Duplex configuré de la
même manière que l'exemple
précédent, la machine émettrice
mobilise de façon exclusive la ligne
jusqu'à ce qu'elle ne soit plus
capable d'émettre faute
d'acquittement (après l'envoie du
troisième segment).

La machine réceptrice
va attendre de récupérer les 3
segments et va envoyer une trame
d'acquittement avec un numéro
valant x+4381 (3x1460+1). Elle
valide ainsi la réception des 3
segments.

Perte de segment.

Toutefois dans certains cas, il se peut qu'un segment soit perdu. Dans
ce cas, la machine réceptrice va elle même signaler cette perte à l'émetteur qui en
réaction va renvoyer le segment perdu.

Dans le cas d'une liaison Full-Duplex, la transmission de l'acquittement


de chaque segment s'effectue avec un léger retard par rapport à la réception du
segment. L'émetteur ne s'arrêtant pas de transmettre, il va rapidement apparaître un
décalage en le numéro de séquence et le numéro d'acquittement.
Les Réseaux Locaux Industriels Page 182 / 186
IUT de CACHAN

Les segments reçus par le récepteur pendant l'intervalle de temps


compris entre la perte du segment et le segment de remplacement (c'est à dire les
deux segments avec un numéro de séquence égal à x+2921 et x+4381) sont
mémorisés mais ne sont pas acquittés (le récepteur retournant un numéro
d'acquittement égal à x+1461, quel que soit le numéro de séquence du segment
reçu). Sitôt le segment manquant reçu, le récepteur valide par la même occasion les
deux segments qu'il a reçu en retournant un numéro d'acquittement égal à x+5841.

Précisons toutefois que dans l'exemple précédent, la fenêtre utilisée


n'est plus de 3 mais de 4 segments. Dans le cas où l'on utiliserait une fenêtre de 3
segments, la machine émettrice aurait dû attendre la réception de l'acquittement
numéro x+5841 avant de pouvoir envoyer un autre segment.

Fermeture de la connexion

Reste maintenant, une


fois le message transmis, à fermer la
connexion. Pour cela une des
machines (n'importe laquelle) envoie
une requête de fermeture (FIN) qui
est acquittée par l'autre machine. La
machine qui vient d'acquitter le
message de fermeture de la
connexion envoie alors à son tour la
requête de fermeture, l'autre
machine lui répond par un
acquittement.

La connexion est alors


fermée.

Il faut noter que la mise à 1 du bit F est considérée comme la présence


d'un octet de données donc donne lieu à l'incrémentation du numéro de séquence
d'une unité. Par contre, la présence du bit A n'influe pas sur le numéro de séquence.

Définition du MSS

Le MTU (Maximum Tranfert Unit) est une valeur implantée dans chaque
équipement réseau, il définit en fonction du matériel mis en œuvre, la taille maximale
du champ de données. Le MSS (Maximum Segment Size) est obtenu en retirant 40
octets au plus petit MTU des réseaux traversés.

Comme, par définition, le chemin parcouru par chaque segment est


susceptible de varier, le MSS est susceptible de varier.
Page 183 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Au début, le MSS est donc initialisé à la valeur locale du MTU moins


40. Lors de l'envoie du segment SYN et du retour SYN + ACK, les deux machines en
communication se passent l'information concernant leurs MSS respectifs.

Une fois cette valeur définie, elle est utilisée pour tous les envois. Si un
routeur intermédiaire utilise un MTU inférieur à celui défini lors de l'initialisation, lors
de la transmission du premier segment, le routeur retournera une trame ICMP
d'erreur (type 3, code 4) à l'expéditeur du segment puisque le bit DF (Don't
Fragment) est actif.

Le routeur en théorie retourne, dans la trame ICMP, une information


supplémentaire sur la valeur du MTU du réseau à l'origine du problème. Cette valeur
sera alors utilisée par l'émetteur pour l'envoie du segment en échec, et par la même
occasion servira à mettre à jours le récepteur.

L'automate TCP

Le fonctionnement de TCP est tellement simple qu'il s'apparente à un


fonctionnement de type automate.

On part de l'état où la socket est


fermée. On peut soit faire une ouverture active,
en entamant un dialogue (ce qui est en général
le cas d'un client), soit rester passif et attendre
une connexion (ce qui est généralement le cas
d'un serveur).

Dans le premier cas (mode client),


l'envoie du segment SYN fait passer la machine
à l'état SYN sent (SYN envoyé). Là, trois
possibilités apparaissent :

• La machine distante envoie la


réponse RST (Reset) ou ne répond
pas. Dans ce cas, on retourne à l'état
d'origine.
• La machine distante répond
SYN+ACK, on renvoie un ACK. Notre
machine passe alors à l'état
Established (établie).
• La machine distante répond par un
SYN. On appelle aussi cette fonction
l'ouverture simultanée. Dans ce cas,
on passe par l'état SYN received
(SYN reçu) avant d'accéder à l'état
Established (établie).
Les Réseaux Locaux Industriels Page 184 / 186
IUT de CACHAN

Dans le second cas (mode serveur), Notre machine a ouvert une


socket. Elle est à l'écoute du réseau. Lorsqu'elle reçoit un segment SYN, elle répond
par SYN + ACK, ce qui la fait passer à l'état SYN received (SYN reçu). Le client en
renvoyant un ACK la fait passer à l'état Established (établie). En cas d'attente trop
longue entre le SYN+ACK et le ACK, on peut envoyer la commande FIN pour passer
à l'état de fermeture active de la connexion (fermeture à notre initiative).

A l'état Established, le transfert de données entre les deux machines a


lieu. Une fois ce transfert effectué, la fermeture de la connexion doit avoir lieu. Elle
peut, elle aussi être active (notre machine est à l'initiative de la fermeture) ou passive
(la machine distante est à l'initiative de la fermeture).

Dans le premier cas, notre machine envoie un segment FIN, qui nous
fait passer à l'état FIN wait-1. En réponse, la machine distante retourne un ACK, qui
fait passer la machine à l'état FIN wait-2. Puis la machine distante envoie un
segment FIN et notre machine lui retourne un ACK. Cela fait passer la machine en
mode Time-Wait où elle va attendre la durée de vie de 2 segments avant de fermer
définitivement la connexion.

Dans le second cas (la fermeture passive), la machine distante envoie


le segment FIN, notre machine lui répond immédiatement ACK, ce qui la fait passer à
l'état CLOSE wait. Puis notre machine envoie un segment FIN qui la fait passer à
l'état LAST ACK. La connexion ne sera réellement détruite que lorsque notre
machine recevra le ACK de la machine distante.

Il peut arriver que 2 machines aient en même temps l'idée d'ouvrir ou


de fermer une connexion. Dans ce cas, on parle d'ouverture ou de fermeture
simultanée.

L'ouverture simultanée se déroule en 6 temps :

1. A envoie un SYN (elle est à l'état SYN sent)


2. B envoie un SYN (elle est à l'état SYN sent)
3. B reçoit le SYN (elle passe à l'état SYN rcvd), elle répond par un ACK.
4. A reçoit le SYN (elle passe à l'état SYN rcvd), elle répond par un ACK.
5. A reçoit le ACK (elle passe à l'état Estab)
6. B reçoit le ACK (elle passe à l'état Estab).

La fermeture se déroule en 8 temps :

1. A envoie un FIN (elle est à l'état WAIT 1)


2. B envoie un FIN (elle est à l'état WAIT 1)
3. B reçoit le FIN (Il passe à l'état CLOSING)
4. B envoie ACK.
5. A reçoit FIN (il passe en mode CLOSING)
6. A envoie ACK
7. A reçoit ACK (il passe en mode Time wait)
8. B reçoit ACK (il passe en mode Time wait)
9. au bout de 2 temps de transmission d'un segment, la connexion est close.
Page 185 / 186 Les Réseaux Locaux Industriels
Hugues ANGELIS

Le DNS.

En "ignorant" un peu le placement des couches, au profit de la


compréhension générale de TCP/IP, il convient de parler du service DNS (Domain
Name System). Ce protocole permet d'associer un nom (ou plusieurs) à une adresse
IP. Ce service permet une dénomination plus longue mais plus compréhensible des
noms des machines. Bien que de très nombreuses "dérives" commerciales soient à
noter, ce service permet en principe de retrouver naturellement l'adresse IP de la
machine cible grâce à une machine spéciale, le serveur de DNS.

Son principe consiste pour la machine source à lancer des requêtes


vers un serveur de DNS qui lui interroge sa table interne en vue de réaliser une
traduction entre le nom donné et une adresse IP. Les noms DNS n'étant pas
centralisée sur une machine (les serveurs de DNS ne connaissent pas toutes les
machines de la planète) mais distribuée (chaque serveur de DNS ne connaît que les
machines du domaine dont il a la charge), il existe des procédures permettant de
répondre même si la machine lui est inconnue.

Les tables DNS sont des tables statiques souvent couplées à des
caches qui eux sont gérés dynamiquement (l'absence de sollicitation vers un
domaine entraîne son élimination du cache, au contraire, des sollicitations répétées
vers une machine la rendent quasi permanente).

Lorsqu'une requête portant sur un domaine inconnu arrive à un serveur,


celui ci, pour effectuer la résolution du nom, peut soit utiliser une approche récursive,
soit une approche itérative.

Formalisme DNS.

Le formalisme du nom DNS utilise des racines géographiques comme


.fr ou .de (Deutchland) ou .uk (United Kingdom), etc. Où des racines fonctionnelles
comme .mil (militaire) ou .com (commercial) ou .gov (gouvernemental) etc. Pour
servir de base à l'arbre dans lequel on va créer des domaines donnant
éventuellement accès à d'autres sous-domaines. Tous, domaines et sous-domaines
sont composés de machines qui peuvent être nommées et même surnommées. Ainsi
la machine : www.iut-cachan.u-psud.fr est en fait :
• une machine dont le nom est : www,
• placée sur le sous-domaine : iut-cachan,
• qui est lui même un élément du domaine : u-psud,
• qui est sur la racine fr.

Comme il est assez rare de donner pour nom à une machine "www", il
s'agit en fait d'un surnom qu'une machine s'est vue attribuée. On parle alors d'alias.

Mieux encore, 2 machines peuvent avoir le même nom (et même dans
certains cas, la même adresse IP) si elles ne fournissent pas les même services, par
exemple, un serveur de courrier peut avoir le même nom qu'un serveur www si tous
Les Réseaux Locaux Industriels Page 186 / 186
IUT de CACHAN

les 2 sont spécialisés et si l'on est capable de router l'information différemment en


fonction du service.

Approche itérative

Dans le cas d'une approche itérative, le serveur local qui a reçu en


premier la requête se charge (s'il ne connaît pas la cible) d'interroger un serveur
"supérieur", en "généralisant" au fur et à mesure sa recherche.

Prenons l'exemple d'une machine du domaine .iut-cachan.u-psud.fr qui


cherche à contacter la machine www.iut-velizy.uvsq.fr.
HTU UTH

• La machine lance une requête auprès de son serveur de DNS (on


l'appellera A).
• Si A ne connaît pas la machine cible, il contacte alors le serveur de DNS
du domaine supérieur, c'est à dire le serveur du domaine .u-psud.fr.
• A interroge donc le serveur DNS de ce domaine. S'il ne connaît pas la
machine cible, il transmet à A l'adresse du serveur DNS de la racine .fr.
• A interroge le serveur DNS de la racine .fr. Ce dernier, même s'il ne
connaît pas la machine cible, connaît, en revanche, le serveur DNS du
domaine .uvsq.fr. Il transmet donc l'adresse de cette machine à A.
• A interroge alors le serveur DNS du domaine .uvsq.fr, si celui-ci ne connaît
pas la machine cible, il connaît le contrôleur du domaine .iut-velizy.uvsq.fr
dont il transmet l'adresse à A.
• A interroge le contrôleur du domaine .iut-velizy.uvsq.fr qui lui retourne
l'adresse de la machine cible.

Approche récursive.

Dans une approche récursive, chaque serveur transmet la requête au


serveur du niveau supérieur et ainsi de suite.

Dans notre exemple de tout à l'heure, cela donne :

• Le serveur du domaine .iut-cachan.u-psud.fr demande au serveur


.u-psud.fr si il connaît la machine www.iut-velizy.uvsq.fr.
HTU UTH

• Le serveur du domaine .u-psud.fr transmet la demande au serveur du


domaine .fr.
• Le serveur du domaine .fr transmet la demande au serveur du domaine
.uvsq.fr.
• Le serveur du domaine .iut-velizy.uvsq.fr identifie la machine cible et
retourne au serveur .uvsq.fr l'information.
• Le serveur .uvsq.fr retourne l'information au serveur .fr et ainsi de suite
jusqu'à ce que l'information soit retournée à la machine d'origine.

Vous aimerez peut-être aussi