Cours de
Algorithmique
et langages du Web
Jean-Yves Ramel
Licence 1 – Peip Biologie – Groupe 7 & 8
Durée totale de l’enseignement = 46h
ramel@[Link]
Bureau 206 – DI PolytechTours
Organisation de la partie 1: Langages du Web
5 ou 6 séances de 2 heures
La plupart des séances en salle machine
1 contrôle final
Objectifs
Découverte des technologies de l’Internet
Les langages du Web (HTML, XML, …)
Dernières évolutions…
Avec mise en pratique
Prérequis
Aucun
2
1
Références
Ce support de cours a été construit à partir des sources suivantes :
Support de cours Licence 1 « Algorithmique et langages du Web » UE 102 -
2011-2012. Auteur : Thomas Devogèle/Flavien Audin
Support de cours DI-PolytechTours « Principes et normes des
réseaux » 2013-2014. Auteur JY Ramel
Support de cours DI-PolytechTours « Principes et normes des
réseaux » 2013-2014. Auteur P. Bourquin
[Link]
[Link]
…
Introduction
(Principes fondamentaux d’Internet)
2
Que savez vous sur Internet ?
C’est quoi un réseau ? Comment ca marche ?
C’est quoi le Web ? Comment ca marche ?
Que savez vous sur Internet ?
Tous commence vers les années 1970
Réseaux locaux éparpillés dans le monde
Ethernet, Token-Ring, X.25, etc.
Comment interconnecter tout ça ?
3
Que savez vous sur Internet ?
1ère idée : Ajout de Machines intermédiaires
Routeurs
Un routeur possède au moins 2 liens vers 2 réseaux locaux différents
Que savez vous sur Internet ?
A veut envoyer un paquet de données à B
2e Problème : Par où passer (routage) ???
Solution triviale 1
Chaque machine connait le chemin exact pour joindre chacune des autres
machines du monde «source routing»
Emission d’un empilement des paquets des réseaux qui seront traversés
Problème :
Taille de la base de connaissances ? Mise à jour ?
Traffic important
4
Que savez vous sur Internet ?
Solution la moins mauvaise
Attribuer des adresses ressemblantes à toutes les machines d’un même réseau local
Dans les machines intermédiaires (exemple : R1), mémoriser :
«pour joindre une machine ayant une adresse ressemblant à B, passer par R2»
«pour joindre une machine ayant une adresse ressemblant à A, la joindre
directement»
Problème
Aucun réseau local n’a que des machines avec des adresses ressemblantes…
Solution
Inventer un système d’adresses supplémentaire adresses IP
Les machines ont donc 2 adresses : adresse «physique» et adresse IP
Que savez vous sur Internet ?
3e problème : Problème du multitâche
Envoyer des données à une machine (= une adresse), c’est bien…
Mais, sur cette machine, à quelle application sont destinées ces
données ???
Problème de la fiabilité de bout en bout
Si des données n’arrivent pas à destination, comment s’en rendre
compte ? (très peu de technologies de réseau local
prennent ce problème en compte)
5
Histoire et principes
1969 : DARPA (USA)
Décision d’interconnecter une multitude
de petits réseaux en un grand-réseau
«InterNetwork» Internet IP (Internet Protocol)
Tous ces petits réseaux doivent
Transporter un unique type de paquet
De format déterminé : paquet IP
Source et destinataire : adresse IP
Une structure arborescente
Histoire et principes
Des nœuds d’interconnexion entre
Réseaux internet publics (renater, giant, …)
Les Fournisseurs d’accès et opérateurs telecom (free, orange, bouygue, …)
6
Histoire et principes
1970 : l'Internet pour les USA
Vinton Cerf
(Inter networking) les universitaires
Mise dans le domaine public d’ARPANET
Communication au moyen du courrier électronique
Réseaux d'ordinateurs de natures différentes
1980 : l'Internet pour le monde
expansion du réseau Internet
armée + universités mondiales +laboratoires de recherche + grosses
entreprises (email, news, ftp, telnet, …)
1990 : le web
1993 premier navigateur stable : Mosaic
croissance exponentielle, de 10 à 20 % par mois
2005 : le web 2.0
Le web dynamique
Communauté, blog, script, web service
Architecture TCP/IP
Pour compléter le protocole IP
Notion de client / serveur
Protocole TCP
Aiguillage vers la «bonne application» cliente ou serveur
Qualité de transport
Mode connecté
Acquittements et retransmission des paquets perdus
Séquencementdes paquets
Protocole UDP
Aiguillage vers la «bonne application»cliente ou serveur
Encapsulation
Les messages UDP et TCP sont encapsulés dans la partie données des
paquets IP
7
Échange Client -Serveur
Échange Client -Serveur
ROUTEUR
8
Échange Client -Serveur
Échange Client -Serveur
9
Échange Client -Serveur
TCP/IP en résumé
Avantages
Protocoles ouverts et gratuits
Simplicité, Souplesse
Equité entre les hôtes
Coût de l’infrastructure (routeurs)
très bas
Indépendant des technologies de
réseaux locaux
Inconvénients
«Intelligence» = machines hôtes et routeurs
Equipements réseaux sont très «passifs»
Qualité de service très faible
Les paquets IP sont indépendants
Pas d’optimisation globale du chemin parcouru par les paquets IP
Evolutions
Actuellement = IPv4
En cours de migration vers IPv6
Principes de base seront conservés !
10
TCP/IP Qui gère ?
IANA (devenu ICANN en 2000)
Internet Assigned-Numbers-Authority Internet Corporation for
AssignedNamesand Numbers
Organisation à but non lucratif domiciliée en Californie
Missions
Attribution des adresses IP
Attribution des plages d’adresses IP aux entités régionales (RIR)
RIR Europe = RIPE
Attribue des sous plages d’adresses IP
Aux entités locales (LIR = FAI)
Gestion du DNS (Domain Name System)
Attribution des paramètres aux protocoles (n°de protocole)
IETF : Internet Engineering TaskForce
«The goal of the IETF is to make the Internet work better»
Normalisation des protocoles
Un protocole normalisé IETF = un document RFC public
Groupes de travail ouverts à tous
IP = Internet Protocol
Dans le monde IP, il n’existe que
Des réseaux locaux…
… reliés par des routeurs (ou passerelle)
Les réseaux locaux contiennent des hôtes
Vocabulaire anglais : router ou gateway, host
Chaque hôte a une adresse IP unique au monde
Adresse IP attribuée à sa carte réseau
Pour un routeur, chaque lien a une adresse IP unique au monde
11
Adresses IP
Nombre codé sur 32 bits (4 octets)
Adresse unique dans le monde !!!
Notation
4 valeurs décimales, séparées par des «.»
Exemple : «[Link]»
Structure d’une adresse IP : 2 parties
Partie gauche = «n°de réseau»
Exemple : «réseau n°193.1.2»
Partie droite = «n°de machine dans ce réseau»
Exemple : «machine n°3»
Quelques contraintes
N°de machine : «n°0» et «n°MAX» interdits
Adresses IP
Pénurie d’adresses IPv4
Internet double en taille tous les 9 mois !
Adresses IPv4 codées sur 32 bits
232 adresses = 4,294,967,296 adresses
Qui a besoin d’une adresse IP ?
Ordinateurs (1 milliard)
Téléphones (4 milliards)
Voitures (1 milliard)
Appareils domotiques (> 1 milliard)
Solutions temporaires
Routage classless
NAT, DHCP, …
Croissance permanante
Des connexions permanentes : ADSL – Câble - Téléphonie cellulaire
Du nombre d’utilisateurs : Chine – Inde : 1015 équipements terminaux
Du nombre de réseaux locaux : 1012 sites
12
Adresses IPv6
Codées sur 128 bits
600 milliards d’adresses par millimètre carré de surface terrestre
60000 milliards de milliards d’adresses par habitant
3 types d’adresses
Unicast : 1 1
Multicast : 1 N
Anycast: 1 N (optimisé)
DNS : Domain Name System
Pour communiquer, les adresses IP suffisent !
[Link] fonctionne très bien
MAIS
Les humains n’aiment pas les nombres
Les humains retiennent mieux les noms écrits en lettres ([Link])
L’adresse IP d’une machine peut changer
IL FAUT DONC un système automatique permettant de transformer un nom
de machine unique (FQDN) en son adresse IP
13
DNS : Domain Name System
Offre une solution à 3 problèmes
Convention de nommage
Enregistrement des noms
Résolution des noms (nom @IP)
Convention de nommage
Espace de nommage hiérarchique
Nom de machine = mots séparés par des «.»
Exemple : [Link]
Enregistrement des noms
Attribue un ensemble de noms possibles au demandeur
Garantit l’unicité des noms
Au niveau mondial : un seul organisme = ICANN
Délégation possible des demandes d’enregistrements
Exemple : AFNIC (gère tous les noms se terminant par «.fr»)
DNS : Domain Name System
Résolution de noms (machine @IP)
Base de données distante mais répartie
De très nombreux serveurs gèrent une petite partie unique de la base :
serveurs DNS
Protocole client/serveur d’interrogation de ces bases
Espace de noms hiérarchique (arbre)
Noeud = domaine ou sous-domaine
Feuille = machines
14
DNS : Domain Name System
N’a pratiquement pas changé depuis sa création !
Fonctionne très bien
Système distribué et protocole très bien conçus
Administration manuelle de la base de données de chaque serveur
DNS
TD 1 : Qu’avez vous retenu ?
1. Donnez le nom DNS de la machine [Link]
Est ce un client ou un serveur ? De quel type ?
2. Regardez le site [Link]
Ou se situe le serveur [Link] ?
3. Combien d’adresses possède votre PC ?
Donnez ces adresses ?
4. Quelle différence entre Web et Internet?
5. Qu’est ce qu’un réseau local ?
6. Qu’est ce qu’un routeur ?
7. Qu’est ce que le mode client-serveur ?
Donnez des noms de logiciels clients et des noms de serveurs
8. Qu’est ce que TCP/IP ?
9. Consultez la page [Link]
a. Télécharger la sur votre PC pour une consultation hors connexion
b. Afficher la avec différents navigateur puis avec Notepad++
Expliquez.
Login=epu-guest
Password=ETU2014!
15