Académique Documents
Professionnel Documents
Culture Documents
• Interconnexion universelle : les machines ont une adresse unique sur l'Internet. Deux
machines reliées au réseau,, communiquent
q grâce
g aux autres noeuds du réseau qui
q
routent de manière coopérative sur la base de l'adresse destinataire.
Cours Réseau • Interconnexion d'égal à égal (peer to peer systems) : il n'y a pas de machines
prioritaires (en opposition à une structure hiérarchique).
• Dans le cadre du transport sécurisé, les acquittements sont effectués entre les
systèmes finaux (source et destinataire) plutôt que continuellement entre chaque
Les protocoles TCP/IP •
noeud relayant les messages.
Applications standards bâties sur la technologie de base : courrier électronique,
transfert de fichier, émulation terminal, etc.
• Technologie publique et largement diffusée au travers de RFC's.
• Indépendante des constructeurs et disponible sur tous types de matériel (micro,
station, super-calculateur et équipements de réseaux)
• Largement validée depuis de nombreuses années dans un monde hétérogène.
1 3
Introduction Concepts
p de l’interconnexion
• TCP/IP : but = interconnexion de réseaux sur une base planétaire
• Point de départ : les réseaux interconnectés sont de nature diverse
• Technologie issue des années 1970, de projets DARPA
• Les différences entre tous ces réseaux ne doivent ppas apparaître
pp à l'utilisateur de
• Aujourd’hui : 100000 réseaux interconnectés, plusieurs millions de machines, l'interconnexion.
plusieurs dizaines de millions d'utilisateurs de "l'lnternet".
• Abstraction à chaque niveau de fonctionnalité (couches de protocoles) qui
• Interconnecte divers réseaux : Ethernet,
Ethernet T.R.,
T R X25,
X25 FR,
FR FDDI,
FDDI etc.
etc encapsulel les
l fonctionnalités
f i li é de
d niveau
i inférieur
i fé i
• La technologie est constituée par des protocoles de base (suite TCP/IP) qui offrent • Affranchit l'utilisateur des détails relatifs aux couches inférieures et finalement au
les services de base du transfert des données : réseau lui-même
lui même (couche physique).
physique)
• transport de datagrammes : service élémentaire de la commutation de paquets. • Les premiers systèmes d'interconnexion ont traité le problème au niveau applicatif :
• transport
p de messages g sécurisés : service orienté connexion permettant
p d'acheminer messagerie
g relayant
y le message g de noeud en noeud. Cette solution présente
p
des données en garantissant leur intégrité plusieurs inconvénients :
• adaptation de la technologie TCP / IP à la plupart des interfaces matérielles. • si les applications interfacent elles-mêmes le réseau (aspects physiques), elles sont
• Ces services de base sont indépendants du support de transmission; adaptables à victimes de toute modification de celui-ci,
toute sorte de media depuis les réseaux locaux jusqu'aux réseaux longue distance. • plusieurs applications différentes sur une même machine dupliquent l'accès au
réseau,
réseau
• lorsque le réseau devient important, il est impossible de mettre en oeuvre toutes les
applications nécessaires à l'interconnexion
l'interconne ion sur
s r tous
to s les noeuds résea .
noe ds des réseaux
2 4
Concepts de ll’interconnexion
interconnexion (suite) Concepts de ll’interconnexion
interconnexion (suite)
• Alternative à cette solution : mise en oeuvre de l'interconnexion au niveau des • Les routeurs possèdent une connexion sur chacun des réseaux:
protocoles gérant la couche réseau de ces systèmes.
• Avantage considérable : les données sont routées par les noeuds intermédiaires
sans que ces noeuds aient la moindre connaissance des applications responsables
des ces données
• Autres avantages : Reseau A P Reseau B
– la commutation est effectuée sur la base de paquets de petite taille 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 nouveaux
interfaces physiques en adaptant la couche réseau alors que les applications La passerelle P interconnecte les réseaux A et B.
demeurent inchangées,
– les protocoles peuvent être modifiés sans que les applications soient
affectées.
ff té • Le rôle de la paserelle P est de transférer sur le
réseau B, les paquets circulant sur le réseau A et
5
d ti é au réseau
destinés é B ett inversement.
i t 7
Concepts
p de l’interconnexion (suite)
( )
C
Concepts de
d l’interconnexion
l’i i (suite)
( i )
Reseau A P1 Reseau B P2 Reseau C
• Le concept d'interconnexion
d interconnexion ou dd'internet
internet repose sur la
mise en oeuvre d'une couche réseau masquant les détails
de la communication physique du réseau et détachant
les applications des problèmes de routage. • P1 transfère sur le réseau B, les paquets circulant sur le réseau A et
destinés aux réseaux B et C
• L'interconnexion : faire transiter des informations depuis • P1 doit avoir connaissance de la topologie du réseau; à savoir que C
un réseau vers un autre réseau par des noeuds est accessible depuis le réseau B.
B
spécialisés appelés passerelles (gateway) ou routeurs
• Le routage n'est pas effectué sur la base de la machine destinataire
( t )
(router) mais sur la base du réseau destinataire
6 8
Concepts de l’interconnexion (suite) L’adressage
g Internet
• A l'intérieur de chaque réseau, les noeuds utilisent la technologie
spécifique
é ifi de
d leur
l réseau
é (Ethernet,
(Eth t X25,
X25 etc)
t )
• But : fournir un service de communication universel ppermettant à
• Le logiciel d'interconnexion (couche réseau) encapsule ces toute machine de communiquer avec toute autre machine de
spécificités et offre un service commun à tous les applicatifs, faisant l’interconnexion
apparaître ll'ensemble
ensemble de ces réseaux disparates comme un seul et
unique réseau. • Une machine doit être accessible aussi bien par des humains que par
d'autres machines
Vue utilisateur
ili Vue réelle du réseau 9 11
L’adressage
L adressage Internet
• Solution : adressage
g binaire compact
p assurant un routage g efficace
• Adressage "à plat" par opposition à un adressage hiérarchisé
permettant la mise en oeuvre de ll'interconnexion
interconnexion dd'égal
égal à égal
• Utilisation de noms pour identifier des machines (réalisée à un autre
L’adressage
L adressage Internet niveau que les protocoles de base)
• Les classes d'adressage
– Une adresse = 32 bits dite "internet address" ou "IP address"
constituée d'une paire (netid, hostid) où netid identifie un réseau
et hostid identifie une machine sur ce réseau.
– Cette paire est structurée de manière à définir cinq classes
d'adresse
10 12
L’adressage Internet (suite) L’adressage
g Internet (suite)
( )
– hostid != 0, hostid spécifie l'adresse physique de la machine (si la
0 8 16 24 31 longueur le permet; cc'est
est le cas pour T.T R.,
R ce nn'est
est pas possible
Classe A 0 Net-id Host-id avec Ethernet). permet de ne pas utiliser RARP (ne franchit pas
les
es ponts)
po s) n'est
es va
valide
de qu
qu'au
au dé
démarrage
a age du système
sys è e pour
pou des
stations ne connaissant pas leur adresse IP.
Classe B 1 0 Net-id Host-id
• Adresses de diffusion : la ppartie hostid ne contient que
q des 1
• Adresse de diffusion limitée : netid ne contient que des 1 : l'adresse
1 10 Net-id
Net id Host-id
Host id q
constituée concerne uniquement le réseau physique
p y q associé
Classe C
• L'adresse de diffusion dirigée : netid est une adresse réseau
spécifique => la diffusion concerne toutes les machines situées sur le
Classe D 1 11 0 M lti t
Multicast réseau spécifié : 192.20.255.255 désigne toutes les machines du
réseau 192.20.
Classe E 1 11 10 Réservé • En conséquence,
é une adresse
d IP dont
d lla valeur
l hostid
h id ne comprendd
que des 1 ne peut être attribuée à une machine réelle.
13 15
L’ d
L’adressage Internet
I (suite)
( i ) L’ d
L’adressage Internet
I t t (suite)
( it )
• Notation décimale
L'interface utilisateur concernant les adresses IP consiste en la notation de quatre • Adresse de boucle locale : l'adresse réseau 127.0.0.0 est réservée pour la
entiers décimaux séparés par un point, chaque entier représentant un octet de désignation
g de la machine locale,, c'est à dire la communication intra-machine. Une
l'adresse IP : adresse réseau 127 ne doit, en conséquence, jamais être véhiculée sur un réseau et
10000000 00001010 00000010 00011110 est écrit : un routeur ne doit jamais router un datagramme pour le réseau 127.
128.10.2.30
• Adresses particulières
– Adresses réseau : adresse IP dont la partie hostid ne comprend que des zéros;
=> la valeur zéro ne ppeut être attribuée à une machine réelle : 192.20.0.0
désigne le réseau de classe B 192.20.
– Adresse machine locale : adresse IP dont le champ réseau (netid) ne contient
que des
d zéros;
é
– hostid = 0 (=> tout à zéro), l'adresse est utilisée au démarrage du système afin
de connaître ll'adresse
adresse IP (Cf RARP)
RARP).
14 16
L’adressage Internet (suite) Le sous-adressage
0 8 16 24 31
désigne la machine • Le sous-adressageg est une extension du pplan d’adressage
g initial
Tout à zéro
courante • Devant la croissance du nombre de réseaux de l’Internet, il a été
introduit afin de limiter la consommation d’adresses IP qui permet
T t à zéro
Tout é H t id
Host-id machine Host-id
Host id également de diminuer :
sur le réseau courant – la gestion administrative des adresses IP,
diffusion limitée sur – la taille des tables de routageg des passerelles,
p ,
T t à un
Tout – la taille des informations de routage,
le réseau courant
– le traitement effectué au niveau des passerelles.
L’adressage
L adressage Internet (suite) Le sous-adressage (suite)
•Adresses et connexions Les sous-réseaux 128.10.1.0 et 128.10.2.0 sont notés seulement avec le NetId,
les machines seulement avec le Hostid ; exemple IP(F) = 128.10.2.9
128 10 2 9
Une adresse IP => une interface physique => une connexion réseau.
S applique particulièrement aux routeurs qui possèdent par définition plusieurs
S'applique 128.10.1
connexions à des réseaux différents .1 .2 .3 .4
A une machine,
machine est associé un certain nombre N dd'adresses
adresses IP.
IP Si N > 0 la machine (ou
passerelle) est multi-domiciliée.
I t
Internet
t P A B C
.1
193.49.60.41 193.49.60.43 193.49.60.1 128.10.2 .6 .2 .9
192.100.1.2
128.10.0.0 D E F
192.100.1.1
Un site avec deux réseaux physiques utilisant le sous-adressage de manière à ce que ses
La passerelle est multi-domiciliée: deux sous-réseaux soient couverts par une seule adresse IP de classe B.
interface 1 : Ethernet 193.49.60.1 La p
passerelle P accepte
p tout le trafic destiné au réseau 128.10.0.0 et sélectionne le sous-
interface 2 : Token Ring 192.100.1.1 192 100 1 7
192.100.1.7
réseau en fonction du troisième octet de l’adresse destination.
18 20
Le sous-adressage
sous adressage (suite) Le sous-adressage
g (suite)
( )
Structure du sous-adressage
• Le site utilise une seule adresse ppour les deux réseaux physiques.
p y q
• Structuration
St t ti souple l : chaque
h site
it peutt définir
défi i lui-même
l i ê les
l longueurs
l des
d champs
h
• A l’exception de P, toute passerelle de l’internet route comme s’il n’existait qu’un réseau physique et identificateur de machine.
seul réseau.
• Flexibilité indispensable pour adapter la configuration réseau dd’un
un site:
• La passerelle doit router vers l’un ou l’autre des sous-réseaux ; le découpage du site
en sous-réseaux a été effectué sur la base du troisième octet de l’adresse :
– les
l adresses
d des
d machines
hi du
d premier i sous-réseau
é sont de
d la
l forme
f 128.10.1.X,
128 10 1
P1
Réseau 4 Réseau 1
– les adresses des machines du second sous-réseau sont de la forme 128.10.2.X.
• P
Pour sélectionner
él ti l’un
l’ ou l’autre
l’ t des d sous-réseaux,
é P examine
i lel troisième
t i iè octett t de
d
P4
l’adresse destination : si la valeur est 1, le datagramme est routé vers réseau
128.10.1.0,, si la valeur est 2,, il est routé vers le réseau 128.10.2.0. P2 P3
P5
Réseau 5
Réseau 2 Réseau 3
L sous-adressage
Le d ((suite)
it )
Le sous-adressage (suite)
• Conceptuellement, la partie locale dans le plan d’adressage initial est
subdivisée en “partie réseau physique” + “identification de machine
(hostid) sur ce sous-réseau
sous-réseau” : • Le choix du découpage dépend des perspectives dd’évolution
évolution du site:
Partie Internet Partie locale – Exemplep Classe B : 8 bits ppour les parties
p réseau et machine
donnent un potentiel de 256 sous-réseaux et 254 machines par
Partie Internet Réseau physique Identifieur Machine sous-réseau, tandis que
3 bits pour la partie réseau et 13 bits pour le champ machine
permettent 8 réseaux de 8190 machines chacun.
«Partie Internet» correspond au NetId (plan d’adressage initial)
– Exemplep Classe C : 4 bits ppour la partie
p réseau et 4 bits pour
p le
«Partie
Partie locale
locale» correspond au hostid (plan d’adressage initial) champ machine permettent 16 réseaux de 14 machines chacun.
les champs «Réseau physique» et «identifieur Machine» sont de taille
variable; la longueur des 2 champs étant toujours égale à la longueur • Lorsque le
L l sous-adressage
d estt ainsi
i i défini,
défi i toutes
t t lesl machines
hi du
d
de la «Partie locale». réseau doivent s’y conformer sous peine de dysfonctionnement du
routage ==> configuration rigoureuse.
22 24
Le sous-adressage
sous adressage (suite) Le sous-adressage
g (suite)
( )
Le routage unifié : Une entrée dans la table de routage =
• Utilisation de masques
q (masque de sous-réseau,
sous-réseau adresse sous-réseau,
sous-réseau adresse de la passerelle)
• Le sous-adressage ==> masque de 32 bits associé au sous-réseau. Algorithme de routage unifié :
• Bits du masque de sous-réseau (subnet mask) : • Route_IP_Datagram(datagram,
g ( g , routingg_table))
– positionnés à 1 : partie réseau, • Extraire l’adresse ID de destination du datagramme,
– positionnés à 0 : partie machine • Calculer l’adresse IN du réseau destination,
• 11111111 11111111 11111111 00000000 • Si IN correspond à une adresse réseau directement accessible
==> 3 octets pour le champ réseau, 1 octet pour le champ machine envoyer le datagramme sur le réseau physique correspondant,
• Les bits du masque identifiant sous
sous-réseau
réseau et machine peuvent ne pas être contigus : • Sinon
Si
11111111 11111111 00011000 01000000
– Pour chaque entrée dans la table de routage,
• Les notations suivantes sont utilisées :
• N = (ID & masque de soussous-réseau
réseau de ll’entrée)
entrée)
– décimale pointée; exemple : 255.255.255.0
• Si N est égal au champ adresse réseau de l’entrée
– triplet : { <ident. réseau>, <ident. sous-réseau> <ident. machine> } ; cette
notation renseigne les valeurs mais pas les champs de bits; router le datagramme vers la passerelle correspondante,
exemple { -1, -1, 0 } , { 128.10, 27, -1 }. – Fin_Pour
– adresse réseau/masque q : 193.49.60.0/27 (27=#
( bits contigüs
g du masque)
q ) • Si aucune entrée ne correspond, déclarer une erreur de routage.
25 27
Le sous
sous-adressage
adressage (suite)
Le sous-adressage (suite)
Routage avec sous-réseaux
• Le routage IP initial a été étendu à l’adressage en sous-réseaux;
• l’algorithme de routage obtenu doit être présent dans les machines • Diffusion sur les sous-réseaux
ayant une adresse de sous-réseau, mais également dans les autres
machines et passerelles du site qui doivent acheminer les datagrammes • Elle est pplus complexe
p qque dans le pplan d’adressage
g initial.
vers ces sous-réseaux. • Dans le plan d’adressage Internet initial, Hostid = 11..1, ==> diffusion
Réseau 1 (adr IP = N) vers toutes les machines du réseau.
• D'un point de vue extérieur à un site doté de sous-réseaux, la diffusion
P2 M P2 n’a de sens que si la passerelle qui connaît les sous-réseaux propage la
Réseau
é 2 (ss-réseau
é de N) Réseau 3 (ss-réseau de N) diff i à tous
diffusion t ses réseaux
é physiques
h i : { réseau,
é -1,
1 -11 }.
}
• Depuis un ensemble de sous-réseau, il est possible d’émettre une
diffusion sur un sous-réseau particulier : { réseau,
réseau sous-réseau,
sous-réseau -1 }.
}
M doit utiliser le routage de sous-réseaux pour décider si elle route vers les
passerelles P1 ou P2 bien qu’elle même soit connectée à un réseau (Réseau 1)
n’ayant
n ayant pas de sous-adressage
sous adressage
26 28
ARP: Address Resolution Protocol
• 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
Protocoles de la couche réseau – Mise en place dans TCP/IP d’un protocole de bas niveau appelé Adress
Resolution Protocol (ARP)
– Rôle de ARP : fournir à une machine donnée l'adresse physique d'une autre
machine située sur le même réseau à partir de ll'adresse
adresse IP de la machine
destinatrice
• LA technique :
– Diffusion d'adresse sur le réseau physique
– La machine d'adresse IP émet un message contenant son adresse physique
– Les
L machines
hi non concernées
é ne répondent
é d pas
– Gestion cache pour ne pas effectuer de requête ARP à chaque émission
29 31
ARP Add
ARP: Address R
Resolution
l ti P Protocol
t l
• L'association adresse physique - adresse IP de l'émetteur est incluse
dans la requête ARP de manière à ce que les récepteurs enregistrent
l'association dans leur propre mémoire cache
ARP
A X B Y
Address Resolution
Protocol • Pour connaître l'adresse physique de B, PB, à partir de son adresse IP
IB, la machine A diffuse une requête ARP qui contient l'adresse IB
vers toutes les machines; la machine B répond avec un message ARP
qui contient la paire (IB, PB).
30 32
ARP Add
ARP: Address R
Resolution
l ti
Protocol
• Format du message
g ARP
• La requête
q ARP est véhiculée dans un message
encapsulé dans la trame de liaison de données.
g protocolaire
p lui-même ICMP
• Lorsque la trame arrive à destination, la couche liaison de données
dé
détermine
i l'l'entité
i é responsable
bl du
d message encapsulé;
lé Ex: champ
h type
•
de la trame Ethernet: 0806 pour ARP
La structure du message ARP/RARP gère une association adresse de
Internet Control Message
g
protocole / adresse physique indépendamment de l'interface physique
et du protocole utilisé : Protocol
33 35
IDENTIFIER et SEQUENCE NUMBER sont utilisés par l’émetteur pour • Ces messages étaient initialement utilisés pour permettre aux machines
contrôler les réponses aux requêtes, (CODE = 0). d connaître
de ît leur
l adresse
d IP au démarrage
dé du
d système.
tè
• Ces commandes sont aujourd’hui remplacées par les protocoles RARP
Demande dd’écho
écho et réponse Request,
Request Echo Reply) dd’écho
écho (Echo et BOOTP.
– Permettent à une machine ou passerelle de déterminer la validité dd’un un chemin Obtention de masque de sous-réseau
sur le réseau.
– Le champ de données spécifiques est composé de données optionnelles de • Une machine peut émettre une demande de masque de sous-réseau
l
longueur variable
i bl émises
é i par la l requêteêt d'écho
d'é h ett devant
d t être
êt renvoyées
é par le
l (Subnet Mask Request) vers une passerelle gérant le sous-réseau
sous réseau en
destinataire si présentes. question.
– Utilisé p
par les outils applicatifs
pp tels pping
g et traceroute. • La passerelle transmet par une “Subnet Mask Reply”, l’adresse de
masque de sous-réseau (de longueur 32 bits) dans le champ de donnée
38 40
spécifique.
ICMP : les messages dd’erreur
erreur ICMP : contrôle de congestion
0 8 16 31
• Le protocole IP étant un protocole en mode non connecté :
TYPE CODE CHECKSUM
Format des messages – => les passerelles ne peuvent réserver à l’avance la quantité de mémoire
SPECIFIQUE d’erreur ICMP nécessaire au routage des datagrammes.
IP Header + First 64 bits – => des datagrammes sont alors détruits.
• Cette situation de congestion se produit :
– lorsqu’une
l ’ passerelle
ll est connectée
é à deux
d réseaux
é aux débits
débi diffé
différents ((elle
ll
• CODE indique le codage de l’erreur rapportée et est spécifique à chaque type
ne peut écouler au rythme imposé par le réseau le plus rapide),
d’erreur,
– lorsque de nombreuses machines émettent simultanément des datagrammes vers
une passerelle.
• SPECIFIQUE est un champ de données spécifique au type d’erreur,
• Pour ppalier ce problème,
p , la machine peut
p émettre un message g ICMP de limitation
de débit de la source (Source Quench) vers l’émetteur.
• IP HEADER + FIRST 64 bits contient l’en-tête IP + les premiers 64 bits de • Il n’existe pas de message d’annulation de limitation de débit. La source diminue le
données du datagramme pour lequel le message est émis.
émis débit, puis l’augmente progressivement tant qu’elle ne reçoit pas de nouvelle
demande de limitation.
• Compte rendu de destination inaccessible
41 43
• Le protocole IP définit :
IP – ll'unité
i ded donnée
d transférée
f dans
d les
l interconnexions
i i
(datagramme),
– la fonction de routage,
– les règles qui mettent en oeuvre la remise de paquets en mode non
Internet Protocol connecté
45 47
• chaque fragment a une structure identique à celle du copie (C) indique que l'option doit être recopiée dans tous les fragments
datagramme initial, seul les champs FLAGS et (c=1) ou bien uniquement dans le premier fragment (c=0).
FRAGMENT OFFSET sont spécifiques. les bits classe d'option et numéro d'option indiquent le type de l'option et
une option
ti particulière
ti liè ded ce type
t :
54 56
IP : Internet Protocol (le datagramme)
IP : Internet Protocol (le datagramme)
– E
Enregistrement
it t de
d route
t (classe
( l = 0,
0 option
ti = 7) : permett à lal source de
d créer
é
une liste d'adresse IP vide et de demander à chaque passerelle d'ajouter son
adresse dans la liste. – Routage
g lâche prédéfini
p ppar l'émetteur ((classe = 0,, option
p = 3):
)
Cette option autorise, entre deux passages obligés, le transit par
d'autres intermédiaires :
code Longueurpointeur
code Longueurpointeur
Adresse IP
Adresse du premier passage obligé
Adresse IP
Adresse du second p
passage
g obligé
g
...
...
57 59
IP : Internet
e e Protocol
o oco (le
( e datagramme)
da ag a e)
IP : IInternet
t t Protocol
P t l (le(l datagramme)
d t )
– Horodatage (classe = 2, option = 4) : cette option permet d'obtenir les temps de
passage (timestamp)
(i ) ddes datagrammes
d dans
d les
l passerelles.
ll Exprimé
E i é en heureh et
– Routage strict prédéfini par l'émetteur (classe = 0, option = 9): date universelle.
prédéfinit le routage qui doit être utilisé dans ll'interconnexion
interconnexion en
indiquant la suite des adresses IP dans l'option :
code Longueurpointeur dep. flags
code Longueurpointeur
Première adresse IP
Adresse du premier saut
g
Premier horodatage
Adresse du second saut
...
...
! Le chemin spécifié ne tolère aucun autre intermédiaire; une erreur est
Une liste de couples (adresse IP - horodatage) est réservée par l'émetteur;
retournée à l'émetteur si une passerelle ne peut appliquer le routage
les p
passerelles ont à charge
g de remplir
p un champ p lors du p
passage
g du
spécifié.
é ifié
datagramme.
! Les passerelles enregistrent successivement leur adresse à
ll'emplacement
emplacement indiqué par le champ pointeur.
pointeur
58 60
Routage
g des datagrammes
g
IP : Internet Protocol (le datagramme) • Le routage est le processus permettant à un datagramme d’être acheminé vers le
destinataire lorsque celui-ci n’est pas sur le même réseau physique que l’émetteur.
• Le chemin parcouru est le résultat du processus de routage qui effectue les choix
nécessaires afin d’acheminer le datagramme.
– Le champ p dépassement
p de capacité
p (dep.)
( p ) comptabilise
p les
passerelles qui n'ont pu fournir les informations requises ( liste • Les routeurs forment une structure coopérative de telle manière qu’un datagramme
initiale était trop petite). transite de passerelle en passerelle jusqu’à ce que l’une d’entre elles le délivre à son
destinataire Un routeur possède deux ou plusieurs connexions réseaux tandis
destinataire.
– Le champ FLAGS indique si les passerelles doivent renseigner qu’une machine possède généralement qu’une seule connexion.
uniquement l'horodatage (FLAGS = 0), ou bien l'horodatage et • Machines et routeurs participent au routage :
l'adresse IP (FLAGS=1). Si les adresses IP sont prédéfinies par – les machines doivent déterminer si le datagramme doit être délivré sur le réseau
l'émetteur (FLAGS=3), les passerelles n'indiquent l'horodatage
physique sur lequel elles sont connectées (routage direct) ou bien si le
que si l'adresse IP pointée
q p par
p le champp ppointeur est identique
q à
leur adresse IP. d
datagramme ddoit
i être
ê acheminé
h i é vers une passerelle;
ll dans
d ce cas (routage
(
indirect), elle doit identifier la passerelle appropriée.
– Les horodatages,
h d bi
bien qu'exprimés
i en temps universel,
i l ne – les passerelles effectuent le choix de routage vers dd’autres
autres passerelles afin
constituent qu'une estimation sur le temps de passage car les d’acheminer le datagramme vers sa destination finale.
horloges
g des machines situées sur les réseaux ne sont pas
p
synchronisées.
61 63
T bl de
Table d routage
t de
d G
65 67
69 71
70 72
UDP : format des messages
g
L messages UDP sontt éégalement
Les l t appelés
lé des
d datagrammes
d t UDP.
UDP
UDP : Multiplexage
Ils contiennent deux parties : un en-tête UDP et les données UDP.
• UDP multiplexe
p et démultiplexe
p les datagrammes
g en sélectionnant les
0 16 31 numéros de ports :
Port UDP source Port UDP dest.
Longueur message UDP Checksum UDP Format des messages UDP – une application
li ti obtient
bti t un numéro
é de
d portt de
d la
l machine
hi locale;
l l
dès lors que l'application émet un message via ce port, le champ
Données ... PORT SOURCE du datagramme UDP contient ce numéro de port,
– une application connaît (ou obtient) un numéro de port distant afin
Les ports source et destination contiennent les numéros de port utilisés de communiquer avec le service désiré.
par UDP pour dédémultiplexer
lti l lles datagrammes
d t destinés
d ti é aux processus en
attente de les recevoir. Le port source est facultatif (égal à zéro si non • Lorsque UDP reçoit un datagramme, il vérifie que celui-ci est un des
utilisé). pports actuellement actifs ((associé à une application)
pp ) et le délivre à
l'application responsable (mise en queue)
La longueur du message est exprimée en octets (8 au minimum) (en-tête +
d
données),
é ) le
l champ
h de
d contrôle
t ôl estt optionnel
ti l (0 sii non utilisé).
tili é) • sii ce n'est
' t pas le
l cas, il émet
é t un message ICMP portt unreachable,
h bl ett
73 détruit le datagramme. 75
0 8 16 31
Adresse IP Source TCP
Adresse IP Destination Format du pseudo en-tête
zéro
é proto Longueur UDP
L champ
Le h PROTO indique
i di l'identificateur
l'id tifi t de
d protocole
t l pour IP (17=
(17 UDP)
Transmission Control
Le champ LONGUEUR UPD spécifie la longueur du datagramme UPD
Protocol
sans le pseudo-en-tête.
74 76
TCP : Transmission
T i i Control
C t l TCP : Segmentation
• Segmentation, contrôle de flux
Protocol – Les données transmises à TCP constituent un flot d'octets de longueur variable.
– TCP divise ce flot de données en segments en utilisant un mécanisme de
fenêtrage.
– Un segment est émis dans un datagramme IP.
• transport fiable de la technologie TCP/IP.
– fiabilité = illusion assurée par le service • Acquittement de messages
– transferts
f tamponés é : découpage
dé en segments – Contrairement
C t i t à UDP,
UDP TCP garantittit l'arrivée
l' i é desd messages, c'est
' t à dire
di qu'en
' cas
– connexions bidirectionnelles et simultanées de perte, les deux extrémités sont prévenues.
• service en mode connecté – Ce concept repose sur les techniques dd’acquittement
acquittement de message : lorsqu
lorsqu'une
une
source S émet un message Mi vers une destination D, S attend un acquittement
• garantie de non perte de messages ainsi que de l'ordonnancement Ai de D avant d'émettre le message suivant Mi+1.
– Si l’acquittement Ai ne parvient pas à S, S considère au bout d'un certain temps
que le message est perdu et reémet Mi :
77 79
• La technique du fenêtrage : une fenêtre de taille T, permet l'émission d'au plus T – la numérotation séquentielle des octets de données,
messages "non acquittés" avant de ne plus pouvoir émettre : – la
l gestion
ti ded trois
t i pointeurs
i t par fenêtrage
f êt :
1 2 3 4 5 6 7 8 9 10 11 . . .
81 83
•
recommandation est de 536 octets.
La taille optimale du segment correspond au cas où le datagramme IP
Couche haute
n’est pas fragmenté mais :
– il n’existe ppas de mécanisme ppour connaître le MTU,,
– le routage peut entraîner des variations de MTU,
– la taille optimale dépend de la taille des en-têtes (options).
89 91
Introduction
TCP : acquittements
Acquittements et retransmissions
93 95
94 96
DNS, L’espace Nom de domaine DNS, Le domaine
• Chaque
q unité de donnée dans la base DNS est indexée ppar un nom
Un domaine est un sous-arbre de l’espace nom de domaine
• Les noms constituent un chemin dans un arbre inversé appelé l’espace Nom de
Domaine complet
domaine
fr
• Organisation similaire à un système de gestion de fichiers
Domaine fr
m1 nœud m1.algorithmics.fr
D nœuds
Des d peuventt avoir
i les
l
• Chaque nœud est identifié par un nom mêmes noms dans des
• Racine appelée root, identifiée par «.» domaines différents :
• 127 niveaux au maximum 97 ns.algorithmics.fr et 99
ns.renault.fr
105 107
106 108
La recherche itérative
• On interroge
g successivement les serveurs
• Exemple: pour trouver le nom m1.algorithmics.fr le resolver interroge:
1. Le serveur local edu
2. Le serveur local interroge le serveur root, puis le serveur fr,
puis le serveur algorithmics.fr
m1.algorithmics.fr
193.148.37.201 m1.algorithmics.fr
m1.algorithmics.fr
.fr
f NS
algorithmics.fr NS
193.48.184.201
Ns
....edu
edu
109 111
113 115
117 119
SMTP
Simple
p Mail Transfert Protocol
118 120
SMTP SYNTAXE DE COMMANDES
Simple Mail Transfert Protocol SMTP
• HELO <SP>
SP <domaine>
domaine <CRLF>
CRLF ouverture de session
entre le client et le serveur
définition
• MAIL <SP> FROM:<route-inverse> <CRLF> définit
• Protocole
P l d’échange
d’é h de
d messages électroniques
él i indépendant
i dé d du d l’adresse mail de l’émetteur
protocole de transport sou jacent. • RCPT <SP> TO:<route-directe> <CRLF> définit
• utilise le service TCP via le port par défaut: 25 l’adresse
l adresse mail du destinataire
• Un serveur SMTP est une machine « cible » qui ce présente comme • DATA <CRLF> définit le corps du message
un « bureau de pposte » vis à vis du client SMTP • RSET <CRLF> abandonner le courrier en cours de
• Protocole directement accessible vis telnet. transmission et restaurer la connexion
• SEND <SP> FROM:<route-inverse> <CRLF> le
message doit être affiché sur
s r le terminal
utilisateur
g
• SOML <SP> FROM:<route-inverse> <CRLF>le message
doit être affiché sur le terminal utilisateur
sinon copié dans la boite au lettres
• SAML <SP> FROM:<route-inverse>
FROM:<route inverse> <CRLF> le
121 message doit être affiché sur le terminal 123
utilisateur et copié dans la boite au lettres
133 135
134 136
L’entête MIME L’entête MIME
Dans le type Multipart/mixed comment identifier les différentes parties
d’un message ?
2 charset:
• choisir une chaîne de caractères "spéciale" qui servira de délimiteur
paramètre indiquant le code de caractères utilisé pour encoder le message
type text) • Le délimiteur ne doit pas apparaître lui-même dans le message
• charset=us-ascii • annoncer ce délimiteur dans ll’entête
entête
Date: Mon, 20 Sep 1999 16:33:16 +0200
- Norme définie fin des années 1960s aux USA
From: Nathaniel Borenstein <nsb@bellcore.com>
- Caractères
C tè ASCII 7bits,
7bit déf
défautt To: Ned Freed <ned@innosoft.com>
• charset=iso-8859-1 Subject: Test
- Code de caractère Latin1 pour Europe défini par ll’ISO
ISO MIME Version: 1.0
MIME-Version: 10
- 8 bits pour chaque caractère Content-Type: multipart/mixed; boundary="simple boundary"
- Les caractères 0-127 sont équivalents à US-ASCII preamble, to be ignored
• charset=unicode --simple boundary
- Code de caractère universel, supporte toutes les langues Content-Type: text/plain; charset=us-ascii
partie 1
- 16 bits pour chaque caractère
--simple boundary
- Partiellement compatible avec ISO-8859-1
Content-Type: text/plain; charset=us-ascii
partie 2
137 139
--simple boundary
SYNTAXE DE COMMANDES
POP
Valides dans l’état AUTORISATION
• USER nom : nom d’utilisateur
• PASS mot-de-passe : mot de passe utilisateur
• QUIT: termine la lecture des courriers
Valides dans l’état TRANSACTION
POP • STAT : donne le nombre de message dans la boite à lettre et la taille
totale en octets
ex: C : STAT
S : +OK 2 420
Post Office Protocol • LIST < SP> <msg> : donne les information sur le numéro et la t’aille
de msg ( optionnelle)
Ex 1: Ex 2:
C : LIST C : LIST 2
S : +OK 2 messages (320 octets) S : + OK 2 200
S : 1 220
S : 2 200
142 S : . 144
SYNTAXE DE COMMANDES Scénario de lecture d’un message
POP WHOQHWSRSVDOHPLRFKHFRP
7U\LQJ&RQQHFWHGWR
• RETR < SP> <msg> : pour lire le message msg (obligatoire)
SRSKHEHUJHPHQWGLVFRXQWFRP(VFDSHFKDUDFWHULV
ex A@ 2.&XELF&LUFOH VY323UHDG\
C : RETR 1 86(5QLFRODV
S : +OK 220 octets
2. SRS VHOHFWHG
2.SRSVHOHFWHG
S : <le serveur POP3 envoie le message entier ici>
S : . 3$66
• DELE < SP> <msg>
g : effacer le message
g msgg 2.&RQJUDWXODWLRQV
ex /,67
C : DELE 1 2.PHVVDJHV RFWHWV
S : +OK message 1 deleted
• NOOP : pour teste le serveur POP 723
ex 2.
2.RFWHWV
RFWHWV
C : NOOP HQW¬WHGXPHVVDJH!
S : +OK
5(75
5(75
• RSET abandonner puis restaurer la connexion 2.RFWHWV DXWRGHOHWHG
ex HQW¬WHHWOHFRUSVGXPHVVDJH!
C : RSET
S : +OK maildrop has 2 messages (420 octets) 48,7
145 2.:DVLWDVJRRGIRU\RXDVLWZDVIRUPH"147
FOHDQ
Client Serveur DVDEDE\ &RQQHFWLRQFORVHGE\IRUHLJQKRVW
SYNTAXE DE COMMANDES
POP
• QUIT: termine la lecture des courriers avec mise à jours sur le serveur
ex C : QUIT
S : +OK dewey POP3 server signing off (2
messages left)
Commandes POP3 optionnelles :
Valides dans l’état
l état TRANSACTION IMAP4
• TOP < SP> <msg> < SP> <n>: afficher l’entêtes et les n ( obligatoire)
premières lignes du message msg ( obligatoire)
ex C : TOP 1 10
S : +OK
S : <entêtes du message et les 10 premières
lignes du corps du message>
Internet Message
g Access Protocol
S : .
• UIDL < SP> <msg>
g afficher l’identificateur du message
g msg
g ( optionnelle)
p )
ex C : UIDL C : UIDL
S : +OK S : +OK 2 QhdPYR:00WBw1Ph7x7
S : 1 whqtsw0OOWBw418f9t5JxYwZ
S : 2 QhdPYR:00WBw1Ph7x7 146 148
Protocole IMAP4
SYNTAXE DE COMMANDES
IMAP
• utilise le service TCP via le port par défaut : 143 • RENAME <SP> <ancien nom > <SP> < nouveau nom > : change
g le
• les messages sont archivés sur le serveur IMAP nom d'une boîte aux lettres
• le fait que les messages soient archivés sur le serveur fait que ex C: A684 RENAME toto bobo
ll'utilisateur
utilisateur peut accéder à tous ses messges depuis nn'importe
importe où sur le S: A684 OK RENAME Completed
réseau et que l'administrateur peut facilement faire des copies de • LIST <SP> < référence > <SP> < nom de la boite > : donne les noms
sauvegarde.. disponibles pour le client
• le protocole comporte des commandes pour gérer des boites aux ex Z432 LIST "" *
lettres, gérer des messages, rechercher dans le contenu des messages et S: * LIST () "." INBOX
transférer de manière sélective des messagesg vers l’utilisateur. S: * LIST () "." INBOX.bar
• intègre l'extension MIME, permettant, par exemple, àl’utilisateur de ne S: Z432 OK LIST completed
demander le transfert que d'une partie d'un message qui aurait de • STATUS <SP> < nom de la boite > <SP> < référence > : donne les
volumineuses annexes.
annexes informations sur une boite à lettre.
lettre
• particulièrement bien adapté à l'accès à travers des connexions lentes. ex C: A042 STATUS blurdybloop (UIDNEXT MESSAGES)
S: * STATUS blurdybloop (MESSAGES 231 UIDNEXT 44292)
S: A042 OK STATUS completed
• CLOSE : ferme la boite mail sélectionner en effectuant une mise à jour
ex C: A341 CLOSE
149 S: A341 OK CLOSE completed 151
FTP
THREAD=ORDEREDSUBJECT MULTIAPPEND
a001 OK LOGIN completed
p
a002 select
l inbox
i b
*2 EXISTS
•2 RECENT
a002 OK [READ-WRITE] SELECT completed
a003 FETCH 1 full
*1 FETCH (FLAGS (\Recent)
<E têt du
<Entête d message>
>
File Transfer
f Protocol
a003 OK FETCH completed
a004 FETCH 1 BODY[TEXT]
*1 FETCH (BODY[TEXT] {29}
•Corps du message texte
a004 OK FETCH completed
D ORJRXW
DORJRXW
•BYE albertine IMAP4rev1 server terminating connection 154 156
a005 OK LOGOUT completed
FTP FTP
Principe général
Interface
Rapide Historique : Utilisateur
utilisateur
• 1971 : Première version du protocole définit par le M.I.T.
FTP FTP
Caractéristiques Établissement d’une connexion FTP:
Ce fait en deux étapes
• utilise le service TCP via le port par défaut : 21
Étape 1:
• F
Fonctionne
i en mode
d client\serveur
li \ - établir un canal de control sur le port 21
- Le client FTP est la machine de l’utilisateur. Ex telnet 194.210.10.50 21
É
Étape 2:
2
- Le serveur est la machine sur laquelle est placée le système de fichier. - établir un canal pour la transmission de données
• Prévu pour être exploité par l’intermédiaire de clients dédiés, mais disponible Ét bli
Établissement
t d’un
d’ canall d
de ttransmission
i i de d d
données
é
à une exploitation directe (via un client telnet). Peux être établie de de manière :
• transfert des fichier sous deux format : - cas par défaut:
déf t le l client
li t choisie
h i i le
l portt en utilisant
tili t lal commande d PORT
- cas passif: demander au serveur de choisir le port en utilisant la
- En binaire ((raw data sur le Mac),
), destiné aux exécutables (logiciels),
( g ), commande PASV
aux formats spéciaux (images, son, films)...
- En ASCII (text) pour les fichiers de données, les fichiers Postscript ...
158 160
FTP FTP
Les commandes FTP Commandes de gestion du système de fichier distant et du serveur FTP:
Commandes de gestion du canal de contrôle : • PWD : impression du répertoire courant.
courant
• USER <username> Définir l’utilisateur de la session en cours. • LIST : catalogue du répertoire courant (canal donnée).
• PASS <password> Envoyer le mot de passe associé à l’utilisateur
l’utilisateur. • CWD <repname>
repname : changement de répertoire courant pour <repname>.
repname .
• REIN Réinitialiser la session en cours, sans perdre la connexion. • MKD <repname> : création du nouveau répertoire <repname>.
• QUIT Termine la connexion en cours. • RMD <repname> : suppression du répertoire <repname>.
• DELE <filename> : suppression du fichier <filename>.
Commandes du paramétrage des transferts :
• RNFR <filename1> : définit le nom actuel d’un fichier à renommer.
• PORT <IP1>,<IP2>,<IP3>,<IP4>,<PORT1>,<PORT2>
, , , , , Configurer
g la
cible d’émission pour le canal de contrôle avec : IP, les 4 octets de l’adresse • RNTO <filename2>
fil 2 : définit
défi i le
l nouveau nom d’und’ fichier
fi hi à renommer.
IP de la cible ; Port, deux nombres entre 0 et 255 qui donne le port sur 16bits. • STAT : status courant de la session FTP.
• PASV Positionne le serveur en mode passif.
passif Il retourne ll’adresse
adresse et le port sur • STAT <repname> : équivalent à LIST mais réponse sur le canal de contrôle.
contrôle
lequel il attend une connexion du client. • HELP : affiche l’aide sur les opérations du site.
• TYPE <param> Définit le type d’échange réalisé via la socket de donnée : • SYST : ppermet de connaître le système
y sous lequel
q tourne le serveur
<param> = A ASCII, E EBCDIC, I Image.
• MODE <param> Détermine le monde d’encodage des données. • NOOP : no operation.
<param> = S Flux,Flux B Block,
Block C Compressé.
Compressé
161 163
FTP FTP
Les codes de retour :
Commandes de transfert FTP • 1yz : réponse positive prélimiaire •x0z : erreur de syntaxe
• RETR <filename> Déclenche la transmission par le serveur du fichier y : réponse
• 2yz p ppositive définitive •x1z : réponse contenant des informations
<filename> sur le canal de données. • 3yz : réponse positive intermédiaire •x2z : réponse vis à vis de la connexion
• STOR <filename> Déclenche la réception d’un fichier qui sera enregistré •x3z : identification et authentification
• 4yz : réponse négative transitoire
sur le
l disque
di sous le
l nom <filename>.
<fil > Si un fichier
fi hi avec lel même
ê nom existeit • 4 : non spécifié
•x4z
• 5yz : réponse négative définitive
déjà il est remplacé par un nouveau avec les données transmisses. •x5z : système de fichier
• APPE <filename> Déclenche la réception dd’un un fichier qui sera enregistré
sur le disque sous le nom <filename>. Si un fichier avec le même nom existe La troisième digit raffine la description d’erreur, exemple :
déjà, les nouvelles données lui sont concaténée. • 501 Erreur de syntaxe, commande non connue.
• REST <offset> Redémarrage en cas d’échec d’un transfert précédent. • 502 Erreur de syntaxe dans les paramètres/arguments.
L’offset précise le numéro du dernier octet reçu. • 503 Erreur de syntaxe, commande non implémentée.
• ABOR : abandon
b d dd’un transfert
f en cours. • 504 Erreur de syntaxe, mauvaise séquence de commandes.
• 505 Erreur de syntaxe, commande non implémentée pour ce param.
162 164
FTP
EX 1: réception d’un fichier
• USER monNom
331 User name ok need password
p
• PASS monPass
230 User logged in
• PORT 134,206,10,153,20,0
200 PORT command successful
• RETR filename
150 Opening data connection for
filename (357 bytes).
226 Transfer complete.
• QUIT
FTP
EX 2: émission d’un fichier
• USER monNom
331 User name ok need password
• PASS monPass
230 User logged in
• TYPE I
200 Type set to I.
• PORT 134,206,10,153,20,0
134 206 10 153 20 0
200 PORT command successful
• STOR filename
150 Opening data connection for
filename.
226 T
Transfer
f complete(43bytes).
l (43b )
• QUIT
Cli t
Client S
Serveur
166