Outils pour utilisateurs

Outils du site


cours:informatique:iot:programmer_internet_des_objets:120_architecture_internet

Ceci est une ancienne révision du document !


Architecture de l'Internet

Cours “Programmer l'Internet des objets” proposé sur la plateforme FUN-MOOC par l'Institut Mines Télécom.

Protocoles de l'Internet - vidéo

Transcription de la vidéo de présentation des protocoles de l'Internet.

Vous connaissez sûrement le principe d'empilement protocolaire dans les réseaux. Chaque protocole fournit un service et se base sur celui de la couche inférieure pour le réaliser. Le modèle standard proposé par ISO définit 7 couches pour transporter les données d'une application n'importe où dans le monde. Dans la pratique, l'Internet a simplifié cette architecture, c'est pourquoi on retrouve moins de couche et que leur numéros ne sont pas contigus.

Les 2 premières couches en partant du bas permettent de transmettre les données binaires sur un support physique ou des ondes radio. Plusieurs organismes standardisent des protocoles pour ce niveau. Parmi les plus connus on peut citer l'IEE pour Ethernet, WiFi et Bluetooth. On peut également cité le 3GPP qui standardise les protocoles dédiés à la téléphonie mobile.

Chacun de ces protocoles et conçu pour fonctionner dans un environnement particulier.

Au dessus on retrouve le protocole IP standardisé par l'IETF. Il permet de construire un réseau mondial uniforme en masquant les spécificités des protocoles de niveau 2. IP définit ses règles d'adressage et de routage : c'est à dire comment trouver un chemin dans le réseau pour qu'en recopiant l'information de nœud en nœud on atteigne la destination.

Les experts de l'Internet aiment cette représentation en sablier où IP appairait en position centrale mais est plus petit comparé aux autres protocoles.

Par conception IP est très simple : à la fois pour être porté facilement sur de nombreux équipements de niveau 2 et être facilement utilisable par les couches hautes mais également pour traiter les données très rapidement dans les nœuds intermédiaires.

Au dessus on trouve 2 protocoles (TCP et UDP) qui ne sont mis en œuvre que dans les équipement d'extrémités :

  • L'adresse IP permet de trouver une machine sur le réseau ;
  • Les protocoles de niveau 4 permettent de d'identifier une application tournant sur la machine (assurant le multiplexage du canal de communication).

TCP est complexe et demande beaucoup de mémoire. Il permet entre autre de contrôler la communication, de retransmettre les données perdues, de déterminer le débit de transmission optimal.

UDP est un protocole minimal qui se contente d’aiguiller les données vers la bonne application sans contrôle du flux.

Au dessus on retrouve les applications qui selon le modèle ISO se trouvent dans la couche 7. Les applications sont très nombreuses, la plus largement répandue est HTTP qui sert à transporter les pages web et permet également des communications directes entres systèmes autonomes via les API REST)

Au niveau 3, on a à présent deux versions du protocole IP. La version 4 est la version historiquement déployée et elle a eu tellement de succès qu'il est de plus en plus difficile d'obtenir des adresses IPv4 pour les machines.

Pour permettre au réseau de continuer de fonctionner, une nouvelle version a été développée : IPv6 rend l'adressage quasi infini avec des adresses codées sur 128 bits.

IPv6 gagne peu à peu du terrain dans les usages classiques mais c'est surtout une brique essentielle pour l'IoT.

Protocoles de l'Internet

Les protocoles réseaux sont empilés les uns sur les autres, ceux du dessus utilisent les services offerts par ceux d’en dessous pour acheminer la donnée. Cela a donné lieu au modèle de référence de l’ISO qui structure les réseaux depuis les années 1970. En théorie, il y a 7 couches, mais l'internet a fait évoluer ce modèle et les numéros des couches, associés à des fonctionnalités, sont restés ; ce qui peut conduire à une numérotation étrange.

La couche 1 s’occupe de la modulation du signal binaire sur un support physique particulier (fibre optique, paire de cuivre, onde radio).

La couche 2 regroupe les mécanismes qui permettent de structurer cette donnée sous forme de bloc de taille finie appelées trames, de définir les méthodes d’accès, c’est-à-dire quand l’équipement peut émettre, et les formats des adresses utilisées pour identifier les équipements. Ethernet ou Wi-Fi sont des exemples de protocoles de niveau 2 (qui intègrent leur niveau 1).

Ces deux couches basses sont regroupées sous le nom d'Interface sur le schéma. Elles sont normalisées par différents organismes comme :

  • l’IEEE (Institute of Electrical and Electronics Engineers) qui propose des standards comme Ethernet pour les réseaux filaires ou Bluetooth et Wifi pour les réseaux radio ;
  • le 3GPP (3rd Generation Partnership Project) qui opère au même niveau et définit les protocoles pour la téléphonie cellulaire (4G) ;

Les concepteurs de l’internet insistent sur le fait que le protocole en couche 3 qui joue ce rôle central, IP 1), a une interaction limitée avec aussi bien les couches basses qu’avec les protocoles de niveau supérieur ; d'où la représentation en sablier de l'image ci-dessous.

Le protocole IP s’adapte simplement à tout moyen de communication. IP propose ainsi une abstraction des moyens de communication aux couches applicatives, rendant l’accès au réseau et l’adressage universels. Le traitement dans les routeurs (équipements chargés d’aiguiller l’information dans le réseau) doit être le plus rapide possible pour traiter un maximum de paquets par seconde. De plus, IP ne spécialise pas le réseau pour un service ou un autre ; il ne fait qu’aiguiller les paquets vers la bonne destination. Le réseau Internet est un réseau mondial construit autour de ce protocole permettant potentiellement d'atteindre tous les équipements qui y sont connectés.

Si le niveau 3 permet de joindre une machine, le niveau 4 va permettre d’identifier l'application qui doit traiter les données. Les “adresses” de ces applications sont des numéros compris entre 1 et 65535 appelés ports. Par exemple, les serveurs Web utilisent le port numéro 80 ou le numéro 443. Le protocole TCP va surveiller les données transférées et sera capable de retransmettre des données perdues, ralentir ou accélérer le transfert de données s’il détecte une saturation du réseau. En revanche, sa mise en œuvre est complexe et coûteuse en mémoire. Dans les cas simple, UDP est préféré ; il n'apporte pas de traitement supplémentaire et se contente d'identifier les applications.

Dans le modèle architectural de l'internet, les applications (couche 7) utilisent directement les services de la couche 4, d'où le saut dans la numérotation.

Pour le grand public, l’internet désigne surtout la totalité de cet assemblage protocolaire et est souvent confondu avec l’application qui a démocratisé son usage : le Web. C'est vrai également pour les techniciens, le trafic produit par le Web est largement majoritaire dans l'Internet.

La figure suivante résume cet empilement protocolaire, ou pile protocolaire, majoritaire dans l'internet actuel.

Il existe deux versions du protocole IP. La version 4 ou IPv4 est la version historique largement déployée. Pour faire face à la pénurie d'adresse IPv4 sur 32 bits, l'IETF a développé une nouvelle version du protocole IPv6 qui reprend les principes qui ont fait le succès de l'internet, mais en étendant son adressage à 128 bits. Cette version, si elle est encore peu déployée dans l'internet des contenus, va être à la base de l'internet des objets qui demande un très grand nombre d'adresses.

Le Web utilise majoritairement le protocole HTTP. Et comme HTTP repose sur TCP, ces deux protocoles sont dominants sur le réseau. Les données transportées respectent également des formats spécifiques qui sont représentés en rose sur la figure.

Sur le graphique, au dessus de la couche 7, on représente comment les données transportées sont structurées avec des formats comme XML ou JSON.

REpresentational State Transfert - video

Representational State Transfert

1)
Internet Protocol
cours/informatique/iot/programmer_internet_des_objets/120_architecture_internet.1683624026.txt.gz · Dernière modification : 2023/05/09 09:20 de yoann