Académique Documents
Professionnel Documents
Culture Documents
« Principes et architecture
des réseaux »
Ismail BENNIS
ismail.bennis@eigsi.fr
2021-2022
1
Principes et architecture des réseaux
Objectifs
- Architecture de l’Internet
- Les besoins pour l’architecture de l’Internet
- Topologies de réseaux
- Modèles en couches OSI et TCP/IP
- Principes d’encapsulations
- Analyse des protocoles associés
Organisation
• Répartition : 6h CM, 6h TD et 6h TP
• Evaluation : QCM + CR TP
2
Principes et architecture des réseaux
Plan
I - Les besoins pour l’architecture de l’internet
II - Structuration en couches des communications
III - Couche application
IV - Couche transport
V - Couche réseau
VI - Couche liaison de données
VII- Couche physique
3
I – Introduction
▪ Qu’est ce qu’un réseau ?
✓ Interconnexion des entités communiquant entre elles
▪ Exemple de réseaux :
✓ Réseaux GSM, réseaux locaux …
▪ Architecture de réseaux :
✓ Clients et serveurs / peer to peer
▪ Classification des réseaux informatique :
✓ LAN (Local area Network): les réseaux locaux relient les ordinateurs
d’un particulier, d’un bâtiment, d’une entreprise.
✓ MAN (Metropolian Area Network) : les réseaux métropolitains relient
les ordinateurs à l’échelle d’une ville.
✓ WAN (Wide Area Network) : les réseaux étendus relient les ordinateurs
distants de centaines ou milliers de kilomètres ➔ Internet
4
I – Introduction
▪ Composants d’un réseau LAN
Terminaux : PC, imprimante, serveur …
6
I – Les besoins pour l’architecture de l’internet
I – 1 Tolérance aux pannes
L’architecture réseau d’internet doit être conçue et élaborée pour
tolérer les pannes, afin de :
- limiter l’impact des pannes du matériel et des logiciels
- rétablir rapidement le fonctionnement quand des pannes se
produisent
7
I – Les besoins pour l’architecture de l’internet
8
I – Les besoins pour l’architecture de l’internet
Le besoin en tolérance aux pannes a fait évoluer le type de transport
des messages, et notamment le type de commutation :
9
I – Les besoins pour l’architecture de l’internet
10
I – Les besoins pour l’architecture de l’internet
11
I – Les besoins pour l’architecture de l’internet
Commutation de paquets sans connexion :
✓ message décomposé en plein blocs de message, appelés paquets
✓ les paquets envoyés sur le réseau peuvent emprunter différents
chemins entre la source et le destinataire des messages
✓ aucun circuit réservé ni établi entre l’émetteur et le destinataire :
chaque paquet est envoyé de façon indépendante, sans connexion
✓ à chaque intersection (routeur), une décision de routage est prise
pour déterminer dynamiquement le meilleur chemin (modification
de chemin si congestion, si lien passe HS, …)
12
I – Les besoins pour l’architecture de l’internet
13
I – Les besoins pour l’architecture de l’internet
Avantage : +inutile de réserver un circuit unique de bout en bout
+plus de problème des circuits sous-exploités ou
inactifs
+permet d’utiliser dynamiquement les chemins
redondants sans intervention de l’utilisateur
➔ facilité d’extension (évolutivité) et tolérance aux
pannes
Inconvénient : - besoin de contrôler la qualité de service (QoS) pour
s’assurer que les trafics les plus "sensibles" soient
bien traités : prioriser certains flux temps réel
(streaming live) par rapport à d’autres (HTTP…)
14
I – Les besoins pour l’architecture de l’internet
I – 2 Evolutivité
▪ Un réseau évolutif (extensible facilement) permet de prendre en
charge de nouveaux utilisateurs et applications sans que ceci
n’affecte les performances du service fourni aux utilisateurs
existants.
15
I – Les besoins pour l’architecture de l’internet
16
I – Les besoins pour l’architecture de l’internet
Internet est un réseau évolutif grâce à sa structure : c’est un réseau de
réseaux.
Architecture de l’internet :
✓ ISP = Internet Services Provider (FAI = Fournisseurs d’Accès Internet)
de niveau 1 : au cœur d’Internet, les FAI de niveau 1 assurent les
connexions nationales et internationales. Ils se traitent d’égal à égal.
17
I – Les besoins pour l’architecture de l’internet
✓ Les ISP de niveau 2 sont moins importants et fournissent souvent des
services régionaux. Ils rémunèrent généralement les ISP de niveau 1
pour être connectés au reste d’Internet.
18
I – Les besoins pour l’architecture de l’internet
✓ Les ISP de niveau 3 sont les fournisseurs de services locaux en
contact direct avec les utilisateurs finaux. Ils sont généralement
connectés à des ISP de niveau 2 qu’ils rémunèrent pour avoir accès à
Internet.
19
I – Les besoins pour l’architecture de l’internet
L’évolutivité d’Internet vient du fait que c’est un réseau hiérarchique.
✓ Exemple : le système de noms de domaine (DNS) fournit un
répertoire hiérarchisé d’adresses (un même serveur n’est pas obligé
de conserver la liste exhaustive des millions d’adresses).
20
I – Les besoins pour l’architecture de l’internet
✓ La fiabilité d’Internet vient du fait que c’est un réseau distribué : les
communications peuvent contourner les goulots d’étranglement et
les interruptions de service
➔ Internet est ainsi un réseau évolutif et fiable.
21
I – Les besoins pour l’architecture de l’internet
I – 3 Qualité de service (QoS)
▪ Réseau convergent : réseau unique intégrant à la fois le transport :
▪ des données informatiques traditionnelles
▪ des données audio, vidéo de communications en temps réel.
▪ Quality of Service (QoS) : capacité à transporter dans de bonnes
conditions un type de trafic donné (audio, vidéo,…)
▪ Mesurée avec des métriques : disponibilité, débit, délais de
transmission, gigue, taux de perte de paquets…
▪ Traduire les exigences en terme de QoS dans la conception et les
architectures réseaux : donner un niveau de priorité différent selon
les types de messages :
✓ classification des applications en différentes catégories
✓ attribution de niveaux de priorité à chaque catégorie
22
I – Les besoins pour l’architecture de l’internet
✓ Hiérarchisation des communications : la mise en file d’attente en
fonction du type de données permet de donner la priorité aux
données voix par rapport aux données de transactions, elles-mêmes
prioritaires par rapport aux données web :
23
I – Les besoins pour l’architecture de l’internet
I – 4 Sécurité
De nombreux outils et procédures sont implémentés pour combattre les
failles de sécurité inhérentes à l’architecture réseau et au contenu
transporté.
24
I – Les besoins pour l’architecture de l’internet
▪ Conséquences d’une violation de la sécurité d’un réseau :
✓ pannes du réseau ➔ perte d’activité
✓ vol d’éléments de propriété intellectuelle
✓ perte de confiance : capacité de l’entreprise à assurer les niveaux
de confidentialité et d’intégrité requis
▪ Deux points doivent être pris en considération pour la sécurité :
✓ sécuriser l’infrastructure réseau : sécuriser matériellement les
périphériques réseau et empêcher tout accès non autorisé aux
logiciels de gestion de ces périphériques
✓ sécuriser le contenu : protéger les informations contenues dans les
messages transmis sur le réseau ainsi que les informations stockées
sur des périphériques reliés au réseau.
25
I – Les besoins pour l’architecture de l’internet
▪ Les mesures de sécurité prises sur un réseau doivent :
✓ assurer la confidentialité des données
✓ garantir l’intégrité des données
✓ assurer la disponibilité des données
26
I – Les besoins pour l’architecture de l’internet
Pour garantir l’intégrité des données et de la source :
✓ les infos ne doivent pas être modifiées lors de leur transmission
vérifier que l’identité de l’expéditeur a été validée.
✓ L’utilisation de signatures numériques, d'algorithmes de hachage et de
mécanismes de somme de contrôle contribuent à assurer l’intégrité de
la source et des données afin de prévenir toute modification non
autorisée.
Pour assurer la disponibilité des données :
✓ veiller à ce que les utilisateurs autorisés puissent accéder en temps
voulu et de façon fiable aux services de données
✓ Les périphériques de pare-feu (firewall) et les logiciels anti-virus
peuvent assurer la fiabilité et la robustesse des systèmes afin de
détecter, empêcher ou faire face à des attaques (ex. attaque par déni
de service ou de propagation d’un virus informatique)
27
Principes et architecture des réseaux
Plan
I - Les besoins pour l’architecture de l’internet
II - Structuration en couches des communications
III - Couche application
IV - Couche transport
V - Couche réseau
VI - Couche liaison de données
VII- Couche physique
28
II – Structuration en couches
▪ Chronologie simpliste d’une communication entre 2 hôtes :
A B
➔Approche en couche
➔Utilisation de différents protocoles,
implémentés dans le logiciel et le
matériel des utilisateurs
➔L'interaction entre les protocoles est
organisée en une hiérarchie, appelée
pile ou modèle en couches
30
II – Structuration en couches
▪ Approche en couche : analogie avec une fusée !
31
II – Structuration en couches
▪ Les rôles de chaque couche sont définis par des protocoles décrivant leur
fonctionnement
▪ Chaque protocole de niveau supérieur dépend des services des protocoles
présents au niveau inférieur : permet de bien définir l'interaction entre les
protocoles des couches supérieures et inférieures
Avantages d’un modèle en couches :
✓ Eviter que des changements technologiques ou fonctionnels dans une
couche se répercutent sur d'autres couches, supérieures et inférieures
✓ Fournit un langage commun pour décrire des fonctionnalités du réseau.
✓ Favorise la concurrence entre des produits de différents fournisseurs
Deux modèle en couches :
✓ Modèle TCP/IP (1970) : le 1er modèle de référence en couches pour
communications inter-réseaux ; 4 couches
✓ Modèle OSI (1984) : principal modèle de référence ; 7 couches
32
II – Structuration en couches
II – 1 Modèle TCP/IP
TCP/IP (Transmission Control Protocol / Internet Protocol) : 4 couches
Application Application
Transport Transport
Internet Internet
Accès Accès
réseau réseau
Internet
34
II – Structuration en couches
Envoi d’un message sur un réseau : la pile de protocoles sur un serveur
fonctionne de haut en bas.
Ex: réponse d’un serveur web à la demande sur le port 80 d’une page
web par le navigateur d’un client :
35
II – Structuration en couches
Le serveur effectue un processus d’encapsulation pour envoyer la page Web:
✓ les données d’application web (protocoles HTTP, données HTML)
sont fournies à la pile de protocoles de la couche application
✓ les données d'application sont transmises à la couche transport,
scindées et encapsulées en segments TCP. Un en-tête contenant un
port source et un port de destination est attribué au segment TCP
✓ le segment TCP est envoyé à la couche Internet qui l’encapsule dans
un paquet IP dont l’en-tête IP contient les @ IP src. et de dest.
✓ le paquet IP est envoyé au protocole Ethernet de la couche accès
réseau, ou il est encapsulé dans une trame Ethernet, entre une en-
tête de trame (contient les @ MAC src. et dest.) et une queue de
trame (infos de vérification d’erreurs binaires).
✓ Enfin, les bits sont codés sur les supports physiques (fibre ou cuivre)
par la carte réseau du serveur.
36
II – Structuration en couches
Lors de la réception de messages par le client, la pile de protocoles sur
l’hôte fonctionne en sens inverse, de bas en haut. Le processus de
réception de la page Web va devoir effectuer une désencapsulation du
message afin de récupérer les données d’application.
37
II – Structuration en couches
Processus de désencapsulation du message :
✓ couche accès réseau : les bits reçus par la carte réseau sont
décodés; la trame Ethernet est reformée; si l’@ MAC de dest est
celle du client, l'en-tête Ethernet de la trame (@ MAC src et dest) et
la queue de trame sont supprimés (désencapsulation) afin d’isoler le
paquet IP contenu qui est alors transmis à la couche supérieure
✓ couche Internet (IP) : l'en-tête du paquet IP (@ IP src et dest) est
supprimé (désencapsulation) ; le contenu restant correspond au
segment TCP qui est transmis à la couche supérieure
✓ couche transport : l'en-tête du segment TCP (ports src et dest) est
supprimé (désencapsulation) ; les contenus restants, correspondant
aux données d’application pour la page Web, sont réassemblés et
transmis à la couche supérieure
✓ couche application : l'application de navigation via HTTP exploite les
données application reçues pour afficher la page Web.
38
II – Structuration en couches
Importance du processus d’encapsulation :
✓ Quelque soit la couche, un bloc de données est appelé PDU =
Protocol Data Unit (Unité de Données de Protocole).
✓ Au cours de l’encapsulation, chaque couche inférieure encapsule le
PDU qu’elle reçoit de la couche supérieure en respectant le protocole
en cours d’utilisation. Les PDU portent des noms différents en
fonction de la couche et des protocoles de la suite TCP/IP :
Nom PDU Couche TCP/IP Particularités
Données application terme général pour toute donnée d’application
39
II – Structuration en couches
40
II – Structuration en couches
41
II – Structuration en couches
Quizz : faire correspondre les termes
avec la couche appropriée
segment HTML VDSL couche
application
IMAP UDP SMTP Bit
www.wooclap.com/EIGSI22 42
II – Structuration en couches
II – 2 Modèle OSI
Modèle OSI (Open Systems Interconnection) :
✓ conçu par l‘IOS (International Organization for Standardization)
✓ plus détaillé, plus précis et plus récent que le modèle TCP/IP
✓ comprend 7 couches (au lieu de 4 pour TCP/IP)
✓ comme TCP/IP : fournit une liste exhaustive de fonctions et de
services qui peuvent intervenir à chaque couche, et décrit
l’interaction de chaque couche avec les couches directement
supérieures et inférieures.
NB : le modèle TCP/IP, déjà bien implanté lors de la définition du modèle
OSI, reste très présent
43
II – Structuration en couches
OSI (Open Systems Interconnection) : 7 couches
permet d’obtenir une connectivité de bout en bout entre des individus dans
7. Application le réseau humain à l’aide de réseaux de données
fournit des services pour échanger les parties de données sur le réseau
3. Réseau entre des périphériques finaux identifiés
Émetteur Destinataire
45
II – Structuration en couches
II – 3 Comparaison des modèle OSI et TCP/IP
Principales
ressemblances :
les couches 3 et 4
(Transport et Réseau)
46
II – Structuration en couches
II – 3 Comparaison des modèle OSI et TCP/IP
47
II – Structuration en couches
II – 3 Comparaison des modèle OSI et TCP/IP
TCP/IP :
✓ le 1er modèle, déjà en phase d’exploitation, intuitif, adaptable à la plus
part des supports physiques
✓Au niveau de l'implémentation, TCP/IP est beaucoup plus adapté et
efficace
OSI :
✓modèle plus rigoureux, trop détaillé, principalement utilisé dans la
conception
✓finalement été jugé trop complet et trop complexe. La distance entre
l'utilisation (l'implémentation) et le modèle étant parfois importante. Peu
de programmes peuvent utiliser ou utilisent mal l'ensemble des 7 couches
du modèle
48
II – Structuration en couches
II – 4 Acheminement des données entre hôtes
▪ Plusieurs identificateurs et types d’adresses doivent être inclus pour
acheminer correctement les données depuis une application source à
l’application de destination exécutée sur l’hôte destinataire.
▪ Les différents identificateurs et @ nécessaires à chaque couche OSI :
✓ adresses physiques de l’émetteur et du destinataire
✓ adresses logiques de l’émetteur et du destinataire
✓ N° de port source et de destination pour identifier les services ou
applications à l’origine et destinataire de ce message
49
Principes et architecture des réseaux
Plan
I - Les besoins pour l’architecture de l’internet
II - Structuration en couches des communications
III - Couche application
IV - Couche transport
V - Couche réseau
VI - Couche liaison de données
VII- Couche physique
51
III – Couche application
52
III – Couche application
La couche application historiquement créée dans le modèle TCP/IP
(1970) a été redivisée en 3 couches dans le modèle OSI (1984), afin de
mieux répartir les tâches, du fait de la complexification des systèmes
informatiques et de l’augmentation des fonctions nécessaires.
Ex : dans les années 70, il n’y avait pas de cartes graphiques dédiées sur
un PC, il n’y avait pas de normes codecs vidéo, …
Couche 7 - Application :
✓ Couche supérieure du modèle OSI (et TCP/IP). Elle sert d’interface
entre les applications et le réseau sous-jacent via lequel les
messages sont transmis.
✓ Les protocoles de couche application sont utilisés pour échanger des
données entre les programmes s’exécutant sur les hôtes source et de
destination.
53
III – Couche application
Couche 6 - Présentation : remplit trois fonctions principales :
✓ codage et conversion des données de la couche application afin que
les données issues du périphérique source puissent être interprétées
par l’application appropriée sur le périphérique de destination
✓ compression des données afin de diminuer la quantité de données à
transmettre ; elles seront décompressées par le destinataire
✓ chiffrement des données pour assurer leur confidentialité et
intégrité ; elles seront déchiffrées par le périphérique de destination.
Exemples :
- normes utilisées pour la vidéo et les graphiques :
- normes de vidéo (QuickTime, MPEG,…)
- formats d’image graphique (GIF, JPEG, TIFF,…)
- codage : UTF-8, ASCI, …
54
III – Couche application
Couche 5 - Session :
✓ Les fonctions s’exécutant au niveau de cette couche permettent un
dialogue entre les applications source et de destination.
✓ La couche session traite l’échange des informations pour initier et
maintenir un dialogue entre 2 machines distantes, et pour
redémarrer les sessions interrompues ou inactives pendant une
longue période.
55
Principes et architecture des réseaux
Plan
I - Les besoins pour l’architecture de l’internet
II - Structuration en couches des communications
III - Couche application
IV - Couche transport
V - Couche réseau
VI - Couche liaison de données
VII- Couche physique
57
IV – Couche transport
Le processus décrit dans la couche 4 (Transport) accepte des données
provenant de la couche application et les prépare pour les adresser à la
couche réseau.
Fonctions de la couche 4 Transport :
✓ responsable du transfert de bout en bout des données
d’application.
✓ permet à de nombreuses applications de communiquer sur le réseau
au même moment, sur un même périphérique
✓ permet de vérifier si nécessaire que toutes les données sont reçues
de façon fiable et dans l’ordre par l’application voulue.
✓ utilise des mécanismes de gestion des erreurs
58
IV – Couche transport
59
IV – Couche transport
IV – 1 Rôles de la couche transport
La couche transport a plusieurs rôles :
1) Segmentation des données applications en blocs adaptés aux
protocoles de transmission utilisés aux couches inférieures
2) Identifier les différentes applications dans le cas de
communications simultanées
3) Proposer différents options de modes de transport selon les
besoins
60
IV – Couche transport
IV – 1.1 Segmentation des données
Les données applications doivent être préparées pour être expédiées
sur le support sous forme de blocs faciles à gérer, afin d’être adaptés
aux protocoles de transmission utilisés aux couches inférieures.
Segmentation des données en blocs : la plupart des réseaux limitent la
quantité de données pouvant être incluses dans une unité de données
de protocole (PDU) :
✓ la couche transport segmente (divise) les données d’application à
envoyer en plusieurs blocs de données d’une taille adéquate
standardisée
✓ les protocoles de cette couche gèrent l’encapsulation de chaque bloc
de données en lui ajoutant l’en-tête afin indiquer quel est le N° du
bloc, à quelle communication il est associé, …
61
IV – Couche transport
Reconstitution des blocs :
✓ En réception, les blocs de données individuels reçus sont
réassemblés pour recréer le flux de données applications complet
qui va alors être livré à la couche application.
✓ Rq : les blocs peuvent parfois emprunter des chemins différents sur
Internet, (commutation de paquets et non de circuits !). il est donc
possible qu’ils arrivent chez le destinataire dans le désordre
✓ Si besoin, les protocoles de la couche transport peuvent utiliser des
informations d’en-tête de la couche transport (N° de bloc) pour
réassembler les blocs de données dans le bon ordre.
62
IV – Couche transport
IV – 1.2 Identification des applications
La couche transport doit gérer les nombreux flux de communication
entre différentes applications hébergées sur des hôtes distants.
L’identification des applications doit permettre un multiplexage de
plusieurs communications simultanées entre différentes applications et
le suivi de ces conversations individuelles.
✓ la couche transport affecte un identificateur unique à chaque
application ou processus logiciel, appelé N° de port. Ce N° de port
est inclus dans l’en-tête de la couche transport.
64
IV – Couche transport
65
IV – Couche transport
Définition : on appelle interface de connexion (socket) l’ensemble
formé par :
✓ le type de transport choisi (selon besoins en fiabilité, rapidité…)
✓ le N° de port de la couche transport
✓ l’@ IP de la couche réseau affectée à l’hôte
➔ Une paire d’interfaces de connexion permet d’identifier de façon
unique une conversation entre deux hôtes ou un processus précis
s’exécutant sur un périphérique hôte spécifique.
Ex: - la requête de page Web HTTP envoyée à un serveur Web (port 80)
s’exécutant sur une machine d’@ IPv4 (couche 3) 192.168.1.20 sera
destinée à l’interface de connexion 192.168.1.20:80
- le navigateur Web de l’hôte 192.168.100.48 demande une page
Web et le N° de port source dynamiquement affecté au navigateur
Web est 49152 ; l’interface de connexion à laquelle le serveur web
devra répondre sera 192.168.100.48:49152
66
IV – Couche transport
Adressage des ports :
L'Internet Assigned Numbers Authority (IANA) est une agence de
normalisation responsable de l’affectation de diverses normes
d’adressage, qui attribue notamment les numéros de ports.
Il existe différents types de numéros de ports :
✓ Ports réservés
✓ Ports inscrits
✓ Ports privés ou dynamiques
67
IV – Couche transport
✓ Ports réservés (N° 0 à 1023) : réservés à des services standards ; ex:
HTTP (serveur Web), IMAP/SMTP (serveur messagerie)..etc. Les
applications clientes sont programmées pour se connecter à ce port
précis et au service qui lui est associé.
✓ Ports inscrits (N° 1024 à 49151) : «ports enregistrés » : Ils sont
attribués par l'IANA pour le service spécifique à la suite d'une
demande de l'entité. Ils sont affectés à des processus ou applications
d’utilisateurs différentes des applications courantes.
✓ Ports privés ou dynamiques (N° 49152 à 65535) : généralement
affectés de façon dynamique à des applications clientes lorsqu’une
connexion est initiée
68
IV – Couche transport
IV – 1.3 Options de transports selon les besoins
Applications avec besoins différents ➔ différents protocoles de transport
Besoins spécifiques imposant des modes de transport différents :
✓ acheminement fiable? (aucune perte tolérée ?)
➔ conversations avec connexion (établissement d’une session) ; suivi des
communications entre les applications source et de destination
✓ besoin d’un contrôle de flux / de débit ?
➔ contrôle de la transmission + ou - important selon stabilité de la liaison
✓ les PDU couche 4 doivent être livrés à l’application dans l’ordre ?
➔ numérotation des PDU pour les remettre dans l’ordre s’ils sont arrivés
dans le désordre (reconstruction ordonnée des données)
Deux protocoles sont utilisés au niveau de cette couche :
✓ TCP (Transmission Control Protocol)
✓ UDP (User Datagram Protocol)
70
IV – Couche transport
71
IV – Couche transport
IV – 2 Protocole TCP : communications fiables
✓ protocole avec connexion (mode connecté) : impose une surcharge
de trafic pour accroître ses fonctionnalités (livraison dans l’ordre,
acheminement fiable, contrôle du flux)
✓ les PDU TCP sont appelés des segments.
✓ utilisé pour navigation Web, courriel, transfert de fichiers …
✓ en-tête : 20 octets (UDP : 8 octets seulement)
72
IV – Couche transport
▪ N° de port src : port relatif à l’application en cours sur la machine src
▪ N° de port de dst : port relatif à l’application en cours sur la machine
de destination.
▪ N° d’ordre / N° de séquence : N° du 1er octet du segment à envoyer
▪ N° de reçu / N° d'acquittement : N° du prochain octet attendu par le
destinataire
▪ longueur d’en-tête (offset) : taille de l’en-tête du segment (en oct)
▪ Indicateurs / Flags : utilisés dans la gestion de la session et le
traitement des segments
▪ taille de la fenêtre : valeur de la fenêtre dynamique (combien
d’octets peuvent être envoyés avant d’attendre le reçu)
▪ somme de contrôle TCP : utilisé pour contrôler les erreurs d’en-tête
et de données
▪ pointeur d’urgence : uniquement utilisé avec un indicateur URG
▪ données : données d’application
73
IV – Couche transport
Utilisation dans l’en-tête TCP de 6 champs de 1 bit appelés des
indicateurs (flags) : informations de contrôle, qui vont servir à initier et
mettre fin aux sessions TCP :
▪ ACK : signale que le paquet est un accusé de réception
(acknowledgement)
▪ SYN : demande de synchronisation ou établissement de connexion
▪ FIN : demande la fin de la connexion
▪ PSH : indique au récepteur de délivrer les données à l’application et
de ne pas attendre le remplissage des tampons.
▪ RST : réinitialisation de la connexion
▪ URG : signale la présence de données urgentes
74
IV – Couche transport
75
IV – Couche transport
Grâce aux informations contenues dans les en-têtes, TCP permet :
76
IV – Couche transport
IV – 2.1 N° de ports TCP pour identifier les applications
TCP utilise des N° de ports dans les requêtes et les réponses :
Ex : Requête de clients auprès d’un serveur :
77
IV – Couche transport
Réponse du serveur aux clients :
78
IV – Couche transport
IV – 2.2 Etablissement et fermeture
d’une connexion TCP
Etapes pour communication entre 2 hôtes avec TCP :
1. Établissement au préalable d’une connexion TCP en 3 étapes
(Three-way handshake)
2. Échange de données entre les 2 hôtes
3. Fermeture de la connexion TCP (4 étapes)
79
IV – Couche transport
Etablissement d’une connexion TCP : Ouverture passive coté serveur,
ouverture active en 3 temps coté client
81
IV – Couche transport
Établissement d’une connexion TCP : Description
N° d’étape
1 A envoie une requête SYN à B
2 B envoie une réponse ACK et une requête SYN à A
3 A envoie une réponse ACK à B
82
IV – Couche transport
Fermeture d’une connexion TCP en 4 étapes
84
IV – Couche transport
Fermeture d’une connexion TCP en 4 étapes (4 way handshake) :
1. Quand le client n’a plus de données à envoyer, il envoie un segment
avec l’indicateurs FIN activé.
2. Le serveur envoie un segment ACK comme accusé de réception du
segment FIN => la session du client au serveur est fermée
3. Le serveur envoie un segment avec FIN activé au client pour
demander la fermeture de la session du serveur au client.
4. Le client répond à l’aide d’un segment ACK pour accuser réception du
segment FIN => la session du serveur au client est fermée.
85
IV – Couche transport
Établissement d’une connexion TCP : Description
N° d’étape
1 A envoie une requête FIN à B
2 B envoie une réponse ACK à A
3 B envoie une requête FIN à A
4 A envoie une réponse ACK à B
86
IV – Couche transport
IV – 2.3 Réordonnancement des segments TCP
Lors de la transmission des données pendant une session TCP, le N°
d’ordre est incrémenté du nombre d’octets ayant été transmis.
Cela permet d’identifier chaque segment et d’en accuser la réception
individuellement. Il est ainsi possible :
✓ d’identifier les segments manquants
✓ de réordonnancer les segments reçus afin de réassembler
correctement les données applications : le récepteur place les
données d’un segment dans une mémoire tampon et remet dans
l’ordre les segments avant de les transmettre à la couche application.
87
IV – Couche transport
88
IV – Couche transport
89
IV – Couche transport
N° de séquence et N° d'acquittement
90
IV – Couche transport
IV – 2.4 fenêtre TCP et contrôle de flux
Taille de fenêtre : ce champ dans l’en-tête TCP précise la quantité de
données pouvant être transmise avant qu’il ne soit nécessaire de
recevoir un reçu (ACK).
Une fois que l’émetteur a transmis la quantité d’octets définie par la
taille de la fenêtre, il attend l’accusé de réception (avant de transmettre
les données suivantes).
91
IV – Couche transport
✓ La taille de fenêtre détermine le nombre d’octets envoyées avant qu’un reçu (ACK)
ne soit attendu
✓ Le numéro de reçu est le même que le numéro du prochain octet attendu
92
IV – Couche transport
Traitement des pertes de segments :
✓ Si un ou plusieurs segments sont manquants, le récepteur considère
qu’il n’a reçu que les données jusqu’au 1er octet manquant ; tout ce
qui est après nécessitera une réémission des données à partir de cet
endroit.
✓ Ex : un hôte reçoit les segments dont les N° d’ordre vont de 1500 à
3000 et de 3400 à 3500 => le N° du reçu renvoyé sera 3001 (car il
manque les segments 3001 à 3399).
93
IV – Couche transport
✓ La fiabilité des transmissions TCP repose aussi sur le contrôle du flux
(rythme d’émission) des données à l’aide de tailles de fenêtres
dynamiques : quand la perte de données est trop fréquente, le
protocole TCP peut réduire la taille de fenêtre afin d’imposer l’envoi
plus fréquent d’acquittement.
94
IV – Couche transport
Encombrement TCP et contrôle de flux :
95
IV – Couche transport
▪ Examinons une séquence TCP avec Wireshark :
96
IV – Couche transport
97
IV – Couche transport
98
IV – Couche transport
IV – 3 Protocole UDP : faible surcharge
✓ protocole simple, sans connexion
✓ peu de surcharge pour l’acheminement des données : en-tête UDP
réduit à 8 octets
✓ PDU UDP appelé datagrammes
✓ datagrammes envoyés «au mieux», sans garantie : pas de
mécanismes de retransmission, ni séquençage, ni contrôle de flux.
NB : ces fonctions devront être implémentées en couche supérieure
(5, 6, …) le cas échéant si besoin d’améliorer la fiabilité
✓ utilisé par services DNS, DHCP, TFTP, …, routage, applis temps réel …
100
IV – Couche transport
IV – 3.1 N° de ports UDP pour identifier les applications
✓ Utilisation de N° de ports comme avec TCP
✓ UDP ne créant pas de session, dès que les données sont prêtes à
envoyer, le datagramme est créé puis transféré à la couche réseau
101
IV – Couche transport
IV – 3.2 Réassemblage des datagrammes UDP
✓ Pas de suivi des N° d’ordre avec UDP (contrairement à TCP )
✓ UDP se contente de réassembler les données dans l’ordre reçu, puis
les transmet à l’application
102
IV – Couche transport
✓ Certaines applications peuvent utiliser TCP ou UDP :
Ex: DNS utilise préférentiellement UDP pour des échanges de faible
taille et TCP pour des transferts plus volumineux.
✓ On peut utiliser l’utilitaire netstat ou ss pour vérifier les connexions
TCP et UDP actives ouvertes et s’exécutant sur un hôte en listant :
o les ports actifs et le protocole de transport associé
o les adresses et les N° de port locaux et distants
o l’état des connexions TCP
✓ Les connexions TCP inexpliquées peuvent poser un risque de
sécurité majeur. Elles peuvent en effet signaler que quelque chose ou
quelqu’un est connecté à l’hôte local.
✓ Les connexions TCP inutiles consomment des ressources système
importantes et ralentissent donc les performances de l’hôte.
103
IV – Couche transport
protocole utilisé
Port source Etat de la connexion
Adresse ou nom
Port de destination
de l’hôte distant
104
Principes et architecture des réseaux
Plan
I - Les besoins pour l’architecture de l’internet
II - Structuration en couches des communications
III - Couche application
IV - Couche transport
V - Couche réseau
VI - Couche liaison de données
VII- Couche physique
105
V – Couche réseau
V – 1 Généralités sur la couche réseau
106
V – Couche réseau
Quatre fonctionnalités de base effectués par la couche réseau :
✓ Adressage unique des périphériques finaux
✓ Encapsulation des PDU de la couche 4 ; les paquets (PDU de la
couche réseau) ont dans leur en-tête les @ IP hôtes src et dest. ; les
paquets sont ensuite transmis à la couche liaison de données (2).
✓ Routage des paquets vers leur destination ; les routeurs
déterminent la meilleure route en consultant leur table de routage.
✓ Désencapsulation : quand le paquet arrive à destination, la couche 3
de l’hôte examine l’@ de destination pour vérifier que le paquet est
bien adressé à ce périphérique. Si l’@ IP est correcte, le paquet est
désencapsulé (suppression en-tête IP), et le PDU de la couche 4
contenue dans le paquet est remonté au service approprié (TCP,
UDP…) de la couche transport
107
V – Couche réseau
Processus d’émission et réception d’un message :
1) Les données application
1 sont transmises à la couche
transport
2) La couche transport
encapsule les données dans un
segment TCP (ou datagramme
UDP), avec ajout notamment
des N° de ports
108
V – Couche réseau
3) La couche réseau encapsule
3 le segment (ou datagramme)
dans un paquet, avec ajout
(entre autres) des adresses
logiques
Segment
4) La couche liaison de
données encapsule le paquet
dans une trame, avec ajout
(entre autres) des adresses
physiques
109
V – Couche réseau
5) La couche physique
transmet les séries de bits de
5
la trame sur le support
physique, sous forme d’un
signal électrique (cuivre),
lumineux (fibre optique)…
Trame
111
V – Couche réseau
✓ « au mieux » (peu fiable) : aucune surcharge n’est utilisée pour
garantir la transmission des paquets
✓ IPv4 ne sait pas gérer les paquets perdus ou corrompus : la gestion de la
fiabilité est laissée aux autres couches (de niveau supérieur)
112
V – Couche réseau
✓ indépendant des médias :
les protocoles de la couche
réseau fonctionnent
indépendamment du
média physique utilisé.
114
V – Couche réseau
Constitution d’un paquet IPv4 :
Exemple de paquet :
115
V – Couche réseau
Exemple de paquet :
116
V – Couche réseau
Champs constituant l’entête d’un paquet IPv4 :
✓ Version : contient le numéro de version IP (4).
✓ Longueur d’en-tête (IHL) : spécifie la taille de l’en-tête du paquet IP en mots
de 32 bits. Par défaut, il est égal à 5 (20 octets)
✓ Type de service : valeur sur 8 bits utilisée pour définir la priorité de chaque
paquet, qui permet d’appliquer un mécanisme de QoS aux paquets de
priorité élevée (voix, vidéo..). Le routeur traitant les paquets peut
déterminer le paquet à transmettre en 1er en fonction de la valeur de type
de service.
✓ Longueur du paquet : taille du paquet entier, en-tête et données compris,
en octets. Longueur min = 20 octets (20 entête + 0 de données) ; max =
65535. Ça permet de calculer la Longueur_des_data = Longueur_totale – ( IHL * 4 )
✓ Identification : identifie de manière unique les fragments d’un paquet IP
d’origine (en cas de fragmentation).
117
V – Couche réseau
✓ Indicateur / Flags : codé sur 3 bits et indique l’état de la fragmentation.
- Reserved : Le premier bit est réservé et positionné à 0.
- DF « Don’t Fragment » : le second bit permet d’indiqué si la fragmentation est
autorisée.
- MF « More Fragments », le troisième bit indique s’il est à 1 que le fragment n’est
pas le dernier.
✓ Décalage / Position du fragment : identifie l’ordre dans lequel il faut placer
le fragment du paquet lors de la reconstruction.
✓ Durée de vie (TTL : Time To Live) : valeur sur 8 bits indiquant la durée de vie
restante du paquet. La valeur TTL est décrémentée de 1 à chaque fois que
le paquet est traité par un routeur (c’est-à-dire à chaque saut).
- Lorsque la valeur TTL devient nulle, le routeur supprime le paquet.
- Ce mécanisme évite que les paquets soient transférés indéfiniment d’un
routeur à l’autre dans une boucle de routage (accidentelle…).
118
V – Couche réseau
✓ Protocole : valeur sur 8 bits indiquant le type de données utiles que le
paquet transporte. Le champ de protocole permet à la couche réseau de
transmettre les données au protocole de couche supérieure approprié.
Exemples : 01 = ICMP / 06 = TCP / 17 = UDP
✓ Somme de contrôle d’en-tête : utilisé pour vérifier l’absence d’erreurs dans
l’en-tête de paquet. A chaque saut, la somme de contrôle de l’entête est
comparée à ce champ : si ce n’est pas équivalent, le paquet est abandonné.
✓ Adresses IP v4 source et de destination : valeurs sur 32 bits représentant
les adresses de couche réseau respectivement de l’hôte source et de l’hôte
destinataire du paquet
119
V – Couche réseau
V – 2 Adressage : identification IPv4
121
V – Couche réseau
V – 2 Adressage : identification IPv4
122
V – Couche réseau
V – 2 Adressage : identification IPv4
123
V – Couche réseau
V – 2 Adressage : identification IPv4
124
V – Couche réseau
V – 2 Adressage : Sous-réseau (subnetting)
125
V – Couche réseau
V – 2 Adressage : Sous-réseau (subnetting)
▪ Exemple :
▪ Exemple
126
V – Couche réseau
V – 2 Adressage : Sous-réseau (subnetting)
Partie réseau SR Partie hôte
127
V – Couche réseau
V – 2 Adressage : Masque notation CIDR
128
V – Couche réseau
V – 2 Adressage : Adresses spéciales
▪ Network ID
✓ Partie machine à 0
✓ Utilisée par les tables de routage
✓ Jamais affectée à une interface
Exemples:
✓ class B : 131.175.0.0
✓ class C: 193.17.31.0
▪ Broadcast direct
✓ Les bits de la partie machine à 1
✓ Diffusion dans le réseau spécifié par la partie NetID
✓ Il s’agit de l’adresse représentant toutes les machines du réseau (SR)
✓ Utilisé comme destination dans le champ du paquet IP
▪ Adresse local :
✓ Tous les bits à 0 : 0.0.0.0
✓ Loopback :127.0.0.0 /8
130
V – Couche réseau
V – 2 Adressage : Adresse privée
✓ Un réseau privé utilise les plages d’adressage IP privée définie par la RFC
1918.
Préfixe Plage IP Nombre d’@
10.0.0.0/8 10.0.0.0-10.255.255.254 16 777 216
172.16.0.0/12 172.16.0.0-172.31.255.254 1 048 576
192.168.0.0/16 192.168.0.0-192.168.255.254 65 536
131
V – Couche réseau
V – 2 Adressage : Technique de calcul
✓ Trouver le masque : on met tous les bits de réseau et de SR à 1 et tous
les bits machine à 0
✓ Trouver l’adresse réseau (SR) : on garde tous les bits de réseau et de SR,
et on met les bits machine à 0
✓ Trouver l’adresse de diffusion (broadcast) : on garde tous les bits de
réseau et de SR, et on met les bits machines à 1
✓ Nombre de sous réseaux : 2n avec n est le nombre de bits emprunter de
la partie machine (pour former les SR)
✓ Nombre de hôtes par sous réseau : 2m -2 avec m est le nombre de bits
de la partie machine ➔ adresses exploitables/ valides
▪ Exemple : soit l’adresse suivante 193.15.16.4 /25
✓ Le masque : /25 = 255.255.255.128
✓ L’adresse SR : 193.15.16.0 /25
✓ L’adresse de diffusion : 193.15.16.127 /25
✓ Nombre de SR : deux 193.15.16.0 /25 et 193.15.16.128 /25
✓ Nombre de hôtes par SR : 27 -2 = 126
132
V – Couche réseau
V – 2 Adressage : passerelles par défaut
133
V – Couche réseau
V – 2 Adressage : Table de routage
134
V – Couche réseau
V – 2 Adressage : Table de routage
135
V – Couche réseau
Champ Time To Live = « durée de vie » du paquet IP
137
V – Couche réseau
V – 3 Routage : traitement des paquets de données
Chaque routeur gère une table de routage, qui stocke des informations
sur les réseaux connectés et distants. On appelle :
✓ réseau connecté : réseau relié directement à une des interfaces du
routeur.
✓ réseau distant : réseau qui n’est pas directement connecté au
routeur. Les routes vers ces réseaux peuvent être configurées
manuellement sur le routeur par l’administrateur réseau ou apprises
automatiquement à l’aide de protocoles de routage dynamiques.
138
V – Couche réseau
V – 3.1 Choix d’une route dans un routeur
Choix d’une route à partir de la table de routage dans un routeur :
- Le routeur cherche une correspondance entre :
✓ l’@ de destination indiquée dans l’en-tête du paquet
✓ et les réseaux présents dans la table de routage.
- Puis transfère le paquet au routeur de tronçon suivant spécifié par la
route indiquée dans la table :
✓ si plusieurs routes sont possibles pour la même destination, la
métrique est utilisée pour décider de la route à emprunter (route la
plus courte).
✓ Si aucune route spécifique représentant le réseau de destination
n’est présente dans la table de routage, le routeur peut alors
utiliser une route par défaut pour transférer le paquet (route de
dernier recours)
✓ Si aucune route (ni par défaut) n’existe, le paquet est abandonné.
139
V – Couche réseau
140
V – Couche réseau
Représentation d’une route par défaut dans une table de routage :
=> adresse 0.0.0.0 / 0
La route par défaut est utilisée pour transférer les paquets pour lesquels
aucune entrée ne figure dans la table de routage pour le réseau de
destination.
141
V – Couche réseau
V – 3.2 Choix d’une route dans un hôte
Les hôtes ont également besoin d’une table de routage locale.
Contrairement à un routeur, dont la table de routage contient à la fois
des routes locales et distantes, la table locale de routage d’un hôte
contient généralement :
- le (les) réseau(x) directement connecté(s) à sa (ses) carte(s) réseau(x)
- l’@ IP de sa gateway (passerelle) = sa route par défaut locale
143
V – Couche réseau
144
V – Couche réseau
V – 3.3 Routages statique et dynamique
Les informations de routage peuvent être :
- configurées manuellement sur le routeur = routage statique
Avantages :
- Les paquets sont bien acheminés sur les meilleurs tronçons suivants
Inconvénients :
- si la structure réseau change ➔ besoin de MAJ manuelle
- Si une mise à jour n’est pas effectuée, les infos de routage peuvent être incomplètes ou
inexactes, entraînant des retards, voire la perte éventuelle de paquets.
- configurées dynamiquement en échangeant des données avec les routeurs voisins
en utilisant un protocole de routage (RIP, OSPF, EIGRP …) = routage dynamique
Avantages :
- les routeurs disposent automatiquement de tables de routage exactes
Inconvénients :
- l’échange d’infos de routage ajoute une surcharge réseau
- besoin d’une capacité de traitement processeur importante (algorithmes complexes)
145
V – Couche réseau
146
V – Couche réseau
147
V – Couche réseau
V – 4 Protocole ICMP
ICMP (Internet Control Message Protocol = Protocole de message de
contrôle sur Internet) est un protocole de niveau 3 sur le modèle OSI,
qui permet le contrôle des erreurs de transmission.
Comme le protocole IP ne gère que l’acheminement des paquets et ne
permet pas l'envoi de messages d'erreur, c'est grâce à ce protocole
qu'une machine émettrice peut savoir qu'il y a eu un incident de réseau.
Un paquet ICMPv4 est néanmoins encapsulé dans un paquet IPv4 :
-en-tête IP (en bleu) avec Protocole = 1,
Type de service = 0
-Type de message ICMP (sur 8 bits)
-code de l’erreur (8 bits)
-Somme de contrôle calculée sur la partie
spécifique ICMP (sans l’en-tête IP)
-données selon type de réponse (ex :
identifiant, N° de séquence pour paquet
Ping), ou bourrage si non utilisé
148
V – Couche réseau
Différents types de messages ICMPv4 :
Type 0 : réponse echo
Type Code Signification
0 0 réponse d’ECHO (echo-reply) : réponse au message de type 8
Types 1 et 2 : réservés
Type 3 : destinataire inaccessible => voir diapo suivante
Type 4 : extinction de la source
Type Code Signification
extinction de la source (source quench)
= un routeur de transit ou la machine d'extrémité demande à l'émetteur de
ralentir le rythme des envois de trame. Les routeurs de transit stockent les
trames reçues dans un buffer avant de les router (store and forward). Si ce
4 0 buffer venait à être plein ou si la charge CPU du routeur dépassait un seuil (ou
toute autre motif de congestion) il ne pourrait plus assumer le routage des
paquets à venir. N'importe quel nœud de transit peut ainsi informer l'émetteur
de ralentir la cadence, pour n'importe quel protocole de la couche 4 (UDP, TCP).
NB : ce type de message a été rendu obsolète par la RFC 66332 en 2012
149
V – Couche réseau
Type Code Signification
0 le réseau n’est pas accessible
1 la machine n’est pas accessible
2 Le protocole n’est pas accessible
3 le port n’est pas accessible
4 fragmentation nécessaire mais impossible à cause du drapeau (flag) DF
5 le routage a échoué
6 réseau inconnu
7 machine inconnue
3
8 machine non connectée au réseau (inutilisé)
9 communication avec le réseau interdite
10 communication avec la machine interdite
11 réseau inaccessible pour ce service
12 machine inaccessible pour ce service
13 communication interdite (filtrage)
14 priorité d’hôte non respectée
15 limite de priorité atteinte
150
V – Couche réseau
Type 5 : redirection
Type Code Signification
le routeur remarque que la route qu'a choisie l'ordinateur émetteur n'est pas
optimale car le prochain routeur à passer pour atteindre le destinataire se
trouve sur le même réseau que celui de l'ordinateur émetteur. Le routeur envoie
l'adresse du prochain routeur à ajouter dans la table de routage de l'ordinateur
émetteur de façon à ce que le prochain envoi vers le même destinataire ne
passe pas inutilement par lui. Cette option est souvent bloquée dans les réseaux
5 des entreprises parce qu'elle peut être utilisée par un attaquant pour rediriger le
flux de données d'une victime vers sa propre machine.
0 redirection pour un hôte
1 redirection pour un hôte et un service
2 redirection pour un réseau
3 redirection pour un réseau et un service
Type 8 : echo
Type Code Signification
demande d’ECHO (echo-request) : demande de renvoi d'informations, avec la
8 0
commande ping par exemple
151
V – Couche réseau
Type 11 : temps dépassé
Type Code Signification
ce message est envoyé lorsque le temps de vie d'un datagramme ou le temps de
réassemblage des parties d'un datagramme est dépassé.
L'en-tête du datagramme est renvoyé pour que l'utilisateur sache quel
11 datagramme a été détruit
0 temps dépassé
1 temps de ré-assemblage des fragments d'un datagramme dépassé
Type 12 : en-tête erroné
Type Code Signification
ce message est envoyé lorsqu'un champ d'un en-tête est erroné. La position de
12 0
l'erreur est retournée
153
Principes et architecture des réseaux
Plan
I - Les besoins pour l’architecture de l’internet
II - Structuration en couches des communications
III - Couche application
IV - Couche transport
V - Couche réseau
VI - Couche liaison de données
VII- Couche physique
154
VI – Couche liaison de données
VI – 1 La trame : PDU de couche liaison de données
155
VI – Couche liaison de données
156
VI – Couche liaison de données
La trame de couche liaison de données comprend :
- des données : c’est le paquet de la couche réseau (PDU de couche 3)
- un en-tête : informations de contrôle telles que l’adressage physique
- une queue de trame : contient des informations de contrôle
Exemple de trame :
157
VI – Couche liaison de données
Selon le type de support, l’environnement, les infos de contrôle dans la
trame peuvent varier d’un protocole à un autre (selon les besoins) :
158
VI – Couche liaison de données
=> les informations contenues dans les en-têtes et queues de trame
varient selon les protocoles de couche 2
Les champs standards d’une trame :
160
VI – Couche liaison de données
Détails sur les champs de queue de trame (frame tail) :
- Indiquer clairement aux nœuds la fin de la trame
161
VI – Couche liaison de données
VI – 2 Sous-couches liaison de données
La couche liaison de données établit la connexion entre processus
logiciels et support physique (via carte réseau). Elle est souvent divisée
en 2 sous-couches :
- sous-couche supérieure : LLC (Logical Link Control) ; elle définit les
processus logiciels qui fournissent des services aux protocoles de
couche réseau. Ex: place dans la trame les infos indiquant le protocole
couche 3 utilisé (permet à plusieurs protocoles réseau d’utiliser la
même interface réseau et les mêmes supports).
- sous-couche inférieure : MAC (Media Access Control) (Contrôle
d’accès au support); elle définit les processus d’accès au support
exécutés par le matériel :
o assure l’adressage de couche 2 (@ MAC par exemple)
o délimite les données en fonction des exigences de signalisation
physique du support et du type de protocole de couche 2 utilisé
163
VI – Couche liaison de données
164
VI – Couche liaison de données
165
VI – Couche liaison de données
VI – 3 Normes de la couche liaison de données
Organismes d’ingénierie définissant des normes et protocoles ouverts
pour la couche liaison de données :
166
VI – Couche liaison de données
Exemple de protocole de la couche 2 dans les réseaux LAN et WAN
Exemples :
- Ethernet
- PPP (Point-to-Point Protocol)
- HDLC (High-Level Data Link Control)
- Frame Relay
- ATM (Asynchronous Transfer Mode)
167
VI – Couche liaison de données
VI – 4 Techniques de contrôle d’accès au support
Aucun contrôle
168
VI – Couche liaison de données
Méthodes de contrôle d’accès au support
169
VI – Couche liaison de données
VI – 4.1 Méthode d’accès contrôlé pour supports partagés
- méthode à accès déterministe
- les périphériques réseau accèdent tour à tour au support
- si un périphérique n’a pas besoin d’accéder au support, il passe son
tour au périphérique suivant
- lorsqu’un périphérique place une trame sur le support, aucun autre
périphérique ne peut émettre en même temps.
Avantages :
- méthode bien organisée
- débit prévisible
Inconvénients :
- Méthode parfois lente et peu efficace car les périphériques doivent
attendre leur tour pour pouvoir utiliser le support.
170
VI – Couche liaison de données
171
VI – Couche liaison de données
VI – 4.2 Méthode d’accès basé sur le conflit pour supports partagés
- méthode non déterministe
- un périphérique peut essayer d’accéder au support chaque fois qu’il
doit envoyer des données, pas besoin d’attendre son tour
- pour éviter le chaos total sur les supports, utilisation d’un protocole
pour détecter (avant début d’émission) si le support est libre: CSMA =
Carrier Sense Multiple Access (accès multiple avec écoute de porteuse)
o si un signal issu d’un autre nœud est détecté (càd un autre
périphérique en train d’émettre), le périphérique qui veut émettre
attend alors et essaie de nouveau au bout d’un court laps de temps
o si aucun signal porteur n’est détecté, le périphérique transmet ses
données.
- les réseaux Ethernet et sans fil WIFI utilisent un contrôle d’accès au
support basé sur le conflit.
172
VI – Couche liaison de données
Si malgré le CSMA, 2 périphériques transmettent des données en
même temps, cela crée une collision ➔ les données envoyées par les 2
périphériques sont corrompues et doivent être renvoyées (après temps
d’attente aléatoire)
Avantages :
- pas de surcharge, contrairement aux méthodes d’accès contrôlé
(aucun mécanisme requis pour établir quel périphérique en attente
peut accéder au support)
Inconvénients :
- Lourdeurs (collisions à répétition) quand l’utilisation des supports
s’intensifie et que le nombre de nœuds en communication augmente
- les mécanismes de récupération nécessaires liées au traitement des
collisions de données diminuent le rendement (débit effectif )
173
VI – Couche liaison de données
174
VI – Couche liaison de données
2 principales méthodes CSMA de gestion des conflits sur les supports :
CSMA/CD (CSMA/Collision Detection) :
- le périphérique contrôle d’abord si le support est libre (si besoin, il attend)
- il commence la transmission des données
- si des signaux étrangers sont détectés pendant l’émission (un autre
périphérique a commencé à émettre presqu’au même moment), alors
tous les périphériques arrêtent de transmettre leurs données et
réessayent ultérieurement (tempo aléatoire).
Ethernet 802.3 utilise cette méthode.
CSMA/CA (CSMA/Collision Avoidance) :
- le périphérique vérifie si le support est libre (si besoin, il attend)
- il envoie une notification à travers le support pour indiquer son
intention d’émettre
- Si pas de collision de notifications, il transmet ses données.
La technologie réseau sans fil 802.11 (WIFI) utilise cette méthode.
175
VI – Couche liaison de données
VI – 4.3 Contrôle d’accès basé sur le conflit pour supports non partagés
- nécessite peu de contrôle (voire aucun) avant le placement des
trames sur les supports
- ces protocoles comportent des règles et des procédures plus simples
de contrôle d’accès au support
- très souvent utilisé pour les topologies point à point.
177
VI – Couche liaison de données
Communication bidirectionnelle simultanée :
- les deux périphériques peuvent simultanément transmettre et
recevoir des données sur les supports.
- le support est à tout moment disponible pour les deux nœuds ➔
aucune règle d’arbitrage des supports n’est nécessaire au niveau de la
couche 2
178
VI – Couche liaison de données
VI – 5 Focus sur les spécificités d’Ethernet
VI – 5.1 Généralités sur Ethernet
Ethernet est la technologie LAN la plus utilisée à l’heure actuelle.
179
VI – Couche liaison de données
VI – 5.1 Généralités sur Ethernet
- Ethernet : famille de technologies, de normes IEEE 802.2 et 802.3,
qui décrivent à la fois :
o les protocoles de couche 2
o les technologies de couche 1
- Technologie LAN câblée la plus utilisée et prend en charge des débits
de 10 ou 100 Mbps et 1 ou 10 Gbps
- Fournit un service non orienté connexion sur support partagé en
utilisant la méthode d’accès au support CSMA/CD. Les @ pour
identifier les nœuds source et de destination sont appelées @ MAC
(Media Access Control) sur 48 bits.
180
VI – Couche liaison de données
Les couches 1 et 2 sont très imbriquées et dépendantes l’une de
l’autre, dans un soucis de performance.
- au niveau de la couche 1, Ethernet est associé aux signaux, aux flux de
bits qui traversent les supports, aux composants physiques qui placent
les signaux sur les supports et à diverses autres technologies.
Couche 2
Couche 1
181
VI – Couche liaison de données
Les différences entre les normes Ethernet sont à la couche physique. Les
trois bandes passantes courantes sur paires bifilaires ou fibre sont celles
de Fast Ethernet (100 Mbits/s), Gigabit Ethernet et 10 Gigabit Ethernet.
182
VI – Couche liaison de données
- la couche 2 liaison de données contribue largement à la compatibilité
technologique et à la communication entre périphériques grâce à ses
deux sous-couches :
▪ sous-couche MAC
▪ sous-couche LLC
183
VI – Couche liaison de données
Sous-couche MAC (Media Access Control) de la couche 2 :
Elle est mis en œuvre au niveau du matériel, généralement sur la carte
réseau. Deux fonctions principales :
- Encapsulation des données
- délimitation des trames
- Adressage
- détection d’erreurs
- Contrôle de l’accès aux supports
- contrôle du placement et du retrait des trames sur les supports ;
initialisation des transmissions
- gestion du partage des supports (CSMA/CD, CSMA/CA …) selon la
topologie
- gestion des retransmissions suite à une collision
184
VI – Couche liaison de données
Sous-couche LLC (Logical Link Control / IEEE802.2) de la couche 2 :
• Effectue la connexion avec les couches de niveau supérieur
• Crée des trames pour le paquet de couche réseau
• Identifie le protocole de couche réseau (champs ‘type’)
• Permet de savoir à quel processus de la couche supérieur passer
les données reçues ?
• Conserve une indépendance relative vis-à-vis de l’équipement
physique
• La mise en œuvre LLC se fait au niveau logiciel et est indépendante
de l’équipement physique.
• Dans un ordinateur, LLC est en quelque sorte le logiciel du pilote de
la carte réseau.
185
VI – Couche liaison de données
VI – 5.2 Trame Ethernet
On distingue deux types de tramage Ethernet : la spécification IEEE
802.3 d’origine (Ethernet II) et IEEE 802.3 révisée :
188
VI – Couche liaison de données
189
VI – Couche liaison de données
A quel processus (couche supérieure), Ethernet doit-il passer les
données reçues ?
http://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml
190
VI – Couche liaison de données
191
VI – Couche liaison de données
▪ Le champ "Type / Longueur" sert à indiquer le "Type" de la charge utile (= protocole
de couche 3) qui est indiquée en tant que valeur hexadécimale ou bien la
« Longueur».
▪ Un contrôleur Ethernet prenant en charge à la fois Ethernet II et IEEE 802.3 doit
disposer d’un mécanisme permettant de distinguer les deux types de trame
simplement en inspectant le champ Longueur / Type. Mais comment ?
▪ Tous les protocoles de couche 3 ont un numéro EtherType supérieur à 0x0600, ce
qui correspond à la valeur décimale de 1536, supérieure à la taille en octets
maximale d'une charge utile encapsulée dans Ethernet.
▪ Si le champs Type / Longueur est évalué à une valeur supérieur à 1500 ➔ alors il
s’agit de la "EtherType" ➔ trame Ethernet II
▪ Si le champs Type / Longueur est évalué à une valeur inférieure ou égale à 1500 ➔
alors il s’agit de la "Longueur" ➔ trame IEEE 802.3.
✓ Dans ce cas comment savoir le type ?
✓ C’est véhiculé par l'en-tête 802.2 LLC/SNAP (sub network access protocol)
192
VI – Couche liaison de données
LLC introduit deux champs, SSAP et DSAP (Service Access Point), qui font
essentiellement référence aux types de protocole de couche 3 de la source et
de la destination.
193
VI – Couche liaison de données
la norme IEEE 802.3ac a permis de rajouter 4 octets à la trame lorsqu’on
souhaite utiliser la technologie VLAN (Virtual LAN)
195
VI – Couche liaison de données
VI – 5.4 Adresses MAC
196
VI – Couche liaison de données
VI – 5.4 Adresses MAC
Sur la couche 2, les @ MAC diffèrent selon le type de transmission
utilisée : unicast, multicast ou broadcast :
-Adresse MAC pour transmission unicast :
197
VI – Couche liaison de données
-Adresse MAC de broadcast :
Rappel : en couche 3, l’@ IPv4 de broadcast ne contient que des ‘1’
dans la partie hôte. Ici en couche 2, on met aussi tous les bits à 1 pour
que tous les hôtes du réseau local (domaine de broadcast) traitent le
paquet ➔ @ MAC de broadcast = FF-FF-FF-FF-FF-FF (hexa)
198
VI – Couche liaison de données
VI – 5.5 ARP
Le protocole ARP (Address Resolution Protocol) assure 2 fonctions dans
un périphérique hôte :
- résolution @IPv4 <=> @MAC : la table ARP (ou cache ARP), contient
les correspondances entre @IPv4 et @MAC des périphériques LAN.
- conservation en mémoire cache des mappages : la table ARP est
stockée dans la mémoire vive (RAM) du périphérique. Les entrées
dynamiques de la table MAC sont horodatées. Si le périphérique ne
reçoit pas de trame d’un périphérique avant expiration de
l’horodatage, l’entrée correspondante est supprimée de la table ARP.
207
VI – Couche liaison de données
Entête ARP
208
VI – Couche liaison de données
Mise à jour de la table ARP : un périphérique dispose de deux
méthodes pour obtenir des @ MAC et remplir sa table ARP :
- mise à jour dynamique de la table ARP : la surveillance du trafic sur le
segment du réseau local permet, quand un nœud reçoit des trames en
provenance du support, d’enregistrer les @ IP source et MAC dans la
table ARP sous forme de mappage.
- diffuser une requête ARP : envoyer une trame qui contient une
requête ARP comportant l’@ IP de l’hôte de destination à tous les
périphériques du LAN. Lorsqu’un nœud reçoit la trame et identifie sa
propre adresse IP, il envoie un paquet réponse ARP à l’expéditeur,
sous la forme d’une trame monodiffusion. Cette réponse permet de
créer une nouvelle entrée dans la table ARP.
210
VI – Couche liaison de données
Création d’une trame : quand un nœud doit créer une trame, il consulte
sa table ARP : le cache ARP contient-il la correspondance entre une @IP
et son @ MAC de destination ?
- si oui : construction trame possible.
- si non : il effectue une requête de mappage entre l’@IPv4 et l’@ MAC
associée, grâce au protocole ARP.
▪ Si le périphérique concerné répond : enregistrement de la
correspondance dans la table ARP et création de la trame.
▪ Si aucun périphérique ne répond à la requête ARP, le paquet est
abandonné car il est impossible de créer une trame. L’échec de
l’encapsulation est signalé aux couches supérieures du périphérique.
211
VI – Couche liaison de données
Communication avec un hôte local :
Toutes les trames doivent être remises à un nœud sur un segment du
réseau local. Si l’hôte IPv4 de destination se trouve sur le réseau local, la
trame utilise l’@ MAC de ce
périphérique comme @ MAC
de destination.
Exemple :
émission d’un
message vers
un hôte du
réseau local :
212
VI – Couche liaison de données
213
VI – Couche liaison de données
214
VI – Couche liaison de données
215
VI – Couche liaison de données
216
VI – Couche liaison de données
Communication en dehors du réseau local :
Le nœud source doit livrer la trame à l’interface du routeur qui sert de
passerelle ou de saut suivant pour atteindre cette destination. La source
utilise l’@ MAC de la passerelle
comme @ de destination.
Exemple :
émission d’un
message vers
un hôte en
dehors du
réseau local :
217
VI – Couche liaison de données
218
VI – Couche liaison de données
219
VI – Couche liaison de données
220
VI – Couche liaison de données
221
VI – Couche liaison de données
Utilisation de la commande « arp » sur un hôte :
Examiner le contenu de la table ARP sur un hôte sous OS Windows :
222
Principes et architecture des réseaux
Plan
I - Les besoins pour l’architecture de l’internet
II - Structuration en couches des communications
III - Couche application
IV - Couche transport
V - Couche réseau
VI - Couche liaison de données
VII- Couche physique
223
VII – Couche physique
VII – 1 Généralités sur la couche physique
La couche physique OSI va créer le signal électrique, optique ou micro-
ondes qui représente les bits constituant une trame de couche liaison
de données, codés sous la forme d’une série de signaux transmis sur le
support local.
224
VII – Couche physique
Il existe trois formes élémentaires de support réseau sur lesquelles les
données sont représentées de façon différente :
- Câble de cuivre :
signaux = variations
d’impulsions
électriques
- Fibre : signaux =
variations d’impulsions
lumineuses
- Sans fil : signaux =
variations d’ondes
électromagnétiques
radio
225
VII – Couche physique
226
VII – Couche physique
Capacité de transport de données :
Le transfert de données peut être mesuré de trois manières :
- Bande passante
- Débit
- Débit applicatif
Bande passante numérique : capacité brute d’un support à
transporter des données. C’est la quantité d’informations pouvant
circuler d’un emplacement à un autre pendant une période donnée.
On la mesure en bits par seconde (bits/s).
227
VII – Couche physique
Débit effectif (physique) : C’est la mesure du transfert de bits sur le
support pendant une période donnée. De nombreux facteurs
l’influencent : la quantité de trafic, son type, ainsi que le nombre de
périphériques réseau rencontrés.
Débit applicatif (utile) : c’est l’information la plus intéressante pour les
utilisateurs du réseau : c’est la quantité de données utilisables
transférées pendant une période donnée. Il mesure le transfert effectif
de données utilisateur entre des entités de couche application, comme
par exemple entre un serveur Web et un client Web ; il tient compte des
bits dédiés à la surcharge liée au protocole (établissement de sessions,
reçus, encapsulation).
=> débit applicatif = débit effectif - la surcharge de trafic
228
VII – Couche physique
Ex : Deux PC s’échangent un fichier sur le LAN de bande passante 100 Mbits/s. A cause du
partage et la surcharge du support, le débit effectif n’est que de 60 Mbits/s. Avec la surcharge
d’encapsulation de la pile TCP/IP, le débit réel /applicatif des données reçues n’est que de
40 Mbits/s.
229
VII – Couche physique
VII – 2 Types de support physique
Divers organismes de normalisation ont contribué à la définition des
propriétés physiques, électriques et mécaniques des supports
disponibles. Ces spécifications garantissent que les câbles et
connecteurs fonctionnent comme prévu avec différentes mises en
œuvre de couche liaison de données.
Ex : supports Ethernet :
230
VII – Couche physique
VII – 2.1 Supports en cuivre
Le support le plus souvent utilisé pour les communications de données
est un câblage utilisant des fils de cuivre entre les périphériques réseau.
Le type de câble le plus
répandu en réseaux LAN est
le câble à paires torsadées,
avec connecteurs RJ45 aux
extrémités.
Un câble coaxial possède un
conducteur central recouvert
par un isolant puis l’autre
conducteur qui est un
blindage. Le tout forme une
paire, utilisée plutôt pour des
liaisons avec des antennes
(TV, liaison radio sans fil …)
232
VII – Couche physique
Câbles à paires torsadées :
- non blindées : UTP =
Unshielded twisted-pair
Paires torsadées pour réduire
les interférences entre paires
(diaphonie) et la sensibilité
aux parasitages extérieurs
- blindées : STP =
Shielded twisted-pair
Plus résistant aux
perturbations
électromagnétiques et
radiofréquences.
233
VII – Couche physique
Catégories de câbles à paires torsadées :
Les caractéristiques électriques du câblage en cuivre sont définies par
l’IEEE, qui classe les câbles suivant ses performances (capacité de
bande passante) dans des catégories :
- catégorie 5e : généralement utilisé dans les installations FastEthernet
100Base-TX (100Mbits/s), voire GigaEthernet 1000Base-TX maximum
- catégorie 6 : une séparation est ajoutée entre chaque paire ; utilisé
dans les installations GigaEthernet 1000Base-TX (1Gbits/s), voire
10Gbits/s maximum
234
VII – Couche physique
Types de câbles : principaux types de câbles spécifiques :
- Ethernet droit (straight)
- Ethernet croisé (crossover)
- Rollover (renversement)
➔ Auto MDI-X
235
VII – Couche physique
VII – 2.2 Supports en fibre optique
Le câblage en fibre optique prend en charge des débits de bande
passante de données brutes très élevés. Caractéristiques :
- l’atténuation d’une fibre est beaucoup plus faible que pour un signal
électrique sur un support cuivre
=> Distance avant régénération des signaux (portée) plus longue : les
fibres peuvent fonctionner à des longueurs bien supérieures
- bande passante physique plus grande (acceptent changements
rapides d’intensité lumineuse) et immunité aux parasites
électromagnétiques
=> Possibilité de travailler avec des bandes passantes numériques plus
grandes
236
VII – Couche physique
Deux types de fibre : multimode ou monomode (single-mode)
237
VII – Couche physique
VII – 2.3 Supports sans fil
Les supports sans fil transportent des signaux électromagnétiques à des
fréquences radio et micro-ondes qui représentent les chiffres binaires
des communications de données.
Avantages :
- mobilité : pas de limitation due au besoin d’un support physique
- bon fonctionnement dans les milieux ouverts
Inconvénients :
- limitation de la couverture par certains matériaux de bâtiment
- sensible aux interférences, éclairages fluorescents, fours micro-ondes,
autres communications sans fil
- la sécurisation du réseau doit être performante
238
VII – Couche physique
Types de réseaux sans fil :
Exemples de normes de communications de données sans fil :
- Norme IEEE 802.11 : la technologie de réseau local sans fil
(WLAN=Wireless LAN), couramment appelée Wi-Fi, utilise un système
de contention ou système non déterministe basé sur un processus
d’accès au support par accès multiple avec écoute de
porteuse/évitement de collision (CSMA/CA)
- Norme IEEE 802.15 : la norme de réseau personnel sans fil (PAN),
couramment appelée Bluetooth, utilise un processus de jumelage de
périphériques pour communiquer sur des distances de 1 à 100 mètres
- Norme IEEE 802.16 : la technologie d’accès couramment appelée
WiMAX (Worldwide Interoperability for Microwave Access) utilise une
topologie point-à-multipoint pour fournir un accès à large bande sans
fil.
239
VII – Couche physique
240
VIII Topologies logique et physique
Topologie physique :
organisation physique des
nœuds et des connexions
physiques établies
Topologie physique
242
VIII Topologies logique et physique
Topologie physique
243
VIII Topologies logique et physique
Topologie logique
244
VIII Topologies logique et physique
Domaine de collision / diffusion
245
VIII Topologies logique et physique
Domaine de collision / diffusion
246