51
1 TCP/IP Protocoles de base Abdellatif MEZRIOUI INPT 2005/2006

TCP Partie1

Embed Size (px)

Citation preview

Page 1: TCP Partie1

1

TCP/IPProtocoles de base

Abdellatif MEZRIOUI

INPT 2005/2006

Page 2: TCP Partie1

2

Plan

INTRODUCTION

INTERCONNEXION DE RESEAUXLE PROTOCOLE IPL'ADRESSAGE IPLE SOUS-ADRESSAGE IPDATAGRAMME IPARP RARP ICMPROUTAGE DES DATAGRAMMESTCP UDPSERVICES RESEAUX

Page 3: TCP Partie1

3

Introduction -- Internet : L'Historique

1970-1977 :— DARPA (Defense Advanced Research Project Agency) travaille sur une

technologie d'interconnexion de réseaux et a crée un réseau de commutation de paquets expérimental ARPANET.

— en 72 démonstration de ARPANET (50 sites et 20 commutateurs) basé sur IMP (Interface Message Processor) et NCP (Network Control Program, ancêtre de TCP)

— en 72 début des spécifications de TCP/IP

1977-1979 : — L'architecture TCP/IP et les protocoles associés prennent leur formes

d'aujourd'hui— DARPA finance en grande partie les travaux sur ARPANET— Le nombre grandissant de chercheurs sur TCP/IP pousse DARPA à créer le

ICCB

Page 4: TCP Partie1

4

Introduction -- Internet : L'Historique

1980 :— L'Internet est né : DARPA connecte ses machines en utilisant TCP/IP1983 :

— TCP/IP intégrée à l’Unix BSD• Entrée dans le monde universitaire (90% des départements

informatiques utilisent TCP/IP)• Développements d’applications réseaux avec les sockets

(rcp, rlogin, …)— ARPANET scindée en deux réseaux : MILNET et ARPANET

— ARPANET + MILNET = INTERNET1985 :

-- NSF ( National Science Foundation) créa le réseau NSFNET et se connecte au réseau INTERNET existant (étendre le réseau à tous les scientifiques et ingénieurs des USA.)

Page 5: TCP Partie1

5

Introduction -- Internet : L'Organisation

IAB : Internet Administration Board

NIC : Network Information Center

IRTF : Internet Research Task Force

(Promouvoir la recherche)

IETF : Internet Engineering Task Force (Etude des problèmes d'exploitation, évolution des protocoles, ...)

IAB

IRTF IETFNIC

WGs WGs WGs WGs

Page 6: TCP Partie1

6

Introduction -- Internet : L'Organisation

Page 7: TCP Partie1

7

Introduction -- Internet : Les RFC

RFC : Request For Comments

La suite des protocoles TCP/IP est décrite dans les RFCs : standards

RFCs numérotés chrologiquement (croissant)

Certains standards peuvent avoir plusieurs versions (même titre,numéros différents)

Un RFC peut être :– Spécification d'un protocole (TCP décrit par RFC 793) ou d’une application

(Telnet décrite par RFC 959)

– Recommandations pour la gestion du réseau

– Informations sur l'Internet

Page 8: TCP Partie1

8

Introduction -- Internet : Les RFC

Vie d'un RFC :— Chaque RFC a un "état" et un "status" qui peuvent varier dans le temps— 5 états (ou niveaux de standardisation) :

— Proposed Standard Protocol, Draft, Standard Protocol, Experimental Protocol, Information Protocol

— 5 Status dénotent l'importance du standard : — Required Protocol, Recommended Protocol, Elective Protocol, Limited Use Protocol, Not

Recommended Protocol

Les RFC sont la référence (bible de TCP/IP)

Accès aux textes des RFCs :ftp anonymous à : ftp.inria.fr (128.93.1.26),

ftp.ripe.net (192.87.45.1)nic.ddn.mil (192.112.36.5)

mail [email protected] : n° RFC (ex : RFC 793)

Page 9: TCP Partie1

9

Introduction -- Internet : Caractéristiques

Nombreux tests avant la sortie des standards : produits TCP/IP éprouvés

Développés en toute indépendance de tout matériel informatique ou système d’exploitation (technologie indépendante des constructeurs)

TCP/IP fait communiquer des réseaux hétérogènes et fonctionne sur tous les médias (Ethernet , Token Ring, FDDI, …)

Interconnexion universelle (adresse unique)

Interconnexion d'égal à égal, il n'y a pas de machines prioritaires

Les protocoles haut niveau sont normalisés, ce qui permet d’avoir des services utilisateurs variés et largement accessibles

Documents (RFCs) publics et gratuits

Page 10: TCP Partie1

10

PlanINTRODUCTION

INTERCONNEXION DE RESEAUXLE PROTOCOLE IPL'ADRESSAGE IPLE SOUS-ADRESSAGE IPDATAGRAMME IPARP RARP ICMPROUTAGE DES DATAGRAMMESTCP UDPSERVICES RESEAUX

Page 11: TCP Partie1

11

Interconnexion de Réseaux

Problème : les réseaux à interconnecter sont de nature très diverse et les différences entre tous ces réseaux ne doivent pas apparaître à l'utilisateur

1ère solution : Les premiers systèmes d'interconnexion ont traité ce problème au niveau applicatif ( ex : messagerie relayant le message de nœud en nœud)

Inconvénients :— si les applications interfacent elles-mêmes le réseau (aspects physiques),

elles sont victimes de toute modification de celui-ci,— les différentes applications sur la même machine dupliquent l'accès au

réseau,— lorsque le réseau devient important, il est impossible de mettre en oeuvre

toutes les applications nécessaires à l'interconnexion sur tous les nœuds du réseau

Page 12: TCP Partie1

12

Interconnexion de Réseaux

Alternative à cette solution : Utilisation de niveaux d'abstractions et structuration des protocoles en couches :

" ...Les protocoles en couches sont conçus de façon que la couche n du destinataire reçoive une copie conforme des objets émis par la couche n de la source....."

Serveur FTP

Client FTP

TCP TCP

IP IP

Driver Ethernet

DriverTokenRing

Portocole FTP

Ordinateur A Ordinateur B

Portocole TCP

Portocole IP

Portocole Ethernet

Ethernet

Cette architecture et ses différents protocoles permettent de faire fonctionner un réseau local

Page 13: TCP Partie1

13

Interconnexion de Réseaux

Cette architecture permet surtout de constituer un Internet : une interconnexion de réseaux éventuellement hétérogènes

• les ordinateurs A et B sont des systèmes terminaux et le routeur estun système intermédiaire

• la remise du datagramme nécessite l'utilisation de deux trames différentes, l'une du réseau Ethernet entre la machine A et le routeur, l'autre du réseau Token-Ring entre lerouteur et la machine B.

• Par opposition, le principe de structuration en couches indique que le paquet reçu par la couche transport de la machine B est identique à celui émis par la couche transport de la machine A.

Serveur FTP

Client FTP

TCP TCP

IP IP

Driver Ethernet

DriverTokenRing

IP

Driver Ethernet

DriverTokenRing

Message identique

Paquet identique

Datagrammeidentique

Datagrammeidentique

Trameidentique

Trameidentique

Token RingEthernet

Routeur

Ordinateur A Ordinateur B

Page 14: TCP Partie1

14

Interconnexion de Réseaux

Lorsqu'une application envoie des données à l'aide de TCP/IP les données traversent de haut en bas chaque couche jusqu'à aboutir au support physique où elles sont alors émises sous forme de suite de bits

Données user

Données user

En-têteapplicatif

Données applicativesEn-tête TCP

Données applicativesEn-tête TCP

En-tête IP

Données applicativesEn-tête TCP

En-tête IPEn-tête EthernetEn-tête

EthernetCRC

Ethernet

application

TCP

IP

Driver Ethernet

Ethernet

Segment TCP

Datagramme IP

14 octets

Trame Ethernet

46 à 1500 octets

Page 15: TCP Partie1

15

Interconnexion de Réseaux

L'interconnexion est mise en oeuvre au niveau des protocoles gérant la couche réseau de ces systèmes. Ceci affranchit l'utilisateur des détails relatifs aux couches inférieures et finalement au réseau lui-même (couche physique)

Avantages :— les données sont routées par les nœuds intermédiaires sans que ces nœuds

aient la moindre connaissance des applications responsables de ces données— Le routage est effectuée sur la base de datagrammes de petites tailles plutôt que

sur la totalité de fichiers pouvant être de taille très importante,— le système est flexible puisqu’on peut facilement introduire de nouvelles

interfaces physiques en adaptant la couche réseau alors que les applications demeurent inchangées,

— les protocoles peuvent être modifiés sans que les applications soient affectées.

Page 16: TCP Partie1

16

Interconnexion de Réseaux

Les routeurs possèdent une connexion sur chacun des réseaux:

Le routeur R interconnecte les réseaux A et B.

Le rôle du routeur R est de transférer sur le réseau B, les datagrammes circulant sur le réseau A et destinés au réseau B et inversement.

RRéseau A Réseau B

Page 17: TCP Partie1

17

Interconnexion de Réseaux

R1Réseau AEthernet

Réseau BX25

R2Réseau C

TR

R1 transfère sur le réseau B, les paquets circulant sur le réseau A et destinés aux réseaux B et C

R1 doit avoir connaissance de la topologie du réseau; à savoir que C est accessible depuis le réseau B.

Le routage n'est pas effectué sur la base de la machine destinatrice mais sur la base du réseau destinataire

A l'intérieur de chaque réseau, les noeuds utilisent la technologie spécifique de leur réseau (Ethernet, X25, Token Ring, etc)

Page 18: TCP Partie1

18

Interconnexion de Réseaux

Le logiciel d'interconnexion (couche réseau) encapsule les spécificités de chaque réseau et offre un service commun à toutes les applications, faisant apparaître l'ensemble de ces réseaux disparates comme un seul et unique réseau.

Vue utilisateurVue proche de

la réalité

Page 19: TCP Partie1

19

Interconnexion de réseaux : Architecture ARPA

TCP UDP

SMTP Rlogin Telnet FTP DNS RPC

XDR

NFS

Rsh Rcp

ICMPARP RARP

IEEE 802.3, 802.5, X25 , ARPANET , ....

IP

Physique1

2

3

4

7

6

5

Fam

ille

des

Prot

ocol

es T

CP/

IP

Applications

Uniquement 3 couches dans TCP/IP (réseau : IP, Transport : TCP ou UDP, Application)

Page 20: TCP Partie1

20

Plan

INTRODUCTIONINTERCONNEXION DE RESEAUX

LE PROTOCOLE IPL'ADRESSAGE IPLE SOUS-ADRESSAGE IPDATAGRAMME IPARP RARP ICMPROUTAGE DES DATAGRAMMESTCP UDPSERVICES RESEAUX

Page 21: TCP Partie1

21

Protocole IP

le protocole IP est au cœur du fonctionnement d'un internet.Interconnexion de réseaux de types différents IP au dessus de tout : protocole de convergenceapplications deviennent indépendantes du réseau

IP est non fiable : aucune garantie pour que les datagrammes IP arrivent à destination.

IP n'assure pas :— la vérification du séquencement, — la détection de perte, — la retransmission si erreur, — le contrôle de flux

On parle de remise au mieux (best effort delivery) et ni l'émetteur ni le récepteur ne sont informés directement par IP des problèmes rencontrés.

Page 22: TCP Partie1

22

Protocole IP

IP est en mode non connecté :IP traite chaque datagramme indépendamment de ceux qui le précèdent et le suivent deux datagrammes IP issus de la même machine et ayant la même destination peuvent ne pas suivre obligatoirement le même chemin

Fonctionnalités de IP :définir le format du datagramme IP qui est l'unité de base des données circulant sur Internetdéfinir le routage dans l’Internet (Acheminement des datagrammesd'une machine à une autre par des intermédiaires )définir la gestion de la remise non fiable des datagrammes

Décrit IP version 4IP v6 est disponible

Page 23: TCP Partie1

23

Plan

INTRODUCTIONINTERCONNEXION DE RESEAUXPROTOCOLE IP

L'ADRESSAGE IPLE SOUS-ADRESSAGE IPDATAGRAMME IPARP RARP ICMPROUTAGE DES DATAGRAMMESTCP UDPSERVICES RESEAUX

Page 24: TCP Partie1

24

L’adressage IP

But : fournir un service de communication universel permettant à toute machine de communiquer avec toute autre machine de l’interconnexion

Une machine doit être accessible aussi bien par des humains que par d'autres machines

Une machine doit pouvoir être identifiée par :un nom (mnémotechnique pour les utilisateurs),une adresse qui doit être un identificateur universel de la machine,une route précisant comment la machine peut être atteinte.

Page 25: TCP Partie1

25

L’adressage IP

Solution : adressage binaire assurant un routage efficace Adressage non hiérarchisé ou arborescent

Différence avec téléphone, X25, ATMUtilisation de noms pour identifier des machines (réalisée au niveau applicatif)Une adresse IP (@IP) est constituée de :

un identificateur de réseau auquel appartient la machine (Netid)- assigné par une autorité nationale ou internationale

un identificateur de la machine sur ce réseau (Hostid)- Assigné par l’administrateur local du réseau

Format d’une adresse IP: @IP = (netid, hostid)

Net id Host id

32 bits

Page 26: TCP Partie1

26

L’adressage IP

Les classes d’@IP : 5 classes

Host-id8 16 31

0 Net-id0 24

Classe A

Net-id Host-id1 0Classe B

Net-id Host-id1 01Classe C

Multicast1 011Classe D

Réservé1 011 1Classe E

Page 27: TCP Partie1

27

L’adressage IP

Notation décimale pointée

- @IP : 4 nombres décimaux séparés par des points.

- Chaque nombre décimal représente un octet de l'@IP

- ex : @IP = 10000000 00001010 00000010 00011110 => 128.10.2.30

Adresses particulières0 248 16 31

Tout à zéro

Host-idTout à zéro

Net-id Tout à un

127 N’importe quoi (souvent 1)

machine Host-idsur le réseau courant

Tout à un diffusion limitée surle réseau courantdiffusion dirigée surle réseau Net-id

boucle locale

désigne la machinecourante

Page 28: TCP Partie1

28

L’adressage IP

@IP sous la forme : a.b.c.d

240 ≤ a ≤ 247E

224 ≤ a ≤ 239D

2542 Mda.b.c.0a.b.c192 ≤ a ≤ 223C

65 K16 Kc.da.b.0.0a.b128 ≤ a ≤ 191B

16 M126b.c.da.0.0.0a1≤a ≤ 126A

Nombre machines

Nombreréseaux

HostId@IP réseau

NetIdValeurs de a Classe

Page 29: TCP Partie1

29

L’adressage IP

Adresses et connexions :• une connexion à un réseau => Une interface réseau => Une @ IP• Passerelle a plusieurs interfaces physiques => plusieurs @ IP

Une machine peut avoir plusieurs @ IP :• la machine est une passerelle • la machine est multi-domiciliée

P192.168.1.2

192.168.1.0

192.168.1.3

192.168.1.1

172.16.0.0

172.16.0.1

172.16.0.2172.16.0.3

172.16.0.5

Page 30: TCP Partie1

30

L’adressage IP : Attribution des @IP

Réseau connecté à Internet :— Attribution par le NIC ou l’un de ses représentants — Attribution de la classe et l‘@ IP réseau publique (ou officielle)— L'administrateur réseau attribut les adresses "Hostid"

Réseau non connecté à Internet ou privés: choix libre des adresses mais avec respect des règles Il est recommandé d’utiliser des @ IP privées (@ IP réservées et

non attribuées de manière officielle) :

- classe A : 10.0.0.0

- classe B : 172.16.0.0 à 172.31.0.0

- classe C : 192.168.0.0 à 192.168.255.0

Page 31: TCP Partie1

31

L’adressage IP : Traduction des @IP

Pour connecter un réseau privé à l’Internet , on doit :

• soit traduire les @ IP internes privées en des @ IP externes officielles en utilisant un NAT (Network Address Translation)

• soit utiliser un serveur proxy

le NAT permet de remplacer une @ IP dans l’en-tête du datagramme IP :

• résoud le problème de pénurie des @ IP

• Assure une sécurité du réseau de l’entreprise

Page 32: TCP Partie1

32

L’adressage IP : Traduction des @IP

172.16.0.0

Internet

194.204.1.1172.16.2.1172.16.2.3

172.16.2.2

150.50.1.1

172.16.2.2 150.50.1.1IP source IP desti

194.204.1.1 150.50.1.1NAT 150.50.1.1 194.204.1.1150.50.1.1 172.16.2.2

Page 33: TCP Partie1

33

L’adressage IP : Traduction des @IP

Il y a deux types de NAT:

- NAT Statique:

1 adresse privée ↔ une adresse public

- NAT Dynamique:

plusieurs adresses privées ↔ plusieurs adresses publiques

Gestion des adresses translatées :

@IP de sortie numéros de ports@IP d’entrée

Page 34: TCP Partie1

34

Plan

INTRODUCTIONINTERCONNEXION DE RESEAUXLE PROTOCOLE IPL'ADRESSAGE IP

LE SOUS-ADRESSAGE IPDATAGRAMME IPARP RARP ICMPROUTAGE DES DATAGRAMMESTCP UDPSERVICES RESEAUX

Page 35: TCP Partie1

35

Protocole IP : Le Sous-adressage (1)

• Réseau non segmenté (pas de sous-adressage)

172.16.0.0

.2.2.2.3.2.4.1.7.1.9.1.8

.5.4 .5.3 .5.2

.4 .3.2

172.16.3.0 .1

.2.3.4.7.9.8

172.16.2.0172.16.1.0.20.10

Routeur

172.16.0.0

Internet

Internet• Réseau segmenté (avec sous-adressage)

Page 36: TCP Partie1

36

Protocole IP : Le Sous-adressage (2)

Intérêt du sous-adressage : — Mélanger différentes technologies (Ethernet, Token ring, etc)— Surmonter les limitations des technologies en cours (nbre de hôtes

par segment),— Réduire l’encombrement du réseau et limiter les congestions— Déléguer la gestion administrative des sous-réseaux,

• Séparer les machines sensibles,• Optimisation des tables de routage

— etc….

Principe— A un réseau d' adresse IP de classe A, B ou C peuvent être

associés plusieurs sous-réseaux physiques (subnet) partageant cette adresse IP

— Les sous-réseaux sont connus localement

Page 37: TCP Partie1

37

Protocole IP : Le Sous-adressage (3)

Le sous-adressage est une extension du plan d’adressage initial

Utilisation d’un nombre de bits de la partie hostId : la partie sous-réseau (subNetId) sépare la partie réseau et la partie machine d’une @ IP

Net Id Host IdSubNet Id

Host IdNet Id

les champs «SubNetId» et «HostId» sont de taille variable; la longueur des 2 champs étant toujours égale à la longueur de la «Partie initiale». Il est recommandé que les bits du SubNetId soient toujours contigus.

Page 38: TCP Partie1

38

Protocole IP : Le Sous-adressage (4)

Pour identifier les sous-réseaux on utilise un masque de sous-réseau

Masque est un mot de 32 bits définis de la manière suivante :• Bit du masque à 1 le Bit correspondant dans @IP ∈ NetId ou SubNetId• Bit du masque à 0 le Bit correspondant dans @IP ∈ HostId

Net Id Host IdSubNet Id

Exemple :

1111111111111111111111111111 000000000000

@IP =

Masque =

Une fonction ET Logique pour déterminer l’@ IP réseau.

Page 39: TCP Partie1

39

Protocole IP : Le Sous-adressage (5)

Masques par défaut :• Classe C : 255.255.255.0• Classe B : 255.255.0.0• Classe A : 255.0.0.0

Quand on réserve n bits pour la partie SubnetId alors on aura 2n –2 sous-réseaux possibles

Le choix du découpage dépend des perspectives d’évolution du site

Lorsque le sous-adressage est ainsi défini, toutes les machines du réseau doivent s’y conformer sous peine de dysfonctionnement du routage ==> configuration rigoureuse

Notations :• 128.10.0.0 masque 255.255.255.0• 128.10.0.0/24

Page 40: TCP Partie1

40

Plan

INTRODUCTION

INTERCONNEXION DE RESEAUXLE PROTOCOLE IPL'ADRESSAGE IPLE SOUS-ADRESSAGE IP

DATAGRAMME IPARP

RARP

ICMP

ROUTAGE DES DATAGRAMMES

TCP

UDP

SERVICES RESEAUX

Page 41: TCP Partie1

41

Protocole IP : le datagramme (1)

Le datagramme IP : L'unité de transfert de base dans un réseau internet

• constituée d'un En-tête et d'une partie Données

0 248 16 31Type de service Longueur totale

Identification Offset (fragment)

Adresse IP Source

Adresse IP Destination

Options IP (éventuellement)

4

VERS LongueurEn-tête

19

Drapeau

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

Bourrage

Données

. . .

Page 42: TCP Partie1

42

Protocole IP : le datagramme (2)

Signification des champs du datagramme IP :VERS : numéro de version de protocole IP, actuellement version 4, permet de s'entendre sur le format du datagrammeLongueur en-tête : longueur en mots de 32 bits, généralement égal à 5 (pas d'option),Longueur totale : longueur totale du datagramme (en-tête + données) en octets. Max = 64 KoctetsType de service : indique comment le datagramme doit être géré (8bits)

DPrécédence T R Inutilisé

PRECEDENCE (3 bits) : définit la priorité du datagramme; en général ignoré par les machines et passerelles (pb de congestion).Bits D, T, R : indiquent le type d'acheminement désiré du datagramme, permettant à une passerelle de choisir entre plusieurs routes (si elles existent) : D signifie délai court, T signifie débit élevé et R signifie grande fiabilité.

Page 43: TCP Partie1

43

Protocole IP : le datagramme (3)

Fragment offset, Drapeau, Identification : les champs de la fragmentation

IP au dessus de tout : trame sur le réseau physique de taille variable selon les protocoles => découpage du datagramme en fragment

Unité maximale de transfert (MTU : Maximum Transfert Unit)• Ethernet : 1518 octets , X25 : 1024, Localtalk : 576, FDDI : 4500

Différents cas de changements de MTU (notion de routeurs)• Si le MTU diminue : fragmentation du datagramme en autant de

fragments que les trames du réseau physique supportent• Si le MTU augmente : transmission des fragments tels quels

Le destinataire final reconstitue le datagramme initial à partir de l'ensemble des fragments reçus :

• Si un seul fragment est perdu => datagramme global perdu• + il y a de fragmentation + la probabilité de perte d'un datagramme est

grande• Taille du fragment = au + petit MTU traversé sur le chemin

Page 44: TCP Partie1

44

Protocole IP : le datagramme (4)

Offset du Fragment : indique le déplacement des données contenues dans le fragment par rapport au datagramme initial. C'est un multiple de 8 octets; la taille du fragment est donc également un multiple de 8 octets. 1er fragment FO = 0. FO varie de 0 à 8191

Longueur totale : taille du fragment et non pas celle du datagrammeinitial. A partir du dernier fragment (TOTAL LENGTH, FRAGMENT OFFSET et FLAGS) on peut déterminer la taille du datagramme initial.

Identification : entier qui identifie le datagramme initial (utilisé pour la reconstitution à partir des fragments qui ont tous la même valeur)

Drapeau (Flags) : pour la fragmentation— 01X : do not fragment— 000 : last fragment (ou pas encore fragmenté) — 001 : More fragments

Page 45: TCP Partie1

45

Protocole IP : le datagramme (5)

EF2EF2

EF1

EF3

EF1

EF3

Réseau 1 Réseau 2 Réseau 3

MTU=1500 MTU=1500MTU=620R1 R2

En-tête datagramme

Données 1400 octets 600 octets

600 octets

200 oct.

EF1: flags=000; offset=1200

EF2 : flags=001; offset=600

EF3 : flags=001; offset=0

600 octets

600 octets

200 oct.

EF1 : En-tête fragment 1EF2 : En-tête fragment 2EF3 : En-tête fragment 3

Page 46: TCP Partie1

46

Protocole IP : le datagramme (6)

Durée de vie (TTL : Time To Live)— Indique en « secondes », la durée maximale de transit du datagramme sur

l'internet (de 0 à 255sec)— La machine qui émet le datagramme définit sa durée de vie.— Les routeurs qui traitent le datagramme décrémentent sa durée de vie — lorsque celle-ci expire le datagramme est détruit et un message d'erreur

est renvoyé à l'émetteur

Protocole− Identifie le protocole de niveau supérieur :

— 6 : TCP— 17 : UDP— 1 : ICMP

Page 47: TCP Partie1

47

Protocole IP : le datagramme (7)

Somme de contrôle de l’en-tête (Header Checksum) : détection d'erreursOPTIONS

— Le champ OPTIONS est facultatif et de longueur variable. Les options concernent essentiellement des fonctionnalités de mise au point. Une option est définie par un champ octet :

classed’optionC Numéro d’option

0 1 2 3 7

— copie (C) indique que l'option doit être recopiée dans tous les fragments (c=1) ou bien uniquement dans le premier fragment (c=0).

— les bits classe d'option et numéro d'option indiquent le type de l'option et une option particulière de ce type :

Page 48: TCP Partie1

48

Protocole IP : le datagramme (8)

Enregistrement de route (classe = 0, option = 7) : permet à la source de créer une liste d'adresse IP vide et de demander à chaque passerelle d'ajouter son adresse dans la liste.

code Longueur pointeur

Adresse IP

Adresse IP

. . .

Page 49: TCP Partie1

49

Protocole IP : le datagramme (9)

Routage strict prédéfini par l'émetteur (classe = 0, option = 9): prédéfinit le routage qui doit être utilisé dans l'interconnexion en indiquant la suite des adresses IP dans l'option :

code Longueur pointeur

Adresse du premier saut

. . .

Adresse du second saut

• Le chemin spécifié ne tolère aucun autre intermédiaire; une erreur est retournée à l'émetteur si une passerelle ne peut appliquer le routage spécifié.

• Les passerelles enregistrent successivement leur adresse à l'emplacement indiqué par le champ pointeur.

Page 50: TCP Partie1

50

Protocole IP : le datagramme (10)

Routage lâche prédéfini par l'émetteur (classe = 0, option = 3): Cette option autorise, entre deux passages obligés, le transit par d'autres intermédiaires :

code Longueur pointeur

Adresse du premier passage obligé

. . .

Adresse du second passage obligé

Page 51: TCP Partie1

51

Protocole IP : le datagramme (11)

Horodatage (classe = 2, option = 4) : cette option permet d'obtenir les temps de passage (timestamp) des datagrammes dans les passerelles. Exprimé en heure et date universelle.

code Longueur pointeur

Première adresse IP

. . .

Premier horodatage

dep. flags

• Une liste de couples (adresse IP - horodatage) est réservée par l'émetteur; les passerelles ont à charge de remplir un champ lors du passage du datagramme.