Sunteți pe pagina 1din 44

Cours des rseaux Informatiques

(2010-2011)

Rziza Mohammed
rziza@fsr.ac.ma

Fonction de La couche rseau


Le rle principal de cette couche est de :
Transporter des paquets de la source vers la destination via les
diffrentes nuds de commutation du rseaux traverss
Trouver un chemin tout en assurant une rgulation et rpartition
de la charge des rseaux
Ce rle est assur par un ensemble de fonctions :
Fragmentation et rassemblage (conversion de messages en paquets)
Adressage et routage (acheminement des paquets)
Rgulation et rpartition de la charge (contrle de flux)

Le protocole IP : Ladressage Internet


But : fournir un service de communication universel permettant
toute machine de communiquer avec toute autre machine de
linterconnexion

Une machine doit pouvoir tre identifie par :


un nom,
une adresse qui doit tre un identificateur universel de la
machine,
une route prcisant comment la machine peut tre atteinte.

Le protocole IP : Ladressage Internet

Solution :
adressage binaire compact assurant un routage efficace
Utilisation de noms pour identifier des machines (ralise un
autre niveau que les protocoles de base)
Les classes d'adressage
Une adresse = 32 bits dite "Internet address" ou "IP address"
constitue d'une paire (netid, hostid) o netid identifie un rseau
et hostid identifie une machine sur ce rseau.
Cette paire est structure de manire dfinir cinq classes
d'adresse

Le protocole IP : Ladressage Internet

16

Net-id

24

31

Host-id

Classe A

Classe B

10

Classe C

110

Classe D

1110

Multicast

Classe E

11110

Rserv

Net-id

Host-id
Net-id

Host-id

Le protocole IP : Ladressage Internet

On dispose en thorie des plages dadresses suivantes :

Classe
A
B

0.0.0.0
128.0.0.0

Plage
127.255.255.255
191.255.255.255

C
D
E

192.0.0.0
224.0.0.0
240.0.0.0

223.255.255.255
239.255.255.255
247.255.255.255

Le protocole IP : Ladressage Internet


Classe A : 126 rseaux et 16777214 machines par rseaux
Classe B : 16382 rseaux et 65534 machines par rseaux
Classe C : 2097150 rseaux et 254 machines par rseaux

Il existe des adresse dites non routables.


Ces adresse sont rserves usage interne, ou dans le cas
de rseaux prives
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

Le protocole IP : Ladressage Internet


Notation dcimale
utilisation de quatre entiers dcimaux spars par un point, chaque
entier reprsente un octet de l'adresse IP : 128.10.2.30
10000000 00001010

00000010

00011110

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 : 172.20.0.0 dsigne le rseau de classe B 172.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 (RARP).

Le protocole IP : Ladressage Internet


Dtermination du netmask
Soit le sous rseau de classe C 192.168.16.x (0<x<255).
Nous avons donc un rseau de n=255 machines,
netmask = NON (n) = NON (0.0.0.255), soit (255.255.255.0)
Le netmask est donc ncessaire pour connatre le nombre de machines
prsente dans le sous-rseau.
Le netmask permet de diviser la classe C en plusieurs sous rseaux.
Exemple:
Adresse de sous rseau
192.168.16.0
192.168.16.128
192.168.16.192
192.168.16.224

Netmask
255.255.255.128
255.255.255.224
255.255.255.224
255.255.255.224

Nb de machines
128
64
32
32

Le protocole IP : Ladressage Internet


Calcul de ladresse de diffusion
Ladresse de diffusion, ou adresse de broadcast, permet dadresser toutes
les machines sur le mme rseau que le votre dune seule opration.
Elle est calcule partir du netmask et de ladresse de sous-rseau.
Si R est ladresse de sous-reseau et N le netmask associ, on peut
calculer ladresse de broadcast par la formule suivante:
B = NON (N) OU (R)

Exemple:
N = 255.255.255.128
R =192.168.16.0
B = NON (255.255.255.128) OU 192.168.16.0
= (0.0.0.127) OU 192.168.16.0
= 192.168.16.127

Le protocole IP : Ladressage Internet


Ladresse de passerelle
Ladresse de passerelle indique si ncessaire quelle machine doit-on
sadresser lorsquune requte nest pas destine une machine de notre
rseaux
Pour une classe C 192.16.168.0, ladresse 192.16.168.254 est rserve au
routeur ou passerelle.
Comment dterminer si la machine mettrice se trouve dans le mme rseau
que la machine quelle souhaite contacter?
Lopration suivante est effectue : V = IPdest ET Netmask
si V donne la mme adresse de sous-rseau que la machine mettrice, alors
la machine de destination se trouve dans le mme rseau que la machine
mettrice (on a pas besoin de la passerelle).

Le protocole IP : Ladressage Internet


Adresses de diffusion : la partie hostid ne contient que des 1
En consquence, une adresse IP dont la valeur hostid ne comprend
que des 1 ne peut tre attribue une machine relle.
Adresse de boucle locale : l'adresse rseau 127.0.0.0 est rserve pour
la dsignation de la machine locale, c'est dire la communication
intra-machine.
Une adresse rseau 127 ne doit, en consquence, jamais tre vhicule sur un
rseau et un routeur ne doit jamais router un datagramme pour le rseau 127.

Le protocole IP : Ladressage Internet

16

24

dsigne la machine
courante

Tout zro
Tout zro

Host-id

127

machine Host-id
sur le rseau courant
diffusion limite sur
le rseau courant

Tout un
Net-id

31

Tout un
Nimporte quoi (souvent 0)

diffusion dirige sur


le rseau Net-id
boucle locale

Le protocole IP : Ladressage Internet


Adresses et connexions
Une adresse IP => une interface physique => une connexion rseau.
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

La passerelle est multi-domicilie:


interface 1 : Ethernet 193.49.60.1
interface 2 : Token Ring 192.100.1.1

192.100.1.7

Le sous-adressage
Le sous-adressage est une extension du plan dadressage initial
Devant la croissance du nombre de rseaux de lInternet, il a t
introduit afin de limiter la consommation dadresses IP, qui
permet galement de diminuer :
la gestion administrative des adresses IP,
la taille des tables de routage des passerelles,
la taille des informations de routage,
le traitement effectu au niveau des passerelles.
Principes
A lintrieur dune entit associe une adresse IP de classe
A, B ou C, plusieurs rseaux physiques partagent cette
adresse IP.
On dit alors que ces rseaux physiques sont des sous-rseaux
(subnet ) du rseau dadresse IP.

Le sous-adressage
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

La passerelle P accepte tout le trafic destin au rseau 128.10.0.0 et


slectionne le sous-rseau en fonction du troisime octet de ladresse
destination.

Le sous-adressage
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.

Le sous-adressage
Conceptuellement, la partie locale dans le plan dadressage initial
est subdivise en partie rseau physique + identification de
machine (hostid) sur ce sous-rseau :
Partie Internet

Partie locale

Partie Internet

Rseau physique Identifieur Machine

Partie Internet correspond au NetId (plan dadressage initial)


Partie locale correspond au hostid (plan dadressage initial)
les champs Rseau physique et identifieur Machine sont de
taille variable; la longueur des 2 champs tant toujours gale la
longueur de la Partie locale.

Le sous-adressage
Le choix du dcoupage dpend des perspectives dvolution du
site:
Exemple Classe B : 8 bits pour les parties rseau et machine
donnent un potentiel de 254 sous-rseaux et 254 machines par
sous-rseau, tandis que 3 bits pour la partie rseau et 13 bits
pour le champ machine permettent 6 rseaux de 8190
machines chacun.
Exemple Classe C : 4 bits pour la partie rseau et 4 bits pour
le champ machine permettent 14 rseaux de 14 machines
chacun.

Le protocole ARP : Address Resolution Protocol


Le besoin
La communication entre machines ne peut s'effectuer qu' travers
l'interface physique
Les applicatifs ne connaissent 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

Le protocole ARP : Address Resolution Protocol


L'association adresse physique - adresse IP de l'metteur est
inclue dans la requte ARP de manire ce que les rcepteurs
enregistrent l'association dans leur propre mmoire cache

Pour connatre l'adresse physique de B, PB, partir de son


adresse IP, IB, la machine A diffuse une requte ARP qui
contient l'adresse IB vers toutes les machines; la machine B
rpond avec un message ARP qui contient la paire (IB, PB).

Le protocole ARP : Address Resolution Protocol


Format du message ARP
La requte ARP est vhicule dans un message protocolaire luimme encapsul dans la trame de liaison de donnes.
Lorsque la trame arrive destination, la couche liaison de
donnes dtermine l'entit responsable du message encapsul;
Exemple: champ type de la trame Ethernet: 0806 pour ARP

RARP: Reverse Address Resolution Protocol


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 dans le cas o 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;

RARP: Reverse Address Resolution Protocol


Le serveur possde une base de donnes contenant les couples adresse
physique/adresse IP,
les stations mettent une requte RARP sur le rseau, consistant demander
l'adresse IP qui est associe leur adresse physique,
Les requtes RARP sont propages vers le ou les serveur(s) RARP par
mcanisme de diffusion. Le(s) serveur(s) RARP rponde(nt) par un message
de type RARP.

Pour connatre 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.

IP : Internet Protocol (le datagramme)


Le datagramme IP
L'unit de transfert de base dans un rseau Internet est le datagramme
qui est constitue d'un en-tte et d'un champ de donnes:
0

16

19

VERS HLEN Type de service


Identification
Dure de vie

31

Longueur totale
Flags

Protocole

24

Offset fragment

Somme de contrle Header

Adresse IP Source
Adresse IP Destination

Options IP (ventuellement)

Padding

Donnes

...

IP : Internet Protocol (le datagramme)


Signification des champs du datagramme IP :

VERS : numro de version de protocole IP, actuellement version 4,


HLEN : longueur de l'en-tte en mots de 32 bits, gnralement gal 5,
Longueur totale : longueur totale du datagramme (en-tte + donnes)
Type de service : indique comment le datagramme doit tre gr :

Prcdence D T R

Inutilis

PRECEDENCE (3 bits) : dfinit la priorit du datagramme.


Bits D, T, R : indiquent le type d'acheminement dsir du
datagramme, permettant une passerelle de choisir entre plusieurs
routes (si elles existent) : D signifie dlai court, T signifie dbit
lev et R signifie grande fiabilit.

IP : Internet Protocol (le datagramme)


FRAGMENT OFFSET, FLAGS, IDENTIFICATION :
les champs de la fragmentation.
Sur toute machine ou passerelle mettant en oeuvre TCP/IP, une unit
maximale de transfert (Maximum Transfert Unit ou MTU) dfinit la taille
maximale d'un datagramme vhicul sur le rseau physique correspondant.
Lorsque le datagramme est rout vers un rseau physique dont le MTU est
plus petit que le MTU courant, la passerelle fragmente le datagramme en
un certain nombre de fragments vhiculs par autant de trames sur le
rseau physique correspondant.
Lorsque le datagramme est rout vers un rseau physique dont le MTU est
suprieur au MTU courant, la passerelle route les fragments tels quels
(rappel : les datagrammes peuvent emprunter des chemins diffrents).
Le destinataire final reconstitue le datagramme initial partir de l'ensemble
des fragments reus; la taille de ces fragments correspond au plus petit
MTU emprunt sur le rseau. Si un seul des fragments est perdu, le
datagramme initial est considr comme perdu : la probabilit de perte d'un
datagramme augmente avec la fragmentation.

IP : Internet Protocol (le datagramme)

FRAGMENT OFFSET : indique le dplacement des donnes


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.
Chaque fragment a une structure identique celle du datagramme
initial, seul les champs FLAGS et FRAGMENT OFFSET sont
spcifiques.

Taille MTU

La taille de MTU dpend de la couche liaison


Ethernet : 1500 octets
Anneau jeton :
4464 (4 Mbit/s) octets
17914 (16 Mbit/s) octets

FDDI : 4352 octets


Frame Relay : 1600 octets
ATM/AAL5 : 9180 octets
PPP : 296 - 1500 octets

IP : Internet Protocol (le datagramme)


Longueur totale : taille du fragment et non pas celle du datagramme
initial, partir du dernier fragment (TOTAL LENGTH, FRAGMENT
OFFSET et FLAGS) on peut dterminer la taille du datagramme initial.
IDENTIFICATION (N de datagramme) : entier qui identifie le
datagramme initial (utilis pour la reconstitution de datagramme partir
des fragments qui ont tous la mme valeur).
FLAGS contient un bit appel "do not fragment" (01X)
un autre bit appel "More fragments" (FLAGS = 001 signifie d'autres
fragments suivre) permet au destinataire final de reconstituer le
datagramme initial en identifiant les diffrents fragments (milieu ou fin
du datagramme initial)
les passerelles doivent accepter sans les fragmenter, les datagrammes de
longueur 576 octets.

IP : Internet Protocol (le datagramme)


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.

IP : Internet Protocol (le datagramme)


Somme de contrle de len-tte
Ce champ permet de dtecter les erreurs survenant dans l'en-tte du
datagramme, et par consquent l'intgrit du datagramme.
Le total de contrle d'IP porte sur l'en-tte du datagramme et non sur les
donnes vhicules. Lors du calcul, le champ HEADER CHECKSUM
est suppos contenir la valeur 0 :

xxxx xxxx xxxx xxxx


xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx

(VERS, HLEN, TYPE OF SERVICE)


(TOTAL LENGTH)
(ID. FLAGS, FRAGMENT OFFSET)
(TIME TO LIVE, PROTOCOL)

0000 0000 0000 0000


xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx
...

(HEADER CHECKSUM)
(IP SOURCE )
(IP SOURCE)
(IP DESTINATION)
(IP DESTINATION)
(OPTIONS ventuelles + PADDING

IP : Internet Protocol (le datagramme)


OPTIONS
Le champ OPTIONS est facultatif et de longueur variable. Les
options concernent essentiellement des fonctionnalits de mise
au point (enregistrement de route, horodatage, bourrage ...).
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.
Une option particulire de ce type est:

IP : Internet Protocol (le datagramme)

Enregistrement de route (classe = 0, option = 7) :


permet la source de crer une liste d'adresse IP vide et de
demander chaque passerelle d'ajouter son adresse dans la
liste.

IP : Internet Protocol (le datagramme)

Routage strict prdfini par l'metteur (classe = 0, option = 9):


Prdfini le routage qui doit tre utilis dans l'interconnexion en
indiquant la suite des adresses IP dans l'option.
Le chemin spcifi ne tolre aucun autre intermdiaire; une erreur
est retourne l'metteur si une passerelle ne peut appliquer le
routage spcifi.

IP : Internet Protocol (le datagramme)


Routage lche prdfini par l'metteur (classe = 0,
option = 3):
Cette option autorise, entre deux passages obligs, le transit
par d'autres intermdiaires :

IP : Internet Protocol (le datagramme)

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.
Une liste de couples (adresse IP - horodatage) est rserve par
l'metteur; les passerelles ont charge de remplir un champ lors
du passage du datagramme.

IP : Internet Protocol (le datagramme)

Les horodatages, bien qu'exprims en temps universel, ne


constituent qu'une estimation sur le temps de passage car les
horloges des machines situes sur les rseaux ne sont pas
synchronises.

Routage des datagrammes


Le routage est le processus permettant un datagramme dtre achemin vers
le destinataire lorsque celui-ci nest pas sur le mme rseau physique que
lmetteur.
Le chemin parcouru est le rsultat du processus de routage qui effectue les
choix ncessaires afin dacheminer le datagramme.
Les routeurs forment une structure cooprative de telle manire quun
datagramme transite de passerelle en passerelle jusqu ce que lune dentre
elles le dlivre son destinataire.
Un routeur possde deux ou plusieurs connexions rseaux tandis quune
machine possde gnralement quune seule connexion.
Machines et routeurs participent au routage :
les machines doivent dterminer si le datagramme doit tre dlivr sur le
rseau physique sur lequel elles sont connectes (routage direct) ou bien si
le datagramme doit tre achemin vers une passerelle; dans ce cas (routage
indirect), elle doit identifier la passerelle approprie.
les passerelles effectuent le choix de routage vers dautres passerelles afin
dacheminer le datagramme vers sa destination finale.

Routage des datagrammes


Les tables de routage IP, pour des raisons videntes dencombrement,
renseignent seulement les adresses rseaux et non pas les adresses
machines.
Typiquement, une table de routage contient des couples (R, P) o R est
ladresse IP dun rseau destination et P est ladresse IP de la passerelle
correspondant au prochain saut dans le cheminement vers le rseau
destinataire.
La passerelle ne connat pas le chemin complet pour atteindre la
destination.
Pour une table de routage contenant des couples (R, P) et appartenant
la machine M, P et M sont connects sur le mme rseau physique dont
ladresse de niveau rseau (partie Netid de ladresse IP) est R.

Routage des datagrammes

20.0.0.1

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

Pour atteindre les


machines du rseau

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

Routage des datagrammes


Route_Datagramme_IP(datagramme, table_de_routage)
Extraire ladresse IP destination, ID, du datagramme,
Calculer ladresse du rseau destination, IN.
Si IN correspondant une adresse de rseau directement accessible,
envoyer le datagramme vers sa destination, sur ce rseau.
sinon si dans la table de routage, il existe une route vers ID
router le datagramme selon les informations contenues dans la table de
routage.
sinon si IN apparat dans la table de routage,
router le datagramme selon les informations contenues dans la table de
routage.
sinon sil existe une route par dfaut
router le datagramme vers la passerelle par dfaut.
sinon dclarer une erreur de routage.

Routage des datagrammes


Aprs excution de lalgorithme de routage, IP transmet le
datagramme ainsi que ladresse IP determine, linterface rseau
vers lequel le datagramme doit tre achemin.
Linterface physique dtermine alors ladresse physique associe
ladresse IP et achemine le datagramme sans lavoir modifi.
Si le datagramme est achemin vers une autre passerelle, il est
nouveau gr de la mme manire, et ainsi de suite jusqu sa
destination finale.

Routage des datagrammes


Les datagrammes entrants sont traits diffremment selon quil sont
reus par une machine ou une passerelle :
Machine : le logiciel IP examine ladresse destination lintrieur du
datagramme
si cette adresse IP est identique celle de la machine, IP accepte le
datagramme et transmet son contenu la couche suprieure.
sinon, le datagramme est rejet; une machine recevant un
datagramme destin une autre machine ne doit pas router le
datagramme.
Passerelle : IP dtermine si le datagramme est arriv destination et
dans ce cas le dlivre la couche suprieure. Si le datagramme na pas
atteint sa destination finale, il est rout selon lalgorithme de routage
prcdemment dcrit.

S-ar putea să vă placă și