Académique Documents
Professionnel Documents
Culture Documents
Couches Hautes
Couches Hautes
HTTP
application
SMTP
TCP
transport
FTP
DNS
UDP
IP
routage
802.3
accs
802.11
Thomas Bonald
thomas.bonald@telecom-paristech.fr
RES201
1
T. Bonald
RES201
Types de requte :
SMTP
Serveur HTTP
Types de rponse :
POP3
Protocol
Port
RFC
SMTP
POP3
IMAP
25
110
143
5321
1939
3501
GET / HTTP/1.1
Host: www.telecom-paristech.fr
SMTP
T. Bonald
SMTP
SMTP
HTTP/1.1 200 OK
...
<html>
...
</html>
T. Bonald
RES201
HTTP
0100001
802.3
accs
T. Bonald
FTP
000...
transfert de fichiers
fichiers transfrer en entier
seule la dure totale de transfert compte
exemples : email, Web, partage de fichiers
DNS
UDP
IP
routage
SMTP
TCP
RES201
transport
IMAP
HTTP
RES201
application
SMTP
802.11
Le transfert de donnes
en temps-rel
donnes gnrs en direct
le dlai de chaque paquet compte
exemples : tlphonie, live streaming, jeux
T. Bonald
RES201
RES201
TCP
UDP
T. Bonald
RES201
UDP
transport
transport
routage
routage
accs
SMTP
TCP
FTP
DNS
UDP
IP
802.3
802.11
accs
T. Bonald
Les ports
RES201
Identifiants
dapplication
pour multiplexer les diffrents flux
HTTP
HTTP
80
55226
60103
HTTP
application
application
TCP
FTP
21
destination port!
length!
checksum!
HTTP
TCP
UDP
source port!
TCP
HTTP
TCP
60103, 80
80, 60103
Un flot applicatif = IP source, IP destination
port source, port destination
protocole (TCP ou UDP)
8
T. Bonald
RES201
T. Bonald
10
T. Bonald
RES201
Les sockets
Trois
Exemples de
ports standards :
RES201
Port
Protocol
20, 21
22
23
25
53
80
110
FTP
SSH
Telnet
SMTP
DNS
HTTP
POP3
Les couches hautes
Des
prises rseau
pour faciliter le dveloppement d'applications
serveur.fr
connexion TCP
serveur.fr sur le port
12345
TCP
coute
sur le port
12345
UDP
TCP
UDP
58123, 12345
11
T. Bonald
RES201
RES201
Programmation socket en C
PORT!
Client
int main(void){!
...!
!
socketWelcome=socket(PF_INET,SOCK_STREAM,0);!
source.sin_family=AF_INET; !
source.sin_addr.s_addr=htonl(INADDR_ANY);!
source.sin_port=htons(PORT);!
!
bind(socketWelcome,...);!
!
listen(socketWelcome, 5);
!
!
while (1) {!
socketData = accept(socketWelcome,...);!
read(socketData,message,NCAR);!
fputs(message, stdout); !
write(socketData,message,strlen(message));!
close(socketData); !
}!
}!
T. Bonald
RES201
Serveur
13
PORT!
Client
Serveur
int main(void){!
...!
!
socketData=socket(PF_INET,SOCK_STREAM,0);!
dest.sin_family=AF_INET;!
dest.sin_addr.s_addr=inet_addr(IPADDRESS);!
dest.sin_port = htons(PORT);!
!
connect(socketData,...);!
!
!
!
printf("Message = ");!
fgets(message,NCAR,stdin); !
write(socketData,message,strlen(message));!
read(socketData,echo,NCAR);!
printf("Echo = ");!
fputs(echo, stdout); !
close(socketData); !
}
12
T. Bonald
RES201
Connexion TCP
Circuit
HTTP
application
SMTP
TCP
transport
FTP
DNS
UDP
SYN
IP
routage
802.3
accs
802.11
SYN ACK
ACK
temps
temps
14
T. Bonald
RES201
15
Algorithme stop-and-wait
Contrle fentre
stop-and-wait, mais pour un ensemble de paquets
la taille de la fentre est annonce par la destination
T. Bonald
RES201
Principe
Principe
16
T. Bonald
RES201
Exemple :
10 11 12
Exemple :
Dbit maximal :
MTU / RTT = 240 kbit/s
Dbit maximal :
W / RTT = 10 Mbit/s
avec :
MTU = 1500 octets
RTT = 50 ms
avec :
W = 64 ko
RTT = 50 ms
17
T. Bonald
RES201
RES201
Pertes et retransmissions
Donnes et acquittements
DATA
options
acquittements slectifs,
retransmission des paquets manquants
acquittements cumulatifs, retransmission de tous
les paquets depuis le dernier manquant (Go-Back-N)
la solution adopte pour TCP
GET
HTTP
HTTP
ACK
TCP
TCP
DATA
<html>
10 11 12
ACK
Toute la signalisation TCP (SYN, ACK, etc.) utilise des paquets TCP "nus"
18
T. Bonald
RES201
19
T. Bonald
RES201
fichier
Temporisation
010010001110100010100001... 0010111110101001000101...
a = .125
b = .25
fentre maximale
216 ~ 64 ko
T. Bonald
RES201
21
Du contrle de flux
au contrle de congestion
lorigine
TCP conu pour le
contrle de flux !
fentre fixe
RES201
Principe
Dans
T. Bonald
RES201
Fentre variable
22
T. Bonald
each LOSS!
ssth=cwnd/2!
cwnd=1!
!
23
T. Bonald
RES201
RES201
Exemple
congestion
avoidance
HTTP
application
SMTP
TCP
transport
DNS
IP
routage
perte
FTP
UDP
802.3
accs
802.11
slow-start
24
T. Bonald
RES201
25
T. Bonald
RES201
Caractristiques
Une
machine domaine
organisation hirarchique
gestion des Top Level Domains (TLD) par lIANA
racine
countries
generic
com edu gov org net
us
jp
uk
fr
us
jp
uk
fr
domaine
machine
26
smtp
T. Bonald
mit
wikipedia
www
www
RES201
enst
deezer
wikipedia
enst
mit
27
T. Bonald
RES201
Type
Nom
Valeur
A
CNAME
MX
NS
NS
vili.enst.fr
www.telecom-paristech.fr
telecom-paristech.fr
telecom-paristech.fr
telecom-paristech.fr
137.194.52.8
vili.enst.fr
smtp2.enst.fr
ns6.enst.fr
ns8-ext.enst.fr
130 sites
53 pays
13 serveurs :
A.root-servers.net
B.root-servers.net
...
M.root-servers.net
28
T. Bonald
RES201
29
T. Bonald
RES201
RES201
En rsum...
A
retenir
l'architecture client serveur
le principe des ports
les sockets
le mode connect (TCP)
le service d'annuaire (DNS)
tester
communication directe avec un serveur
telnet www.google.fr 80!
programmation rseaux
30
T. Bonald
RES201