Concepts de Réseaux et Protocoles
Concepts de Réseaux et Protocoles
Réseau
Synthèse
Élèves : Enseignant :
Nicolas Gatta Bruno Quoitin
30 août 2023
Table des matières
1 Introduction 8
1.1 Network edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1 Dial-up Modem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.2 Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.3 Signal analogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.4 Modulation digital . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
[Link] Amplitude Shift Keying (ASK) . . . . . . . . . . . . . . . 9
[Link] Frequency Shift Keying (FSK) . . . . . . . . . . . . . . . 9
[Link] Phase Shift Keying (PSK) . . . . . . . . . . . . . . . . . . 9
[Link] Bit rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
[Link] Symbol rate . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.5 Les problème de transmissions . . . . . . . . . . . . . . . . . . . . . 10
[Link] Bande passante . . . . . . . . . . . . . . . . . . . . . . . . 10
[Link] Atténuation . . . . . . . . . . . . . . . . . . . . . . . . . . 10
[Link] Distorsion temporelle . . . . . . . . . . . . . . . . . . . . . 10
[Link] Bruits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.6 Digital Subscriber Line (DSL) . . . . . . . . . . . . . . . . . . . . . 11
1.1.7 Supports Physiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Network core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.1 Circuit switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
[Link] Multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . 12
[Link] TDM : numerical example . . . . . . . . . . . . . . . . . . 13
1.2.2 Packet switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
[Link] Store and forward . . . . . . . . . . . . . . . . . . . . . . 14
[Link] Packet Size . . . . . . . . . . . . . . . . . . . . . . . . . . 15
[Link] Packet Switching vs Circuit Switching . . . . . . . . . . . 15
1.3 Delay, loss and throughput in packet- switched networks . . . . . . . . . . 16
1.3.1 Queeuing Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.2 Perte de paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4 Protocol layers, service models . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 Couche application 18
2.1 Créer une application réseau . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Processus de communication . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 Sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Traitement des processus distants . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 Les protocoles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.1 Encodage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.2 Les règles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6 Les conditions de l’application . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6.1 trafic variable vs trafic non variable . . . . . . . . . . . . . . . . . . 20
2.6.2 UDP et TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.7 WEB et HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.7.1 Message HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Synthèse 1
Table des matières
3 Couche transport 31
3.1 Transport-layer services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.1 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.2 Où se situe-t-il ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.3 Différents catégories de TLS . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Multiplexing and demultiplexing . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.2 Comment le démultiplexing marche ? . . . . . . . . . . . . . . . . . 32
3.2.3 Multiplexing UDP vs TCP . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 Connectionless transport : UDP . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.1 Pourquoi y a-t-il UDP . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.2 Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.3 La checksum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
[Link] Objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
[Link] 1’s complement addition . . . . . . . . . . . . . . . . . . . 35
3.4 Principles of Reliable data transfer . . . . . . . . . . . . . . . . . . . . . . 36
3.4.1 Fonction spécifique au RDT . . . . . . . . . . . . . . . . . . . . . . 36
Synthèse 2
Table des matières
Synthèse 3
Table des matières
[Link] Self-clocking . . . . . . . . . . . . . . . . . . . . . . . . . . 63
[Link] Controlling the sending rate . . . . . . . . . . . . . . . . . 64
3.6.2 Additive Increase, Multiplicative Decrease . . . . . . . . . . . . . . 64
[Link] Approche . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
[Link] En pratique . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.6.3 Slow Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
[Link] Principes . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
[Link] Fast Recovery . . . . . . . . . . . . . . . . . . . . . . . . . 65
4 Couche Réseau 66
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.1.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.1.2 Deux fonctions clés de la couche réseau . . . . . . . . . . . . . . . . 66
[Link] Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . 66
[Link] Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2 Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.2 Circuit Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
[Link] Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
[Link] Element Of VC Network . . . . . . . . . . . . . . . . . . . 67
[Link] Virtual Circuit . . . . . . . . . . . . . . . . . . . . . . . . 67
[Link] Packet(in a VC network) . . . . . . . . . . . . . . . . . . . 67
4.2.3 Packet-switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
[Link] Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
[Link] Éléments des réseaux de datagrammes . . . . . . . . . . . 68
4.3 What’s inside a router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3.1 Vue d’ensemble de l’architecture du routeur . . . . . . . . . . . . . 69
[Link] Key router functions . . . . . . . . . . . . . . . . . . . . . 69
[Link] Input port functions . . . . . . . . . . . . . . . . . . . . . 69
[Link] Switching via Memory . . . . . . . . . . . . . . . . . . . . 69
[Link] Switching via a Bus . . . . . . . . . . . . . . . . . . . . . 69
[Link] Switching via a switched backplane . . . . . . . . . . . . . 70
[Link] Output port queueing : why ? . . . . . . . . . . . . . . . . 70
[Link] Output port packet scheduling . . . . . . . . . . . . . . . 70
[Link] Input port queueing . . . . . . . . . . . . . . . . . . . . . 71
[Link] HOL blocking solution . . . . . . . . . . . . . . . . . . . . 71
4.4 IP : Internet Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.4.1 Datagram format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
[Link] La couche réseau de l’Internet . . . . . . . . . . . . . . . . 72
[Link] IP : header format . . . . . . . . . . . . . . . . . . . . . . 72
[Link] IP fragmentation . . . . . . . . . . . . . . . . . . . . . . . 73
4.4.2 Adressage IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
[Link] Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 74
[Link] Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
[Link] Hiérarchie à deux niveaux . . . . . . . . . . . . . . . . . . 74
[Link] Adressage par classe . . . . . . . . . . . . . . . . . . . . . 75
[Link] IP Networks . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Synthèse 4
Table des matières
[Link] Sous-réseau . . . . . . . . . . . . . . . . . . . . . . . . . . 75
[Link] Taille du sous-réseau . . . . . . . . . . . . . . . . . . . . . 76
[Link] Arithmétique . . . . . . . . . . . . . . . . . . . . . . . . . 77
[Link] Masque de sous-réseau de longueur fixe (FLSM) . . . . . . 77
[Link] Masque de sous-réseau à longueur variable (VLSM) . . . . 77
[Link] Sous-réseaux spéciaux . . . . . . . . . . . . . . . . . . . . 77
[Link] L’adressage sans classe . . . . . . . . . . . . . . . . . . . . 78
4.4.3 Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
[Link] IP Forwarding . . . . . . . . . . . . . . . . . . . . . . . . 79
[Link] Table de transfert IP . . . . . . . . . . . . . . . . . . . . . 79
[Link] Longest Prefix Matching (LPM) . . . . . . . . . . . . . . . 80
[Link] Comment en avoir une IP ? . . . . . . . . . . . . . . . . . 81
[Link] Adressage hiérarchique : agrégation de routes . . . . . . . 81
[Link] IP Statique . . . . . . . . . . . . . . . . . . . . . . . . . . 81
[Link] Adresses locales de liaison . . . . . . . . . . . . . . . . . . 81
4.4.4 DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
[Link] Le but du DHCP . . . . . . . . . . . . . . . . . . . . . . . 82
[Link] Vue d’ensemble du DHCP . . . . . . . . . . . . . . . . . . 82
[Link] Format du message . . . . . . . . . . . . . . . . . . . . . . 82
[Link] Scénario avec un serveur DHCP . . . . . . . . . . . . . . . 83
[Link] Scénario avec deux serveurs DHCP . . . . . . . . . . . . . 84
[Link] Serveur DHCP sur un autre sous-réseau . . . . . . . . . . 85
[Link] DHCP Timer . . . . . . . . . . . . . . . . . . . . . . . . . 86
[Link] DHCP Options . . . . . . . . . . . . . . . . . . . . . . . . 86
4.4.5 NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
[Link] Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.4.6 ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
[Link] Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . . 87
[Link] Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
[Link] ICMP and Traceroute . . . . . . . . . . . . . . . . . . . . 87
4.4.7 IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
[Link] Pourquoi utilisé IPV6 . . . . . . . . . . . . . . . . . . . . 88
[Link] Entête . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
[Link] Changement par rapport à IPV4 . . . . . . . . . . . . . . 88
[Link] Déployer l’IPV6 . . . . . . . . . . . . . . . . . . . . . . . . 89
[Link] Transition de IPV4 à IPV6 . . . . . . . . . . . . . . . . . 89
[Link] Tunneling . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.5 Routing Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.5.1 Role du Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.5.2 Approches de routage dynamique . . . . . . . . . . . . . . . . . . . 90
4.5.3 Protocole de routage à l’état de liens . . . . . . . . . . . . . . . . . 90
[Link] Principes . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
[Link] Comment distribuer la topologie du réseau ? . . . . . . . . 91
[Link] LSP Flooding . . . . . . . . . . . . . . . . . . . . . . . . . 91
[Link] LSP Flooding - Changements de topologie . . . . . . . . . 93
[Link] LSP Flooding - Troisième Approche . . . . . . . . . . . . 94
4.5.4 Dijkstra’s algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Synthèse 5
Table des matières
[Link] Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
[Link] Relaxation . . . . . . . . . . . . . . . . . . . . . . . . . . 94
[Link] Manière de faire . . . . . . . . . . . . . . . . . . . . . . . 95
[Link] Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.5.5 Distance Vector Protocol . . . . . . . . . . . . . . . . . . . . . . . . 96
[Link] Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
[Link] Bellman-Ford equation . . . . . . . . . . . . . . . . . . . . 96
4.5.6 Distance-Vector Routing Protocol . . . . . . . . . . . . . . . . . . . 97
[Link] Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
[Link] Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . 97
[Link] Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.5.7 Distance Vector : link cost changes . . . . . . . . . . . . . . . . . . 98
4.5.8 Distance Vector : poisoned reverse . . . . . . . . . . . . . . . . . . . 99
Synthèse 6
Table des matières
Synthèse 7
1 Introduction
1 Introduction
1.1 Network edge
1.1.1 Dial-up Modem
Le dial up est surtout utilisé dans les réseaux téléphonique. Ceux-ci ont un accès direct
au routeur avec une puissance de 56kbps(max). On ne pouvait pas utiliser le téléphone et
aller sur internet en même temps.
— Les ordinateurs traitent des signaux numériques (flux de bits) (l’intensité du signal
ne peut prendre que quelques valeurs discrètes).
1.1.2 Modulation
La modulation est le processus de modification d’un signal électrique ou électromagné-
tique pour y ajouter des informations utiles, telles que la voix, la musique ou les données
numériques. Cette modification se fait en fonction d’un autre signal, appelé signal mo-
dulant, qui contient ces informations. Le modulator peut alors affecter le signal grâce à
plusieurs changement :
— L’amplitude (A) : la hauteur ou l’intensité du signal. C’est la mesure de la force
du signal électrique ou électromagnétique.
Synthèse 8
1 Introduction
Synthèse 9
1 Introduction
[Link] Atténuation
— La puissance du signal diminue approximativement en fonction de la distance (de
manière exponentielle)
— L’atténuation dépend de la fréquence (plus importante aux hautes fréquences)
[Link] Bruits
— Signal indésirable ajouté au signal transmis entre l’émetteur et le récepteur
— Les bruits thermiques, de modulation et de diaphonie peuvent être gérés. Les bruits
d’impulsion peuvent entraîner des transmissions défectueuses
— Métrique : Rapport signal sur bruit (SNR) = rapport de la puissance du signal (S)
sur la puissance du bruit (N). Un SNR plus élevé est meilleur.
Synthèse 10
1 Introduction
— La paire torsadée est constituée de deux fils de cuivre isolés et torsadés ensemble.
Il existe plusieurs catégories de câbles selon leur débit maximal : le câble de caté-
gorie 3 est utilisé pour les lignes téléphoniques traditionnelles et pour les réseaux
Ethernet à 10 Mbps, tandis que le câble de catégorie 5 peut atteindre un débit de
100 Mbps pour les réseaux Ethernet.
— En radio, le signal est transporté dans le spectre électromagnétique sans fil phy-
sique. Cela peut être affecté par l’environnement de propagation, notamment la
réflexion, l’obstruction par des objets et les interférences. Les types de transmission
radio comprennent les micro-ondes terrestres, les réseaux locaux sans fil (Wi-Fi),
les réseaux cellulaires à large bande et les transmissions par satellite. Les vitesses
de transmission peuvent varier de quelques Kbps à 45 Mbps, avec des délais de
transmission allant de 270 ms à plusieurs secondes, selon le type de transmission.
Synthèse 11
1 Introduction
[Link] Multiplexing
— Permet de partager une liaison unique entre plusieurs circuits
— Multiplexage par répartition en fréquence (FDM, Frequency Division
Multiplexing)
— Soit R la capacité nominale de la liaison
— Diviser la bande passante de fréquence de la liaison en N sous-canaux plus
étroits : chaque sous-canal offre une capacité R / N
— Le principe de base de FDM consiste à diviser la bande passante disponible de
la liaison en plusieurs sous-canaux de fréquence plus étroits. Chaque sous-canal
est attribué à un circuit ou utilisateur spécifique, qui peut utiliser la totalité de
la capacité de ce sous-canal. (même bande passante pour chaque utilisateur et
les utilisateurs peuvent envoyer en même temps)
Synthèse 12
1 Introduction
Synthèse 13
1 Introduction
Synthèse 14
1 Introduction
Sans le pipeline
T = N.( H+M
R
)
Avec le pipeline
1
T = R
∗ ((N − 1)Kmax + M + H + ⌈ KM
max
⌉)
Synthèse 15
1 Introduction
Synthèse 16
1 Introduction
Synthèse 17
2 Couche application
2 Couche application
2.1 Créer une application réseau
Il faut écrire un programme qui :
— S’exécutent sur des systèmes finaux (différents)
— Communiquent sur le réseau
— Par exemple, un logiciel de serveur web communique avec le navigateur logiciel
Il n’est pas nécessaire d’écrire des logiciels pour les dispositifs network-core devices :
— Les dispositifs network-core n’exécutent pas applications utilisateur.
— Les applications sur les systèmes finaux permet un développement rapide des ap-
plications et leurs propagations.
2.3 Sockets
Les sockets sont les interfaces entre le processus et l’OS mais ils s’occupent aussi
de choisir le meilleur protocol de transport (TCP, UDP) ainsi que de de fixer certains
paramètres.
Synthèse 18
2 Couche application
2.5.1 Encodage
Les règles de représentation des données dans les messages protocolaires doivent at-
teindre les objectifs suivants. (Ces objectifs sont quelque peu contradictoires, des compro-
mis sont donc parfois nécessaires.)
— Space Efficiency : Indique qu’il doit être le plus compact
— Facilité de délimitation : Il doit être facile de déterminer le début et la fin d’un
message.
— Facilité d’analyse : il doit être facile de déterminer le contenu du message
— Transparence des données : les séquences de bits arbitraires doivent être auto-
risées à être transmises Bits arbitraires (ce n’est pas le cas si des valeurs spéciales
ont une signification particulière, comme des délimiteurs).
— Matched tag,codage ASCII ; chaque champ est précédé d’une balise de départ
incluant un mot-clé et terminé par un délimiteur ou une balise de fin correspondante
balise de fin (Compact - et Flexible ++)
Synthèse 19
2 Couche application
Synthèse 20
2 Couche application
UDP, en revanche, est un protocole sans connexion qui ne garantit pas la fiabilité ou
l’ordre de livraison des données. Il est plus rapide et plus efficace que TCP, car il n’établit
pas de connexion et ne nécessite pas de mécanismes de retransmission.
En conclusion, UDP est toujours utilisé pour sa vitesse, sa faible latence, sa consom-
mation de bande passante réduite et sa charge de traitement moindre. Cependant, il n’est
pas adapté aux applications nécessitant une transmission de données fiable.
Synthèse 21
2 Couche application
2.7.2 Performance
[Link] RTT (round-trip time)
T otal = 2RT T + T
HTTP 1.1 est une version améliorée de HTTP 1.0 qui prend en charge les connexions
persistantes pour réduire le temps de latence, la compression de contenu pour améliorer
les performances, une meilleure gestion de la mise en cache des ressources, des indicateurs
de taille de réponse et des messages d’erreur plus détaillés. En résumé, HTTP 1.1 offre
des performances et une gestion de connexion supérieures par rapport à HTTP 1.0.
Synthèse 22
2 Couche application
2.7.3 Cookies
Les cookies sont principalement utilisés pour deux raisons :
— Les sessions utilisateur : Les cookies sont utilisés pour maintenir la session d’un
utilisateur. Lorsqu’un utilisateur se connecte à un site web, un cookie est créé
pour stocker des informations sur sa session, telles que le nom d’utilisateur, les
préférences, etc. Le serveur peut alors utiliser ces informations pour personnaliser
l’expérience utilisateur.
— Le suivi de l’utilisateur : Les cookies sont également utilisés pour suivre les acti-
vités de l’utilisateur sur un site web. Les cookies peuvent être utilisés pour stocker
des informations telles que les pages visitées, les publicités cliquées, les produits
consultés, etc. Ces informations peuvent ensuite être utilisées pour personnaliser
les publicités ou pour analyser le comportement de l’utilisateur sur le site.
Synthèse 23
2 Couche application
2.7.4 Proxy/cache
[Link] web caches(proxy server)
l’objectif est de satisfaire la demande du client sans faire intervenir le serveur d’origine.
Le navigateur est alors forcer d’accèder au web en passant par un serveur de proximité
si le proxy retourne un objet sinon le proxy va faire la demande au serveur d’origine et
va renvoyer l’objet. Cela permettra de réduire le temps de réponse ainsi que de réduire le
trafic.
Synthèse 24
2 Couche application
Synthèse 25
2 Couche application
2.8.2 SMTP
SMTP (Simple Mail Transfer Protocol) est un protocole standardisé utilisé par les
serveurs de messagerie pour transférer des courriers électroniques (e-mails) sur Internet.
Le protocole SMTP est généralement utilisé par les agents de transfert de messages (MTA)
pour acheminer les e-mails d’un serveur à l’autre. (port par défaut : 25 (TCP) )
Synthèse 26
2 Couche application
Synthèse 27
2 Couche application
Synthèse 28
2 Couche application
2.9 DNS
Le DNS (Domain Name System) est un système de noms de domaine qui permet de
traduire les noms de domaine en adresses IP. En d’autres termes, il s’agit d’un service
qui permet de convertir les noms de domaine (comme [Link]) en adresses
IP (comme [Link]) qui sont nécessaires pour que les ordinateurs communiquent sur
Internet.
[Link] Fonctionnement
Lorsqu’un utilisateur tape un nom de domaine dans son navigateur web, celui-ci envoie
une requête de résolution de nom de domaine à un serveur DNS local ou à celui fourni
par son fournisseur d’accès à Internet. Si le serveur DNS local ne connaît pas la réponse à
la requête, il envoie la requête à un autre serveur DNS situé plus haut dans la hiérarchie,
et ainsi de suite, jusqu’à ce qu’une réponse soit trouvée.
Synthèse 29
2 Couche application
Synthèse 30
3 Couche transport
3 Couche transport
3.1 Transport-layer services
3.1.1 Utilisation
Assurer une communication logique entre les processus s’exécutant sur différents hôtes
3.1.2 Où se situe-t-il ?
Les protocoles de transport tournent généralement dans les systèmes terminaux.
— Côté émetteur : il divise l’application en segments, les transmet à la couche
réseau.
— Côté récepteur : il ré-assemble les segments en messages et les transmet à la
couche applicative.
Synthèse 31
3 Couche transport
Les adresses source et de destination ne sont pas suffisantes pour permettre la livraison
des données du paquet vers le bon socket/processus donc, la couche transport effectue les
opérations suivantes sur les données envoyées/reçues :
— Multiplexage consiste à prendre les données de plusieurs sockets de différents
processus et à les combiner en un seul flux de données, qui est ensuite encapsulé
avec un en-tête transport qui contient des informations telles que les adresses source
et de destination, les numéros de port, etc. Ce flux de données est ensuite transmis
à la couche Réseau pour être envoyé sur le réseau.
— Démultiplexage est l’opération inverse du multiplexage, qui est effectuée sur le
récepteur. La couche Transport examine l’en-tête de chaque segment reçu pour
déterminer à quel socket/processus le segment doit être livré. Les données sont
ensuite extraites du segment et livrées au processus approprié.
Synthèse 32
3 Couche transport
2. TCP
— Une connexion TCP est un lien virtuel point à point. Seuls les segments de sa
connexion TCP sont dirigés vers un socket.
— Le quadruplet identifie une paire de sockets, les extrémités de cette connexion
TCP.
Synthèse 33
3 Couche transport
3.3.2 Header
3.3.3 La checksum
[Link] Objectif
Détecter les erreurs dans le segment transmis. Pour cela, la personne envoyant les
données va traiter le contenu du segment comme une séquence d’entier de 16 bit. Il va
alors additionner toutes les valeurs du segment et va placer cette valeur dans le segment
transmis. Une fois que l’information est reçue, on refait la même chose et on regarde qu’on
arrive à la même somme.
Synthèse 34
3 Couche transport
N
X −2
x = −b(N −1) ∗ (2(N −1)
− 1) + bi ∗ 2i (2)
i=0
— b → Représente un bit
Exemple : Prenons par exemple N = 4 ainsi que la représentation de 7 qui est un mot
en binaire traduis en nombre.
Synthèse 35
3 Couche transport
Synthèse 36
3 Couche transport
— RDT 2.0 : une version plus avancée de RDT qui prend des accusés de réception
(ACKs ou Naks) et utilisation de la checksum. Les nouvelles assomptions sont les
suivantes : le canal sous-jacent n’est pas fiable, peut corrompre le paquet (inverser
les bits) et pas de perte de paquets.
Les ACK/ NAK peuvent être corrompu, l’envoyeur ne sait pas ce qu’il
s’est passé chez le destinataire et si retransmis = doublons
Synthèse 37
3 Couche transport
— RDT 2.1 : une amélioration de RDT 2.0 qui permet de gérer les pertes de ACKs
en envoyant des ACKs multiples pour garantir la réception des segments, ajout
d’un numéro de séquence à chaque packet.
Envoyeur
Seq. ajouté au pkt.
Deux seq. s (0,1) suffisent. Pourquoi ?
Il faut vérifier si l’ACK/NAK reçu est corrompu.
Deux fois plus d’états que dans rdt 2.0
(raison : l’état doit se "souvenir" si le pkt "actuel" a 0 ou 1 seq. )
Récepteur
Doit vérifier si le paquet reçu est en double.
L’état indique si 0 ou 1 est attendu pkt seq.
Note : le récepteur ne peut pas savoir si son dernier ACK/NAK
a été reçu OK à l’expéditeur
Synthèse 38
3 Couche transport
— RDT 2.2 : une amélioration du RDT 2.1 mais cette fois en utilisant que les ACKs
Envoyeur
Inclure seq. du paquet ACKé dans l’ACK
Ne pas envoyer de NAK, mais répéter l’ACK du dernier paquet correctement reçu
Il faut vérifier si l’ACK/NAK reçu est corrompu.
Récepteur
Un ACK dupliqué entraîne la même action qu’un NAK : retransmission le paquet
actuel
Synthèse 39
3 Couche transport
— RDT 3.0 : la version la plus avancée de RDT qui utilise des checksums pour
détecter les erreurs, une technique de retransmission rapide pour améliorer les
performances, un timer.
Synthèse 40
3 Couche transport
[Link] Exemple
L 8000bits/packet
Délai de transmission : dtr = R
= 109 bits/sec
= 8µs
dtr
Fraction du temps d’utilisation du lien : U = dtotal
= 0.027%
Synthèse 41
3 Couche transport
Synthèse 42
3 Couche transport
Le protocole de pipeline fonctionne en divisant les données en blocs de taille fixe, appe-
lés segments, et en les transmettant séquentiellement sur différentes connexions en série.
Chaque segment est envoyé sur la première connexion, puis sur la deuxième connexion,
et ainsi de suite, jusqu’à ce qu’il atteigne la destination finale. La destination réassemble
ensuite les segments pour reconstituer les données d’origine.
Exemple
3∗dtr 24∗10−6 s
U (3) = dtotal
= 3∗10−2 s+8∗10−6 s
= 0.079%
Combien de paquets doivent être envoyés à chaque RTT pour atteindre l’utilisation
maximale, c’est-à-dire 100% ?
N = RT T
dtr
= RT T ∗ RL
Exemple
109
N = 0.03 ∗ 8000
= 3.750packets
dtr +2dpr
U (W ) = 1siW >= dtr
Sinon U (W ) = W ∗dtr
dtr +2dpr
Synthèse 43
3 Couche transport
3.4.6 Go-Back-N
[Link] Principes
— Sliding Window : La fenêtre glissante est une méthode de contrôle de flux utilisée
dans les réseaux de communication. Elle permet à l’émetteur d’envoyer une série de
paquets sans attendre de confirmation pour chacun d’eux. La fenêtre glissante est
un sous-ensemble de N paquets consécutifs que l’émetteur est autorisé à envoyer
avant que le premier de ces paquets ne soit confirmé. La fenêtre avance lorsque
l’ACK est reçu pour le premier paquet dans la fenêtre.
— Out of order packets : Les paquets hors séquence sont des paquets qui n’arrivent
pas dans l’ordre attendu par le destinataire. Ces paquets peuvent être écartés par
le destinataire si leur réception n’affecte pas le flux de données.
Synthèse 44
3 Couche transport
Synthèse 45
3 Couche transport
[Link] In action
Synthèse 46
3 Couche transport
— Sliding Window : La fenêtre glissante est une méthode de contrôle de flux utilisée
dans les réseaux de communication, telle que définie dans le protocole Go-Back-N.
Elle permet à l’émetteur d’envoyer une série de paquets sans attendre de confir-
mation pour chacun d’eux. La fenêtre glissante est un sous-ensemble de paquets
consécutifs définis dans le protocole, que l’émetteur est autorisé à envoyer avant
que le premier de ces paquets ne soit confirmé. La fenêtre avance lorsque l’ACK
est reçu pour le premier paquet dans la fenêtre, mais les autres paquets dans la
fenêtre peuvent également être confirmés par des ACK.
— Out of Order Packets : Les paquets hors séquence sont des paquets qui n’ar-
rivent pas dans l’ordre attendu par le destinataire. Dans le protocole Go-Back-N,
ces paquets sont mis en mémoire tampon par le destinataire dans une fenêtre de
réception jusqu’à ce qu’ils puissent être placés dans le flux de données dans le bon
ordre.
Synthèse 47
3 Couche transport
Synthèse 48
3 Couche transport
[Link] In action
Synthèse 49
3 Couche transport
— Les numéros de séquence sont généralement encodés dans les paquets sous la forme
d’une séquence Mbit séquence.
— M bits permettent d’obtenir 2M numéros de séquence différents. Nous appelons cet
l’espace des numéros de séquence.
— Si la conversation contient plus de 2 millions de messages, le numéro de séquence
sera enroulé et recommencera à partir de 0.
— Conséquence : risque d’ambiguïté en cas de retransmission ?
Dans le scénario ci-dessous, on ne voit aucune différences, ils passent tous deux des
données dupliqués dans le scénario d’une perte de ACK.
Mais alors comment empêcher cela d’arriver ? Quelle doit être la taille de la fenêtre (N)
et l’espace seq. (2M ) sont-elles liées ?
— Dans le pire des cas, le destinataire a une fenêtre d’avance par rapport à l’expédi-
teur.
— Dans ce cas, 2N séquences différentes sont nécessaires, d’où 2M >= 2N
Synthèse 50
3 Couche transport
Synthèse 51
3 Couche transport
Le problème est que, lorsqu’un grand nombre de petits paquets sont envoyés, cela peut
entraîner une surcharge du réseau. Cela peut se produire car le protocole de transport
TCP utilise des segments de données plus grands pour transférer les données, ce qui peut
entraîner une inefficacité dans la transmission des petits paquets. En effet, si les petits
paquets sont envoyés dans des segments plus grands, cela peut créer un espace vide (ou
"padding") qui gaspille de la bande passante et peut augmenter la congestion du réseau.
Synthèse 52
3 Couche transport
Si le timeout est trop court, le paquet peut être renvoyé trop rapidement, ce qui peut
entraîner une surcharge du réseau. Si le timeout est trop long, cela peut entraîner des
retards importants dans la transmission des données.
Mais alors comment estimer le RTT ? Pour cela, on va calculer le smoothed RTT
(SRTT).
EstimatedRT T = (1 − α) ∗ EstimatedRT T + α ∗ SampleRT T
— EstimatedRTT est la valeur du RTT lissé (en secondes) après avoir reçu un
échantillon de RTT.
— alpha est un facteur de pondération, généralement fixé à 0,125.
— SampleRTT est l’échantillon de RTT le plus récent (en secondes) mesuré pour
un paquet envoyé.
Comment
Pi calculer le EWMA
i−k
k=0 α ∗ (1 − α) ∗ Rk
Synthèse 53
3 Couche transport
Synthèse 54
3 Couche transport
Synthèse 55
3 Couche transport
Arrivée d’un segment en ordre avec Envoi immédiat d’un seul ACK cu-
numéro de séquence attendu. Un mulatif ACK, ACK des deux seg-
autre segment segment a un ACK ments dans l’ordre
en attente
Arrivée d’un segment qui comble Envoi immédiat d’un ACK, à condi-
partiellement ou totalement la la- tion que le segment commence à
cune l’extrémité inférieure de l’intervalle
Avantages de la génération rapide Inconvénients de la génération rapide
Auto-clocking : chaque ACK déclenche l’en- Surcharge si l’ACK ne peut pas être piggy-
voi de nouveaux segments (avance la fenêtre backed dans les segments de données seg-
coulissante). segments (avance de la fenêtre ments
coulissante)
Empêcher la retransmission (en raison du dé- Syndrome de la fenêtre muette lorsque la fe-
lai d’attente de l’expéditeur) nêtre du récepteur est presque pleine (voir
contrôle de flux plus loin)
Permet d’augmenter la taille de la fenêtre
et d’accroître débit (surtout en phase de dé-
marrage lent, voir plus loin le contrôle de la
congestion plus loin)
Synthèse 56
3 Couche transport
— Détecter plus tôt les segments perdus grâce à des ACK en double.
— Renvoyer le segment avant l’expiration du délai
— Si l’expéditeur reçoit 3 ACK en double pour les mêmes données, il suppose que le
segment suivant les données ACK a été perdu.
Synthèse 57
3 Couche transport
[Link] Principes
— Le récepteur annonce l’espace libre en l’incluant dans les segments rwnd = rbuf_size
- (last_byte_recvd - last_byte_read)
— L’expéditeur limite les données envoyées dans le pipeline (données nonACK) (last_byte_sent
- last_byte_acked) <= min(N, rwnd)
[Link] Header
Synthèse 58
3 Couche transport
Combien de bits peuvent être envoyés dans le tuyau avant que le premier
ACK ne soit reçu ?
Window Scale option mentionne un facteur d’échelle de fenêtre facteur d’échelle de fenêtre
N tel que la taille réelle de la fenêtre est ( rwnd 2N )
Synthèse 59
3 Couche transport
Synthèse 60
3 Couche transport
Synthèse 61
3 Couche transport
[Link] DDOS
Le DOS (Denial of Service) est une attaque informatique visant à rendre un service
ou un site web inaccessible en submergeant le serveur cible avec une quantité excessive
de trafic réseau.
La solution avec TCP SYN Cookies est une méthode de protection contre les attaques DOS
basées sur le protocole TCP (Transmission Control Protocol). Cette solution implémente
une technique qui utilise des cookies pour identifier les clients légitimes et les distinguer
des clients malveillants. Lorsqu’un client envoie une demande de connexion TCP (SYN),
le serveur crée une signature numérique unique (un cookie) à partir de l’adresse IP et
du numéro de séquence du client. Si le serveur reçoit ensuite une réponse de la part du
client, il peut vérifier le cookie pour s’assurer qu’il s’agit bien du client qui a initialement
demandé la connexion. Si le cookie est valide, la connexion est établie normalement. Si le
cookie est invalide ou manquant, le serveur suppose que la demande est malveillante et
ne répond pas, ce qui permet de se protéger contre les attaques de type SYN flooding.
Synthèse 62
3 Couche transport
[Link] Objectifs
[Link] Self-clocking
— Rappelons que TCP utilise une fenêtre coulissante pour suivre les paquets en at-
tente d’accusé de réception.
— Chaque fois qu’un ACK arrive, la fenêtre glisse, ce qui déclenche la transmission
de nouveaux paquets
Synthèse 63
3 Couche transport
[Link] En pratique
Synthèse 64
3 Couche transport
— Après 3 dup ACKs : cwnd est réduit de moitié, la fenêtre croît alors linéairement.
Il s’agit d’une récupération rapide.
— Après le délai d’attente : le cwnd est plutôt fixé à 1 MSS ; la fenêtre croît ensuite
de façon exponentielle jusqu’à ssthresh, puis de façon linéaire. exponentiellement
jusqu’à ssthresh, puis croît linéairement.
Synthèse 65
4 Couche Réseau
4 Couche Réseau
4.1 Introduction
4.1.1 Principe
— Segment de transport entre l’hôte émetteur et l’hôte récepteur à l’hôte destinataire.
— du côté de l’envoi encapsule les segments en datagrammes
— du côté de la réception, délivre les segments à la couche transport.
— les protocoles de la couche réseau existent dans chaque routeur et chaque hôte.
— le routeur examine les champs d’en-tête de tous les datagrammes IP qui passent à
travers lui
[Link] Routing
— Déterminer le chemin (route) emprunté par les paquets de la source à la destination
(effectué en collaboration par plusieurs routeurs).
— Rôle des algorithmes et des protocoles de routage
— Fonction du "plan de contrôle"
Synthèse 66
4 Couche Réseau
4.2 Switching
4.2.1 Définition
La commutation définit la manière dont un élément de réseau transmet les données
arrivant à l’une de ses entrées à l’une de ses sorties (unicast) ou à plusieurs sorties (mul-
ticast).
Synthèse 67
4 Couche Réseau
4.2.3 Packet-switching
[Link] Principe
— Paquets = données + adresse de destination.
— Sans connexion : paquet autonome, c’est-à-dire qu’il spécifie complètement au com-
mutateur la destination finale où il doit être acheminé.
— Chaque paquet doit être analysé par le commutateur pour obtenir la destination
finale.
Synthèse 68
4 Couche Réseau
Synthèse 69
4 Couche Réseau
D’autres réseaux d’interconnexion, tels que les réseaux Banyan, ont été développés à
l’origine pour connecter des processeurs dans des systèmes multiprocesseurs afin de sur-
monter ces problèmes.
Synthèse 70
4 Couche Réseau
Synthèse 71
4 Couche Réseau
Synthèse 72
4 Couche Réseau
[Link] IP fragmentation
— Les liaisons réseau ont une taille maximale de transfert (MTU).
— Chemin de bout en bout = différents types de liaisons, différents MTU.
— Si (MTU de la liaison < longueur du datagramme) → datagramme divisé en plu-
sieurs fragments (également datagrammes)
— Les fragments de datagramme ne sont "réassemblés" qu’à la destination finale.
— Les bits de l’en-tête IP sont utilisés pour identifier et ordonner les fragments ap-
parentés.
Synthèse 73
4 Couche Réseau
4.4.2 Adressage IP
[Link] Introduction
L’adressage IP est un système utilisé pour identifier et localiser des ordinateurs et des
périphériques dans un réseau informatique. Chaque ordinateur ou périphérique dans le ré-
seau est attribué une adresse IP unique, qui est une série de chiffres séparés par des points.
Ces adresses IP permettent aux ordinateurs de communiquer les uns avec les autres en
utilisant le protocole Internet (IP). Lorsqu’un ordinateur envoie des données à un autre
ordinateur dans le réseau, il utilise l’adresse IP de destination pour acheminer les données
à l’ordinateur approprié.
Il existe deux versions d’adresses IP, IPv4 et IPv6. IPv4 est la version la plus courante
et utilise une adresse IP composée de 4 octets (chiffres de 0 à 255). Cependant, avec la
croissance continue d’Internet et du nombre d’appareils connectés, IPv6 a été développé
pour fournir un nombre d’adresses plus grand. Les adresses IPv6 sont plus longues que
les adresses IPv4 et sont composées de huit groupes de quatre chiffres hexadécimaux.
[Link] Allocation
— L’adressage IPv6 offre un grand espace d’adressage avec environ 3.4E38 adresses,
ce qui est considérablement plus élevé que les 4.3E9 adresses offertes par IPv4.
— Les adresses IPv4 et IPv6 sont attribuées de manière organisée pour éviter les
doublons.
— Les adresses IP sont divisées en blocs d’adresses ou réseaux IP pour faciliter l’iden-
tification des ordinateurs et des périphériques dans un réseau.
Synthèse 74
4 Couche Réseau
[Link] IP Networks
— Chaque réseau IP utilise un bloc d’adresses IP différent (dans l’exemple, les adresses
de classe C sont utilisées).
— Au sein de chaque réseau IP, chaque interface s’est vu attribuer un hôte/interface
différent, et donc une adresse IP différente.
— Les routeurs sont utilisés pour faire passer les paquets d’un réseau IP à un autre.
— Les réseaux IP connectés par des routeurs forment un réseau internet.
[Link] Sous-réseau
— Problème de l’adressage par classe : un nouveau réseau IP doit être attribué pour
chaque nouveau segment (LAN ou lien)
— Solution : le sous-réseau (subnetting)
— Principe : utiliser un seul réseau IP et emprunter certains des bits d’hôte pour
identifier les sous-réseaux (subnets)
Exemple :
Si on a par exemple une adresse ip [Link], on a besoin de créer 6 sous-réseaux → et
de prendre 3 bits (sous-réseau)
Synthèse 75
4 Couche Réseau
Synthèse 76
4 Couche Réseau
[Link] Arithmétique
— Il est souvent utile d’ajouter un nombre entier à une adresse IP pour obtenir une
autre adresse IP.
— Par exemple, considérons [Link]/18 ?
— Sa partie hôte comporte (32-18) = 14 bits.
— Par conséquent, elle contient 214 = 16384 adresses
— La dernière adresse à l’intérieur du sous-réseau est la suivante :
[Link] + (16384 - 1) = [Link]
— La première adresse qui suit ce sous-réseau est la suivante :
[Link] + 16384 = [Link]
A [Link]/25
B [Link]/25
.. ..
n 2k
B 50 64 [Link]/26
A 20 32 [Link]/27
.. .. .. ..
Synthèse 77
4 Couche Réseau
Synthèse 78
4 Couche Réseau
4.4.3 Forwarding
[Link] IP Forwarding
Transfert pour les hôtes
— N interfaces physiques (NIC)
— (N+1) adresses IP (une par NIC + adresse loopback)
— routeur passerelle offrant une connectivité vers des destinations distantes.
Toutefois, il n’est pas pratique que la table de transfert IP contienne une entrée pour
chaque destination individuelle, car cela nécessiterait une énorme quantité de mémoire.
Pour IPv4, il y a 232 , soit 4 294 967 296, adresses de destination possibles. Au lieu de cela,
la table de transfert utilise une technique appelée agrégation de routes pour regrouper les
destinations en plages qui peuvent être associées à une seule interface de liaison sortante
et à un seul routeur de saut suivant. Chaque plage est spécifiée sous la forme d’un couple
(adresse, masque) ou (préfixe, longueur), où le préfixe représente l’adresse du réseau et
la longueur spécifie le nombre de bits du masque. Cela permet à la table de transfert
d’être beaucoup plus compacte tout en étant capable d’acheminer les paquets vers leur
destination correcte.
Synthèse 79
4 Couche Réseau
Au niveau d’une application, on peut représenter le LMP comme étant un arbre binaire.
Cependant en ce qui concerne la manière physique, il faut prendre en compte les choses
suivantes :
— LPM est l’abréviation de Longest Prefix Match, une technique utilisée dans les
réseaux pour trouver le chemin d’acheminement d’un paquet sur la base du préfixe
correspondant le plus long dans la table de routage. Les implémentations maté-
rielles du LPM s’appuient sur les mémoires ternaires adressables par le contenu
(TCAM) pour effectuer une correspondance rapide et efficace des préfixes.
— Les mémoires CAM ternaires (TCAM) sont un type de mémoire adressable par le
contenu qui peut correspondre à des valeurs de bits de 0 et 1, ainsi qu’à une valeur
"sans importance" représentée par "x". Cette valeur "indifférente" peut être soit 1,
soit 0, en fonction de l’application spécifique. Les CAM ternaires sont couramment
utilisées dans les équipements de réseau, tels que les routeurs et les commutateurs,
pour effectuer des recherches rapides dans les tables.
— Contrairement à la RAM standard, à laquelle on accède en utilisant des adresses
mémoire pour lire ou écrire des données, la mémoire adressable par le contenu ef-
fectue une recherche de certaines données en comparant les données recherchées à
toutes ses entrées en parallèle. La mémoire adressable par contenu est donc beau-
coup plus rapide que la mémoire vive ordinaire pour certains types de recherche,
comme la correspondance des préfixes dans les tables de routage.
— La CAM est également utilisée pour fabriquer des mémoires cache dans les ordina-
teurs. Par exemple, la mémoire cache de l’unité centrale utilise la CAM pour stocker
Synthèse 80
4 Couche Réseau
L’agrégation n’est pas toujours possible. Les FAI-R-U doivent annoncer une route plus
une route plus spécifique au client 1 puisque ce dernier a précédemment obtenu son préfixe
auprès de Fly-By-Night-ISP.
[Link] IP Statique
— fourni par l’administrateur du réseau
— configuré manuellement dans le système d’exploitation
— comprend l’adresse IP + le masque de sous-réseau
Synthèse 81
4 Couche Réseau
4.4.4 DHCP
[Link] Le but du DHCP
Le but du DHCP (Dynamic Host Configuration Protocol) est de permettre à des
appareils (comme des ordinateurs, des téléphones, des imprimantes, etc.) de se connecter
à un réseau informatique et d’obtenir automatiquement une configuration réseau, sans
avoir besoin de la configurer manuellement.
Synthèse 82
4 Couche Réseau
Synthèse 83
4 Couche Réseau
Synthèse 84
4 Couche Réseau
Solution
1. Le relais transmet les demandes du client au serveur DHCP
— unicast vers le serveur ([Link]) en utilisant sa propre adresse comme source.
([Link])
— l’adresse de la passerelle (giaddr) est définie sur l’adresse IP de l’interface qui
a reçu le message DHCP (par exemple [Link])
2. Serveur
— sélectionne l’adresse IP dans le champ d’application en fonction de giaddr
— envoie la réponse à l’agent de relais initial ([Link])
3. Le relais transmet la réponse du serveur au client
— la destination de la réponse reçue doit être l’adresse de l’interface de l’agent
— la réponse est envoyée en unicast à l’adresse du client (physique) ou diffusée
dans le sous-réseau
Synthèse 85
4 Couche Réseau
4.4.5 NAT
[Link] Définition
NAT signifie "Network Address Translation" (Traduction d’Adresse Réseau en fran-
çais). C’est une technique utilisée dans les réseaux informatiques pour permettre à plu-
sieurs ordinateurs ou périphériques d’une réseau local (LAN) de partager une seule adresse
IP publique pour communiquer sur Internet.
Lorsque plusieurs appareils d’un réseau local se connectent à Internet, ils partagent gé-
néralement une même adresse IP publique fournie par le fournisseur d’accès à Internet
(FAI). Cependant, les adresses IP privées uniques sont attribuées à chaque appareil dans
le réseau local. C’est là que le NAT entre en jeu pour faciliter la communication.
Synthèse 86
4 Couche Réseau
4.4.6 ICMP
[Link] Vue d’ensemble
Utilisé par les hôtes et les routeurs pour communiquer des informations au niveau du
réseau
— Signalement d’erreurs hôte inaccessible, réseau, port, protocole
— Diagnostic de l’accessibilité demande/réponse d’écho, utilisée par exemple ping
— Couche réseau "au-dessus" de l’IP qui transportent les messages ICMP dans les
datagrammes IP
[Link] Header
Synthèse 87
4 Couche Réseau
4.4.7 IPv6
[Link] Pourquoi utilisé IPV6
— Espace d’adressage 32 bits presque entièrement alloué.
— Espace d’adressage de 128 bits (2128 > 3.4*1038)
— Exemple d’adresse : 2a00 :1450 :400c :c00 : :5e (2a00 :1450 :400c :0c00 :0000 :0000 :0000 :005e)
— Le format de l’en-tête permet d’accélérer le traitement/la transmission
— Modifications de l’en-tête pour faciliter la qualité de service
— Modifications de l’en-tête pour permettre des fonctions optionnelles, des extensions
futures
[Link] Entête
Synthèse 88
4 Couche Réseau
Tous les hôtes et routeurs ne peuvent pas être mis à niveau simultanément
— Pas de "journées drapeau"
— Comment le réseau peut-il fonctionner avec des routeurs IPv4 et IPv6 mixtes ?
Solutions
— Double pile (Dual-stack)
— Tunneling : IPv6 transporté en tant que charge utile dans un datagramme IPv4
entre les routeurs IPv4 (essayer par exemple [Link])
[Link] Tunneling
Le tunneling est une technique utilisée pour transporter un protocole de couche réseau
(comme IPv6) à travers un réseau qui ne prend pas en charge ce protocole (comme un
réseau IPv4). Le tunneling permet de créer un tunnel logique entre deux extrémités, qui
encapsule les paquets du protocole d’origine dans des paquets d’un autre protocole qui
peut être transporté sur le réseau.
Dans le cas spécifique de l’IPv6 transporté sur un réseau IPv4, le tunneling consiste
à encapsuler les paquets IPv6 dans des paquets IPv4, qui sont ensuite transmis sur le
réseau IPv4. Les routeurs IPv4 sur le chemin du tunnel ne sont pas conscients du contenu
des paquets encapsulés, car ils ne sont pas équipés pour comprendre IPv6. Lorsque le
paquet IPv4 encapsulant un paquet IPv6 arrive à l’extrémité du tunnel, le paquet IPv6
est extrait de l’encapsulation et traité comme un paquet IPv6 normal.
Synthèse 89
4 Couche Réseau
Synthèse 90
4 Couche Réseau
Synthèse 91
4 Couche Réseau
Synthèse 92
4 Couche Réseau
Synthèse 93
4 Couche Réseau
[Link] Notations
— c(x,y)
— coût du lien entre le nœud x et le nœud y. Hypothèse, c(x,y) 0.
— Convention c(x,y) = + si x et y ne sont pas voisins directs.
— D(v) : valeur actuelle (estimation) du coût du chemin de la source au nœud de
destination v.
— p(v) : nœud prédécesseur actuel (estimation) le long du chemin allant de la source
àv
— N’ : ensemble des nœuds dont le chemin de moindre coût est définitivement connu
[Link] Relaxation
Dans l’algorithme de Dijkstra, la relaxation est le processus de mise à jour de la valeur
actuelle d’un sommet dans la table des coûts. Plus précisément, la relaxation est effectuée
pour chaque arête (u, v) adjacente à un sommet u. Si le coût actuel de la source à v est
supérieur à la somme du coût actuel de la source à u et du coût de l’arête (u, v), alors
le coût actuel de la source à v est mis à jour en utilisant cette nouvelle somme de coûts,
et u devient le prédécesseur de v dans le chemin le plus court. En d’autres termes, la
relaxation consiste à améliorer l’estimation de la distance la plus courte entre la source et
un nœud donné en utilisant les informations sur le coût le plus court connu pour atteindre
les nœuds voisins.
Synthèse 94
4 Couche Réseau
[Link] Exemple
Step N’ D(u),p(u) D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z)
init 0,NIL +,NIL +,NIL +,NIL +,NIL +,NIL
1 u 2,u 5,u 1,u +,NIL +,NIL
2 u,x 2,u 4,x 2,x +,NIL
3 u,x,v 4,x 2,x +,NIL
4 u,x,v,y 3,y 4,y
5 u,x,v,y,w 4,y
6 u,x,v,y,w,z
Synthèse 95
4 Couche Réseau
Synthèse 96
4 Couche Réseau
[Link] Fonctionnement
1. Chaque nœud envoie périodiquement son vecteur de distance à tous ses voisins.
2. Chaque nœud utilise les vecteurs de distance reçus de ses voisins pour mettre à
jour son propre vecteur de distance.
3. Chaque nœud calcule le coût du chemin le plus court vers chaque nœud en utilisant
son vecteur de distance mis à jour et le diffuse à tous ses voisins.
4. Les étapes 2 et 3 sont répétées jusqu’à ce que tous les nœuds convergent vers les
mêmes vecteurs de distance.
[Link] Exemple
Synthèse 97
4 Couche Réseau
Step x y z
Dx(x)=0 Dx(x)=0 Dx(x)=0
init Dy(x)=4 Dy(x)=4 Dy(x)=4
Dz(x)=5 Dz(x)=5 Dz(x)=5
Dx(x)=0
1 Dy(x)=6
Dz(x)=5
Dx(x)=0
2 Dy(x)=6
Dz(x)=7
Dx(x)=0
3 Dy(x)=8
Dz(x) = 7
Dx(x)=0
4 Dy(x)=6
Dz(x)=9
Synthèse 98
4 Couche Réseau
Step x y z
Dx(x)=0 Dx(x)=0 Dx(x)=0
init Dy(x)=+∞ Dy(x)=4 Dy(x)=4
Dz(x)=5 Dz(x)=+∞ Dz(x)=5
Dx(x)=0
1 Dy(x)=60
Dz(x)=+∞
Dx(x)=0
2 Dy(x)=60
Dz(x)=50
Dx(x)=0
3 Dy(x)=51
Dz(x)=50
Dx(x)=0
4 Dy(x)=+∞
Dz(x)=50
Synthèse 99
5 Couche Liaison
5 Couche Liaison
5.1 Introduction and services
5.1.1 Quelques termes
— les hôtes et les routeurs sont des nœuds
— des canaux de communication qui relient les nœuds adjacents le long d’un le long
du chemin de communication sont des liens
— liaisons câblées
— les liaisons sans fil
— les réseaux locaux
— Un paquet de couche 2 est une trame, encapsule le datagramme
Synthèse 100
5 Couche Liaison
Synthèse 101
5 Couche Liaison
(8)
= x 4 + x3 + x2 + 1 (9)
— Multiplication de 2 polynômes
Synthèse 102
5 Couche Liaison
[Link] Principe
— Message M(x) : polynôme de degré n-1
— Générateur G(x) : polynôme de degré k sur lequel l’expéditeur et le destinataire se
mettent d’accord (cela fait généralement partie du protocole).
— Mot codé C(x) : polynôme de degré n+k-1 dérivé de M(x). Propriété : C(x) =
A(x)G(x), c’est-à-dire que C(x) est un multiple de G(x).
[Link] Exemple
— Message 110101 à coder en utilisant CRC-16, c’est-à-dire avec polynôme G(x) =
x16 + x15 + x2 + 1
— Le générateur a un degré de 16 → longueur du mot de code= 6+16=22
— Le mot codé est composé du message décalé de 16 bits vers la gauche (c’est-à-dire
multiplié par x16). bits vers la gauche (c’est-à-dire multiplié par x16). Les 16 bits
restants proviennent de R(x) qui est le reste de la division de M(x) * x16 par G(x).
(16)
Synthèse 103
5 Couche Liaison
— Si le reste n’est pas nul, le récepteur conclut que le message a été corrompu. que
le message a été corrompu.
— Notez que si E(x) est également un multiple de G(x), l’erreur passera inaperçue !
Synthèse 104
5 Couche Liaison
[Link] Exemple
— ALOHA, ALOHA à fente
— CSMA, CSMA/CD (par exemple Ethernet), CSMA/CA (par exemple WiFi)
Synthèse 105
5 Couche Liaison
[Link] Variantes
— CSMA(1-persistant) : Consiste à surveiller en permanence le canal et à trans-
mettre immédiatement lorsque le canal est inactif. Cependant, cela peut entraîner
des problèmes de synchronisation et de collisions, ce qui peut avoir un impact
négatif sur les performances du réseau.
— CSMA(p-persistant) : Lorsque le canal est inactif, les stations émettent avec
une probabilité p ou attendent une unité de temps (avec une probabilité p).
— CSMA non presistant : Pour éviter la synchronisation, lorsque le canal est
occupé, les stations attendent un temps aléatoire avant d’effectuer une nouvelle
tentative soit faite
[Link] Sondage
— Le nœud maître "invite" nœuds esclaves à transmettre à leur tour tour
— Généralement utilisé avec des esclaves "muets".
— Problèmes
— Surcharge d’interrogation
— Latence
— Point de défaillance unique (maître)
Synthèse 106
5 Couche Liaison
Synthèse 107
5 Couche Liaison
Synthèse 108
5 Couche Liaison
Synthèse 109
5 Couche Liaison
5.6 Ethernet
Ethernet est considéré comme la technologie LAN filaire "dominante" en raison de son
utilisation généralisée et de sa capacité à suivre la course à la vitesse. Les cartes réseau
Ethernet sont également relativement bon marché, certaines options coûtant environ 20
dollars. Ethernet a été la première technologie LAN largement utilisée et reste populaire
en raison de sa simplicité et de sa rentabilité par rapport à d’autres technologies LAN
telles que les réseaux locaux à jeton et l’ATM. Au fil des ans, Ethernet a continué d’évoluer
et d’augmenter sa vitesse, avec la capacité de gérer des taux de transmission de données
de 10 Mbps à 10 Gbps et au-delà. Malgré l’émergence de nouvelles technologies LAN, le
prix abordable, la fiabilité et la compatibilité d’Ethernet en ont fait un choix populaire
pour les entreprises et les consommateurs.
Synthèse 110
5 Couche Liaison
Synthèse 111
5 Couche Liaison
Synthèse 112
5 Couche Liaison
[Link] Fonctionnement
— Apprentissage initial : Lorsqu’un appareil est connecté pour la première fois, le
commutateur enregistre son adresse MAC et le port par lequel les données arrivent.
— Enregistrement des adresses MAC : Le commutateur enregistre les adresses
MAC source des paquets avec les ports correspondants dans sa table.
— Décision de commutation : Lorsqu’un paquet arrive avec une adresse MAC de
destination, le commutateur regarde sa table pour trouver le port associé à cette
adresse et envoie le paquet uniquement à ce port.
— Mise à jour dynamique : La table d’adresses MAC est mise à jour à mesure que
les appareils se connectent ou se déconnectent, enregistrant de nouvelles adresses
et associant des adresses modifiées à de nouveaux ports.
— Expiration des entrées : Les entrées obsolètes sont supprimées de la table après
un certain temps d’inactivité pour maintenir l’efficacité de la table.
Synthèse 113