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@univ-tours.fr 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 http://xhtml.developpez.com/cours/ http://fr.openclassrooms.com/ 3 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 (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 Vinton Cerf 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 : «193.1.2.3» 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 2 32 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 : 10 15 équipements terminaux Du nombre de réseaux locaux : 10 12 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! http://74.125.230.81/ fonctionne très bien MAIS Les humains n aiment pas les nombres Les humains retiennent mieux les noms écrits en lettres (www.google.fr) 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 : www.univ-tours.fr 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 193.52.209.12 Est ce un client ou un serveur? De quel type? 2.Regardez le site http://whatismyipaddress.com Ou se situe le serveur 134.214.76.8? 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 http://www.rfai.li.univ-tours.fr/web_peip/index.html 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