chapitre 10. Réseaux couches basses

publicité
Chapitre 12 : Couches Basses des Réseaux
Chapitre 12
Définitions des Métriques
Bande passante (bandwidth
(bandwidth = largeur de bande):
bande):
ligne téléphonique : plage 300 - 3300 Hz
bande passante de 3000 Hz
Ethernet 100 Mbps
Couches Basses des Réseaux
Débit (throughput
):
(throughput):
Performances utiles
Mesurées depuis l’application (la
Après déduction du surcoût (overhead)
(overhead) lié aux protocoles
Principalement du à l'ajout d'en-têtes/en-queues
Ex: ADSL BP=608 Kbps => débit = 512 Kbps
NB: Certaines parties de ce chapitre ont été empruntées à d'autres auteurs, en particulier :
M. Syska, Peterson&Davie, A. Tanenbaum.
Olivier Dalle
Intro. Réseaux et programmation sockets
Chapitre 12 : Couches Basses des Réseaux
1 Olivier Dalle
2
Chapitre 12 : Couches Basses des Réseaux
Paramètres de Performance
Bande Passante
Intro. Réseaux et programmation sockets
Paramètres de Performance
Latence : délai minimum de transmission
Dans le cas d'un message de taille minimale
Pb: aller-simple difficile à mesurer
Exprimée en Mbps
10 Mbps : 10 Millions de bits chaque seconde ou
10 Mbps : 1 bit chaque 0.1 microseconde (µ
(µs)
problème de synchro des horloges entre source et destination
En pratique, on mesure l'aller-retour (RTT = round-trip-time)
round-trip-time)
Commande « ping »
Composantes de la latence
1 Mbps : largeur de 1 µs
(a)
permittivité du conducteur
Mesure la vitesse de propagation (cuivre ~ 2E8 m/s)
1
2 Mbps : largeur de 0.5 µs
(b)
1
Fonction de la taille du paquet et de la bande passante
Délais induits par les files d'attente
(fig. Peterson&Davie)
Olivier Dalle
Temps pour transmettre une unité de donnée
Intro. Réseaux et programmation sockets
3 Olivier Dalle
Intro. Réseaux et programmation sockets
4
Chapitre 12 : Couches Basses des Réseaux
Chapitre 12 : Couches Basses des Réseaux
Paramètres de Performance
Gigue (jitter
(jitter)) introduite par le réseau
Transformation des signaux en bits
Codage des bits de façon compréhensible par les
participants à la communication
Interpacket gap
Packet
4
3
2
1
4
3
2
1
Network
source
Problèmes Visés dans les Couches Basses
Transformation des bits en trames
Packet
sink
Trame (frame)
(frame) = message de bas niveau
Pourquoi des messages ?
(fig. Peterson&Davie)
Identifier la source, la destination, ...
Pb: délimiter le début et la fin d'un message
Détection d’erreurs
Communication sans erreur (apparente)
Medium Access Control : #hosts > 2
Gigue = écart de latence
Olivier Dalle
Intro. Réseaux et programmation sockets
Chapitre 12 : Couches Basses des Réseaux
5 Olivier Dalle
Intro. Réseaux et programmation sockets
6
Chapitre 12 : Couches Basses des Réseaux
Modèle de Noeud
Modèle de Lien
Médium:
Paire croisée
Câble coaxial
Fibre optique
Air
CPU
Adaptateur
réseau
Cache
Mémoire
bornée
(Vers le réseau)
Signal
Ondes électromagnétiques
Vitesse de la lumière
I/O bus
(fig. Peterson&Davie)
Olivier Dalle
Intro. Réseaux et programmation sockets
7 Olivier Dalle
Intro. Réseaux et programmation sockets
8
Chapitre 12 : Couches Basses des Réseaux
Chapitre 12 : Couches Basses des Réseaux
Spectre Eléctromagnétique
Modems
Modulateurs-Démodulateurs
f(Hz) 10
0
2
10
10
4
6
10
Radio
8
10
10
10
10
12
14
10
Micro-ondes Infrarouge
10
16
10
UV
18
10
20
22
10
Rayon X
10
24
Signal binaire
Gamma
Modulation d'Amplitude
4
10
5
10
6
10
7
10
8
10
9
10
10
10
11
10
12
10
Satellite
13
10
14
10
15
10
16
10
Fibres optiques
Modulation de Fréquence
Coax
AM
FM
Microondes Terrestres
Modulation de Phase
TV
(fig. Tanenbaum)
(fig. Peterson&Davie)
Olivier Dalle
9 Olivier Dalle
Intro. Réseaux et programmation sockets
Chapitre 12 : Couches Basses des Réseaux
Intro. Réseaux et programmation sockets
10
Chapitre 12 : Couches Basses des Réseaux
Nombreuses Formes de Modulation...
Codages Pour Conserver la Synchronisation
On peut combiner simultanément
Différents « niveaux » de changement de phase
Différents « niveaux » de changement d'amplitude
Problème (NRZ) : synchronisation du recepteur avec (les
changements de) le signal ?
Lors des changement d'état (0/1 ou 1/0)
Pb en cas de longue séquence uniforme
Solution : combiner avec un signal d'horloge
NRZI : '1' = on change, '0' on ne change pas
Manchester : XOR du signal avec l'horloge
Mais bit rate = ½ baud rate
QPSK
QAM16
QAM64
(fig. Tanenbaum)
Olivier Dalle
Intro. Réseaux et programmation sockets
11 Olivier Dalle
Intro. Réseaux et programmation sockets
12
Chapitre 12 : Couches Basses des Réseaux
Chapitre 12 : Couches Basses des Réseaux
Codages NRZ, NRZI, Manchester
Codage 4B/5B
Que gagne-t-on en passant de NRZ à NRZI ?
Bits
0
0
1
0
1
1
1
1
0
1
0
0
0
0
1
0
L'assurance de provoquer un changement à chaque fois
qu'on transmet « 1 »
Pour resynchroniser, il suffit de se forcer à envoyer des 1 de
temps en temps
Avec NRZ, pour resynchroniser de temps en temps, il faut
se souvenir de ce qu'on a envoyé...
NRZ
Clock
Codage 4B/5B
On « gaspille » 1 bit supplémentaire tous les 4 bits
Manchester
Table de conversion : les 16 valeurs possibles sur 4 bits
sont transformées en valeurs sur 5 bits
Propriété du codage :
NRZI
Pas plus de 1 ‘0’ devant et de 2 ‘0’ derrière
(fig. Peterson&Davie)
Olivier Dalle
13 Olivier Dalle
Intro. Réseaux et programmation sockets
Chapitre 12 : Couches Basses des Réseaux
Chapitre 12 : Couches Basses des Réseaux
Codage 4B/5B
Table de Conversion
0000
0001
0010
0011
0100
0101
0110
0111
11110
01001
10100
10101
01010
01011
01110
01111
14
Intro. Réseaux et programmation sockets
Trames
L'échange des bits se fait par paquets : les trames
1000
1001
1010
1011
1100
1101
1110
1111
10010
10011
10110
10111
11010
11011
11100
11101
Bits
Noeud A Adaptateur
Adaptateur Noeud B
Trames
Et après codage 4B/5B : transmission NRZI...
Olivier Dalle
Intro. Réseaux et programmation sockets
(fig. Peterson&Davie)
15 Olivier Dalle
Intro. Réseaux et programmation sockets
16
Chapitre 12 : Couches Basses des Réseaux
Chapitre 12 : Couches Basses des Réseaux
Protocoles Orientés Octets
8
8
8
8
8
Header
Body
Protocoles Orientés Octets
16
CRC
8
8
8
16
Flag
Address
Control
Protocol
Payload
16
8
Checksum
Flag
(fig. Peterson&Davie)
(fig. Peterson&Davie)
BISYNC : Binary Synchronous Communication IBM 60’s
PPP : modem
Approche type sentinelle :
Approche type sentinelle :
Début : SYN (8 bits)
Sentinelles : SOH = Start Of Header
Payload : 1500 octets par défaut
Plusieurs tailles de champs peuvent être négociées
STX = Start Of Text
ETX = End OF Text
Par LCP (Link Control Protocol)
Problème : le caractère ETX peut être dans le texte
On le protège (escape) par un DLE (data-link escape)
Olivier Dalle
Intro. Réseaux et programmation sockets
17 Olivier Dalle
Chapitre 12 : Couches Basses des Réseaux
Intro. Réseaux et programmation sockets
Chapitre 12 : Couches Basses des Réseaux
Protocoles Orientés Bits
Protocoles Orientés Octets
8
8
8
14
Count
42
Header
Body
16
8
CRC
Beginning
sequence
DDCMP : Digital Data Communication Message Protocol
DECNET
Approche comptage d’octets :
au lieu de détecter la fin de la trame
on compte le nombre d’octets et
on l’écrit dans la trame avant le body
Problème en cas d’erreur sur le champ Count :
Erreur de trame
Intro. Réseaux et programmation sockets
16
16
Header
Body
8
Ending
CRC sequence
(fig. Peterson&Davie)
(fig. Peterson&Davie)
Olivier Dalle
18
SDLC Synchronous Data Link Control (IBM)
HDLC High-Level Data Link Control (OSI)
Début et fin étiquetés 01111110
Séquence envoyée tout le temps : même si le lien est idle
Escape bit : bit stuffing
Émetteur : si on envoie 5 ‘1’ alors on insère un ‘0’ avant le bit suivant
Récepteur : si on reçoit 5 ‘1’ alors :
le bit suivant vaut ‘0’ : on l’enlève (stuffed)
le bit suivant vaut ‘1’ : fin de trame ou erreur
si le bit suivant vaut ‘0’ alors : fin de trame
si le bit suivant vaut ‘1’ alors : erreur, attendre la prochaine
trame (01111110)
19 Olivier Dalle
Intro. Réseaux et programmation sockets
20
Chapitre 12 : Couches Basses des Réseaux
Chapitre 12 : Couches Basses des Réseaux
Protocoles Orientés Horloge
Overhead
Protocoles Orientés Horloge
Payload
STS-1
STS-1
STS-1
9 rows
Hdr
STS-3c
90 columns
(fig. Peterson&Davie)
(fig. Peterson&Davie)
1 trame SONET dure 125 s (pour tout STS-n)
STS-1 (51.84 Mbps) -> STS-48 (2488.32 Mbps)
SONET : standard américain pour les réseaux optiques.
Europe : SDH
Une trame STS-1 est longue de 810 octets,
Une trame de STS-3 est longue de 3 x 810 = 2430 octets
Trame : 9 lignes X 90 octets
3 premiers octets réservés, 87 restants pour données
2 premiers octets : début de trame
Une trame STS-3 : un octet de la trame STS-1 #1, puis un
octet de la trame STS-1 #2, puis un octet de la trame STS-1
#3, et ainsi de suite
Le récepteur attend l'en-tête tous les 810 octets
Olivier Dalle
Intro. Réseaux et programmation sockets
21 Olivier Dalle
Chapitre 12 : Couches Basses des Réseaux
Intro. Réseaux et programmation sockets
Chapitre 12 : Couches Basses des Réseaux
Détection d'Erreur
Codes détecteurs d'erreur
Hamming, Reed-Solomon, Goppa, ...
Principe : ajouter suffisamment de redondance pour
pouvoir récupérer des erreurs n'importe où
Inconvénient : toutes les transmissions sont « alourdies »
VRC, LRC : bits de parité
CRC : Cyclic Redundancy Check
Division du message par un nombre (polynome) et transmission du
reste
A destination : si la division par le même polynome tombe juste : pas
d'erreur
Intro. Réseaux et programmation sockets
Correction d'Erreur
Codes Correcteurs (et détecteurs)
Calcul sur la trame
Insertion du résultat dans la trame
Exemples :
Olivier Dalle
22
Longueur du message
Calculs lors de la réception
Protocole au niveau Lien
ACK, Timeout et retransmission après TIMEOUT:
ARQ : Automatic Repeat Request
Exemple : Stop-and-Wait
Inconvénient : récupération beaucoup plus longue
23 Olivier Dalle
Intro. Réseaux et programmation sockets
24
Chapitre 12 : Couches Basses des Réseaux
Chapitre 12 : Couches Basses des Réseaux
Stop-and-Wait
Sender
Receiver
Sender
Fram
e
Stop-and-Wait
Receiver
Scénarios possibles:
Fram
(a) ACK recu avant Timeout
(b) Trame perdue
(c) ACK perdu
(d) Timeout trop tôt
e
ACK
(a)
AC K
0
Performances ?
Fram
e
1
Hypothèses :
- lien 1.5 Mbps
- RTT = 45 ms
0
Tuyau de 67.5 Kb ou 8KB
Trame = 1KB
1
(c)
AC K
Sender
0
Receiver
Fram
e
ACK
ACK
Pour ne pas recevoir deux fois la même
trame comme pour les cas(c) et (d):
bit 0/1 alterné
Sender
Fram
e
Receiver
Fram
e
Sender
Receiver
Fram
Fram
e
e
A CK
ACK
0
1 trame par RTT seulement:
1024x8/0.045
= 182 Kbps
Fram
e
Fram
e
ACK
ACK
(b)
Comment garder le tuyau rempli?
(fig. Peterson&Davie)
(d)
(fig. Peterson&Davie)
Olivier Dalle
Intro. Réseaux et programmation sockets
25 Olivier Dalle
Chapitre 12 : Couches Basses des Réseaux
Intro. Réseaux et programmation sockets
Chapitre 12 : Couches Basses des Réseaux
Protocole à Fenêtre
Sender
26
Fenêtre Glissante
Receiver
≤SWS
■■■
Exemple 8K/1K :
■■■
LAR
Idéal : ne pas laisser de
« bulle » dans le tuyau
LFS
Émetteur :
Numérotation des trames
Last Acknowledge Received
Sliding Window Size
Last Frame Sent
LFS - LAR ≤ SWS
Càd prendre de l'avance
dans les transmissions
Envoyer 8 trames
Attendre ACK avant
d'envoyer la 9e
Récepteur :
Last Frame Received
Receive Window Size
Largest Acceptable Frame
LAF - LFR ≤ RWS
Si SeqNum ≤ LFR ou SeqNum > LAF
Alors Frame discarded
≤RWS
Algorithme de Fenêtre
Glissante (sliding
(sliding window)
window)
■■■
(fig. Peterson&Davie)
■■■
LFR
LAF
(fig. Peterson&Davie)
Olivier Dalle
Intro. Réseaux et programmation sockets
27 Olivier Dalle
Intro. Réseaux et programmation sockets
28
Chapitre 12 : Couches Basses des Réseaux
Chapitre 12 : Couches Basses des Réseaux
Attribution du Canal dans les Réseaux LAN/MAN
Le problème
Protocoles d'Accès Multiple
ALOHA
CSMA (Carrier Sense Multiple Access)
Plusieurs stations
Un seul canal
Possibilité de collision
Puis variantes selon
CSMA-CD : Ethernet
Protocoles sans collision
Protocoles à contention restreinte
Protocoles d'accès multiple par division de longueur
d'onde
Protocoles réseaux sans fils
Gestion du temps des accès
Modèle continu
Modèle TDM
Capacité de détecter la porteuse (retour du signal)
Avec (carrier
(carrier sense)
sense)
Sans
Olivier Dalle
Intro. Réseaux et programmation sockets
29 Olivier Dalle
Chapitre 12 : Couches Basses des Réseaux
Intro. Réseaux et programmation sockets
30
Chapitre 12 : Couches Basses des Réseaux
ALOHA Pur
ALOHA Pur
(fig. Tanenbaum)
Dans ALOHA pur, les trames sont transmises à des instants arbitraitres
Olivier Dalle
Intro. Réseaux et programmation sockets
(fig. Tanenbaum)
31 Olivier Dalle
Période de vulnérabilité de la trame grisée
Intro. Réseaux et programmation sockets
32
Chapitre 12 : Couches Basses des Réseaux
Chapitre 12 : Couches Basses des Réseaux
Dérivés de ALOHA
Rendement Comparé des Variantes de CSMA
Slotted ALOHA (ALOHA discrétisé)
y=x
Découpage du temps en tranches : les émissions ne
peuvent pas être à cheval sur deux tranches
CSMA : Carrier Sense = écouter avant de « parler » !
CSMA persistant
Ecoute continue, transmission dès qu'un silence est détecté
CSMA non persistant
Dès qu'une station entend le réseau occupé, elle s'endort
pour un délai aléatoire
CSMA p-persistant
Temps discret (idem ALOHA slotted)
probabilité p d'émettre si libre (ou 1-p d'attendre slot suivant)
Olivier Dalle
(fig. Tanenbaum)
Rendement = nb moyen de tentatives réussies / nb moyen de tentatives
33 Olivier Dalle
Intro. Réseaux et programmation sockets
Chapitre 12 : Couches Basses des Réseaux
Intro. Réseaux et programmation sockets
34
Chapitre 12 : Couches Basses des Réseaux
CSMA-CD
Carrier Sense Multiple Access with Collision Detection
Protocoles Sans Collision
Des périodes sont prévues pour régler les litiges
Lors d'une collision, les trames se mélangent
Contention = dispute, litige
Résultat incompréhensible
Donc facile à repérer !
Principe : arrêter immédiatement la transmission en cas de
détection de collision
Le réseau peut être dans 3 états
Silence
Occupé sans collision
Occupé par une collision
(fig. Tanenbaum)
Protocole élémentaire basé sur un bit-map.
C'est le protocole utilisé par Ethernet...
Olivier Dalle
Intro. Réseaux et programmation sockets
35 Olivier Dalle
Intro. Réseaux et programmation sockets
36
Chapitre 12 : Couches Basses des Réseaux
Chapitre 12 : Couches Basses des Réseaux
Ethernet
Développé par Xerox dans les années 70
Standard IEEE 802.3 en 1985
Ethernet = ensemble de protocoles (niveaux 1 et 2)
La sous-couche MAC de Ethernet
Un format de trame
DIX
Plusieurs type de câblages
Plusieurs topologies
802.3
Des « domaines de collisions » CSMA-CD
Via des répéteurs, hubs, commutateurs, ...
Plusieurs débits, dont 10, 100 et 1000 Mbps
(fig. Tanenbaum)
Olivier Dalle
Intro. Réseaux et programmation sockets
37 Olivier Dalle
Chapitre 12 : Couches Basses des Réseaux
Switch Ethernet vs. Hub Ethernet
Un Hub répète tout (y compris les collisions)
Même domaine de collisions
Un switch ne répète que le nécessaire
Différents domaines de collisions
Full duplex possible
(si liaison point-à-point)
(fig. Tanenbaum)
Olivier Dalle
Intro. Réseaux et programmation sockets
39
Intro. Réseaux et programmation sockets
38
Téléchargement