Accueil |

Suite des protocoles internet

La suite des protocoles Internet est l'ensemble des protocoles qui constituent la pile de protocoles utilisée par Internet. Elle est souvent appelée TCP/IP, d'après le nom de deux de ses protocoles : TCP (Transmission Control Protocol) et IP (Internet Protocol), qui ont été les premiers à  être définis. Le document de référence sur ce sujet est le RFC 1122, que l'on peut trouver ici : http://www.ietf.org/rfc/rfc1122.txt.

Le modèle OSI, qui décompose les différents protocoles d'une pile en 7 couches, peut être utilisé pour décrire la suite de protocoles Internet, bien que les couches du modèle OSI ne correspondent pas toujours avec les habitudes d'Internet. Dans une pile de protocoles, chaque couche résoud un certain nombre de problèmes relatifs à  la transmission de données, et fournit des services bien définis aux couches supérieures. Les couches hautes sont plus proches de l'utilisateur et gèrent des données plus abstraites, en utilisant les services des couches basses qui mettent en forme ces données afin qu'elles puissent être émises sur un medium physique.

Le modèle Internet a été créé afin de répondre à  un problème pratique, alors que le modèle OSI correspond à  une approche plus théorique, et a été développé plus tà´t dans l'histoire des réseaux. Le modèle OSI est donc plus facile à  comprendre, mais le modèle TCP/IP est le plus utilisé en pratique. Il est préférable d'avoir une connaissance du modèle OSI avant d'aborder TCP/IP, car les mêmes principes s'appliquent, mais sont plus simples à  comprendre avec le modèle OSI.

Sommaire
1 Couches dans la pile TCP/IP
2 Implémentations
3 Liens externes

Couches dans la pile TCP/IP

Comme les suites de protocoles TCP/IP et OSI ne correspondent pas exactement, toute définition des couches de la pile TCP/IP peut être sujette à  discussion.

En outre, le modèle OSI n'offre pas une richesse suffisante au niveau des couches basses pour représenter la réalité ; il est nécessaire d'ajouter une couche supplémentaire d'interconnexion de réseaux (Internetworking) entre les couches Transport et Réseau. Les protocoles spécifiques à  un type de réseau particulier, mais qui fonctionnent au dessus de la couche de liaison de données, devraient appartenir à  la couche réseau. ARP, et STP (qui fournit des chemins redondants dans un réseau tout en évitant les boucles) sont des exemples de tels protocoles. Toutefois, ce sont des protocoles locaux, qui opèrent au-dessous de la fonction d'interconnexion de réseaux ; placer ces deux groupes de protocoles (sans parler de ceux qui fonctionnent au-dessus du protocole d'interconnexion de réseaux, comme ICMP) dans la même couche peut prêter à  confusion.

Le schéma qui suit essaie de montrer o๠se situent divers protocoles de la pile TCP/IP dans le modèle OSI :
7 Application e.g. HTTP, SMTP, SNMP, FTP, Telnet, NFS
6 Présentation e.g. XDR, ASN.1, SMB, AFP
5 Session e.g. ISO 8327 / CCITT X.225, RPC, NetBIOS, ASP
4 Transport e.g. TCP, UDP, RTP, SPX, ATP
3 Réseau e.g. IP, ICMP, IGMP, X.25, CLNP, ARP, OSPF, RIP, IPX, DDP
2 Liaison e.g. Ethernet, Token ring, PPP, HDLC, Frame relay, RNIS, ATM
1 Physique e.g. électronique, radio, laser

Habituellement, les trois couches supérieures du modèle OSI (Application, Présentation et Session) sont considérées comme une seule couche Application dans TCP/IP. Comme TCP/IP n'a pas de couche session unifiée sur laquelle les couches plus élevées peuvent s'appuyer, ces fonctions sont généralement remplies par chaque application (ou ignorées). Une version simplifiée de la pile selon le modèle TCP/IP est présentée ci-après :
Application
"couche 7"
e.g. HTTP, FTP, DNS
(les protocoles de routage comme RIP, qui pour des raisons obscures fonctionne au-dessus d'UDP, peuvent aussi être considérés comme faisant partie de la couche réseau)
4 Transport e.g. TCP, UDP, RTP
(les protocoles de routage comme OSPF, qui fonctionne au-dessus d'IP, peuvent aussi être considérés comme faisant partie de la couche réseau)
3 Réseau Pour TCP/IP il s'agit de IP
(les protocoles requis comme ICMP et IGMP fonctionnent au-dessus d'IP, mais peuvent quand même être considérés comme faisant partie de la couche réseau ; ARP ne fonctionne pas au-dessus d'IP)
2 Liaison e.g. Ethernet, Token ring, etc.
1 Physique e.g. réseau physique, et techniques de codage

La couche physique

La couche physique décrit les caractéristiques physiques de la communication, comme les conventions à  propos de la nature du medium utilisé pour les communications (les cà¢bles, les liens par fibre optique ou par radio), et tous les détails associés comme les connecteurs, les types de codage ou de modulation, le niveau des signaux, les longueurs d'ondes, la synchronisation et les distances maximales.

La couche de liaison de données

La
couche de liaison de données spécifie comment les paquets sont transportés sur la couche physique, et en particulier le tramage (i.e. les séquences de bits particulières qui marquent le début et la fin des paquets). Les en-têtes des trames Ethernet, par exemple, contiennent des champs qui indiquent à  quelle(s) machine(s) du réseau un paquet est destiné. Exemples de protocoles de la couche de liaison de données : Ethernet, Wireless Ethernet, SLIP, Token Ring et ATM.

PPP est un peu plus complexe, car il a été initialement spécifié pour fonctionner au-dessus d'un autre protocole de liaison de données, HDLC/SDLC.

Cette couche est parfois subdivisée en LLC et MAC.

La couche réseau

Dans sa définition d'origine, la couche de réseau résout le problème de l'acheminement de paquets à  travers un seul réseau. Exemples de protocoles de ce type : X.25, et le Initial Connection Protocol d'ARPANET.

Avec l'avènement de la notion d'interconnexion de réseaux, des fonctions additionnelles ont été ajoutées à  cette couche, et plus spécialement l'acheminement de données depuis un réseau source vers un réseau destinataire. Ceci implique généralement le routage des paquets à  travers un réseau de réseaux, connu sous le nom d'Internet. Dans la suite de protocoles Internet, IP assure l'acheminement des paquets depuis une source vers une destination, et supporte aussi d'autres protocoles, comme ICMP (utilisé pour transférer des messages de diagnostic liés aux transmissions IP) et IGMP (utilisé pour gérer les données multicast). ICMP et IGMP sont situés au-dessus d'IP, mais assurent des fonctions de la couche réseau, ce qui illustre l'incompatibillité entre les modèles Internet et OSI.

La couche réseau IP peut transférer des données pour de nombreux protocoles de plus haut niveau. Ces protocoles sont identifiés par un numéro de protocole IP (IP Protocol Number) unique. ICMP et IGMP sont respectivement les protocoles 1 et 2.

La couche transport

Les protocoles de la couche de transport peuvent résoudre des problèmes comme la fiabillité des échanges ("est-ce que les données sont arrivées à  destination ?") et assurer que les données arrivent dans l'ordre correct. Dans la suite de protocoles TCP/IP, les protocoles de transport déterminent aussi à  quelle application chaque paquet de données doit être délivré.

Les protocoles de routage dynamique qui se situent réellement dans cette couche de la pile TCP/IP (puisqu'ils fonctionnent au-dessus d'IP) sont généralement considérés comme faisant partie de la couche réseau. Exemple : OSPF (protocole IP numéro 89).

TCP (protocole IP numéro 6) est un protocole de transport "fiable", orienté connexion, qui fournit un flux d'octets fiable assurant l'arrivée des données sans altérations et dans l'ordre, avec retransmission en cas de perte, et élimination des données dupliquées. Il gère aussi les données "urgentes" qui doivent être traîtées dans le désordre (même si techniquement, elles ne sont pas émises hors bande). TCP essaie de délivrer toutes les données correctement et en séquence - c'est sont but et son principal avantage sur UDP, même si ça peut être un désavantage pour des applications de transfert ou de routage de flux en temps-réel, avec des taux de perte élevées au niveau de la couche réseau.

UDP (protocole IP numéro 17) est un protocole simple, sans connexion, "non fiable" - ce qui ne signifie pas qu'il est particulièrement peu fiable, mais qu'il ne vérifie pas que les paquets sont arrivés à  destination, et ne garantie pas leur arrivée dans l'ordre. Si une application a besoin de ces garanties, elle doit les assurer elle-même, ou bien utiliser TCP. UDP est généralement utilisé par des applications de diffusion multimédia (audio et vidéo, etc) pour lesquelles le temps requis par TCP pour gérer les retransmissions et l'ordonnancement des paquets n'est pas disponible, ou pour des applications basées sur des mécanismes simples de question/réponse comme les requêtes DNS, pour lesquelles le surcoà»t lié à  l'établissement d'une connexion fiable serait disproportionné au besoin.

Aussi bien TCP qu'UDP sont utilisés par de nombreuses applications. Les applications situées à  une quelconque adresse réseau se distinguent par leur numéro de port TCP ou UDP. Par convention, des ports biens connus sont associés avec certaines applications spécifiques.

RTP (Real Time Protocol) est un protocole" fonctionnant avec UDP ou TCP, spécialisé dans le transport de données possédant des contraintes temps réel. Typiquement, il sert à  transporter des vidéos pour que l'on puisse synchroniser la lecture des images et du son directement, sans les stocker préalablement.

La couche application

C'est dans la couche application que se situent la plupart de programmes réseau.

Ces programmes et les protocoles qu'ils utilisent incluent HTTP (World Wide Web), FTP (transfert de fichiers), SMTP (messagerie), SSH (connexion à  distance sécurisée), DNS (recherche de correspondance entre noms et adresses IP) et beaucoup d'autres.

Les applications fonctionnent généralement au-dessus de TCP ou d'UDP, et sont souvent associées à  un port bien connu. Exemples :

Ces ports ont été assignés par l'Internet Assigned Numbers Authority.

Sous UNIX, on trouve un fichier texte sert à  faire les correspondances port<->protocol: /etc/services

N'hésitez pas à  en ajouter à  la liste : Auth, BOOTP, BOOTPS, DHCP, Echo, Finger, FTP, Gopher, HTTPS, IRC, IMAP, IMAPS, Kerberos, QOTD, Netbios, NNTP, POP, POPS, RTSP, NTP, SFTP, SNMP, Telnet, TFTP, Webster, Whois, XDMCP.

Implémentations

Liens externes