Title: Un serveur HTTP sur UDP
1Un serveur HTTP sur UDP
2Plan
- Web et HTTP
- Statistiques
- Problématique
- Proposition
- Viabilité
- Perspectives
3Objectifs
- Meilleure efficacité du trafic Internet global
- Meilleure efficacité applicative
4Le protocole HTTP
5Protocole HTTP
6Une requête HTTP
GET default.htm HTTP/1.0 Accept image/x-xbitmap,
image/jpeg, image/gif Accept-Language
en User-Agent Microsoft Internet Explorer/3.02
Windows 95 Connection Keep-Alive Referer
http//www.enic.fr/ If-Modified-Since Sun, 29
mar 1998 100000 GMT
7Une réponse HTTP
HTTP/1.0 200 OK Server HTTPS/0.991 Allow GET
HEAD POST MIME-version 1.0 Content-type
text/html Date Wednesday, 25-Feb-98 16201
GMT Last-modified Wednesday, 25-Feb-98 162411
GMT Content-length 901 ltHTMLgt ltHEADgt etc...
8(No Transcript)
9Acquisition d'une page Web
- Acquisition de la page HTML
- Analyse de la page puis
- Acquisition des images incluses
- Une page contenant 4 images 5 GET
- Parallélisation possible des requêtes GET des 4
images
10HTTP et TCP/IP
HTTP
TCP
segments
IP
paquets
Réseau sous-jacent
trames
11Le trafic HTTP
- 65 à 80 des octets sur Internet
- Trafic asymétrique
Selon une étude de K.Thomson, G.J. Miller
et R.Wilder parue dans IEEE networks nov-dec 97
12Le trafic TCP
- 95 des octets
- 85 à 95 des paquets
- flot moyen lt 20 paquets
- flot moyen lt 7 ko
- flot moyen lt 20 s
13Le trafic IP
- 90 des paquets IP lt 576 octets
- 40 des paquets IP 40 octets
- TCP utilise des PDUs de 40 octets
- ACK, FIN et RST
14Le trafic HTTP
- 65 à 80 des octets sur Internet
- Trafic asymétrique
Selon une étude de K.Thomson, G.J. Miller
et R.Wilder parue dans IEEE networks nov-dec 97
15Problématique
16La connexion TCP
A
B
SYN1
ACK1SYN2
ACK2
17Transmission TCP
A
B
Données 1
Données 2
ACK1
Données 3
ACK2
ACK3
18Services offerts par TCP
- Segmentation des messages.
- Reconstruction du message dans le bon ordre.
- Contrôle de flux et de congestion
- Retransmission en cas d'erreur
19Déconnexion TCP
Demande de déconnexion
A
B
FIN1
ACK1
L'application refuse d'accepter des données
Demande de déconnexion
FIN2 ACK1
L'application refuse d'accepter des données
ACK2
20Le mariage HTTP - TCP
21TCP vs. UDP
- En-tête de 20 octets,
- connexion en 3 temps,
- déconnexion en 4 temps,
- somme de contrôle,
- accusé de réception,
- retransmission au besoin,
- segmentation, reconstruction dans l'ordre
- démarrage en douceur.
- En-tête de 8 octets,
- pas de connexion,
- pas de déconnexion,
- somme de contrôle,
- pas d'accusé de réception,
- pas de retransmission,
- datagrammes lt 64 ko, risque de déséquencement
- nb. de buffers limité.
22Proposition
23Pourquoi HTTP sur UDP ?
- Simplicité de HTTP
- pas de connexion
- une requête suivie d'une réponse
- Sophistication de TCP
- connexion en 3 temps
- déconnexion en 3 temps modifiée
- accusé de réception systématique
- en-tête de 20 octets ...
24Le mariage HTTP - UDP
Navigateur
Serveur
GET
HTTP
HTTP
HTTP
HTTP
25Le mariage HTTP - UDP
26Un client HTTP sur UDP
Netscape
Proxy
TCP
UDP
IP
Ordinateur client
Ordinateur serveur
27Viabilité de HTTP/UDP
- Faut-il pallier les défauts d'UDP ?
- Si oui, lesquels ?
28Détection d'erreur
- UDP dispose d'une somme de contrôle
- hors-temps sur non réponse ?
- laisser l'utilisateur décider de la
retransmission ?
29Déséquencement
- Faut-il chercher à le détecter ?
- à le corriger ?
- Conséquences acceptables ?
- Complexité d'une solution ?
30Consommation insuffisante
- Côté navigateur famine du processus
consommateur - Côté serveur idem, ou trop de requêtes
simultanées
31Production trop importante
- Côté navigateur quand une page reçue contient
de nombreuses images incluses - Côté serveur taille de fichiers importante ou
nombreuses requêtes simultanées.
32Perspectives
- Mesures à faire
- Atteinte des objectifs ?
- Chiffrage des économies de trafic réalisables.
- Temps de latence entre requête et début de
réponse - Comparaison du débit utile sur la réponse
33Environnement de test idéal
Serveur HTTP/UDP
Serveur HTTP/UDP
Serveur HTTP/UDP
Serveur HTTP/UDP
internet
Client HTTP/UDP
Client HTTP/UDP
Client HTTP/UDP
Client HTTP/UDP
34Bibliographie
- TCP/IP, Douglas COMER. InterEditions
- RFC 1945 HTTP/1.0
- RFC 2068 HTTP/1.1
- RFC 2109 Cookies
- LRMP Lightweight Reliable Multicast Protocol