Introduction aux Réseaux Informatiques
Introduction aux Réseaux Informatiques
Bastien Fayolle
17 janvier 2024
Réseaux 17 janvier 2024
Le modèle OSI 3
Détail du modèle : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Mnémotechnique : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Fonctionnement du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Principe de l’encapsulation : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Avantage du modèle en couche: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Remarque : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Exemple OSI : le mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Internet Protocol 9
Objectif : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Les différents types d’adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Adresses IP privés, non routables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Structure d’un datagramme IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Fragmentation des paquets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Exemple de fragmentation: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Bastien Fayolle 1
Réseaux 17 janvier 2024
Le routage 23
Translation d’adresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
La translation d’adresses avec les numéros de ports. . . . . . . . . . . . . . . . . . . . 24
Types de routages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
RIP : Routing Information Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
OSPF : Open Shortest Path First . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Bastien Fayolle 2
Réseaux 17 janvier 2024
Modalités de contrôle
• 12h de CM
• 18h de TP
• Un exam terminal de 1h (100%)
Objectif :
Réseaux informatiques : Assurer l’intercommunciation de plusieurs hôtes, quelque soit leurs natures
(Smartphone, pc, imprimantes)
Le modèle OSI
Un modèle qui forme un cadre “théorique” pour assurer l’interconnection des machines et donc
minimiser les efforts à déployer pour rendre tout cela accesible et fonctionnel.
Bastien Fayolle 3
Réseaux 17 janvier 2024
Figure 1: Le modèle OSI classe les différentes règles de communication d’un réseau en 7 couches
Bastien Fayolle 4
Réseaux 17 janvier 2024
Détail du modèle :
1. S’occuper d’envoyer/recevoir les inforoamtion sous formes de signaux (ethernet, Wifi , 5G)
2. Fournit un adressage physique des interfaces réseaux, protocles de communication pour la
couche 1
3. Protocole plus haut niveau pour asurer l’interconnexion entre plusieurs réseaux (IP ,ICMP),
adressage logique
4. Transport : gère la communication de bout en bout (TCP, UDP)
5. Session : Notion d’identification RPC/PPTP/PAP
6. Présentation modification des donnéees de la couche 7 (cryptage, compression)
7. Application : tous ce qui est accessible au programmeur
Bastien Fayolle 5
Réseaux 17 janvier 2024
Mnémotechnique :
Fonctionnement du modèle
Le fonctionnement des couches peuvent être indépendante les unes des autres. Si on doit faire une
modication , on ne modifiera que la couche concernée.
Principe de l’encapsulation :
• 6. .. .
• 5. .. .
Bastien Fayolle 6
Réseaux 17 janvier 2024
Bastien Fayolle 7
Réseaux 17 janvier 2024
• Chaque partie est indépendante et les modifications de protocoles d’une couches sont facilités
• Inconvénient : ca fait des message de taille importante
Remarque :
Bastien Fayolle 8
Réseaux 17 janvier 2024
• Choix du protocole d’envoi (SMTP) et transmission des données à la couche Présentation via
Application.
• Compression des données et transmission de ces dernières à la couche Session via Présentation.
• Ouverture d’une session de communication avec le serveur mail via Session.
• La session établie, la couche transport va segmenter les données Pour s’assurer de la bonne
livraison des paquets, le protocole TCP est sélectionné et le bon port défini également.
• La partie Réseau va préciser votre adresse IP et l’adresse IP du destinataire et décomposer les
segments en paquets.
• Les paquets sont décomposés en trames dans la couche liaison, et transmis à la couche physique.
• La couche physique va convertir les trames en bits pour les envoyer via un support physique
comme la fibre.
L’email va parvenir jusqu’au réseau local du récepteur, par wifi par exemple, et suivre le chemin inverse.
Les données seront rassemblées progressivement jusqu’à s’afficher en texte sur un écran.
Internet Protocol
Objectif :
• adresse réseaux
• Adresse machine à l’intérieur du réseaux
Pour IPv4 :
Bastien Fayolle 9
Réseaux 17 janvier 2024
Bastien Fayolle 10
Réseaux 17 janvier 2024
Chaque machine dispose d’une interface réseau virtuelle appelée loopback 127.0.0.1
Les adresses de broadcast (diffusion) : tout les bits de la partie hôte sont à 1 : le message est destiné à
toutes les machines
Broadcast universelle : Si tous les bit de l’adresse (réseaux + hote) sont à 1 (255.255.255.255) toutes les
machins sont concernés
Dans le serveur, 0.0.0.0 n’est pas une vraie adresse IP, elle représente toutes les adresses IPV4 de la
machine.
Bastien Fayolle 11
Réseaux 17 janvier 2024
Figure 6: Un datagramme IP
• 20 octets minimum
• De la version à l’@IP : Obligatoire
• Type de service (TOS) : indique comment le programme datagramme doit être traité
Bastien Fayolle 12
Réseaux 17 janvier 2024
Longueur maximale d’un paquet IP : environ 65 ko La plupart des réseaux physiques ont un MTU
(Maximum transfer Unit) faible (1500 octets)
Mais comment se passe le transfert de paquets sur les réseaux physique lorsque le MTU est plus faible
que la taille du paquet IP ?
• Les paquets IP trop volumineux sont découpés en morceaux plus petits. Chaque routeur, en
fonction du MTU, va découper les paquets.
• La reconstitution à lieu du coté du destinataire.
• On utilise pour cela l’identifiant du paquet pour retrouver les morceaux.
• A l’arrivée du premier message avec l’identifiant x, la machine utilise un temporisateur.
• Si tous les fragments avec un identifiant arrivent dans les temps, on peut les rassembler, si il en
manque, on détruit tout les fragment de x déjà reçu.
• couple unique : identifiant + @IP Source
• Pour ré-assembler complètement un fragment, on va avoir besoin d’informations supplémentaire
: la position de chacun des fragments dans le datagramme original
• Drapeaux : 3bits,
1. 0 toujours
2. DF ( Don’t fragment) : est à 1 seulement si l’expéditeur le décide, peut être utilisé pour
estimer le MTU sur le chemin (en augmentant la taille des data jusqu’a obtenir un message
ICMP “paquet non-fragmentable”)c
Bastien Fayolle 13
Réseaux 17 janvier 2024
3. MF (More Fragment) : il existe d’autre fragment qui vont “après” dans le datagramme original
Déplacement de fragment (13 bits) : indique la position du premier octet de données du paquet reçu
dans la partie donnée du paquet d’origine. Le premier fragment à donc toujours la valeur 0 (position
du premier octet), de même que tous paquets non fragmentés.
Exemple de fragmentation:
Soit un message original de 1600 octets (1580 de donnée utile), MTU : 500 octets : 4 morceaux
Routage
Le but de IP est de garantir l’acheminement à destination des datagrammes IP. Si le réseau est connexe,
on doit pouvoir trouver un chemin de A à B Pour déterminer la route, on s’appuie sur l’Adresse IP du
destinataire → @Réseau
Si A et B sont connecté au même réseau : remise directe, comme les 2 machine sont sur le même réseau,
pas besoin de faire appel à un routeur. A.R.P. → correspondance @IP ←→ @MAC
Remise indirecte : SI le machine A et B ne sont pas sur le même réseau locale. L’utilisation du routeur
(une machine connectée à 2 réseaux) est donc nécessaire
Chaque routeur doit être capable pour chaque Datagramme qu’il reçoit de déterminer la route vers la
Destination. Il a seulement besoin de déterminer vers quel routeur voisin il va envoyer le datagramme
Chaque routeur va disposer d’une grande table de routage
2.0.0.0 B
128.1.0.0 C
193.168.1.0 D
Bastien Fayolle 14
Réseaux 17 janvier 2024
Un routeur va dés encapsuler jusqu’a la couche 3 + modification marginales des entêtes (TTL et
fragmentation si nécessaire )
Pour un datagramme entre A et B, y a t’il un moyen de déterminer la route empruntée par le datagramme
? Non, l’adresse des routeurs n’apparaît pas dans le Datagramme IP sans option particulière
Notion de ports : chaque station connectés à un réseau peut être identifié de manière unique par son
@IP
Le port est un complement d’information sur la machine. Un service peut être associé à un numéro de
port. (serveur web : 80) <1024 réservé
Pour pouvoir utiliser un port, une demande sera adressé au système d’exploitation.
Toutes ces contraintes font que : Lorsqu’on utilise UDP, on doit prendre en compte toutes les
limitations du protocole.
• Hole punching
Bastien Fayolle 15
Réseaux 17 janvier 2024
Fonctionnement en pratique
Envoyer des requêtes à un serveur & attendre les En attente de réception de message & Traitement
réponses des données
Réserver un numéro de port sur le système et faire
une association n°port <-> programme
Bastien Fayolle 16
Réseaux 17 janvier 2024
• Si le message UDP arrive sur une station avec comme port destination 45000 et qu’aucune
application n’utilise ce port, le système supprime ce paquet et envoyer un message ICMP pour
indiquer que le port n’est pas disponible.
• Si le port est ouvert , le système mets en place une mémoire tampon de taille limitée, puis
le programme s’assure que les données sont récupérées de manière régulière.(à l’aide de la
fonction receive
• Circuit virtuel
• Pour communiquer, les deux parties vont devoir établir une connexion.
• Entre les deux entités, on met en place un circuit virtuel (un canal de communication) bidirec-
tionnelle
Remise fiable des données. TCP est un protocole orienté flux, chaque octet va avoir une garantie
d’arrivée grâce à un acquittement des messages
En TCP :
Bastien Fayolle 17
Réseaux 17 janvier 2024
• ACK : acquittement
• SYNC : demande de synchronisation
• PSH : push
• SEQ ; numéro séquence
• RST : Reset
• FIN : fin
• URG : urgent
Three-way-handshake
Client Server
SYN
seq=
x
q= y
x + 1 se
CK ack=
-A
SYN
ACK
ack=
y+1
seq=
[dat x+1
a]
Bastien Fayolle 18
Réseaux 17 janvier 2024
• A envoie un message de type SYN avec Seq = x, le flux de A vers B commence à l’octet x
• B répond avec ACK x +1 pout signifier que tous les octets avant x+1 ont rété recu , et SYN séq=y
pour indiquer que se séquence commence à y
• Tant que la connexion est active, toutes demande de reconnexion sera refusée par B
Terminer la communication
Computer A Computer B
ESTABLISHED
Fin seq
=x ESTABLISHED
FIN_WAIT_1 +1
Ack ack=x
Connection is CLOSE_WAIT
half-closed
Computer B can still
FIN_WAIT_2 send data to A
=y
Fin seq LAST_ACK
Ack ack=y
TIME_WAIT +1
CLOSED
CLOSED
Si un programme termine sa connexion TCP et se termine, le système d’exploitation ne va pas libérer les
ports tout de suite, car l’autre partie peut avoir besoin de récupérer des données qui ont été perdues.
Dans le cadre d’une connexion TCP, l’une des 2 parties peut rencontrer des problèmes, et ne plus
fonctionner de manière normale. L’autre partie peut alors décider de mettre fin à la connexion et arrête
les communications.
Bastien Fayolle 19
Réseaux 17 janvier 2024
– URG
– ACK
– PSH : Push
– RST : Reset, réinistialisation
– SYN : synchroniser
Bastien Fayolle 20
Réseaux 17 janvier 2024
Entre 2 entités, on peut établir plusieurs connexions (les ports de communcations seront donc diffé-
rents)
Mode push
Entête TCP minimum (20 octets) + Entête IP min. (20 octets)→ pour envoyer un message, on envoie
au minimum 40 octets. Pour rentabiliser, TCP attend d’avoir suffisamment de données à envoyer au
destinataire. (par exemple 500 octets) Si on utilise des applications avec peut de données à échanger,
TCP ne sera pas très réactif.
Le mode push force l’envoi des données lorsqu’elles sont disponibles, pour augmenter la réactivité
des échanges.
L’unité de base pour les acquittements sera l’octet Le principe de la fenêtre glissante va être appliquée
sur le flux d’octets
Pour augmenter le débit, on augmente la taille de la fenêtre (en augmentant la limite droite Pour
réduire le débit, on réduit la limite gauche : lorsque les octets de la limite gauche ont été acquittés, on
ne fait pas avancer la fenêtre à droite
Bastien Fayolle 21
Réseaux 17 janvier 2024
Ack 1
Ack 1 / Data 7
Ack 1 / Data 5
Ack 2 / Data 8
Data 2 Ack 2 / Data 6
Ack 3 / Data 9
Ack 3 / Data 7
Ack 4 / Data 10
Ack 4 / Data 8
Ack 5 / Data 11
Ack 2
Ack 6 / Data 12
Ack 3
Pour reprendre la communication, une des deux parties qui va envoyer des données hors bande : c’est
à dire des données qui ne sont pas dans le flux de données –> message URG, le pointeur d’urgence de
l’entête TCP indique la taille de la nouvelle fenêtre.
Quand on recoit ACK M3 sur B, ca nous indique que B a bien reçu M1 M2 et M3 (on dit que l’ACK est
“cumulatif”).
Bastien Fayolle 22
Réseaux 17 janvier 2024
Si M2 est perdu, mais M3 recu, alors B n’acquitte pas M2, ni M3, ni m4... , le timer de M2 de A démarre,
finir, A renvoie M2, acquitté par B, mais le timer de M3 et M4 peuvent être finis, donc on les renvoies
Le routage
Translation d’adresses
Sous-réseaux
10.101/16
10.102/16
Routeur NAT
Routeur
255 central 10.103/16
addresses
10.104/16
Au niveau du réseau, il y a un pseudo-routeur qui assure l’interface entre le réseau privé et le réseau
public d’Internet.
Bastien Fayolle 23
Réseaux 17 janvier 2024
Pour que A communique avec B, à chaque fois qu’un datagramme qui part de A et qui passe par B (à
destination de B), R va remplacer l’adresse source de A par son adresse publique
SI B veut répondre à A Il utilise l’adresse de l’expéditeur (qui correspond donc à R) R doit faire poursuivre
le paquet jusqu’à A. (Mais R ne peut pas savoir vers qui envoyer le paquet . . . )
R va donc stocker une table de correspondance ( @machine local | @ distante) R n’est pas capable de
savoir si le message envoyé par B est pour A ou pour H.
Avec la translation d’adresse simple, 2 machines du même réseau privé ne peuvent pas communiquer
avec un même machine extérieure.
@ machine
@ IP privée port privé protocole privé publique port publique proto publique
Le pseudo routeur va remplacer l’@IP privé par son IP publique, et le port privé par un numéro de port
à lui.
Types de routages
• Inter AS
• Intra AS
AS : Autonomous System : Un grand réseau, qui est administré par une même entité :
• Entreprise
• Gouvernement
• Centre de recherche (RENATER en France)
Bastien Fayolle 24
Réseaux 17 janvier 2024
Inter AS interconnecte ces différents réseaux. Utilise le protocole BGP, Border Gateway Protocol
Intra AS, l’entité qui gère décide de la politique du réseau. Pour les tables de routage, elle décide du
protocole à utiliser parmi les Interior Gateway Protocols (IGP). Les plus utilisés sont :
Les protocols sont utilisés pour maintenir à jour les tables de routage.
Comment maintenir des tables de routage qui sont cohérentes dans le réseau ?
Pour RIP :
res1 Direct 0
Res 2 C 2
Res3 B 1
Res4 D 1
Res 5 B 4
Chaque distance correspond au nombre de routeur par lequel il est nécessaire de passer pour arriver à
destination.
Chaque routeurs va utiliser la table de routage de ses voisins pour mettre à jour la sienne.
Pour chaque réseau α , si la distance d(Y, α) + 1 < d(X, α), alors X met à jour sa table ayant pour
destination α, en passant par le routeur Y. La nouvelle distance d(X, α) est donc d(Y, α) + 1.
RIP privilégie les plus courts chemins pour aller de A vers B. (ce qui peut poser problème dans le cas
d’un réseau non symétrique (le débit de certaines connexions est plus faible que d’autres)).
La mise à jour n’intervient que lorsque la route nouvelle est strictement plus courte.
Bastien Fayolle 25
Réseaux 17 janvier 2024
Lorsqu’un routeur qui a envoyé sa table de routage tombe en panne, ou éventuellement si un lien n’est
plus fonctionnel, chaque routeur arme une temporisation, et si la route n’est pas confirmé au bout de
180 secondes, la route est invalidée.
1. RIP ne détecte pas les boucles (circuits). Pas de manière explicite de détecter les boucles, les
routeurs doivent faire confiance les uns au autre
2. RIP a une petite valeur pour les distances maximum (16)
3. Pour propager l’information, la convergence des tables est très longue.
4. La taille des messages, les tables de routages, est assez importante
5. Peut créer des incohérences
Exemple d’incohérence :
Avec tous les problème qu’il y a pour RIP, le protocole n’est pas adapté pour les grands réseau avec
beaucoup de routeurs. Cependant, il est plus facile à mettre en oeuvre sur les petits réseaux.
Chaque entité qui participe à OSPF doit connaitre l’intégralité du réseau (Graphe).
• Une fois que chaque routeur à reçu l’intégralité des informations, une copie du graphe est généré,
puis chaque routeur calcule le plus court chemin sur sa copie locale.
Soit n le nombre de message envoyé sur le réseau (n # routeur) La taille cumulée des messages
est de l’ordre de m le nombre total de liens.
– Privilégier le délai
– Privilégier le débit
– Privilégier la distance
Bastien Fayolle 26
Réseaux 17 janvier 2024
• OSPF peut aussi faire de l’équilibrage de charge. (Répartir les paquets vers des routeurs différents
pour une meilleure utilisation du réseau).
• OSPF permet de créer des zones, des parties du réseau et définir des politiques par zone.
Bastien Fayolle 27