Professional Documents
Culture Documents
www.developpez.c.la
Plan
INTRODUCTION
CONCEPTS DE
L'INTERCONNEXION
L'ADRESSAGE INTERNET
ARP : PROTOCOLE DE
RESOLUTION D'ADRESSE
RARP : PROTOCOLE DE
RESOLUTION D'ADRESSE
INVERSE
www.developpez.c.la
LE PROTOCOLE INTERNET
ROUTAGE DES
DATAGRAMMES
LE SOUS-ADRESSAGE
LE PROTOCOLE ICMP
UDP : LE PROTOCOLE
TRANSPORT DATAGRAM
TCP : LE PROTOCOLE DE
TRANSPORT FIABLE
CONCLUSION
Introduction
Introduction
Concepts de linterconnexion
www.developpez.c.la
www.developpez.c.la
Reseau A
Reseau B
P1
Reseau B
P2
Reseau C
www.developpez.c.la
Vue utilisateur
www.developpez.c.la
Ladressage Internet
www.developpez.c.la
11
Ladressage Internet
www.developpez.c.la
12
Net-id
Classe A
Classe B
10
Classe C
110
Classe D
1110
Classe E
11110
www.developpez.c.la
16
24
31
Host-id
Net-id
Host-id
Net-id
Host-id
Multicast
Rserv
13
Notation dcimale
L'interface utilisateur concernant les adresses IP consiste en la
notation de quatre entiers dcimaux spars par un point, chaque
entier reprsentant un octet de l'adresse IP :
10000000
00001010
00000010
00011110
est crit :
128.10.2.30
Adresses particulires
Adresses rseau : adresse IP dont la partie hostid ne comprend que des
zros; => la valeur zro ne peut tre attribue une machine relle :
192.20.0.0 dsigne le rseau de classe B 192.20.
Adresse machine locale : adresse IP dont le champ rseau (netid) ne
contient que des zros;
hostid = 0 (=> tout zro), l'adresse est utilise au dmarrage du systme
afin de connatre l'adresse IP (Cf RARP).
www.developpez.c.la
14
www.developpez.c.la
15
www.developpez.c.la
16
Rsum
16
24
dsigne la machine
courante
Tout zro
Tout zro
Host-id
127
www.developpez.c.la
machine Host-id
sur le rseau courant
diffusion limite sur
le rseau courant
Tout un
Net-id
31
Tout un
Nimporte quoi (souvent 1)
17
et connexions
Une adresse IP => une interface physique => une connexion rseau.
S'applique particulirement aux routeurs qui possdent par dfinition
plusieurs connexions des rseaux diffrents
A une machine, est associ un certain nombre N d'adresses IP. Si N > 0
la machine (ou passerelle) est multi-domicilie.
193.49.60.41
193.49.60.43
193.49.60.1
192.100.1.2
192.100.1.1
192.100.1.7
18
Le besoin
La communication entre machines ne peut s'effectuer qu' travers
l'interface physique
Les applicatifs ne connaissant que des adresses IP, comment tablir le lien
adresse IP / adresse physique?
La solution : ARP
Mise en place dans TCP/IP dun protocole de bas niveau appel Adress
Resolution Protocol (ARP)
Rle de ARP : fournir une machine donne l'adresse physique d'une
autre machine situe sur le mme rseau partir de l'adresse IP de la
machine destinatrice
LA technique :
Diffusion d'adresse sur le rseau physique
La machine d'adresse IP met un message contenant son adresse physique
Les machines non concernes ne rpondent pas
Gestion cache pour ne pas effectuer de requte ARP chaque mission
www.developpez.c.la
19
A
www.developpez.c.la
20
www.developpez.c.la
21
Type de matriel
LGR-MAT
16
24
31
Type de protocole
Opration
LGR-PROT
Adresse matriel metteur (octets 0-3)
22
Le besoin
L'adresse IP d'une machine est configurable (elle dpend du rseau sur
lequel elle se trouve) et est souvent enregistre sur la mmoire secondaire
o le systme d'exploitation l'accde au dmarrage.
Ce fonctionnement usuel n'est plus possible ds lors que la machine est une
station sans mmoire secondaire.
Problme : dterminer un mcanisme permettant la station d'obtenir
son adresse IP depuis le rseau.
La solution
Protocole de bas niveau appel Reverse Adress Resolution Protocol
Permet d'obtenir son adresse IP partir de l'adresse physique qui lui est
associe.
Fonctionnement
Serveur RARP sur le rseau physique; son rle: fournir les adresses
IP associes aux adresses physiques des stations du rseau;
www.developpez.c.la
23
Pour conatre son adresse IP, A diffuse sur le rseau, une requte RARP
qui la dsigne comme destinataire
Les Serveurs RARP (B et C) rpondent la requte.
www.developpez.c.la
24
IP : Internet Protocol
Services Applicatifs
Service de transport fiable
Service rseau en mode connect
25
protocole IP dfinit :
www.developpez.c.la
26
16
19
31
Longueur totale
Flags
Protocole
24
Offset fragment
Adresse IP Source
Adresse IP Destination
Options IP (eventuellement)
Padding
Donnes
...
www.developpez.c.la
27
Inutilis
www.developpez.c.la
28
29
www.developpez.c.la
30
P1
En-tte datagramme
www.developpez.c.la
Rseau 2
MTU=620
P2
Rseau 3
MTU=1500
32
Dure de vie
Ce champ indique en secondes, la dure maximale de transit du
datagramme sur l'internet. La machine qui met le datagramme dfinit sa
dure de vie.
Les passerelles qui traitent le datagramme doivent dcrmenter sa dure
de vie du nombre de secondes (1 au minimum) que le datagramme a pass
pendant son sjour dans la passerelle; lorsque celle-ci expire le
datagramme est dtruit et un message d'erreur est renvoy l'metteur.
Protocole
Ce champ identifie le protocole de niveau suprieur dont le message
est vhicul dans le champ donnes du datagramme :
6 : TCP,
17 : UDP,
1 : ICMP.
www.developpez.c.la
33
34
OPTIONS
Le champ OPTIONS est facultatif et de longueur variable. Les options
concernent essentiellement des fonctionnalits de mise au point. Une option
est dfinie par un champ octet :
0 1 2 3
C
classe
doption
Numro doption
copie (C) indique que l'option doit tre recopie dans tous les fragments
(c=1) ou bien uniquement dans le premier fragment (c=0).
les bits classe d'option et numro d'option indiquent le type de l'option et
une option particulire de ce type :
www.developpez.c.la
35
code
Longueur pointeur
Adresse IP
Adresse IP
...
www.developpez.c.la
36
Longueur pointeur
...
Le chemin spcifi ne tolre aucun autre intermdiaire; une erreur est
retourne l'metteur si une passerelle ne peut appliquer le routage
spcifi.
Les passerelles enregistrent successivement leur adresse
l'emplacement indiqu par le champ pointeur.
www.developpez.c.la
37
Longueur pointeur
...
www.developpez.c.la
38
code
...
www.developpez.c.la
39
www.developpez.c.la
40
41
P2
M
M est mono-domicilie et doit acheminer les datagrammes vers une des
passerelles P1 ou P2; elle effectue donc le premier routage. Dans cette
situation, aucune solution noffre un meilleur choix.
Le routage indirect repose sur une table de routage IP, prsente sur toute
machine et passerelle, indiquant la manire datteindre un ensemble de
destinations.
www.developpez.c.la
42
43
Reseau
10.0.0.0
10.0.0.1
30.0.0.5
Reseau
20.0.0.0
Reseau
30.0.0.0
20.0.0.2
40.0.0.1
Reseau
40.0.0.0
30.0.0.1
10.0.0.0
20.0.0.0
30.0.0.0
40.0.0.0
Router vers
20.0.0.1
direct
direct
30.0.0.1
Table de routage de G
www.developpez.c.la
44
45
www.developpez.c.la
46
47
Le sous-adressage
48
Le sous-adressage (suite)
Les sous-rseaux 128.10.1.0 et 128.10.2.0 sont nots seulement avec le NetId,
les machines seulement avec le Hostid ; exemple IP(F) = 128.10.2.9
128.10.1
.1
Internet
.2
.3
.4
.1
128.10.2
128.10.0.0
.6
.2
.9
Un site avec deux rseaux physiques utilisant le sous-adressage de manire ce que ses
deux sous-rseaux soient couverts par une seule adresse IP de classe B.
La passerelle P accepte tout le trafic destin au rseau 128.10.0.0 et slectionne le sousrseau en fonction du troisime octet de ladresse destination.
www.developpez.c.la
49
Le sous-adressage (suite)
Le site utilise une seule adresse pour les deux rseaux physiques.
A lexception de P, toute passerelle de linternet route comme sil
nexistait quun seul rseau.
La passerelle doit router vers lun ou lautre des sous-rseaux ; le
dcoupage du site en sous-rseaux a t effectu sur la base du
troisime octet de ladresse :
les adresses des machines du premier sous-rseau sont de la forme
128.10.1.X,
les adresses des machines du second sous-rseau sont de la forme
128.10.2.X.
Pour slectionner lun ou lautre des sous-rseaux, P examine le
troisime octet de ladresse destination : si la valeur est 1, le
datagramme est rout vers rseau 128.10.1.0, si la valeur est 2, il est
rout vers le rseau 128.10.2.0.
www.developpez.c.la
50
Le sous-adressage (suite)
Partie locale
Partie Internet
www.developpez.c.la
51
Le sous-adressage (suite)
Structure du sous-adressage
Structuration souple : chaque site peut dfinir lui-mme les longueurs
des champs rseau physique et identificateur de machine.
Flexibilit indispensable pour adapter la configuration rseau dun
site:
P1
Rseau 4
P4
Rseau 1
P2
Rseau 5
P3
P5
Rseau 2
Rseau 3
52
Le sous-adressage (suite)
www.developpez.c.la
53
Le sous-adressage (suite)
Utilisation de masques
Le sous-adressage ==> masque de 32 bits associ au sous-rseau.
Bits du masque de sous-rseau (subnet mask) :
positionns 1 : partie rseau,
positionns 0 : partie machine
11111111 11111111 11111111 00000000
==> 3 octets pour le champ rseau, 1 octet pour le champ machine
Les bits du masque identifiant sous-rseau et machine peuvent ne pas
tre contigus : 11111111 11111111 00011000 01000000
Les notations suivantes sont utilises :
dcimale pointe; exemple : 255.255.255.0
triplet : { <ident. rseau>, <ident. sous-rseau> <ident. machine> } ; cette
notation renseigne les valeurs mais pas les champs de bits;
exemple { -1, -1, 0 } , { 128.10, 27, -1 }.
adresse rseau/masque : 193.49.60.0/27 (27=# bits contigs du masque)
www.developpez.c.la
54
Le sous-adressage (suite)
Routage avec sous-rseaux
Le routage IP initial a t tendu ladressage en sous-rseaux;
lalgorithme de routage obtenu doit tre prsent dans les machines
ayant une adresse de sous-rseau, mais galement dans les autres
machines et passerelles du site qui doivent acheminer les
datagrammes vers ces sous-rseaux.
Rseau 1 (adr IP = N)
P2
Rseau 2 (ss-rseau de N)
P2
Rseau 3 (ss-rseau de N)
M doit utiliser le routage de sous-rseaux pour dcider si elle route vers les
passerelles P1 ou P2 bien quelle mme soit connecte un rseau (Rseau 1)
nayant pas de sous-adressage
www.developpez.c.la
55
Le sous-adressage (suite)
Le routage unifi : Une entre dans la table de routage =
(masque de sous-rseau, adresse sous-rseau, adresse de la passerelle)
Algorithme de routage unifi :
Route_IP_Datagram(datagram, routing_table)
Extraire ladresse ID de destination du datagramme,
Calculer ladresse IN du rseau destination,
Si IN correspond une adresse rseau directement accessible
envoyer le datagramme sur le rseau physique correspondant,
Sinon
Pour chaque entre dans la table de routage,
N = (ID & masque de sous-rseau de lentre)
Si N est gal au champ adresse rseau de lentre
router le datagramme vers la passerelle correspondante,
Fin_Pour
Si aucune entre ne correspond, dclarer une erreur de routage.
www.developpez.c.la
56
Le sous-adressage (suite)
www.developpez.c.la
57
www.developpez.c.la
58
11.1.1.0/24
...
11.1.254.0/24
...
11.254.0.0/16
11.254.32.0/19 . . .
11.254.192.0/19
11.1.253.32/27
11.1.253.64/27
...
11.1.253.192/27
www.developpez.c.la
Le Protocole ICMP
Le besoin
Le protocole ICMP (Internet Control Message Protocol) permet
denvoyer des messages de contrle ou derreur vers dautres
machines ou passerelles.
ICMP rapporte les messages derreur lmetteur initial.
Beaucoup derreurs sont causes par lmetteur, mais dautres sont
des des problmes dinterconnexions rencontres sur lInternet :
machine destination dconnecte,
dure de vie du datagramme expire,
congestion de passerelles intermdiaires.
Si une passerelle dtecte un problme sur un datagramme IP, elle le
dtruit et met un message ICMP pour informer lmetteur initial.
Les messages ICMP sont vhiculs lintrieur de datagrammes IP
et sont routs comme nimporte quel datagramme IP sur linternet.
Une erreur engendre par un message ICMP ne peut donner
naissance un autre message ICMP (vite leffet cummulatif).
www.developpez.c.la
60
TYPE
0
3
4
5
8
11
12
Message ICMP
Echo Reply
Destination Unreachable
Source Quench
Redirect (change a route)
Echo Request
Time Exceeded (TTL)
Parameter Problem with a
Datagram
www.developpez.c.la
TYPE
13
14
15
16
17
18
Message ICMP
Timestamp Request
Timestamp Reply
Information Request
(obsolete)
Information Reply
(obsolte)
Address Mask Reques
Address Mask Reply
61
8
16
31
TYPE CODE
CHECKSUM
Identifieur
Seq. number
Donnes spcifiques . . .
www.developpez.c.la
62
63
64
8
16
31
TYPE CODE
CHECKSUM
SPECIFIQUE
65
66
www.developpez.c.la
67
B
Internet
R1
R2
2me routage
Redirection ICMP
68
69
SIGNIFICATION
erreonous data
missing option
70
71
www.developpez.c.la
72
16
31
Port UDP dest.
Checksum UDP
Donnes ...
Les ports source et destination contiennent les numros de port utiliss
par UDP pour dmultiplexer les datagrammes destins aux processus en
attente de les recevoir. Le port source est facultatif (gal zro si non
utilis).
La longueur du message est exprime en octets (8 au minimum) (en-tte +
donnes), le champ de contrle est optionnel (0 si non utilis).
www.developpez.c.la
73
8
16
Adresse IP Source
Adresse IP Destination
zro
proto
31
Format du pseudo en-tte
Longueur UDP
www.developpez.c.la
74
UDP : Multiplexage
75
76
www.developpez.c.la
77
TCP : La connexion
une connexion de type circuit virtuel est tablie avant que les donnes
ne soient changes : appel + ngociation + transferts
www.developpez.c.la
78
TCP : Segmentation
Acquittement de messages
Contrairement UDP, TCP garantit l'arrive des messages, c'est dire
qu'en cas de perte, les deux extrmits sont prvenues.
Ce concept repose sur les techniques dacquittement de message :
lorsqu'une source S met un message Mi vers une destination D, S attend
un acquittement Ai de D avant d'mettre le message suivant Mi+1.
Si lacquittement Ai ne parvient pas S, S considre au bout d'un certain
temps que le message est perdu et remet Mi :
www.developpez.c.la
79
TCP : Acquittements
Source
Emission de Mi
Temporisation
arme
Rseau
Destination
Rception de Aj
www.developpez.c.la
80
TCP : le fentrage
www.developpez.c.la
81
TCP : le Fentrage
Source
Rseau
Emission de Mi
Emission de Mi+1
Destination
Rception de Mi
Emission de Ai
Emission de Mi+2
Reception de Ai
Fentrage de taille 3
www.developpez.c.la
82
1 2 3 4 5 6 7 8 9 10 11 . . .
Octets mis et
acquitts
www.developpez.c.la
Octets mis et
non acquitts
Octets
missibles
TCP : Segments
10
16
Port source
24
31
Port destination
Numro de squence
Numro dacquittement
N * 32bits
fentre
Checksum
pointeur urgence
Options ventuelles
padding
Donnes . . .
www.developpez.c.la
84
85
86
RST : utilis par une extrmit pour indiquer lautre extrmit quelle
doit rinitialiser la connexion. Ceci est utilis lorsque les extrmits
sont dsynchronises. Exemple :
TCP source
Crash
Closed
TCP destination
Established
??
seq=300 ack=100 CTL=SYN
abort
Syn-sent
close
87
www.developpez.c.la
longueur TCP
88
www.developpez.c.la
89
TCP : acquittements
Acquittements et retransmissions
90
Fentre=900
TCP : Acquittements
TCP source
Segment=300
TCP destination
Seq=3
Envoi de 300 octets
Seq=303
Ack=303
Envoi de 300 octets
Attente car
f = 900
Seq=603
Envoi de 300 octets
Attente de 303
Ack=303
Seq=303
Envoi de 300 octets
Seq=603
Envoi de 300 octets
www.developpez.c.la
Peut tre
conserv ==>
peut ne pas
tre rmis
car acquitt
Ack=903
entre temps
91
TCP : retransmissions
algorithme de retransmission adaptative
enregistre la date dmission dun segment,
enregistre la date de rception de lacquittement correspondant,
calcule lchantillon de temps de boucle A/R coul,
dtermine le temps de boucle moyen RTT (Round Trip Time) :
RTT = (a * anc_RTT) + ((1-a) * NOU_RTT))
92
TCP : retransmissions
Lalgorithme de Karn repose sur les constatations suivantes :
93
TCP : la congestion
Gestion de la congestion
TCP gre le contrle de flux de bout en bout mais galement les
problmes de congestion lis linterconnexion.
94
TCP : la congestion
www.developpez.c.la
95
TCP retransmissions
...
Log2 N itrations pour envoyer N segments. Lorsque la fentre atteint
une fois et demie sa taille initiale, lincrment est limit 1 pour tous
les segments acquitts de la fentre.
mission des 4 segments,
www.developpez.c.la
96
TCP : connexion
Une connexion TCP est tablie en trois temps de manire assurer la
synchronisation ncessaire entre les extrmits :
TCP source
TCP destination
Syn seq=x
Syn seq=y,ack=x+1
Ack y+1
97
TCP : dconnexion
TCP destination
Fin seq=x
ack=x+1
+ fin-> applicatif
Applicatif -> close
Fin seq=y ack=x+1
Ack y+1
www.developpez.c.la
98
Rinitialisation
TCP : Lautomate
Dpart
Ferm
ouverture active/ SYN
fermeture
Ecoute
(Listen)
SYN/SYN+ACK
SYN
reu
ouverture
passive
Send SYN
RST
SYN
mis
SYN/SYN+ACK
Fermer
RST
Tempo. exp.
ACK
SYN+ACK/ACK
Etablie
Close/FIN
FIN/ACK
Attente
Fermer
Fermer/FIN
FIN (send)
FIN
Attente
-1
FIN/ACK
rcv
ACK of FIN
Fermeture
en cours
rcv
Dernier ACK
ACK
rcv
ACK of FIN
tempo. expire aprs
2 dure de vie de segment
FIN
Attente
-2
www.developpez.c.la
FIN / ACK
Tempo.
expire
99
Mot-cl Description
FTP-DATA
FTP
TELNET
SMTP
TIME
NAMESERVER
NICNAME
DOMAIN
FINGER
HTTP
POP3
SUNRPC
www.developpez.c.la