Chapitre 12 Réseaux

Transcription

Chapitre 12 Réseaux
L'informatique au lycée
Chapitre 12
http://ow.ly/n6wZ3
Chapitre 12
Réseaux
La communication entre ordinateurs est un sujet vaste et complexe. Nous ne donnons ici que
quelques principes généraux, sans trop entrer dans les détails. Le lecteur intéressé trouvera
beaucoup pus d'informations sur... le web bien sûr.
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).
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, 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).
12.1. Modèles 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).
ISO : International
Organization for
Standardization
Ne pas confondre
OSI et SIO !
Didier Müller
12.1.1.
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.
12-1
juillet 2013
Réseaux
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.
12.1.2.
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.
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
Didier Müller
12-2
juillet 2011
L'informatique au lycée
Chapitre 12
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.
12.2. Internet
Le 2 septembre 1969, le professeur Len Kleinrock de l'UCLA (University of California, Los
Angeles) et son équipe, comprenant deux étudiants, Stephen Crocker et Vinton Cerf, parvenaient à
échanger quelques données entre deux gros ordinateurs reliés par un câble de 4,5 mètres. Ce premier
essai est généralement considéré comme l'événement fondateur d'Arpanet, réseau à l'origine
d'Internet quelques années plus tard.
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
Didier Müller
12-3
juillet 2013
Réseaux
•
•
•
•
•
•
•
•
•
•
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).
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service|
Total Length
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Identification
|Flags|
Fragment Offset
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |
Protocol
|
Header Checksum
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Source Address
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Destination Address
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Options
|
Padding
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
Didier Müller
12-4
juillet 2011
L'informatique au lycée
Chapitre 12
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, comme le montre la figure ciaprès.
Source de l'image :
[3]
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
Didier Müller
12-5
juillet 2013
Réseaux
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,
4. cette passerelle l'envoie à la destination.
12.3. World Wide Web
Le World Wide Web, littéralement la « toile (d'araignée) mondiale », communément appelé le
Web, le web, parfois la Toile ou le WWW, est un système hypertexte public fonctionnant sur Internet
qui permet de consulter, avec un navigateur, des pages accessibles sur des sites. L'image de la toile
d'araignée vient des hyperliens qui lient les pages web entre elles.
Techniquement, rien ne distingue le World Wide Web d'un quelconque autre web utilisant les
mêmes technologies ; d'ailleurs d'innombrables webs privés existent.
Fin 2010, la société anglaise spécialisée dans la sécurité internet Netcraft dénombre environ 250
millions de sites web dans le monde.
Saviez-vous que la Suisse présente une des plus fortes densités de noms de domaine du monde ? En
moyenne, en 2010, un habitant sur six a son propre nom de domaine mais il y a de grandes
différences régionales : dans le canton de Zoug par exemple, un habitant sur trois a déjà un nom de
domaine, dans le canton du Jura en revanche, un sur 14 seulement.
12.3.1.
Termes rattachés au web
L'expression en ligne signifie « connecté à un réseau », en l'occurrence le réseau informatique
Internet. Cette expression n'est pas propre au Web, on la retrouve à propos du téléphone.
Un hôte est un ordinateur en ligne. Chaque hôte d'Internet est identifié par une adresse IP à
laquelle correspondent zéro, un ou plusieurs noms d'hôte. Cette terminologie n'est pas propre au
Web, mais à Internet.
Une ressource du World Wide Web est une entité informatique (texte, image, forum Usenet, boîte
aux lettres électronique, etc.) accessible indépendamment d'autres ressources. Une ressource en
accès public est librement accessible depuis Internet. Une ressource locale est présente sur
l'ordinateur utilisé, par opposition à une ressource distante (ou en ligne), accessible à travers un
réseau.
On ne peut accéder à une ressource distante qu'en respectant un protocole de communication. Les
fonctionnalités de chaque protocole varient : réception, envoi, voire échange continu d'informations.
Une URL (Uniform Resource Locator) pointe sur une ressource. C'est une chaîne de caractères
permettant d'indiquer un protocole de communication et un emplacement pour toute ressource du
Web.
Un hyperlien (ou lien) est un élément dans une ressource associé à une URL. Les hyperliens du
Web sont orientés : ils permettent d'aller d'une source à une destination.
HTML (HyperText Markup Language) et XHTML (Extensible HyperText Markup Language)
sont les langages informatiques permettant de décrire le contenu d'un document (titres, paragraphes,
disposition des images, etc.) et d'y inclure des hyperliens. Un document HTML est un document
décrit avec le langage HTML.
Dans un mode de communication client-serveur, un serveur est un hôte sur lequel fonctionne un
logiciel serveur auquel peuvent se connecter des logiciels clients fonctionnant sur des hôtes clients.
Un serveur Web est un hôte sur lequel fonctionne un serveur HTTP. Un serveur Web héberge les
ressources qu'il dessert.
Un navigateur Web est un logiciel client HTTP conçu pour accéder aux ressources du Web. Sa
fonction de base est de permettre la consultation des documents HTML disponibles sur les serveurs
HTTP. Le support d'autres types de ressource et d'autres protocoles de communication dépend du
navigateur considéré.
Didier Müller
12-6
juillet 2011
L'informatique au lycée
Chapitre 12
Une page Web (ou page) est un document destiné à être consulté avec un navigateur Web. Une
page Web est toujours constituée d'une ressource centrale (généralement un document HTML) et
d'éventuelles ressources liées automatiquement accédées (typiquement des images).
Un éditeur HTML (ou éditeur Web) est un logiciel conçu pour faciliter l'écriture de documents
HTML et de pages Web en général.
Un site Web (ou site) est un ensemble de pages Web et d'éventuelles autres ressources, liées dans
une structure cohérente, publiées par un propriétaire (une entreprise, une administration, une
association, un particulier, etc.) et hébergées sur un ou plusieurs serveurs Web.
Visiter un site Web signifie « consulter ses pages ». Le terme visite vient du fait que l'on consulte
généralement plusieurs pages d'un site, comme on visite les pièces d'un bâtiment.
Une adresse Web est une URL de page Web, généralement écrite sous une forme simplifiée
limitée à un nom d'hôte. Une adresse de site Web est en fait l'adresse d'une page du site prévue pour
accueillir les visiteurs.
Un hébergeur Web est une entreprise de services informatiques hébergeant (mettant en ligne) sur
ses serveurs Web les ressources constituant les sites Web de ses clients.
12.3.2.
Web profond (deep web)
L'exploration récursive du Web à partir de ressources bien choisies est la méthode de base
programmée dans les robots d'indexation des moteurs de recherche.
Le Web profond, ou Web invisible, est la partie du Web qui n'est pas indexée et donc introuvable
avec les moteurs de recherche généralistes. Des études indiquent que la partie invisible du Web
représente plus de 99 % du Web. Le Web profond comprend notamment les ressources suivantes :
• les ressources inaccessibles au public, donc aux robots d'indexation 1, notamment les
pages administratives ou payantes, protégées par un mot de passe ;
• les ressources qui ne sont pas communiquées par des protocoles de communication pris
en charge par les robots (souvent ils ne prennent en charge que HTTP et HTTPS) ;
• les ressources dont le format de données n'est pas pris en charge par le robot ;
• les ressources listées dans un fichier d'exclusion des robots ;
• les ressources exclues pour référencement abusif (spamdexing2) ;
• les ressources exclues par le robot car considérées comme trop peu pertinentes ;
• les ressources vers lesquelles les hyperliens sont créés dynamiquement en réponse aux
interrogations des visiteurs. Ces dernières ressources proviennent généralement de bases
de données et constituent la partie la plus importante du Web profond.
12.3.3.
Exploration du Web
Le World Wide Web, en tant qu'ensemble de ressources hypertextes, peut être modélisé par un
graphe orienté où les ressources sont les sommets et
les hyperliens les arcs. Du fait que le graphe est
orienté, certaines ressources peuvent constituer des
puits : il n'existe aucun chemin vers le reste du Web. À
l'inverse, certaines ressources peuvent constituer des
sources en indiquant des liens vers d'autres ressources.
Le graphe obtenu n'est pas forcément connexe : il n'est
peut-être pas possible de rejoindre un sommet à partir
d'un autre...
Un moteur de recherche comme Google est un
ensemble de robots qui parcourent le Web de page en
page, en suivant les liens entre ces pages, puis qui
1
Un robot d'indexation (ou littéralement araignée du Web ; en anglais web crawler ou web spider) est un logiciel qui explore automatiquement
le Web. Il est généralement conçu pour collecter les ressources (pages web, images, vidéos, documents Word, PDF ou PostScript, etc.), afin de
permettre à un moteur de recherche de les indexer.
2
Le spamdexing est un ensemble de techniques consistant à tromper les moteurs de recherche sur la qualité d'une page ou d'un site afin d'obtenir,
pour un mot-clef donné, un bon classement dans les résultats des moteurs.
Didier Müller
12-7
juillet 2013
Réseaux
indexent automatiquement les pages visitées. Trois étapes sont indispensables à son fonctionnement :
• La collecte d'information grâce à des robots (aussi appelés spiders ou crawlers).
• L'indexation des données collectées et la constitution d'une immense base de données
nommée « index ».
• Le traitement des requêtes, avec en particulier un système d'interrogation de l'index et de
classement des résultats en fonction de critères de pertinence suite à la saisie de mots-clés.
Des documents apparaissent et disparaissent tous les jours : il faut donc constamment réactualiser
cette base de données. Aucun moteur de recherche ne peut parcourir la totalité des pages en un jour
(ce processus peut prendre plusieurs semaines).
12.4. Google
Larry Page
Sergey Brin
3
L'histoire de l'entreprise Google commence par la rencontre de deux étudiants de l'université de
Stanford en 1995. En cette année, Sergey Brin (23 ans) et Larry Page (24 ans) commencent à
travailler sur un nouveau moteur de recherche. Ils nomment leur projet BackRub. Ils imaginent un
logiciel qui analyserait les relations entre les sites web afin d'offrir des meilleurs résultats que ceux
donnés par leurs concurrents de l'époque, Altavista notamment.
Une fois leurs travaux finalisés, les deux étudiants commencent à concrétiser leur projet de
moteur de recherche, et à cet effet, achètent un téraoctet de disque dur d'occasion, afin de créer une
base de donnée. Cette installation sommaire a pris place dans la chambre de Larry Page.
Les deux entrepreneurs sollicitent des entreprises (Sun Microsystems entre autres), famille et
amis, et parviennent finalement à réunir un million de dollars pour fonder la compagnie. Dans la plus
pure tradition des pionniers de l'informatique, Google Inc. s'installe dans un garage de Menlo, loué
par un ami, en septembre 1998, La société comporte trois personnes : Sergey, Larry et Craig
Silverstein qui est aujourd'hui directeur de Google Technology.
Alors que le moteur est toujours en phase version bêta3, il répond à près de 10'000 requêtes par
jour. En août 1999, la barre des 3 millions de recherches quotidiennes est franchie.
En décembre 1998, PC Magazine classe Google dans sa liste des 100 meilleurs sites au monde.
En février 1999, c'est 500'000 requêtes journalières que Google doit gérer. Devenant trop grand pour
le garage qui l'héberge, Google se déplace, en mars, dans un bureau sur l'avenue de l'université de
Palo Alto et 8 personnes y travaillent désormais.
Dès janvier 1999, la presse mondiale commence à se faire l'écho des performances de ce nouveau
moteur de recherche. Le journal français Le Monde écrit ainsi que le choix technologique de Google
« s'avère très efficace à l'usage ». Ainsi, une recherche avec les mots « Bill Clinton » renvoie d'abord
au site de la Maison Blanche, alors qu'AltaVista ne fait apparaître le site qu'après des dizaines
d'autres références. Autre avantage : Google affiche les mots-clés en gras dans le contexte d'une
phrase pour chaque lien, alors qu'Altavista ne fournit, à l'époque, que les liens eux-mêmes.
La société déménage une seconde fois vers son emplacement définitif, le Googleplex, situé à
Mountain View, en Californie. Le moteur de recherche, jusque-là en version bêta, achève sa phase de
test le 9 septembre. Google assure alors la gestion de 3 millions de recherche par jour.
Le 9 mai 2000, le moteur de recherche est disponible en 10 nouvelles langues : allemand, danois,
espagnol, finnois, français, italien, néerlandais, norvégien, portugais et suédois, permettant à la
société de pénétrer de nouveaux marchés et de gagner en importance. Tout juste un mois plus tard,
en juin 2000, Google est le premier moteur de recherche à avoir référencé un milliard de pages web.
L'entreprise cherche à étendre la portée de son moteur en concentrant ses efforts sur l'Asie, avec les
versions chinoise, japonaise et coréenne (12 septembre), puis au monde entier, totalisant 26 langues
dès le 27 mars 2001. Fin octobre 2000, Google signe un partenariat avec Yahoo! et commence à
proposer de la publicité ciblée en fonction des mots-clés. L'année 2000 voit le trafic journalier du
site dépasser les 100 millions de requêtes, ce qui représente plus de 1000 requêtes/seconde en
moyenne. Par son succès et sa croissance exponentielle, l'entreprise devient un phénomène mondial
de presse.
L'année 2001 s'achève par une conquête physique du monde et par l'annonce de la 3 milliardième
page indexée. Le 4 septembre 2001, Google obtient la validation de son brevet concernant
Un produit en période de test bêta est généralement soumis à un nombre important ou représentatif de personnes : les bêta-testeurs. Ils peuvent
être soit des employés de la société qui développe le logiciel, soit des bénévoles notamment dans le cas des logiciels libres. Ces personnes ont
pour but d'utiliser le logiciel et de rapporter les problèmes rencontrés ainsi que leurs suggestions.
Didier Müller
12-8
juillet 2011
L'informatique au lycée
Chapitre 12
PageRank.
Le moteur de recherche continue ainsi sa croissance, est décliné en plus de 100 langues en 2004
et 150 de nos jours. Aujourd'hui Google est le premier moteur de recherche sur Internet, que 80 %
d'internautes américains utilisent contre seulement 35 % de Chinois, qui préfèrent l'outil chinois
Baidu.
C'est à partir de 2002 que l'entreprise diversifie son activité, basée jusqu'alors sur son moteur de
recherche. Apparaitront alors, parmi les plus connus, Gmail, Google Earth, Google Maps, Google
Documents, Google Books, etc.
12.4.1.
Fonctionnement du moteur de recherche
Voici comment se passe une recherche avec Google :
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
L'internaute surfe sur Google.ch.
Il tape des mots-clés.
Sur certains navigateurs, Google complète certaines requêtes avec des termes de recherche
fréquents.
L'internaute appuie sur la touche Entrée.
Google ôte les mots non-significatif tels que les articles.
La requête est dirigée vers le serveur Google le plus proche.
Google recherche les informations correspondant à la requête parmi les milliards de pages
stockées sur des milliers d'ordinateurs de par le monde.
Le gestionnaire de requête filtre les résultats pour proposer les plus pertinents. Il utilise plus
de 200 questions et une démarche proche de la logique humaine pour affiner les résultats.
Dans certaines langues, le logiciel effectue des recherches de synonymes qui permettraient
de présenter des résultats encore plus pertinents.
Un correcteur orthographique entre en action pour rechercher des liens en tenant compte
d'une éventuelle faute de frappe.
Le logiciel recherche spam, virus et autres logiciels malveillants sur les pages.
Google vérifie le type de fichier des contenus qu'il va lister.
Les pages sont classées en fonction de leur PageRank (voir paragraphe suivant).
Avant d'afficher les liens actifs, Google prépare les versions qu'il a déjà stockées sur ses
serveurs (et appelés « cache »), afin que l'internaute puisse au besoin les visionner.
Le moteur prépare aussi une liste des Pages similaires, obtenue en utilisant diverses
logiques pour trouver des mots-clés en rapport avec ceux de la recherche initiale.
La recherche que l'on a effectuée est devenue l'une des centaines de millions de pages
générées par Google quotidiennement.
Entre l'étape 5 et l'étape 16, il s'est écoulé moins d'une seconde !
12.4.2.
PageRank
Le PageRank ou PR est l'algorithme d'analyse des liens concourant au système de classement des
pages Web utilisé par le moteur de recherche Google pour déterminer l'ordre dans les résultats de
recherche qu'il fournit. Ce système a été inventé par
Larry Page, cofondateur de Google.
On attribue à chaque page un score compris entre 0
et 10, proportionnel au nombre de fois que passerait
par cette page un internaute parcourant aléatoirement
le graphe du Web en suivant les liens.
L'idée principale est que si une page A fait un lien
vers une page B, alors c'est que la page A juge que la
page B est suffisamment importante pour mériter d'être
citée et d'être proposée aux visiteurs. Ce lien de A vers
B augmente le PageRank de B.
Didier Müller
12-9
juillet 2013
Réseaux
Deux idées supplémentaires mais essentielles viennent la compléter :
• l'augmentation de PageRank de la page B est d'autant plus importante que le PageRank de
la page A est élevé. En d'autres termes, il est bien plus efficace d'avoir un lien depuis la page
d'accueil de Google que depuis une page du site de votre petit neveu.
• l'augmentation de PageRank de la page B est d'autant plus importante que la page A fait peu
de liens. Autrement dit, si la page A juge qu'il n'y a qu'une page qui mérite un lien, alors il
est normal que le PageRank de la page B augmente plus que dans le cas où de nombreuses
pages obtiennent un lien.
Formulation mathématique
Appelons A1, A2, ... An les n pages pointant vers une page B. Notons PR(Ak) le PageRank de la
page Ak, N(Ak) le nombre de liens sortants présents sur la page Ak et d un facteur compris entre 0 et 1,
généralement fixé à 0.85.
Le PageRank de la page B se calcule à partir du PageRank de toutes les pages Ak de la manière
suivante :

PR B=1 – d d⋅
PR A1  PR A 2
PR An 


N  A 1
N  A2 
N  An 

Cette formule est à la fois simple et compliquée. Simple parce qu'elle ne contient que des
fractions, compliquée parce qu'elle est récursive : pour calculer le PageRank d'une page, il faut avoir
calculé celui de toutes les pages pointant vers elle. Mais alors comment commencer ?
En fait c'est très simple, il suffit de commencer avec des valeurs arbitraires de PageRank (par
exemple 1). Le choix de cette valeur n'a pas d'influence sur le résultat final à condition que toutes les
pages commencent avec la même valeur. Une application de la formule permet de calculer un
nouveau PageRank pour chaque page, plus proche de la réalité que la valeur par défaut que nous
avons choisie au début.
Ensuite, nous recommençons à calculer les PageRank de toutes les pages en appliquant de
nouveau la formule, mais en partant cette fois des valeurs que nous avons calculées précédemment.
Après un certain nombre d'itérations, le système converge : les valeurs de PageRank de chaque page
ne bougent plus entre deux itérations. En pratique la convergence est obtenue au bout de plusieurs
dizaines d'itérations (tout dépend du nombre de pages considérées).
Le PageRank d'une page B ne dépend donc que de trois facteurs :
• le nombre de pages Ak faisant un lien vers B,
• le PageRank de chaque page Ak,
• le nombre de liens sortants de chaque page Ak.
Il ne dépend ni du trafic, ni du nombre de fois qu'apparaît un mot-clé.
Exercice 12.1
Vous avez créé un site web. Comment pouvez-vous améliorer le PageRank de la page d'accueil
(les moyens malhonnêtes sont permis) ?
Exercice 12.2
Calculez le PageRank des pages web reliées
selon le schéma ci-contre.
A
Prenez 1 comme PR initial.
Faites une itération à la main, puis
écrivez un programme pour montrer
la convergence.
Didier Müller
12-10
B
C
D
juillet 2011
L'informatique au lycée
Chapitre 12
12.5. 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 clientserveur). 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).
Didier Müller
12-11
juillet 2013
Réseaux
12.6. 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 Internet.
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 temps.
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 WiFi devient rare et la 3G difficile à capter.
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 locale.
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.
Didier Müller
12-12
juillet 2011
L'informatique au lycée
Chapitre 12
Sources
[1] Wikipédia, « Modèle OSI », <http://http://fr.wikipedia.org/wiki/Modèle_OSI >
[2] Site du Zéro. « Ils en tiennent une couche : OSI et TCP/IP »,
<http://www.siteduzero.com/informatique/tutoriels/les-reseaux-de-zero/ils-en-tiennent-unecouche-osi-et-tcp-ip>
[3] Interstices, « Internet, le conglomérat des réseaux », <http://interstices.info/internet>
[4] Wikipédia, « World wide web », <http://fr.wikipedia.org/wiki/World_Wide_Web>
[5] Comment ça marche No5, Novembre 2010, pp. 62-65
[6] Wikipédia, «Google», <http://fr.wikipedia.org/wiki/Google>
[7] Webrankinfo, « Description de l'algorithme du PageRank »,
<http://www.webrankinfo.com/dossiers/pagerank/introduction>
[8] Eisermann Michael, « L'algorithme PageRank de Google : une promenade sur la toile »,
<http://www.igt.uni-stuttgart.de/eiserm/enseignement/google-promenade.pdf>
[9] Wikipédia, « Pair à pair », <http://fr.wikipedia.org/wiki/Pair_à_pair>
Didier Müller
12-13
juillet 2013