La couche Applicatiopn



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

Serveurs de noms Protocoles HTTP et FTP

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

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

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

Quelques protocoles et outils réseaux

Domain Name System. F. Nolot

Outils de l Internet

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

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

Domain Name Service (DNS)

Résolution de noms. Résolution de noms

DNS : Domaine Name System

Réseaux. DNS (Domaine Name System) Master Miage 1 Université de Nice - Sophia Antipolis. (second semestre )

Nommage et adressage dans Internet

Ce cours est la propriété de la société CentralWeb. Il peut être utilisé et diffusé librement à des fins non commerciales uniquement.

Chapitre : Les Protocoles

Bind, le serveur de noms sous Linux

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

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

Domain Name System ot ol F. N 1

Étude de l application DNS (Domain Name System)

DNS. Olivier Aubert 1/27

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

(structure des entêtes)

Domaine Name System. Auteur: Congduc Pham, Université Lyon 1. Figure 1: Schéma des salles TP11 et TD4

Cours CCNA 1. Exercices

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

Domain Name System. Schéma hiérarchique. Relation

Protocoles Applicatifs

Réseaux IUP2 / 2005 DNS Système de Noms de Domaine

Développement Web. Les protocoles

V - Les applications. V.1 - Le Domain Name System. V Organisation de l espace. Annuaire distribué. Définition. Utilisation par le resolver

Le service de nom : DNS

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

Dans l'épisode précédent

Exemple d application: l annuaire DNS Claude Chaudet

18 TCP Les protocoles de domaines d applications

ftp & sftp : transférer des fichiers

Plan Général Prévisionnel (1/2) Internet et Outils L1/IO François Armand. Plan Général Prévisionnel (2/2) Unix, Réseau: Plan

Les commandes relatives aux réseaux

LOSLIER Mathieu. Filière Informatique et Réseau 1 ère année. TP DNS. Responsable : LOHIER Stephane. Chargé de TD : QUIDELLEUR Aurélie

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

SSH, le shell sécurisé

ASRb/Unix Avancé II. Chapitre 2. Utilitaires réseaux. Arnaud Clérentin, IUT d Amiens, département Informatique

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

GRETA SISR1 TP Installation et mise en place d un serveur FTP sous Windows Server 2013

M Architecture des réseaux

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

Master d'informatique 1ère année Réseaux et protocoles

Internet Le service de noms - DNS

Cisco Certified Network Associate

Installer un domaine DNS

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

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

INTERNET & RESEAUX. Dino LOPEZ PACHECO lopezpac@i3s.unice.fr

Le service FTP. M.BOUABID, Page 1 sur 5

Présentation Internet

Service de noms des domaines (Domain Name System) Cours administration des services réseaux M.BOUABID,

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

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

Les services usuels de l Internet

Domain Name Service (DNS)

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

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

Programmation Internet Cours 4

Gestion centralisée d un réseau de sites discrets. Nicolas JEAN

Introduction à HTTP. Chapitre HTTP 0.9

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

TP de réseaux : Domain Name Server.

Application Web et J2EE

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

Domaine Name Service ( DNS )

pare - feu généralités et iptables

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

BIND : installer un serveur DNS

Gérer son DNS. Matthieu Herrb. tetaneutral.net. Atelier Tetaneutral.net, 10 février

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

Introduction au DNS. Les noms de domaine s'écrivent de la gauche vers la droite, en remontant vers la racine et sont séparés par un "." (point).

Foucart Digeon SISR1-CH7 Mise en place d'un serveur FTP BTS SIO 08/04/2013. SISR1 CH7 Mise en place d'un serveur FTP. - Page 1 -

Le serveur HTTPd WASD. Jean-François Piéronne

Introduction. Adresses

Corrigé du TP 6 Réseaux

Installation Serveur DNS Bind9 Ubuntu LTS

Entraînement à l épreuve de QCM 40 mn

L identité numérique. Risques, protection

Protection des protocoles

Présentation du système DNS

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

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

Administration Linux - FTP

- FICHE DE PROCEDURE - Configurer un serveur DNS avec Bind9 sur Debian

Résolution de nom avec Bind

Introduction aux réseaux TCP/IP.

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

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

Manuel des logiciels de transferts de fichiers File Delivery Services

SERVEUR HTTP Administration d apache

Transcription:

La couche Applicatiopn A. Obaid - Téléinformatique (INF3270) Applications 1 Applications 10. SERVICES DE sur TÉLÉMATIQUE Internet Il existe plusieurs applications et leurs protocoles sur Internet: Transfert de fichiers: FTP Connexions à distance: TELNET Courrier électronique: SMTP. Serveurs d informations: HTTP, Annuaires électroniques: DNS, Service de sessions multimédia: SIP Toutes ces applications sont basées sur le modèle Client/Serveur A. Obaid - Téléinformatique (INF3270) Applications 2 1 1

Les numéros de port Les numéros de port sont sur 16 bits Intervalles de valeurs: 0 65535 0-1023 : numéros standard (well-known): 20 FTP (Données) 21 FTP (Contrôle) 22 SSH 23 Telnet 25 Simple Mail Transfer Protocol 1024-49151 : enregistrés pour des services spécifiques (IANA) ou par des programmeurs. 49152 65535 : ports dynamiques pour allocation temporaire par le système d exploitation. A. Obaid - Téléinformatique (INF3270) Applications 3 FTP File Transfer Protocole est un protocole de transfert de fichiers. Nécessite une procédure d'authentification sauf si un compte Anonymous a été créé. On peut seulement échanger des fichiers et non modifier leurs attributs. A. Obaid - Téléinformatique (INF3270) Applications 4 2 2

Modèle FTP A. Obaid - Téléinformatique (INF3270) Applications 5 Connexions FTP Deux connexions sont ouvertes en parallèle: Contrôle (ou commandes) et Données. Fonctions de contrôle: Des requêtes et réponses de contrôle sont échangées sur la connexion de contrôle (Port 21) Fonctions de transfert de données Échangées sur la connexion de données (Port 20) La connexion de contrôle reste ouverte pendant les opérations de transfert des données. A. Obaid - Téléinformatique (INF3270) Applications 6 3 3

Quelques commandes de contrôle Contrôle d'accès: USER spécifie l'user PASS spécifie le mot de passe CWD change de répertoire QUIT déconnexion Paramètres de transfert: PORT spécifie le port local pour les données TYPE spécifie la représentation des données MODE spécifie le mode de transfert (binary, ascii) Commandes de service: RETR télécharge un fichier STOR envoie de fichier PWD imprime le répertoire courant LIST transfère la liste de fichiers A. Obaid - Téléinformatique (INF3270) Applications 7 Gestion des numéros de port Le serveur gère les numéros de port du client à travers la connexion de contrôle: Deux numéros sont fournis : n et p. Le numéro de port du client est : nx256 + p. Ex: 4x256+150= 1174 A. Obaid - Téléinformatique (INF3270) Applications 8 4 4

Procédure de connexion Le client envoie une commande qui ouvre une connexion de données (ex. get, put, ls, ) Le client choisit un numéro de port éphémère et fait une demande d ouverture de connexion sur ce port. Il envoie ce numéro de port sur la connexion de contrôle Le serveur fait une demande de connexion sur ce numéro de port auprès du client. Le serveur utilise le port 20 pour son côté de cette connexion. A. Obaid - Téléinformatique (INF3270) Applications 9 Session FTP - Exemple #ftp rascal.ics.utexas.edu Connected to rascal.ics.utexas.edu. 220 rascal FTP server (SunOS 4.1) ready. Name (rascal.ics.utexas.edu:obaid): anonymous 331 Guest login ok, send ident as password. Password: 230 Guest login ok, access restrictions apply. ftp> cd /misc/av 250 CWD command successful. ftp> dir 200 PORT command successful. 150 ASCII data connection for /bin/ls (132.213.1.13,1645) (0 bytes). total 26 -rw-rw-r-- 1 67 100 233 Apr 19 14:09 README.121292 -rw-rw-r-- 1 67 100 2035 Apr 19 14:11 README.FTP... drwxrwxr-x 2 67 100 512 Mar 24 1993 humor-folder... drwxrwxr-x 9 67 120 512 Aug 21 1993 simulator-folder drwxrwxr-x 2 19 120 512 Jun 4 17:57 texas-flyers drwxrwxr-x 2 67 120 512 Oct 12 19:90 weather-services folder 226 ASCII Transfer complete. 1832 bytes received in 2.7 seconds (0.65 Kbytes/s)... A. Obaid - Téléinformatique (INF3270) Applications 10 5 5

Session FTP - Exemple #ftp> open saturne.info.uqam.ca Connected to saturne.info.uqam.ca. 220 saturne FTP server (OSF/1 Version 5.60) ready. Name (saturne.info.uqam.ca:p32224): obaid 331 Password required for obaid. Password: xxxxxxxx 230 User obaid logged in. ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls (132.208.26.13, 3369). total 1855 -rwxr-xr-x 1 obaid prof 1499 Oct 3 2007.cshrc -rwxr-xr-x 1 obaid prof 1669 Oct 3 2007.login... drwxr-xr-x 2 obaid prof 512 Mar 10 17:37 PS drwxr-xr-x 2 obaid prof 512 Mar 9 10:50 Papiers... 226 Transfer complete. A. Obaid - Téléinformatique (INF3270) Applications 11 Session FTP - Exemple #ftp -d saturne.info.uqam.ca Connected to saturne.info.uqam.ca. 220 saturne FTP server (OSF/1 Version 5.60) ready. Name (saturne.info.uqam.ca:p32224): obaid ---> USER obaid 331 Password required for obaid. Password: xxxxxxx ---> PASS??????? 230 User obaid logged in. ftp> dir ---> PORT 132,208,26,13,14,201 200 PORT command successful. ---> LIST 150 Opening ASCII mode data connection for /bin/ls (132.208.26.13,3785). total 1855 -rwxr-xr-x 1 obaid prof 1499 Oct 3 2007.cshrc -rwxr-xr-x 1 obaid prof 1669 Oct 3 2007.login 226 Transfer complete. A. Obaid - Téléinformatique (INF3270) Applications 12 6 6

Session FTP - Exemple ftp> ls ---> PORT 132,208,26,13,14,204 200 PORT command successful. ---> NLST 150 Opening ASCII mode data connection for file list (132.208.26.13,3788)..login SNMP... 226 Transfer complete. ftp> binary ---> TYPE I 200 Type set to I. A. Obaid - Téléinformatique (INF3270) Applications 13 Protocoles de transfert de courriel SMTP : Simple Mail Transfer Protocol Protocole d'échange de messages électroniques POP : Post Office Protocol Protocole de téléchargement des messages électroniques IMAP: Internet Message Access Protocol Protocole d'accès aux messages Garde les message sur le serveur de courriel A. Obaid - Téléinformatique (INF3270) Applications 14 7 7

Architecture SMTP SMTP est utilisé pour échanger des messages entre serveurs de courriel. Éléments : User agent (UA): logiciel de courriel Mail Transfer Agent (MTA): serveur de courriel Mail exchanger (MX): machine qui se charge du courriel pour un domaine donné. A. Obaid - Téléinformatique (INF3270) Applications 15 Modèle de messagerie A. Obaid - Téléinformatique (INF3270) Applications 16 8 8

Protocole SMTP Basé du le modèle Client/serveur: Client: émetteur SMTP Serveur: récepteur SMTP Dialogue alternant (dans un ordre précis): Le client émet des commandes et le serveur répond avec un message d'état. Les messages sont en ASCII On doit convertir les données binaires en ASCII en utilisant un codage tel que Unicode, Base64, A. Obaid - Téléinformatique (INF3270) Applications 17 Commandes SMTP HELO : identifie (domaine de) l'émetteur MAIL FROM: débute une transaction et identifie l'expéditeur RCPT TO: identifie le récepteur. Il peut y avoir plusieurs RCPT TO:. DATA: pour envoyer une série de lignes (chacune se terminant par \r\n). Une ligne contenant seulement un point (".") termine le message. Autres A. Obaid - Téléinformatique (INF3270) Applications 18 9 9

Session SMTP - Exemple # telnet zeta.labunix.uqam.ca 25 Trying 132.208.132.48... Connected to zeta.labunix.uqam.ca. Escape character is '^]'. 220 zeta.labunix.uqam.ca ESMTP Sendmail 8.13.8+Sun/8.13.8; Fri, 7 Dec 2012 15:25:43-0500 (EST) HELO zeta.labunix.uqam.ca 250 zeta.labunix.uqam.ca Hello zeta.labunix.uqam.ca [132.208.132.48], pleased to meet you MAIL FROM: obaid@zeta.labunix.uqam.ca 250 2.1.0 obaid@zeta.labunix.uqam.ca... Sender ok RCPT TO: obaid.abdel@gmail.com^ 250 2.1.5 obaid.abdel@gmail.com... Recipient ok DATA 354 Enter mail, end with "." on a line by itself Bonjour Abdel Comment ca va?. quit A. Obaid - Téléinformatique (INF3270) Applications 19 En-têtes courriel Les messages contiennent plusieurs en-têtes. Certains sont créés par l'ua et d'autres sont ajoutés par le MTA Chaque MTA ajoute au moins un en-tête Received:. Quelques-uns de ces en-têtes sont lus par les MTA's intermédiaires, mais les contenus des messages sont relayés sans changement. A. Obaid - Téléinformatique (INF3270) Applications 20 10 10

Exemple de message Microsoft Mail Internet Headers Version 2.0 Received: from anis.telecom.uqam.ca ([132.208.250.6]) by brooks.dinfo.uqam.ca.. Fri, 27 Jun 2008 05:06:50-0400 Received: from anis.telecom.uqam.ca (anis.telecom.uqam.ca [132.208.250.6]) by sortant.uqam.ca (8.13.8/8.12.1) with SMTP id m5r95qvf004596; Fri, 27 Jun 2008 05:05:52-0400 (EDT) Received: from antivirus.uqam.ca ([127.0.0.1]) by anis.telecom.uqam.ca (SAVSMTP 3.1.1.32) with SMTP id M2008062705055118403 ; Fri, 27 Jun 2008 05:05:51-0400 Received: from brooks.dinfo.uqam.ca ([132.208.137.97]) by intrant.uqam.ca (8.13.8/8.12.2/uqam-filtres).. Fri, 27 Jun 2008 05:05:44-0400 (EDT) MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Date: Fri, 27 Jun 2008 05:04:18-0400 Message-ID: <E8E7C81FED65ED4092D11F71BC761B889BE678@brooks.dinfo.uqam.ca> From: "Abdellatif Obaid" <obaid.abdellatif@uqam.ca> To: "Teodor Stefan Onea" <onea.teodor_stefan@courrier.uqam.ca>, <obaid.abdel@uqam.ca> Cc: <082-INF3270-010@uqam.ca> Return-Path: obaid.abdellatif@uqam.ca Bonjour Je donne une extension d'une semaine pour la remise du TP 2. A. Obaid - Téléinformatique (INF3270) Applications 21 POP Pour le transfert de courriel vers un client (authentifié) Le serveur POP est un service sur le port 110. Les commandes et les réponses sont en lignes ASCII. A. Obaid - Téléinformatique (INF3270) Applications 22 11 11

Commandes POP USER : spécifie un usager. PASS : spécifie un mot de passe. STAT : retourne le nombre de messages dans la boite. LIST: retourne la liste des messages et leurs tailles. RETR : récupère un message. DELE : marque les messages à détruire. RSET: efface les marques. TOP : récupère les en-têtes des messages, QUIT : détruit les message marqués et ferme la connexion. A. Obaid - Téléinformatique (INF3270) Applications 23 Session POP - Exemple telnet arabica.info.uqam.ca 110 Trying 132.208.132.189... Connected to arabica.info.uqam.ca. Escape character is '^]'. +OK POP3 arabica.info.uqam.ca v7.59 server ready user obaid +OK User name accepted, password please pass ********** +OK Mailbox open, 453 messages stat +OK 453 3732870 list +OK Mailbox scan listing follows 1 494 retr 1 +OK 494 octets Received: by saturne.info.uqam.ca; id AA07595; Fri, 7 Mar 1997 05:07:16-0500. A. Obaid - Téléinformatique (INF3270) Applications 24 12 12

Telnet Application de connexion à distance basée sur un terminal de fonctionnalité minimale : NVT (Network Virtual Terminal). Utilise les services de TCP/IP. Permet à un usager de communiquer de façon interactive avec une application à partir d'un terminal Les caractères entrés sont envoyés au serveur et les données reçues sont affichées sur l'écran du client. Le caractère de fin de ligne est \r\n. A. Obaid - Téléinformatique (INF3270) Applications 25 Terminal virtuel Développé afin de résoudre le problème d'interfonctionnement entre les terminaux et les ordinateurs dans un environnement hétérogène. A. Obaid - Téléinformatique (INF3270) Applications 26 13 13

Environnement Telnet Terminal distant Ordinateur distant Commande d usager Application système Système d exploitation Système d exploitation Serveur Client Telnet SMTP Serveur Telnet TCP TCP Internet A. Obaid - Téléinformatique (INF3270) Applications 27 Fonctionnement de NVT NVT est un ensemble de: Commandes et de réponses en ASCII. Options (de dialogues et de comportements des terminaux) qui peuvent être négociées et redéfinies à tout moment. Commandes/réponses: Un caractère (parmi 128) en code ASCII Le caractère IAC (255) définit une commande A. Obaid - Téléinformatique (INF3270) Applications 28 14 14

Commandes et réponses Fonctions de contrôle : Erase line (EL): Effacement de ligne. Erase character (EC): le dernier caractère transmis doit être effacé. Are you There (AYT): Envoyé au serveur pour savoir s il est toujours actif Entrée/affichage des données A. Obaid - Téléinformatique (INF3270) Applications 29 Commandes Telnet Abréviation Description Code IAC Début d'une commande 255 WILL/WONT/DO/DONT Option de négociation 251/../254 EC (Erase Caracter) Efface un caractère 247 EL (Erase line) Efface une ligne 248 BRK (break) Arrêt 243 IP (Interupt process) Interruption de processus 244 AO (Abord output) Arrête l'output 245 AYT (are you there) Êtes-vous là 246 GA (Go ahead) Allez y 249 DM (Data Mark) Signal de synchro 242 NOP (No Opération) Pas d'opération 241 SB/SE Débuter/arrêter sous options 250/240 A. Obaid - Téléinformatique (INF3270) Applications 30 15 15

Les options Telnet Les options de base: binary, echo, supress go ahead, status, timing mark Autres options peuvent être négociées Le format de négociation IAC <Action> <Numéro de l option> L'action peut être: WILL : l émetteur veut activer l option lui-même WONT: l émetteur veut désactiver l option lui-même DO: l émetteur veut que le récepteur active l option DONT: l émetteur veut que le récepteur désactive l option A. Obaid - Téléinformatique (INF3270) Applications 31 Négociation des options (2) WILL WILL DO DO WONT DONT DO DONT WILL WONT DONT WONT Émetteur veut activer une option Récepteur dit OK Émetteur veut activer une option Récepteur dit NON Émetteur veut que le récepteur active une option Récepteur dit OK Émetteur veut que le récepteur active une option Récepteur dit NON Émetteur veut désactiver une option Récepteur dit OK Émetteur veut que le récepteur désactive une option Récepteur dit NON A. Obaid - Téléinformatique (INF3270) Applications 32 16 16

Négociation - Exemples Exemple 1: Le client demande au serveur de ne plus envoyer d échos. Le serveur répond qu il élimine l écho. Maintenant le client pourrait faire son écho localement Exemple 2: Le client demande la négociation du terminal. Le serveur accepte et demande au client de soumettre son type de terminal. Le client envoie son type de terminal A. Obaid - Téléinformatique (INF3270) Applications 33 Session Telnet - Exemple % telnet telnet> toggle options Will show option processing. telnet> open saturne.info.uqam.ca Trying... Connected to arabica.info.uqam.ca. Escape character is '^]'. SEND do ECHO SEND do SUPPRESS GO AHEAD Négociation du mode caractère SEND will TERMINAL TYPE Envoi du type de terminal SEND will NEGOTIATE WINDOW SIZE Négociation de la taille de la fenêtre RCVD do TERMINAL TYPE Envoi du type de terminal RCVD do 32 Négociation de vitesse SEND wont 32 Refus de la négociation de vitesse RCVD do 36 Négociation de variables d env. SEND wont 36 Refus de négociation... RCVD will ECHO Le serveur fera l'écho RCVD will SUPPRESS GO AHEAD Le serveur accepte le mode RCVD do NEGOTIATE WINDOW SIZE Négocier la taille de la fenêtre SEND suboption TELOPT_NAWS Width 0, Height 0 Donner les sous options RCVD suboption TELOPT_TTYPE SEND Demande au client son terminal SEND suboption TELOPT_TTYPE vt100 Envoi du type de terminal RCVD will STATUS SEND dont STATUS OSF/1 (saturne) (ttyp1) login: obaid password: ******* A. Obaid - Téléinformatique (INF3270) Applications 34 17 17

Le DNS Les DNS (Domain Name System) est un système de répertoire sur Internet Il permet de traduire des Noms de domaine en adresses IP et inversement C'est un système réparti A. Obaid - Téléinformatique (INF3270) Applications 35 Systèmes de répertoire A chaque système, on associe un nom de domaine (ex. arabica.info.uqam.ca) La correspondance se fait dans un répertoire appelé Base de données du DNS. Deux types de répertoires: Fichier local (ex. /etc/hosts) Un système de répertoires répartis servi par des serveurs de noms (ex. named) A. Obaid - Téléinformatique (INF3270) Applications 36 18 18

Architecture du DNS Secondaires Serveur DNS Serveur DNS Client Resolver Serveur DNS Primaire Primaire Serveur DNS Secondaire Serveur DNS BD du DNS Secondaire Zone Serveur DNS Zone Zone A. Obaid - Téléinformatique (INF3270) Applications 37 Espace des noms Un nom de domaine est constitué d'une suite d'étiquettes séparées par des points. Exemples: arabica.info.uqam.ca www.google.com Chaque étiquette correspond à un domaine dans une hiérarchie de noms. A. Obaid - Téléinformatique (INF3270) Applications 38 19 19

Hiérarchie de noms. edu com net ca uk uqam udem... mcgill Nom de domaine: arabica.info.uqam.ca info arabica A. Obaid - Téléinformatique (INF3270) Applications 39 Domaines de haut niveau Appelés Top-level domain names Les noms tels que:.edu,.gov,.com,.net,.org,.mil Chaque pays a un nom de domaine (formé de 2 lettres):.ca,.fr,.br,.ch, De nouveaux domaines ont été introduits:.aero,.biz.coop,.info,.name,.pro, Descendent directement du domaine de nom racine "." (root): Ce domaine possède plusieurs serveurs! A. Obaid - Téléinformatique (INF3270) Applications 40 20 20

Les serveurs racine Il existe plusieurs serveurs du domaine root: l.root-servers.net 198.32.64.12 m.root-servers.net 202.12.27.33 a.root-servers.net 198.41.0.4 b.root-servers.net 128.9.0.107 c.root-servers.net 192.33.4.12 d.root-servers.net 128.8.10.90 e.root-servers.net 192.203.230.10 f.root-servers.net 192.5.5.241 g.root-servers.net 192.112.36.4 h.root-servers.net 128.63.2.53 i.root-servers.net 192.36.148.17 j.root-servers.net 192.58.128.30 k.root-servers.net 193.0.14.129 A. Obaid - Téléinformatique (INF3270) Applications 41 Administration d'une zone Une zone est un regroupement de systèmes administrés séparément. Une zone peut être subdivisée en sous-zones. La responsabilité d'une zone est déléguée à une autorité chargée de la gérer en : Donnant l'adresse IP du serveur de cette zone Maintenant la base de données de la zone A. Obaid - Téléinformatique (INF3270) Applications 42 21 21

Les zones et leurs serveurs. Serveur. (racine) edu com net ca Serveur Zone ca Sous-zone uqam uqam udem ca Serveur Sous-zone info info iro uqam.ca Serveur info.uqam.ca A. Obaid - Téléinformatique (INF3270) Applications 43 Composantes du DNS Le serveur qui répond aux requêtes de traduction (Résolution) Une base de données répartie contentant les noms et les adresses IP correspondantes. Le Resolver qui est un module du client qui émet des requêtes de résolution et reçoit des réponses. A. Obaid - Téléinformatique (INF3270) Applications 44 22 22

Modèle du DNS Cache Ajout Recherche Serveur distant BD Réponse Requête Usager Requête Réponse Ajout Resolver Cache Recherche Requête Réponse Ajout Serveur de noms Cache Recherche BD A. Obaid - Téléinformatique (INF3270) Applications 45 Les clients DNS Un client DNS est appelé Resolver. La fonction gethostbyname() fait appel au resolver Dans Unix, le fichier /etc/resolv.conf contient le nom du domaine local est les adresses des serveurs à utiliser pour ce domaine A. Obaid - Téléinformatique (INF3270) Applications 46 23 23

Le serveur DNS Géré par un processus démon appelé named (ou bind) Se charge de répondre aux requêtes de son domaine Achemine des requêtes à d'autres domaines en contactant des serveurs distants Stocke en mémoire cache les traductions externes effectuées. Il peut les utiliser plus tard. A. Obaid - Téléinformatique (INF3270) Applications 47 Base de données du DNS Contient plusieurs types de ressources : Enregistrements d'association nom-adresse IP (A) Adresses de serveurs (NS) Alias de noms de machines (CNAME) Relais de messagerie électronique (MX) Informations sur les machines (HINFO) Ces données sont stockées sous forme d'enregistrements de ressources (Ressource Records ou RR) A. Obaid - Téléinformatique (INF3270) Applications 48 24 24

Exemple de BD de zone @ N SOA terre.univers.ca. abdel.terre.univers.ca. ( 16 ; numero de serie 86400 ; rafraichissement 3600 ; tentatives : 360000 ; expiration 604800 ; minimum ) IN NS terre.univers.c IN NS ailleurs.univers.c IN MX 10 terre.univers.c IN MX 20 lune.univers.c localhost IN A 172.0.0.1 terre IN A 128.66.12.1 jupiter IN A 128.66.12.4 jup IN CNAME jupiter www IN CNAME saturne news IN CNAME jupiter A. Obaid - Téléinformatique (INF3270) Applications 49 Fonctionnement du serveur Si un serveur ne peut pas effectuer la résolution lui-même, il demande à un serveur racine. Le serveur racine lui fournit l'adresse d'un serveur à contacter pour un domaine donné Un requête peut donc passer par plusieurs étapes (sousrequêtes) de deux manières: itérative: le serveur d'origine fait le suivi récursive: un autre serveur fait le suivi A. Obaid - Téléinformatique (INF3270) Applications 50 25 25

La résolution inverse Consiste à trouver un nom à partir de son adresse IP. Utilisée pour les accès authentifiés à partir de stations (ex. rlogin). On utilise une hiérarchie qui descend du domaine inaddr.arpa A. Obaid - Téléinformatique (INF3270) Applications 51 Les résolutions inverses arpa in-addr 1 132 255 1 208 255 1 132 255 1 189 255 arabica.info.uqam.ca A. Obaid - Téléinformatique (INF3270) Applications 52 26 26

Types de serveur Primaire Serveur responsable de la zone Il a autorité sur la zone Secondaire Relève d'un primaire. Il doit télécharger ses données d'un primaire Cache S'appuie sur les noms de serveurs du domaine racine Il peut y avoir plusieurs serveurs par zone. A. Obaid - Téléinformatique (INF3270) Applications 53 Les BD de la zone Les données de la zone (/etc/named.ca) sont décrites par les RRs: [domaine] [ttl] classe type données domaine: domaine auquel s'applique le RR. ttl: Durée de validité du RR. classe: Type de RR type: Type d'information (NS,SOA,...) A. Obaid - Téléinformatique (INF3270) Applications 54 27 27

Types de RR La ressource SOA (Start Of Authority) définit une nouvelle zone. Elle possède les attributs: origin: nom du domaine contact: e-mail du responsable de la zone serial: numéro de série des données de la zone. refresh: délai de mise à jour pour un serveur secondaire. retry: durée d'attente après un échec d'une requête. expire: Le temps avant abandon. minium: la valeur par défaut des ttls des RRs. A. Obaid - Téléinformatique (INF3270) Applications 55 Types de RR Type peut avoir les valeurs suivantes: A: Adresse IP. NS: Nom du serveur autorisé pour le domaine. MX: Échangeur de courrier électronique. Il peut y en avoir plusieurs (par ordre de précédence). CNAME: Alias d'un nom A. Obaid - Téléinformatique (INF3270) Applications 56 28 28

Exemple de BD de zone @ N SOA terre.univers.ca. abdel.terre.univers.ca. ( 16 ; numéro de série 86400 ; rafraichissement 3600 ; tentatives : 360000 ; expiration 604800 ; minimum ) IN NS terre.univers.c IN NS ailleurs.univers.c IN MX 10 terre.univers.c IN MX 20 lune.univers.c localhost IN A 172.0.0.1 terre IN A 128.66.12.1 jupiter IN A 128.66.12.4 jup IN CNAME jupiter www IN CNAME arabica news IN CNAME jupiter A. Obaid - Téléinformatique (INF3270) Applications 57 Procédure de résolution - Exemple Resolver arabica.info.uqam.ca 1? may.ny.unicom.com 12 128.204.1.14 Cache 12 11 NS de info.uqam.ca 3? may.ny.unicom.com! NS de com? may.ny.unicom.com! NS de unicom.com? may.ny.unicom.com! NS de ny.unicom.com? may.ny.unicom.com 128.204.1.14 NS de. (root) NS de com NS de unicom.com NS de ny.unicom.com A. Obaid - Téléinformatique (INF3270) Applications 58 29 29

La commande nslookup Permet d'interroger le DNS. $ nslookup Default Server: cumin.telecom.uqam.ca Address: 132.208.16.240 $ nslookup arabica.info.uqam.ca Server: cumin.telecom.uqam.c Address: 132.208.16.240 > set type=mx > enst.fr Server: ns3.uqam.ca Address: 132.208.16.240 Non-authoritative answer: Name: arabica.info.uqam.ca enst.fr preference = 10, mail exchanger = smtp2.enst.fr Address: 132.208.132.189 enst.fr preference = 20, mail exchanger = infres.enst.fr Authoritative answers can be found from: enst.fr nameserver = enst.enst.fr enst.fr nameserver = phoenix.uneec.eurocontrol.fr smtp2.enst.fr internet address = 137.194.2.14 infres.enst.fr internet address = 137.194.160.3 herculanum.int-evry.fr internet address = 157.159.11.15 A. Obaid - Téléinformatique (INF3270) Applications 59 Le protocole HTTP HTTP (Hyper Text Transfer Protocol) est un protocole de transfert de données hypermédia sur Internet. Le World-Wide Web (WWW) fait référence à un réseau de serveurs qui communiquent par HTTP. HTTP utilise le modèle client-serveur sur TCP sur le port 80 A. Obaid - Téléinformatique (INF3270) Applications 60 30 30

Le web Client Page courante affichée Serveur: www.xyx.edu Serveur: uvt.enst.fr xxxx xxxx Hyperlien xxxx xxxx Hyperlien xxxx xxxx HTTP sur TCP HTTP sur TCP Internet A. Obaid - Téléinformatique (INF3270) Applications 61 Avantages de HTTP Permet la négociation des types de données. Permet de servir des documents de plusieurs types: texte (HTML,XML, ), image (JPEG, GIF, ), combiné (multimédia), Extensible avec l'emploi d'en-têtes. Sans état (stateless). Donc léger. Ses requêtes et réponses sont en ASCII. Sécuritaire avec SSL. N'est (généralement) pas filtré par les fire-walls. A. Obaid - Téléinformatique (INF3270) Applications 62 31 31

Échanges HTTP Les étapes d une requête sont: Le client effectue une connexion TCP sur le port 80. Le client émet la requête. Le serveur envoie le document de réponse. Le serveur coupe la connexion. Certains serveurs permettent de garder la connexion ouverte pour plusieurs requêtes (Option Keep alive ) A. Obaid - Téléinformatique (INF3270) Applications 63 Requêtes HTTP Un requête consiste en: Une ligne de commande contenant le nom de la commande (GET, POST, HEAD, ), l'url demandé et la version de HTTP utilisée. Exemple: GET /document.html HTTP/1.1 Des lignes d'en-têtes (optionnelles) Une ligne vide Le corps de la requête (optionnel) Commande (GET,.) En-têtes Ligne vide Corps A. Obaid - Téléinformatique (INF3270) Applications 64 32 32

Réponses HTTP La réponse de HTTP consiste en: Une ligne de code de la réponse contenant la version de HTTP utilisée, un code et un texte explicatif Exemple: HTTP/1.0 200 OK Des lignes d'en-têtes Une ligne vide Le corps de la réponse qui être: Un document de type texte. Image, combiné Status (200 OK,.) En-têtes Ligne vide Corps de la réponse A. Obaid - Téléinformatique (INF3270) Applications 65 Les URL Un URL (Uniform Resource Locator) est un mécanisme d'identification des ressources sur le Web: service://nomdedomaine:[port]/ressource La ressource peut être: Un document (texte, image, ) Un exécutable (binaire, Perl, Python, ) Un objet (servlet, bean,.) Le service peut être: HTTP, FTP, TELNET, SMTP, A. Obaid - Téléinformatique (INF3270) Applications 66 33 33

Les commandes des requêtes GET: demande de lecture d'une ressource. Peut communiquer des données dans l'url de la requête. POST: demande de lecture d'une ressource. Peut communiquer un grand volume de données au serveur. Ces données sont contenues dans le corps de la requête. HEAD: demande de lecture des en-têtes d'une ressource. PUT: demande d écriture d'une ressource. DELETE: demande de destruction d'une ressource. A. Obaid - Téléinformatique (INF3270) Applications 67 Les codes des réponses Information : 100 Continue : Le serveur accepte de traiter la requête et le client doit continuer. 101 Changement de protocole : Le serveur doit continuer avec une autre version de HTTP. Redirection: Succès : 301 Moved Permanently : La ressource a été relocalisée. 307 Temporary Redirect : La ressource a été relocalisée temporairement. 200 OK : La requête a bien été exécutée. 201 Créée : La ressource demandée a été créée. 202 Accepté : Traitement demandé en cours d exécution. 204 Aucun contenu : Aucun contenu n'est retourné. A. Obaid - Téléinformatique (INF3270) Applications 68 34 34

Les codes des réponses Erreur Client 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 407 Proxy Authentication Required 408" Request Time-out A. Obaid - Téléinformatique (INF3270) Applications 69 Exemples de requêtes GET http://www.info.uqam.ca/programmation/tcpip.html HTTP/1.1 <Ligne Vide> URL relatif GET Programmation/tcpip.html HTTP/1.1 <Ligne Vide> GET Programmation/traitement?Par1&Par2 HTTP/1.1 <Ligne Vide> POST Programmation/traitement HTTP/1.1 <Ligne Vide> Données A. Obaid - Téléinformatique (INF3270) Applications 70 35 35

Les en-têtes Ils accompagnent les requêtes et les réponses. Enrichissent les échanges HTTP Permettent de négocier certains paramètres de la communication. A. Obaid - Téléinformatique (INF3270) Applications 71 Les en-têtes Accept: Le client indique les types de documents qu il accepte. Accept-Charset: Le client précise les jeux de caractères qu il accepte (ISO-8859-1, ). If-Modified-Since: Utilisé par le client pour obtenir un document s il a été récemment modifié. Utilisé par l'opération Reload. Connection: Permet de spécifier certains paramètres de connexion (ex. Keep-Alive). A. Obaid - Téléinformatique (INF3270) Applications 72 36 36

Les en-têtes Host : Adresse du serveur. Cookie : Permet au client de présenter une cookie. Referer : URL de la page origine de la requête. User-Agent : Informations sur le navigateur. Content-Length : La longueur en octets des données de la réponse. Content-Type : Type (MIME) du contenu de la réponse. Expires: Date de validité d un document. Utilisé pour la gestion des mémoires cache. Set-Cookie : Permet au serveur de fournir un cookie au client. A. Obaid - Téléinformatique (INF3270) Applications 73 Page : Exemples d'échanges HTTP <a HREF="http://www.info.uqam.ca/Test/texte.html"> Obtenir le texte </a> Réponse GET Test/texte.html HTTP/1.1 Accept: text/plain, image/* If-Modified-Since: Wed, 10 Sep 2003 14:20:21 GMT Referer: http://www.info.uqa.ca/index.html User-Agent: Mozilla/2.0 Ligne vide Requête HEAD Test/texte.html HTTP/1.0 User-Agent: Mozilla/2.0 From: obaid.abdel@uqam.ca Ligne blanche Requête HTTP/1.0 200 OK Date: Wed, 10 Sep 2003 14:20:21 GMT Server: NCSA/1.5.2 Mime-Vesion: 1.0 Content-Type: text/html Last-Modified: Wed, 10 Sep 1998 14:20:23 GMT Content-Length: 139 Ligne vide <html> </html> Réponse HTTP/1.0 200 OK Date: Wed, 10 Sep 2003 14:20:21 GMT Server: NCSA/1.5.2 Mime-Vesion: 1.0 Content-Type: text/html Last-Modified: Wed, 10 Sep 1998 14:20:23 GMT A. Obaid - Téléinformatique (INF3270) Applications 74 37 37

Requêtes avec paramètres Méthode GET : http://www.info.uqam.ca/cgi/recherche?item1+item2+item3 GET cgi/recherche?item1+item2+item3 HTTP/1.0 Accept: */* Accept-language: en, fc User-Agent: Mozilla/2.0 Host: saturne.info.uqam.ca Ligne blanche Méthode GET à partir d'un formulaire : http://www.info.uqam.ca/cgi/saisie?champ1=val1&champ2=val2 GET /cgi/saisie?champ1=val1&champ2=val2 Accept: */* Accept-language: en, fc User-Agent: Mozilla/2.0 Host: saturne.info.uqam.ca Ligne blanche Méthode GET à partir d'un formulaire : POST / HTTP/1.1 content-type:application/x-www-form-urlencoded;charset=utf-8 host: http://www.info.uqam.ca content-length:207 Prenom=Alain&Nom=Lapointe&Age=23 A. Obaid - Téléinformatique (INF3270) Applications 75 Utilisation des formulaires Les formulaires sont définis avec la balise: <FORM NAME="nom" ACTION="URL" METHOD="Méthode">... </FORM> URL désigne le programme qui va traiter les données du formulaire. Méthode est GET (défault) ou POST. Les données du formulaire sont traitées par une ressource externe au serveur (ex. CGI, Servlet) A. Obaid - Téléinformatique (INF3270) Applications 76 38 38