Master Miage Réseau. La couche Application

Dimension: px
Commencer à balayer dès la page:

Download "Master Miage 2007-2008 Réseau. La couche Application"

Transcription

1 Master Miage Réseau La couche Application

2 Applications et protocoles de couche application Application (réseau): processus répartis qui communiquent Tournent dans les hosts dans l espace utilisateur Échangent des messages pour réaliser la fonction de l application Ex : , ftp, Web Protocoles : couche Application Un morceau d une application Définit les messages échangés par les appli. et les actions à réaliser Utilise les services de communication fournis par les protocoles de couche inférieure (TCP, UDP) application transport network data link physical application transport network data link physical application transport network data link physical 2

3 Applications réseau : terminologie 3 Processus: programme qui s exécute sur un host Dans le même host, deux processus communiquent en utilisant les mécanismes IPC (définis par le système d exploitation) InterProcess Communication Deux processus tournant dans des hosts différents communiquent via un protocole de couche application Agent utilisateur (user agent): processus s interfaçant avec l utilisateur en haut et le réseau en bas Implante le protocole de couche application Web: navigateur utilitaire de mail (Mozilla, Outlook, ) Flux audio/video: media player

4 Le paradigme Client-serveur 4 Une appli réseau a deux morceaux: client et serveur Client: Initie le contact avec le serveur ( parle en 1er ) Demande un service Web: client implanté dans le navigateur; dans l utilitaire de mail application transport network data link physical request reply Serveur: Fournir les services demandés aux clients Ex : le serveur Web envoie la page Web demandée, le serveur de mail délivre le courrier application transport network data link physical

5 5 Le paradigme pair à pair (pi2pi) Un terminal est pair car il peut être à la fois client et à la fois serveur (tt le monde est sur un pied d'égalité). Ex. Download de fichier tout en laissant dispo le téléchargement sur son terminal. Pour échange de fichiers Pour calculs (xtreme web) Impose Ex. protocole commun d'échange des infos gestion des participants Napster (info centralisé) 2000 Gnutella (décentralisé) 2002 bit torrent (fractionnement fichiers)

6 Perte de données De quel service de transport une application a-t-elle besoin? Certaines appli (ex, audio) tolèrent des pertes D autres (ex transfert fichiers) nécessitent un transfert fiable à 100% Délai Certaines appli (ex, téléphonie Internet, jeux interactifs) nécessitent des délais faibles pour être efficaces Bande passante Certaines appli (ex, multimedia) nécessitent un montant minimum de BP pour être efficace D autres ( appli élastiques ) fonctionnent quelque soit la BP dont elles disposent ( , Web, transfert de fichiers) 6

7 Besoins en services de transport des applications courantes 7 Application Data loss Bandwidth Time Sensitive file transfer Web documents real-time audio/video stored audio/video interactive games financial apps no loss no loss loss-tolerant loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5Kb-1Mb video:10kb-5mb same as above few Kbps up elastic no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no

8 Les services des protocoles de transport Internet Service TCP: Orientée-connexion: connexion entre le client et le serveur Transport fiable entre processus émetteur et récepteur Contrôle de flux : l émetteur n engorge pas le récepteur Contrôle de congestion : étranglement de l émetteur quand le réseau est surchargé Ne fournit pas : garantie de délai, garantie d un minimum de bande passante Service UDP: Transfert de données non fiables entre processus émetteur et récepteur Ne fournit pas : établissement de connexion, fiabilité, contrôle de flux, contrôle de congestion, garanties de délai et de bande passante Pourquoi y a-t-il un UDP? 8

9 9 Protocoles de couche application API: Application Programming Interface Définit l interface entre l application et les couches transport Ex : socket (prise) API Internet Deux processus communiquent en envoyant des données sur la socket et en lisant les données de la socket Comment un processus identifie-t-il l autre processus avec lequel il veut communiquer? adresse IP de l host sur lequel tourne l autre processus numéro de port - permet à l host récepteur de déterminer à quel processus local le message doit être délivré plus de détails plus tard

10 10 Le Web: le protocole http http: HyperText Transfer Protocol Protocole de couche application de l application WWW Modèle client/serveur client: navigateur qui demande, reçoit et affiche des objets Web (fichier html, image JPEG, GIF, applet java, ). Le navigateur est aussi le user agent serveur: serveur Web qui envoie les objets en réponse aux requêtes http1.0: RFC 1945 http1.1: RFC 2616 PC avec IE Mac avec Netscape Navigator http request http response http request http response Serveur exécutant un serveur Web Apache

11 11 Le protocole http : plus de détails http: service de transport TCP Le client initie une connexion TCP (crée une socket) vers le serveur, en utilisant le n de port 80 Le serveur accepte les connexions TCP du client Les messages http (APDU) sont échangés entre le navigateur (client http) et le serveur Web (serveur http) La connexion TCP est fermée http est stateless Le serveur ne maintient aucune information sur les requêtes des clients aparté Les protocoles qui maintiennent un état sont complexes! Historique (état) à maintenir Si le serveur/client tombe, leurs états respectifs peuvent être incohérents, et doivent être réconciliés

12 Un exemple http Soit un utilisateur qui saisit l URL 1a. Le client http initie la connexion TCP to serveur http (processus) sur la machine Le port 80 est le numéro par défaut de ce serveur http (ce processus). temps 2. Le client http envoie un request message http (contenant l URL) sur la socket TCP 1b. Le serveur http de la machine est en attente sur la connexion TCP au port 80. Il accepte la connexion, et notifie le client 3. Le serveur http reçoit le message, forme le response message contenant l objet demandé (somedepartment/home.index), émet le message sur la socket 12 (contient du texte, et des références à 10 images jpeg )

13 Suite de l exemple http Le client http reçoit le msg de réponse contenant le fichier html, affiche le html. En parsant le fichier html, il trouve les 10 références d objets JPEG (liens) 4. Le serveur http ferme la connexion TCP temps 6. Les étapes 1 à 5 sont répétées pour chaque objet JPEG Connexion non persistante Combien de connexions TCP sont-elles nécessaires?

14 Connexions non-persistantes, persistantes 14 Non-persistante (close) http/1.0: le server serveur parse la la requête, répond, ferme la connexion TCP Combien de RTTs pour aller chercher l objet requis? 2 La connexion TCP La requête/transfert d objet La plupart des navigateurs ouvrent des connexions parallèles multiples Combien de RTT pour la page web précédente? Persistante (keep alive) Par défaut pour http/1.1 Sur la même connexion TCP : le serveur parse la requête, répond, parse la nvlle requête, Il fermera la connexion après son inutilisation durant un certain temps (configurable) Avec pipeline : Le client envoie une requête dès qu il rencontre une référence Sans pipeline : possible, pas le mode par défaut de 1.1. Le client envoie une requête après avoir reçu la réponse de la requête précédente

15 15 Format des messages http : request Deux types de messages http : request, response Le message http de request : ASCII (format lisible) request line 3 champs Header lines Carriage return, line feed indicates end of message Méthode (HEAD, POST, GET) URL requise GET /somedir/page.html HTTP/1.1 Host: Connection:close User-agent: Mozilla/4.0 Accept-language:fr (extra carriage return, line feed) Version du protocole Non persistante Netscape

16 En-tête HTTP (1.1) requêtes 16 Méthodes GET Pour demander une ressource est sans effet sur la ressource. HEAD Ne demande que des informations sur la ressource, sans demander la ressource. POST Utilisée lorsqu'une requête modifie la ressource. OPTIONS Permet d'obtenir les options de communication d'une ressource ou du serveur en général. CONNECT Permet d'utiliser un proxy comme un tunnel de communication. TRACE Demande au serveur de retourner ce qu'il a reçu. But test et diagnostic sur la connexion.

17 En-tête HTTP 1.1 Options des Requêtes 17 Host Site Web concerné par la requête (serveur hébergeant plusieurs sites à même adresse IP). Obligatoire HTTP 1.1 Referer URI du document avec lien sur la ressource demandée. User-Agent Logiciel utilisé pour se connecter. Connection Précise si la connexion est persistante (Keep Alive) ou non (close) Accept types MIME acceptés par le client (/txt/html par exemple). Accept-Charset encodages de caractères acceptés. Accept-Language langues acceptées.

18 18 Format des messages http : response status line (3 champs) header lines Data (ex : Fichier html demandé) Version du protocole Status code status phrase HTTP/ OK Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Accept-Ranges: bytes Content-Language: fr Content-Length: 6821 Content-Type: text/html ETag: "ab010-2adf-3d Last-Modified: Mon, 22 Jun 1998 data data data data data...

19 En-tête HTTP (1.1): Statuts Le chiffre des centaines représente une classe de réponses. 1xx Information 2xx Succès 3xx Redirection 4xx Erreur du client 5xx Erreur du serveur Exemples 200 OK Requête réussie, l objet demandé est dans le message 301 Moved Permanently L objet demandé a été déplacé, sa nouvelle localisation figure dans ce message (Location:) 400 Bad Request Message de requête non compris par le serveur 404 Not Found Doument demandé non trouvé sur le serveur 505 HTTP Version Not Supported 19

20 20 En-tête réponses HTTP (1.1) Options Date Moment auquel le message est généré. Server Modèle du serveur HTTP qui répond à la requête. Content-Length Taille en octets de la ressource. Content-Type type MIME de la ressource. Expires date après laquellle la ressource devrait être considérée obsolète Last-Modified Date de dernière modification de la ressource.

21 Interaction utilisateur-serveur : authentification 21 Authentification : contrôle d accès au contenu du serveur Autorisation : généralt nom, mot de passe Sans état : le client doit présenter son autorisation à chaque requête authorization: ligne d entête à chaque requête Si pas authorization: le serveur refuse l accès, et utilise le message de status code 401 WWW authenticate: client usual http request msg 401: authorization req. WWW authenticate: usual http request msg + Authorization: <cred> usual http response msg usual http request msg + Authorization: <cred> usual http response msg serveur time

22 Cookies : gardien d état 22 Le serveur génère un n d identification, qu il mémorise et qu il utilise pour : L authentification Le stockage des préférences de l utilisateur Le serveur envoie le cookie au client dans un message response Set-cookie: Le client présente le cookie dans ses requêtes futures cookie: client usual http request msg usual http response + Set-cookie: # usual http request msg cookie: # usual http response msg usual http request msg cookie: # usual http response msg serveur cookiespecific action cookiespecific action

23 GET conditionnel : cache côté client 23 But : Ne pas envoyer l objet client si le client a une version à jour dans son cache Client: spécifie la date de la version cachée dans la requête http If-modified-since: <date> Serveur : la réponse ne contient pas d objet si la version cachée est à jour : HTTP/ Not Modified http request msg If-modified-since: <date> http response HTTP/ Not Modified http request msg If-modified-since: <date> http response HTTP/ OK <data> serveur objet non modifié objet modifié

24 24 Cache Web (serveur proxy) But : satisfaire la reqûete client sans invoquer le serveur d origine L utilisateur utilise un navigateur : le Web accède au cache web Le client envoie toutes les requêtes http au cache web L objet est dans le cache: le cache l envoie Sinon le cache demande l objet au serveur d origine, puis l envoie au client client client http request http response http request http response Proxy server http request http response origin server origin server

25 Pourquoi les caches Web? 25 Hypothèse : le cache est proche du client (par ex., dans le même réseau) Réduction des temps de réponse (la réponse vient plus vite puisqu elle vient de moins loin) Réduction du trafic sur le réseau Pas de génération de trafic pour aller chercher la réponse sur un site éloigné Quelle différence de temps institutional network public Internet 1.5 Mbps access link 10 Mbps LAN origin servers institutional cache

26 Exercices I HEAD 26 Quel est l effet de cette commande (sous linux)? Quel est le type et la version du serveur HTTP distant? Quel type de connexion supporte-t-il? Connectez vous avec un telnet à l'inria (sur le port 80) et tapez la requête HTTP équivalent à cette commande. Modifiez la requête pour avoir l'ensemble des données de la page Télécharger une image contenue dans cette page Modifiez le champs Accept-langage:en.Le texte est-il en anglais? (et en remplaçant fr par en dans URI)

27 Exercices II 27 Même chose avec Nanterre? telnet 80 GET? HTTP/1.1 Host: Connection:close Essayez de vous connecter en remplaçant par ksup.u-paris10.fr dans le telnet Essayez de vous connecter en remplaçant également dans le host Identifiez vous le cookie?

28 Exercices III 28 L'URL est : Quel est le terminal (host)? Quel est le chemin du fichier? Donner la version de votre requete HTTP (contenu GET et Host) Vérifier avec Et si vous essayiez d'aller à (avec votre navigateur) Avec telnet Quel va devoir être votre réponse? Authorization: BASIC d2vibwfzdgvyonpycw1d2vibwfzdgvyonpycw1 qui est encodage (en base 64) de login:mdp

29 Les «sessions» WEB Définition Session : Connexion d'une durée indéfinie (bornée) entre un utilisateur et un correspondant (généralement un serveur). Elle nécessite l'échange de messages entre les deux parties Principe d'une session : Permet de conserver des informations sur un internaute tout au long de sa visite sur un site. Pour lui donner l'impression d'une seule connexion. Contraintes d'une session Identifier l'utilisateur alors que http est «stateless» Associer à l'utilisateur certaines valeurs Associer à l'utilisateur espace mémoire (2 nd temps) 29

30 Les «sessions» WEB Identification de la connexion Dans les cookies. Dans l'url (présente sous la forme session=xxx). Dans l'url (forme variable précise gérée par utilisateur). Sauvegarde des infos Dans la base de données du site (ou fichier) pour associer des informations à cette session. Info rémanentes. Dans l'espace mémoire associé à la session. Passage des valeurs Par les URI (?valeur) La session (valables tout le temps) 30

31 Authentification (au niveau application) Gérée par le serveur (au niveau http) 31 htaccess avec serveur Apache Mot de passe, Adresse IP Contrôle l'accès à la page elle-même Aucun fichier html renvoyé si mauvaise identification Gérée par la session (au niveau html) Fichier html renvoyé Contrôle d'accès à partir d'une page web Gestion par l'application

32 Htaccess Redirections des pages d'erreurs URL rewritting Réécriture des Index des répertoires Restriction d'accès pour un répertoire et son arborescence 2 fichiers 32 Gestion des authentification :.htaccess Gestion des mots de passe :.htpasswd Syntaxe du.htaccess (pour authentification) En tête Authentification par login Authentification ou par domaine

33 En tête :.htaccess (Restriction d'accès par nom) 33 AuthType Basic - Authentification de type basique les mots de passe circulent en clair sur le réseau (encodés en base64) AuthUserFile /chemin/absolu/sur/serveur/.htpasswd - N.B. Le nom.htpasswd peut être changé AuthName ''Le message mis pour l'utilisateur'' Activation service (autorisation nécessaire pour methode get et post) <LIMIT GET POST> require valid user </LIMIT> Fichier mots de passe (clair ou crypté MD5) login:nom

34 .htaccess (Restriction d'accès par domaine) Interdiction (autorisation) totale 34 deny from all (allow from all) IP (Autorisation IP) deny from (allow from ) Interdiction (autorisation) domaine deny from microsoft.com (allow from.fr) Ordre sur les traitements order deny allow Traite d'abord refus puis autorisations L'appliquer aux méthodes GET & POST (avec balise limit) Appliquer à un fichier balise <file nom> encapsulant config. des restrictions Modification des accès pour sous répertoire Nouveau fichier htaccess pour tout le sous rep.

35 35 FTP: File Transfer Protocol utilisateur sur host FTP user interface FTP client Système de fichiers local file transfer FTP server Transfère des fichiers d un/vers un hôte distant Modèle client/serveur client: côté qui initie le transfert (de/vers le distant) serveur: hôte distant ftp: RFC 959 serveur ftp : port 21 Système de fichiers distant

36 ftp: connexions séparées pour le contrôle et les data Le client ftp contacte le serveur ftp sur le port 21, en spécifiant TCP comme protocole de transport Deux connexions TCP parallèles sont ouvertes : Contrôle : échange des commandes et réponses entre le client et le serveur contrôle hors bande Données : fichier de données du/vers le serveur Le serveur ftp maintient un état : le répertoire courant, l authentification lors de la connexion FTP client TCP control connection port 21 TCP data connection port FTP server

37 Commandes ftp Les commandes ftp sont envoyées comme du texte ASCII sur le canal de contrôle Que font les commandes suivantes? open, user, pwd, cd, lcd, get, recv, mget, put, send, mput, status Un peu d'aide : Sur miage03, lancer le client ftp miage03$ftp help : liste des commandes ftp>? nom-commande Ouvrir une connexion avec ftp.lip6.fr en login anonyme : rapatrier le rapport LIP6 le plus récent (/lip6/reports/.) Ftp sécurisé (sftp) le lip6 accepte-t-il le ftp sécurisé? Quelles commandes sont disponible avec le sftp 37

38 Trois composants majeurs : user agents Serveurs de mail SMTP : Simple Mail Transfer Protocol Courrier électronique User Agent Appelé parfois mail reader Composer, éditer, lire les messages Ex de user agent GUI : Eudora, Outlook, Netscape Messenger Ex de user agent non GUI : elm, mail, pine Les messages sortants et entrants sont stockés sur le serveur mail server SMTP mail server user agent user agent SMTP SMTP user agent mail server outgoing message queue user mailbox user agent user agent user agent 38

39 Les serveurs de mail 39 Trois éléments Les mailbox qui contiennent les messages entrants (encore non lus) des utilisateurs La file des messages sortants (qui doivent être expédiés) Le protocole SMTP entre serveurs de mail pour envoyer les messages Modèle client/serveur Sur le serveur de mail S, le client SMTP s occupe de l expédition du mail Sur le même serveur de mail S, le serveur SMTP s occupe de la réception du mail mail server SMTP mail server user agent user agent SMTP SMTP user agent mail server user agent user agent user agent

40 40 Courrier électronique : smtp [RFC 821] Utilise tcp pour transférer de façon fiable un message d un client vers un serveur, port 25 Transfert direct : du serveur émetteur vers le serveur récepteur Trois phases de transfert Ouverture Transfert de messages Fermeture Interaction de forme commande/réponse Commandes : texte ASCII HELO, MAIL, FROM, RCPT TO, DATA, QUIT Réponses : status code et phrase Les messages doivent être en ASCII 7-bits

41 Analyse des interactions smtp 41 S: 220 miage03.miage.u-paris10.fr ESMTP Sendmail... C: HELO Ouverture miage03.miage.u-paris10.fr (handshaking) S: Hello miage03, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: 250 Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Je simule un user agent qui dialogue avec le MTA C:. transfert S: 250 Message accepted for delivery fermeture C: QUIT S: 221 miage03.miage.u-paris10.fr closing connection

42 42 Comparaison smtp - http Échange d informations Connexions persistantes Interactions de type commande/réponse et status codes en ASCII smtp Mode push l utilisateur envoie de l information et la connexion TCP est ouverte par l émetteur de l information Messages (entête & corps) en ASCII 7-bits Qq strings non permises dans les msg (CRLF.CRLF) http Mode pull l utilisateur retire de l information et la connexion TCP est ouverte par le récepteur de l information

43 Format des messages [RFC 822] (Dans le champs Data ) 43 RFC 821: standard smtp RFC 822: standard du format des messages texte Format des lignes d entête construites par le user agent To: From: Subject: différent des commandes. smtp! pas le même TO, FROM! Entête Corps Ligne de blanc Format du corps du message Caractères ASCII É, è, â, ç et autres?

44 44 Les extensions multimédia MIME: Multimedia Mail Extension, RFC 2045, 2056 Règles d encodage des données non-ascii 7 bits Des lignes supplémentaires dans l entête du message déclarent le contenu de type MIME Version MIME méthode utilisée pour coder les données (base64, quoted-printable encoding, ) Nature du contenu Données codées From: [email protected] To: [email protected] Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data

45 45 Les types MIME Content-Type: type/subtype; parameters Texte Exemples de sous-types : plain, html Vidéo Exemples de sous-types : mpeg, quicktime Image Exemples de sous-types : jpeg, gif Audio Exemples de sous-types : basic (8-bit mu-law encoded), 32kadpcm (32 kbps coding) Application Autres données qui doivent être traitées par un user agent avant d être lisibles Exemples de sous-types : msword, octet-stream Multipart Différents types de contenus Délimiteurs pour les différencier

46 Exemple de type Multipart 46 From: To: Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain Dear Bob, Please find a picture of a crepe Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data type sous-type délimiteur 1er objet : texte 2ème objet : image

47 47 Protocoles d accès mail user agent SMTP SMTP POP3 ou IMAP Serveur SMTP émetteur Serveur SMTP récepteur user agent Retrait uniquement, chargemen t en SMTP SMTP: livraison/stockage au serveur récepteur Protocole d accès mail : pour le retrait du mail POP: Post Office Protocol [RFC 1939] Autorisation (agent<->serveur) et retrait IMAP: Internet Mail Access Protocol [RFC 1730] Plus de caractéristiques (plus complexe) Manipulation de messages stockés sur le serveur.

48 48 POP3 (RFC 1939) Connexion TCP user agent - serveur sur le port 110 Phase d autorisation Commandes du client : user: déclare le nom pass: password Réponses du serveur +OK -ERR Phase de transaction, client: list: liste les n de messages retr: recherche de message par n dele: delete quit S: +OK POP3 server ready C: user alice S: +OK C: pass hungry S: +OK user successfully logged on C: list S: S: S:. C: retr 1 S: <message 1 contents> S:. C: dele 1 C: retr 2 S: <message 1 contents> S:. C: dele 2 C: quit S: +OK POP3 server signing off

49 49 HTTP et SMTP user agent HTTP SMTP HTTP user agent Serveur SMTP émetteur Serveur SMTP récepteur HTTP: Hotmail, Yahoo! Mail, etc L utilisateur peut organiser sa hiérarchie de classeurs sur le serveur (~ IMAP) Retrait & chargemen t en HTTP

50 From - Wed Dec 07 15:07: X-UIDL: X-Mozilla-Status: 0003 X-Mozilla-Status2: Return-Path: L'en-tête (à analyser) 50 Received: from hermes.u-paris10.fr ([unix socket]) by hermes.u-paris10.fr (Cyrus v2.2.10) with LMTPA; Wed, 07 Dec :06: X-Sieve: CMU Sieve 2.2 Received: from localhost (hermes [ ]) by hermes.u-paris10.fr (Postfix) with ESMTP id 547C0283DD for <[email protected]>; Wed, 7 Dec :06: (CET) Received: from web26915.mail.ukl.yahoo.com (web26915.mail.ukl.yahoo.com [ ]) by hermes.u-paris10.fr (Postfix) with SMTP id 1BB for <[email protected]>; Wed, 7 Dec :05: (CET) Received: from [ ] by web26915.mail.ukl.yahoo.com via HTTP; Wed, 07 Dec :59:06 CET

51 Exemple d interaction SMTP 51 Sur miage03, envoyer un mail sur miage03 en mode verbose miage03%mail -v [email protected] Après le subject taper sur Entree puis saisir message à la fin du message Ctrl D Consultation /var/mail/user1 Ce qui s affiche suite à la saisie de votre message est l échange entre le client SMTP et le serveur SMTP (théoriquement) Refaire la manipulation avec telnet miage03.miage.u paris10.fr 25 1) Classiquement 2) Changeant return path 3) Réécrire l'en tête.

52 Configuration Mailer agent 52 Ouvrir Thunderbird Faites Fichier -> Nouveau -> Compte Créez le avec des valeurs bidon Que signifient dans paramètres de comptes les champs : Nom Adresse electronique Nom (serveur sortant) Nom (serveur entrant) Quels va être le serveur SMTP à remplir

53 DNS: Domain Name System 53 Humains: bcp d identifications: N sécu, nom, passeport, CI Hosts & routeurs Internet : Adresse IP (32 bit) - utilisée pour adresser les datagrammes nom, (hostname) ex, miage03.miage.u-paris10.fr - utilisé par les humains Annuaire Internet : Correspondance adresse IP et nom? Domain Name System Une BD distributée implantée en une hiérarchie de plusieurs serveurs de noms Un protocole d application qui utilise UDP sur le port 53: host, routeurs, serveurs de nom communiquent pour la résolution de noms (= traduction adresse/nom et nom/adresse) À noter: fonction intrinsèque à Internet (core Internet), implantée en protocole d application Complexité au bord réseau (network s edge )

54 Les serveurs DNS (serveurs de noms) 54 Pourquoi le DNS n est-il pas centralisé? Un seul point de panne Maintenance Volume du trafic Accès distant à une BD centralisée Ne résiste pas à l échelle! Aucun serveur ne possède tous les mappings nom-@ip Serveur de noms local Chaque ISP, compagnie a un serveur de noms local (default) Un host interroge tjs en 1er le serveur de noms local Serveur de noms autorité Chaque host a et nom enregistrés sur un tel serveur Gnlt : serveur de noms local Fait la traduction nom/@ pour cet host Serveur de noms racine

55 55 Serveur racine (Root name servers) Contacté par le serveur de noms local qui ne peut pas faire une résolution Contacte le serveur de noms d autorité s il ne sait pas faire la résolution Le serveur d autorité est censé avoir l information exacte puisqu un host est tjs enregistré auprès d un tel serveur Récupère la réponse et la transmet au serveur local Questions : servers.org/ Combien y a-t-il de root servers? Où sont-ils?

56 56 Serveur racine (Root name servers) a NSI Herndon, VA c PSInet Herndon, VA d U Maryland College Park, MD g DISA Vienna, VA h ARL Aberdeen, MD j NSI (TBD) Herndon, VA k RIPE London i NORDUnet Stockholm m WIDE Tokyo e NASA Mt View, CA f Internet Software C. Palo Alto, CA b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA 13 serveurs root

57 57 L host miage03.miage.uparis10.fr veut IP de 1. Il contacte son serveur DNS local 2. Le serveur DNS local contacte le serveur root, si nécessaire 3. Le serveur root contacte le serveur d autorité, si nécessaire Un exemple simple 2 5 serveur DNS local serveur root 3 4 serveur d autorité 1 6 host miage03.miage.u-paris10.fr

58 58 Le serveur root Ne connaît pas les serveurs d autorité de tous les hosts! Connaît un serveur intermédiaire : qui contacter pour trouver le serveur d autorité Requêtes récursives Le serveur DNS A envoie une demande au serveur DNS B qui la prend en charge, et interroge C, qui à son tour prend la requête en charge etc. La réponse reviendra à A Exemple DNS plus réaliste 1 host miage03.miage.u-paris.fr 2 7 serveur DNS local (A) 8 serveur root (B) 3 6 serveur intermédiaire (C) 4 5 serveur d autorité (D)

59 59 Requêtes itératives vs requêtes récursives Reqête récursive C est le serveur contacté qui fait la résolution, pas le serveur demandeur Quid de la charge? Requête itérative Le serveur contacté (B) renvoie le nom du prochain serveur à contacter (C), et c est le serveur demandeur (A) qui s en charge (donc A contacte C) On peut mixer les 2 Cf schéma serveur DNS local (A) 1 host miage03.miage.u-paris.fr 2 8 serveur root (B) Requête itérative serveur intermédiaire (C) 5 6 serveur d autorité (D)

60 Cache DNS 60 Optimiser les applications Les applications (ftp, smtp, http) utilisent le DNS pour la résolution de noms Ex : mail to : [email protected] ou Le temps de réponse de l appli est augmenté du temps de résolution (interrogations successives de serveurs) Quand un serveur connaît une résolution (après avoir interrogé les autres serveurs), il la stocke dans un cache (mémoire locale) Une entrée du cache est supprimée après timeout ttl Lors d une demande de résolution, le serveur DNS commence par regarder son cache

61 Enregistrements DNS 61 DNS: BD distribuée stockant des resource records (RR) format d un RR : (name, value, type,ttl) Type=A name est le hostname value est IP Type=NS name est le domaine (ex u- paris10.fr) value est IP serveur d autorité pour ce domaine Durée de vie dans le serveur name est l alias pour le nom canonique (réel) est en réalité exchange.wia.org value est le nom canonique Type=CNAME Type=MX value est le nom d un serveur de mail dont l alias est name

62 Les messages du protocole DNS (DNS-PDU) 62 Protocole DNS : messages de requête et réponse, dans le même format de message Entête de message Identification : n sur 16 bits pour la requête, la réponse utilise le même n Drapeaux (flags) 1 bit : req. (0) ou rép. (1) 1 bit : si récursion voulue 1 bit : si récursion disponible 1 bit : si réponse vient de serveur d autorité Autres champs d entête : nb d occurrences des 4 types de champs data

63 Les messages du protocole DNS (DNS-PDU) 63 Le nom recherché et le type de question posée sur ce nom Les RRs fournis en réponse aux questions Les RRs provenant de serveurs d autorité Information complémentaire

64 64 L espace des noms Nom : miage03.miage.u-paris10.fr se lit de droite à gauche : fr puis u-paris10 puis miage puis miage03 Hiérarchie de domaines fr est le nom de domaine u-paris10 est le nom de sous-domaine du domaine fr Un domaine est partitionné en sous-domaines, eux-mêmes partitionnés en sous-domaines etc 700 domaines «top-level» en 2 groupes : générique et pays Les visualiser :

65 65 L arborescence des noms Domaine spécifique pour obtenir des noms à partir Racine non nommée Domaines de top niveau Domaines de 2ème niveau ar pa co m ed u no ao tu c ho st 2 go v Domaines génériques int mi l host2.tuc.noao.edu ne t or g ae.. fr.. u- pa ris 10 mi ag e0 3 miage03.miage.u-paris10.fr Domaines géographiques

66 66 La gestion des noms de domaines Qui gère les noms de domaine? Qui décide des noms de domaine? Où enregistrer un nom de domaine? Affectation d un nom de domaine top-level et 2ème niveau par l ICANN qui délègue, par ex, pour.fr, à l AFNIC Les noms de domaines (autres que top-level) sont sous la responsabilité du site demandeur

67 67 Relation domaine - serveur DNS Chaque élément de l arborescence (domaine, sousdomaine,, host) a un RR associé L arborescence des noms est divisée en zones 1 serveur d autorité par zone (serveur primaire) Par sécurité, redondance des serveurs DNS, donc plusieurs serveurs pour une zone (serveurs secondaires) Un serveur secondaire d une zone peut se trouver dans une autre zone Toute machine avec accès Internet n est pas forcément enregistrée dans le DNS Ex : miage03 Conséquence : nom inconnu du monde extérieur

68 Plusieurs sites sur la même machine Rappel Serveur www associe URL à données sur disque Technique de base nom après le domaine Les «virtual host» : création de plusieurs hôtes virtuels pour la même adresse IP (Géré par le serveur). Possibilité plusieurs domaines Ex : Et les alias DNS alors? Possibilités sous domaines Ex : cjc.jeunes-chercheurs.org guilde.jeunes-chercheur.org L'URL Rewritting (pour les pages dynamiques) Transcription URL complexe page.php?var1=3&var2=5 en page35.html 68

69 Exercices Le fichier /etc/resolv.conf Quel est le rôle de ce fichier? Le fichier /etc/hosts? Les commandes nslookup, host et dig En ligne (sous Linux ou DOS) ou sur le web nslookup dig 69 Que font ces commandes?

70 Exercices II Quel sont les noms des serveurs canoniques de : Google? Hotmail? mail.voila.fr? lemonde.fr? Combien y a-t-il de serveurs pour google.com, hotmail.com et yahoo.com? Y'a-t-il une différence avec google.fr, hotmail.fr yahoo.fr? Comment répartissent-ils leurs charge? Des offres promotionnelles de FAI proposent aux usagers d'obtenir leur propre nom de domaine. Comment font-ils 70

71 71 Auto-évaluation (vrai ou faux) Si un message de requête HTTP utilise l entête Accept-language:fr et que le serveur a uniquement une version anglaise de l objet, alors il envoie le message d erreur 404 Document Not Found Un serveur peut utiliser les cookies pour déterminer l adresse postal d un utilisateur sans son consentement Le Web envoie des objets multiples dans une page Web dans un message MIME multipart Avec un client POP3, les classeurs mail de l utilisateur sont conservés sur le serveur de mail

72 Auto-évaluation (vrai ou faux) 72 Un client mail peut envoyer des messages sur HTTP plutôt que SMTP Si un client POP3 n envoie pas la commande dele, les copies des messages que le client a chargés reste sur le serveur de mail Avec SMTP, il est possible d envoyer de multiples messages sur la même connexion TCP Les recherches dans le DNS impliquent souvent une combinaison de requêtes récursives et itératives Une université ne peut pas choisir le même nom de serveur pour le serveur web et le serveur de messagerie.

73 73 Auto-évaluation (vrai ou faux) Avec des connexions non-persistantes entre un navigateur et un serveur Web, il est possible d acheminer deux requêtes HTTP distinctes dans un seul segment TCP (une seule PDU) L entête Date: dans un message de réponse HTTP indique la date de dernière modification de l objet A un seul site correspond un seul serveur Le dns ne sert à rien si on veut équilibrer les charges sur internet. Lors du 11 septembre 2001 les personnes qui se connectaient à un proxy bénéficiaient de plus d informations que ceux qui se connectaient directement aux sites d information.

74 But et principes du cryptage 74 Principes : Transformer un texte clair en un texte illisible seulement compréhensible après cryptage décryptage par expéditeur et récepteur Opération de transformation s'appelle le cryptage et le Buts : texte illisible le texte codé ou chiffré. Confidentialité Authentification Intégrité Contrôle d'accès

75 Les Clefs Algorithme de chiffrement prend en entrée une clef Ex: L'algo de César remplace une lettre dans message en clair par une autre lettre situé k lettres plus loin et k est la clef. Clef Symétrique Les clefs de l'expediteur et du destinataire sont les mêmes Problème pour l'échange de clefs Clefs assymétriques Les clefs sont différentes (ex classique cadena et la clef) Clef publique/clef privée 75

76 Le mail sécurisé (PGP) 76 Utilisé pour crypter les mails (Pretty Good Privacy) Principe : un destinataire diffuse sa clef publique L'expéditeur utilise la clef publique du destinataire pour crypter le message. Lors de la réception le destinataire décrypte le message avec sa clef privée Utilisation Plug-in gérant le cryptage des mails (enigmail avec thunderbird) si nécessaire. OpenPGP ou gnupgp (dispo windows WinPT) Précautions : clefs publiques inaliénables

77 Principes : SSH (Secure Shell) (l'accès à distance sécurisé) Les données du client au serveur sont chiffrées. On a donc un accès distant sécurisé. Authentification mutuelle Fonctionnement Mise en place du canal sécurisé Connection du client qui doit se logger en s'authentifiant auprès du serveur. Etablissement de la connexion Serveur envoie sa clef publique au client Client envoie une clef symétrique (de session) cryptée avec la clef publique du serveur 77

78 Accès au serveur : SSH (Secure Shell) (l'accès à distance sécurisé) Authentification classique par identifiant et mot de passe. Authentification par challenge : Nécessité d'avoir déposé sa clef publique auprès serveur Envoi d'un challenge crypté à l'aide clef publique du serveur Accès si client résout le challenge Commandes (accès) ssh [email protected] ssh machine.domaine.fr:80 l user Autres services scp (transfert de fichiers) 78

79 Tunnels SSH (1) Principes 79

80 Tunnels SSH (2) Les commandes 80 Commande Tunnel simple ssh L 3028:serveur.domain.fr:25 f n [email protected] L option pour les tunnels 3028 port local port distant sur la machine distante -f et -N pour éviter les affichages Dire au user agent du mail que le serveur smtp est localhost le port est 3028

81 Tunnels SSH (3) Les commandes 81 Commande Tunnel avec relai ssh L 3110:mail.domain.fr:110 f N [email protected] acces la machine à laquelle on se connecte et qui fait le relai mail la machine cible Dire au user agent du mail que le serveur pop est localhost le port est 3110

82 Tunnels SSH (4) 82

83 83 Les sockets : l API de la couche transport

84 Socket 84 Architecture d'une socket Socket «porte» entre le protocole d appli et TCP (ou UDP) mise à

85 Les ports 85 Afficher le fichier /etc/services Quel est le rôle de ce fichier Trouver les ports des applications suivantes Kazaa Mysql Webcache Imap pops Quand puis-je utiliser ces ports sans problèmes? Pourquoi le traceroute ne marche pas à Nanterre

86 Notion de «port» Rappel architecture en couches 86 Application : FTP, HTTP, proprio Transport : UDP, TCP network application transport network Port : ~BAL dans laquelle un processus applicatif dépose ses données à expédier et récupère ses données reçues Chaque processus a un n de port : identité logique

87 Socket et port 87 Machine cliente Machine serveur Émission C / réception S socket applicat ion Émission S /réception C applicat ion socket Ex de n de ports : FTP : 21 HHTP : 80 SMTP : 25 DNS : 53 POP3 : 110 IMAP :??

88 88 Programmer avec les Sockets But : construire une application client/serveur qui communiquent en utilisant les sockets API Socket Introduit dans UNIX BSD4.1, 1981 Socket : explicitement créée, utilisée et détruite par les applications Paradigme client/serveur Deux types de services de transport service via l API socket : Datagramme non fiable (UDP) Orienté flux d octets, fiable (TCP) socket Une interface (une porte ) contrôlée par l OS, créée et possédée par une application, locale à un host à travers laquelle un processus applicatif peut à la fois envoyer et recevoir des messages vers/de un autre processus (distant ou local).

89 89 Programmation Socket avec UDP UDP : pas de connexion entre le client et le serveur Pas d établissement de connexion L émetteur envoie explicitement IP et le port de destination Le serveur doit extraire IP et le port de l émetteur dans le datagramme reçu UDP : les données transmises peuvent être reçues dans le désordre, ou perdues Vue de l application UDP fournit un transfert non fiable de groupes d octets ( datagrammes ) entre un client et un serveur

90 Progammation java Package java.net, contient deux classes La classe DatagramPacket : manipulation des PDU Les objets de la classe encapsulent Un buffer, une taille, IP, un n de port UDP Quatre constructeurs disponibles Méthodes : getadress(), getport(), getdata(), setadress(), setport(), setdata(), La classe DatagramSocket : création de socket et émission/réception des PDU Constructeur => Création de la socket Méthode send() => Émission de PDU Méthode receive() => Réception de PDU 90

91 91 Interaction socket client/serveur : UDP Serveur (tourne sur hostid) Client créer socket sur port=x, pour les requêtes entrantes : serversocket = DatagramSocket() lire requête de serversocket créer socket, clientsocket = DatagramSocket() créer et envoyer à l adresse (hostid, port=x), la requête en utilisant clientsocket écrire réponse sur serversocket en spécifiant host client et le n de port client Lire la réponse sur clientsocket fermer clientsocket

92 Exemple : un client Java (UDP) Lire des caractères saisis au clavier k e y b o a r d m o n i t o r 2 - Créer une socket 3 - Initialiser la PDU 4 - Envoyer la PDU Processus Client P r o c e s s i n p u t s t r e a m infromuser 6 - Afficher les résultats 5 - Recevoir la PDU U D P p a c k e t sendpacket receivepacket U D P p a c k e t c l i e n t S o c k e t socket client UDP U D P s o c k e t port t o n e t w o r k f r o m n e t w o r k

93 Exemple : le client Java (UDP) class MonUDPClient { public static void main(string args[]) throws Exception { // 1 - Creation du buffer de lecture clavier BufferedReader infromuser = new BufferedReader (new InputStreamReader(System.in)); // 2 - Creation de la socket, n de port par defaut DatagramSocket clientsocket = new DatagramSocket(); System.out.println("socket cliente attachee au port " + clientsocket.getlocalport()); // 3 - Recuperation de l'@ip du serveur InetAddress IPAddress =InetAddress.getByName("miage03.miage.u-paris10.fr"); // 3bis - preparation de l'echange byte[] senddata = new byte[1024]; byte[] receivedata = new byte[1024]; String sentence = infromuser.readline(); senddata = sentence.getbytes(); int length = senddata.length(); // 3ter - Initialisation de la (UDP)PDU a emettre DatagramPacket sendpacket = new DatagramPacket (senddata, senddata.length, IPAddress, 9876); // 4 - Emission de la (UDP)PDU clientsocket.send(sendpacket);

94 94 Exemple : le client Java (UDP) // 5 - Creation d'un buffer de (UDP)PDU arrivant sur la socket DatagramPacket receivepacket = new DatagramPacket (receivedata, receivedata.length); // 5bis - Reception de la (UDP)PDU clientsocket.receive(receivepacket); // 6 - Affichage des donnees recues String modifiedsentence = new String (receivepacket.getdata()); System.out.println("FROM SERVER: " + modifiedsentence); } // Fermeture de la socket clientsocket.close(); }

95 Exemple : le serveur Java (UDP) 95 class MonUDPServer { public static void main(string args[]) throws Exception { // creation d'une socket sur le port Le serveur attend sur ce port DatagramSocket serversocket = new DatagramSocket(9876); byte[] receivedata = new byte[1024]; byte[] senddata = new byte[1024]; while(true){ // Traitement de la reception // creation d'un buffer de (UDP)PDU arrivant sur la socket DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); // reception d'un (UDP)PDU sur la socket serversocket.receive(receivepacket); // rangement du champ de donnees de l'(udp)pdu dans une string String sentence = new String(receivePacket.getData()); // recuperation de l'@ IP de l'emetteur InetAddress IPAddress = receivepacket.getaddress(); // recuperation du n de port de l'emetteur int port = receivepacket.getport(); // traitement du champ de donnees String capitalizedsentence = sentence.touppercase();

96 Exemple : le serveur Java (UDP) 96 // Traitement de l'emission // initialisation du champ de donnees de l'(udp) PDU a emettre senddata = capitalizedsentence.getbytes(); } } // initalisation de l'(udp)pdu en reponse, donc a l'@ip et n port DatagramPacket sendpacket = new DatagramPacket(sendData, senddata.length, IPAddress, port); // emission de l'(udp)pdu en reponse serversocket.send(sendpacket); }

97 EXERCICE : Ecrire Votre programme echoudp 97 L utilisateur (sur client) lance une commande (en ligne de commande) : java echoudpclient miagexx.domain.fr «TexteSaisi» Rôle du client : Se connecter au serveur indiqué en param Envoyer au serveur «TexteSaisi» Attendre la réponse et Afficher la réponse reçue Rôle du serveur : Attendre une requête Renvoyer «TexteSaisi» arrivé dans une requête Indication : les paramètres de la PDU envoyée par le serveur sont ceux qu il reçoit => utilisation des méthodes getxxx et setxxx

98 Exécution et affichage 98 L utilisateur saisit sur le client : java echoudpclient miage03.miage.u paris10.fr «ceci est le texte original saisi sur le client» Le résultat affiché sur le client est : socket cliente attachee au port octets emis vers le serveur miage03.miage.u-paris10.fr/ FROM SERVER / : octets recus ECHO = ceci est le texte original saisi sur le client Le serveur affiche : Socket serveur en écoute sur le port Segment UDP # octets reçus texte:

99 Exécution de l application 99 Placer le code du client sur votre machine locale 1 Placer le code du serveur sur votre machine (le client se connecte à localhost) 2 Placer le code serveur sur miage03 Pour chacun d eux, compiler (si VM différentes) Lancer l exécution du serveur (sur la machine miage) Exécuter le client (on pourrait lancer le client d abord, mais il ne se passera rien, i.e. il sera bloqué en attente tant que le serveur ne sera pas lancé) Attention les ports du serveur doivent être uniques à chaque binôme

100 Autres exercices (option) Faire en sorte qu'il y ait plus qu'une phrase échangée avant de fermer la socket. Echange avec différents serveurs 100 demander son port à votre voisin lui écrire et attendre sa réponse Echange avec différents serveurs II Garder les coordonnées de chacun des clients qui se sont connecté. Envoye chaque message à chacun des clients (???)

101 Un exercice de modélisation le miage chat A partir des programmes UDP déjà créés on voudrait faire un chat réservé aux membres de la miage. 101 Réflechir aux fonctionnalités qu'il faudrait ajouter pour rendre cela possible Du côté serveur Du côté client

102 102 Programmation Socket avec TCP Le client doit contacter le serveur Le serveur est lancé Il a créé une socket et est en attente Le client contacte le serveur par : La création d une socket TCP locale La spécification d IP et du n de port du processus serveur Quand le client crée une socket le client TCP établit une connexion avec le serveur TCP Sur requête du client, le serveur TCP crée une nvlle socket pour que le processus serveur communique avec le client Permet à un serveur de parler à de multiples clients «en même temps» Vue de l application TCP fournit un transfert d octets fiable et ordonné ( tube ) entre un client et un serveur

103 103 Différences avec UDP Mode connecté vs mode non connecté Établissement de connexion Le serveur doit être prêt à accueillir des demandes de connexion Quand une demande arrive, il crée une socket pour le client Flux de données attaché à la socket Pas besoin de donner et le n de port à chaque envoi

104 Programmation Java 104 Package java.net, contient deux classes Classe serversocket utilisée par le serveur Constructeur = création d un serveur d accueil Méthode accept() pour créer une socket serveur sur demande du client Classe Socket (~DatagramSocket) utilisée par le client et le serveur pour la manipulation du flux Constructeur = demande de connexion par le client et création de la socket client Méthodes getouputstream() et getinputstream() utilisées par le client et le serveur pour échanger des données

105 105 Interaction socket client/serveur : TCP Server (tourne sur hostid) create socket, port=x, for incoming request: welcomesocket = ServerSocket() Client wait for incoming connection request connectionsocket = welcomesocket.accept() read request from connectionsocket write reply to connectionsocket close connectionsocket TCP connection setup create socket, connect to hostid, port=x clientsocket = Socket() send request using clientsocket read reply from clientsocket close clientsocket

106 106 Exemple : un client Java (TCP) k e y b o a r d m o n i t o r Le client lit du clavier (stream infromuser), et envoie au serveur via la socket (stream outtoserver) Le serveur lit le flux provenant de la socket Il convertit les données en les mettant en majuscule et les renvoit au client Le client lit et affiche les données modifiées lui arrivant via la socket (stream infromserver) Client P r o c e s s process output stream: sequence of bytes out of process i n p u t s t r e a m o u t p u t s t r e a m infromuser outtoserver Input stream: sequence of bytes into process infromserver client TCP c l i e n t S o c k e t socket i n p u t s t r e a m T C P s o c k e t t o n e t w o r k f r o m n e t w o r k

107 Exemple : le client Java (TCP) 107 import java.io.*; import java.net.*; class TCPClient { public static void main(string argv[]) throws Exception { String sentence; String modifiedsentence; Lecture du clavier Création de la socket client & demande de connexion Création du flux en sortie attaché à la socket BufferedReader infromuser = new BufferedReader(new InputStreamReader(System.in)); Socket clientsocket = new Socket( miage18.miage.u-paris10.fr", 6789); DataOutputStream outtoserver = new DataOutputStream(clientSocket.getOutputStream());

108 108 Exemple : le client Java (TCP) Création du flux en entrée attaché à la socket Emission des données au serveur Lecture des données arrivant du serveur BufferedReader infromserver = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); sentence = infromuser.readline(); outtoserver.writebytes(sentence + '\n'); modifiedsentence = infromserver.readline(); System.out.println("FROM SERVER: " + modifiedsentence); clientsocket.close(); } }

109 109 Exemple : le serveur Java (TCP) import java.io.*; import java.net.*; class TCPServer { Création de la socket d accueil au port 6789 Attente d une demande de connexion sur la socket d accueil Création du flux en entrée attaché à la socket public static void main(string argv[]) throws Exception { String clientsentence; String capitalizedsentence; ServerSocket welcomesocket = new ServerSocket(6789); while(true) { Socket connectionsocket = welcomesocket.accept(); BufferedReader infromclient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));

110 110 Exemple : le serveur Java (TCP) Création du flux en sortie attaché à la socket DataOutputStream outtoclient = new DataOutputStream(connectionSocket.getOutputStream()); Lecture des données arrivant du client clientsentence = infromclient.readline(); capitalizedsentence = clientsentence.touppercase() + '\n'; Emission des données au client } } } outtoclient.writebytes(capitalizedsentence); Fin de boucle => reboucle et attend la connexion d un nouveau client

111 Un mini serveur Web 111 Le client va être un navigateur web quelconque avec comme URL : - paris10.fr:6879/mapage.htm Le serveur web va être implémenté à partir de TCPserveur dans 1 nveau fichier WebServeur. On suppose que mapage.htm existe dans le repertoire dans lequel est lancé webserveur. On ne traite que 3 cas soit on a la méthode «GET» soit on renvoie un bad request Message. (400) Soit on ne trouve pas le fichier

112 Le site Web Taper une page html simple 1.Le header vide : <head> </head> 2.Le body avec juste un titre: <body> <h1> blabla </h1> </body> 3.Enregistrée sous forme texte simple avec extension.htm 2.Tester si cette page s'affiche correctement en l'ouvrant comme un fichier avec votre navigateur. 3.Taper le code (pour le parsing) du serveur 4.Tester le bon envoi des données en demandant la page au moyen d'un telnet 5.Accèder à la page sur votre serveur à l'aide de votre navigateur (si étape précedente fonctionne)

113 Parsing Le code String requestmessageline = infromclient.readline(); StringTokenizer tokenizedline = new StringTokenizer(requestMessageLine); if (tokenizedline.nexttoken().equals( GET )){ String filename = tokenizedline.nexttoken(); if (filename.startswith( / ) ==true) filename= filename.substring(1); // code envoi des données avec test par try and catch si fichier existe} else { envoi d un bad request} Envoi des données (cas ou le fichier existe) outtoclient.writebytes( HTTP/ Document Follows\r\n ); outtoclient.writebytes( Content-Type: text/html \r\n ); File fichier = new File(filename); Transformation du fichier en octets et envoi int numofbytes = (int) fichier.length; FileInputStream infile = new FileInputStream(filename); byte[ ] fileinbytes = new byte[numofbytes]; infile.read(fileinbyte); outtoclient.writebytes( Content-length: + numofbytes + \r\n ); outtoclient.writebytes( \r\n ); outtoclient.write(fileinbytes,0,numofbytes); 113

114 Socket TCP avec Thread On voudrait observer le traitement des différentes données qui arrivent sur une socket TCP. Pour cela reprenez l'exemple du echo. Ouvrez deux sockets différentes qui afficheront des mots différents. L'envoi effectif du mot sur la socket sera contrôlé par l'utilisateur. Ouvrez la première socket saisissez votre mot ne l'envoyez pas. Ouvrez la seconde socket saisissez votre mot, envoyez le. Envoyez le mot de la première socket. Que se passe-t-il? 114

115 Socket TCP avec Thread Comment faire pour qu'un processus traite une seule socket dédiée (sur le serveur). Le main (le serveur) public static void main(string args[]) { try { ServerSocket socketaccueil = new ServerSocket(port); // ouverture d'un socket serveur sur port while (true) // attente en boucle de connexion (bloquant sur.accept) { new SocketThread(socketaccueil.accept()); // un client se connecte, un nouveau thread client est lancé } } catch (Exception e) { } }

116 Socket Thread (3) Le thread et son constructeur 116 class SocketThread implements Runnable{ private Thread thr; // contiendra le thread du client private Socket sock; // recevra le socket liant au client private DataOutputStream sortie; // pour gestion du flux de sortie private BufferedReader entree; // pour gestion du flux d'entrée // constructeur SocketThread(Socket s) //param s est donné dans main par ss.accept() { try { // fabrication flux IO sortie = new DataOutputStream(sock.getOutputStream()); entree = new BufferedReader(new InputStreamReader (sock.getinputstream())); } catch (IOException e){ } thr = new Thread(this); // instanciation du thread thr.start(); //demarrage thread, methode run(), contient commandes, lancées }

Protocole applicatif. Quel est le service de transport nécessaire à une application? Besoin en service de transport

Protocole applicatif. Quel est le service de transport nécessaire à une application? Besoin en service de transport Applications et protocoles applicatifs Applications réseaux : le jargon Applications: communiquant, processus distribués S exécutent dans les hôtes dans l «espace utilisateurs» Échangent des messages pour

Plus en détail

L3 informatique TP n o 2 : Les applications réseau

L3 informatique TP n o 2 : Les applications réseau L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique

Plus en détail

Serveurs de noms Protocoles HTTP et FTP

Serveurs de noms Protocoles HTTP et FTP Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et

Plus en détail

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol IUT IUT d'orsay réseaux réseaux Protocoles d'applications Le courrier électronique Divers éléments POP3 IMAP protocole de transport format de l entête, de ses champs, des adresses électroniques standard

Plus en détail

Couche application 1

Couche application 1 Couche application 1 Couche application Applications réseau = raisons d'être des réseaux informatiques Nombreuses applications créées depuis 30 ans Text-based (80s) : accès distant, email, transfert de

Plus en détail

Couche application. La couche application est la plus élevée du modèle de référence.

Couche application. La couche application est la plus élevée du modèle de référence. Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application

Plus en détail

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068 HTTP/1.1 RFC 2068 1 Caractéristiques Niveau application Sans état Tout transfert de données Au dessus du protocole TCP Largement utilisé dans le World Wide Web Utilise les normes : URI (Uniform Resource

Plus en détail

Réseaux. 1 Généralités. E. Jeandel

Réseaux. 1 Généralités. E. Jeandel 1 Généralités Réseaux Couche Application E. Jeandel Couche application Dernière couche du modèle OSI et TCP/IP Échange de messages entre processus Protocole Un protocole de niveau application doit spécifier

Plus en détail

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5 Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur

Plus en détail

FTP & SMTP. File Transfert Protocol. Deux applications fondamentales pour le réseau Internet. Un protocole d échange de fichier «au dessus» de TCP :

FTP & SMTP. File Transfert Protocol. Deux applications fondamentales pour le réseau Internet. Un protocole d échange de fichier «au dessus» de TCP : FTP & SMTP Deux applications fondamentales pour le réseau Internet. File Transfert Protocol Rapide Historique : 1971 : Première version du protocole définit par le M.I.T. 1973 : Première documentation

Plus en détail

18 TCP Les protocoles de domaines d applications

18 TCP Les protocoles de domaines d applications 18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles

Plus en détail

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion HTTP IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin HTTP Introduction et architecture Messages Authentification Conclusion 1 HTTP Introduction et architecture Hypertext Transfert Protocol URI (Uniform

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

Introduction. Adresses

Introduction. Adresses Architecture TCP/IP Introduction ITC7-2: Cours IP ESIREM Infotronique Olivier Togni, LE2I (038039)3887 [email protected] 27 février 2008 L Internet est basé sur l architecture TCP/IP du nom

Plus en détail

Outils de l Internet

Outils de l Internet Outils de l Internet -Infrastructures des réseaux nationaux -Protocoles et RFC -Applications - Netscape 6 -Techniques de recherche sur l Internet P.Razac/CNAM - Outils de l'internet 1 Infrastructures des

Plus en détail

HTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ...

HTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ... HTTP 1.1 Place de http dans le modèle osi : HyperText Transfer Protocol...... TCP IP...... HTTP est un protocole «sans état» : chaque page WEB est transmise dans une connexion séparée (sauf pour les connections

Plus en détail

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant. Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de

Plus en détail

Chapitre : Les Protocoles

Chapitre : Les Protocoles Chapitre : Les Protocoles Outils de l Internet Joyce El Haddad DU1 MI2E Université Paris Dauphine 2009-2010 1 Plan 1. Le modèle TCP/IP 2. Les adresses IP 3. Le Protocole IP 4. Le Protocole TCP 5. Les Protocoles

Plus en détail

Les commandes relatives aux réseaux

Les commandes relatives aux réseaux SHELL Les commandes relatives aux réseaux L'accès aux ou via les réseaux est devenu vital, aussi, les commandes traditionnelles de connexion et de transfert de fichiers ont été remplacées par des commandes

Plus en détail

SSH, le shell sécurisé

SSH, le shell sécurisé , le shell sécurisé Objectifs : 1. Présenter le protocole et les outils associés Sébastien JEAN Pourquoi 1/2? Les services standards ne supportent que peu de propriétés de sécurité souvent l identification,

Plus en détail

Protocoles Applicatifs

Protocoles Applicatifs Programmation Réseau Protocoles Applicatifs [email protected] UFR Informatique 2011-2012 Protocoles Protocoles applicatifs on appelle protocole applicatif ou protocole d application

Plus en détail

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free. 2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement

Plus en détail

FTP & SMTP. Deux applications fondamentales pour le réseau Internet.

FTP & SMTP. Deux applications fondamentales pour le réseau Internet. & SMTP Deux applications fondamentales pour le réseau Internet. File Transfer Protocol Protocole d'échange de fichier : envoi / réception de fichiers au dessus de TCP client (machine de l utilisateur)

Plus en détail

L3 informatique Réseaux : Configuration d une interface réseau

L3 informatique Réseaux : Configuration d une interface réseau L3 informatique Réseaux : Configuration d une interface réseau Sovanna Tan Septembre 2009 Révision septembre 2012 1/23 Sovanna Tan Configuration d une interface réseau Plan 1 Introduction aux réseaux 2

Plus en détail

Introduction à HTTP. Chapitre 3 3.1 HTTP 0.9

Introduction à HTTP. Chapitre 3 3.1 HTTP 0.9 Chapitre 3 Introduction à HTTP L HyperText Transfer Protocol, plus connu sous l abréviation HTTP (littéralement protocole de transfert hypertexte ) est un protocole de communication client-serveur développé

Plus en détail

Administration réseau Résolution de noms et attribution d adresses IP

Administration réseau Résolution de noms et attribution d adresses IP Administration réseau Résolution de noms et attribution d adresses IP A. Guermouche A. Guermouche Cours 9 : DNS & DHCP 1 Plan 1. DNS Introduction Fonctionnement DNS & Linux/UNIX 2. DHCP Introduction Le

Plus en détail

L identité numérique. Risques, protection

L identité numérique. Risques, protection L identité numérique Risques, protection Plan Communication sur l Internet Identités Traces Protection des informations Communication numérique Messages Chaque caractère d un message «texte» est codé sur

Plus en détail

Quelques protocoles et outils réseaux

Quelques protocoles et outils réseaux Quelques protocoles et outils réseaux 1 Adresses MAC et IP ifconfig Chaque point de connexion d un réseau est identifié par une adresse MAC (physique) et une adresse IP (logique). Pour l adresse MAC, il

Plus en détail

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER Internets Informatique de l Internet: le(s) Internet(s) Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III RENATER, R3LR Services Internet Protocoles Web Sécurité Composantes de l internet

Plus en détail

Domain Name System. Schéma hiérarchique. Relation nom-@ip-type-ttl

Domain Name System. Schéma hiérarchique. Relation nom-@ip-type-ttl Relation nom-@ip-type-ttl IP assure service sans connexion ICMP envoi de messages entre couches IP de nœuds IGMP gestion appartenance à un groupe Xcast TCP assure service fiable avec connexion FTP transfert

Plus en détail

Cisco Certified Network Associate

Cisco Certified Network Associate Cisco Certified Network Associate Version 4 Notions de base sur les réseaux Chapitre 3 01 Quel protocole de la couche application sert couramment à prendre en charge les transferts de fichiers entre un

Plus en détail

Services Réseaux - Couche Application. TODARO Cédric

Services Réseaux - Couche Application. TODARO Cédric Services Réseaux - Couche Application TODARO Cédric 1 TABLE DES MATIÈRES Table des matières 1 Protocoles de gestion de réseaux 3 1.1 DHCP (port 67/68)....................................... 3 1.2 DNS (port

Plus en détail

Mr. B. Benaissa. Centre universitaire Nâama LOGO

Mr. B. Benaissa. Centre universitaire Nâama LOGO Mr. B. Benaissa Centre universitaire Nâama Dans ce chapitre, nous allons examiner le rôle de la couche application. Nous découvrirons également comment les applications, les services et les protocoles

Plus en détail

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

(structure des entêtes)

(structure des entêtes) Aide mémoire HTTP (structure des entêtes) Fabrice HARROUET École Nationale d Ingénieurs de Brest http://www.enib.fr/~harrouet/ enib 1/10 Structure générale d une requête Requête HTTP méthode ressource

Plus en détail

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement SIP Nguyen Thi Mai Trang LIP6/PHARE [email protected] UPMC - M2 Réseaux - UE PTEL 1 Plan Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement UPMC -

Plus en détail

Applications. Applications. Le système de nommage d Internet: Domain Name System. Applications. service de noms

Applications. Applications. Le système de nommage d Internet: Domain Name System. Applications. service de noms Applications DNS, telnet, ssh, ftp, WWW, X-Window e-mail : SMTP, POP, IMAP Développées au dessus des protocoles TCP et/ ou UDP Ports spécifiques (voir /etc/services sousles Unix)! DNS service de noms!

Plus en détail

Étude de l application DNS (Domain Name System)

Étude de l application DNS (Domain Name System) Étude de l application DNS (Domain Name System) RICM 4 - Option Réseaux Pascal Sicard Introduction Le but de ce TP est de comprendre l utilisation et le fonctionnement de l application réseau DNS (Domain

Plus en détail

Devoir Surveillé de Sécurité des Réseaux

Devoir Surveillé de Sécurité des Réseaux Année scolaire 2009-2010 IG2I L5GRM Devoir Surveillé de Sécurité des Réseaux Enseignant : Armand Toguyéni Durée : 2h Documents : Polycopiés de cours autorisés Note : Ce sujet comporte deux parties. La

Plus en détail

Domain Name System. F. Nolot

Domain Name System. F. Nolot Domain Name System F. Nolot 1 Domain Name System Principe F. Nolot 2 Les besoins Internet est composé de plusieurs réseaux Chaque réseau est composé de sous réseaux Les sous réseaux sont constitués de

Plus en détail

Programmation Réseau. ! UFR Informatique ! 2013-2014. [email protected]

Programmation Réseau. ! UFR Informatique ! 2013-2014. Jean-Baptiste.Yunes@univ-paris-diderot.fr Programmation Réseau [email protected]! UFR Informatique! 2013-2014 1 Programmation Réseau Introduction Ce cours n est pas un cours de réseau on y détaillera pas de protocoles de

Plus en détail

Dans l'épisode précédent

Dans l'épisode précédent Dans l'épisode précédent 2 Le réseau SERVEURS POSTE CLIENT POSTE CLIENT wifi SERVEURS POSTE CLIENT switch Borne Wifi SERVEURS routeur POSTE CLIENT? SERVEURS SERVEURS SERVEURS POSTE CLIENT SERVEURS 3 Les

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

Protection des protocoles www.ofppt.info

Protection des protocoles www.ofppt.info ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail Protection des protocoles DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Sommaire 1. Introduction... 2

Plus en détail

DHCP et NAT. Cyril Rabat [email protected]. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013

DHCP et NAT. Cyril Rabat cyril.rabat@univ-reims.fr. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013 DHCP et NAT Cyril Rabat [email protected] Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 22-23 Cours n 9 Présentation des protocoles BOOTP et DHCP Présentation du NAT Version

Plus en détail

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

Plus en détail

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée Trois services à la loupe Services sur réseaux Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée Plan du cours : 1. Services de messagerie Architecture Fonctionnement Configuration/paramétrage

Plus en détail

Table des matières. 2011 Hakim Benameurlaine 1

Table des matières. 2011 Hakim Benameurlaine 1 Table des matières 1 OpenSSH... 2 1.1 Introduction... 2 1.2 Installation... 2 1.3 Test de connexion... 2 1.4 Configuration du serveur ssh... 3 1.5 Contrôle du service ssh... 4 1.6 Log... 4 1.7 Client ssh...

Plus en détail

Introduction aux Technologies de l Internet

Introduction aux Technologies de l Internet Introduction aux Technologies de l Internet Antoine Vernois Université Blaise Pascal Cours 2006/2007 Introduction aux Technologies de l Internet 1 Au programme... Généralités & Histoire Derrière Internet

Plus en détail

Résolution de noms. Résolution de noms

Résolution de noms. Résolution de noms cb (C:\Documents and Settings\bcousin\Mes documents\enseignement\res (UE18)\12.DNS.fm- 25 janvier 2009 13:15) PLAN Introduction Noms des domaines de noms Principe de la résolution de noms La résolution

Plus en détail

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : 172.16.0.253 et un masque 255.255.0.0

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : 172.16.0.253 et un masque 255.255.0.0 RES_TP3 Objectifs : Les réseaux informatiques : Client - Serveur Utilisation de serveurs DHCP HTTP DNS FTP Configuration basique d un routeur Utilisation du simulateur CISCO PACKET TRACER G.COLIN Architecture

Plus en détail

Glossaire. www.themanualpage.org ( themanualpage.org) soumises à la licence GNU FDL.

Glossaire. www.themanualpage.org ( themanualpage.org) soumises à la licence GNU FDL. Glossaire Ce glossaire contient les termes techniques et de spécialité les plus employés dans cette thèse. Il emprunte, pour certaines d entre elles, les définitions proposées par www.themanualpage.org

Plus en détail

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia Olivier Togni Université de Bourgogne, IEM/LE2I Bureau G206 [email protected] 24 mars 2015 2 de 24 M1 Informatique, Réseaux Cours

Plus en détail

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Proxy et reverse proxy. Serveurs mandataires et relais inverses Serveurs mandataires et relais inverses Qu'est-ce qu'un proxy? Proxy = mandataire (traduction) Un proxy est un service mandataire pour une application donnée. C'est à dire qu'il sert d'intermédiaire dans

Plus en détail

Présentation Internet

Présentation Internet Présentation Internet 09/01/2003 1 Sommaire sières 1. Qu est-ce que l Internet?... 3 2. Accéder à l Internet... 3 2.1. La station... 3 2.2. La connection... 3 2.3. Identification de la station sur Internet...

Plus en détail

SERVEUR HTTP Administration d apache

SERVEUR HTTP Administration d apache 1 SERVEUR HTTP Administration d apache PLAN Introduction: Présentation HTTP; Installation et configuration d apache; VirtualHosts; Aliasing; Limitation d accès. 2 PROTOCOLE HTTP PRÉSENTATION HTTP : HyperText

Plus en détail

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x SQUID P r o x y L i b r e p o u r U n i x e t L i n u x 1. P r é s e n t a t i o n : SQUID est un proxy (serveur mandataire en français) cache sous linux. De ce fait il permet de partager un accès Internet

Plus en détail

Domain Name System 5 0 0 2 ot ol F. N 1

Domain Name System 5 0 0 2 ot ol F. N 1 Domain Name System 1 Domain Name System Principe 2 Les besoins Internet est composé de plusieurs réseaux Chaque réseau est composé de sous-réseaux Les sous-réseaux sont constitués de machines Il est possible

Plus en détail

Hébergement de site web Damien Nouvel

Hébergement de site web Damien Nouvel Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture

Plus en détail

Présentation du modèle OSI(Open Systems Interconnection)

Présentation du modèle OSI(Open Systems Interconnection) Présentation du modèle OSI(Open Systems Interconnection) Les couches hautes: Responsables du traitement de l'information relative à la gestion des échanges entre systèmes informatiques. Couches basses:

Plus en détail

TAGREROUT Seyf Allah TMRIM

TAGREROUT Seyf Allah TMRIM TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

INF8007 Langages de script

INF8007 Langages de script INF8007 Langages de script Sockets et serveur 1/18 INF8007 Langages de script Sockets et serveur Michel Desmarais Génie informatique et génie logiciel École Polytechnique de Montréal Hiver, 2014 INF8007

Plus en détail

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication Chapitre VII : Principes des réseaux Structure des réseaux Types de réseaux La communication Les protocoles de communication Introduction Un système réparti est une collection de processeurs (ou machines)

Plus en détail

Tous les logiciels cités dans ce document sont des marques déposées de leurs propriétaires respectifs

Tous les logiciels cités dans ce document sont des marques déposées de leurs propriétaires respectifs * / VHUYHX 3UR[ :LQ*DWH,QVWDOODWLRQ &RQILJXUDWLR + GH,-, HUYLFH, :LQ*DWH &RQILJXUDWLRQ. GH. DSSOLFDWLRQ. FOLHQWHV FKULVWRSKHFDURQ#HGXFDJULIU! "# $&%' ( ) Tous les logiciels cités dans ce document sont

Plus en détail

Cours admin 200x serveur : DNS et Netbios

Cours admin 200x serveur : DNS et Netbios LE SERVICE DNS Voici l'adresse d'un site très complet sur le sujet (et d'autres): http://www.frameip.com/dns 1- Introduction : Nom Netbios et DNS Résolution de Noms et Résolution inverse Chaque composant

Plus en détail

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP.

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP. Le système de transfert de fichiers d'internet Bernard Cousin Université de Rennes I laboratoire IRISA http://www.univ-rennes1.fr/ Plan Introduction aux systèmes de transfert de fichiers Le protocole FTP

Plus en détail

1 Introduction...3 1.1 Propos du document...3 1.2 Introduction...3 1.3 De HTTP 1.0 à HTTP 1.1...3

1 Introduction...3 1.1 Propos du document...3 1.2 Introduction...3 1.3 De HTTP 1.0 à HTTP 1.1...3 Tutorial HTTP 1 Introduction...3 1.1 Propos du document...3 1.2 Introduction...3 1.3 De HTTP 1.0 à HTTP 1.1...3 2 URL HTTP...4 2.1 Format d une URL HTTP...4 2.2 Champs de l URL HTTP...4 2.3 Encodage d

Plus en détail

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

TP réseaux 4 : Installation et configuration d'un serveur Web Apache TP réseaux 4 : Installation et configuration d'un serveur Web Apache Objectifs Installer, configurer, lancer et administrer le serveur Web Apache sous Linux Données de base machine fonctionnant sous Linux

Plus en détail

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86 Tunnels et VPN 22/01/2009 Formation Permanente Paris6 86 Sécurisation des communications Remplacement ou sécurisation de tous les protocoles ne chiffrant pas l authentification + éventuellement chiffrement

Plus en détail

Les services usuels de l Internet

Les services usuels de l Internet Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet Courrier électronique (mail) - protocole SMTP (Simple Mail Transfer Protocol) inclut maintenant tous types

Plus en détail

Module http MMS AllMySMS.com Manuel d intégration

Module http MMS AllMySMS.com Manuel d intégration Module http MMS AllMySMS.com Manuel d intégration Objectif du document... 3 1 Envoi de MMS par requête http... 4 1.1 Format de la requête utilisée... 4 1.2 Arborescence et explication des balises du flux

Plus en détail

Sécurité des réseaux Les attaques

Sécurité des réseaux Les attaques Sécurité des réseaux Les attaques A. Guermouche A. Guermouche Cours 2 : Les attaques 1 Plan 1. Les attaques? 2. Quelques cas concrets DNS : Failles & dangers 3. honeypot A. Guermouche Cours 2 : Les attaques

Plus en détail

L annuaire et le Service DNS

L annuaire et le Service DNS L annuaire et le Service DNS Rappel concernant la solution des noms Un nom d hôte est un alias assigné à un ordinateur. Pour l identifier dans un réseau TCP/IP, ce nom peut être différent du nom NETBIOS.

Plus en détail

Le service de nom : DNS

Le service de nom : DNS Le service de nom : DNS Cyril Rabat [email protected] Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013 Cours n 8 DNS : schéma de nommage, protocole Version 29 septembre

Plus en détail

Développement Web. Les protocoles

Développement Web. Les protocoles Développement Web NFA016 2007-2008 Les protocoles CNAM le 28 octobre 2007 O. Pons S. Rosmorduc M. Simonot 1 / 27 Notion de protocole Un réseau : ensemble de machines reliées entre elles. Communiquer :

Plus en détail

Installation et utilisation d'un certificat

Installation et utilisation d'un certificat 1 IceWarp Merak Mail Server Installation et utilisation d'un certificat Icewarp France octobre 2007 2 Icewarp Merak Mail Serveur : Guide de mises à jour à la version 9 Sommaire Introduction...3 Situation

Plus en détail

Administration Système & Réseau. Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS

Administration Système & Réseau. Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS 1/25 Administration Système & Réseau Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS Dynamic Host Configuration Protocol L3 STRI 2005 Philippe Latu philippe.latu(at)linux-france.org

Plus en détail

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE Table des matières Principes de FTPS... 2 Généralités... 2 FTPS en mode implicite... 2 FTPS en mode explicite... 3 Certificats SSL / TLS... 3 Atelier de tests

Plus en détail

SUJET DES FINALES NATIONALES Sujet jour 1 version 1

SUJET DES FINALES NATIONALES Sujet jour 1 version 1 METIER 39 Administrateur Systèmes et Réseaux Informatiques SUJET DES FINALES NATIONALES Sujet jour 1 version 1 Planning de la journée : 8h00 8h15 : Lecture du sujet 8h15 8h30 : Questions / Réponses 8h30

Plus en détail

Plan. Programmation Internet Cours 3. Organismes de standardisation

Plan. Programmation Internet Cours 3. Organismes de standardisation Plan Programmation Internet Cours 3 Kim Nguy ên http://www.lri.fr/~kn 1. Système d exploitation 2. Réseau et Internet 2.1 Principes des réseaux 2.2 TCP/IP 2.3 Adresses, routage, DNS 30 septembre 2013 1

Plus en détail

Exemple d application: l annuaire DNS Claude Chaudet

Exemple d application: l annuaire DNS Claude Chaudet Exemple d application: l annuaire DNS Claude Chaudet 66 Institut Mines-Télécom Nommage des machines sur Internet n Le DNS (Domain Name System) est un annuaire associant des noms textuels et des adresses

Plus en détail

TD n o 8 - Domain Name System (DNS)

TD n o 8 - Domain Name System (DNS) IUT Montpellier - Architecture (DU) V. Poupet TD n o 8 - Domain Name System (DNS) Dans ce TD nous allons nous intéresser au fonctionnement du Domain Name System (DNS), puis pour illustrer son fonctionnement,

Plus en détail

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir. Mise à jour: Mars 2012 Objectif du module Réseaux Informatiques [Archi/Lycée] http://fr.wikipedia.org/ Nicolas Bredèche Maître de Conférences Université Paris-Sud [email protected] Acquérir un... Ressources

Plus en détail

Bon ben voilà c est fait!

Bon ben voilà c est fait! Bon ben voilà c est fait! Au programme : - Exploration de l arborescence et informations systèmes - Action sur les dossiers et fichiers - Gestion des autorisations - Conversion pdf en text - Connexion

Plus en détail

Manuel d utilisation du logiciel de messagerie personnelle Palm VersaMail 2.5

Manuel d utilisation du logiciel de messagerie personnelle Palm VersaMail 2.5 Manuel d utilisation du logiciel de messagerie personnelle Palm VersaMail 2.5 Copyright 2003 Palm, Inc. Tous droits réservés. Graffiti, HotSync, MultiMail, le logo Palm, PalmModem et Palm OS sont des marques

Plus en détail

TP : Introduction à TCP/IP sous UNIX

TP : Introduction à TCP/IP sous UNIX 1 Introduction TP : Introduction à TCP/IP sous UNIX Le but de cette séance est de vous familiariser au fonctionnement de la pile TCP/IP sous UNIX. Les systèmes UNIX (Linux, FreeBSD, Solaris, HPUX,...)

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

Les serveurs. UE 103b. Guillaume Burel. [email protected] http://www.loria.fr/~burel/empty_cours.html

Les serveurs. UE 103b. Guillaume Burel. guillaume.burel@ens-lyon.org http://www.loria.fr/~burel/empty_cours.html Master IST-IE Les serveurs 2008-2009 UE 103b Guillaume Burel [email protected] http://www.loria.fr/~burel/empty_cours.html Transparents réalisés principalement par Olivier Christmann Les grandes

Plus en détail

La messagerie électronique avec La Poste

La messagerie électronique avec La Poste La messagerie électronique avec La Poste En novembre 2000, le ministère de l Education Nationale a conclu avec La Poste un accord pour la mise à disposition des enseignants et élèves d un service de courrier

Plus en détail

Linux sécurité des réseaux

Linux sécurité des réseaux Linux sécurité des réseaux serveurs mandataires (proxy) [email protected] 2007-2008 Qu'est-ce qu'un proxy? = mandataire (traduction) Un proxy est un service mandataire pour une application donnée.

Plus en détail

Travaux Pratiques Introduction aux réseaux IP

Travaux Pratiques Introduction aux réseaux IP Université de Savoie Initiation aux réseaux IP Travaux Pratiques Introduction aux réseaux IP Sylvain MONTAGNY [email protected] Bâtiment chablais, bureau 13 04 79 75 86 86 TP1 : Analyse de

Plus en détail

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM Copyright TECH 2012 Technext - 8, avenue Saint Jean - 06400 CANNES Société - TECHNEXT France - Tel : (+ 33) 6 09 87 62 92 - Fax :

Plus en détail

Réseaux et protocoles Damien Nouvel

Réseaux et protocoles Damien Nouvel Réseaux et protocoles Plan Les couches du réseau Suite de protocoles TCP/IP Protocoles applicatifs pour les sites web Requêtes HTTP 2 / 35 Plan Les couches du réseau Suite de protocoles TCP/IP Protocoles

Plus en détail

Daniel POULIN DRT 3808 (version 2010) Faculté de droit, Université de Montréal

Daniel POULIN DRT 3808 (version 2010) Faculté de droit, Université de Montréal Daniel POULIN DRT 3808 (version 2010) Faculté de droit, Université de Montréal Les notions de base doivent être maîtrisées : protocoles, types de protocole, systèmes analogiques et numériques, les types

Plus en détail

DNS et Mail. LDN 15 octobre 2011. DNS et Mail. Benjamin Bayart, Fédération FDN. DNS - fichier de zone. DNS - configuration

DNS et Mail. LDN 15 octobre 2011. DNS et Mail. Benjamin Bayart, Fédération FDN. DNS - fichier de zone. DNS - configuration LDN 15 octobre 2011 fichier de Plan fichier de fichier de Pré-requis savoir changer l adresse du résolveur d une machine connaître l IP d au moins 2 résolveurs par cœur un minimum de connaissance d admin

Plus en détail

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique Le DNS DNS = Domain Name Service Sert à résoudre les noms d ordinateur en adresse IP. Contention de dénomination pour les domaines Windows 2000 (nommage des domaines W2K) Localisation des composants physiques

Plus en détail

Réalisation d un portail captif d accès authentifié à Internet 10.10.10.1

Réalisation d un portail captif d accès authentifié à Internet 10.10.10.1 Master 1 ère année UE Réseaux avancés I Projet Réalisation d un portail captif d accès authentifié à Internet Présentation du projet Le but du projet est de mettre en place un portail captif permettant

Plus en détail