Académique Documents
Professionnel Documents
Culture Documents
1
La pile TCP/IP
FTP HTTP Applications DNS
COUCHE APPLICATION
ARP RIP
ICMP IP
COUCHE INTERNET
Trames
COUCHE INTERFACE RESEAU 0101110101011
• Choix du chemin: route suivie par les paquets de la source à la destination: algorithmes
de routage
– Fragmentation des paquets: si la taille d’un paquet est plus grande que la valeur du MTU
(Maximum Transmission Unit) du réseau qu’il doit traverser, le routeur doit le fragmenter.
• Le protocole IP : défini les règles pour assembler ou fragmenter les trames, pour les
adresser et les diriger, pour fournir des informations de sécurité et identifier le type de
service utilisé.
3
Couche Réseau
• Constituée de trois composants principaux :
4
Résolution d’adresse Association @IP - @MAC
Il est nécessaire de définir des mécanismes de mise en relation
de l’adresse logique, seule connue des applications,
avec l’adresse physique utilisée pour acheminer physiquement les données
Si l'ordinateur cible fait partie du même réseau local, le paquet peut lui parvenir directement
Il faut pour cela connaître son adresse physique au sein du réseau
Il y a adéquation entre l’adresse logique et l’adresse physique
Lorsque le destinataire est situé dans un autre réseau, le paquet doit être transmis à un
routeur permettant de sortir du réseau local
Le routeur fait avancer le paquet d’information vers le réseau suivant
Dans ce cas, il faudra connaître l'adresse physique du routeur
5
Address Resolution Protocol (ARP)
Protocole universel capable d’être implémenté pour tous types d’adresses logiques et tous types
d’adresses physiques
Surtout utilisé pour faire de la résolution d’adresses logiques IP en adresses physiques Ethernet
Permet à une machine source de déterminer l’adresse MAC d’une destination à partir de son adresse
IP
6
Protocole ARP
• Table ARP: Sert à trouver l'adresse de la couche liaison de données (MAC) qui est
mappée à l'adresse IP de destination.
8
Exemple
9
Exemple
10
Exemple
11
Exemple
12
Rôle d'ARP dans les communications à distance :
• Si l'hôte de destination se trouve sur le réseau local, la trame utilise l'adresse MAC de ce
périphérique comme adresse MAC de destination.
• Si l'hôte de destination n'est pas sur le réseau local, l'émetteur utilise ARP pour déterminer une
adresse MAC pour l'interface du routeur qui sert de passerelle.
• Si la table ne contient pas d'entrée pour la passerelle, une requête ARP est utilisée pour
récupérer l'adresse MAC associée à l'adresse IP de l'interface du routeur.
13
Exercice:
Analyser les trames Ethernet suivantes (sans préambule et sans délimiteurs de
début et de fin de trame):
Trame 1:
Trame 2:
14
• Trame 1:
15
• Trame 2:
16
Le protocole ICMP
Le protocole ICMP (Internet Control Message Protocol) est un protocole qui permet de gérer
les informations relatives aux erreurs des machines connectées.
Etant donné le peu de contrôles que le protocole IP réalise, il permet non pas de corriger ces
erreurs mais d’en avertir les couches voisines.
Ainsi, le protocole ICMP est utilisé par tous les routeurs, qui l'utilisent pour signaler une erreur.
La commande ping
Elle utilise les paquets ICMP afin de déterminer si une machine d'un réseau fonctionne.
L'utilitaire ping est utilisé pour diagnostiquer les défaillances au niveau d'un réseau IP ou
des routeurs.
17
IP (Internet Protocol)
• IP est un protocole de niveau réseau
• C’est un protocole sans connexion, et la livraison des paquets n’est pas garantie.
– Si une fiabilité des échanges exigée, on doit reporter le problème au niveau de la couche Transport (en
utilisant TCP).
18
IP
• Version actuellement utilisée dans Internet IP version 4
19
Le datagramme IP
• Un paquet IP est un bloc de données de taille variable transporte avec lui les
informations nécessaires à sa livraison.
• Chaque paquet transite sur le réseau indépendamment de chaque autre paquet
• Les paquets de données d’IP ont pour nom datagramme.
• Alignement sur des mots de 32 bits pour optimiser la vitesse de traitement.
20
Le datagramme IP
• Les datagrammes sont des données encapsulées, c'est-à-dire des données aux
quelles on a ajouté une en-tête correspondant à des informations sur leur transport.
• Le protocole IP traite les datagrammes IP indépendamment les uns des autres en
définissant leur représentation, leur routage et leur expédition.
20-65536 bytes
20-60 bytes
entête Données
21
Le datagramme IP- Champs de l’entête
0 32
VER HLEN TOS LEN
(4 bits) (4 bits) (8 bits) (16 bits)
ID FLAG
(16 bits) (3 bits) OFFSET(13 bits)
TTL Protocol Ckecksum
(8 bits) (8 bits) (16 bits)
VER: (4 bits): indique la version du protocole IP utilisé (4 pour IPv4, 6 pour IPv6) .
22
Le datagramme IP- Champs de l’entête
0 32
VER HLEN TOS LEN
(4 bits) (4 bits) (8 bits) (16 bits)
ID FLAG
(16 bits) (3 bits) OFFSET(13 bits)
TTL Protocol Ckecksum
(8 bits) (8 bits) (16 bits)
ToS: le champ type de service indique aux routeurs traversés par le paquet le type de traitement
attendu pour les données du paquet . C’est le routage avec qualité de service.
24
Le datagramme IP- Champs de l’entête
32
VER HLEN TOS LEN
0(4 bits) (4 bits) (8 bits) (16 bits)
ID FLAG
(16 bits) (3 bits) OFFSET(13 bits)
TTL Protocol Ckecksum
(8 bits) (8 bits) (16 bits)
25
Le datagramme IP- Champs de l’entête
0 32
VER HLEN TOS LEN
(4 bits) (4 bits) (8 bits) (16 bits)
ID FLAG
(16 bits) (3 bits) OFFSET(13 bits)
TTL Protocol Ckecksum
(8 bits) (8 bits) (16 bits)
ID: ce champs constitue une identification unique du datagramme et de tous ses fragments
assigné par l’émetteur.
26
Le datagramme IP- Champs de l’entête
0 32
VER HLEN TOS LEN
(4 bits) (4 bits) (8 bits) (16 bits)
ID FLAG
(16 bits) (3 bits) OFFSET(13 bits)
TTL Protocol Ckecksum
(8 bits) (8 bits) (16 bits)
FLAG: indique si la fragmentation est autorisée et le cas échéant, si le paquet est le dernier de la
fragmentation.
27
Le datagramme IP- Champs de l’entête
FLAG: 3 bits sont utilisés pour la fragmentation.
Le deuxième appelé bit DF(Don’t Fragment) et indique que ce paquet ne doit pas être fragmenté
Le troisième bit est appelé bit MF(More Fragments) défini sur tous les paquets fragmentés sauf le
dernier.
28
Le datagramme IP- Champs de l’entête
0 32
VER HLEN TOS LEN
(4 bits) (4 bits) (8 bits) (16 bits)
ID FLAG
(16 bits) (3 bits) OFFSET(13 bits)
TTL Protocol Ckecksum
(8 bits) (8 bits) (16 bits)
OFFSET: la position du premier octet du fragment dans le paquet IP d’origine, en multiple de 8 octets
Le premier fragment a un offset=0
le deuxième fragment a un offset=(taille du premier fragment- entête)/8
29
La fragmentation
La fragmentation se produit lorsqu’un datagramme IP traverse un réseau dont l’unité de
transmission maximale (MTU) est inférieure à la taille du datagramme.
30
Fragmentation IP
Déterminer le nombre de fragments nécessaires pour transférer le paquet IP de taille 4000
octets.
4000-20=3980
1500-20=1480
Nombre de fragments =3980/1480=2,68
2 fragments de 1480 octets (partie données)+20 octets
+
1 fragment de 1020 octets (partie données) +20 octets
31
Fragmentation IP
32
Fragmentation IP
• Le premier réseau est caractérisé par un MTU=1500 octets, le second possède un MTU
de 620 octets.
• Le routeur doit donc découper le datagramme initial en 3 fragments.
• Les positions de fragment (offset) étant exprimées en multiple de 8 octets,
33
Le datagramme IP- Champs de l’entête
0 32
VER HLEN TOS LEN
(4 bits) (4 bits) (8 bits) (16 bits)
ID FLAG
(16 bits) (3 bits) OFFSET(13 bits)
TTL Protocol Ckecksum
(8 bits) (8 bits) (16 bits)
34
Le datagramme IP- Champs de l’entête
0 32
VER HLEN TOS LEN
(4 bits) (4 bits) (8 bits) (16 bits)
ID FLAG
(16 bits) (3 bits) OFFSET(13 bits)
TTL Protocol Ckecksum
(8 bits) (8 bits) (16 bits)
Ckecksum: somme de contrôle de 16 bits : calculée sur les mots formant l’entête IP et
permet de détécter d’eventuelles erreurs sur celui-ci
36
Le datagramme IP- Champs de l’entête
0 32
VER HLEN TOS LEN
(4 bits) (4 bits) (8 bits) (16 bits)
ID FLAG
(16 bits) (3 bits) OFFSET(13 bits)
TTL Protocol Ckecksum
(8 bits) (8 bits) (16 bits)
Adresse IP source & IP destination (2*32 bits): adresses IP des machines source et destination
du datagramme.
37
Le datagramme IP- Champs de l’entête
0 32
VER HLEN TOS LEN
(4 bits) (4 bits) (8 bits) (16 bits)
ID FLAG
(16 bits) (3 bits) OFFSET(13 bits)
TTL Protocol Ckecksum
(8 bits) (8 bits) (16 bits)
38
Décoder l’en-tête du paquet IPv4 suivant (en hexadécimal) et en extraire toutes les informations
possibles.
45 00 00 50 20 61 00 00 80 01 C5 64 C7 F5 B4 0A
C7 F5 B4 09 08 00 00 1C 01 02 03 04 05 06 07 08
09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18
19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28
29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38
4 = protocole IP version 4 ;
5 = longueur de l’en-tête du paquet = 5 × 4 = 20 octets = longueur par défaut d’un en-tête sans option.
00 Type of Service = 0 pas de service particulier (en fait, avec IPv4, il n’y a pas de service particulier. Ce champ est donc
toujours nul, et s’il n’était pas nul, il serait ignoré !).
00 50 Longueur totale = 0 × 4096 + 0 × 256 + 5 × 16 + 0 × 1 = 80 octets, donc la longueur du contenu du champ de données
est de 80 – 20 = 60 octets.
20 61 Identifiant du paquet (ne sera utile que s’il est fragmenté).
00 00 Drapeaux et déplacement = tout à zéro = paquet non fragmenté, a priori normal puisqu’il n’y a que 60 octets de données.
80 Durée de vie = 80 = 8 × 16 + 0 × 1 = 128 routeurs que le paquet pourrait encore traverser.
01 Protocole transporté dans le paquet : 1 = code du protocole ICMP.
C5 64 Bloc de contrôle d’erreur de l’en-tête.
C7 F5 B4 0A Adresse IP émetteur = 199.245.180.10.
C7 F5 B4 09 Adresse IP destinataire = 199.245.180.9. Les deux machines sont dans le même réseau de classe C, le réseau
199.245.180.0.
39