74
Le protocole IP (Internet Protocol) Omar Cheikhrouhou Département Informatique

Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Embed Size (px)

Citation preview

Page 1: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Le protocole IP

(Internet Protocol)

Omar CheikhrouhouDépartement Informatique

Page 2: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 2

Sommaire

� Introduction� Adressage dans IP� Masque de réseau� Segmentation� Datagramme IP� Algorithme de fragmentation� Algorithme de réassemblage� Routage� Conclusion et perspectives

Page 3: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 3

Introduction

Historique:

� 1969 : ARPAnet - ministère américain de la défense

� 1983 : les protocoles TCP/IP deviennent des standardsmilitaires

� Intégration de TCP/IP en standard sous Unix� 1990 : Explosion d’ IP en Europe et en Amérique du nord.

Page 4: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 4

Interaction IP avec les autres protocoles

du monde TCP/IP

Page 5: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 5

Présentation

� IP(Internet Protocol) : un parmi les protocoles de la couche réseauresponsable de:� adressage, � Routage;acheminer les datagrammes à travers un ensemble de

réseaux interconnectés� fragmentation et réassemblage des paquets (appelés aussi

datagrammes)� Ce qu’IP ne fait pas :

� le multiplexage� la vérification du séquencement� la détection des pertes� la retransmission en cas d’erreur,� le contrôle de flux

Page 6: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 6

L’adressage dans IP

Attribution des adresses :- Une station doit avoir au moins une adresse unicast.- Une station peut avoir autant d'adresses (plusieurs!) que de

connexions à un ou plusieurs (sous-)réseaux (=>l'adresse identifie la connexion et pas la station !!!).

- Toutes les stations connectées à un même (sous-)réseau appartiennent à la même classe d'adressage et ont le même netid.

Les classes d’adresse :� Hiérarchique :

- identificateur du (sous-)réseau (netid)- identificateur de la station dans le (sous-)réseau (hostid)

� Taille fixe (32bits)� 4 classes d'adressage (5!)

Page 7: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 7

L’adressage dans IP

Page 8: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 8

L’adressage dans IP

Adresse IPv4 (codé sur 4 entiers)• 5 classes d ’adresse3 classes A, B, C d ’adresse de réseaux

» Classe A: 27 - 2 = 126 réseaux de 224- 2 = 16.777.214 hôtes1.0.0.1 à 127. 255. 255. 254

» Classe B: 214 -2 = 16380 réseaux de 216 - 2 = 65534 hôtes128.0.0.1 à 191.255. 255. 254

» Classe C: 221 - 2 = 2097150 réseaux de 28 - 2 = 254 hôtes192.0.0.1 à 223.255.255.254

1 classe D d ’adressage MultiCast :224.x.y.z à 239.t.u.v1 classe E réservée

Page 9: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 9

L’adressage dans IP

Exercice:1/ déterminer la classe d’adresse de chacune des adresses suivantes:� 131.107.2.89� 3.3.57.1� 200.200.6.22/ quelles classes d’adresses permettent d’avoir plus de 1000 hôtes par

réseau?

Page 10: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 10

L’adressage dans IP

Solution de l’exercice:

1/� 131.107.2.89 classe B� 3.3.57.1 classe A� 200.200.6.2 classe C2/ Les classes d’adresses A et B permettent

d’avoir plus de 1000 hôtes par réseau

Page 11: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 11

L’adressage dans IP

Quelques adresses particulières� Diffusion : “11...11”- diffusion vers toutes les stations du sous-réseau local :

255.255.255.255- diffusion vers toutes les stations du sous-réseau distant :

D1.D1'.D1".255 ou D2.D2'.255.255 ou D3.255.255.255� pas d'utilisation en tant qu'adresse source� très coûteux si le sous-réseau n'offre pas de diffusion naturelle� utilisé pour l'apprentissage (auto-configuration)

Page 12: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 12

L’adressage dans IP

Quelques adresses particulières� Celle-ci : “00...00”- cette station : 0.0.0.0- la station dans le sous-réseau local : 0.0.0.X1 ou 0.0.X2.X2' ou

0.X3.X3'.X3"� pas d'utilisation en tant qu'adresse de destination� Test : 127- rebouclage logiciel (loopback): 127.127.127.X1 ou

127.127.X2.X2' ou 127.X3.X3'.X3"- écho local des datagrammes : la station reçoit ce qu'elle a émis

Page 13: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 13

L’adressage dans IP

Exercice: identifiez les adresses IP mauvaises et expliquez pourquoi

� 131.107.256.80 � 255.255.255.255� 0.127.4.100� 198.107.254.255� 127.1.1.1� 127.20.01.0� 0.0.0.0

Page 14: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 14

L’adressage dans IP

Solution de l’exercice:

� 131.107.256.80 maximum 255� 255.255.255.255 diffusion vers toutes les stations du sous-réseau

local � 0.127.4.100 station dans le réseau local� 198.107.254.255 diffusion vers toutes les stations du sous-réseau

distant � 127.1.1.1 loopback� 127.20.01.0 1 et pas 01� 0.0.0.0 cette station

Page 15: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 15

L’adressage dans IP

Le “Subnetting”� Les adresses de classe B (et A) peuvent ne pas utiliser pleinement leur

champ hostID : nb_host << 2 16 (ou 224).

� Les administrateurs d'un domaine d'adressage voudraient l'organiser en sous-domaines d'adressage.

� Cette structuration peut faciliter le routage interne :- chaque routeur ne s'occupant que des paquets de son sous-domaine.- les tables de routage sont plus courtes.Exemple:

Page 16: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 16

L’adressage dans IP

Comparaison des adressages� Adressage IP :- 32 bits,- structuré : netid + hostid� Adressage IEEE 802 :- 16 ou 48 bits,- homogène� Adressage HDLC :- 1 bit ?! : commande/réponse� Adressage X25.3 :- longueur variable,- circuit virtuel (n° de voie logique) versus adresse,- adresse E164 : 10-13 octets (chiffres)- structuration géographique : pays + région + localité

Page 17: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 17

Le masque de réseau

� Un masque réseau TCP/IP est un ensemble de 4 octets qui permet de distinguer, dans une adresse IP, la partie réseau de la partie machine.

� Pour réaliser le masquage, on utilisel'opération AND binaire.

� Exemple: Dans le cas d'une machine dontl’adresse IP est 12.2.3.4 et le masque de255.0.0.0, on a alors les valeurs de masque etd'adresse hôte ci-dessous:

� On obtient l'adresse du réseau, c'est à dire : 12.0.0.0.

Page 18: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 18

Le masque de réseau

� Exemple : @IP= 196.72.37.149 avec Masque= 255.255.255 .0

1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 00 0 1 0 0 1 0 11 1 0 0 0 1 0 0 • 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1

AND

37 0

1 1 0 0 0 1 0 0 • 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0=

Réseau

196 . 72

Page 19: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 19

Le masque de réseau

� Dans la pratique, on utilise un masque de sous réseau ou subnet mask : c'est un masque de bit

� Masque : 4 octets scindé en 2 parties :

� Suite de bit à 1 : bits "réseau " et du " sous-réseau ", suivis de bit à 0 : bits "machine"

1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 1 1 1 1 1 …. 1 0 …. 0 0 0

Page 20: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 20

Segmentation

Présentation

Problème : Adaptation de la taille des unités de données à transmettre à la taille des unités de transport.

� L'utilisateur veut être capable de transmettre des unités de données de taille quelconque.

� Les (sous-)réseaux offrent des unités de données de taille limitée :- Ethernet <1500 octets- FDDI <4500 octets- X25.3 < =128 octets (par défaut)- ATM = 48 octets (sans la sous-couche AAL)

Page 21: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 21

Segmentation

PrésentationSolution :� A l'émetteur :- découper l'unité de données à transmettre en segments de taille

adaptée aux unités de transport (segmentation).� Au récepteur :- reconstituer l'unité de données initiale (réassemblage).� Aux routeurs :- si les sous-réseaux successifs comportent des unités de

données de transport de tailles inférieures : (re-)segmentation.

Page 22: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 22

Segmentation

Exemple

MTU : Maximum Transfer Unit� longueur maximum du datagramme IP pour qu'il puisse être transmis sans

segmentation sur la liaison sous-jacente� MTU path : le MTU minimum pour l'ensemble des liaisons d'un chemin

Page 23: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

23

Le Datagramme IP ( spécification des champs )

VERS HLEN Type de service Longueur totale

Identification Flags Offset fragment

Durée de vie Protocole Cheksum d’en-tête

Adresse IP source

Adresse IP destination

Options IP(éventuellement) Padding

Données

Entête

Data

0 8 16 32 bits

Page 24: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

24

Datagramme IP

• Taille maximal théorique : 65535 octets • Constitution : En-tête + champ de données:

0 4 8 16 19 31

Type de service Longueur totale

Identification Offset (fragment)

Adresse IP Source

Adresse IP Destination

Options IP (éventuellement)

Version LongueurEn-tête

Drapeau

Durée de vie Protocole Somme de contrôle de l’en-tête

Padding

Données . . .

En-tête

Page 25: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 25

Le datagramme IP

� Les paquets de données d’IP ont pour nom datagram(me)

� Alignement sur des mots de 32 bits pour optimiser la vitesse de traitement.

� La taille maximum d'un datagramme est de 64 Koctets .

� Structure d'un datagramme :- Une entête :� une partie de taille fixe,� une partie de taille variable

(les options),- Un champ de données :� de longueur variable.

Page 26: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 26

Le datagramme IP

� Vers : version du protocole.- Version courante : 4 (septembre

1981)- Version nouvelle IPv6 : 6!

(décembre 95)- Un même réseau peut accueillir

différentes versions de protocole : les récepteurs écartent les datagrammes qu'ils ne peuvent pas décoder.

� HLEN : “Header length”- Longueur de l'entête, (en mots de

4 octets) les options IP (de longueurs variables) comprises.

- Au minimum, HLEN = 5 lorsqu'il n'y a pas d'options (longueur de la partie fixe de l'entête).

Page 27: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 27

Le datagramme IP

� Service type (ToS : Type of service):- Qualifie le service de transmission

demandé.- Utilisé pour optimiser l'algorithme

de routage :� Priorités entre les différents types

de flux de données.� Critères de choix lors du routage

entre des chemins alternatifs.

Page 28: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 28

Le datagramme IP

� Fragment total length : longueur totale du fragment (et du datagramme !) en octets (< 64 koctet).

� Datagram identification :Identification unique du datagramme et de tous ses fragments assigné par l’émetteur.

� Flags :- “do not fragment bit” : segmentation

interdite- “more fragment bit” : dernier

fragment d'un datagramme.� Fragment offset : déplacement

relatif des fragments par rapport au début du datagramme (en unité de 8 octets).

Page 29: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 29

Le datagramme IP

Le réassemblage du datagrammeConstitution des fragments :

- Les entêtes des fragments comportent les mêmes champs et ont mêmes contenus que ceux du datagramme dont ils proviennent :

- même identification de datagramme, même type de service, même TTL, même protocole, mêmes adresses.

- sauf pour les champs de longueur, le bit “More fragment” et le “Header checksum” !

Page 30: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 30

Le datagramme IP

Le réassemblage du datagramme

Réassemblage des fragments :- Calcul de la taille totale du champ de données du datagramme- Calcul et vérification que tous les fragments sont présents.- Reconstitution du champ de données du datagramme.

Page 31: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 31

Le datagramme IP

Offset et longueur

Page 32: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 32

Le datagramme IP

� Time to live : durée de vie résiduelle du fragment (en nombre de “hops” ou de secondes de résidence).

- valeur initialisée par l'émetteur.- décrémentée par chaque routeur et le

récepteur- si TTL=0 alors le datagramme est détruit⇒ on retourne à l’émetteur un message ICMP

Fonction :- limitation de l'étendue de diffusion des

paquets (“scope”)- suppression des trames fantômes. - limite la durée d’attente des fragments.� Protocol : identification du protocole chargé

d'exploiter (décoder) le champ de données.- UDP = 17- TCP = 6- ICMP = 1- IP = 4

Page 33: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 33

Le datagramme IP

� Header checksum : On calcule le complément à un sur 16 bits de la somme des compléments à 1 des demi-mots (16 bits) constituant l'entête du fragment.

- calcul facile- capacité de détection faible� Source IP address : identifie la

station émettrice.- retour à l’envoyeur (message

ICMP).� Destination IP address : identifie

le récepteur (ou le groupe).- permet l’acheminement

jusqu’au(x) destinataire(s).

Page 34: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 34

Le datagramme IP

� Partie variable de l'entête- limitée à 40 octets- Son traitement ralentit le routage :

certains routeurs ont deux files de datagrammes :

� datagrammes avec options� datagrammes sans option� Fonction principale :- choix de la route par l'émetteur

Page 35: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 35

Le datagramme IP

Les différentes options:� Structure générale d’une option : type, longueur, valeur (“TLV

encoding”)

Page 36: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 36

Le datagramme IP

Les différentes options:� COPY

L'indicateur de recopie marque le fait que l'option est recopiée dans tous les segments d'un datagramme fragmenté.

0 = non recopiée1 = recopiée

� CLASSLes classes d'options sont :

0 = contrôle1 = réservé pour usage futur2 = débogage et mesure3 = réservé pour usage futur

Page 37: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 37

Le datagramme IP: quelques options

CLASSE NUMERO LONGUEUR DESCRIPTION ---------- ---------- ------------- -----------------------

0 0 - “End of Option list”: Fin de liste d'option. Bourrage en fin de liste d’options

0 1 - “NOP”: Pas d'opération. Bourrage en fin d’option0 2 11 Sécurité. Transporte les informations de sécurité, compartiment, Groupe utilisateur (TCC), et Codes de Restriction compatibles DOD (application militaire).0 3 var. “ Loose source routing ” : Routage lâche. 0 9 var. “ Strict source routing ”: Routage strict. 0 7 var. “ source routing ”: Traceur. Utilisé pour mémoriser le chemin pris par un datagramme Internet.0 8 4 “ Stream Identifier ”: ID de flux. Transporte l'identificateur du flux.2 4 var. “ Internet Timestamp ”: Marqueur temporel.

Page 38: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 38

Le datagramme IP

Les options Source Routing� Un chemin = Liste des adresses IP des routeurs- 9 au maximum !� Record Route :- l'émetteur prépare une liste vide ( pointer=0),- qui est remplie par chacun des routeurs du chemin (

pointer+=4),- tant qu'il y a de la place dans la liste

(pointer<length).

Page 39: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 39

Le datagramme IP

Les options Source Routing� Source Routing :- Le chemin que doit suivre le datagramme est explicitement décrit.� strict source routing : totalement décrit (S'il manque un routeur le

datagramme est détruit).� loose source routing : partiellement décrit (S'il manque un routeur

l'algorithme de routage standard est appliqué).

Page 40: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 40

Algorithme de fragmentation

� FO - Fragment Offset� LET - Longueur d'en-tête� AF - Bit anti-fragmentation� DF - Bit Dernier fragment� LT - Longueur totale� OFO - Fragment Offset (tampon)� OLET - Longueur d'en-tête (tampon)� ODF - Bit Dernier Fragment (tampon)� OLT - Longueur totale (tampon)� NBF - Nombre de blocs de fragments� UTM - Unité de transmission maximum

Page 41: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 41

Algorithme de fragmentation

IF LT =< UTM THEN Soumettre le datagramme à l'étape suivante

ELSE IF AF = 1 THEN détruire le datagramme

ELSE // Pour produire le premier fragment :

(1) Copier l'en-tête originale ;

(2) OLET <- LET; OLT <- LT; OFO <- FO; ODF <- DF;

(3) NBF <- (UTM-LET*4)/8;

(4) Attacher les NBF*8 premiers octets de donnée;

(5) Corriger l'en-tête:

DF <- 1; TL <- (LET*4)+(NBF*8);

Recalculer le Checksum;

(6) Soumettre le fragment à l'étape suivante ;

Page 42: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 42

Algorithme de fragmentation

// pour produire le deuxième fragment :

(7) Copier sélectivement l'en-tête internet (seulement certaines options cf. définitions);

(8) attacher le reste des données;(9) Corriger l'en-tête:

LET <- (((OLET*4)-(longueur des options non copiées ))+3)/4 LT <- OLT - NBF*8 - (OLET-LET)*4);FO <- OFO + NBF; DF <- ODF;Recalculer Checksum;

(10) Soumettre ce fragment au test de fragmentation; DONE.

Page 43: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 43

Algorithme de fragmentation

� Dans la procédure ci-dessus, tous les fragments (sauf le dernier) ont la taille maximale qu'admet le réseau en sortie. Une autre implémentation pourrait produire des fragments d'une taille inférieure.

� Par exemple, une solution consisterait à diviser récursivement un datagramme en deux (en respectant la règle des blocs de 8 octets) tant que les datagrammes restent supérieurs à la taille de l'UTM.

Page 44: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 44

Exemple d’application

777 x00 0 0 ... 1023

ID Flags Offset Data

20 Octets 1024 Octets

MachineSource

RouteurA

Réseau1

MTU532

777 x01 0 0 ... 511

20 Octets

777 x00 64

20 Octets

512 ... 1023 Réseau2

RouteurB

0 0...255777 x01

MTU276 32 256-511777 x01

64 512-767777 x01

96 768-1023777 x00

Réseau3

MachineDestination

Page 45: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 45

Algorithme de réassemblage

� FO - Fragment Offset� LET - Longueur d'en-tête� DF - Bit Dernier Fragment� DdV - Durée de Vie� NBF - Nombre de Blocs de Fragments� LT - Longueur Totale� LTD - Longueur Totale des Données� BUFID - Tampon d'identification� RCVBT - Table bit des blocs reçus� LIT - Limite Inférieure de Temporisation

Page 46: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 46

Algorithme de réassemblage

(1)BUFID <- source|destination|protocole|identification;

(2)IF FO = 0 AND DF = 0

(3) THEN IF tampon alloué pour BUFID

(4) THEN libérer toutes les ressources pour ce BUFID;

(5) soumettre le datagramme à l'étape suivante; DONE.

(6) ELSE IF aucun tampon alloué pour BUFID

(7)THEN réserver les ressource de réassemblage pour BUFID;

TIMER <- LIT; LTD <- 0;

(8) copier les données fragment dans le tampon associé à BUFID à partir de l'octet FO*8 jusqu'à l'octet (LT-(LET*4))+FO*8;

(9)marquer les bits RCVBT de FO à FO+((LT-(LET*4)+7)/8);

Page 47: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 47

Algorithme de réassemblage

(10)IF DF = 0 THEN LTD <- LT-(LET*4)+(FO*8)

(11)IF FO = 0 THEN copier l'en-tête dans le tampon d'en-tête

(12)IF LTD # 0

(13)AND tous les bits de RCVBT de 0 à (LTD+7)/8 marqué

(14)THEN LT <- LTD+(LET*4)

(15)Soumettre le datagramme au pas suivant;

(16)Libérer toutes les ressources pour ce BUFID; DONE.

(17)TIMER <- MAX(TIMER,DdV);

(18) Retour jusqu'au fragment suivant ou expiration de temporisation;

(19) EXPIRATION: Libérer les ressources pour ce BUFID; DONE.

Page 48: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 48

Exemples

Exemple 1: datagramme transmettant le minimum de données possible :

Page 49: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 49

Exemples

Dans cet exemple, nous exposons d'abord undatagramme Internet de taille moyenne (452octets de données), puis deux datagrammesInternet portant les fragments de ce quirésulterait d'une fragmentation du premierdatagramme pour un réseau dont la taillemaximale de transmission vaut 280 octets.

Page 50: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 50

ExemplesLe datagramme complet :

Page 51: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 51

ExemplesLe premier fragment :

Page 52: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 52

ExemplesLe deuxième fragment :

Page 53: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Le routage

Page 54: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 54

Les routeurs

� Routeur IP : équipement permettant aux paquets IP de circuler entre des réseaux hétérogènes ou de même type mais comportant un grand nombre de machines.

Il comporte des buffers (mémoires tampon) lui permettant de relier des réseaux de vitesse différente

� Routage IP : consiste à définir la manière dont les paquets IP doivent être acheminés à travers les divers réseaux.

Page 55: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 55

Les routeurs

Tables de routage

Logiciel de Routage IP

Routeur

Balayage

Datagramme IP Datagramme IP

Datagramme IP

Datagramme IP

Page 56: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 56

Table de routage

� Table de routage : c’est une mémoire qui garde l’adresse IP du routeur de prochain pas pour chaque numéro de réseau à atteindre. Elle peut, également, contenir une adresse de routeur par défaut. exemple

� On utilise le numéro de réseau et non l’adresse IP du destinataire pour facilité le traitement de l’information et optimiser l’espace mémoire utilisé.

Page 57: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 57

Table de routage

� Pour un routeur, les entrées de la table de routage sont en nombre de trois au lieu de deux (pour celle d’une hôte) : On ajoute un troisième paramètre qui est l’interface , pour savoir avec quel sortie du routeur l’information va être acheminer.

� Cette table doit être périodiquement mise à jour

� Manuellement : routage statique� Automatiquement : routage dynamique

Page 58: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 58

Routage statique

Le routage statique consiste à entrer manuellement les informations dans la table de routage. C’est à dire les entrées de la table de routage sont crées par défaut lorsqu’une interface est configurée ou par la commande route.

Syntaxe : route add |delete [net|host] destination |default gateway metric

� convient uniquement pour des sites de taille modeste � utilisé lorsque la topologie est stable

Page 59: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 59

Routage dynamique

Le routage dynamique s’appuie sur l’échange des information de routage entre les différents équipements de routage pour mettre à jour les tables de routage assurant ainsi les meilleures routes pour les datagrammes.

� Le routage dynamique s'appuie sur des protocoles spécifiques dont le but est de maintenir des informations associées aux routes de manière cohérente.

� les protocoles de routage sont de natures différentes selon qu’ils:� traitent des informations de routage à l’intérieur d’un

domaine de routage(RIP, OSPF)� relient plusieurs domaines de routage(EGP, BGP)

Page 60: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 60

Routage direct

� L’émetteur et le destinataire se trouvent sur le même réseau physique.

� L’émetteur envoie le datagramme IP directement sans intervention d’un routeur.

� On envoie des paquets ARP pour détecter l’adresse matériel du destinataire et on le place dans le champ adresse du destinataire dans la trame du couche liaison de données, puis on envoie cette trame.

Datagramme IP

Hôte émetteur Hôte récepteur

Page 61: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 61

Routage indirect

� L’émetteur et le destinataire se trouvent sur des réseaux physique distincts.

� Nécessité d’intervention d’un ou plusieurs routeurs pour assurer le bon acheminement des datagrammes

Hôte émetteur Routeur

InternetHôte récepteur Routeur

Datagramme IP

Page 62: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 62

Algorithme de routage

datagramme @Dest &

Masque réseau

PréfixRéseau

ID Réseau connectédirectement

existe(PreRes, IDrcd)

Si oui

Routage directe

sinon

Existe(PreRes, dest)

Table de routage

On transmet leDatagramme au

Routeur du prochainpas

sinon

0.0.0.0

Si oui

Existe-t-il l’entrée?0.0.0.0

Si oui

Erreur de routage

Sinon

Page 63: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

La mobilité IP

Page 64: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 64

La mobilité IP

� La mobilité IP permet à des équipements de se déplacer tout en conservant leurs connexions. Pour cela, le mobile possède deux adresses : une adresse mère(H@) à laquelle il est toujours joignable, ainsi qu’un adresse locale (Co@) obtenue dans le réseau visité.

� L’acheminement des paquets IP est différent de celui utilisé par les routeurs IP classiques : c’est l’adresse IP complète du mobile qui identifie sa localisation dans le réseau.

Page 65: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 65

Les transitions

Il existe plusieurs types de transition (ou mobilité):� La transition au sein du même point d’accès.� La transition au niveau 2 (ou niveau MAC): La station

change de point d’accès, elle se trouve toujours dans le même réseau. protocole ciblés: TeleMIP, HAWAII, Cellular IP, EMA.

� Le changement de réseau: Il n’y a pas seulement un changement de cellule mais aussi de réseau. Les deux réseaux concernés sont en général séparés par un ou plusieurs routeurs. protocole ciblés: Mobile IP, SIP

Page 66: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 66

Les acteurs du mobile IPv4

Mobile IPv4 introduit les acteurs suivants :

� le mobile (MN) intègre la couche réseau Mobile IPv4. Il peut se déplacer tout en maintenant ses connexions.

� l’agent mère (HA) est un routeur situé dans le réseau mère (HN) du mobile. Il est chargé de router les paquets destinés au mobile vers sa position courante.

Page 67: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 67

Les acteurs du Mobile IPv4

� l’agent visité (FA) est un routeur situé dans le réseau visité (FN) sur le même lien que le mobile en déplacement. Il attribue une adresse temporaire (Co@) au mobile, et est chargé de décapsuler les paquets adressés au mobile. Dans les faits, ces fonctions peuvent être éclatées : On parle de Foreign Agent Care-of Address lorsque l’adresse temporaire affectée au mobile est en fait celle de l’agent visité, et de Co-located Careof Address lorsqu’elle est effectivement affectée au mobile. Dans tous les cas, Co@ est l’extrémité d’un tunnel menant à l’agent mère.

Page 68: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 68

Fonctionnement

Mobile IP effectue les trois fonctions séparéessuivantes:

� Découverte de l’agent (Agent Discovery):Les serveurs (Home Agent et Foreign Agent) diffusent régulièrement des messages pour signaler leur présence à des intervalles réguliers (1diffusion par seconde) en offrant une ou plusieurs adresses de visite. L’ordinateur qui se connecte sur un réseau étranger n’a qu’à attendre et répondre à l’offre proposée. Il peut également diffuser une sollicitation s’il est impatient.

Page 69: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 69

Fonctionnement

� Enregistrement : Quand l’ordinateur est loin de la maison, du réseau original, il va envoyer une requête d’enregistrement au serveur Home Agent (directement ou à travers le serveur – Foreign Agent – du réseau étranger) en indiquant à quelle adresse les datagrammes doivent être acheminés.

� Création d’un tunnel : Le serveur du réseau originel (Home Agent) doit rediriger les datagrammes ou établir un tunnel entre lui et le réseau étranger pour que les datagrammes soient livrés à l’adresse de visite (Care-of Address).

Page 70: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 70

Les mécanismes de routage

Il existe deux mécanismes de routage: � Le Routage Triangulaire : Lorsque MN envoie un paquet

à un correspondant, il utilise H@ comme adresse source. Le correspondant répond vers H@. HA est alors chargé d’intercepter le paquet et de le transférer via un tunnel à MN.

� Le Reverse Tunneling : S’il est interdit, dans le réseau visité, d’émettre des paquets avec des adresses sources n’appartenant pas à ce réseau (mécanisme d’Ingress Filtering ), le mobile doit utiliser le mécanisme de Reverse Tunneling . Dans ce cas, MN exploite le tunnel qu’il partage avec HA lorsqu’il émet des paquets vers un correspondant.

Page 71: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 71

Les mécanismes de routage de Mobile IPv4

Les mécanismes de routage

Page 72: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 72

Limites de IPV4

� taille de l’Internet double tous les ans (13 % de progression par mois)

� saturation de l’espace d’adressage prévue pour 2010– 100 000 réseaux en 1996– qlq millions d’ici peu– théoriquement, 16 millions de réseaux possibles mais la répartition en classe pose problème

� saturation de la classe B => allocation d’adresses de classe C contiguës, adresse réseau insuffisante

Page 73: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 73

Limites de IPV4

� explosion de la taille des tables de routage

� besoin de QoS pour les nouvelles applications multimédia (maintien du débit,garantie du délai !!!)

� plus de sécurité (chiffrement)

Page 74: Le protocole IP (Internet Protocol) - people.coins-lab.orgpeople.coins-lab.org/ocheikhrouhou/enseignement/Protocoles... · Omar Cheikhrouhou 8 L’adressage dans IP Adresse IPv4 (codé

Omar Cheikhrouhou 74

Conclusion

� Protocole assurant l'interconnexion de (sous-)réseaux hétérogènes :- routage,- adressage (adresse IP),- fragmentation.� Protocole simple (sans connexion):- détection des erreurs (de l'entête uniquement),- sans mécanisme de récupération des erreurs (perte, duplication,

congestion).� Nécessité d'autres protocoles :- + ICMP (erreur)- + RIP (routage)- + ARP (résolution d'adresse)- + ...- Et TCP ou UDP !