Académique Documents
Professionnel Documents
Culture Documents
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
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
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
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
Ligne de la requête
entête
A.BENGAG
HTTP (Hyper Text Transfer Protocol)
Exemple d’une réponse HTTP
A.BENGAG 13
HTTP (Hyper Text Transfer Protocol)
Autres lignes d’état :
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)
404 Not Found : le document demandé n’est pas disponible sur le serveur
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)
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
A.BENGAG 19
DNS Introduction
Il est basé sur le modèle client/serveur : un émetteur interroge un serveur de noms
(serveur DNS)
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 « . »
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« . »
L'adresse FQDN permet de repérer de façon unique une machine sur le réseau Internet
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
Il en existe 13, répartis sur la planète, possédant les noms «a.root-
servers.net» à «m.root-servers.net»
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
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
A.BENGAG 32
DNS Résolution de noms de domaine
Résolution itérative
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?
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.
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
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
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
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.
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 ?
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:
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)
La passerelle
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