|
Le modèle TCP/IP
par Sylvain
1 -
Introduction
2 - Description du modèle
2.1 -
Un modèle en 4 couches
2.2 -
La couche hôte réseau
2.3 -
La couche internet
2.4 -
La couche transport
2.5 -
La couche application
3 -
Comparaison avec
le modèle OSI et critique
3.1 -
Comparaison avec le modèle OSI
3.2 -
Critique
4 - Discussion autour de la
documentation
5 - Suivi du document
TCP/IP désigne communément une architecture
réseau, mais cet acronyme désigne en fait 2 protocoles étroitement liés : un
protocole de transport,
TCP
(Transmission Control Protocol) qu'on utilise "par-dessus" un protocole réseau,
IP (Internet Protocol). Ce
qu'on entend par "modèle TCP/IP", c'est en fait une architecture réseau en 4
couches dans laquelle les protocoles TCP et IP jouent un rôle prédominant, car
ils en constituent l'implémentation la plus courante. Par abus de langage, TCP/IP
peut donc désigner deux choses : le modèle TCP/IP et la suite de deux protocoles
TCP et IP.
Le modèle TCP/IP, comme nous le verrons plus
bas, s'est progressivement imposé comme modèle de référence en lieu et place du
modèle OSI. Cela tient tout simplement
à son histoire. En effet, contrairement au modèle OSI, le modèle TCP/IP est né
d'une implémentation ; la normalisation est venue ensuite. Cet historique fait
toute la particularité de ce modèle, ses avantages et ses inconvénients.
L'origine de TCP/IP remonte au réseau ARPANET.
ARPANET est un réseau de télécommunication conçu par l'ARPA (Advanced Research
Projects Agency), l'agence de recherche du ministère américain de la défense (le
DOD : Department of Defense). Outre la possibilité de connecter des réseaux
hétérogènes, ce réseau devait résister à une éventuelle guerre nucléaire,
contrairement au réseau téléphonique habituellement utilisé pour les
télécommunications mais considéré trop vulnérable. Il a alors été convenu qu'ARPANET
utiliserait la technologie de commutation par paquet (mode datagramme), une
technologie émergeante promettante. C'est donc dans cet objectif et ce choix
technique que les protocoles TCP et IP furent inventés en 1974. L'ARPA signa
alors plusieurs contrats avec les constructeurs (BBN principalement) et
l'université de Berkeley qui développait un Unix pour imposer ce standard, ce
qui fut fait.
Le modèle TCP/IP peut en effet être décrit
comme une architecture réseau à 4 couches :

Le modèle OSI a été mis à côté pour faciliter
la comparaison entre les deux modèles.
Cette couche est assez "étrange". En effet,
elle semble "regrouper" les couches physique et liaison de données du modèle OSI.
En fait, cette couche n'a pas vraiment été spécifiée ; la seule contrainte de
cette couche, c'est de permettre un hôte d'envoyer des paquets IP sur le réseau.
L'implémentation de cette couche est laissée libre. De manière plus concrète,
cette implémentation est typique de la technologie utilisée sur le réseau local.
Par exemple, beaucoup de réseaux locaux utilisent Ethernet ; Ethernet est une
implémentation de la couche hôte-réseau.
Cette couche est la clé de voûte de
l'architecture. Cette couche réalise l'interconnexion des réseaux (hétérogènes)
distants sans connexion. Son rôle est de permettre l'injection de paquets dans
n'importe quel réseau et l'acheminement des ces paquets indépendamment les uns
des autres jusqu'à destination. Comme aucune connexion n'est établie au
préalable, les paquets peuvent arriver dans le désordre ; le contrôle de l'ordre
de remise est éventuellement la tâche des couches supérieures.
Du fait du rôle imminent de cette couche dans
l'acheminement des paquets, le point critique de cette couche est le
routage.
C'est en ce sens que l'on peut se permettre de comparer cette couche avec la
couche réseau du modèle OSI.
La couche internet possède une implémentation
officielle : le protocole IP
(Internet Protocol).
Remarquons que le nom de la couche ("internet")
est écrit avec un i minuscule, pour la simple et bonne raison que le mot internet est pris ici au sens large (littéralement, "interconnexion de
réseaux"), même si l'Internet (avec un grand I) utilise cette couche.
Son rôle est le même que celui de la couche
transport du modèle OSI : permettre à des entités paires de soutenir une
conversation.
Officiellement, cette couche n'a que deux
implémentations : le
protocole
TCP (Transmission Control Protocol) et le
protocole UDP (User Datagram
Protocol). TCP est un protocole fiable, orienté connexion, qui permet
l'acheminement sans erreur de paquets issus d'une machine d'un internet à
une autre machine du même internet. Son rôle est de fragmenter le message à
transmettre de manière à pouvoir le faire passer sur la couche internet. A
l'inverse, sur la machine destination, TCP replace dans l'ordre les fragments
transmis sur la couche internet pour reconstruire le message initial. TCP
s'occupe également du contrôle de flux de la connexion.
UDP est en revanche un protocole plus simple
que TCP : il est non fiable et sans connexion. Son utilisation présuppose que
l'on n'a pas besoin ni du contrôle de flux, ni de la conservation de l'ordre de
remise des paquets. Par exemple, on l'utilise lorsque la couche application se
charge de la remise en ordre des messages. On se souvient que dans le modèle OSI,
plusieurs couches ont à charge la vérification de l'ordre de remise des
messages. C'est là une avantage du modèle TCP/IP sur le modèle OSI, mais nous y
reviendrons plus tard. Une autre utilisation d'UDP : la transmission de la voix.
En effet, l'inversion de 2 phonèmes ne gêne en rien la compréhension du message
final. De manière plus générale, UDP intervient lorsque le temps de remise des
paquets est prédominant.
Contrairement au modèle OSI, c'est la couche
immédiatement supérieure à la couche transport, tout simplement parce que les
couches présentation et session sont apparues inutiles. On s'est en effet aperçu
avec l'usage que les logiciels réseau n'utilisent que très rarement ces 2
couches, et finalement, le modèle OSI dépouillé de ces 2 couches ressemble
fortement au modèle TCP/IP.
Cette couche contient tous les protocoles de
haut niveau, comme par exemple Telnet, TFTP (trivial File Transfer Protocol),
SMTP (Simple Mail Transfer Protocol), HTTP (HyperText Transfer Protocol). Le
point important pour cette couche est le choix du protocole de transport à
utiliser. Par exemple, TFTP (surtout utilisé sur réseaux locaux) utilisera UDP,
car on part du principe que les liaisons physiques sont suffisamment fiables et
les temps de transmission suffisamment courts pour qu'il n'y ait pas d'inversion
de paquets à l'arrivée. Ce choix rend TFTP plus rapide que le protocole FTP qui
utilise TCP. A l'inverse, SMTP utilise TCP, car pour la remise du courrier
électronique, on veut que tous les messages parviennent intégralement et sans
erreurs.
Tout d'abord, les points communs. Les modèles
OSI et TCP/IP sont tous les deux fondés sur le concept de pile de protocoles
indépendants. Ensuite, les fonctionnalités des couches sont globalement les
mêmes.
Au niveau des différences, on peut remarquer
la chose suivante : le modèle OSI faisait clairement la différence entre 3
concepts principaux, alors que ce n'est plus tout à fait le cas pour le modèle
TCP/IP. Ces 3 concepts sont les concepts de services, interfaces
et protocoles. En effet, TCP/IP fait peu la distinction entre ces
concepts, et ce malgré les efforts des concepteurs pour se rapprocher de l'OSI.
Cela est dû au fait que pour le modèle TCP/IP, ce sont les protocoles qui sont
d'abord apparus. Le modèle ne fait finalement que donner une justification
théorique aux protocoles, sans les rendre véritablement indépendants les uns des
autres.
Enfin, la dernière grande différence est liée
au mode de connexion. Certes, les modes orienté connexion et sans connexion sont
disponibles dans les deux modèles mais pas à la même couche : pour le modèle OSI,
ils ne sont disponibles qu'au niveau de la couche réseau (au niveau de la couche
transport, seul le mode orienté connexion n'est disponible), alors qu'ils ne
sont disponibles qu'au niveau de la couche transport pour le modèle TCP/IP (la
couche internet n'offre que le mode sans connexion). Le modèle TCP/IP a donc cet
avantage par rapport au modèle OSI : les applications (qui utilisent directement
la couche transport) ont véritablement le choix entre les deux modes de
connexion.
Une des premières critiques que l'on peut
émettre tient au fait que le modèle TCP/IP ne fait pas vraiment la distinction
entre les spécifications et l'implémentation : IP est un protocole qui fait
partie intégrante des spécifications du modèle.
Une autre critique peut être émise à
l'encontre de la couche hôte réseau. En effet, ce n'est pas à proprement parler
une couche d'abstraction dans la mesure où sa spécification est trop floue. Les
constructeurs sont donc obligés de proposer leurs solutions pour "combler" ce
manque. Finalement, on s'aperçoit que les couches physique et liaison de données
sont tout aussi importantes que la couche transport. Partant de là, on est en
droit de proposer un modèle hybride à 5 couches, rassemblant les points forts
des modèles OSI et TCP/IP :

Modèle hybride de référence
C'est finalement ce modèle qui sert
véritablement de référence dans le monde de l'Internet. On a ainsi gardé la
plupart des couches de l'OSI (toutes, sauf les couches session et présentation)
car correctement spécifiées. En revanche, ses protocoles n'ont pas eu de succès
et on a du coup gardé ceux de TCP/IP.
Vous pouvez poser toutes vos questions,
vos remarques et vos expériences à propos du modèle TCP-IP. Pour cela,
rendez-vous sur le
Forum
"TCP-IP".
Le 02 mai 2003, par Sylvain, dernière mise à jour.
Le xx.xx.xx, par Sylvain, création du document.
|
|