Vous êtes sur la page 1sur 46

La couche

Application
Pr. BENGAG

ENSAH

2023/2024
Plan
Rôle de la couche Application

HTTP

DNS

DHCP

A.BENGAG 3
Le rôle de la couche application
La couche application gère les programmes de l'utilisateur et définit des
standards pour que les différents logiciels commercialisés adoptent les mêmes
principes, concernant l’exploitation du réseau

A.BENGAG 4
Modèle client/serveur
Un système client/serveur fonctionne selon le schéma suivant:
 Le client émet une requête vers le serveur grâce à son adresse et à son port, qui
désigne un service particulier du serveur
 Le serveur reçoit la demande et répond à l'aide de l'adresse de la machine client
(et de son port)

A.BENGAG 5
HTTP
Hyper Text Transfer Protocol

A.BENGAG 6
Le web et HTTP
Système d’information hypermédia : texte, images, images animées, son …

Les informations sont stockées sur des serveurs, sous forme des pages web, adressées
par une URL (Uniform Ressource Locator):
 www.netacad.com
www.google.com
www.cisco.fr

Pour interroger les serveurs on utilise des clients (navigateur web) tels que Netscape,
Google Chrome, Internet Explorer, …

Ce sont ces clients qui traduisent nos demandes en langage HTTP pour dialoguer avec
les serveurs
A.BENGAG 7
Le web et HTTP
Un serveur Web est donc un «simple» logiciel capable d'interpréter les
requêtes HTTP arrivant sur le port associé au protocole HTTP (par défaut le
port 80), et de fournir une réponse avec ce même protocole

Un serveur Web est généralement capable de gérer à la fois du contenu


 statique (un logo, une page HTML simple)
 ou dynamique: contenu extrait de base de données (MySQL) et interprété par PHP

Les principaux serveurs web sur le marché sont entre autres


Apache, Microsoft IIS (Internet Information Server), …

A.BENGAG 8
Le web et HTTP
 Le principe de base s’appuie sur le modèle client/serveur
 Client(le navigateur): se connecte sur un serveur, émet une requête , reçoit une réponse,
affiche les objets Web, …
 Ex. : Internet Explorer, FireFox, Google Chrome, …
 Serveur : traite les requêtes clients puis leur envoie les réponses
 Ex. : Apache, Microsoft IIS, …
 La connexion est une simple ouverture de socket TCP/IP généralement sur port 80, mais
on utilise aussi le port 443 pour HTTPS

A.BENGAG 9
HTTP (Hyper Text Transfer Protocol)
HTTP utilise les services de transport TCP
Le client initialise une connexion TCP
HTTP est «sans état»
Le serveur ne maintient aucune information sur des requêtes clients précédentes
Connexions HTTP
Connexion non-persistante
 Au plus, un objet est transmis avec une connexion TCP (entre le client et le serveur)
 Le serveur interprète la requête du client, répond et ferme la connexion TCP

 HTTP/1.0 utilise ce type de connexion

Connexion persistante
 Plusieurs objets peuvent être transmis avec une seule connexion TCP (entre le client et le serveur)
 Le client envoie une requête pour tous les objets requis dès qu’ils sont référencés dans le fichier HTML
 HTTP/1.1 utilise ce type de connexion par défaut

 HTTP/2, HTTP/3

A.BENGAG 10
HTTP (Hyper Text Transfer Protocol) 11

Exemple d’une requête HTTP

Question :
Quand on entre l’URL http://www.utt.fr dans la barre de navigation, quel
Ligne de la requête
est le msg est effectivement émis par le clt vers le srv ?
entête

A.BENGAG
HTTP (Hyper Text Transfer Protocol)
12

Exemple d’une requête HTTP

Ligne de la requête
entête

A.BENGAG
HTTP (Hyper Text Transfer Protocol)
Exemple d’une réponse HTTP

Ligne de statut (protocole, Code de statut, Etat)


entête

A.BENGAG 13
HTTP (Hyper Text Transfer Protocol)
Autres lignes d’état :

200 OK : tout va bien, les données sont envoyées

301 Moved Permanently : l’objet demandé a été déplacé, sa nouvelle adresse est
spécifiée dans l’en-tête : Location (le navigateur client se redirigera automatiquement)

400 Bad Request : le serveur n’a pas compris la requête

404 Not Found : le document demandé n’est pas disponible sur le serveur

505 HTTP Version Not Suported

A.BENGAG 14
Serveur Web
(netacad)
www.netacad.com requête
@IP
IP DNS
@

re
@IP

qu
êt
@ip : 193.168.1.1

e
re
pe
Serveur DNS

ns
e
@I
P

A.BENGAG 15
DNS
Domain Name System

A.BENGAG 16
DNSIntroduction
L’Internet est constitué de réseaux (dizaines de milliers)

Les réseaux sont constitués de sous-réseaux

Les sous-réseaux sont constitués de machines

La technologie de base (TCP/IP) permet l’accès aux machines par leur adresse IP.
Il est pratiquement impossible de connaître les adresses IP des machines
auxquelles ont voudrait accéder

⇒ Ainsi, il est possible d'associer des noms en langage courant aux adresses IP
grâce à un système appelé DNS (Domain Name System)
A.BENGAG 17
DNS Introduction

2
Serveur Web

4
1
4

A.BENGAG 18
DNS Introduction
Ce système propose

 Un espace de noms hiérarchique permettant de garantir l'unicité d'un nom dans une
structure arborescente, à la manière des systèmes de fichiers UNIX

 un système de serveurs distribués permettant de rendre disponible l'espace de noms

 un système de Résolveur (clients) permettant de résoudre les noms de domaines, c'est-


à-dire interroger les serveurs afin de connaître l'adresse IP correspondant à un nom

A.BENGAG 19
DNS Introduction
Il est basé sur le modèle client/serveur : un émetteur interroge un serveur de noms
(serveur DNS)

Il utilise le port 53/UDP (ou rarement le port 53/TCP)

 Pour la quasi-totalité des requêtes DNS, c'est UDP qui est utilisé car il est rapide

 Mais certaines requêtes engendrent des réponses longues dans ce cas, c’est TCP qui est
utilisé (notamment pour les transferts de zone entre serveurs)

A.BENGAG 20
DNS Espace de noms
Structuration du système DNS
 Elle s'appuie sur une structure arborescente dans laquelle sont définis des domaines de
niveau supérieurs (appelés TLD: Top Level Domains), rattachés à un nœud racine
représenté par un point «.»

A.BENGAG 21
DNS Espace de noms
On appelle «nom de domaine» chaque nœud de l'arbre

 Chaque nœud possède une étiquette (en anglais «label») d'une longueur maximale de 63
caractères

 L'ensemble des noms de domaine constitue ainsi un arbre inversé où chaque nœud est séparé du
suivant par un point « . »

L'extrémité d'une branche est appelée hôte

 Elle correspond à une machine ou une entité du réseau

 Le nom d'hôte qui lui est attribué doit être unique dans le domaine considéré, ou le cas échéant
dans le sous-domaine (Exemple : le serveur web d'un domaine porte généralement le nom www)

A.BENGAG 22
DNS Espace de noms
L'extrémité d'une branche est appelée hôte
 Elle correspond à une machine ou une entité du réseau

 Le nom d'hôte qui lui est attribué doit être unique dans le domaine considéré, ou le cas
échéant dans le sous-domaine (Exemple : le serveur web d'un domaine porte
généralement le nom www)

A.BENGAG 23
DNSEspace de noms
Adresse FQDN (Fully Qualified Domain Name, soit Nom de Domaine
Totalement Qualifié)

 C’est le nom absolu correspondant à l'ensemble des étiquettes des nœuds d'une
arborescence, séparées par des points, et terminé par un point final« . »

 La profondeur maximale de l'arborescence est de 127 niveaux et la longueur maximale


d'une adresse FQDN est de 255 caractères

 L'adresse FQDN permet de repérer de façon unique une machine sur le réseau Internet

 Exemple : «www.commentcamarche.net.» représente une adresse FQDN

A.BENGAG 25
DNSEspace de noms
Il existe deux catégories de TLD(Top Level Domain)
1. Domaines génériques gTLD(genericTLD)
 Noms de domaines génériques de niveau supérieur proposant une classification selon le secteur
d'activité

A.BENGAG 26
DNSEspace de noms
2. Domaines nationaux ccTLD (country code TLD)

 Correspondent aux différents pays et leurs noms correspondent aux abréviations des
noms de pays
 .ma (Maroc), .fr (France), .be (Belgique), .de (Deutschland), .uk(United Kingdom), …

Les TLD sont gérés par l’ICANN (Internet Corporation for Assigned Names and
Numbers)

A.BENGAG 27
DNSLes serveurs de noms
Un serveur de nom de domaine est une machine permettant d'établir la
correspondance entre le nom de domaine et l'adresse IP des machines d'un réseau

Chaque domaine possède généralement deux serveurs de noms de domaines: un


serveur primaire et un serveur secondaire

Le serveur secondaire permet de prendre le relais du serveur de noms primaire


en cas d'indisponibilité

Chaque serveur de nom est déclaré dans un serveur de nom de domaine de


niveau immédiatement supérieur, ce qui permet implicitement une délégation
d'autorité sur les domaines
A.BENGAG 28
DNSLes serveurs de noms
Le serveur qui répond aux req relatives aux noms de domaine TLD est
appelé serveur de nom racine

Il en existe 13, répartis sur la planète, possédant les noms «a.root-
servers.net» à «m.root-servers.net»

Un serveur de noms définit une zone, c'est-à-dire un ensemble de domaines


sur lequel le serveur a autorité

Remarque : Chaque ordinateur doit être configuré avec l'adresse d'un


serveur DNS capable de transformer n'importe quel nom en une adresse IP

A.BENGAG 29
DNS Résolution de noms de domaine
On appelle résolution de noms de domaines (ou résolution d'adresses) la corrélation entre les adresses IP et le nom de
domaine associé.

L'application permettant de réaliser cette opération (généralement intégrée au système d'exploitation) est appelée Résolveur (en anglais :
Resolver)

Lorsqu'une application souhaite se connecter à un hôte connu par son nom de domaine (par exemple
«www.cisco.com»), celle-ci va interroger un serveur de noms défini dans sa configuration réseau. Une requête est ainsi
envoyée au serveur de nom primaire

1. Si celui-ci possède l'enregistrement dans son cache, il l'envoie à l'application

2. dans le cas contraire, il interroge un serveur racine

3. Le srv racine renvoie l‘@ IP du serveur DNS faisant autorité pour le domaine com

4. Le serveur de nom com renvoie une liste de serveurs de noms faisant autorité sur le domaine cisco (dans le cas présent les adresses
IP des serveurs de noms primaire et secondaire de cisco.com)

5. Le serveur de noms faisant autorité sur le domaine va alors être interrogé et retourner l'enregistrement correspondant à l'hôte sur le
domaine (dans notre cas www)
A.BENGAG 30
DNS Résolution de noms de domaine
Dans une résolution de nom, certaines requêtes peuvent être itératives,
d’autres récursives
Récursive
Itérative

A.BENGAG 31
DNS Résolution de noms de domaine
1. Résolution récursive
Lorsqu'un serveur DNS reçoit une requête
récursive, il doit donner la réponse la plus
complète possible

C'est pourquoi le serveur DNS est souvent


amené à joindre d'autres serveurs de noms
dans le but de trouver la réponse exacte

A.BENGAG 32
DNS Résolution de noms de domaine
Résolution itérative

Lorsqu'un serveur reçoit une requête itérative,


il renvoie la meilleure réponse qu'il peut
donner sans contacter d'autres serveurs DNS
(en consultant uniquement sa propre base de
données)

A.BENGAG 33
DNS Résolution de noms de domaine
Exemple : quelle est l’adresse IP de www.cisco.com?
Un client nommé client-11.ms.lan souhaite accéder au site web du CISCO

.com

redirecteur

cisco.com

A.BENGAG 34
DNS Résolution de noms de domaine
Exemple : quelle est l’adresse IP de www.cisco.com?

1. L'ordinateur client client-11.ms.lan commence par chercher l'adresse IP du


serveur Web. Pour cela il envoie une requête récursive au premier serveur DNS
de sa liste de serveurs DNS soit dns-2.ms.lan.

2. Le serveur dns-2.ms.lan ne connaît pas la réponse, il envoie donc une requête


récursive à dns-1.ms.lan qui est le premier serveur DNS de sa liste de
redirecteurs.

3. Dans le cas présent dns-1.ms.lan ne connaît pas l'adresse IP recherchée et n'est


pas configuré pour utiliser des redirecteurs. Il envoie donc une requête itérative
au premier serveur DNS racine parmi sa liste d'indications de racine.
A.BENGAG 35
DNS Résolution de noms de domaine
Exemple : quelle est l’adresse IP de www.cisco.com?(suite)

4. Le serveur DNS racine ne connaît pas la réponse mais il sait quel serveur DNS
fait autorité pour le domaine com. Il renvoie donc l'adresse IP du serveur DNS
faisant autorité pour le domaine com à dns-1.ms.lan. ⇒ réponse authoritative.

5. Le serveur dns-1.ms.lan envoie alors une requête itérative au serveur DNS du


domaine com.

6. Le serveur DNS du domaine com ne connaît pas la réponse et renvoie


l'adresse IP du serveur DNS faisant autorité pour le domaine cisco au serveur
dns-1.ms.lan. ⇒ réponse authoritative
A.BENGAG 36
DNS Résolution de noms de domaine
Exemple : quelle est l’adresse IP de www.cisco.com?(suite)

7. Le serveur dns-1.ms.lan contacte alors le serveur DNS faisant autorité pour la zone cisco
au moyen d'une requête itérative.

8. Le serveur DNS faisant autorité pour la zone cisco possède le mappage dans sa zone
de recherche directe locale. Il envoie donc l'adresse IP recherché à dns-1.ms.lan. ⇒
réponse authoritative

9. dns-1.ms.lan transmet la réponse au serveur dns-2.ms.lan. ⇒ réponse non-authoritative

10. Le serveur dns-2.ms.lan fait suivre la réponse au client qui peut ensuite joindre le
serveur HTTP et afficher le site du cisco. ⇒ réponse non-authoritative

A.BENGAG 37
DNS Système cache
Objectif: Réduire le temps de réponse d’une résolution de nom

Diminuer le nombre de messages DNS nécessaires

Le serveur de noms (quelconque) stocke dans son cache les informations
récentes

Comme la mémoire n’est pas infinie et que les données peuvent ne plus être
valables au bout d’un certain temps, les données “sortent” du cache après un
certain temps (TTL)

Un serveur DNS qui mémorise dans son cache un enregistrement DNS n’a pas
autorité dessus ⇒ spécifie « non-authoritative » dans la réponse
A.BENGAG 39
DNS Types d’enregistrements
Un DNS est une base de données répartie contenant des enregistrements,
appelés RR (Resource Records), concernant les noms de domaines

D'une manière générale, un enregistrement DNS comporte les informations


suivantes

A.BENGAG 40
DNS Types d’enregistrements
Nom de domaine : le nom de domaine doit être un nom FQDN, c'est-à-dire être
terminé par un point. Si le point est omis, le nom de domaine est relatif, c'est-à-dire
que le nom de domaine principal suffixera le domaine saisi
TTL(Time To Live) : Indique la durée de vie de l’enregistrement DNS.
Classe: représente la famille de protocoles (IN pour Internet)
RData: il s'agit des données correspondant à l'enregistrement (selon le type
d'enregistrement)
Type: une valeur sur 16 bits spécifiant le type de ressource décrit par
l'enregistrement

A.BENGAG 41
Le service DHCP
Dynamic Host Configuration Protocol

A.BENGAG 43
DHCP
Sur les réseaux de plus grande taille ou sur les réseaux dont les utilisateurs
changent fréquemment, l'adressage par le protocole DHCP est préférable.

Il fournit une configuration dynamique des adresses IP et des informations


associées aux ordinateurs ayant activé la configuration automatique (clients DHCP)

Ainsi chaque hôte du réseau obtient une configuration IP dynamiquement au


moment du démarrage, auprès du serveur DHCP

Le serveur DHCP lui attribuera notamment une adresse IP, un masque et
éventuellement l'adresse d'une passerelle par défaut ainsi que l’adresse des
serveurs DNS
A.BENGAG 44
DHCP
Problème
Un client DHCP est une machine qui demande une adresse IP à un serveur
DHCP

Comment, alors, un client DHCP, qui utilise le protocole TCP/IP mais qui n'a
pas encore obtenu d'adresse IP par le serveur, peut-il communiquer sur le
réseau ?

Technique de diffusion et l’adresse MAC

A.BENGAG 45
DHCP
Utilisation du mode non connecté via UDP et
les N°Port 68 pour le client 67 pour le
serveur
Port 68 Port 67

A.BENGAG 46
DHCP
1. DHCPDISCOVER: Le client émet un message de demande de bail IP qui est
envoyé sous forme d'une diffusion sur le réseau avec:

adresse IP source 0.0.0.0

adresse IP destination 255.255.255.255

adresse MAC source du client


Adresse MAC destination FF:FF:FF:FF:FF:FF.

A.BENGAG 47
DHCP
2. DHCPOFFER: Les serveurs DHCP répondent en diffusion, même si l’adresse MAC
du client est connue , en proposant:

Une adresse IP, choisit dans une plage d’adresses configurée nommée pool

Une durée de bail (durée pendant laquelle l’IP ne sera pas utilisée par un autre host)

Un masque de sous-réseau.

L'adresse IP du serveur DHCP.

La passerelle

Le serveur DNS


A.BENGAG 48
DHCP
3. DHCPREQUEST: Le client sélectionne une offre (en général la
première) et répond par un DHCP-REQUEST au serveur ( en
diffusion) pour indiquer qu’il accepte.

Le message DhcpRequest comporte l'identification du serveur DHCP


sélectionné

Ce dernier sait que son offre a été retenue

Tous les autres serveurs DHCP retirent leurs offres

A.BENGAG 49
DHCP
4. DHCPACK: Le serveur DHCP concerné répond définitivement, en
unicast, par un DHCP-ACK qui constitue une confirmation.

L'adresse du client est alors marquée comme utilisée et ne sera plus proposée à
un autre client pour toute une durée.
Cette DHCPACK contient:
 Une adresse IP,
 Une durée de bail
 Un masque de sous-réseau.
 L'adresse IP du serveur DHCP.
 La passerelle

 Le serveur DNS
A.BENGAG 50

Vous aimerez peut-être aussi