La couche Applicatiopn

Slides:



Advertisements
Présentations similaires
Sécurité informatique
Advertisements

Installer un serveur FTP
Module 5 : Implémentation de l'impression
1re STG INTERNET Patrick DUPRE.
Présentation de l’Internet
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Services DNS.
Internet.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
Exposé de Système - Informatique et Réseau
Module 6 : Gestion et analyse du système DNS
Le courrier electronique
2-Generalites FTP:Protocole De transfert de fichiers sur un réseau TCP/IP. Permet de copier des fichiers depuis ou vers un autre ordinateur du reseaux,d'administrer.
Sommaire: 1- Intro/ la raison d'être du FTP/petit historique
Formulaire HTML Introduction. Définition de formulaire.
FLSI602 Génie Informatique et Réseaux
Oct.-2000DESS IIDEE © B. BAH 1 ASP Caractéristiques dun fichier ASP Son extension : « *.asp » La balise: Son indépendance vis à vis de toute plate–forme,
Le Téléphone Russe Le Téléphone Russe. Le Téléphone Russe Le Téléphone Russe.
Etude des Technologies du Web services
SECURITE DU SYSTEME D’INFORMATION (SSI)
Module 1 : Préparation de l'administration d'un serveur
Le langage ASP Les variables d'environnement HTTP avec Request.
1 Sécurité Informatique : Proxy Présenter par : Mounir GRARI.
Analyse des protocoles de la couche application
Les Services de Messagerie
Le protocole FTP.
28 novembre 2012 Grégory Petit
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
GESTION DE PARCS D’ORDINATEURS
Les Réseaux Informatiques Le Modèle TCP/IP Clients & Serveurs Le protocole FTP Boukli HACENE Sofiane.
Les relations clients - serveurs
Module 8 : Maintenance des logiciels à l'aide des services SUS
Module 3 : Création d'un domaine Windows 2000
Initiation au web dynamique
Mail Server/NT Jean-Gabriel Debaille
KRIKORIAN Pierre HILMI Brahim
PHP 5° PARTIE : LES COOKIES
Les Services de Messagerie
Les réseaux - Internet Historique Réseau local Internet Les protocoles
Exposé: Présentation et Configuration Du DNS sous LINUX Présenté par: Abdou Rahim Ba Ousmane Wagué Encadrer.
Supports Physiques - Ethernet
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Module 4 : Résolution de noms
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Introduction à l’informatique en gestion 1 Internet Les réseaux Le modem Architecture Connectivité entre réseaux L’Internet Protocoles et adresses.
Le courrier électronique
La mémoire virtuelle Dans laquelle un ordinateur exécute des programmes dont les besoins en mémoires dépassent la mémoire disponible. Par exemple des.
Les Réseaux Informatiques Clients & Serveurs Le protocole FTP Laurent JEANPIERRE DEUST AMMILoR.
http 1.1.  connexion persistante Browser Mozilla Firefox Adresse ip.
Yonel GRUSSON.
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
Module 3 : Création d'un domaine Windows 2000
Configuration d'un serveur DNS
 Formulaires HTML : traiter les entrées utilisateur
Internet :le réseau mondial Christian VALADE Les ressources documentaires Deuxième partie F le mode Hyper texte (http) F le mode Transfert de fichiers.
LE FTP.
1 Windows 2003 Server Stratégie des comptes. 2 Windows 2003 Server Il faut tenir compte de ces 3 paramètres.
V- Identification des ordinateurs sur le réseau
Le DNS B.T.S. S.I.O – SISR3 –
Fonctionnalité et protocole des couches applicatives
Architecture Client/Serveur
Deug 11 Systèmes d ’Information : cours 1b Michel de Rougemont Université Paris II Codage, Edition, Réseau.
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
AFNOG POP3 et IMAP avec Dovecot
Bloc 1 - UE 5 - Technologies de l’information et de la communication TIC Bachelier en immobilier T. SOUMAGNE.
INF2005– Programmation web– A. Obaid Les métadonnées.
Travailler dans un environnement numérique évolutif Domaine D1.
TCP - IP AFPA CRETEIL 5-1 Résolution de noms DNS Chapitre 5.
Développement d’applications Web
Yonel GRUSSON1. 2 Installation et configuration d'un serveur DNS Plan  Rappel des notions Domaine Serveur de noms Zone d'autorité  Stratégie d'implantation.
Transcription de la présentation:

La couche Applicatiopn

Applications sur Internet 10. SERVICES DE TÉLÉMATIQUE 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

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.

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.

Modèle FTP

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.

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

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

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.

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) ....

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.

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.

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.

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

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é.

Modèle de messagerie Le protocole SMTP (Simple Mail Transfer Protocol) permet d'envoyer des messages d'un usager à un autre usager via la boite postale (mailbox) de l'usager receveur. Le processus SMTP qui intéragisse avec l'usager envoyeur est appelé SMTP-Envoyeur (SMTP-sender). Le processus SMTP qui interagisse avec le l'usager destination est appelé SMTP-Destination. Comme les messages doivent être relayer de machine à machine, un processus de relais sera utilisé; on l'appellera SMTP-Serveur. SMT est le mécanisme qui permet de transporter les messages entre les processus Envoyeur, Serveurs et Destination. Il ne définie pas l'interface entre les processus et les usagers.

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,…

Commandes SMTP HELO : MAIL FROM: RCPT TO: DATA: Autres … 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 …

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 DATA

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.

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 ….

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.

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. …

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 .

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.

Terminal virtuel Développé afin de résoudre le problème d'inter-fonctionnement entre les terminaux et les ordinateurs dans un environnement hétérogène.

Environnement Telnet

Fonctionnement de NVT NVT est un ensemble de: Commandes/réponses: 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

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 Ce sont les procédures qui doivent être activées ou désactivées dans l'environnement local et dans l'environnement à distance ainsi que les applications à activer. Ce sont les procédures du système client et du système serveur. Les fonctions NVT sont réalisées en envoyant le caractère spécifique de la fonction délimité par des entêtes (IAC).

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

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

Négociation des options (2) WILL Émetteur veut activer une option DO Récepteur dit OK DONT Récepteur dit NON DO Émetteur veut que le récepteur active une option WILL Récepteur dit OK WONT Récepteur dit NON WONT Émetteur veut désactiver une option DONT Récepteur dit OK DONT Émetteur veut que le récepteur désactive une option

Négociation - Exemples 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

Session Telnet - Exemple 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: *******

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

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)

Architecture du DNS Client Serveur DNS Serveur DNS Serveur DNS Secondaires Client Serveur DNS Serveur DNS Resolver Secondaire Serveur DNS Primaire Serveur DNS Serveur DNS Primaire BD du DNS Secondaire Serveur DNS Zone Zone Zone

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.

Hiérarchie de noms . edu com net … ca uk uqam udem ... mcgill info Nom de domaine: arabica.info.uqam.ca info arabica

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 !

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

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

Les zones et leurs serveurs . Serveur . (racine) edu com net ca Serveur ca Zone ca Sous-zone uqam uqam udem Serveur uqam.ca Sous-zone info info iro Serveur info.uqam.ca

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.

Modèle du DNS BD BD Cache Ajout Recherche Serveur distant Réponse Requête Requête Requête BD Serveur de noms Usager Resolver Réponse Réponse Ajout Recherche Ajout Recherche Cache Cache

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

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.

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)

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

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 (sous-requêtes) de deux manières: itérative: le serveur d'origine fait le suivi récursive: un autre serveur fait le suivi

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 in-addr.arpa

Les résolutions inverses arpa in-addr 1 … 132 … 255 … … 1 208 255 1 … 132 … 255 1 … 189 … 255 arabica.info.uqam.ca

Types de serveur Primaire Secondaire Cache 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.

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, ...)

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.

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

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

Procédure de résolution -Exemple 3 ? may.ny.unicom.com NS de . (root) ! NS de com ? may.ny.unicom.com NS de com 1 ? may.ny.unicom.com ! NS de unicom.com Resolver 12 ? may.ny.unicom.com NS de unicom.com 128.204.1.14 11 ! NS de ny.unicom.com arabica.info.uqam.ca ? may.ny.unicom.com 12 NS de ny.unicom.com 128.204.1.14 Cache NS de info.uqam.ca

La commande nslookup Permet d'interroger le DNS. Default Server: cumin.telecom.uqam.ca Address: 132.208.16.240   > set type=MX > enst.fr Server: ns3.uqam.ca Non-authoritative answer: enst.fr preference = 10, mail exchanger = smtp2.enst.fr 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 $ nslookup arabica.info.uqam.ca Server: cumin.telecom.uqam.c Address: 132.208.16.240   Name: arabica.info.uqam.ca Address: 132.208.132.189

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

Le web Page courante affichée Client xxxx Hyperlien xxxx xxxx Serveur: uvt.enst.fr Serveur: www.xyx.edu Client xxxx Hyperlien xxxx xxxx Hyperlien HTTP sur TCP HTTP sur TCP Internet

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.

É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 )

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

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

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, …

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. …

Les codes des réponses Information : Redirection: Succès : 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: 301 Moved Permanently : La ressource a été relocalisée. 307 Temporary Redirect : La ressource a été relocalisée temporairement. Succès : 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é.

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

Exemples de requêtes URL relatif 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 …

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.

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).

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.  

Exemples d'échanges HTTP Page : <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 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> Requête Réponse HEAD Test/texte.html HTTP/1.0 User-Agent: Mozilla/2.0 From: obaid.abdel@uqam.ca Ligne blanche 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 Requête

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

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)

Modèle avec CGI Navigateur HTTPD CGI stdin/stdout Programme/ Script QUERY_STRING CONTENT_TYPE REMOTE_ADDR ... Variables d ’environnment Navigateur HTTPD Programme/ Script CGI stdin/stdout

Fonctionnement du CGI Serveur Browser Submit Post Programme Page HTML Write environnement Execute Programme Read environnement Standart Input Standart output Page HTML

Les cookies HTTP est sans état (stateless). Les cookies permettent au serveur de garder des informations d'état auprès du client. Une cookie se présente sous forme d'une variable ayant un contenu. L'échange des cookies se fait au moyen d'échange d'en-têtes.

Utilisation des cookies Le serveur soumet une cookie au client. Celui-ci la stocke et la redonne dans sa prochaine requête. Le client stocke ses cookies dans un fichier spécifique selon un format spécifique Le serveur soumet une cookie avec l'en-tête Set-cookie. Le client retourne la cookie avec l'en-tête Cookie.

Échange des types MIME MIME (Multipurpose Internet Mail Extension) est un standard de données de divers types (textes, images, vidéo, …). HTTP Permet de spécifier les types de MIME à échanger. Il utilise l'en-tête Content-type dans une réponse HTTP.