Vous êtes sur la page 1sur 11

LA COUCHE RESEAU DE MODULE OSI

Définitions  :
Le modèle OSI (de l'anglais Open Systems Interconnection) est une norme de communication, en
réseau, de tous les systèmes informatiques. C'est un modèle de communications entre ordinateurs
proposé par l'ISO (Organisation internationale de normalisation) qui décrit les fonctionnalités
nécessaires à la communication et l'organisation de ces fonctions

Histoire  :
Le modèle OSI a été conçu dans les années 1970, sur fond de rivalités entre trois architectures
de conceptions différentes : la DSA lancée par CII-Honeywell-Bull innove dans
l'informatique distribuée en mettant en avant les mini-ordinateurs Mitra 15 puis Mini 6, tandis
que Decnet, de DEC, et SNA d'IBM donnent une plus grande place au site central, contrôlant
l’ensemble des ressources matérielles et logicielles, les utilisateurs y accédant pour une
"session" via des terminaux passifs.

Hubert Zimmermann est recruté en 1971 à l'INRIA par Louis Pouzin pour développer le
Datagramme, technologie qui suscite un enthousiasme international[1], appuyée par la CII[2].
Responsable et secrétaire[3] du groupe de travail "Architecture informatique", au sein de
l'International Organization for Standardization, il est le concepteur de la première version de
l’architecture OSI, selon Vinton Cerf[1], avec le renfort du spécialiste des bases de données
Charles Bachman[4]. Dès 1975, les PTT ont en effet combattu le datagramme et le réseau
Cyclades[5], pour lui préférer Transpac[6].

C'est en mars 1978 que Charles Bachman présente son modèle de communication en 7
couches dans le document ISO/TC97/SC16/N34. Les grands opérateurs télécoms européens,
alors tous publics, la combattent. C'est à cause de ce retard et de son contexte trop peu ouvert,
que la norme OSI sera supplantée par TCP/IP dans le domaine de l'Internet naissant, puisqu'il
sera finalement adopté par le réseau Arpanet le 1er janvier 1983 (en remplacement du
protocole NCP[7]). L'OSI devient une norme en 1984 : la norme ISO 7498:1984[8] du 15
novembre 1984 qui sera révisée en 1994 sous la norme ISO/IEC 7498-1:1994, à un moment
où il lui manque encore une vraie couche Internet[9] 
Aperçu  :
La norme complète, de référence ISO 7498, est globalement intitulée « Modèle basique de
référence pour l'interconnexion des systèmes ouverts (OSI) » et est composée de 4 parties :

1. Le modèle de base (ref. 7498-1)


2. Architecture de sécurité (ref. 7498-2)
3. Dénomination et adressage (ref. 7498-3)
4. Cadre général de gestion (ref. 7498-4)

La version de cet article ainsi que les articles consacrés à chacune des couches du modèle se
concentrent sur la partie 1, révision de 1994. L'UIT-T en a approuvé le texte à l'identique sous
le numéro de recommandation X.200[10] en 1994.

Le texte de la norme proprement dite est très abstrait car il se veut applicable à de nombreux
types de réseaux. Pour la rendre plus compréhensible, en plus de présenter la norme, cet
article fait des liens avec les réalisations concrètes telles qu'on les trouve dans un ordinateur,
c’est-à-dire des piles protocolaires concrètes (un « système réel » au sens de la section 4). De
plus, la norme n'indique pas de mécanismes propres à assurer les fonctions définies alors que
cet article le fait. Les exemples de services et surtout de protocoles sont pris dans le monde dit
"IP" (probablement le plus connu mais aussi le plus éloigné de l'esprit de la norme), le monde
RNIS (y compris la seconde génération, plus connue sous le nom ATM) et parfois le monde
OSI (qui ne fait pas que des modèles).

Les combinaisons offertes par le modèle sont beaucoup plus nombreuses que
celles réalisées dans des piles de protocoles existantes, on ne peut donc
pas donner d'exemple réel pour toutes les fonctions.

Présentation de la norme[modifier | modifier le code]


L'objectif de cette norme est de spécifier un cadre général pour la création de normes
ultérieures cohérentes. Le modèle lui-même ne définit pas de service particulier et encore
moins de protocole.

Concepts et terminologie : services, protocoles et interfaces[modifier | modifier le code]

Le modèle est essentiellement une architecture en couches définies et délimitées avec les
notions de service, de protocole et d'interface.

 Un service est une description abstraite de fonctionnalités à l'aide de primitives (commandes


ou événements) telles que demande de connexion ou réception de données.
 Un protocole est un ensemble de messages et de règles d'échange réalisant un service.
 Une interface (« point d'accès au service » dans la norme) est le moyen concret d'utiliser le
service. Dans un programme, c'est typiquement un ensemble de fonctions de bibliothèque
ou d'appels systèmes. Dans une réalisation matérielle, c'est par exemple un jeu de registres à
l'entrée d'un circuit.

Les détails d'un service varient bien sûr d'une architecture de réseau à l'autre. La classification
la plus grossière se fait selon que le service fonctionne en mode connecté ou non. Malgré cette
variabilité, les fonctions communes ont des noms conventionnellement constants. Ces noms
ne proviennent toutefois pas directement de ISO 7498-1.

connection.request

est une demande de connexion sortante, i.e. à l'initiative d'une entité locale.
connection.indication

correspond à l'événement « Une demande de connexion entrante a été reçue. »


connection.response

est l'indication d'acceptation ou de rejet de la connexion


connection.confirmation

correspond à l'événement « La réponse du demandé a été reçue. » C'est un acquittement.

data.request, data.indication et data.confirm

sont le pendant pour les données.

Les données fournies à une primitive de service sont appelées (N)-SDU (« Service Data
Unit ») où N est l'indication de la couche, son numéro dans la norme, parfois une lettre tirée
du nom de la couche. Les messages d'un protocole sont appelés PDU (« Protocol Data
Unit »).

Architecture des PDU Couche Fonction


couches]
7 Application Point d'accès aux services réseau

Gère le chiffrement et le déchiffrement des


données, convertit les données machine en
6 Présentation
Donnée données exploitables par n'importe quelle autre
Couches hautes machine

Communication Interhost, gère les sessions entre


5 Session
les différentes applications

Segment (en) / Connexion de bout en bout, connectabilité et


4 Transport
Datagramme contrôle de flux ; notion de port (TCP et UDP)

Détermine le parcours des données et


Paquet 3 Réseau
l'adressage logique (adresse IP)
Couches
Trame 2 Liaison Adressage physique (adresse MAC)
matérielles
Transmission des signaux sous forme numérique
Bit 1 Physique
ou analogique

Le modèle comporte sept couches succinctement présentées ci-dessus de bas en haut et


détaillées dans leurs articles respectifs. Ces couches sont parfois réparties en deux groupes.
Les trois couches inférieures sont plutôt orientées communication et sont souvent fournies par
un système d'exploitation et par le matériel.

Les quatre couches supérieures sont plutôt orientées application et plutôt réalisées par des
bibliothèques ou un programme spécifique. Dans le monde IP, ces quatre couches sont
rarement distinguées. Dans ce cas, toutes les fonctions de ces couches sont considérées
comme faisant partie intégrante du protocole applicatif.

Par ailleurs, les couches basses sont normalement transparentes pour les données à
transporter, alors que les couches supérieures ne le sont pas nécessairement, notamment au
niveau présentation.

Dans une telle architecture, une « entité » de niveau (N+1) envoie des données avec la
primitive « data.request » à l'entité de niveau (N) en lui fournissant comme données un
(N+1)-PDU qui sera à son tour encapsulé dans un (N)-PDU. Côté récepteur, chaque entité
analyse l'enveloppe protocole correspondant à sa couche et transmet les données à la couche
supérieure sous la forme d'une primitive « data.indication ».

Certaines fonctions comme la détection des erreurs de transmission, leur correction et le


contrôle de flux peuvent être présentes dans plusieurs couches. Ces fonctions sont décrites
globalement plus loin.

Caractérisation résumée des couches[modifier | modifier le code]

La caractérisation donnée ici est tirée du chapitre 7 de ISO 7498-1. La description originelle
donne en plus, pour chaque couche, les fonctions de manipulation de commandes ou de
données significatives parmi celles décrites plus bas.

1. La couche « physique » est chargée de la transmission effective des signaux entre les
interlocuteurs. Son service est limité à l'émission et la réception d'un bit ou d'un train de bits
continu (notamment pour les supports synchrones (concentrateur)).
2. La couche « liaison de données » gère les communications entre deux machines directement
connectées entre elles, ou connectées à un équipement qui émule une connexion directe
(commutateur).
3. La couche « réseau » gère les communications de proche en proche, généralement entre
machines : routage et adressage des paquets (cf. note ci-dessous).
4. La couche « transport » gère les communications de bout en bout entre processus
(programmes en cours d'exécution).
5. La couche « session » gère la synchronisation des échanges et les « transactions », permet
l'ouverture et la fermeture de session.
6. La couche « présentation » est chargée du codage des données applicatives, précisément de
la conversion entre données manipulées au niveau applicatif et chaînes d'octets
effectivement transmises.
7. La couche « application » est le point d'accès aux services réseaux, elle n'a pas de service
propre spécifique et entrant dans la portée de la norme.

Il existe différents moyens mnémotechniques pour les retenir plus facilement[11].


Limitations du modèle et utilisations étendues[modifier |
modifier le code]
Cette section illustre quelques cas où une architecture réseau ne peut entrer complètement
dans le cadre du modèle OSI.

Le modèle prévoit que dans une pile concrète, il y ait un et un seul protocole par couche. Il y a
toutefois des cas où cela est quasi impossible, en particulier lors de l'interconnexion de
réseaux hétérogènes, c’est-à-dire utilisant des jeux de protocoles différents. Par exemple, un
tunnel simple permet de relier 2 réseaux homogènes en traitant un réseau d'un autre type
comme une connexion point à point. C'est cette technique qui est utilisée pour relier
temporairement une machine isolée à Internet (hors-lignes xDSL) : Un modem gère une
connexion téléphonique entre 2 machines distantes, donc une connexion de niveau 3 dans la
pile RNIS, et l'utilise pour transmettre des trames PPP, protocole de niveau 2 alors que dans
une pile canonique, cela serait des PDU de niveau transport (4).

Il y a aussi des situations où deux protocoles de même niveau sont utilisés simultanément, car
la combinaison du service fourni et du service attendu de la couche inférieure l'exige. Ainsi,
dans le monde IP, les protocoles SSL et TCP fournissent tous deux un service de
communication point à point entre processus, SSL pouvant se substituer à TCP, mais le seul
protocole standard réalisant le service attendu par SSL pour fonctionner est TCP. On
superpose donc SSL sur TCP.

Dans certaines architectures réseau, le service offert aux machines d'extrémité n'est pas
suffisant pour satisfaire les besoins internes au réseau. Par exemple, dans un réseau ATM, le
service réseau est en mode connecté. Il faut donc une pile protocolaire capable de transporter
la signalisation (les messages de gestion des connexions) mais le service offert par cette pile
n'est pas accessible aux machines d'extrémité. Pour modéliser cela, on superpose au
découpage « horizontal » en couche, un découpage « vertical » en « plan » dans lequel les
piles protocolaires sont indépendantes. Ainsi, un modèle de réseau ATM est constitué de 3
plans : le plan usager pour les données ordinaires, le plan de contrôle pour le transport de la
signalisation et un plan de gestion pour la supervision interne au réseau. Les réseaux
téléphoniques (réseaux fixes RNIS et réseaux UMTS) ont aussi un découpage en plan
similaire
La couche réseau
Définition :
La couche réseau construit une voie de communication de bout à bout à partir de voies de
communication avec ses voisins directs. Ses apports fonctionnels principaux sont donc:

le routage
détermination d'un chemin permettant de relier les 2 machines distantes;
le relayage
retransmission d'un PDU (Protocol Data Unit ou Unité de données de protocole) dont
la destination n'est pas locale pour le rapprocher de sa destination finale.

Cette couche est donc la seule à être directement concernée par la topologie du réseau. C'est
aussi la dernière couche supportée par toutes les machines du réseau pour le transport des d
onnées utilisateur : les couches supérieures sont réalisées uniquement dans les machines
d'extrémité. OSI) est parfois appelée «acheminement

Cette couche est la plus caractéristique d'une architecture réseau. C'est pourquoi l'architecture
prend souvent le nom du protocole principal de niveau réseau.

Déterminer un chemin est une tâche complexe normalement réalisée dans les grands réseaux
par des protocoles dédiés dont le rôle est de découvrir la topologie du réseau et d'en tirer la
meilleure route. Les protocoles de routage se différencient par les critères de choix des routes
et la précision de la topologie découverte. En dehors du cas des petits réseaux, le routage est
hiérarchique : la précision de la connaissance de l'environnement d'un routeur décroît avec la
distance.

Si les routeurs n'ont pas de couche supérieure à la couche réseau du point de vue des
machines utilisatrices du réseau, ils peuvent supporter des protocoles de niveau transport et
au-dessus pour la gestion du réseau (supervision et exécution des protocoles de routage par
exemple). Bien que les données calculées par les protocoles de routage soient utilisées par la
couche réseau, ce ne sont pas des protocoles de niveau réseau car ils ne servent pas à
transporter les données des machines utilisatrices du réseau. D'ailleurs, dans le monde IP, les
protocoles de routage non local (i.e. hors RIP) sont transportés par TCP.

L’Address Resolution Protocol


(ARP, protocole de résolution d’adresse) est un protocole utilisé pour traduire une adresse de
protocole de couche réseau (typiquement une adresse IPv4) en une adresse de protocole de
couche de liaison (typiquement une adresse MAC). Il se situe à l’interface entre la couche
réseau (couche 3 du modèle OSI) et la couche de liaison (couche 2 du modèle OSI).

Il a été défini dans la RFC 826[1] : An Ethernet Address Resolution Protocol.

Le protocole ARP est nécessaire au fonctionnement d’IPv4 utilisé au-dessus d’un réseau de
type Ethernet. En IPv6, les fonctions de ARP sont reprises par le Neighbor Discovery
Protocol (NDP).

Dans la suite de l’article, le terme d'adresse IP est utilisé pour parler d’adresse IPv4.

Fonctionnement :
Un ordinateur connecté à un réseau informatique souhaite émettre une trame ethernet à
destination d’un autre ordinateur dont il connaît l’adresse IP et placé dans le même sous-
réseau. Dans ce cas, cet ordinateur va placer son émission en attente et effectuer une requête
ARP en broadcast de niveau 2. Cette requête est de type « quelle est l’adresse MAC
correspondant à l’adresse IP adresseIP ? Répondez à monAdresseIP ».

Puisqu’il s’agit d’un broadcast, tous les ordinateurs du segment vont recevoir la requête. En
observant son contenu, ils pourront déterminer quelle est l’adresse IP sur laquelle porte la
recherche. La machine qui possède cette adresse IP sera la seule à répondre en envoyant à la
machine émettrice une réponse ARP du type « je suis adresseIP, mon adresse MAC est
adresseMAC ». Pour émettre cette réponse au bon ordinateur, il crée une entrée dans son
cache ARP à partir des données contenues dans la requête ARP qu’il vient de recevoir.

La machine à l’origine de la requête ARP reçoit la réponse, met à jour son cache ARP et peut
donc envoyer à l’ordinateur concerné le message qu’elle avait mis en attente.

Il suffit donc d’un broadcast et d’un unicast pour créer une entrée dans le cache ARP de deux
ordinateurs.

Sécurité du protocole ARP :


Le protocole ARP a été conçu sans souci particulier de sécurité. Il est vulnérable à des
attaques locales sur le segment reposant principalement sur l’envoi de messages ARP erronés
à un ou plusieurs ordinateurs. Elles sont regroupées sous l’appellation ARP poisoning
(pollution de cache ARP). La vulnérabilité d’un ordinateur à la pollution de cache ARP
dépend de la mise en œuvre du protocole ARP par son système d’exploitation.

Soit une machine Charlie qui souhaite intercepter les messages d’Alice vers Bob, toutes
appartenant au même sous-réseau. L’attaque consiste pour Charlie à envoyer un paquet « arp
who-has » à la machine d’Alice. Ce paquet spécialement construit contiendra comme IP
source, l’adresse IP de la machine de Bob dont nous voulons usurper l’identité (ARP
spoofing) et l’adresse MAC de la carte réseau de Charlie. La machine d’Alice va ainsi créer
une entrée associant notre adresse MAC à l’adresse IP de la machine de Bob. Alice,
destinataire de l’« arp who-has », utilise le paquet pour créer une entrée dans sa table MAC.
Si Alice veut communiquer avec Bob au niveau IP, c’est Charlie qui recevra les trames
d’Alice puisque notre adresse MAC est enregistrée dans le cache empoisonné de Alice
comme équivalence pour l’IP du poste Bob. Ceci est une faiblesse connue de la mise en
œuvre d’ARP et permet de corrompre facilement un cache ARP distant.

Ces attaques peuvent permettre une écoute des communications entre deux machines (attaque
de l’homme du milieu), le vol de connexion, une surcharge des commutateurs servant de
structure au réseau informatique ou un déni de service (il suffit de faire une attaque de type
MITM (Man In The Middle) puis de refuser les paquets).

Pour lutter contre ce type d’attaque, il est possible :

 de mettre en place des entrées statiques dans le cache ARP de chaque machine du réseau
(commande arp -s). Ceci n’est applicable qu’à un faible nombre de machines (on privilégie
les plus critiques, comme les serveurs et les passerelles). Sur les systèmes d’exploitation
Microsoft Windows antérieurs à la version XP, une entrée statique peut être mise à jour, la
seule différence est qu’elle n’expire pas ;
 de limiter les adresses MAC sur chaque port (renseignement statique) des commutateurs s’ils
le permettent (fonction Port Security). Les commutateurs de niveau 3 par exemple offrent la
possibilité de paramétrer des associations port/MAC/IP statiques. Mais cela rend
évidemment plus difficile la maintenance du parc ;
 de surveiller les messages ARP circulant sur réseau informatique, à l’aide d’outils de
surveillance tels qu’ARPwatch[2] ou arpalert[3] ou de systèmes de Détection d’Intrusion (IDS).

Chaque entrée dans la table ARP a une durée de vie, ce qui oblige l’attaquant à corrompre
régulièrement le cache de la victime. Certains systèmes d’exploitation comme Solaris
permettent de modifier la valeur de ce temps d’expiration (commande ndd). Une valeur courte
rendra la corruption plus facilement visible

IPv4 :
IPv4 (Internet Protocol version 4) est la première version d'Internet Protocol (IP) à avoir été
largement déployée, et qui forme encore en 2021 la base de la majorité des communications
sur Internet, par rapport à l'IPv6. Elle est décrite dans la RFC 791 de septembre 1981,
remplaçant la RFC 760[1], définie en janvier 1980.

Chaque interface d'un hôte IPv4 se voit attribuer une ou plusieurs adresses IP codées sur
32 bits. Au maximum 4 294 967 296, soit 232 adresses peuvent donc être attribuées
simultanément en théorie (en pratique, un certain nombre ne sont pas utilisables).

L'épuisement des adresses IPv4 a conduit au développement d'une nouvelle version d'IP,
IPv6, et à la transition d'IPv4 vers IPv6 afin d'adopter cette nouvelle version. Le manque
d'adresse IPv4 est dans un premier temps contourné grâce à l'utilisation de techniques de
traduction d'adresses (NAT) ainsi que par l'adoption du système CIDR. Le nombre d'adresses
IP Version 4 publiques est arrivé officiellement à saturation le 3 février 2011.
Représentation d'une adresse IPv4
Une adresse IPv4 est représentée sous la forme de quatre nombres entiers séparés par des
points comme 193.43.55.67. Chacun des nombres représente un octet. La plage d'attribution
s'étend de 0.0.0.0 à 255.255.255.255, sachant qu'il existe des contraintes empêchant
l'utilisation de certaines adresses (réservée, masque, broadcast, etc.)

Représentation d'une adresse IPv4


Une adresse IPv4 est représentée sous la forme de quatre nombres entiers séparés par des
points comme 193.43.55.67. Chacun des nombres représente un octet. La plage d'attribution
s'étend de 0.0.0.0 à 255.255.255.255, sachant qu'il existe des contraintes empêchant
l'utilisation de certaines adresses (réservée, masque, broadcast, etc.)

Adresse IPv4

X.25 :
est le protocole de communication utilisant la commutation de paquets qui a été standardisé
par le CCITT en 1976[1],[2].
En France, après avoir été exploité par la société Transpac filiale de France Télécom, c'est
sous sa nouvelle dénomination Orange Business Services que la commercialisation et la
maintenance en a été assuré jusqu'en juin 2012, date de fin d'exploitation technique et
commerciale. Cette fermeture a entrainé l’arrêt des services minitel qui s'appuyaient sur ce
réseau X25.

Fin 1971, Alain Profit, responsable du projet Hermes et chef du groupement ITD
(Informatique et Transmission de Données) au CNET, lance l'étude et la réalisation d'un
réseau expérimental à commutation par paquets dont il confie la responsabilité à Rémi
Després. Ce projet deviendra six ans plus tard la norme X.25.

Le choix du mode Circuit virtuel pour X.25 est notamment approuvé par Bell Canada qui,
dans un premier temps, pour son projet de réseau public Datapac , avait proposé d'adopter un
mode datagramme.

Le standard a X.25 été adopté en 1976 par le CCITT pour l'accès aux réseaux de transmission
de données en mode paquets, fondé sur sa variante circuits virtuels. Elle répondait aux besoins
exprimés par cinq opérateurs qui voulaient offrir au plus vite un réseau public adapté aux
besoins des échanges informatiques (accès de terminaux à des ordinateurs distants, et
échanges entre ordinateurs) : Transpac pour la France, Datapac pour le Canada, Telenet pour
les États-Unis, NTT pour le Japon, et Euronet pour les échanges intra-européens. Leurs
ingénieurs, dans le cadre de la Commission d'étude VII du CCITT et avec la coopération
d'ingénieurs d'autres pays, ont finalisé sa spécification en mars 1976 à Genève.

X.25.

Exemple de réseau X25


X.25 intègre les trois couches basses du modèle OSI (Open Systems Interconnection) :

 niveau 1 : couche physique


 niveau 2 : couche liaison
 niveau 3 : couche réseau

X.25 définissait l'interface entre un ETTD (Équipement terminal de traitement de données) et


un ETCD (Équipement terminal de circuit de données) pour la transmission de paquets. Il
fixait donc les règles de fonctionnement entre un usager du réseau et le réseau lui-même.

Vous aimerez peut-être aussi