Réseaux, Internet et le Web

Les réseaux

Un réseau informatique est un ensemble d’équipements reliés entre eux pour échanger des informations. Par analogie avec un filet, on appelle nœud (node) l’extrémité d’une connexion, qui peut être une intersection de plusieurs connexions (un ordinateur, un routeur, un concentrateur, un commutateur).

reseau

Figure 1 A,B,C,D,E, F, G et H sont des nœuds

Les protocoles de communication définissent de façon formelle et interopérable la manière dont les informations sont échangées entre les équipements du réseau. Des logiciels dédiés à la gestion de ces protocoles sont installés sur les équipements d’interconnexion que sont par exemple les commutateurs réseau (switch), les routeurs, les commutateurs téléphoniques, les antennes GSM, etc. Les fonctions de contrôle ainsi mises en place permettent une communication entre les équipements connectés.

Le protocole probablement le plus répandu est IP pour ses fonctions UDP et TCP. La première permet l’envoi de données d’une manière non sécurisée (UDP ne prévient pas l’équipement émetteur si les données ont été reçues ou pas) : il est le plus souvent employé dans des applications temps-réel comme la transmission de parole (où un correspondant peut demander à l’autre de répéter un message incompréhensible). L’autre permet au contraire une transmission fiable des données (TCP garantit chaque extrémité d’un canal de communication qu’une information envoyée a bien été reçue ou alors prévient cette extrémité du problème après plusieurs essais infructueux).

Modèle en couches :

La communication passe par un ensemble de couches empilées:

chaque couche a un rôle précis (conversion, routage, découpage, vérification…)

chaque couche dialogue avec la couche juste au-dessus et celle juste au-dessous. Elle

fournit des services à la couche au-dessus, et utilise les services de la couche en-dessous.

chaque couche encapsule les données venant de la couche du dessus en y ajoutant ses propres informations avant de le passer à la couche du dessous (et opération inverse dans l’autre sens).

Le modèle OSI

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

Le modèle comporte sept couches.

OSI

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 bit continu (notamment pour les supports synchrones).
  2. La couche « liaison de données » gère les communications entre deux machines adjacentes, directement reliées entre elles par un support physique.
  3. La couche « réseau » gère les communications de proche en proche, généralement entre machines : routage et adressage des paquets.
  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.

TCP/IP

Le modèle TCP/IP (appelé aussi modèle Internet), qui date de 1976, a été stabilisé bien avant la publication du modèle OSI en 1984. Il présente aussi une approche modulaire (utilisation de couches) mais en contient uniquement quatre (voir schéma ci-contre).

Aujourd’hui, c’est le modèle TCP/IP, plus souple, qui l’emporte sur le marché. Le modèle OSI, plus rigoureux, est principalement utilisé pour certaines applications critiques, ou pour ses fonctionnalités permettant de garantir une qualité de service.

TCP/IP

Encapsulation des données/IP

Lors d’une transmission, les données traversent chacune des couches au niveau de la machine émettrice. A chaque couche, une information est ajoutée au paquet de données, il

s’agit d’un en-tête, ensemble d’informations qui garantit la transmission. Au niveau de la machine réceptrice, lors du passage dans chaque couche, l’en-tête est lu, puis supprimé. Ainsi, à la réception, le message est dans son état originel.Here

Internet

ARPANET ou Arpanet (acronyme anglais de « Advanced Research Projects Agency Network ») est le premier réseau à transfert de paquets développé aux États-Unis par la DARPA. Le projet fut lancé en 19662, mais ARPANET ne vit le jour qu’en 1969. Sa première démonstration officielle date d’octobre 1972. ARPANET a été écrit par le monde universitaire et non militaire, ce qui a probablement influencé l’Internet que l’on connait aujourd’hui.

Internet est le réseau informatique mondial qui rend accessibles au public des services comme le courrier électronique et le World Wide Web. Techniquement, Internet se définit comme le réseau public mondial utilisant le protocole de communication IP (Internet Protocol).

Internet ayant été popularisé par l’apparition du World Wide Web au début des années 1990, les deux sont parfois confondus par le public non averti. Le Web est une des applications d’Internet, comme le sont le courrier électronique, la messagerie instantanée et les systèmes de partage de fichiers poste à poste. L’accès à Internet peut être réalisé auprès d’un Fournisseur d’accès (FAI) via divers moyens de télécommunication.

Technique

Internet est composé d’une multitude de réseaux répartis dans le monde entier. Chaque réseau est rattaché à une entité propre (université, fournisseur d’accès à Internet, armée) et se voit attribuer un identifiant unique appelé Autonomous System (AS). Afin de pouvoir communiquer entre eux, les réseaux s’échangent des données, soit en établissant une liaison directe, soit en se rattachant à un nœud d’échange (point de peering).

Chaque réseau est donc connecté à plusieurs autres réseaux. Lorsqu’une communication doit s’établir entre deux ordinateurs appartenant à des AS différents, il faut alors déterminer le chemin à effectuer parmi les réseaux. Aucun élément d’Internet ne connaît le réseau dans son ensemble, les données sont simplement redirigées vers un autre nœud selon des règles de routage.

Protocoles

Internet fonctionne suivant un modèle en couches. Les éléments appartenant aux mêmes couches utilisent un protocole de communication pour s’échanger des informations.

Un protocole est un ensemble de règles qui définissent un langage afin de faire communiquer plusieurs ordinateurs. Chaque protocole a des indications particulières et, ensemble, ils fournissent un éventail de moyens permettant de répondre à la multiplicité et à la diversité des besoins sur Internet. Les principaux sont les suivants :

  • IP (Internet Protocol) : protocole réseau qui définit le mode d’échange élémentaire entre les ordinateurs participants au réseau en leur donnant une adresse unique sur le réseau.
  • TCP : responsable de l’établissement de la connexion et du contrôle de la transmission. C’est un protocole de remise fiable. Il s’assure que le destinataire a bien reçu les données.
  • HTTP (HyperText Transfer Protocol) : protocole mis en œuvre pour le chargement des pages web
  • HTTPS : pendant du HTTP pour la navigation en mode sécurisé.
  • FTP (File Transfer Protocol) : protocole utilisé pour le transfert de fichiers sur Internet.
  • SMTP (Simple Mail Transfer Protocol) : mode d’échange du courrier électronique en envoi.
  • POP3 (Post Office Protocol version 3) : mode d’échange du courrier électronique en réception.
  • IMAP (Internet Message Access Protocol) : un autre mode d’échange de courrier électronique.
  • IRC (Internet Relay Chat) : protocole de discussion instantanée.
  • NNTP (Network News Transfer Protocol) : protocole de transfert de message utilisé par les forums de discussion Usenet
  • SSL : protocoles de transaction sécurisée, utilisés notamment pour le paiement sécurisé.
  • DNS (Domain Name System) : système de résolution de noms Internet.

Circulation de l’information

Dans un réseau, l’information qui circule est découpée en unités élémentaires appelées paquets. Il s’agit d’une suite d’octets suffisamment courte pour pouvoir être communiquée sous forme numérique et sans erreur.

Dans le cas d’Internet, le format des paquets est spécifié par l’Internet Protocol. On parle donc de paquets IP. Quand on récupère un fichier par exemple, son contenu est découpé en petits morceaux inclus dans une multitude de paquets IP qui transitent sur le réseau. Chaque paquet circule indépendamment des autres. Pour cela, il contient un en-tête indiquant entre autres quelle est la destination du paquet. Le protocole IP spécifie que cette destination est identifiée par une suite de 4 octets : son adresse IP (chaque octet est généralement lu comme un nombre entre 0 et 255).

Voici ci-dessous le format de l’en-tête d’un paquet IP, tel que spécifié au bit près dans le standard RFC 791. La première ligne indique la signification des quatre premiers octets du paquet (soit 32 bits), la deuxième, celle des quatre suivants et ainsi de suite. Le reste du paquet est constitué par les données qui transitent dans le paquet (typiquement de l’ordre de 1000 octets).

Circulation de l’information

Dans un réseau, l’information qui circule est découpée en unités élémentaires appelées paquets. Il s’agit d’une suite d’octets suffisamment courte pour pouvoir être communiquée sous forme numérique et sans erreur.

Dans le cas d’Internet, le format des paquets est spécifié par l’Internet Protocol. On parle donc de paquets IP. Quand on récupère un fichier par exemple, son contenu est découpé en petits morceaux inclus dans une multitude de paquets IP qui transitent sur le réseau. Chaque paquet circule indépendamment des autres. Pour cela, il contient un en-tête indiquant entre autres quelle est la destination du paquet. Le protocole IP spécifie que cette destination est identifiée par une suite de 4 octets : son adresse IP (chaque octet est généralement lu comme un nombre entre 0 et 255).

Voici ci-dessous le format de l’en-tête d’un paquet IP, tel que spécifié au bit près dans le standard RFC 791. La première ligne indique la signification des quatre premiers octets du paquet (soit 32 bits), la deuxième, celle des quatre suivants et ainsi de suite. Le reste du paquet est constitué par les données qui transitent dans le paquet (typiquement de l’ordre de 1000 octets).

 

On voit qu’outre l’adresse IP de la destination (cinquième ligne), un paquet IP contient aussi celle de la source (quatrième ligne) et bien d’autres champs comme la version du protocole (quatre premiers bits de la première ligne). La version présentée ici (la plus courante à l’heure actuelle) est la version 4 (IPv4). Tout paquet IPv4 commence par les bits 0100, soit 4 en binaire.

À l’intérieur d’un réseau

Comment les paquets ainsi formés circulent-ils dans un réseau ? Un réseau est constitué de routeurs et de liens de communication. Les liens relient les routeurs entre eux à la manière de routes entre les villes d’un pays. Plus précisément, un routeur est une sorte d’aiguilleur qui possède des liens avec d’autres routeurs. Chaque lien est branché au routeur via une interface. La principale activité d’un routeur consiste à… router des paquets.

Toute machine reliée à un des routeurs du réseau peut ainsi communiquer avec toute autre machine reliée à un routeur du réseau. Les machines qui sont ainsi mises en relation par un réseau sont appelées des hôtes.

Entre les réseaux

Comment les paquets circulent-ils d’un réseau à un autre ? Les hôtes sont généralement reliés à un réseau local. Pour chaque réseau local, un routeur appelé passerelle relie ce réseau avec l’internet. La seule décision de routage prise par un hôte est d’envoyer un paquet, soit directement à la destination si elle se trouve dans le réseau local, soit à la passerelle sinon.

Tous les routeurs d’un réseau sont gérés par la même organisation. Ils sont reliés entre eux, et savent acheminer des paquets entre eux. Certains des routeurs du réseau peuvent avoir des liens vers des routeurs d’autres réseaux, appelons-les des routeurs frontière (border gateway). Le monde des destinations, vu d’un routeur d’Internet, se sépare donc en deux populations, les destinations qui sont accessibles sans sortir de son propre réseau d’une part, et celles qui sont en dehors de ce réseau d’autre part.

Internet est constitué par un empilement hiérarchique de réseaux.

Représentation schématique de la structure d’Internet.

Le réseau F est par exemple connecté par sa passerelle au réseau E, qui est lui-même un sous-réseau du système autonome A. Le réseau F pourrait par exemple être le réseau Wifi d’un particulier dont le modem ADSL f (qui fait aussi routeur Wifi) est relié à un routeur e de son fournisseur d’accès à Internet. Ce routeur e fait partie du réseau national E de son fournisseur qui possède une connexion directe avec un système autonome A internationalement connecté.

Les routeurs des systèmes autonomes possèdent des sortes de méta-tables de routage qui indiquent pour une adresse IP comment atteindre le système autonome où se trouve la destination possédant cette adresse. Plus précisément, chacun de ces routeurs connaît la suite de systèmes autonomes qu’il va falloir traverser pour atteindre la destination. Pour cela, tout routeur frontière connecté au routeur frontière d’un autre système autonome échange avec lui des informations sur les

adresses IP gérées par tel ou tel système autonome et sur les interconnexions entre système autonomes selon le protocole de routage BGP (pour « Border Gateway Protocol »).

L’acheminement d’un paquet IP se fait donc généralement ainsi :

  1. le paquet remonte la hiérarchie de réseau jusqu’à un routeur du système autonome de la source,
  2. il transite ensuite de système autonome en système autonome jusqu’à celui de la destination,
  3. il descend la hiérarchie jusqu’à la passerelle en charge du réseau local de la destination, cette passerelle l’envoie à la destination.

    Les réseaux pair-à-pair (peer to peer, P2P)

    Les systèmes pair-à-pair permettent à plusieurs ordinateurs de communiquer via un réseau, de partager simplement des objets – des fichiers le plus souvent, mais également des flux multimédia continus (streaming), le calcul réparti, un service (comme la téléphonie avec Skype), etc. sur Internet.

    Le pair-à-pair a permis une décentralisation des systèmes, auparavant basés sur quelques serveurs, en permettant à tous les ordinateurs de jouer le rôle de client et serveur (voir client- serveur). En particulier, les systèmes de partage de fichiers permettent de rendre les objets d’autant plus disponibles qu’ils sont populaires, et donc répliqués sur un grand nombre de nœuds. Cela permet alors de diminuer la charge (en nombre de requêtes) imposée aux nœuds partageant les fichiers populaires, ce qui facilite l’augmentation du nombre de nœuds et donc de fichiers dans le réseau.

    Un réseau de type client-serveur. Un réseau pair-à-pair.

    L’utilisation d’un système pair-à-pair nécessite pour chaque nœud l’utilisation d’un logiciel particulier. Ce logiciel, qui remplit alors à la fois les fonctions de client et de serveur, est parfois appelé « servent » (de la contraction de « serveur » et de « client », due à Gnutella), ou plus communément mais de façon réductrice, « client ». C’est là l’origine du terme pair (de l’anglais : peer) que l’on trouve dans pair-à-pair : les communications et les échanges se font entre des nœuds qui ont la même responsabilité dans le système.

    Le modèle pair-à-pair va bien plus loin que les applications de partage de fichiers. Il permet en effet de décentraliser des services et de mettre à disposition des ressources dans un réseau. Tout nœud d’un réseau pair-à-pair peut alors proposer des objets et en obtenir sur le réseau. Les systèmes pair-à-pair permettent donc de faciliter le partage d’informations. Ils rendent aussi la censure ou les attaques légales ou pirates plus difficiles. Ces atouts font des systèmes pair-à-pair des outils de choix pour décentraliser des services qui doivent assurer une haute disponibilité tout en permettant de faibles coûts d’entretien. Toutefois, ces systèmes sont plus complexes à concevoir que les systèmes client-serveur.

    Applications

    Chaque internaute est un pair du réseau et les ressources sont des fichiers. Chacun peut donc partager ses fichiers et télécharger les fichiers des autres. Ces systèmes s’avèrent très efficaces y compris quand il s’agit d’échanger des données de gros volumes.

    Une seconde application destinée au grand public ou à la recherche est la possibilité pour les internautes de mettre à disposition une partie de leur puissance de calcul. Les ordinateurs d’aujourd’hui sont tellement puissants que la majeure partie du temps, une grande partie de leur processeur est disponible pour effectuer des calculs. Le projet BOINC a saisi cette opportunité pour créer un gigantesque parc informatique réparti dans le monde afin d’utiliser cette immense puissance de calcul totale pour effectuer des calculs trop complexes pour être réalisé dans un laboratoire. Le projet BOINC demande donc au particulier de permettre l’usage de la puissance de calcul dont il n’a pas immédiatement besoin pour contribuer à la recherche sur le repliement de protéine (Folding@Home) et même à la recherche d’intelligence extra-terrestre (SETI@home).

    L’informatique dans les nuages

    L’« informatique dans les nuages » (cloud computing) est un concept apparu assez récemment, mais dont les prémices remontent à quelques années, notamment à la technologie des grilles de calcul, utilisée pour le calcul scientifique. Le cloud computing fait référence à l’utilisation de la mémoire et des capacités de calcul des ordinateurs et des serveurs répartis dans le monde entier, et liés par un réseau, tel Internet. Cela signifie pour les utilisateurs, qu’ils accèdent à leurs applications et données sur des serveurs distants et non plus sur leurs propres machines. Dans ce concept, les utilisateurs n’ont plus à se soucier des aspects techniques (infrastructures, déploiement, mises à jour…). Les utilisateurs du nuage peuvent ainsi disposer d’une puissance informatique considérable.

    L’intérêt du cloud computing est évident. Au lieu d’acheter cher des serveurs et des logiciels, qui ne sont pas utilisés à 100 %, les entreprises les louent et ne paient que pour l’usage qu’elles en font. Elles peuvent aussi, en quelques minutes, accéder à des capacités de stockage et de calcul supplémentaires, auxquelles elles n’auraient pas pu prétendre si elles avaient dû se les payer seules.

    Il est fort probable que vous utilisez déjà le cloud computing sans vous en rendre compte : Gmail, Flickr ou Spotify sont des services auxquels vous avez accès via Internet et où vous stockez des données. C’est exactement le principe du cloud computing.

    Avantages

    • L’accessibilité : vos données sont sur un serveur, consultables à n’importe moment et où que vous soyez via une connexion
    • Partage et travail collaboratif : vous pouvez également partager vos ressources et permettre ainsi un travail à plusieurs (pae exemple Google Docs).
    • Économique : votre prestataire gère complètement les aspects techniques du service et des coûts engendrés. Pour une entreprise, cela se traduit par exemple par la disparition de mises à jour pour chaque poste, car réalisées côté serveur. Homogénéisation des versions et gain de

    Inconvénients

    • Connexion Internet obligatoire : sans celle-ci, inutile d’espérer pouvoir accéder à vos ressources. C’est un réel frein lorsqu’on sait qu’en pleine campagne par exemple, le Wi- Fi devient rare et la 3G difficile à
    • Transportabilité des données : vos données sont-elles « prisonnières » du service auxquelles elles sont liées ? Comment récupérer nos données en cas de fermeture d’un service ?
    • Sécurité et intégrité des données : le sujet est loin d’être simple et mérite des études approfondies. En regroupant vos ressources sur Internet vous perdez, une partie du contrôle sur celles-ci. Dès lors que vos données, même chiffrées, transitent sur Internet, le risque de piratage est bien plus présent que sur une utilisation

    Deux exemples récents de pertes de données utilisateurs en cloud computing prouvent que le sujet est encore préoccupant. Toutes les données (contacts, agenda, photos, etc) d’utilisateurs du téléphone Sidekick (de l’opérateur T-mobile) se sont envolées suite à une opération de maintenance ratée par Microsoft. Autre exemple, un service en ligne de sauvegardes, Carbonite, a perdu les données d’une cinquantaine de clients, à cause d’une défaillance matériel. Il est donc primordial de prendre conscience des limites que le cloud computing impose.

    Les avis divergent sur l’intérêt du cloud computing. D’un côté, les révolutionnaires vénèrent le principe et voient le futur sur un petit nuage. Un avenir mutualisé et sans cesse connecté à la Toile. De l’autre, les méfiants qui le redoutent et font des inconvénients cités ci-dessus leur argumentaire d’anti-cloud. Trop risqué et trop fragile, ce n’est pas un concept viable.

    Pour Richard Stallman, à l’origine du système d’exploitation libre GNU, l’informatique dans le nuage « est un piège », ses utilisateurs perdant le contrôle de leurs applications. Ce militant du logiciel libre y voit un concept publicitaire sans intérêt, rejoignant les critiques exprimées par Larry Ellison, fondateur d’Oracle, selon lequel il s’agit d’un phénomène de mode.