Vous êtes sur la page 1sur 47

Cours des rseaux Informatiques Couche-Rseau

(2010-2011)

Pr. Benayad NSIRI

Le modle de rfrence OSI

Couche rseau

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 un 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) Allocation des lignes et des nuds

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 tre accessible aussi bien par des humains que par d'autres machines 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

24

31

Classe A Classe B

Net-id Net-id Net-id

Host-id Host-id Host-id

10

Classe C
Classe D Classe E

110

1110 11110

Multicast Rserv

Le protocole IP : Ladressage Internet

On dispose en thorie des plages dadresses suivantes :

Classe

Plage

A B
C D

0.0.0.0 128.0.0.0
192.0.0.0 224.0.0.0

127.255.255.255 191.255.255.255
223.255.255.255 239.255.255.255

240.0.0.0

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 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 : 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 L'adresse de diffusion dirige : netid est une adresse rseau spcifique => la diffusion concerne toutes les machines situes sur le rseau spcifi : 172.20.255.255 dsigne toutes les machines du rseau 172.20. 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

31 dsigne la machine courante

Tout zro
Tout zro Tout un Net-id 127 Tout un Nimporte quoi (souvent 0) Host-id

machine Host-id sur le rseau courant diffusion limite sur le rseau courant 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

.2

.3

.4

Internet

P
.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 Internet Partie locale 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 256 sous-rseaux et 254 machines par sous-rseau, tandis que 3 bits pour la partie rseau et 13 bits pour le champ machine permettent 8 rseaux de 8190 machines chacun.
Exemple Classe C : 4 bits pour la partie rseau et 4 bits pour le champ machine permettent 16 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 incluse 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 La structure du message ARP/RARP gre une association adresse de protocole/adresse physique indpendamment de l'interface physique et du protocole utilis

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 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;

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 protocole IP dfinit : L'unit de donne transfre dans les interconnexions (datagramme),

La fonction de routage,
Les rgles qui mettent en oeuvre la remise de paquets en mode non connect

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 4 8 16 19 24 31

VERS HLEN Type de service Identification Dure de vie Protocole Flags

Longueur totale Offset fragment

Somme de contrle Header

Adresse IP Source Adresse IP Destination

Options IP (ventuellement) Donnes

Padding

...

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.

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 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 des datagrammes dont la taille maximale correspond celle du MTU le plus grand, des rseaux auxquels elle est connecte. 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)

Le champ FLAGS indique si les passerelles doivent renseigner uniquement l'horodatage (FLAGS = 0), ou bien l'horodatage et l'adresse IP (FLAGS=1).

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

30.0.0.5

40.0.0.1

Reseau
10.0.0.0

Reseau
20.0.0.0

Reseau
30.0.0.0

Reseau
40.0.0.0

10.0.0.1

20.0.0.2

30.0.0.1

Pour atteindre les machines du rseau Router vers

10.0.0.0

20.0.0.0

30.0.0.0

40.0.0.0

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 (ladresse IP du prochain saut nest sauvegarde nulle part). 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.

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

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

Vous aimerez peut-être aussi