La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 IFT 6800 Atelier en Technologies dinformation Chapitre 4 Technologies Internet.

Présentations similaires


Présentation au sujet: "1 IFT 6800 Atelier en Technologies dinformation Chapitre 4 Technologies Internet."— Transcription de la présentation:

1 1 IFT 6800 Atelier en Technologies dinformation Chapitre 4 Technologies Internet

2 2 Plan du cours 1. Introduction 2. Composantes matérielles dun ordinateur 3. Systèmes d'exploitation (exemple Unix) et Base de données 4. Technologies Internet 5. Introduction à la programmation Internet 6. Introduction à Java script 7. Java

3 3 Internet (2) Permet de faire "parler" deux ordinateurs différents. Communication passe par divers moyens. Gérer le réseau entre les deux ordinateurs - Choix du chemin (routage: liste des nœuds à emprunter) - Gestion des pertes de message - Reconfiguration du réseau

4 4 Internet : Infrastructure de Communication Protocoles de communication TCP/IP, UDP/IP Accès aux protocoles BSD sockets, TLI, Sockets Streams Pour désigner un partenaire : numéro IP, numéro de port (socket) Notions de services / protocoles

5 5 Internet / Services Besoin de services standards - Service de nom (DNS: Domain Name System) * Service d'heure (horloge parlante) - Service de transfert de fichier (FTP) - Service de transfert de message: (SMTP) De nombreux autres services

6 6 Pages Web (1) Inventé au CERN (Genève) Service Internet - Permet le transfert de pages d'hyper-texte - Informations hypermédia: * texte, des images, des sons, des animations * des liens vers d'autres pages. Chaque page est définie par une adresse (URL) Protocole de Transfert de pages (HTTP) HyperText Transport Protocol Langage de Description de page HyperText Markup Langage

7 7 Uniform Resource Locator Permet didentifier la localisation dune ressource Internet Forme URL même principe qu'une adresse postale - : // [: port]

8 8 HyperText Transfer Protocol Un des protocoles de communication sur le Web Basé sur le paradigme de requête/réponse. Utilise des connexions TCP/IP (Transmission Control Protocol : service fiable de livraison des flux doctets) pour transférer les données. Principe: - Connexion - Requête du client - Réponse du serveur - Déconnexion

9 9 HyperText Markup Lyanguage (1) Décrit le format d'un documents Web Hypertext - Les documents ne sont plus séparées mais reliés les uns aux autres: on peut se déplacer dun document vers un autre en suivant des liens. Markup - Cest un texte contenant des balises qui conditionnent laspect physiques aux textes. Ex: Gras Gras Plusieurs versions - dont la plus récente HTML intégration des scripts, applets, frame, etc.

10 10 WEB, Comment ça marche? Client - Une plate forme - Du logiciel: Navigateur/browser - Une connexion au réseau. Serveur - Une plate-forme: ordinateur - Du logiciel: deamon http Appache par exemple - De l'information

11 11 WEB, Comment ça marche ? Exemple pas à pas : étape I: En attente d'une requête

12 12 WEB, Comment ça marche ? Exemple pas à pas : étape II: Émission d'une requête par un client

13 13 WEB, Comment ça marche ? étape III: Analyse de la requête par le serveur Le serveur déchiffre la requête et détermine les actions à réaliser (GET, recherche index.html,…) étape IV: Lecture des autres informations sur le réseau (Si besoin) : par exemple le type du navigateur, … étape V: Exécution de la méthode demandée Pour exécuter GET, httpd recherche dans ces documents (système de gestion des fichiers) étape VI: Acte final: fermeture du fichier, fermeture de la connexion réseau. étape VII: Retour à létape I.

14 14 Le Mail Service de Messagerie - Permet d'envoyer des messages (texte). - Permet de joindre toute sorte de fichiers (attachement). Adresse iro.umontreal.ca Nom du ServeurNom dutilisateur

15 15 Newsgroup Groupe de discussion informatique. - Groupes locaux / mondiaux. - On peut poster des questions / réponses. Très utile pour trouver des informations Chaque groupe est dédié a un sujet précis. - news://comp.lang.postscript * Ordinateurs (comp) * Langages (lang) * Postscript Type du groupe

16 16 Intégration Web , newsgroup et dautres protocoles sont aujourd'hui intégrés dans le web - Messages des Newsgroup accessibles par des pages web. - Possible de lire son mail par des pages web. Aujourd'hui on désigne sous le nom de Web l'ensemble: - Pages web - Newsgroup - Services de mail

17 17 Philosophie WEB

18 18 Le Web : une idée de départ Réseau de ressources dinformation Clients de consultation Navigateur, browser... Netscape Communicator, Microsof Internet Explorer Serveurs de documents HTTP, démon HTTP, Serveur Web Apache (www.apache.org), Microsoft IIS, Netscape, Cern => Consultation de documents

19 19 Les acteurs du web Cern : ? Ncsa : ? W3c : MIT + INRIA + Université de Keio Unifie les développements, Propose les standards IETF : crée des standards Netscape, Microsoft, IBM, Sun… Standard de faits (frames, cookies, plug-ins s…)

20 20 Les documents ou ressources Documents structurés La description se fait par lapparence (sémantique) Les browsers interprètent la structure Une page nest pas un fichier Ressource Hypertexte de composition Hypertexte de consultation Relations de référence entre les ressources

21 21 Retrait et distribution dinformation Fonctionnalités essentielles du Web Lunité de retrait nest pas la page mais la ressource Les documents sont désignés par des URL Les documents sont typés A priori pas de contrôle daccès (diffusion)

22 22 Exécutions sur le serveur Mécanisme : CGI (Common Gateway Interface) Des ressources particulières déclenchent lexécution dun programme sur le serveur Le document qui correspond à la requête est le flux standard de sortie de ce programme Possibilité de passer des paramètres Exemple : le Web applicatif !

23 23 Exécution sur les clients Les langages Web JavaScript, Jscript Les langages danimation Flash, VRML... Les langages de programmation Java tcl/tk (safe_tcl), Caml, Python, Perl,

24 24 WEB : Architecture documentaire

25 25 Architecture WEB Les standards

26 26 Pourquoi faire des standards ? Standardiser les formats des documents : Comment présenter une ressource : MIME Identifier de manière unique les documents Comment identifier une ressource : URL Standardiser les échanges Comment récupérer une ressource : HTTP Comment décrire une ressource Description interne : ML Description des relations entre ressources HT

27 27 Identification des ressources URI/URL (rfc 1738 : 1994) liste des paramètres (requêtes) nom du pointeur ds le doc. HTML Chemin d'accès (relat. ou absol.) 80 par défaut <1023 root 1023 < x < user méthode protoc. d'accès à la ressource file ress. locale ftp FTP http HTTP telnet TELNET gopher GOPHER wais WAIS news NNTP nom de la machine méthode://machine:port/fichier[#ancre | ?paramètres]

28 28 HTTP HyperText Transfer Protocol 1/0 rfc 1945 ( ) : Internet Informal Tim Berners-Lee, Roy T. Fielding, Henry Frystyk 1/1 rfc 2068 ( ) : Internet Proposed Standard Fielding, Getty, Mogul, Frystyk, Berners-Lee Connexions persistantes Protocole de type Remote Procedure Call sur TCP Connexion Requête du client Réponse du serveur Déconnexion

29 29 HTTP : les acteurs Clients : émet la requête browser, aspirateurs, indexeur, proxy... Serveurs : renvoie la réponse (interprète la req.) Proxys : Joue le rôle de serveur pour un client et de client pour un serveur. Cache les ressources Gateway : Idem que proxy mais invisible pour le client Tunnel : intermédiaire entre un client et un serveur

30 30 HTTP : Les requêtes Format dune requête [ : ] Méthodes GET, HEAD, POST, PUT Champs optionnels User-Agent, If-Modified-Since, Authorization=XXX

31 31 HTTP Les réponses Format dune réponse Content-Type: [ : ] Code réponse : Informatif : 100 Continue : Requête client réussie: 200 OK, 201 Created : Requête client redirigée : 301 Moved Permanently, 302 Temporary : Erreur client : 400 Bad, 401 Unauthorized, 403 forbidden, 404 not found : Erreur du serveur: 500 Internal Server Error, 501 not implemented

32 32 HTTP Texte libre : description en anglais du code de réponse Champs optionnels du serveur Date de la requête : date Date de modification : Last-Modified Identification du serveur : Server Taille du document : Content-Length HTTP/1.1 Connexion « Keep-Alive » Gestion fine des caches Web Négociation du contenu Virtual Hosts

33 33 Exemple HTTP telnet lisiaix0 80 >GET /index.html HTTP/1.0 >User-Agent: libwww/2.12 > => HTTP/ OK => Date: Fri, 11 Feb :30:27 GMT => Server: Apache/1.2.4 => Content-Length: 381 => Content-Type: text/html => => Bonjour tout le monde.... =>

34 34 Les Protocoles

35 35 Protocoles : une approche technique C. Application C. Présentation C. Session C. Transport C. Réseau C. Liaison de données C. Physique http ftptelnet gopher pop3 Applications tcpudp Transport ipigmp Réseau icmp Interface physique rarp Liaison arp

36 36 Protocoles Serveur Client Requête Réponse Simple Publique Portable

37 37 Caractéristiques dun protocole Nom : Simple Mail Transfert Protocol Rfc : 1830, 1845, 1846 Mode de fonctionnement : Connecté Port de connexion : 25 Commande / Requêtes : EXPN, QUIT, HELO... Client : Eudora Serveur : Sendmail

38 38 Protocoles : Exemples

39 39 Fonctionement dun serveur Démon C1 Attendre larrivée dune requête émise par un client C2 Démarrer un nouveau serveur traitant la requête client C3 Retour à C1 Principe de lancement Manuel Inetd StandAlone

40 40 Exemple de connexion telnet ifhpserv 25 =>220 ifhpserv.insa-lyon.fr ESMTP Sendmail 8.7.1/8.6.9 ready at Sun, 11 Oct :52: (METDST) EXPN stephane.frenot =>250 Stephane FRENOT

41 41 Travail H->M : Communication MM Protocoles de routage Nommage de machines DNS Transparence du réseau NFS, NIS Synchronisation XNTP Supervision SNMP

42 42 Travail H->M : Prise de contrôle à distance Exécution de commandes sur une machine distante Serveur de calculs Imprimantes réseau Utilisation de plusieurs machines depuis une console La seule application Internet Fonctionne sur tous les systèmes Client et serveur intégrés dans le même système Une socket TCP (port 23) Utilisé pour dialoguer à la main avec les serveurs Les remote commands (rpc) rsh, rexec, rlogin... Les émulations graphiques X11 / Citrix

43 43 Communication Inter - Personnes (1/3) Mail - Identification du destinataire – 25 Communication Personne à Personne (1/1) Eudora, Netscape, elm, pine, Mail, mush... Communication Personne à Personnes (1/n) listserv, sympa… Utilisation dune infrastructure dédiée MX, serveurs POP/IMAP, démons sendmail

44 44 Communication Inter - Personnes (2/3) News (Usenet) - Identification de groupe – 119 Communication de groupe (newsgroup) Classification par sujets (threads de discussion) Serveurs de news qui séchangent les groups / threads Base de news mondialement répartie Souplesse de configuration

45 45 Communication Inter - Personnes (3/3) Communication directe IRC - (Internet Relay Chat) Similaire aux news mais dialogue direct Création dynamique de groupes Utilisation de serveurs IRC communicant entre-eux ICQ #icq Problème de gestion du volume dinformation / délai

46 46 Diffusion dinformation - récupération - (1/3) FTP (File Transfert Protocol) Connexion client serveur Commandes simples sur la machine distante et transfert de fichiers (dans les 2 sens) Contrôle daccès par username/password Serveurs ftp anonymes Gopher Interface graphique minimaliste Notion de hiérarchie de répertoires inter-reliés Feuille = document recherché

47 47 Diffusion dinformation - indexation - (2/3) Archie Base de données de logiciels Moteurs dindexation de sites ftp anonymes WAIS (Wide Area Information Service) Bases de données distribuées de recherche documentaire Standard Z39.50 standard (Information Retrieval Service Definition and Protocol Specification for Library Applications)

48 48 Diffusion dinformation - diffusion - (3/3) Orientée utilisateur WEB Portails (Voila, Yahoo, Netscape…) Orientée fournisseur Mailing lists Push

49 49 Le client Universel Client de consultation conforme à tous les protocoles de communication HH Émulation des serveurs avec le protocole du Web Browser ==> Deux approches : WEB / CLIENT UNIVERSEL

50 50 Les intermédiaires

51 51 Pourquoi des intermédiaires Approche par les flux. Comment améliorer le flux ? Sécurité Cryptage C/S Vitesse Caches Vitesse + Sécurité ?

52 52 Sécuriser le flux Man in the Middle : Intermédiaire qui simule le serveur Web (ie Proxy) Eavesdropping : Sniffer (protège laccès aux ressources) ==> Sécuriser la connexion 1) Soit sécuriser le transport (HTTPS) 2) Soit sécuriser les applications (S-HTTP)

53 53 Stack IP https SSL : Sécure Socket Layer FTP HTTP Telnet Autres SSL TCP/IP

54 54 SSL : moyens Communication sécurisé sur média non sécurisé Protection de la connexion Handshake initial pour définir le codage Cryptage symétrique Authentification optionnelle Lentité pair peut sauthentifier en utilisant un cryptage asymétrique (Clé public/privée) Sécurisation des échanges Authentification du message échangé (MAC) Message Authentication Code

55 55 Cryptage SSL (HTTPS) Encodage sur une clé unique connue du client et du serveur Le client génère aléatoirement un nombre Puis le transfère de manière cryptée au serveur Celui-ci encode les messages à l'aide de ce nombre ==> mais … (DrDobbs 01/96)

56 56 FireWall FireWall : Pare-Feu Filtrage des paquets Table de filtrage des ports de connexion Inbound HTTP Outbound HTTP Inbound telnet telnet.interne.com Sinon interdit Tunneling Protocol Encodage d'une session Réseaux privés virtuels

57 57 Caches Optimisation des flux Client Serveur Cache

58 58 Proxy Cache des documents transférés Cache mémoire sur le client Cache disque sur le client Serveur Cache local Serveurs Cache nationaux Fonctions Disponibilité, Maintenabilité Pre-caching Baisse de la charge Difficulté :?

59 59 Gestion du cache État dun document du cache : fresh / stale Notion de lifetime (unlimited = fresh, 0=stale) Politique de gestion de lexpiration Orientée Serveur : entête http (Expires, Cache-Control) Heuristique : Dernière Modification Validation des ages / Expiration pour le client Durée des transits Conversions fuseaux horaires… Quels documents expulser du cache ?

60 60 Serveur Proxy proxy.univ-lyon1.fr 3128 function FindProxyForURL(url, host) { if (isPlainHostName(host)) return "DIRECT"; if ( dnsDomainIs( host,"univ-lyon1.fr")|| dnsDomainIs(host,"cpe.fr") || dnsDomainIs(host,"enssib.fr") || dnsDomainIs(host,"cermep.fr") || dnsDomainIs(host,"dr7.cnrs.fr") || dnsDomainIs(host,"www.dsi.cnrs.fr") || dnsDomainIs(host,"insa-lyon.fr")) return "DIRECT"; if (url.substring(0, 5) == "http:" ||url.substring(0, 7) == "gopher:") return "PROXY proxy.univ-lyon1.fr:3128; DIRECT"; if (url.substring(0, 5) == "wais:") return "PROXY web.univ- lyon2.fr:8001"; else return "DIRECT"; }

61 61 Caches Coopérations de caches Hiérarchies (parent) Transmission au parent si on na pas le document Récupération dans le cache fils Coopération dégal à égal Requête au voisin si on a pas le document Caches Web Cache commerciaux … Cache gratuits : Squid :

62 62 Miroirs (Aspirateurs) But : Accélerer les accès aux sites les plus demandés Diminuer le trafic global de lInternet Moyen : copie des sites stratégiques sur différents endroits Logiciel mirroir = robot qui browse le Web automatiquement Racine + Règles darrêt de la récursion Extraction des …. webcopy, wget, w3mir

63 63 Architectures

64 64 Anneaux de diffusion Interconnexion de sites Web Mettre en commun des utilisateurs sur un sujet Définir des sous-réseau logiques d'information Site central qui diffuse les entêtes des documents Diffusion aux abonnés d'un cgi à insérer dans les documents

65 65 ? Quest ce quun serveur ?

66 66 Configuration dun serveur Web

67 67 Apache : configuration /apache-1.2.4/ src configuration mime.types http.conf srm.conf access.conf logs http.pid error.log acces.log icons support

68 68 Apache : httpd.conf ServeurType standalone Port 80 User nobody Group Web ServerAdmin ServerRoot /opt/apache_1.2.4 Timeout 300 KeepAlive on MaxKeepAliveRequests 100 KeepAliveTimeout15 MinSpareServers5 MaxSpareServers10 StartServers5 MaxClients150 MaxRequestsPerChild 30 HostnameLookups on BrowserMatch Mozilla/2 nokeepalive

69 69 Apache : srm.conf Aspect du serveur pour les clients DocumentRoot /www/insa UserDir public_html DirectoryIndex index.html FancyIndexing on AddIcons/icons/back.gif.. AccessFileName.htaccess DefaultType text/plain Alias /icons/ /opt/apache_1.2.4/icons/ ScriptAlias /cgi-bin/ /opt/apache_1.2.4/cgi-bin/ AddHandler cgi-script.cgi

70 70 Apache access.conf #none, all, options Indexes FollowSymLinks ExecCGI AllowOverride None order allow, deny allow from all SetHandler server-status order deny, allow deny from all allow from.insa-lyon.fr,.univ-lyon1.fr

71 71 Apache : Logs httpd.pid : N° process du père error.log : date, ressource accédée, client, raison [Mon Feb 9 12:16: ] access to /www/insa/theme.siam/frame/Bandeau.gif failed for pc insa-lyon.fr, reason: File does not exist access.log client, date, méthode utilisée, réponse, taille réponse wormhole.ctp.com [13/Feb/1998:20:00: ] "GET /~sfrenot/ HTTP/1.0"

72 72 Biblio Wildes WWW : « Technical Foundation of the World Wide Web » : Erik Wilde, Springer-Verlag, 1999 WebMaster in a Nutshell, O Reilly, 1997 ==> Quick Guide … W3C : WebTech : WebCompare : Parts de Marché :


Télécharger ppt "1 IFT 6800 Atelier en Technologies dinformation Chapitre 4 Technologies Internet."

Présentations similaires


Annonces Google