Le concept d'Internet est né de cette fusion de deux types de réseaux bien distincts à l'origine. Comme son nom le suggère, il s'agit en effet de l'immense toile progressivement tissée par l'interconnexion anarchique d'une multitude de réseaux informatiques plus ou moins indépendants à l'aide de lignes louées aux opérateurs de télécommunication, même si celles-ci étaient à l'origine prévues pour la téléphonie analogique.

Au premier jour, il existait deux mondes disjoints:
• celui de l'informatique, par définition le domaine du traitement de l'information, constitué d'ordinateurs de divers types et marques, utilisant des logiciels propriétaires pour le traitement de données codées dans des formats propres aux constructeurs;
• celui des télécommunications, régi par l'organisation mondiale répondant au doux nom de CCITT, dont la problématique était de gérer les communications téléphoniques locales ou internationales à l'aide d'un système de commutation (switching) normalisé.

Durant les années 70, le besoin d'échanger des données entre ordinateurs se fit de plus en plus pressant: certes, le stockage de ces données sur bande magnétique sur un ordinateur, suivi d'une relecture sur un autre était une façon de résoudre un problème, mais la connexion directe à travers un câble de couplage apparut de plus en plus comme la voie d'avenir, surtout lorsque les données devaient être distribuées rapidement entre plusieurs ordinateurs. Ainsi naquit la notion de réseau informatique local (LAN: Local Area Network).

Très longtemps et jusqu'à récemment, chaque constructeur ne fournissait qu'une solution propriétaire fermée pour ces besoins de communication: deux ordinateurs de marque Digital pouvaient communiquer par DECnet pendant que deux ordinateurs IBM échangeaient des données via SNA, mais le passage entre le monde DEC et le monde IBM ne pouvait se faire qu'à travers des passerelles très lourdes et peu fiables.

D'autre part, l'arrivée des machines individuelles PC et Apple fut à l'origine durant les années 80 d'une nouvelle génération de réseaux informatiques locaux propres à ces technologies: LanManager ou Novell pour les PC, PhoneNet puis AppleTalk pour les Mac...

A nouveau, la connexion avec les machines hôtes, que l'on n'appelait pas encore serveur, ou entre réseaux différents de machines individuelles ne pouvait se faire qu'à travers des passerelles bien peu pratiques et n'autorisant que des fonctions simples: échange de fichiers de données, puis de texte. Ainsi apparurent les premiers protocoles de courrier électronique, soit l'échange direct d'informations textuelles entre utilisateurs de divers systèmes informatiques.

Le besoin suivant fut de permettre une communication directe entre universités ou entre branches d'entreprises géographiquement dispersées. Au départ, une seule solution pour cela: l'utilisation de lignes téléphoniques à l'aide de modems. Ceux-ci permettent en effet le transfert par signaux analogiques d'informations numériques émises d'un côté de la ligne par un ordinateur et reçues de l'autre côté par un autre ordinateur, avec évidemment des vitesses de transmission assez réduites.

Cette situation allait s'améliorer considérablement avec la généralisation durant les années 90 des techniques numériques en téléphonie, en particulier celle de la commutation par paquets (X.25). Celle-ci permet en effet d'optimiser l'utilisation de la bande passante, puisqu'elle permet de partager la même ligne entre plusieurs communications individuelles (multiplexage). D'autres progrès suivirent alors rapidement: les lignes purement numériques de type RNIS (Réseau Numérique à Intégration de Service), le remplacement des câbles coaxiaux en cuivre par la fibre optique, qui permet un très haut débit de transmission avec une grande fiabilité, et l'utilisation de plus en plus intensive des satellites pour les communications intercontinentales.

A ce point de notre histoire, réseaux informatiques et réseaux de communications, désormais numériques eux aussi, ont pratiquement fusionné. La preuve: on ne parle plus désormais que des services sur LE réseau, qui constituent la télématique d'aujourd'hui. Mais, si vous avez bien suivi l'exposé, ceci n'est a priori vrai qu'au niveau physique du transport d'information numérique, sous forme de bits et d'octets. Par quel miracle les informations macroscopiques peuvent-elles être interprétées correctement par virtuellement tous les ordinateurs de la planète bleue, et restituées sous forme de texte, images, son ou vidéo de façon compréhensible pour leurs utilisateurs?

L'Internet Protocol

Pour comprendre cela, il nous faut à nouveau remonter dans le temps, à notre point de départ des années 70. A cette époque, dans les universités américaines, des chercheurs mandatés par le Département de la Défense mettaient au point des méthodes permettant de maintenir des communications numériques en permanence sur toute la surface de la planète, même en cas de conflit nucléaire ou de cataclysme naturel.

Unix étant le système en vogue à cette époque dans les milieux de la recherche, c'est sur ce type de système que fut donc d'abord développé le protocole IP (Internet Protocol), qui est fondamentalement une méthode d'adressage et de "routage" de paquets d'information numérique: comme à la poste, l'information proprement dite est enrobée d'une enveloppe où sont codées les adresses d'expédition et de destination, ainsi que le type de contenu; l'enveloppe est envoyée vers un premier bureau de poste (un router en l'occurrence) qui la réexpédie vers un second bureau choisi sur la base de l'adresse; et ainsi de suite de proche en proche jusqu'au destinataire final. Avantage de la méthode: si un des bureaux de poste intermédiaires est fermé ou détruit, une autre route peut être choisie. Il faudra sans doute plus longtemps pour que l'enveloppe arrive, mais elle arrivera.

Le protocole IP suppose que chaque machine potentiellement partenaire dans les échanges de paquet, y compris les routers, est identifiée univoquement par une adresse, composée de quatre champs numériques. Par exemple, l'adresse IP du PC sur lequel cet article a été écrit est: 128.178.1.225.

La première partie (128.178) indique que ce PC est connecté au réseau appartenant à l'EPFL. La coordination d'attribution d'adresses de réseau se fait sur un plan mondial. La seconde partie précise qu'il appartient au sous-réseau 1, avec le numéro d'identification 225 dans ce sous-réseau. La coordination de l'attribution des adresses à l'intérieur d'un réseau se fait localement (par le SIC, pour le domaine de l'EPFL). A chaque réseau ou sous-réseau est associé un router chargé de diriger le trafic entrant et sortant.

Le cerveau humain n'étant pas très adapté à la manipulation et mémorisation de chiffres, il existe des tables dénommées Name Server permettant d'associer des noms logiques à chacune de ces adresses. Ainsi, le nom du réseau de l'EPFL est-il répertorié dans ces tables comme appartenant au domaine "epfl.ch", tandis que le PC de l'auteur est connu sous le nom de "slpc3". En accolant ces deux particules, on obtient comme nom unique sur la planète et probalement dans notre univers: "slpc3.epfl.ch". Cependant, il est aussi possible d'associer plus d'un nom à une machine ou parfois d'attribuer plusieurs identificateurs à une même machine.

Même si les noms de machines sont seulement connus localement à l'intérieur d'un domaine, les tables de noms de domaines ont une tendance certaine à l'embonpoint. Il est donc de bon ton de concentrer ces informations sous forme d'un service local sur une machine du domaine, que l'on appelle le DNS (Domain Name Server).

Telle est donc l'idée maîtresse qui allait progressivement s'imposer comme standard d'adressage universel, sans qu'aucun organisme officiel extérieur ou qu'aucune entreprise commerciale ne soit jamais intervenue dans le processus. Pourquoi et comment?

• le succès d'IP fut dans les premiers temps lié à celui d'Unix, ce système , créé par Bell Lab, développé ensuite dans les universités pour les universités. C'est lors de l'avènement des stations de travail individuelles durant la deuxième moitié des années 80 que cet environnement allait se propager: pour les petites entreprises tels que Sun Microsystems démarrant sur un marché alors dominé par le précurseur Apollo, il était économiquement et techniquement très raisonnable d'utiliser un système déjà existant et surtout gratuit au lieu de re-développer à grands frais un nouveau système propriétaire qui n'apporterait rien de neuf.

• nous avons vu à quel point il était pénible d'établir une connexion fiable entre ordinateurs de marques différentes. Or, ces difficultés disparaissent d'un coup si l'on installe Unix, donc le protocole de communication IP, sur ces machines. Une très grosse pression allait ainsi être exercée par les utilisateurs sur les constructeurs pour qu'ils fournissent sur leurs machines soit un système Unix, soit au moins IP comme couche de communication pour leurs systèmes propriétaires.

• l'évolution du protocole, notamment de façon à le rendre plus facilement intégrable dans les environnements existants, s'effectue selon un processus très efficace: toute amélioration est suggérée sous forme d'un RFC (Request for Comment) distribué à la communauté des utilisateurs, qui peuvent en évaluer les bénéfices. Si un consensus se dégage, la proposition peut être entérinée par l'IETF (Internet Engineering Task Force), l'organisme en principe indépendant de toute influence politique ou commerciale qui s'efforce de garantir la qualité technique des protocoles constituant l'armature d'Internet.

Mais bien sûr, le travail de l'IETF ne se limite pas à l'évolution de IP. Une fois la couche de communication physique (câbles et signaux) et la couche d'adressage logique (IP et DNS) assurée, il reste encore à établir le plus important du point de vue de l'utilisateur: les services.

Les services d'Internet

Protocoles

Comme en bon français, un protocole est un ensemble de règles arbitraires sur lesquelles les participants aux activités d'échanges d'information se sont mis d'accord. Dans le chapitre précédant, nous avons vu comment les règles d'adressage IP permettaient à tous les ordinateurs de la planète de s'identifier entre eux. Ci-après, nous allons voir comment d'autres règles plus complexes, éditées elles aussi par l'IETF, permettent de construire les services de communication conviviaux dont l'utilisateur final peut jouir aujourd'hui.

Dans le modèle en couche cher à l'ISO, entre la couche d'adressage (IP) et la couche applicative proprement dite telle que perçue par l'utilisateur (transfert de fichiers, e-mail, www...), il existe une couche intermédiaire définissant le type d'interaction entre les partenaires de la fonction de communication. Si l'on excepte NFS (Network File System), qui utilise pour cette couche intermédiaire le protocole asynchrone UDP (User Datagram Protocol) et NNTP (les news), qui utilise le très ancien protocole UUCP (Unix to Unix Copy Program) selon la logique de store-and-forward, les principaux services disponibles aujourd'hui sur Internet sont basés sur le protocole TCP (Transmission Control Protocol). Celui-ci assure la synchronisation des paquets: la série de paquets composant un message est reconstituée à leur arrivée chez le destinataire dans le même ordre que lors de leur émission. TCP permet en outre d'établir un circuit virtuel entre deux adresses d'Internet, ce qui assure la bidirectionnalité en temps réel du service. L'omniprésence de TCP explique pourquoi l'on dit souvent que TCP/IP est LE protocole d'Internet.

Avant de passer aux protocoles applicatifs, mentionnons encore les protocoles de ligne point-à-point SLIP (Serial Line IP) et PPP (Point to Point Protocol) qui autorisent l'attribution dynamique d'une adresses IP à une machine qui se connecte au réseau durant un temps limité, en général par une ligne téléphonique. C'est la technique utilisée par les prestataires de service Internet pour gérer un nombre de clients qui dépasse largement le nombre d'adresses IP dont ils disposent.

Client/serveur

La plupart des applications Internet obéissent à la topologie dite client/serveur: l'utilisateur dispose sur sa machine d'un logiciel dit client qui peut envoyer des requêtes codées vers une autre machine où est installé le logiciel serveur correspondant. Celui-ci tourne en permanence, et est à l'écoute de toute requête qui lui est adressée. C'est ce qu'on appelle un daemon dans le jargon emprunté au monde Unix. Le daemon utilise le protocole spécifique de l'application comme langage de dialogue avec le client. Il est attaché à un canal logique de communication dénommé port, identifié par un numéro spécifique. En tant que serveur, le daemon doit pouvoir gérer plusieurs connexions simultanées.

Connexions à distance: TELNET

Dans le modèle informatique du mainframe, les utilisateurs utilisent un terminal pour se connecter à l'ordinateur central de l'entreprise via une ligne série. Telnet, une des premières applications TCP/IP à voir le jour, réalise l'émulation de ce modèle en utilisant un second ordinateur comme terminal. Au contraire d'un terminal simple et bête qui est en permanence rattaché à son mainframe, l'application Telnet client permet de se connecter en principe à toute machine multi-utilisateur dotée d'une application Telnet serveur (dénommée telnetd dans le jargon) atteignable par Internet. Comme à partir d'un terminal, la seule condition est de disposer d'un compte utilisateur sur la machine cible, et de connaître le mot de passe associé.

Transfert de fichiers: FTP

Comme son nom l'indique clairement, FTP (File Transfer Protocol) permet de transférer un fichier quelconque (données, texte, programmes binaires, graphique...) d'un ordinateur à un autre. Le mécanisme est semblable à celui de Telnet, puisqu'il faut d'abord établir une connexion entre la machine cliente et la machine cible. Comme pour Telnet, il faut donc disposer d'un compte utilisateur sur cette dernière. Mais il faut en plus s'assurer que cet utilisateur dispose des droits d'accès aux fichiers soit en lecture pour les fichiers que l'on veut importer (commande GET), soit en écriture pour les fichiers que l'on veut exporter (commande PUT).

L'E-mail (ou Mél selon la commission Juppé!): SMTP

Comme son nom ne l'indique pas, SMTP (Simple Mail Transfer Protocol) est le squelette d'un système de messagerie relativement complexe. Dans sa version originale sur Unix, son architecture est fort semblable à celle de FTP: une application dénommée sendmail envoie ou reçoit des fichiers de type message, avec ou sans annexes. Cette application peut desservir plusieurs utilisateurs dans sa version serveur.

Outre les fonctions de base envoyer ou recevoir, une multitude d'autres fonctions complémentaires se sont ajoutées au cours du temps. Outre les adjonctions au protocole SMTP lui-même, d'autres enrichissements ont été introduites par le protocole MIME (Multi-purpose Internet Mail Extensions), qui représente une tentative de codifier ces extensions sans les limiter. On conçoit que ce foisonnement d'idées n'a pas vraiment permis de simplifier les interfaces proposées aux utilisateurs.

L'approche POP (Post Office Protocol) a néanmoins permis aux utilisateurs de Mac et de PC de bénéficier de ces progrès de façon élégante. L'idée est de revenir au modèle client-serveur simple, selon le modèle des cases postales gérées par nos braves vieilles PTT: au lieu d'être expédié vers la boîte aux lettres de l'usager, le courrier électronique est adressé au bureau de poste le plus proche (le serveur POP) qui le classe dans des cases étiquetées. L'usager peut venir vider sa boîte quand il le désire pour autant qu'il en possède la clé (le mot de passe, en l'occurrence). C'est l'application cliente (Eudora par exemple à l'EPFL) qui établit la connexion avec le serveur POP et effectue toutes les démarches pour ramener le courrier correctement traité sur le PC ou le Mac de l'usager. De ce fait le poste client ne doit pas être connecté en permanence sur Internet, ce qui est particulièrement avantageux lorsqu'il s'agit d'un PC portable emmené lors d'un voyage en Australie!

A noter que SMTP n'est pas le seul protocole Mél en vigueur: d'un côté, les Telecom PTT d'obédiences nationales ont longtemps essayé d'imposer leur protocole X.400; de l'autre, il existe une multitude d'autres systèmes de messageries locales qui ont eu le temps de s'implanter bien avant l'avènement d'Internet. Il faut aussi mentionner FidoNet, qui est un protocole de messagerie conçu pour des lignes de mauvaise qualité, comme on peut en rencontrer dans les pays du tiers monde. Le résultat est un assemblage de passerelles qu'il n'est pas toujours évident de maîtriser, surtout si le site ne dispose pas d'une gestion centralisée. D'où aussi la frustration de certains usagers, lorsque le message n'est pas transmis comme espéré.

Signalons également qu'il est désormais possible sur Internet, grâce au système PGP (Pretty Good Privacy), de crypter les messages confidentiels, voire de garantir leur authenticité grâce à une signature électronique.

Le salon où l'on cause: IRC

Internet Relay Chat est une application très populaire dans les CyberCafés: elle permet en effet de participer en direct à une multitude de conversations sur des sujets divers, des plus sérieux aux plus anodins. Sa mauvaise réputation provient du fait que les pirates du câble utilisent préférentiellement ce moyen pour communiquer rapidement entre eux, et de façon parfaitement occulte, la dernière recette miracle qui permet de truander un système. Mais de la même façon, ce moyen pourrait être utilisé pour organiser les secours lors d'un tremblement de terre ou autres cataclysmes moins naturels.
Topologiquement, un serveur IRC gère plusieurs canaux, attribués chacun à un sujet de conversation différent (chat). Un utilisateur quelconque peut se déclarer membre du groupe de personnes participant au chat à un moment donné. Ses interventions tapées au clavier sont alors répercutées vers tous les autres membres connectés. Pour chaque chat, il existe en principe un modérateur qui a le pouvoir d'exclure tout membre qui se livrerait à des excès.

Distribution des news: NNTP

Comme suggéré dès le début de ce chapitre, le protocole très populaire utilisé encore actuellement pour la distribution d'informations à une grande population est en fait très ancien et peu adapté à l'évolution d'Internet. Il n'est pourtant plus possible de le modifier sans provoquer l'effondrement de ce vénérable édifice.

Comme pour IRC, le principe pour l'utilisateur des news est de s'abonner à un certain nombre de sujets (newsgroups). Mais cette fois les réactions des lecteurs par rapport à la publication d'un article d'information ne peuvent avoir lieu qu'en temps différé: l'article publié par un abonné dans un certain newsgroup sera mis à disposition des autres abonnés via un serveur de news et c'est ce dernier qui est responsable de collecter les articles selon un mécanisme qui lui est propre. Notamment, il peut n'effectuer cette collecte que s'il existe effectivement des utilisateurs abonnés, comme le serveur Dnews de l'EPFL. Ou il peut ne le faire qu'à des intervalles éloignés, pour éviter des temps de connexions inutiles. Le résultat est un outil de dissémination d'informations très économique, mais parfois assez lent.

Le World Wide Web: HTTP

A tout seigneur tout honneur: nous terminerons par WWW, l'application d'Internet la plus en vogue actuellement, celle qui a provoqué la prise de conscience par le grand public du potentiel infini offert par les nouvelles technologies de l'information.

L'HyperText Transfer Protocol qui est à la base de WWW n'est pas tout neuf non plus. Il fut développé et utilisé dès le début des années 90 au CERN pour la dissémination de documentation par le réseau entre tous les partenaires de cette organisation scientifique mondiale. Mais au début, les liens hypertextes permettant de passer facilement d'un document rébarbatif à l'autre faisaient plutôt penser à un immense plat de spaghettis relativement informe.

L'application Gopher, utilisant le même principe, présentait déjà de grands progrès au niveau de l'interface utilisateur, mais c'est finalement l'interface graphique universelle mosaic qui allait définitivement affirmer le succès de l'approche hypertexte.

La suite, vous la connaissez: Netscape Navigator et MS Internet Explorer, deux descendants directs de mosaic, se disputent actuellement le marché des browsers, D'autre part HTML, le langage de description des pages affichées à l'écran par ces butineurs, s'est considérablement développé (alourdi?) et permet maintenant les plus grandes fantaisies graphiques, voire l'utilisation d'illustrations sonores ou vidéo. Mais le principe est le même, en restant fidèle au modèle client/serveur: la partie cliente de l'application (le browser) envoie des requêtes vers un serveur dont le nom est indiqué dans l'URL (Universal Resource Locator), selon les instructions de l'utilisateur (normalement un simple click sur une zone de l'écran à laquelle est associée un lien hypertexte). Le serveur HTTP (httpd en jargon Unix) cherche localement le fichier mentionné dans la requête URL et l'expédie vers le client, s'il en a l'autorisation. Car il est bien sûr possible de n'autoriser l'accès à l'information qu'à des machines ou personnes dûment validées...

Source: ditwww.epfl.ch