Services et protocoles Applicatifs de l`Internet - La Recherche

Transcription

Services et protocoles Applicatifs de l`Internet - La Recherche
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Services et protocoles Applicatifs de l’Internet
F. Garcia
Services et protocoles Applicatifs de l’Internet
1 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Plan
1
Protocoles applicatifs
Classification des protocoles applicatifs
Mandataires
2
Services applicatifs
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
3
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Services et protocoles Applicatifs de l’Internet
2 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Classification des protocoles applicatifs
Mandataires
Taxonomie
Paramètres de classification
Architecture
Connexion
Synchronisme
Séparation des messages applicatifs (framing)
Encodage
Sécurité
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
3 / 64
Classification des protocoles applicatifs
Mandataires
Taxonomie
Paramètres de classification
Architecture
client/serveur
n-tiers
pair à pair
...
Services et protocoles Applicatifs de l’Internet
4 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Classification des protocoles applicatifs
Mandataires
Taxonomie
Paramètres de classification
Connexion
mode connecté
soit au niveau transport,
soit au niveau applicatif,
soit les deux
sans-connexion
généralement sur UDP
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
5 / 64
Classification des protocoles applicatifs
Mandataires
Taxonomie
Paramètres de classification
Synchronisme
Synchrone :
Gère les requêtes d’un client séquentiellement
Une seule requête à la fois (succession de requêtes/réponses)
Asynchrone :
Gère les requêtes d’un client en parallèle
Plusieurs requête simultanées possibles (les réponses doivent
référencer la requête à laquelle elle s’applique)
Services et protocoles Applicatifs de l’Internet
6 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Classification des protocoles applicatifs
Mandataires
Taxonomie
Paramètres de classification
Séparation des messages applicatifs (framing )
comptage d’octets (octet counting )
bourrage d’octet (octet stuffing )
coupure de connexion (connection blasting )
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
7 / 64
Classification des protocoles applicatifs
Mandataires
Taxonomie
Paramètres de classification
Encodage
Texte
MIME
Multipurpose Internet Mail Extensions
RFC 2045, RFC 2046, RFC 2047, RFC 2048 et RFC 2077.
Binaire
ASN.1 BER
Règles de représentation d’informations
indépendantes de l’architecture machine
du langage informatique utilisé
Basic Encoding Rules (BER) :
encodage Type / Length / Value
...
Services et protocoles Applicatifs de l’Internet
8 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Classification des protocoles applicatifs
Mandataires
Taxonomie
Paramètres de classification
Couplage
message
couplage faible
échange de messages
Les implémentations du serveur et du clients ne sont liées que
par la grammaire des messages (le protocole)
RPC
couplage fort
appel à distance de procédures
Plusieurs systèmes :
RFC 1057 (Sun RPC)
Java RMI
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
9 / 64
Classification des protocoles applicatifs
Mandataires
Taxonomie
Paramètres de classification
Sécurité
Quatre facteurs :
confidentialité
intégrité
authentification
non-répudiation
Plusieurs solutions :
TLS : Transport Layer Security (RFC 5246)
DTLS : Datagram Transport Layer Security (RFC 4347)
IPSec : Solution de sécurité au niveau IP (RFC 4301), intégrée
à IPv6
Services et protocoles Applicatifs de l’Internet
10 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Classification des protocoles applicatifs
Mandataires
Mandataires Applicatifs (Application proxy )
Généralités
Un mandataire applicatif peut remplir plusieurs rôles :
augmentation des performances
⇒ Proxy cache
filtrage des requêtes (à des fins de sécurité ou de surveillance)
⇒ Proxy filtrant
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
11 / 64
Classification des protocoles applicatifs
Mandataires
Mandataires Applicatifs (Application proxy )
Architecture
Services et protocoles Applicatifs de l’Internet
12 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Résolution de noms
Besoin
Pour permettre aux être humains de retenir des adresses de
machines, on leur attribue un nom.
Il faut pouvoir transformer un nom de machine en adresse IP
numérique
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
13 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Résolution de noms
Domain Name System
A l’origine résolution nom ↔ @IP :
fichiers hosts comprenant les correspondances
Puis création du DNS (1983) :
RFC 882 & 883 puis 1034 & 1035
Maintenant de nombreuses RFC mettent à jour les
spécifications d’origine
Ajout de DNSSec (via les RFC 4033, 4034 et 4035) :
authentification des serveurs DNS
sécurisation des informations contenues dans les messages DNS
Services et protocoles Applicatifs de l’Internet
14 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Domain Name System
Généralités
Architecture client-serveur
Les clients sont appelés résolveurs
Utilise TCP ou UDP au port 53
Mode non connecté
fonctionnement synchrone
Comptage d’octets
Messages binaires
Sécurité avec DNSSec
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
15 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Domain Name System
Fully Qualified Domain Name
www .recherche .enac
machine
.fr
.
domain
Root domain
Top level domain
sub-domain
Services et protocoles Applicatifs de l’Internet
16 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Résolution de noms
Séparation des zones
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
17 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Résolution de noms
Résolveurs itératifs et récursifs
2) www.enac.fr. ?
a.root-servers.net.
3) fr. NS a.nic.fr.
mon-fai.com.
ns.mon-fai.com.
4) www.enac.fr. ?
5)enac.fr .NS
bleriot.enac.fr .
8)www .enac.fr .A
195.220.159.118
a.nic.fr.
6) www.enac.fr. ?
1) www.enac.fr. ?
7)www .enac.fr .A
195.220.159.118
Hôte
bleriot.enac.fr.
Services et protocoles Applicatifs de l’Internet
18 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Résolution de noms
Types d’enregistrements DNS (1/2)
A : address record maps a hostname to a 32-bit IPv4
address.
AAAA : IPv6 address record maps a hostname to a 128-bit
IPv6 address.
CNAME : canonical name record makes one domain name an
alias of another. The aliased domain gets all the
subdomains and DNS records of the original.
MX : mail exchange record maps a domain name to a list
of mail exchange servers for that domain.
NS : name server record maps a domain name to a list of
DNS servers authoritative for that domain.
Delegations depend on NS records.
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
19 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Résolution de noms
Types d’enregistrements DNS (2/2)
PTR : pointer record maps an IPv4 address to the canonical
name for that host. Setting up a PTR record for a
hostname in the in-addr.arpa domain that
corresponds to an IP address implements reverse
DNS lookup for that address. For example (at the
time of writing), www.icann.net has the IP address
192.0.34.164, but a PTR record maps
164.34.0.192.in-addr.arpa to its canonical name,
referrals.icann.org.
SOA : start of authority record specifies the DNS server
providing authoritative information about an Internet
domain, the email of the domain administrator, the
domain serial number, and several timers relating to
refreshing the zone.
...protocoles Applicatifs de l’Internet
Services et
20 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Résolution de noms
Utilitaires
host <@ IP>
donne le nom associé à une adresse IP
#host 10.31.3.3
3.3.31.10.in-addr.arpa domain name pointer
web.recherche.enac.fr.
dig <Type> <Objet>
Permet de faire un requête DNS quelconque
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
21 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Résolution de noms
Example dig
> dig MX enac.fr.
; < <> > DiG 9.3.2-P1 < <> > MX enac.fr.
;; global options: printcmd
;; Got answer:
;; -> >HEADER< <-opcode: QUERY, status: NOERROR, id: 45927
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;enac.fr. IN MX
;; ANSWER SECTION:
enac.fr. 85824 IN MX 5 rsmtp-1.enac.fr.
;; AUTHORITY SECTION:
enac.fr. 8223 IN NS bleriot.enac.fr.
enac.fr. 8223 IN NS ader.enac.fr.
;; ADDITIONAL SECTION:
rsmtp-1.enac.fr. 85824 IN A 195.220.159.98
ader.enac.fr. 8223 IN A 195.220.159.194
bleriot.enac.fr. 8223 IN A 195.220.159.66
;; Query time: 2 msec
;; SERVER: 10.31.3.2#53(10.31.3.2)
Services et protocoles Applicatifs de l’Internet
22 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Synchronisation d’horloges
Besoin
Synchroniser les horloges d’ordinateurs distants pour :
Les systèmes de journalisation (logs)
Les systèmes d’accès disque à distance
Les mesures de délai
...
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
23 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Synchronisaiton d’horloges
Network Time Protocol
Protocole normalisé par l’IETF :
NTP v3 : RFC 1305
NTP v4 en cours de normalisation
(draft-ietf-ntp-ntpv4-proto-13)
Système hiérarchique de clients / serveurs
Fonctionnement pair à pair ou broadcast.
Fonctionnement par synchronisation ponctuelle (ntpdate).
Services et protocoles Applicatifs de l’Internet
24 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Network Time Protocol
Généralités
Architecture client/serveur
Utilise UDP au port 123
Mode non connecté
Fonctionnement synchrone
Comptage d’octets
Messages binaires
Ajout possible de sécurité (authentification des serveurs et
intégrité des messages)
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
25 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Network Time Protocol
Architecture
Services et protocoles Applicatifs de l’Internet
26 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Network Time Protocol
Algorithmes
délai δ
aller/retour
Client
Serveur
écart θ
entre les horloges
(T 2 − T 1) − (T 0 2 − T 0 1)
aucun calcul
(T 0 1+T 0 2)
2
(T 1+T 2)
−
2
aucun calcul
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
27 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Network Time Protocol
Synchronisation
Si δ faible : ajustement de la fréquence de l’horloge (slewing)
Si δ ≈ qq sec : ajustement de la valeur l’horloge (step)
Si δ ≥ 1000s : échec
Services et protocoles Applicatifs de l’Internet
28 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Network Time Protocol
Modes de fonctionnement
Plusieurs modes de fonctionnement :
Client-Serveur (un client se synchronise sur plusieurs serveurs
Symétrique Actif-Passif (synchronisation mutuelle de hôtes)
Broadcast/Multicast (émission par un serveur sur un réseau
local)
Services et protocoles Applicatifs de l’Internet
29 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Accès Fichiers à distance
Besoin
Stocker les fichiers sur un serveur central
Pour des raisons de sauvegarde
Pour que plusieurs utilisateurs y accède
Pour limiter les gros disques
Il faut donc permettre un accès distant et concurrent à des parties
du disque d’une machine.
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
31 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Accès Fichiers à distance
Network File Sytem
Protocole permettant le partage d’une arborescence de
fichiers.
1984 =⇒ RFC 1094
puis RFC 1813, puis 3010 ...
Actuellement : NFSv4 RFC 3530 (Avril 2003)
Services et protocoles Applicatifs de l’Internet
32 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Network File Sytem
Généralités
Architecture client/serveur
Le serveur partage une partie de son disque
Le client monte une partie du disque distant
Utilise les RPC (couplage fort et intégration aux noyaux des
O.S.)
TCP ou UDP au port 20
Intègre la sécurité
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
33 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Network file System
Fonctionnalités
Accès aux fichiers à distance
Gestion des permissions
Gestion du verrouillage des fichiers (locking)
Mise en cache
Gestion des différents types de stockages
Services et protocoles Applicatifs de l’Internet
34 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Applicatifs d’information réseaux
Généralités
But :
obtenir des informations de configuration :
users / password
groups
netgroups
imprimantes
...
Applicatifs existants :
NIS
LDAP
...
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
35 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Applicatifs d’information réseaux
Network Information Service
Développé par SUN : Yellow Pages (yp)
Pour cause de copyright renommé NIS
Protocole utilisant les Remote Procedure Call entre clients et
serveurs
Plusieurs serveurs :
un maı̂tre
des esclaves qui sont synchronisés au maı̂tre
Services et protocoles Applicatifs de l’Internet
36 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Lightweight Directory Access Protocol
RFC 4510 : LDAPv3
Permet d’accéder à un annuaire suivant le modèle X.500 :
Annuaire = Arbre contenant des entrées
entrées = ensemble d’attributs + Distinguished Name (DN)
Attribut = {nom;type;valeur(s)}
Possibilité d’avoir des sous arbres sur différents serveurs
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
37 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
LDAP
Généralités
Protocole client-serveur
Utilise TCP au port 389
Mode connecté
Fonctionnement asynchrone (peut traiter plusieurs requêtes en
même temps)
Messages au format BER d’ASN.1
Sécurité avec TLS
Services et protocoles Applicatifs de l’Internet
38 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Lightweight Directory Access Protocol
Exemple de structure
dn: uid=John Doe,ou=people
,dc=example,dc=org
cn: John Doe
givenName: John
sn: Doe
telephoneNumber: +1 555 6789
telephoneNumber: +1 555 1234
mail: [email protected]
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
dc: org
dc: example
ou: people
ou: groups
uid: John Doe
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
39 / 64
Résolution de noms
Synchronisation d’horloges
Accès fichiers à distance
Service d’annuaire
Applicatifs d’information réseaux
Opérations LDAP
Bind (lien) : Authentification
Commencer TLS : Protection de la connexion avec TLS
Rechercher une entrée
Tester si une entrée contient un attribut
Ajouter une entrée
Effacer une entrée
Modifier une entrée
Modifier le DN d’une entrée
Abandonner une requête
Arrêt de la connexion
Services et protocoles Applicatifs de l’Internet
40 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Connexion à distance
Généralités
But :
Se connecter à distance à une machine et agir dessus
Applications existantes :
telnet
rlogin
ssh
VNC (Virtual Network computing)
connexion au bureau à distance Windows
...
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
41 / 64
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Connexion à distance
Telnet
RFC 854 & 855 :
The purpose of the TELNET Protocol is to provide a fairly general,
bi-directional, eight-bit byte oriented communications facility. Its
primary goal is to allow a standard method of interfacing terminal
devices and terminal-oriented processes to each other.
Protocole client-serveur
Émule un terminal sur une machine distante (NVT)
Utilise le port 23 de TCP
Services et protocoles Applicatifs de l’Internet
42 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Telnet
Protocole
Ouverture de la connexion TCP
Attachement des extrémités de la connexion à des terminaux
virtuels
Négociation d’options
DO, DON’T, WILL, WON’T
Ex : DO ECHO, WILL TERMINAL TYPE
Communication
Fermeture de connexion
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
43 / 64
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Telnet
Sécurité
Failles de sécurité sur les serveurs
Communications non cryptées
Pas de système d’authentification
Services et protocoles Applicatifs de l’Internet
44 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Connexion à distance
Secure SHell
RFC 4251
The Secure Shell (SSH) Protocol is a protocol for secure remote
login and other secure network services over an insecure network.
[. . . ]
The SSH protocol consists of three major components:
The Transport Layer Protocol provides server authentication,
confidentiality, and integrity with perfect forward secrecy.
The User Authentication Protocol authenticates the client to
the server.
The Connection Protocol multiplexes the encrypted tunnel
into several logical channels.
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
45 / 64
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
SSH
Architecture
Services et protocoles Applicatifs de l’Internet
46 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
SSH
Exemples d’utilisations
Connexion à distance
ssh [-X] [<user>@]<host>
Permet de se connecter à distance sur la machine donnée.
Le paramètre user permet de se connecter sous un autre compte.
L’option -X permet de spécifier le transfert d’affichage X.
garciafa@guinness: $ ssh -X garciafa@jupiler
garciafa@jupiler’s password:
Linux jupiler 2.6.18-5-686 #1 SMP Mon Dec 24 16:41:07 UTC 2007 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon May 10 17:50:01 2010 from guinness.recherche.enac.fr
garciafa@jupiler: $
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
47 / 64
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
SSH
Exemples d’utilisations
Redirection de ports (tunneling ssh)
ssh -L <local port>:<remote host >:<remote port> <host>
Permet de lier local port sur la machine locale au port remote port
sur la machine remote host.
Services et protocoles Applicatifs de l’Internet
48 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Transfert de fichiers
File Transfer Protocol
RFC 959 :
The objectives of FTP are :
to promote sharing of files (computer programs and/or data),
to encourage indirect or implicit (via programs) use of remote computers,
to shield a user from variations in file storage systems among hosts,
and to transfer data reliably and efficiently
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
49 / 64
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
File Transfert Protocol
Généralités
Protocole Client-Serveur
Utilise les ports 20 et 21 de TCP
Mode connecté
Fonctionnement synchrone (asynchrone possible)
Messages texte sur canal de commande
Fin de transfert détectée par coupure de connexion
Pas de sécurité (authentification par mot de passe en clair)
Services et protocoles Applicatifs de l’Internet
50 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
File Transfert Protocol
Fonctionnement de FTP
Le client ouvre une connexion de contrôle vers le serveur au
port 21
Quand des données doivent être envoyées, le client (mode
actif) ou le serveur (mode passif) attendent une connexion de
données au port 20
Mode de transfert des données :
ASCII : traduction des codes de fin de ligne
Binaire : transmission bit pour bit
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
51 / 64
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Transfert de fichiers
Commandes FTP
Envoie d’une commande par le client
GET
PUT
DIR
REGET
...
Réponse du serveur sous la forme de trois digits
Services et protocoles Applicatifs de l’Internet
52 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Transfert de fichiers
Sécurité
Mots de passes en clair, pas d’authentification :
Utilisation de FTPS (FTP over SSL)
Utilisation de SFTP (SSH FTP)
Configuration des firewalls :
Deux connexions par session FTP
Le sens des connexions varie
Services et protocoles Applicatifs de l’Internet
53 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Messagerie
Généralités
Deux fonctionnalités :
Envoie de messages :
Émission par le client
Relai par les serveurs
Utilisation de SMTP
Récupération des messages :
Réception par le client sur sa demande
Messages conservés sur le serveur en attendant la récupération
Utilisation de POP ou IMAP
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
55 / 64
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Messagerie
Simple Mail Transfer Protocol
RFC 2821
The objective of the Simple Mail Transfer Protocol (SMTP) is
to transfer mail reliably and efficiently.
Architecture client-serveur
Client (Émetteur) / Serveur (Récepteur)
Utilise TCP au port 25
Mode connecté
Fonctionnement synchrone
Messages texte
Pas de sécurité par défaut (TLS possible)
Services et protocoles Applicatifs de l’Internet
56 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Messagerie
Fonctionnement de SMTP
S:
C:
S:
C:
S:
C:
S:
C:
S:
C:
C:
C:
C:
C:
C:
C:
S:
C:
S:
220 www.example.com ESMTP Postfix
HELO mydomain.com
250 Hello mydomain.com
MAIL FROM:[email protected]
250 Ok
RCPT TO:[email protected]
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: test message
From: [email protected]
To: [email protected]
Hello,
This is a test.
.
250 Ok: queued as 12345
QUIT
221 Bye
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
57 / 64
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Messagerie
Support des formats binaires
SMTP seul supporte les transmissions ASCII (caractères de 7
bits)
Ajout nécessaires pour le support de données binaires :
Multipurpose Internet Mail Extension (MIME)
Amélioration des Mail Transfer Agents (MTA) :
Sendmail est ”8-bit clean”
Services et protocoles Applicatifs de l’Internet
58 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Messagerie
Post-Office Protocol
RFC 1939 (POP3)
Protocole client-serveur :
Client : récupère les messages d’un utilisateur
Serveur : Stocke les messages
Utilise TCP au port 110
Possibilité de cryptage avec TLS (Transport Layer Security)
Le client se connecte, s’identifie puis récupère les messages et
les efface ou les laisse sur le serveur
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
59 / 64
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Messagerie
Internet MessageAccess Protocol
RFC 3501 :
IMAP 4 rev 1
Protocole Client-Serveur :
Utilise TCP au port 143
Possibilité de se connecter à plusieurs sur une boite aux lettre
Récupération partielle des mails
Système de recherche sur le serveur
Mais plus compliqué que POP
Services et protocoles Applicatifs de l’Internet
60 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Web
HyperText Transfer Protocol
RFC 2616 : HTTP/1.1
Permet d’accéder à des ressources (historiquement documents
HTML) sur le World Wide Web.
Architecture client/serveur
Utilise TCP au port 80
Pas de connexion au niveau applicatif
Fonctionnement synchrone
Messages au format texte et utilisation de MIME
Séparation des messages par comptage d’octets
Sécurité avec https (utilisation de TLS)
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
61 / 64
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Web
Requêtes
GET
Demande la présentation de la ressource spécifiée
HEAD
Idem mais seulement le header est récupéré
POST
Envoie des données pour traitement par la ressource
PUT, DELETE, TRACE, OPTIONS, CONNECT
Services et protocoles Applicatifs de l’Internet
62 / 64
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Web
Unified Remote Identifier
Méthode de localisation de ressources sur le réseau
Cas de HTTP : Uniform Ressource Locator (URL)
Structure générique :
scheme : authority / path ? query # fragment
ex :
tel : +33 05 62 17 41 97
URL :
{http | https} : // serveur [: port] / [path] [? query] [# fragment]
Services et protocoles Applicatifs de l’Internet
Protocoles applicatifs
Services applicatifs
Applications du monde Internet
63 / 64
Connexion à distance
Transfert de fichiers
Messagerie
World Wide Web
Web
Connexions Transport
HTTP 1.0 utilisait une connexion TCP par objet transféré :
La fenêtre de congestion n’a pas le temps de s’ouvrir
Peu efficace dans le cas d’un page avec beaucoup d’objets
(images par ex.)
HTTP 1.1 utilise l’option KeepAlive :
Si elle est absente ou spécifié la connexion ne devrait pas être
fermée immédiatement par le serveur (sauf pour des cas
d’économie de ressources)
Si NoKeepAlive est utilisé, le fonctionnement est le même
qu’en HTTP 1.0
Services et protocoles Applicatifs de l’Internet
64 / 64