• Aucun résultat trouvé

www.google.be ?

N/A
N/A
Protected

Academic year: 2022

Partager "www.google.be ?"

Copied!
68
0
0

Texte intégral

(1)

Télécommunications et réseaux 1 (TER1)

Chapitre 2 : Étude de la couche « application »

(2)

Généralités

Terminologie

Processus : programme en cours exécution.

Les processus tournant sur deux machines différentes communiquent via un protocole de couche application.

Couche « application »

Agent utilisateur : interface entre utilisateur et le réseau.

Exemples :

- Web : navigateur web (IE, Firefox, ...)

- E-mail : client de messagerie (Thunderbird,

Outlook, ...)

(3)

Généralités

Modèle client-serveur

Caractéristiques d'un serveur : - il est initialement passif;

- il est à l'écoute, prêt à répondre aux requêtes envoyées par des clients ; - dès qu'une requête lui parvient, il la traite et envoie une réponse.

Caractéristiques d'un client :

- il est actif en premier (ou maître) ; - il envoie des requêtes au serveur ; - il attend et reçoit les réponses du serveur.

Réseau

Serveur Client 1

Client 2

Requête

Réponse

Couche « application »

Fournisseur de services Consommateur

de services

(4)

Généralités

Numéro de Port

Comment un processus identifie-t-il l’autre processus avec lequel il veut communiquer ?

Client

FF

Service transport

Identifier le poste client : adresse IP

Serveur

IIS

Identifier le poste serveur :

adresse IP

FZS FZ

FF: Firefox / FZ : Filezilla / IIS : serveur Web Microsoft

Identifier le processus

client : Numéro port

Identifier le processus

client : Numéro port

Couche « application »

(5)

Généralités

Liste de quelques numéros de port

http://fr.wikipedia.org/wiki/Liste_des_ports_logiciels

Couche « application »

(6)

Généralités

Couche « application »

De quel service de transport une application a-t-elle besoin ?

Fiabilité du transfert de données (Perte de données)

Certaines applications tolèrent des pertes (audio, vidéo)

D’autres nécessitent un transfert fiable à 100% (ex.: transfert de fichiers, e-mail)

Bande passante

Certaines applications nécessitent un minimum de BP pour être efficace (ex.: multimédia)

D’autres (“appli élastiques”) fonctionnent quelque soit la BP dont elles disposent (email, Web, transfert de fichiers)

Délai

Certaines applications nécessitent des délais faibles pour être efficaces (<100 ms /(ex. : téléphonie Internet, jeux interactifs).

(7)

Généralités

Couche « application »

Besoins en services de transport des applications courantes

(8)

Généralités

Couche « application »

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

Les services des protocoles de transport Internet

(9)

Généralités

Couche « application »

(10)

Protocoles applicatifs

(11)

Navigateur Web et HTTP

Couche « application »

Objectifs web

- Permettre la mise à disposition d'informations via des serveurs Web

- Autoriser les liens hypertextes entre informations situées sur des sites différents.

Serveur Web www.google.be

Serveur Web www.ebay.fr Client :

navigateur Web

Requête

Réponse Requête

(12)

Navigateur Web et HTTP

Couche « application »

Terminologie

Les pages Web contiennent des objets

Les objets peuvent être : fichier HTML, image JPEG, applet Java, fichier audio, ...

Une page Web est constituée d'un fichier HTML qui inclut plusieurs objets référencés

=> HTML(HyperText Markup Language) : un langage de description de documents qui permet d'inclure des liens

hypertextes

(13)

Navigateur Web et HTTP

Couche « application »

Terminologie

Chaque objet est adressable par une URL (Uniform Resource Locator)

Adresse du serveur Web

Dossier

http://www.csszengarden.com/001/zen-bg.jpg

Exemple :

Ressource : image jpeg

(14)

Navigateur Web et HTTP

Couche « application »

Langage HTML (1/2)

Langage de description de documents utilisés sur le web.

Quelques balises HTML :

<html>...</html>

<head>...</head>

<title>...</title>

<body>...</body>

<h1>...</h1>

<p>...</p>

<img src= « URL » />

<a href= « URL»> lien </a>

(15)

Navigateur Web et HTTP

Couche « application »

Langage HTML (2/2)

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=windows-1250">

<title>Page de test</title>

</head>

<body>

<h1>Mon site Web</h1>

<hr />

<h3>MENU</h3>

<ul>

<li><a href="http://www.google.be">Google</a></li>

<li><a href="http://www.csszengarden.com/tr/francais/">zengarden</a></li>

<li><a href="http://www.amazon.fr">Amazon</a></li>

</ul>

<hr />

<img src="http://www.csszengarden.com/001/zen-bg.jpg"/>

</body>

(16)

Navigateur Web et HTTP

Couche « application »

Protocole HTTP (1/2)

=> un protocole d'échange de documents HTML HTTP (HyperText Transfer Protocol)

Modèle client/serveur

client: navigateur qui demande, reçoit et affiche des objets Web (fichier html, image JPEG, GIF, applet java, …).

serveur: serveur Web qui envoie les objets en réponse aux requêtes

Standards

HTTP1.0: RFC 1945

HTTP1.1: RFC 2616

(17)

Navigateur Web et HTTP

Couche « application »

Protocole HTTP (2/2)

HTTP : service de transport TCP

Le client initie une connexion TCP vers le serveur, port 80

Le serveur accepte les connexions TCP du client

Les messages http 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.

(18)

Navigateur Web et HTTP

Couche « application »

Exemple : chargement d'une page Web

Soit un utilisateur qui saisit l'URL suivante :

http://www.monSeveur.be/dossier/index.html (Contient du texte, et des références à 10 images jpeg)

1) Le client (Firefox) initie la connexion

TCP vers le serveur Web (Apache) sur la machine www.monServeur.be.

2) Le serveur web est en

attente sur la connexion TCP au port 80. Il accepte la

connexion.

3) Le client envoie une requête HTTP (contenant l’URL).

www.monServeur.be/dossier/index.

html 4) Le serveur web reçoit le

message, forme la réponse contenant l’objet demandé.

(19)

Navigateur Web et HTTP

Couche « application »

Exemple : chargement d'une page Web

5) Le client reçoit la réponse

réponse contenant le fichier html, affiche le html. En analysant le fichier html, il trouve les 10

références d’objets JPEG (liens)

Le serveur web ferme la connexion TCP

6) Les étapes 1 à 5 sont répétées pour chaque objet JPEG

=> connexion non persistante

(20)

Navigateur Web et HTTP

Couche « application »

Connexions non-persistantes, persistantes

HTTP/1.0: le serveur analyse la requête, répond, ferme la connexion TCP.

Maintient la connexion TCP.

Il fermera la connexion après son inutilisation durant un certain temps (configurable).

HTTP/ 1.1:

A chaque fois que l'on sollicite le transfert d'un objet => ouverture d'une nouvelle connexion

(21)

Navigateur Web et HTTP

Couche « application »

Format général d'une requête HTTP

Méthode espace URL espace version CRLF

Nom du champ d'entête : espace Valeur CRLF

Nom du champ d'entête : espace Valeur CRLF CRLF

...

Corps de la requête

Lignes d'entête Ligne vide Ligne de commande

Les entêtes permettent au client de paramétrer la requête.

(22)

Navigateur Web et HTTP

Couche « application »

Exemple d'une requête HTTP

http://www.google.be/

GET / HTTP/1.1

Host: www.google.be

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3

Accept-Encoding: gzip,deflate

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300

Connection: keep-alive

Entêtes

Connexion persistante

Host : nom de la machine sur laquelle la ressource réside.

(23)

Navigateur Web et HTTP

Couche « application »

Méthodes

GET : Récupération d'un document

=> permet de demander un document à partir d'une localisation spécifique sur le serveur.

POST : Envoi de données au serveur

=> permet au client d'envoyer des données à des programmes qui sont accessibles par le serveur et qui pourront traiter ces données (ex. : formulaires,...)

(24)

Navigateur Web et HTTP

Couche « application »

Format général d'une réponse HTTP

Version espace Code d'état espace texte-réponse CRLF Nom du champ d'entête : espace Valeur CRLF

Nom du champ d'entête : espace Valeur CRLF

CRLF

...

Corps de la réponse

Lignes d'entête Ligne vide Ligne d'état

Corps de la réponse => exemple : fichier HTML demandé.

(25)

Navigateur Web et HTTP

Couche « application »

Exemple d'une réponse HTTP

HTTP/1.x 200 OK

Cache-Control: private, max-age=0 Date: Wed, 01 Oct 2008 20:39:10 GMT Expires: -1

Content-Type: text/html; charset=UTF-8 Content-Encoding: gzip

Server: gws

Content-Length: 2706

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.

Last-Modified : date de dernière modification de la ressource

(26)

Navigateur Web et HTTP

Couche « application »

Code de d'état

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.

Exemple : HTTP/1.0 200 OK

301 Moved Permanently : L’objet demandé a été déplacé, sa nouvelle localisation figure dans ce message.

(27)

Navigateur Web et HTTP

Couche « application »

Code de d'état

404 Not Found

Document demandé non trouvé sur le serveur 505 HTTP Version Not Supported

400 Bad Request

Message de requête non compris par le serveur.

exemples : erreur de syntaxe dans la requête, URL non accessible, requête non autorisée, ...

(28)

Navigateur Web et HTTP

Couche « application »

Cookie

HTTP est sans état (stateless)

=> le serveur ne se souvient donc pas des choix faits par le client ! Problème d'identification des visiteurs

sites e-commerce (amazon, ...)

portails web personnalisés (iGoogle, yahoo, ...) Solution

=> le cookie (témoin) est un fichier texte (max 4 Ko) créé et fourni par le serveur. Les navigateurs les stockent dans un répertoire réservé à cet effet.

(29)

Navigateur Web et HTTP

Couche « application »

Contenu du cookie

Un cookie est composé de 5 champs :

Domaine : indique l'endroit d'où provient le cookie

Chemin : représente un chemin dans la structure de répertoires du serveur.

Contenu : représente le contenu du cookie, prend la forme de nom=valeur.

Représente n'importe quelle information utile au serveur

Expiration : indique le moment auquel le cookie expire.

- cookie session : expire à la fin de la session.

- cookie persistant : reste jusqu'à ce qu'il expire.

Sécurité : utilisé pour indiquer que le navigateur peut retourner le cookie uniquement vers un serveur sécurisé.

(30)

Navigateur Web et HTTP

Couche « application »

Utilisation du cookie

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 réponse

Set-cookie: 1678453

Le client présente le cookie dans ses requêtes futures

Requête HTTP

Client Serveur

Réponse HTTP + Set-cookie : n°

Requête HTTP + Cookie : n°

Réponse HTTP

(31)

Navigateur Web et HTTP

Couche « application »

Amélioration des performances

Profiter du principe de localité et de la stabilité des documents

de nombreux documents changent rarement

un utilisateur peut visualiser plusieurs fois le même document

deux utilisateurs proches ont de bonnes chances d'avoir de demander des documents similaires

Solution

installer une cache (disque et mémoire) dans chaque navigateur

if-modified-since pour vérifier si un document en cache est toujours valide

installer des caches institutionnelles (proxy)

(32)

Navigateur Web et HTTP

Couche « application »

GET conditionnel : cache côté client

But : Ne pas envoyer l’objet 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/1.0 304 Not Modified

Client Serveur

Requête HTTP

If-modified-since :

<date>

Réponse HTTP HTTP/1.0

304 Not Modified Requête HTTP

If-modified-since :

<date>

Réponse HTTP HTTP/1.1 200 OK

1

2

(33)

Navigateur Web et HTTP

Couche « application »

Cache Web : Serveur proxy (mandataire)

But : satisfaire la requête client sans invoquer le serveur d’origine.

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

Serveur proxy Client

Serveur Web

(34)

Transfert de fichier

Couche « application »

Principe (1/2)

Serveur FTP

Client FTP

Transfert de fichier

Interface

utilisateur FTP

HD distant HD local

Utilisateur

Transfère des fichiers d’un/vers un hôte distant (déploiement et mise à jour de site Web, ... ) Modèle client/serveur

(35)

Transfert de fichier

Couche « application »

Principe (2/2)

Client FTP Serveur FTP

21 20

Connexion TCP de contrôle

Connexion TCP de données

1125 1126

Contrôle :

- échange des commandes et réponses entre le client et le serveur.

Exemple de commandes : effacer, déplacer un fichier, ...

- envoie au serveur le numéro de port client (1126) pour l'échange de données

1126 ->

(36)

Transfert de fichier

Couche « application »

Commandes et réponses

Quelques commandes :

Envoie du texte ASCII sur le canal de contrôle

USER nom_de_utilisateur

PASS mot_de_passe

LIST : retourne la liste des fichiers dans le dossier courant

RETR nom_fichier :envoi du fichier demandé.

STOR nom_fichier : réception d’un fichier qui portera le nom spécifié (création ou écrasement du fichier)

DELE nom_fichier : demande de supprimer le fichier spécifié sur le serveur

Quelques codes retournés :

Code d'état et phrase

331 Username OK, password required

125 Data connection already open; tranfer starting 425 Can't open data connection

(37)

Transfert de fichier

Couche « application »

Mode actif

Commande PORT

Indique au serveur sur quel port le client va gérer le transfert de données.

Exemple :

IP client : 10.0.0.1 Port : 1027

PORT 10,0,0,1,4,3 1027 = 4*256 + 3

(38)

Courrier électronique

Couche « application »

Principe d'envoi de mail

Trois éléments majeurs :

Agent utilisateur

Serveurs de mail

Protocole SMTP (Simple Mail Transfert Protocol)

Alice Bob

Serveur de mail d'Alice

Serveur de mail de Bob

Envoi au serveur local Récupération du message

SMTP SMTP

(39)

Courrier électronique

Couche « application »

Agent utilisateur

Composer, éditer et lire les messages.

Exemple : Thunderbird, Outlook, ...

Les messages sortant et entrants sont stockés sur le serveur

Serveur de mail

Les mailbox (boîte aux lettres) 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)

(40)

Courrier électronique

Couche « application »

Format des messages e-mail

Exp: ABC S.A.

Rue de Fer 10 5000 Namur

DEF Corp.

Steel street 9 WA78 AX London Grande Bretagne

From: president@abc.be To: ceo@def.com

Subject: Hello

Dear Sir,

Bla Bla Bla...

entête

Corps du message

Corps du message : Entête

Ligne de blanc Corps

(41)

Courrier électronique

Couche « application »

SMTP

Utilise TCP pour transférer de façon fiable un message d’un client vers un serveur, port 25

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

(42)

Courrier électronique

Couche « application »

Interaction SMTP

Trois phases de SMTP

1) établissement d'une association SMTP - ouverture de la connexion TCP

- message de bienvenue du serveur - EHLO

2) Transfert d'un message

MAIL FROM : <userExpéditeur@domaine>

RCPT TO : <userDestinataire@domaine>

DATA- transfert du message complet, entête comprise

- caractère "." sur ligne vide pour terminer le message transfert éventuel d'autres messages

3) Fermeture de l'association - QUIT

-message de fin du serveur

(43)

Courrier électronique

Couche « application »

Contenu des messages A l'origine

courrier électronique développé par des anglophones

message composé de lignes ASCII 7 bits - chaque ligne est terminée par <CRLF>

Comment dans un email transmettre ?

des caractères accentués

autre chose que du texte ASCII - audio

- vidéo

- programmes...

(44)

Courrier électronique

Couche « application »

MIME (

Multipurpose Internet Mail Extensions

)

=> Redéfinition du format des messages Objectifs

rester le + possible compatible avec d'anciens serveurs d'email

supporter des textes dans une autre langue que l'anglais

(nécessité d'identifier le type d'encodage des caractères puisque ASCII 7bits ne suffit plus)

pouvoir transférer autre chose que du texte (nécessité d'identifier les différents types de contenu)

pouvoir créer des messages composés de plusieurs parties (fichiers attachés)

Solution choisie

ajouter de nouveaux champs optionnels dans l'entête du message

ajouter lorsque c'est nécessaire certains éléments dans le corps du message

(45)

Courrier électronique

Couche « application »

Nouveaux champ dans l'entête MIME-Version:

indique la version de MIME utilisée pour créer le message

version actuelle : 1.0

Content-Description:

texte ASCII (commentaire) décrivant le contenu

Content-Type:

indique la nature du message

Content-Transfer-Encoding:

indique la façon dont le message a été encodé

(46)

Courrier électronique

Couche « application »

MIME (Content-Type)

Content-Type composé de deux parties

Type de contenu

- text, image, video, application - Multipart

Format du contenu - text/plain , text/html - image/gif, image/jpeg - audio/basic

- video/mpeg, video/quicktime

- application/octet-stream, application/postscript - multipart/alternative

message composé de plusieurs parties représentant le même contenu dans des formats différents (ex: deux formats d'image)

- multipart/mixed

message composé de plusieurs contenus différents (exemple : partie texte et fichier attaché)

(47)

Courrier électronique

Couche « application »

Caractères accentués

Support des caractères accentués dans les contenus de type text/plain paramètre indiquant le code de caractères utilisé pour encoder le message

Content-Type: text/plain; charset=us-ascii

- norme définie fin des années 1960s aux USA - caractères ASCII 7bits, défaut

Content-Type: text/plain; charset=iso-8859-1

- code de caractères Latin1 pour Europe défini par l'ISO - 8 bits pour chaque caractère

- les caractères 0-127 sont équivalents à US-ASCII Content-Type: text/plain; charset=unicode

- code de caractères universel, supporte toutes les langues - 16 bits pour chaque caractère

- partiellement compatible avec ISO-8859-1

(48)

Courrier électronique

Couche « application »

Caractères codés sur 8 bits

Les messages doivent être codés en ASCII 7 bits

Comment coder les caractères ASCII codés sur 8 bits ? Deux techniques

Quoted-Printable :

- Un octet correspondant à un caractère imprimable de l'ASCII est représenté tel quel

- Un octet qui ne correspond pas à un caractère imprimable de l'ASCII est représenté par un signe égal, suivit de son numéro, exprimé en hexadécimal

Caractère Encodage (8 bits) Quoted-Printable

é 0xe9 =E9

espace 0x20 =20

(49)

Courrier électronique

Couche « application »

Caractères codés sur 8 bits

Base 64 :

Un alphabet de 65 caractères est utilisé pour permettre la représentation de 6 bits par caractère.

(50)

Courrier électronique

Couche « application »

Caractères codés sur 8 bits

Base 64 :

3 caractères « Hi! »

01001000 01101001 00100001 <=> 010010 000110 100100 100001 Les 4 groupes de 6 bits en sortie nous donnent les valeurs

18, 6, 36 et 33. Ainsi en suivant la correspondance de la table indexée nous obtenons les 4 caractères « SGkh ».

groupe de 24 bits -> encodé sur 4 caractères ASCII

http://www.securitystats.com/tools/base64.php

(51)

Courrier électronique

Couche « application »

Content-Type : Multipart/mixed

Comment identifier les parties d'un message ?

- choisir une chaîne de caractères "spéciale" qui servira de délimiteur qui ne doit pas apparaître dans le message

- annoncer ce délimiteur dans l'entête

MIME-Version: 1.0

Content-Type: multipart/alternative; boundary="0-1826024551-1224620356=:27167"

Message-ID: <880091.27167.qm@web28313.mail.ukl.yahoo.com>

--0-1826024551-1224620356=:27167 Content-Type: text/plain; charset=utf-8

Content-Transfer-Encoding: quoted-printable

Tester les caract=C3=A8res accentu=C3=A9s !=0A=0ATester la mise en forme en=

HTML =0A=0A=0A

--0-1826024551-1224620356=:27167

Content-Type: multipart/related; boundary="0-987227513-1224620356=:27167"

--0-987227513-1224620356=:27167 Content-Type: text/html; charset=utf-8

Content-Transfer-Encoding: quoted-printable

(52)

Courrier électronique

Couche « application »

Récupération des messages

Alice Bob

Serveur de mail d'Alice

Serveur de mail de Bob SMTP SMTP

POP3 ou IMAP

(53)

Courrier électronique

Couche « application »

POP3 (Post Office Protocol Version 3)

Objectif

Permettre la récupération de messages email à distance avec authentification des utilisateurs

Fonctionnement

POP utilise le service TCP

adresse du serveur POP

- adresse machine + TCP + numéro de port : 110

client envoie des commandes

- commande : ligne ASCII terminée par <CRLF>

- USER, PASS, STAT, RETR, DELE, QUIT

serveur répond avec +OK si réussite -ERR si erreur

envoi des messages à la demande

(54)

Courrier électronique

Couche « application »

POP3

Trois phases du protocole

1) Autorisation : vérification de l'utilisateur USER nom_de_l'utilisateur

PASS mot_de_passe

2) Transaction : récupération et suppression des messages STAT : liste des messages

RETR <n> : récupération d'un message

DELE <n> : message marqué pour suppression 3) Mise à jour :Fin de la récupération des messages

messages marqués pour suppression sont effacés fin de la connexion TCP

(55)

Courrier électronique

Couche « application »

POP3 vs IMAP

- offre une communication bidirectionnelle (synchronisation) entre votre Gmail sur le Web et votre ou vos clients de messagerie

- méthode plus efficace pour accéder à votre messagerie depuis plusieurs périphériques

- tous les messages sont stockés au même endroit : le serveur IMAP (port 143)

IMAP

Deux modes :

- « télécharger et supprimer » - Bob ne peut plus relire ses messages s'il change de périphérique.

- « télécharger et garder » - Bob génère une copie des messages POP3

(56)

Résolution de nom de domaine

Couche « application »

Domain Name System (DNS)

Adresse d'un serveur

Adresse IP de la machine sur laquelle il tourne

numéro de port (TCP ou UDP)

- en général numéro bien connu pour chaque type de serveur

Inconvénient

Adresse IP difficile à mémoriser par un humain Idée

remplacer l'adresse IP par un nom de machine

plus facile pour les humains

- mais adresse IP nécessaire pour utiliser TCP ou

UDP...

(57)

Résolution de nom de domaine

Couche « application »

Services d'un serveur DNS

Traduction nom d'hôte/adresse IP Alias d'hôte

Serveur DNS traduit le nom d'hôte mnémonique en nom d'hôte canonique (nom réelle de la machine).

Alias d'email

(58)

Résolution de nom de domaine

Couche « application »

Quatre types de serveur de noms

Serveur de nom TLD (Top-Level Domain)

Gère les domaines de premier niveau (.be, .fr, .com,...)

En Belgique, ce service est confiée à DNS BE (http://www.dns.be)

Serveur de nom local

Chaque FAI, compagnie a un serveur de nom local

Un hôte interroge toujours en premier le serveur de noms local Serveur de nom racine

13 serveurs racines sont répartis dans le monde (http://root- servers.org)

Contacté par le serveur de noms local qui ne peut pas faire une résolution

(59)

Résolution de nom de domaine

Couche « application »

Quatre types de serveur de noms Serveur de noms d'autorité

Chaque hôte a son adresse IP et nom enregistrés sur un tel serveur

En général, le serveur d'autorité est le serveur de nom

local

(60)

Résolution de nom de domaine

Couche « application »

Espace de nom

edu com net gov mil be fr de Sun apple fbi whitehouse ac rtbf cec inria java www mail www fundp ulg ucl

.

Top-Level Domain(TLD) Racine

generic Top-Level Domains (gTLD) : .edu, .com, .net, .gov, .mil, ...

(http://www.afnic.fr/doc/autres-nic/gtld)

country code Top-Level Domains (ccTLD) : .be, .fr, .de

FQDN : Fully Qualified Domain Name Noeud = domaine Feuille : machine

(61)

Résolution de nom de domaine

Couche « application »

Hiérarchie serveurs DNS

Serveur DNS root i.root-server.net

Serveur DNS TLD .com

Serveur DNS TLD .fr

Serveur DNS TLD .be

Serveur d'autorité amazon.com

Serveur d'autorité belgium.be Serveur d'autorité

yahoo.com

(62)

Résolution de nom de domaine

Couche « application »

Requêtes DNS

Serveur DNS local

1

Serveur DNS racine

2 3

.be ?

Serveur DNS TLD

4

5

google.be ?

Serveur DNS d'autorité

6

7

www.google.be ?

@IP (64.233.183.103)

8 @IP (64.233.183.103)

oogle.be ?

(63)

Résolution de nom de domaine

Couche « application »

Requêtes DNS (récursive)

Serveur DNS local

1

Serveur DNS racine

2

3

.be ?

Serveur DNS TLD

4

5

google.be ?

Serveur DNS d'autorité

6 7

www.google.be ?

@IP (64.233.183.103)

8 @IP (64.233.183.103)

oogle.be ?

@IP (64.233.183.103)

@IP (64.233.183.103)

(64)

Résolution de nom de domaine

Couche « application »

Cache DNS

Quand un serveur de noms connaît une résolution ou adresse IP d'un serveur DNS « récente », il la stocke dans un cache (mémoire local)

Une entrée du cache est supprimée après timeout TTL.

Lors d'une demande de résolution, le serveur DNS commence par explorer sa mémoire cache

(65)

Résolution de nom de domaine

Couche « application »

Enregistrements DNS

Le DNS est une base de données distribuée stockant des Ressources Records (RR)

Format d’un RR : (name, value, type,ttl) Type = A (Address)

name est le nom de la machine value est l'@ IP

(www.google.be, 64.233.183.99, A, TTL)

Type = NS (Name Server)

name est le nom du domaine

value est le nom du serveur d'autorité pour ce domaine (google.be, ns1.google.be, NS, TTL)

(66)

Résolution de nom de domaine

Couche « application »

Enregistrements DNS

Type = CNAME (Canonical Name)

name est l'alias pour le nom « canonique » (réel) value est le nom canonique

(www.google.be,www.l.google.com, CNAME, TTL)

Type = MX (Mail Exchange)

name est le nom du domaine

value est le nom du serveur SMTP

(67)

Résolution de nom de domaine

Couche « application »

Messages DNS

Identification Flags

32 bits

Number of additional Number of authority

Number of answers 12 bytes

Questions

(variable number of resource records) Number of questions

Answers

(variable number of resource records) Authority

(variable number of resource records) Additional information

(variable number of resource records)

Chaque requête contient un numéro de série.

Ce numéro sera reproduit dans la réponse pour permettre

au serveur de déterminer à quelle question une réponse correspond

Question/Réponse

Question récursive ou non

la réponse provient du serveur autorisé

Erreur éventuelle

(68)

Résolution de nom de domaine

Couche « application »

Messages DNS

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

Identification Flags

Number of additional Number of authority

Number of answers

Questions

(variable number of resource records) Number of questions

Answers

(variable number of resource records) Authority

(variable number of resource records) Additional information

(variable number of resource records) 12 bytes

Références

Documents relatifs

Un serveur de noms peut mettre en antémémoire les structures ou informations établies sur toute partie de l'arborescence des domaines, mais en général, un certain serveur de noms a

Ce n'est pas une bonne pratique d'un point de vue sécurité car cela veut dire que les machines de l'entreprise peut communiquer directement entre elles.. Si l'une d'elle est

Nous allons essayer maintenant de faire une résolution de DNS pour savoir si notre serveur fonctionne, faite un clique droit sur le nom du serveur à gauche comme ci-dessous,

Il faudra seulement rajouter une route vers le

Ainsi, pour tromper un serveur de nom, on peut envoyer une requˆete qui contient une r´eponse : la r´eponse sera alors mise dans la m´emoire cache du DNS, ce qui induira le serveur

Un  serveur  DNS  de  cache  assure  une  résolution  de  nom,  mais  n’héberge  aucune  donnée  de  résolution  locale  et  s’appuie  sur  une 

 Trois méthodes pour gérer la correspondance entre une ligne dans le cache et une ligne de la mémoire centrale. 

Pourquoi le tableau ne donne pas de temps d’acc`es en cas d’´echec ou de taux de succ`es d’acc`es pour la m´emoire centrale3. Expliquer d’o` u pourrait venir les diff´erences