Вы находитесь на странице: 1из 163

Network Services

Architecture C/S
Implémentation

Speaker:
© JKT Systems, Inc. All rights reserved. 1
Network Services - Archi C/S - Implémentation

Pré requis:
◆ Systèmes
• Windows Server
• Unix et commandes de base
◆ Réseaux TCP/IP

Speaker:
© JKT Systems, Inc. All rights reserved. 2
Objectifs et Démarche
◆ Objectifs Pédagogiques
▪ Connaître le modèle Client/Serveur (90% des applications
de l’Internet)
▪ Avoir des notions de conception des services/applications
Client/Serveur
▪ Connaître les protocoles applicatifs de l’Internet et savoir
mettre en place les services associés sous Linux et ou sous
Windows Server
◆ Démarche pédagogique basée sur :
• Présentations, Exposés, Coaching
• Autonomie et travail personnel
• Pratique: Simulation, Installation et Gestion des Services.
© JKT Systems, Inc. All rights reserved. 3
Organisation Pédagogique de travail
Partie 1: Principe de Base de l’Architecture Client/Serveur
Architecture et communication de type Client/Serveur

1.1 Quelques Rappels: Internet et le modèle TCP/IP


1.2 Modèle Client/Serveur, middleware
1.3 Conception d’une application Client/Serveur
1.4 Les modes de communication entre processus
1.5 Les sockets TCP/IP
1.6 Les serveurs multi-protocoles et multi-services
1.7 Les appels de procédures distantes, l’exemple des RPC

© JKT Systems, Inc. All rights reserved. 4


Organisation Pédagogique de travail
Partie 2: Services Réseaux sur TCP/IP et Implémentation

Applications Client/Serveur sur TCP/IP


2.1 Identification et Mise en réseau d’un serveur (Configuration des paramètres
TCP/IP, Fichiers spéciaux)
2.2 Service d’adressage IP (DHCP)
2.3 Service de Noms (DNS)
2.4 Service web (HTTP, caches Web et Proxy)
2.5 Service courrier électronique (SMTP, POP, IMAP, WebMail)
2.6 Connexions à distance (telnet, rlogin, ssh, X11, ...)
2.7 Transfert de fichiers et autres (FTP, TFTP, NFS, SMB)
2.8 Service Gestion d’utilisateurs distants (NIS)
2.9 Service Gestion d’un annuaire fédérateur (LDAP)
2.10 Service d’authentification (CAS, Kerberos, de gestion et de partage de
ressources (contrôleur de domaine, SAMB)
2.11 Supervision (SNMP), Sauvegarde & Restauration
© JKT Systems, Inc. All rights reserved. 5
Evaluation

❖ Validation des acquis: 40%


▪ Examen Ecrit
▪ Examen Pratique

❖ Note de Participation: 20%

❖Projet : 40%

© JKT Systems, Inc. All rights reserved. 6


Partie 1

Principe de Base de
l’Architecture de
Communication
Client/Serveur

Speaker:
© JKT Systems, Inc. All rights reserved. 7
Exemples de Services

❖e-services ❖VoIP services


❖m-services ❖Real-time video conferencing
❖Web ❖IPTV Services
❖e-mail ❖Social networking
❖Text/image/audio/video ❖search
messaging
❖Remote login
❖P2P file sharing
❖Multi-user network games
❖Streaming stored video

© JKT Systems, Inc. All rights reserved. 8


1.1 Quelques rappels : Internet et le modèle TCP/IP

◆ Internet, Un réseau de réseaux


-Un ensemble de logiciels et de protocoles
-Basé sur l’architecture TCP/IP
-Fonctionne en mode Client/Serveur
-Offre l’accès à un panorama de services (e-mail, transfert de fichiers,
connexion à distance, web, ...)

◆ Internet, Une architecture hiérarchique à 3 niveaux


-Couche Accès - Couche Distribution - Couche Cœur
-Une classification: PAN, LAN, WLAN, MAN, WAN
-Un ensemble de sous-réseaux indépendants (Autonomous System) et
hétérogènes qui sont interconnectés (organisation hiérarchique)

© JKT Systems, Inc. All rights reserved. 9


1.1 Quelques rappels : Internet et le modèle TCP/IP

◆ Internet, Une architecture hiérarchique à 3 niveaux

© JKT Systems, Inc. All rights reserved. 10


1.1 Quelques rappels : Internet et le modèle TCP/IP
◆ Architecture TCP/IP: Structure en couche

567

12

© JKT Systems, Inc. All rights reserved. 11


1.1 Quelques rappels : Internet et le modèle TCP/IP
◆ Architecture TCP/IP: Deux machines sur un même sous-réseau IP

© JKT Systems, Inc. All rights reserved. 12


1.1 Quelques rappels : Internet et le modèle TCP/IP
◆ Architecture TCP/IP: Prise en compte de l'hétérogénéïté

© JKT Systems, Inc. All rights reserved. 13


1.1 Quelques rappels : Internet et le modèle TCP/IP
◆ Architecture TCP/IP: Couche réseau - communications entre machines

IP – protocole d'interconnexion, best-effort et acheminement non


garanti

• acheminement en mode non connecté


• peu de fonctionnalités, pas de garanties
• simple mais robuste (défaillance d'un nœud intermédiaire)
© JKT Systems, Inc. All rights reserved. 14
1.1 Quelques rappels : Internet et le modèle TCP/IP
◆ Architecture TCP/IP: Couches transport et réseau

© JKT Systems, Inc. All rights reserved. 15


1.1 Quelques rappels : Internet et le modèle TCP/IP
◆ Architecture TCP/IP: Couche transport - communications entre applis

TCP – protocole de transport de bout en bout garanti

• uniquement présent aux extrémités


• transport fiable de segments (mode connecté)
• protocole complexe (retransmission, gestion des erreurs,
séquencement, ...)
• Contrôle de flux et de congestion
© JKT Systems, Inc. All rights reserved. 16
1.1 Quelques rappels : Internet et le modèle TCP/IP
◆ Architecture TCP/IP: Couche transport - communications entre applis
UDP UDP
UDP

UDP

Flux UDP
UDP – protocole de transport de bout en bout non garanti

• uniquement présent aux extrémités


• transport non fiable de datagrammes (mode non connecté)
• protocole flexible donc rapide (non retransmission, pas de
gestion des erreurs, séquencement, ...)
• Contrôle de flux et de congestion non pris en compte
© JKT Systems, Inc. All rights reserved. 17
1.1 Quelques rappels : Internet et le modèle TCP/IP
◆ Architecture TCP/IP: Protocol Data Unit (PDU)

© JKT Systems, Inc. All rights reserved. 18


1.1 Quelques rappels : Internet et le modèle TCP/IP
◆ Architecture TCP/IP: Identification des protocoles

© JKT Systems, Inc. All rights reserved. 19


1.1 Quelques rappels : Internet et le modèle TCP/IP
◆ Architecture TCP/IP: Identification des protocoles

o Une adresse de transport = une adresse IP + un numéro de port


(16 bits) -> adresse de socket
o Une connexion s'établit entre une socket source et une socket
destinataire -> une connexion = un quintuplé (proto, @src, port
src, @dest, port dest)
o Deux connexions peuvent aboutir à la même socket
o Les ports permettent un multiplexage ou démultiplexage de
connexions au niveau transport
o Les ports inférieurs à 1024 sont appelés ports réservés

© JKT Systems, Inc. All rights reserved. 20


1.1 Quelques rappels : Internet et le modèle TCP/IP
◆ Architecture TCP/IP: Exigences de Certaines applications
❑ Délai de transmission ❑ Perte de Données
o Certaines applis nécessitent des o Certaines applis tolèrent
délais de transmission faibles des pertes. Ex: VoIP
pour être efficace (Voix/Vidéo Streaming),
o Ex: VoIP (Voix/Vidéo Streaming), Jeux Interactifs,
Jeux Interactifs, o D’autres nécessite une
fiabilité de transfert.
Ex: le transfert de fichiers,

❑ Bande Passante
o Certaines applis sollicitent une Bande
Passante minimale de pour être
efficace. Ex: applis multimédia
o D’autres, dites « applis élastiques »
fonctionnent, quelque soit la Bande
Passante disponible

© JKT Systems, Inc. All rights reserved. 21


1.1 Quelques rappels : Internet et le modèle TCP/IP
Besoins/Exigences de Transport de certaines applications
Sensibilité à la
durée de
Application Pertes de données Débits transmission

Transfert de fichiers Non Élastique Non


e-mail Non Élastique Non
Documents Web Non élastique Non
Voix/Video temps Tolérant audio: 5kbps-1Mbps Oui, 100’s msec
réel video:10kbps-5Mbps
Voix/Video VoD Tolérant same as above Oui, few secs
Jeux interactifs Tolérant few kbps up Oui, 100’s msec
Messagerie Non élastique Oui et Non
instantannée,
application financère
Ce tableau permet de comprendre pourquoi certaines applications
utilisent UDP ou TCP pour le transport des messages
© JKT Systems, Inc. All rights reserved. 22
1.1 Quelques rappels : Internet et le modèle TCP/IP
Caractéristiques, Comparaison TCP et UDP

© JKT Systems, Inc. All rights reserved. 23


1.1 Quelques rappels : Internet et le modèle TCP/IP

Internet applications: application, transport protocols

Application Underlying
Application layer protocol transport protocol

e-mail SMTP [RFC 2821] TCP


remote terminal access Telnet [RFC 854] TCP
Web HTTP [RFC 2616] TCP
file transfer FTP [RFC 959] TCP
streaming multimedia HTTP (eg Youtube), TCP or UDP
RTP [RFC 1889]
Internet telephony SIP, RTP, proprietary
(e.g., Skype) typically UDP

© JKT Systems, Inc. All rights reserved. 24


1.2 Architecture et Com. Client / Serveur
Principes généraux de l’architecture C/S:
❖ Un service: Description abstraite de fonctionnalités à l'aide de primitives
(commandes ou événements) telles que demande ou réception de données.

❖ Protocole (réseau): Pour un service donné, c’est l’ensemble des


règles et procédures de communication utilisées de part et d’autres par les
stations qui échangent des données sur le réseau

❖ Client
• Invoqué par l’utilisateur et Initie les connections au serveur distant
• Formule les requêtes à envoyer au serveur et affiche les réponses de
celles-ci sur l’écran de l’utilisateur.

❖ Application cliente
Programme qui invoque un certain nombre de méthodes objets permettant à
des utilisateurs de formuler leur requête. 25
© JKT Systems, Inc. All rights reserved.
1.2 Architecture et Com. Client / Serveur
Principes généraux de l’architecture C/S:
❖ Serveur
• Héberge un (ou plusieurs) service (s) réseau(x) donné(s) avec des
paramètres TCP/IP fixes et permanents
• Accepte les connections à travers le réseau
• Reçoit et Traite les requêtes envoyées par les clients
• Envoie les résultats à travers les connectivités réseau aux clients

❖ Application server
Programme permettant d’implémenter un serveur et contenant un certain
nombre de méthodes de traitement de requêtes par ce dernier, pour un type
de service donné.

❖ Partage des Ressources


Un serveur traite plusieurs clients en même temps et contrôle leurs ac
cès aux ressources.
© JKT Systems, Inc. All rights reserved. 26
1.2 Architecture et Com. Client / Serveur
Principes généraux de l’architecture C/S:
❖Intégrité
Les clients restent individuels et indépendants, les données d’un service sont
gérées sur/à travers le serveur de façon centralisée.
❖Souplesse et flexibilité
Les modifications du serveur sont indépendants du client. Par contre, Si un
client est mis à jour, on modifie le module client (en améliorant l'interface, par
exemple) sans modifier le module serveur.
❖Localisation
Le système Client/Serveur masque aux clients la localisation du serveur.
❖ Hétérogénéité
Le Système client/serveur est indépendant des plateformes matérielles et
logicielles
❖ Redimensionnement
Possibilité d'ajouter et de retirer des clientes ou de faire évoluer les serveurs.
© JKT Systems, Inc. All rights reserved.27
1.2 Architecture et Com. Client / Serveur
❖ modèle de communication:
• Client/Server
Désigne un mode de communication réseau entre deux programmes
systèmes dans lequel, le client, fait une demande de service d’un autre
programme, le serveur, qui répond à la demande...

Téléchargement

Réseau Client
Server

Requêtes

•Un client est une combinaison de


•Les ressources sont stockées sur le serveur hardware/software que les
•Le serveur répond aux requêtes des clients utilisateurs exploitent directement 28
© JKT Systems, Inc. All rights reserved.
1.2 Architecture et Com. Client / Serveur

Architecture N tiers
Architecture C/S

Architecture 3 tiers

© JKT Systems, Inc. All rights reserved. 29


1.2 Architecture et Com. Client / Serveur
Modèles d’architecture C/S:
1- C/S de présentation (IHM – Interface Homme Machine):
La gestion de l’affichage des pages/réponses aux services
est intégralement prise en charge par le serveur
Ex. Service de messagerie avec Webmail
Conséquence: trafic abondant sur le réseau

2- C/S de traitements (ou logique/logiciel) :


Grâce aux programmes, le serveur se charge d’assurer la
fonctionnalité intrinsèque de traiter les requêtes des clients
Ex. Service Web

3- C/S de données:
Le Serveur assure la gestion des données de l'application
(accès, traitement et stockage)… Ex.
© JKT Systems, Inc. All rights reserved. 30
1.2 Architecture et Com. Client / Serveur
Types d’architecture C/S selon Gartner Group :

Réseau

© JKT Systems, Inc. All rights reserved. 31


1.2 Architecture et Com. Client / Serveur
Evolution vers le Cloud Computing

© JKT Systems, Inc. All rights reserved. 32


1.2 Architecture et Com. Client / Serveur
Evolution vers le Cloud Computing

© JKT Systems, Inc. All rights reserved. 33


1.2 Architecture et Com. Client / Serveur

© JKT Systems, Inc. All rights reserved. 34


1.2 Architecture et Com. Client / Serveur

© JKT Systems, Inc. All rights reserved. 35


1.2 Architecture et Com. Client / Serveur
Interface de programmation réseau: socket

© JKT Systems, Inc. All rights reserved. 36


1.2 Architecture et Com. Client / Serveur
Le Middleware
1- Complément de services réseaux permettant la réalisation du
dialogue transparent client/serveur:
• prend en compte les requêtes de l’application cliente les
transmet de manière transparente à travers le réseau jusqu’au
serveur
• prend en compte les données résultats du serveur et les
transmet vers l’application cliente
2- Objectifs d’un Middleware :
• Essentiellement d’offrir aux applications une interface unifiée
permettant l’accès à l’ensemble des services disponibles sur
le réseau : l’API

© JKT Systems, Inc. All rights reserved. 37


1.2 Architecture et Com. Client / Serveur
Le Middleware

3- Fonctions d’un Middleware


• Procédures d’établissement/fermeture de connexion
• Exécution des requêtes, récupération des résultats
• Initiation des processus sur différents sites
• Services de répertoire
• Accès aux données à distance
• Gestion d'accès concurrents
• Sécurité et intégrité (authentification,cryptage,...)
• Monitoring (compteurs,...)
• Terminaison de processus
• Mise en cache des résultats, des requêtes

© JKT Systems, Inc. All rights reserved. 38


1.2 Architecture et Com. Client / Serveur
Service avec ou sans état(s)

1- Service avec états (statefull):


• le serveur conserve localement un état pour chacun des
clients connectés : informations sur le client, les requêtes
précédentes, …
2- Service sans états (stateless) :
• le serveur ne conserve aucune information sur l'enchaînement
des requêtes...

Incidence sur les performances et la tolérance aux pannes dans


le cas où un client fait plusieurs requêtes successives:
• performance --> service sans état
• tolérance aux pannes --> service avec états

© JKT Systems, Inc. All rights reserved. 39


1.2 Architecture et Com. Client / Serveur
Avantages et Inconvénients de l’architecture C/S:

1- Avantages:
• Ressources centralisées: administration, maintenance et
sécurité, mise à jour et évolutivité, complexité et puissance
de calculs, recherche d’information

2- Inconvénients :
• Haute disponibilité limité
• Tolérance en panne: serveur pourrait constitué le maillon
faible
• Coût et expertise élevée

© JKT Systems, Inc. All rights reserved. 40


1.2 Architecture et Com. Client / Serveur
❖ Type de communication:
• Pair à pair (peer to peer)
Désigne une liaison de communication directe entre deux systèmes

Imprimante
directement
connectée

-Serveur d’impression
- Client pour l’impression
-Client pour le fichier
- Serveur de fichier

Dans les échanges peer-to-peer, les peers sont considérés égaux dans le
processus de communication (Chaque Peer joue reversiblement les rôles de
client et de serveur)
© JKT Systems, Inc. All rights reserved. 41
Partie 2

Services Réseaux sur


TCP/IP et
Implémentation

Speaker:
© JKT Systems, Inc. All rights reserved. 42
2.1
Mise en réseau d’un Serveur GNU/Linux
(Configuration des paramètres TCP/IP,
Fichiers spéciaux)

Speaker:
© JKT Systems, Inc. All rights reserved. 43
Objectifs

▪ Identifications des interfaces réseaux et configuration


des paramètres TCP/IP d’un Serveur GNU/Linux.

▪ Présentation des outils de gestion des paramètres


TCP/IP.
▪ Description des fichiers standards réseaux d’un
Serveur GNU/Linux.

© JKT Systems, Inc. All rights reserved. 44


Paramètres TCP/IP d’un Serveur GNU/Linux
La configuration du nom du Serveur
1. Vérification
Commande pour vérifier : # hostname

2. Configuration à la volée (non permanente)


Commande : # hostname nouveau_nom_du_serveur

3. Configuration statique permanente


Editer le fichier : /etc/hostname

a- Commande pour éditer : # nano /etc/hostname


Modifier le nom du serveur enregistrer et redémarrer le
service qui interpelle ce fichier de configuration avec la
b- Commande pour redémarrer: # /etc/init.d/hostname.sh
© JKT Systems, Inc. All rights reserved. 45
Paramètres TCP/IP d’un Serveur GNU/Linux
La configuration IP à la volée (non permanente)

• La configuration à la volée d’une adresses IP consiste à


entrer des commandes au clavier pour changer
immédiatement la configuration réseau du Serveur.

• Cette technique est bien adaptée pour faire des tests ou


quand on ‘’boot’’ sur cd Linux en mode «rescue».

Identification des interfaces réseaux du Serveur


Commande : # ifconfig ( # ifconfig –a pour voir toutes les interfaces,
cachées)

© JKT Systems, Inc. All rights reserved. 46


Paramètres TCP/IP d’un Serveur GNU/Linux
Attribuer l’adresse IP et le masque réseau

a- Commande : # ifconfig eth0 192.168.1.1


Dans ce cas la première carte réseau (eth0) aura l’adresse IP
192.168.1.1 et le masque par défaut du réseau, c’est-à-dire
255.255.255.0 ;

b- Commande : ifconfig eth0 172.16.10.1/26


Dans ce cas la première carte réseau (eth0) aura l’adresse IP
172.16.10.1 et le masque de sous réseau 255.255.255.192 (/26);

c- # ifconfig eth0 172.16.10.1 netmask 255.255.255.192


© JKT Systems, Inc. All rights reserved. 47
Paramètres TCP/IP d’un Serveur GNU/Linux
Configurer la passerelle (gateway)

a- Commande : # route add default gw 192.168.1.254

Cette commande modifie à la volée la table de routage statique


du poste pour qu’il puisse atteindre d’autres réseaux (locaux ou
Internet).

© JKT Systems, Inc. All rights reserved. 48


Paramètres TCP/IP d’un Serveur GNU/Linux
Réaliser la configuration DNS
La configuration DNS est réalisée essentiellement en spécifiant
l’adresse d’un ou de plusieurs serveurs DNS ainsi que le
domaine DNS du poste. Cette configuration est mémorisée dans
le fichier /etc/resolv.conf.
On peut changer la configuration DNS simplement en modifiant
ce fichier en y ajoutant des infos du serveur DNS:
a- Commande : # vim /etc/resolv.conf
search esmt.sn
domain esmt.sn
nameserver 192.168.250.254
nameserver 172.20.16.1
© JKT Systems, Inc. All rights reserved. 49
Paramètres TCP/IP d’un Serveur GNU/Linux
La configuration IP dynamique (non permanente)

a- Commande : # dhclient -v (# dhclient -v eth0 )

Cette commande permet au serveur d’engager un processus


d’obtention automatique des paramètres TCP/IP possiblement
offerts par un serveur DHCP.

© JKT Systems, Inc. All rights reserved. 50


Paramètres TCP/IP d’un Serveur GNU/Linux
La configuration IP statique (permanente)
Le fichier de configuration standard des interfaces:
/etc/network/interfaces
Ce fichier contient la configuration IP de toutes les interfaces réseaux du
serveur, il suffira de l’éditer, de le modifier et de redémarrer le service réseau
qui interpelle ce fichier de configuration.

a- Commande : # vim /etc/network/interfaces


auto eth0
iface eth0 inet static
address 192.168.250.150
netmask 255.255.255.0
network 192.168.250.0
broadcast 192.168.250.255
gateway 192.168.250.254
dns-search esmt.sn
dns-nameservers 195.238.2.21, 195.238.2.22

b- Commande : # /etc/init.d/networking restart


© JKT Systems, Inc. All rights reserved. 51
Paramètres TCP/IP d’un Serveur GNU/Linux
La configuration IP dynamique (permanente)
1. Le fichier de configuration standard des interfaces:
/etc/network/interfaces
Ce fichier contient la configuration IP de toutes les interfaces
réseaux du serveur, il suffira de l’éditer, de le modifier et de
redémarrer le service réseau qui interpelle ce fichier de
configuration :
a- Commande : # vim /etc/network/interfaces
auto eth0
iface eth0 inet dhcp

b- Commande : # /etc/init.d/networking restart


© JKT Systems, Inc. All rights reserved. 52
Paramètres TCP/IP d’un Serveur GNU/Linux
Outils de vérification et de diagnostique réseau

▪ ping <@IP destination> : teste la connectivité d’un poste


▪ ifconfig <eth0> : affiche la configuration IP
▪ ifup <eth0> : activer l’interface
▪ ifdown <eth0> désactiver l’interface
▪ netstat : affiche des statistiques, affiche les ports ouverts
▪ nslookup, dig : teste le service DNS
▪ tcpdump, wireshark : analyseur de trame
▪ nmap : scanneur de ports
▪ ps, top : liste les processus actifs
▪ isof : liste les fichiers et les sockets ouverts
▪ arp : affiche le cache arp
© JKT Systems, Inc. All rights reserved. 53
Paramètres TCP/IP d’un Serveur GNU/Linux

Les fichiers de configuration standards réseaux


❑ /etc/hostname
❑ /etc/hosts
❑ /etc/host.conf
❑ /etc/resolv.conf
❑ /etc/network/interfaces
❑ /etc/networks
❑ /etc/services
❑ /etc/protocols
❑ /etc/init.d/
© JKT Systems, Inc. All rights reserved. 54
2.2

Service DHCP

Speaker:
© JKT Systems, Inc. All rights reserved. 55
Objectifs

▪ Description et rôle du service DHCP.

▪ Caractéristique et type de messages DHCP.

▪ Principe de fonctionnement du service DHCP.


▪ Avantages et Inconvénients.
▪ Fichiers et Outils de gestion dudit service sur un
serveur GNU/Linux.
▪ Pratique: Installation et paramétrage d’un serveur
DHCP sur un système GNU/Linux

© JKT Systems, Inc. All rights reserved. 56


Description du rôle du service DHCP.

DHCP reduit la complexité et la charge de travail administrative en


utilisant la configuration TCP/IP automatique

Configuration manuele TCP/IP Configuration TCP/IP Automatic

Les adresses IP sont configurées Les adresses IP sont attribuées


manuellement automatiquement
Les adresses IP peuvent être Configuration des informations
saisies incorrectement correctes et sûres
Problèmes réseaux et de La configuration du Client est
Communication possibles mise à jour automatiquement
La mobilité des PCs accroissent Les problèmes communs aux
les efforts d’aministration réseau réseaux sont éliminées

© JKT Systems, Inc. All rights reserved. 57


Description et rôle du service DHCP.
▪ D’après le RFC 2131,
Dynamic Host Configuration Protocol (DHCP) est une
norme IP pour simplifier la gestion de la configuration IP d’un
hôte dans un réseau.

Ce protocole offre un ensemble de mécanismes permettant à un


serveur d’allouer des paramètres TCP/IP aux machines réseaux
pendant une période définie administrativement, ces paramètres
peuvent être:

•L’adresse IP - Le masque de sous réseau - La passrelle (IP Gateways) -


L’adresse IP et réference du serveur DNS - L’adresse IP du Serveur WINS –
Le bail…

Le but principal étant la simplification de l'administration d'un


réseau. © JKT Systems, Inc. All rights reserved. 58
Description et rôle du service DHCP.
▪ DHCP est bâti sur le modèle de communication client
Client/Server, où la machine désignée serveur DHCP alloue des
adresses réseaux et délivre des paramètres de configuration à
des machines configurées dynamiquement à travers le port 68.
Et le client se réfère à une machine qui utilise le port 67 qui
demande des paramètres TCP/IP au serveur DHCP.

▪ DHCP est constitué de de 2 parties:

• Un protocole pour la livraison de paramètres de


configuration de machines spécifiques à partir d’un serveur
DHCP.
• Un mécanisme d’allocation d’adresses réseaux à des
machines.
© JKT Systems, Inc. All rights reserved. 59
Description et rôle du service DHCP.
▪ DHCP supporte 3 mécanismes pour l’allocation des
adresses IP:
• Alloccation automatique : DHCP assigne une adresse IP
permanente à un client.
• Allocation dynamique : DHCP assigne une adresse IP à un
client pour une durée déterminée (ou jusqu’à ce que le client
renonce à son adresse).
• Allocation manuelle (fixe) : une adresse IP est assignée par
l’administrateur réseau, et DHCP est simplement utilisé pour
convoyer les adresses désignées jusqu’aux clients.

▪ L’allocation dynamique est le seul des 3 mécanismes qui réutilise


automatiquement une adresse qui n’est plus utilisée par un client.
Le client doit périodiquement renouveler le bail, utile pour la mobilité
des clients et le partage d’une liste limitée d’adresses IP.
© JKT Systems, Inc. All rights reserved. 60
Principe de fonctionnement du service DHCP.
▪ Les types de messages DHCP (avec UDP)
Message Utilisation
DHCPDISCOVER Client → Serveur(s) pour localiser les serveurs disponibles (port sr. 67)
Serveur → Client pour répondre au DHCPDISCOVER avec l’adresse IP à
DHCPOFFER
configurer (port sr. 68).
Client → Serveur(s) soit qui demande les paramètres à un serveur et décline
implicitement les offres de tous les autres, qui confirme la validité des
DHCPREQUEST
adresses précédemment allouées, par ex : un redémarrage système, ou qui
étend le bail pour une adresse réseau en particulier (port sr. 67).
Serveur → Client contenant les paramètres de configuration et qui inclut
DHCPACK
l'adresse réseau déjà attribuée avec DHCPOFFER (port sr. 68).
Serveur → Client indiquant que la notion d'un client pour les adresses réseau
DHCPNAK est incorrecte. (par ex : si un client est déplacé sur un nouveau sous réseau)
ou que le bail du client a expiré (port sr. 68).
DHCPDECLINE Client → Serveur indiquant que l'adresse réseau est déjà utilisée (port sr. 67).
DHCPRELEASE Client → Serveur libérant l'adresse réseau et annulant le bail (port sr. 67).
Client → Serveur, demandant seulement les paramètres de configuration
DHCPINFORM locaux ; le client possède déjà une adresse réseau attribuée de manière
externe (port sr. 67).
© JKT Systems, Inc. All rights reserved. 61
Principe de fonctionnement du service DHCP.
▪ Fonctionnement

© JKT Systems, Inc. All rights reserved. 62


© JKT Systems, Inc. All rights reserved. 63
© JKT Systems, Inc. All rights reserved. 64
© JKT Systems, Inc. All rights reserved. 65
Principe de fonctionnement du service DHCP.
▪ Fonctionnement du service DHCP

5. Renouvellement d’un bail :


Automatique :
- à 50% de l’utilisation du bail, le client DHCP envoie un
message DHCPREQUEST pour le renouvellement de son bail.
- à 87.5% du bail, si le serveur n’est pas disponible, le client
DHCP envoie un message DHCPDISCOVER.
Manuel :
- ipconfig/renew : cette commande pour renouveler juste le bail.
- ipconfig/release : libère le bail et l’adresse IP.
- dhclient –r : : libère le bail et l’adresse IP.

© JKT Systems, Inc. All rights reserved. 66


Avantages et Inconvénients du service DHCP.
▪ Avantages

• Administration Centralisée, économie d’adresses (partage d’une liste limitée


d’adresses)
• Configuration Dynamique d’hôtes
• Souplesse de configuration IP d’hôte – aucune intervention de l’utilisateur
• Évolutivité – de l’échelle de petits réseaux vers les grands.
• Flexibilité – Changement de l’adressage IP lorsque les infrastructures
changent.

▪ Inconvénients
• Le client utilise des trames broadcast
• Surcharge (goulets d’étranglement sur le réseau (flux DHCP réguliers sur le
réseau) – consommation de la bande passante
• sécurité

© JKT Systems, Inc. All rights reserved. 67


Principe de
fonctionnement du
service DHCP.

Speaker:
© JKT Systems, Inc. All rights reserved. 68
Pratique : Implémentation d’un serveur DHCP

© JKT Systems, Inc. All rights reserved. 69


Pratique : Implémentation d’un serveur DHCP
▪ Pré requis:
➢ Pc avec OS GNU/Linux (Debian/Ubuntu) + connexion Internet.
➢Se donner un plan d’adressage réseau
➢Configuration fixe des paramètres TCP/IP du serveur
▪ 1ère étape : Installation de l’application serveur: isc-hcp-server
➢# apt-get install isc-dhcp-server
▪ 2ème étape : éditer et paramétrer le fichier de configuration:
/etc/dhcp/dhcpd.conf
Avant d’éditer le fichier de configuration, faites une copie de
sauvegarde:
# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.save
© JKT Systems, Inc. All rights reserved. 70
Pratique : Mise en place d’un serveur DHCP
➢# nano /etc/dhcp/dhcp.conf Se placer à la fin
du fichier et
# Subnet definition ajouter les lignes
subnet 192.168.1.0 netmask 255.255.255.0 { suivantes,
range 192.168.1.101 192.168.1.200; suivant son plan
option domain-name “etudiant.sn"; d’adressage
option routers 192.168.1.254;
option broadcast-address 192.168.1.255;
option domain-name-servers 140.113.209.1, 140.113.17.5;
default-lease-time 3600;
max-lease-time 21600;
}
# Host definition
host fantasia {
hardware ethernet 08:00:07:26:c0:a5;
fixed-address 192.168.1.30;
}
host denyClient {
hardware ethernet 00:07:95:fd:12:13;
deny booting;
} © JKT Systems, Inc. All rights reserved. 71
© JKT Systems, Inc. All rights reserved. 72
© JKT Systems, Inc. All rights reserved. 73
© JKT Systems, Inc. All rights reserved. 74
Objectifs

SSH signifie Secure SHell. C'est un protocole qui


permet de faire des connexions sécurisées (i.e.
cryptées) entre un serveur et un client SSH.

On peut l'utiliser pour se connecter à une machine


distante comme avec telnet, pour transférer des fichiers
de manière sécurisée ou pour créer des tunnels.

Les tunnels permettent sécuriser des protocoles qui ne


le sont pas en faisant passer les données par une
connexion SSH.

© JKT Systems, Inc. All rights reserved. 75


Le système de clés de SSH
Cryptographie asymétrique
SSH utilise la cryptographie asymétrique RSA ou DSA.
En cryptographie asymétrique, chaque personne
dispose d'un couple de clé : une clé publique et une clé
privée. La clé publique peut être librement publiée
tandis que chacun doit garder sa clé privée secrète. La
connaissance de la clé publique ne permet pas d'en
déduire la clé privée. Si la personne A veut envoyer un
message confidentiel à la personne B, A crypte le
message avec la clé publique de B et l'envoie à B sur
un canal qui n'est pas forcément sécurisé. Seul B
pourra décrypter le message en utilisant sa clé privée.

© JKT Systems, Inc. All rights reserved. 76


Le système de clés de SSH
Cryptographie symétrique
SSH utilise également la cryptographie symétrique. Son principe es
si A veut envoyer un message confidentiel à B, A et B doivent d'abo
posséder une même clé secrète. A crypte le message avec la clé sé
l'envoie à B sur un canal qui n'est pas forcément sécurisé. B décryp
message grâce à la clé secrète.
Toute autre personne en possession de la clé secrète peut décrypte
message.
La cryptographie symétrique est beaucoup moins gourmande en re
processeur que la cryptographie asymétrique, mais le gros problèm
l'échange de la clé secrète entre A et B. Dans le protocole SSL, qui
par les navigateurs Web et par SSH, la cryptographique asymétriqu
utilisée au début de la communication pour que A et B puissent s'éc
une clé secrète de manière sécurisée, puis la suite la communicatio
sécurisée grâce à la cryptographie symétrique en utilisant la clé sec
échangée. 77
© JKT Systems, Inc. All rights reserved.
Le système de clés de SSH

Configuration du serveur SSH


Pour manipuler le daemon (le lancer,
l'arrêter, recharger la configuration...), on
utilise la commande
/etc/init.d/ssh
Le fichier de configuration du serveur SSH
est /etc/ssh/sshd_config. À ne pas confondre
avec /etc/ssh/ssh_config qui est le fichier de
configuration du client SSH.
Parmi les multiples options, on peut noter :
© JKT Systems, Inc. All rights reserved. 78
Le système de clés de SSH
Port 22: le serveur SSH écoute sur le port 22, qui e
normal de SSH. Il est possible de le faire écouter s
port en changeant cette ligne.
Protocol 2: Signifie que le serveur SSH accepte un
version 2 du protocole SSH. C'est une version plus
que la version 1 du protocole. Pour accepter les de
protocoles, change la ligne en : Protocol 2,1
PermitRootLogin no: Signifie que l'on ne peux pas
root par SSH. Pour logger en root, il suffit de se log
utilisateur normal et d'utiliser la commande su.
X11Forwarding yes: Autorise le transfert par SSH d
graphique. © JKT Systems, Inc. All rights reserved. 79
Le système de clés de SSH
RSAAuthentication yes:
Méthode d'authentification.
AuthorizedKeysFile .ssh/authorized_keys
fichier utilisé pour 'l'autologin’
PermitEmptyPasswords no:
permet ou non les mots de passe vide
Si le fichier de configuration du serveur a été modif
indiquer au démon sshd de relire son fichier de
configuration, avec la commande
/etc/init.d/ssh restart
.
© JKT Systems, Inc. All rights reserved. 80
Chap 4:

Service DNS

© JKT Systems, Inc. All rights reserved. 81


Objectifs

▪ Oganismes et communautés d’Internet


▪ Définition, rôle et Caractéristiques du protocole DNS.

▪ Principe de fonctionnement du service DNS.


▪ Description des principaux enregistrements RR (Base
de données) du DNS
▪ Avantages et Inconvénients du service DNS.
▪ Fichiers et Outils de gestion dudit service sur un serveur
GNU/Linux.
▪ Pratique: Installation et paramétrage d’un serveur DNS
sur un système GNU/Linux © JKT Systems, Inc. All rights reserved. 82
Organisstions et communautés d’Internet
Le système DNS est le support de nombreuses fonctionnalités sur
Internet allant de la navigation à l’envoi de courriers électroniques.
Sa bonne configuration est essentielle dans le cadre d’un réseau
local, et primordiale sur Internet.
Les plus significatifs:
▪ Internet Engineering Task Force (IETF)
▪ Internet Society (ISOC)
▪ Internet Architecture Board (IAB)
▪ Internet Assigned Numbers Authority (IANA)
▪ Regional Internet Registries (RIRs)
▪ Internet Corporation for Assigned Names and Numbers(ICANN)
▪ Regional Network Operators Groups (NOGs)
© JKT Systems, Inc. All rights reserved. 83
Organisstions et communautés
d’Internet
Internet Engineering Task Force (IETF)
▪ Founded in 1986
▪ Produces Internet Standards and related
▪ technical documents:
– Request for Comments (RFCs)
– Best Common Practices (BCPs)
– Internet Drafts (IDs)
▪ Published through the RFC Editor:
▪ http://www.rfc-editor.org © JKT Systems, Inc. All rights reserved. 84
Organisstions et communautés
d’Internet
ICANN
• Established in 1998 as a global not-for-profit organisation to
manage functions that were previously performed by U.S.
Government contractors
• Currently operates the IANA function
• Responsible for coordinating the management of
the Internet domain name system (DNS)
• Develops policies and procedures for DNS related activities:
– New Top Level Domains
– Accreditation of domain name registrars
© JKT Systems, Inc. All rights reserved. 85
Organisstions et communautés
d’Internet
Regional Internet Registries (RIRs)

• APNIC – Asia and Pacific


• AfriNIC – Africa
• RIPE NCC – Europe, Middle East, parts of Central
Asia
• LACNIC – Latin America and parts of Caribbean
• ARIN – US, Canada and parts of Caribbean

© JKT Systems, Inc. All rights reserved. 86


Organisstions et communautés
d’Internet
Network Operators Groups (NOGs)
• PacNOG
• Focuses on information
• AfNOG
exchange between ISPs and
• SANOG network operators within a
• APRICOT region
• NANOG • Works to deliver key
information and experiences
• WALC
to those who need it – the
network operator
© JKT Systems, Inc. All rights reserved. 87
Définition, rôle et Caractéristiques du protocole DNS
Avant le DNS (année 70), la résolution d’un nom sur ARPANET devait
se faire grâce à un fichier appelé HOST.TXT (RFC 608) et recopié sur chaque
ordinateur par transfer de fichier.
Tant que les machines publiques sur Internet étaient peu nombreuses, toutes les
résolutions se faisaient au moyen d’un fichier appelé hosts qu’on téléchargeait
à intervalle régulier pour se tenir à jour des nouveautés.

D’après les RFC 1034 et 1035, le Domain Name System (ou DNS,
système de noms de domaine) est le protocole qui fournit un mécanisme
permettant d’établir une correspondance entre adresse IP et un nom de
domaine et, plus généralement, de trouver une information à partir d’un nom de
domaine.
Les ordinateurs connectés à Internet ont chacun :
• Une adresse IP
- numérique - facilement traitées par PCs & routeurs.
- longueur fixe (32 ou 128 bits), avec des valeurs binaires
- hiérarchique, lée à la localisation de l’hôte
© JKT Systems, Inc. All rights reserved. 88
Définition, rôle et Caractéristiques du protocole DNS
Les ordinateurs connectés à Internet ont chacun :
• Un nom
- Nom mnémonique apprécié par les humains.
- De longueur variable, 63 ou 255 caractères alpha-numériques
- Qui fournit peu (s’il y en a) d’informations sur la localisation de
l’hôte
Rôle du DNS de proposer un service basé sur les 3 entités:

• 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 d’Unix.
• Les resolvers (clients) qui questionnent les serveurs à propos de
l’espace de nommage

© JKT Systems, Inc. All rights reserved. 89


Définition, rôle et Caractéristiques du protocole DNS
• Un système de serveurs constitués chacun d’un système de base
de données distribuées leur permettant de rendre disponible
l’espace de noms et de traduire les noms en adresses IP et
inversement sur un réseau. machine.domaine.xz
Résolution directe Résolution inverse

192.127.10.2
• Le système de noms de domaine, DNS utilise le modèle de
communication client/server dans lequel le client interroge le
serveur DNS, pour obtenir des informations.
• DNS utilise UDP/TCP au port #53 pour le transport des messages

-Par défaut UDP si la taille du message <= à 512o


-TCP si la taille d’une réponse est > 512o, les données sont
tronquées (bit de tronccage ajouter dans l’entête).
© JKT Systems, Inc. All rights reserved. 90
Définition, rôle et Caractéristiques du protocole DNS
Quelques concepts DNS :
• Serveurs de noms: machine dédiée à la gestion du service DNS
pour une zone (autoritaire: maître – primary, esclave – secondary)
➢chaque serveur gère sa propre base de données
➢et l’optimise par des systèmes de cache et de réplication
• Une zone: ensemble de domaines sur lequel le serveur a autorité
• Serveurs autoritaire: donnent des réponses autoritaires pour une
ou plusieurs zones, l’autorité est déléguée du parent à un fils.
• Resolvers (clients): posent des questions aux serveurs
• Full Qualified Domain Name (FQDN) ou nom de domaine
pleinement qualifié c’est un domaine écrit de façon absolue, y
compris les domaines jusqu’au premier niveau (TLD), il est
ponctué par le point à la fin: Exp: agence.francophonie.org.
© JKT Systems, Inc. All rights reserved. 91
Principe de fonctionnement du service DNS
Hiérarchie du système (ou espace) de nommage :
IANA = Internet Assigned Numbers Authority
• Propriétés:

- Espace de noms hiérarchique et divisé en zones


- Distributé à travers des serveurs DNS

• Hierarchy of DNS servers:

- Root servers (serveurs racines) environ 13 dans le monde


(http://www.root-servers.org/)
- Top-level domain (TLD) servers
- Authoritative DNS servers
- Local DNS servers
© JKT Systems, Inc. All rights reserved. 92
Principe de fonctionnement du service DNS
Hiérarchie du système (ou espace) de nommage :
. Root DNS Servers
TLD Servers

.com DNS servers .sn DNS servers .edu DNS servers

yahoo.com amazon.com esmt.sn sonatel.sn hotmail.fr ucad.edu


DNS servers DNS servers DNS servers DNS servers DNS servers DNS servers

Authoritative DNS servers

jade.esmt.sn
DNS servers
Local DNS servers
© JKT Systems, Inc. All rights reserved. 93
Principe de fonctionnement du service DNS
Hiérarchie du système (ou espace) de nommage :
• Root servers:
- Sont contactés par les serveurs locaux qui ne peuvent pas résoudre un
nom
- Contactent les serveurs autoritaire si le mappage de nom est inconnu
- Obtient le mappage et le retourne au seveur local

• TLD servers:
- Manage les domaine génériques commercial et éducation (ex: .org, .com,
.net, .edu…) et des domaines des pays (ex: .sn, .fr, .ch, …)
NB: Root servers and TLD servers ne contiennent typiquement pas l’adresse IP du nom mappé; ils
contiennent le mappage pour localiser les serveurs autoritaires (authoritative servers).

• Autoritative servers:
- Serveurs DNS des organizations, fournissant un mappage autoritaire de
nom en adresse IP pour les serveurs d’organisation (ex., Web and mail).
- Peuvent être maintenus localement ou par des ISP 94
© JKT Systems, Inc. All rights reserved.
Principe de fonctionnement du service DNS
Hiérarchie du système (ou espace) de nommage :
• Local servers:
-Ne font pas stritectement partie de la hiérarchie du système DNS
-Aussi appelés serveurs par défaut du nom de domaine
-Chaque organisation (ISP, Universités, Entreprise) peut en posséder un
-Lorsqu’un PC fait une requête DNS, celle-ci est envoyée au local DNS
server qui agit comme un proxy, transfère la requête à la hiérarchie

Principe de fonctionnement:
Exp: Client veut l’IP de www.esmt.sn;
1ère approche:
▪ Le client interroge un root server pour avoir l’IP du TLD DNS server de sn
▪ Le client interroge le TLD DNS server de sn pour avoir l’IP d’un Authoritative
DNS server de esmt.sn
▪ Le client interroge DNS server de esmt.sn pour avoir l’IP address de
www.esmt.sn © JKT Systems, Inc. All rights reserved. 95
Principe de fonctionnement du service DNS
Principe de fonctionnement: type de requêtes DNS

Requête recursive :
• La requête de resolution de nom est confiée au serveur
CONTACTÉ
• Charge lourde?
Requête Iterative:
• Réponses des serveurs avec les noms d’autres
serveurs à contacter
• “I don’t know this name, but ask this server”
http://media.pearsoncmg.com/aw/aw_kurose_network_2/applets/dns/dns.html

© JKT Systems, Inc. All rights reserved. 96


Description des principaux enregistrements RR du DNS
DNS: Base de données distribuées définie par les enregistrements
(Resource Records = (RR) )
Le premier RR doit être le SOA (Start of Authorithy) qui décrit
l'autorité technique de la zone
Structure d 'un enregistrement RR – d’après RFC 1034
<nom | @> [<ttl>] [<classe>] <type> <valeurs> [<commentaire>]

<nom> : nom de l 'enregistrement auquel vont s'appliquer les


informations
@ : utilise la valeur courante de $ORIGIN comme nom
<ttl> : durée de vie, en secondes, de l'enregistrement dans
les caches
<classe> : groupe d'appartenance - IN pour Internet
<type> : type de l'enregistrement
<valeurs> : données associées au type 97
© JKT Systems, Inc. All rights reserved.
Description des principaux enregistrements RR du DNS

format RR : <nom | @> [<ttl>] [<classe>] <type> <valeurs>

 Type=CNAME
 Type=A ❖ name : nom de l’alias canonique
❖ nom : nom_du_serveur www.esmt.sn est réellement
❖ valeur : son adresse IP jade.esmt.sn
valeur : nom_du_serveur

nom_du_serveur IN A 193.10.20.1 www IN CNAME nom_du_serveur

❑ Type=NS  Type=MX
❖ valeur: est le nom canonique du
name : nom_du_domain (e.g. serveur de mail associé à son nom
esmt.ch) ❖ name: nom_du_serveur_mail
valeur : nom_du_serveur IN MX 10 nom_du_serveur_mail.
autoritaire dudit domaine
IN NS nom_du_serveur.domaine.
© JKT Systems, Inc. All rights reserved. 98
Description des principaux enregistrements RR du DNS

© JKT Systems, Inc. All rights reserved. 99


Description des principaux enregistrements RR du DNS
Champ Descriptions

Est à modifier à chaque édition du fichier. Par convention, on l'écrit: année-mois-jour-


2017121903
numéro à 2 chiffres
Temps que le serveur esclave doit attendre avant de questionner à nouveau le serveur
21600
maître. Unité de temps: [s]
Temps à attendre avant d'effectuer une nouvelle demande au serveur maître en cas de
3600
non réponse. Unité de temps: [s]
604800Temps d'expiration du serveur principal en cas de non réponse. Unité de temps: [s]
Temps de mise en cache minimum par d'autres
86400
serveurs DNS. Unité de temps: [s]
Enregistrement de nom canonique qui dit au serveur de noms qu'un nom donné est
CNAME
aussi connu qu'un autre (alias)
AEnregistrement d'adresse qui spécifie une adresse IP à assigner à un nom
Enregistrement de serveur de noms (NameServer) qui annonce les serveurs de noms
NS
faisant autorité pour une zone particulière
Enregistrement Mail eXchange, qui dit où doit se diriger le courrier envoyé à un nom
MX
d'espace particulier contrôlé par cette zone
Enregistrement "Start Of Authority", qui proclame des informations importantes
SOA
faisant autorité à propos des espaces de nom pour les serveurs de noms
Enregistrement PoinTeR record, conçu pour orienter vers une autre partie de l'espace
PTR
de nom © JKT Systems, Inc. All rights reserved. 100
Avantages et Inconvénients du service DNS.
▪ Avantages
• Base de données globalement distribuée et conhérente (implémentation
hierachique des des serveurs de domaine)
• Base de données fiable – même informations chez les serveurs maître et
secondaires (replication du système de données)
• Base de données évolutive – pas de limite sur la taille de la BD et sur le
nombre de requêtes
• Mise à jour (ajout/supression/modifiction) dynamique – la mise à jour du
serveur maître déclenche celle du (des serveurs sécondaires) par replication.
• Charge redistribuée

▪ Inconvénients
• Administration Décentralisée
• Temps et Complexe des réponses UDP/TCP
• Sécurité
cet impératif est apparu plus tardivement, et n’est pas encore implémenté sur tous les serveurs
DNS. On a toutefois désormais la possibilité de sécuriser de bout en bout les opérations du DNS.
Les services de sécurité disponibles sont l’authentification, le contrôle d’accès et le contrôle
d’intégrité. DNSSEC © JKT Systems, Inc. All rights reserved. 101
Fichiers de gestion d’un serveur DNS GNU/Linux
❑Fichier pour définir /déclarer les zones
/etc/bind/named.conf.local

❑Vérifier que le fichier de définition des zones est correct


# named-checkconf

❑ Fichiers de gestion d’une zone déclarée:(exp. senegal.sn)


/etc/bind/db.senegal.sn

❑Vérifier que le fichier de configuration de la zone est bien


définit pour gérer ladite zone
# named-checkzone “senegal.sn” /etc/bind/db.senegal.sn

❑ Redémarrer le service DNS


# /etc/init.d/bind9 restart
© JKT Systems, Inc. All rights reserved. 102
Outils de gestion d’un serveur DNS GNU/Linux
▪ ping
• ping nom_du_serveur (ping -a nom_du_serveur)
▪ host
• host nom_du_serveur (resolution directe)
• host @IP_du_serveur (resolution indirecte)
▪ nslookup
• nslookup nom_du_serveur
• nslookup @IP_du_dserveur
• nslookup
•> type = TYPE
▪ dig
• dig nom_du_serveur.nom_du_domaine (resolution directe)
• dig -x @IP_du_serveur (resolution indirecte)
▪ rndc
• rndc reload (recharger les données du deamon BIND)
© JKT Systems, Inc. All rights reserved. 103
Pratique: Installation et paramétrage d’un serveur DNS
GNU/Linux

▪Voir Travail Pratique N°2

© JKT Systems, Inc. All rights reserved. 104


▪ Exercices DNS
Q1. DNS typically uses UDP instead of TCP. If a DNS packet is lost, there is
no automatic recovery. Does this cause a problem, and if so, how is it solved?

Q2. Although it was not mentioned in the text, an alternative form for a URL is
to use the IP address instead of its DNS name. An example of using an IP
address is http://192.31.231.66/index.html. How does the browser know
whether the name following the scheme is a DNS name or an IP address.

Q3. It’s query from the requesting host to the local DNS server is always
recursive ?

© JKT Systems, Inc. All rights reserved. 105


▪ Exercices DNS
Alice in Australia wants to view
www. networkutopia . com
▪ Alice PC sends a DNS query to local DNS server
▪ Local DNS server contacts a com server
▪ com server contains type NS and Type A RRs listed in
previous slide
registrar had these RRs inserted into all com servers
▪ com server sends reply to Alice’s local DNS server
▪ Local DNS server sends a DNS query to 212.212.212. 1,
asking for the Type A record corresponding to www.
networkutopia.com.
▪ Local DNS server passes IP back to Alice’s PC
▪ Alice’s browser initiates a TCP connection to IP of web server
then sends HTTP request 106
© JKT Systems, Inc. All rights reserved.
Part 5:
Service Web

© JKT Systems, Inc. All rights reserved. 107


Objectifs
▪ Définition, rôle et propriétés du protocole HTTP.

▪ Description des principaux mécanismes du service:


format des messages et méthodes utilisées
▪ Principe de fonctionnement du service web et du cache
web (proxy HTTP).
▪ Avantages et Inconvénients du service web.
▪ Fichiers et Outils de gestion dudit service sur un serveur
GNU/Linux.
▪ Pratique: Installation et paramétrage d’un serveur web
sur un système GNU/Linux
© JKT Systems, Inc. All rights reserved. 108
Définition, rôle et propriétés du protocole HTTP.
▪ HTTP le protocole qui fournit un mécanisme permettant
de définir et de gérer les règles de communication entre
navigateurs web (client) et serveurs web.
▪ A l’origine (1945): Vannevar Bush, -Memex- rêve d’ “un
ordinateur à l’intérieur duquel un individu stocke tous ses
livres, ses archives, sa correspondance, et qui est mécanisé de
manière à en permettre la consultation avec une extrême
rapidité et une parfaite soupelesse"
▪ Ensuite (1965): Ted Nelson, -à la suite du projet Xanadu
visant à stocker et partager des données accessible à tous et
partout en quelques instants- sera considéré comme
l’inventeur du terme “hypertext” qui sera supplanté par
Hypertext Transfer Protocol (HTTP).
© JKT Systems, Inc. All rights reserved. 109
Définition, rôle et propriétés du protocole HTTP.
▪ Puis (1990): Tim Berners-Lee, à la recherche d’une
solution au réal probème posé par l’accès distribué aux données, i
va définir les bases du World Wide Web (www), qui est une base
de données distribuées de “pages” liés à travers HTTP.

•HTTP/0.9 – 1991
•Implemente juste la méthode GET du Web
•HTTP/1.0 –1992 (RFC 1945)
•Client/Server information, simple cache
•HTTP/1.1 – 1996 (RFC 2616)
•Client/Server information, cache performant
•HTTP/2.0 – 2016 (RFC 2616)
•Client/Server Multiple Access, cache performant

© JKT Systems, Inc. All rights reserved. 110


Définition, rôle et propriétés du protocole HTTP.
▪ Description des Composants du Web

Notons tout d’abord :

• Une page Web est constituée d’objets


• Un object peut-être un fichier HTML, image JPEG,
applet Java, fichier audio,…
• Une page Web est constituée d’un ficheir HTML de
base (index) incluant plusieurs références ou liens vers
des objets
• Chaque objet est adressable par un URL

© JKT Systems, Inc. All rights reserved. 111


Définition, rôle et propriétés du protocole HTTP.
▪ Description des Composants du Web
▪ Uniform Resource Identifier (URI) - Localisation
• Chaîne compacte de caractères pour identifier une “ressource”
physique ou abstraite sur un réseau et don’t la syntaxe
respecte la norme d’Internet du Worl Wide Web.

Exp: http://www.wikipedia.org/

▪ Uniform Resource Locator (URL) – adresse d’une ruelle

• C’est le type “locator” d’un URI qui identifie une resource via
une representation d’un mécanisme d’accès primaire (emplacement)
Exp: http://www.wikipedia.org/
© JKT Systems, Inc. All rights reserved. 112
Définition, rôle et propriétés du protocole HTTP.
▪ Description des Composants du Web
▪ Uniform Resource Name (URN) – nom d’une personne

• C’est le type “Name” d’un URI qui identifie une resource par
son nom dans un espace de noms
Exp: urn:ietf:rfc:3187 = http://tools.ietf.org/html/rfc3187.html

Exp: l’URN urn:isbn:0-395-36341-1 est un URI qui, étant un


numéro de l’International Standard Book Number (ISBN), permet
de faire référece à un livre, mais ne suggère ni où et ni comment
en obtenir une copie réelle.
▪ Multipurpose Internet Mail Extensions (MIME)
• Est un standard qui a été proposé par les laboratoires Bell COM, afin
d’étendre les possibilités du mail, pour permettre d’y insérer des documents
(images, vidéos, sons, … 113
© JKT Systems, Inc. All rights reserved.
Définition, rôle et propriétés du protocole HTTP.
▪ Description des Composants du Web
▪ Syntax URL
protocol://hostname[:port]/directorypath/resource
protocol http, ftp, https, smtp, rtsp, etc.

hostname FQDN, IP address

port Par défaut les ports des protocoles standards


exp. http: 80/tcp https: 443/tcp

directory path Hiérarchique, reflectant souvent le système de fichier

resource •Identifie la ressource désirée (requête)


•Peut s’étendre également à l’exécution d’un
programme:
http://us.f413.mail.yahoo.com/ym/ShowLetter?box=%40B%40Bulk&MsgId=
2604_1744106_29699_1123_1261_0_28917_3552_1289957100&Search=&Nhead
=f&YY=31454&order=down&sort=date&pos=0&view=a&head=b
© JKT Systems, Inc. All rights reserved. 114
Définition, rôle et propriétés du protocole HTTP.
▪ Description des Composants du Web
▪ Syntax URL
protocol://hostname[:port]/directorypath/resource
protocol http, ftp, https, smtp, rtsp, etc.

hostname FQDN, IP address

port Par défaut les ports des protocoles standards


exp. http: 80/tcp https: 443/tcp

directory path Hiérarchique, reflectant souvent le système de fichier

resource •Identifie la ressource désirée (requête)


•Peut s’étendre également à l’exécution d’un
programme:
http://us.f413.mail.yahoo.com/ym/ShowLetter?box=%40B%40Bulk&MsgId=
2604_1744106_29699_1123_1261_0_28917_3552_1289957100&Search=&Nhead
=f&YY=31454&order=down&sort=date&pos=0&view=a&head=b
© JKT Systems, Inc. All rights reserved. 115
Description des principaux mécanismes du service.
Architecture du World Wide Web
Identification
http://www.wikipedia.org/

Interaction

Data Formats

© JKT Systems, Inc. All rights reserved. 116


Description des principaux mécanismes du service.
Caractéristiques du service web

•Modèle de communication Client/server

•client: browser that requests, receives, “displays” Web


objects
•server: Web server sends objects in response to requests

•Utilise le protocole TCP au port 80

•HTTP est un protocole “stateless” (sans état)


• Le serveur ne maintient aucune information sur les clients
• Le client utilise les “Cookies” pour conserver ou ajouter
certains états (info à propos de l’utiilisateur)
• Serveur proxy local
© JKT Systems, Inc. All rights reserved. 117
Description des principaux mécanismes du service.
Format Message HTTP
Protocol
URL version Request
Method
Line
GET /somedir/page.html HTTP/1.1
HOST: www.someschool.edu Header
Connection: close Line

User-agent: Mozilla/4.0
Accept-language: fr
Different
version
Il exite deux types de messages HTTP: requête et réponse
© JKT Systems, Inc. All rights reserved. 118
Description des principaux mécanismes du service.
Format Message HTTP: requêtes (client →
serveur)
▪ Strucrure
•Request line: method, resource, and protocol version
•Request headers: provide information or modify request
•Body: optional data (exp., to “POST” data to the server)

Ligne de requête
GET /somedir/page.html HTTP/1.1
Host: www.someschool.edu
Lignes User-agent: Mozilla/4.0
d’entêtes Connection: close
Accept-language: fr Not optional
Indicate la fin du message (Blank lines)

© JKT Systems, Inc. All rights reserved. 119


Description des principaux mécanismes du service.
Format Message HTTP: requêtes (client → serveur)
HTTP/1.0 (3 methodes) HTTP/1.1 (8 methodes)
▪ GET ▪ GET, POST, HEAD
▪ POST ▪ PUT
▪ HEAD uploads file in entity body to path
specified in URL field

GET: Retourne la valeur courante de la ▪ DELETE


ressource, exécute un programme, … deletes file specified in the URL field
HEAD: Retourne les Les métadonnées
associées à une ressource
POST: Update ressource, fournit les input 8 Methods POST
a un programme, … OPTIONS PUT
L’entête contient : GET DELETE
Les infos Utiles d’un serveur HEAD TRACE
e.g. la language désirée CONNECT
© JKT Systems, Inc. All rights reserved. 120
Description des principaux mécanismes du service.
Format Message HTTP: réponses (server→Client)
▪ Structure
•Status line: protocol version, status code, status phrase
•Response headers: provide information
•Body: optional data
Ligne du status
(protocol, status code, HTTP/1.1 200 OK
status phrase)
Connection close
Date: Thu, 06 Aug 2010 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
entêtes
Last-Modified: Mon, 22 Jun 2006 ...
Content-Length: 6821
Content-Type: text/html
données (blank line)
e.g., requested HTML file data data data data data ...
© JKT Systems, Inc. All rights reserved. 121
Description des principaux mécanismes du service.
Messages HTTP (Client/Server)

© JKT Systems, Inc. All rights reserved. 122


Description des principaux mécanismes du service
Types de Responses HTTP
▪ 1XX: Informational (définie dans http1.0, et utilisé dans http 1.1)
Ex: 100 Continue,
101 Switching Protocols

▪ 2XX: Success www.codeshttp.com


Ex: 200 OK,
206 Partial Content
▪ 4XX: Client error
▪ 3XX: Redirection Ex: 400 Bad Request,
Ex: 301 Moved Permanently, 403 Forbidden,
304 Not Modified 404 Not Found

▪ 5XX: Server error


Ex: 500 Internal Server Error,
503 Service Unavailable,
505 HTTP Version Not Supported
© JKT Systems, Inc. All rights reserved. 123
Description des principaux mécanismes du service
Trying out HTTP (client side) for yourself (exercise)

1. Telnet to your favorite Web server:


telnet www.esmt.sn 80 Opens TCP connection to port 80
(default HTTP server port) at saphir.esmt.sn
Anything typed in sent
to port 80 at saphir.esmt.sn

2. Type in a GET HTTP request: case sensitive !


GET /~index.html/ HTTP/1.1 After typing the two lines, hit carriage
Host: saphir.esmt.sn return twice to send
this minimal (but complete)
GET request to HTTP server

3. Look at response message sent by HTTP server!


4. Copy the result into notepad and rename it such as
test.htm and open it to see the web page
© JKT Systems, Inc. All rights reserved. 124
Description des principaux mécanismes du service
Connections HTTP: Temps de réponse
Chacun a une longueur ignorable
Definition de RTT (Round Trip Time): (moins de 50 octets chacun)
temps aller et retour mis par un
paquet d’un client à un serveur.
Response time:
▪ un RTT est initie une connection
TCP plus;
RTT
▪ un RTT pour une requête HTTP request
quelques premiers octets de file
time to
réponse HTTP plus
"pipeline" RTT
transmit
file
▪ Le temps de transmission du fichier file
received
total = 2RTT+transmit time
time time
© JKT Systems, Inc. All rights reserved. 125
Description des principaux mécanismes du service
HTTP connections
HTTP Non persistante HTTP Persistante
▪ Au plus un objet est envoyé à ▪ Multiple objets peuvent
travers une connection TCP être envoyés à travers
entre client et serveur. une simple connection
TCP entre client et
▪ HTTP/1.0 utilise les connections serveur.
HTTP non persistantes
▪ HTTP/1.1 utilise par
défaut les connections
persistantes
"pipeline"

© JKT Systems, Inc. All rights reserved. 126


Description des principaux mécanismes du service
HTTP connections
HTTP Persistante
▪ Multiple objets peuvent
▪ HTTP/2.0 utilise par être envoyés à travers
défaut les connections une simple connection
persistantes TCP entre client et
serveur.
Client Server
open

"pipeline"

close

© JKT Systems, Inc. All rights reserved. 127


Principe de fonctionnement du service web.

▪ Description du fonctionnement du service web

PC running
Explorer
Server
running
Apache Web
server

Mac running
© JKT Systems, Inc. All rights reserved.
Navigator 128
Principe de fonctionnement du service web.
Web caches (proxy servers)
Hypothèse : le cache est “proche” du client (par ex., dans le
même réseau)

• Réduction des temps de réponse Serveur d’origine


(la réponse vient plus vite
puisqu’elle vient de moins loin)
serveur
Proxy
• Réduction du trafic sur le réseau client
✓ Pas de génération de trafic pour 1000 Mbps 2 Mbps
aller chercher la réponse sur un access link
site éloigné
✓ Sinon le cache demande l’objet
au serveur d’origine, puis l’envoie
au client client
Serveur d’origine

© JKT Systems, Inc. All rights reserved. 129


Principe de fonctionnement du service web.

Pourquoi les caches Web (proxy servers) ?

• L’utilisateur utilise un navigateur :


Serveur d’origine
le Web accède au cache web

• Le client envoie toutes les serveur


requêtes http au cache web Proxy
client

• Si l’objet est en cache: le cache 1000 Mbps 2 Mbps access link


l’envoie au client

• Sinon le cache demande l’objet


au serveur d’origine, puis l’envoie client
au client Serveur d’origine

© JKT Systems, Inc. All rights reserved. 130


Principe de fonctionnement du service web.

Pourquoi les cookies Web ?


Many major Web sites use
cookies to identify users 4 composantes:
1) cookie header line of HTTP
Example: response message
2) cookie header line in
Toubabou access Internet always
from same PC HTTP request message
She visits a specific e-commerce
3) cookie file kept on user’s
site for first time host, managed by user’s
When initial HTTP requests arrives browser
at site, site creates a unique ID 4) back-end database at Web
and creates an entry in backend site
database for ID

© JKT Systems, Inc. All rights reserved. 131


Principe de fonctionnement du service web.
Pourquoi les cookies Web ?

© JKT Systems, Inc. All rights reserved. 132


Principe de fonctionnement du service web.
Pourquoi les cookies Web ?

© JKT Systems, Inc. All rights reserved. 133


Avantages et Inconvénients du service WEB.
▪ Avantages
• Interopérabilité entre divers logiciels fonctionnant sur disverses plateformes
• Utlistaion des standards et protocoles ouverts
• Format de données sont au format texte pour faciliter la compréhension du
fonctionnement global des échanges
• Basés sur HTTP, les services web peuvent fonctionner au travers de
nombreux par-feu sans nécesiter des changements sur les règles de filtrage
• Flexibles et ouvert aux différents outils de développement des pages web

▪ Inconvénients
• HTTP: stateless protocol (serveur ne maintient aucune information sur les
clients)
• Sécurité, car traverse les parefeu
• Sécurité: HTTP + SSL = HTTPS // Simulation au TP
• Performances faibles liées à sa complexité et et nombre de mécanismes
(comparer à RMI, CORBA ou DCOM
© JKT Systems, Inc. All rights reserved. 134
Fichiers de gestion d’un serveur web GNU/Linux
❑Fichier pour définir /déclarer les zones
/etc/bind/named.local

❑Vérifier que le fichier de définition des zones est correct


# named-checkconf /etc/bind/named.conf.local

❑ Fichiers de gestion d’une zone déclarée:(exp. senegal.sn)


/etc/bind/db.senegal.sn

❑Vérifier que le fichier de configuration de la zone est bien


définit pour gérer ladite zone
# named-checkzone “senegal.sn” /etc/bind/db.senegal.sn

❑ Redémarrer le service DNS


# /etc/init.d/bind9 restart
© JKT Systems, Inc. All rights reserved. 135
Outils de gestion d’un serveur web GNU/Linux
▪ telnet
• telnet nom_du_serveur port (80)
▪ simulation: http://www.coreservlets.com
▪Técharger:
1.Wabclient.java
2.Httpclient.java
3.Networkclient.java
4.Socketutil.java
5.Interruptible.java
6.Closeableframe.java
7.Labeledtextfield.java

Installation et exécution :
cd <coreservlets>/code/WebClient
javac *.java
java WebClient
© JKT Systems, Inc. All rights reserved. 136
Outils de gestion d’un serveur web GNU/Linux
▪ telnet
• telnet nom_du_serveur port (80)
▪ livehttpheaders:
http://livehttpheaders.mozde.org/installation.ht
ml#
▪ lwp-request –Used http://www.esmt.sn

▪ Web-snifer.net

© JKT Systems, Inc. All rights reserved. 137


http Lab—do the following and submit next class

1) Visit www.google.com and find out which version of html it supports


2) Visit www.w3c.org and find out which version of html it supports
3) Read about html, xhtml, xml and discuss the difference—don’t use cut & paste
4) Capture packets using Wireshark and illustrate where Persistent http is used. Is it
pipelined?
5) Find the directory where cookies are stored for Internet Explorer
6) Capture packets and show how the cookies are exchanged and used
7) Capture packets and show how the “conditional GET” is used
8) Find the directory where web caches are stored
9) Capture packets to show that when you revisit a page, the cached content is used
instead of requesting the objects again
10) Connect to a Internet radio broadcast site and find out what transport layer it
uses—show captured packets

© JKT Systems, Inc. All rights reserved. 138


Part 6 : Service de
messagerie (SMTP,
POP3, IMAP4, …MIME)

© JKT Systems, Inc. All rights reserved. 139


Objectifs
▪ Définition, rôle et propriétés des protocoles SMTP,
POP3, IMP4.

▪ Description des principaux mécanismes du service:


format des messages et codes de retour SMTP
▪ Principe de fonctionnement du service de messagerie.
▪ Avantages et Inconvénients du service de messagerie.
▪ Fichiers et Outils de gestion dudit service sur un serveur
GNU/Linux.
▪ Pratique: Installation et paramétrage d’un serveur de
messagerie sur un système GNU/Linux - en projet
© JKT Systems, Inc. All rights reserved. 140
Définition, rôle et propriétés des protocoles de email
▪ SMTP, associé à POP3 ou IMP4, MIME sont des
protocoles qui fournissent un mécanisme permettant de
définir et de gérer les règles de communication entre
MUAs (client) et MTAs (serveurs) ou entre MTAs et
MTAs.
▪ A l’origine
1970 RFC 196 (1971) 1980

• FTP •Mail Box


• Mail
Protcol
•Pour envoyer des Transfer
documents à une protocol
imprimante

© JKT Systems, Inc. All rights reserved. 141


Définition, rôle et propriétés des protocoles de email

▪ En 1981 Simple Mail Transfer Protocol (SMTP) sera


publié dans le RFC 821.
–Port: 25 ;
▪POP3 - Post Office Protocol
–rfc: 1725
–Port: 110
▪IMAP4 - Internet Mail Access Protocol
–rfc: 1730
–Port: 143
▪MIME – Multipurpose Internet Mail Extensions
–rfc: 1521 - 1524
–port: none

© JKT Systems, Inc. All rights reserved. 142


Définition, rôle et propriétés des protocoles de email
▪ Description des Composants de la messagerie:

© JKT Systems, Inc. All rights reserved. 143


Définition, rôle et propriétés des protocoles de email
▪ Description des Composants de la messagerie:

© JKT Systems, Inc. All rights reserved. 144


Définition, rôle et propriétés des protocoles de email
▪ Format du message électronique:
▪ Mail is a text file
▪ Envelope –
sender address
receiver address
other information

▪ Message –
Mail Header – defines
the sender, the receiver,
the subject of the
message, and other
information
Mail Body – Contains the
actual information in the
message © JKT Systems, Inc. All rights reserved. 145
Définition, rôle et propriétés des protocoles de email
▪ Format du message électronique:
From bob@esmt.edu Tue Oct 25 20:27:21 2010
Post Office Return-Path: <bob@esmtedu>
X-Original-To: alice@ucad.edu
Delivered-To: alice@ucad.edu

Mailbox Received: by mail.ucad.edu (Postfix, from userid 62)


id 8EC8D18D; Tue, 25 Oct 2010 20:27:21 -0400 (EDT)
Received: from esmt.sn (devil-rays.esmt.edu [128.4.60.10])
by ucad.edu (Postfix) with ESMTP id 59888C9
for <alice@ucad.edu>; Tue, 25 Oct 2010 20:27:20 -0400 (EDT)
Received: by esmt.sn (Postfix, from userid 62)
Post office id 344482045; Tue, 25 Oct 2010 20:27:20 -0400 (EDT)
Received: from nimbus.acad.ece.udel.edu (nimbus.esmt.edu [128.4.63.34])
by esmt.sn (Postfix) with ESMTP id 3932E1ECA
and mail route for <alice@ucad.edu>; Tue, 25 Oct 2010 20:27:19 -0400 (EDT)
Date: Tue, 25 Oct 2010 20:27:19 -0400 (EDT)

From: Ezra Kissel <bob@esmt.edu>

X-X-Sender: kissel@nimbus.esmt.edu
To: alice@ucad.edu
Subject: email test
Message-ID: <Pine.LNX.4.62.1010252026550.4176@nimbus.acad.ece.udel.edu>
X-Sanitizer: This message has been sanitized!
X-Sanitizer-URL: http://mailtools.anomy.net/
X-Sanitizer-Rev: UDEL-ECECIS: Sanitizer.pm,v 1.64 2002/10/22 MIME-Version: 1.0
X-Spam-Checker-Version: SpamAssassin 3.0.4 (2010-06-10) on admin.esmt.edu
Receiver’s X-Spam-Level:
X-Spam-Status: No, score=-3.8 required=4.1 tests=ALL_TRUSTED,BAYES_00
autolearn=ham version=3.0.4
Mailbox X-Sanitizer: This message has been sanitized!
X-Sanitizer-URL: http://mailtools.anomy.net/
X-Sanitizer-Rev: UDEL-ECECIS: Sanitizer.pm,v 1.64 2002/10/22 MIME-Version: 1.0
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"; format=flowed
Status: RO
X-Status:
X-Keywords:
X-UID: 50
© JKT Systems, Inc. All rights reserved. 146
Définition, rôle et propriétés des protocoles de email
▪ Commandes SMTP:
Command Code Command Paramètres Descriptions
Instruction conventionnelle envoyée par un
Le domaine name du
HELO Hello SMTP sender à un SMTP receiver pour initier
sender. une session SMTP.
Doit inclure le paramètre
Initiate Mail Début la transaction du mail du sender vers le
MAIL “FROM:” spécifiant l’origine
Transaction receiver.
du message
Doit inclure le paramètre
RCPT Recipient “TO:” spécifiant le mailbox Specifie un recipient pour le message e-mail .
recipient.
Dit à SMTP receiver qu’un message sera
Message
DATA None transmit. Le receiver répond avec un message
Data “go ahead”.,

Nom de Commande
HELP Help Requêtes d’aide informationnelle.
Optionnelle
QUIT Quit None Termine la session SMTP .

© JKT Systems, Inc. All rights reserved. 147


Définition, rôle et propriétés des protocoles de email
▪ Connexions TCP de SMTP:

TCP Connection
Establishment

HELO ucad.edu

© JKT Systems, Inc. All rights reserved. 148


Définition, rôle et propriétés des protocoles de email
Mail From: amy@esmt.edu

▪ Phase d’envoi du
RCPT TO: amy@esmt.edu
message de SMTP:
TCP Connection
Establishment From: amy Gueye
To: Sophy KA

Dear Sophy

© JKT Systems, Inc. All rights reserved. 149


Définition, rôle et propriétés des protocoles de email
▪ Phase de fin de déconnexion de SMTP:

TCP Connection
Establishment

TCP Connection
Termination
© JKT Systems, Inc. All rights reserved. 150
Définition, rôle et propriétés des protocoles de email
▪ Les digrammes suivants illustratent les étapes impliquées dans le
transfert d’un message entre SMTP sender et SMTP receiver.

© JKT Systems, Inc. All rights reserved. 151


Définition, rôle et propriétés des protocoles de email
▪ Les digrammes suivants illustratent les étapes impliquées dans le
transfert d’un message entre SMTP sender et SMTP receiver.

© JKT Systems, Inc. All rights reserved. 152


Définition, rôle et propriétés des protocoles de email
▪ Commandes SMTP:
Codes de réponses du serveur SMTP
▪ Le Serveur répond avec un code de trois chiffres qui peut-être
suivie par le texte suivant:

2## - Success
3## - Command can be accepted with more information
4## - Command was rejected, but error condition is
temporary
5## - Command rejected, Bad User!

© JKT Systems, Inc. All rights reserved. 153


Principe de fonctionnement du service mail.
▪ Description du fonctionnement du service de
messagerie: Alice envoie un mail Adama
1) Alice utilise un MUA pour 4) Ce SMTP client envoie le message
composer son message “à” de Alice à travers la connexion TCP
bob@esmt.edu
2) Le MUA de Alice envoie le 5) Le mail server de Bob place le
message à son mail server; le message dans le mailbox de Bob
message est placé dans la file dans 6) Bob invoque son MUA pour
message sortants
télécharger et lire le message
3) Le mail server de Alice ouvre une
connexion TCP avec mail server de
Bob: il se comporte comme un
SMTP client. sender’s mail receiver’s mail
server server
POP3
IMAP
1 SMTP MTA SMTP MTA HTTP
MDA MUA
MUA
2 3 6
4 5
Alice Bob
© JKT Systems, Inc. All rights reserved. 154
Principe de fonctionnement du service mail.

SMTP: comparaison avec HTTP


▪ HTTP: a pull protocol
Interaction Client/Serveur initiée par le client à travers des connections
TCP
▪ SMTP: a push protocol
Interaction Client/Serveur entre le MTA et MDA à travers des connections
TCP

▪ HTTP: chaque objet est encapsulé en dans une seule réponse


▪ SMTP: multiple objets sont envoyés en multipart dans les
réponses
▪ SMTP utilise des connexions persistantes
© JKT Systems, Inc. All rights reserved. 155
Principe de fonctionnement du service mail.

Post Office Protocol v3


▪ Simple et plus utilisé
▪ Permet aux utilisateurs d’obtenir la liste de leur Email
▪ Les utilisateurs peuvent extraire leur email
▪ Les utilisateurs peuvent supprimer ou sauvegarder leur
email sur leur machine locale (MUA)
▪ Minimise les ressources du serveur

© JKT Systems, Inc. All rights reserved. 156


Principe de fonctionnement du service mail.
Internet Mail Access Protocol v4
▪ En plus de fonctions que POP3
▪ L’Utilisateur peut regarder l’entête de son email avant
de le télécaharger sur le serveur
▪ Les Emails peuvent être accessibles de n’importe où
▪ Au besoin on peut trier les emails à télécharger du
serveur.
▪ L’Utilisateur peut ne télécharger qu’une partie d’un
email
▪ L’Utilisateur peut créer, supprimer, ou renommer les
mailboxes sur le serveur
© JKT Systems, Inc. All rights reserved. 157
Principe de fonctionnement du service mail.
Limitations in SMTP

▪ SMTP utilise seulement le codage NVT (Network Virtual


Terminal) sur le format de 7 bit ASCII.
Comment représenter les autres données?

▪ Aucun mécanisme d’authentification


▪ Les messages envoyés sont non cryptés
▪ Susceptible d’une mauvaise utilisation (Spamming,
faking sender address)

© JKT Systems, Inc. All rights reserved. 158


Principe de fonctionnement du service mail.

Solution: SMTP extensions


▪ MIME – Multipurpose Internet Mail Extensions
Transforme les données non-ASCII aux données NVT (Network Virtual
Terminal) ASCII
•Text
•Application
•Image
•Audio
•Video

© JKT Systems, Inc. All rights reserved. 159


Principe de fonctionnement du service mail.

Solution: SMTP extensions


▪ MIME – Multipurpose Internet Mail Extensions
Transforme les données non-ASCII aux données NVT (Network Virtual
Terminal) ASCII
•Text
•Application
•Image
•Audio
•Video

© JKT Systems, Inc. All rights reserved. 160


Avantages et Inconvénients du service WEB.
▪ Avantages

• Interopérabilité entre divers logiciels fonctionnant sur disverses


plateformes
• Utlistaion des standards et protocoles ouverts, indépendant
d’un système de tramission particulier – uniquement un canal
fiable de transmission requis
• SMTP est un protocol stateful (serveur maintient les infos sur
les clients)
• Flexibles et ouvert aux différents outils de développement des
applications serveurs et clientes.

▪ Inconvénients
• Pas de Sécurité, ni un mécanisme de contrôle de spam intégré
© JKT Systems, Inc. All rights reserved. 161
© JKT Systems, Inc. All rights reserved. 162
The END

© JKT Systems, Inc. All rights reserved. 163