Académique Documents
Professionnel Documents
Culture Documents
RÉSEAUX
Octobre 2000
© 2000 Andrzej Duda
Table de matières
1. Introduction
• qu’est ce qu’un réseau ?
• structure et éléments de réseaux
• anatomie d’une application – WWW
• protocoles HTTP, TCP, IP, Ethernet
2. Architecture
• architecture de protocoles
• modèle OSI de l'ISO
• modèle TCP/IP
• catégories de réseaux
• performances
3. Applications réseau
• résolution de noms (DNS)
• session à distance (rlogin, telnet)
• transfert de fichiers (FTP)
• transfert de courrier électronique (SMTP)
• forums de discussion (NNTP)
• accès à information distante (finger, whois)
• serveur graphique (X)
4. WWW
• HTML
• scripts CGI
• applets Java
5. Multimédia
• représentation d’images de la vidéo et de son
• techniques de compression
• formats d’images (GIF, JPEG)
• formats de vidéo (MPEG)
• compression de son (MP3)
6. Transport
• fonctions de la couche transport
• stratégies de retransmission
• TCP
• UDP
• interface socket
Bibliographie
1. J.F. Kurose and K.W. Ross "Computer Networking", Addison Wesley, 2000
nouveau ouvrage
2. A. Tanenbaum "Computer Networks ", Prentice-Hall, 1997
bon ouvrage de base ; existe en français
3. WWW : voir http://fidji.imag.fr/~duda/telecom.html
4. Poly en ligne : http://fidji.imag.fr
Normes
1. Télécoms
SITU (International Telecommunication Union)
Recommandations : X.25
2. Normes internationales
SISO (International Standards Organisation)
Normes : SGML
3. Internet
SIETF (Internet Engineering Task Force)
RFC (Request For Comments) : RFC 791 – IP ;
ftp://ftp.imag.fr/archive/RFC
4. WWW
SW3C (WWW Consortium)
Recommandations : HTML 4.0, XML
5. Autres
SATM Forum
NIST (US)
IEEE (US)
AFNOR (France)
Glossaire
ATM (Asynchronous Transfer Mode)
Architecture de protocole de niveau réseau fondée sur le principe de la commutation de
paquets courts appelés cellules ; fonctionne sur un support fibre optique pour atteindre des
débits élevés.
Commutateur
Équipement qui reçoit des paquets sur un circuit virtuel entrant et les commute vers un
circuit sortant.
Ethernet
Réseau local qui fonctionne selon le principe d'accès aléatoire au canal de transmission.
Finger
Application permettant d'obtenir des informations sur un utilisateur distant.
Hub
Répéteur multiport qui permet la connexion de plusieurs stations sur Ethernet.
IP (Internet Protocol)
Protocole de niveau réseau qui fonctionne en mode datagramme ; utilisé comme support
d'interconnexion par le réseau Internet.
Paquet
Unité d'échange de données au niveau réseau.
Rlogin
Application permettant d'ouvrir une session de travail sur un système distant UNIX.
Routeur
Équipement qui reçoit des paquets et les envoie selon la table de routage en fonction de
l'adresse de destination.
Segment
Unité d'échange de données au niveau transport.
Telnet
Application permettant d'ouvrir une session de travail sur un système distant.
Token Ring
Réseau local fonctionnant selon le principe du jeton circulant.
Trame
Unité d'échange de données au niveau liaison.
Whois
Application permettant d'accéder à un répertoire d'informations (numéros de réseau,
administrateurs).
X (X server)
Serveur gérant l'affichage des fenêtres sur un système distant.
Introduction aux réseaux
Organisation
● Cours théorique
– 13 séances, examen en janvier (inclut les TP)
Introduction aux réseaux – démonstrations et exercices
● Travaux Pratiques
– sujet à travailler depuis vos stations (salles
Andrzej Duda réservées) : applications réseaux, observation,
mesures
duda@imag.fr
D311
Bibliographie
● J.F. Kurose and K.W. Ross "Computer Networking", Partie 1
Addison Wesley, 2000.
– new textbook, emphasis on the Internet Introduction
● A. Tanenbaum "Computer Networks ", Prentice-Hall,
1997
– ouvrage de base ; existe en français
Qu’est ce qu’un réseau
● W.R. Stevens »TCP/IP Illustrated, Vol.1 ", Addison-
Wesley, 1994 Anatomie d’une application - WWW
– utile pour les TP ; existe en français Démo
● http://fidji.imag.fr/~duda/cours.html
● Poly en français : http://www.info.univ-
angers.fr/pub/pn/reseaux.html 4
1
Introduction aux réseaux
Signaux
Protocoles
7 8
2
Introduction aux réseaux
Internet Internet
● millions de systèmes ● protocoles: contrôle de la
URXWHU URXWHU
connectés: hôtes (hosts, end- ZRUNVWDWLRQ
communication ZRUNVWDWLRQ
VHUYHU
systems) VHUYHU
PRELOH – TCP, IP, HTTP, FTP PRELOH
QHWZRUN QHWZRUN
le réseau Task Force
13 14
UHT
● cœur :
+L
7&3 FRQQHFWLRQ – routeurs
*RW WKH UHSO\
WLPH"
– "network of networks"
*HW KWWSJDLDFVXPDVVHGXLQGH[KWP
17 18
3
Introduction aux réseaux
21 22
23 24
4
Introduction aux réseaux
HTML URL
● Langage de description de documents ● service://site:port/fichier?requête+mots
– structure logique
● service : http, file, wais, gopher, telnet,
– présentation mailto
● Balises (mark-up) ● site : nom Internet (DNS), numéro de port (80 par
– <TITLE> Page personnelle </TITLE> défaut)
– <A HREF="http://drakkar.imag.fr">Drakkar</A> ● fichier : interprété à partir de la racine de
● Visualisé par le navigateur l'arborescence du serveur
● Formulaire ● requête : mots séparés par + (codage en hexa - %2B
– saisie de texte ou choix = '+')
27 28
HTTP HTTP
● Protocole Requête - Réponse ● Exemple de requête
– GET / HTTP/1.0
● Requête
– méthodes GET, POST, HEAD
● Réponse
– entête MIME (meta-information sur le contenu :
type, codage, longueur)
– contenu binaire
● Utilise une connexion TCP pour communiquer avec
le serveur
29 30
5
Introduction aux réseaux
33 34
Localisation HTTP
35 36
6
Introduction aux réseaux
TCP TCP
● Protocole TCP
– envoie une demande de
connexion Protocole IP
– reçoit l'acceptation
IP IP
R4
R2
● Protocole IP
– envoie un paquet à destination R5
de 129.88.38.94 vers le Serveur WWW R1
httpd R3 Client WWW
routeur dans une trame Carte Ethernet Netscape
Ethernet dest routeur
129.88.38 R4
– reçoit un paquet
IP IP
129.88.38.10 MAC MAC 129.88.38.10
Physique Physique
R3
39 40
Ethernet Ethernet
41 42
7
Introduction aux réseaux
Ethernet Physique
routeur
bits bits
trame signaux
codage decodage
● Transmission sur des distances courtes ● Encodage des bits sous forme des signaux physiques
● Stations interconnectées
● Partage d'un support de communication commun
43 44
Homework
● Faites la même chose avec drakkar.imag.fr
● Faites la même chose avec ri.silicomp.fr
● Récupérez un document HTML sur le WWW « à la
main »
– telnet drakkar.imag.fr 80
– GET / HTTP/1.0 terminé par CR LF
– examinez l'entête MIME et le contenu
– accédez par Netscape à
http://drakkar.imag.fr
47
8
Architecture
Structure logique
Partie 2
Architecture Application
protocole Application
d’application
information information
Système protocole Système
de communication de transport de communication
Architecture de protocoles bits bits
Performances
Historique
48 49
1
Architecture
54 55
WUDQVSRUW
QHWZRUN
WUDQVSRUW
QHWZRUN +++ 0
O
OLQN
Q W
OLQN + + + 0 WUDPH
O Q W
58 59
2
Architecture
60 61
64 65
3
Architecture
68 69
4
Architecture
µ λ [p/s] 10 40 60 70
1/ λ [ms] 100 25 16 14
ρ
N= (1− ρ )
T= 1
µ (1− ρ ) T = Nλ
T [ms] 13 23 43 76
76 77
5
Architecture
Délai Historique
T ● 60 - 70
– centres de calcul centralisés
● 70 - 80 : la décennie des WAN
– réseaux de commutation de paquets :
» 72 - Arpanet
» 77 - X.25
» 78 - 80 - Transpac
– 72 - premier courrier (e-mail)
1 ρ – 73 - premier Ethernet expérimental
– 74 - TCP/IP
78 79
Historique Historique
● 80 - 90 : la décennie des LAN ● 90 - 00 : la décennie de l’Internet et du WWW
– 81 - première carte Ethernet – 90 - Arpanet devient Internet
– 82 - UNIX BSD sockets, NFS – 91 - X.25 → Frame Relay
– 84 - 1000 sites connectés – 91 - ATM, premiers commutateurs
– 84 - DNS – 92 - Archie, WAIS, Gopher
– 85 - Token Ring de l’IBM – 93 - Mosaic
– 87 - FDDI – 93 - 100 WWW, 500 WAIS
– 87 - 10000 sites connectés – 94 - premier radio sur l’Internet
– 89 - WWW
80 81
– 96 - AltaVista
4000
– 96 - backbone Internet : FDDI 56%, ATM
2000
35%, Fast Ethernet 8%
0
– 99 - ligne Renater France - US passe à 155 Mbit/s
1997
2004
1995
1996
1999
1998
2000
2001
2002
2003
82 83
6
Architecture
Évolution des
Homework
télécommunications
● Volume du trafic de données vs. conversations ● Mesurez le temps aller-retour avec une destination
téléphoniques lointaine
● Augmentation du nombre de sites – ping -s lcs.mit.edu
● Haut débit pour tout le monde : 20 Mbit/s à la – ping -s lcs.mit.edu 1460
maison, backbone Tbit/s ● Trouvez le débit et le temps d'attente
● Transport des données multimédia : téléphone, ● Consultez les traces de communication pendant
télévision, jeu, commerce, enseignement l'accès à une page Web
● Accès mobile sans fil – http://fidji/~duda/cours.html
● Information « partout, à n'importe quelle heure, ● Observez le principe de l'encapsulation
sous n'importe quelle forme »
84 85
7
Applications
Applications
Partie 3 ● DNS
Applications – service de noms
● rlogin, telnet
– session de terminal à distance
● FTP (File Transfer Protocol)
DNS
– transfert de fichier
rlogin, telnet ● SMTP (Simple Mail Transfer Protocol)
FTP – acheminement du courrier
SMTP - e-mail, NNTP – format MIME (Multipurpose Internet Mail
finger, whois, X Extensions)
» définit le type et le codage d'information
86 87
1
Applications
129.88.38.84 129.88.38.84
fidji.imag.fr. A ? fidji.imag.fr. A ?
94 95
96 97
2
Applications
Commandes telnet
● Connexion entre n'importe lequel système
● Contrôle de flux – NVT (Network Virtual Terminal)
– Control-S, Control-Q » dénominateur commun
● Interruption » NVT ASCII
– Control-C ● 7 bits, fin de ligne CR, LF
● Échappement - interprété par le client rlogin ● utilisé par FTP, SMTP, finger, whois, HTTP
–~ ● Options
– ~Control-D - fin – mode caractère, mode ligne
– ~. - fin ● Échappement - interprété par le client telnet
– ~Control-Z - suspension – Control-]
100 101
102 103
3
Applications
129.88.38.84 129.88.38.84
106 107
4
Applications
utilisateur
Accès nomade Accès nomade
● POP (Post-Office Protocol)
utilisateur UA
– récupération de la boîte aux lettres distante
POP ou chios ● IMAP (Interactive Mail Access Protocol)
IMAP
– utilisateur décide quels messages récupérer
serveur
UA MTA MTA MTA POP ou
SMTP SMTP IMAP
mailhost fidji
boîte à lettre
(mailbox)
114 115
5
Applications
116 117
6
Applications
122 123
whois Serveur X
124 125
Principe Homework
processus ● Trouvez les adresses des serveurs DNS racine
client
● Récupérer des fichiers sur
hôte B
– ftp.imag.fr
processus ● Vérifier l'adresse électronique
client processus – Michel.Banatre@inria.fr
client
hôte A écran (display) ● Trouvez l'adresse électronique de Jacques Chirac
processus – whois -h whois.ripe.net elysee.fr
client – telnet xxxx 25
IPC UNIX
TCP serveur X
hôte C
126 127
7
WWW/HTML
Applications
Partie 4 ● WWW (World-Wide Web)
WWW – URL - désignation de documents
– HTTP - protocole d'accès aux documents HTML
– HTML - structure et présentation des documents
– CGI - extension de fonctionnalités, génération de
HTML documents à la volée
CGI – objets multimédia
Applets Java » images,
» vidéo
» son
128 129
WWW HTML
● Hypermédia réparti
● Langage de description de documents
– documents multimédia qui incluent des objets
– structure logique
images, son, vidéo
– présentation
– liens entre des objets répartis
● Balises (mark-up)
● World-Wide Web
● Visualisé par le navigateur
– nommage des objets : URL (Uniform Resource
Locator) ● Formulaire
– protocole de transfert d’objets : HTTP – saisie de texte ou choix
(HyperText Transfer Protocol) – invocation d'un programme sur le serveur
– spécification des documents : HTML
(HyperText Markup Language)
130 131
Balises Attributs
● <HTML> HTML ● <UL> liste <P ALIGN=CENTER>
● <HEAD> en-tête ● <OL> liste ordonnée C'est un paragraphe centré.
</P>
● <TITLE> titre ● <LI> item
● <BODY> corps ● <BR> saut de ligne
● <BASE> URL absolue ● <HR> trait
● <A> ancre ● <PRE> texte formaté
● <IMG> image incluse ● <FONT> police
● <Hn> sous-titre niveau n ● <P> paragraphe
● <B> police gras ● <TABLE> table
● <I> italique ● <TR> ligne
● <TT> courrier ● <TD> colonne
132 133
1
WWW/HTML
2
WWW/HTML
Exemple Exemple
<OL> <LI>Cello <INPUT NAME="browsers"
<FORM METHOD=POST TYPE=checkbox VALUE="cello">
ACTION="http://delos.imag.fr/cgi-bin/post- <LI>Lynx <INPUT NAME="browsers" TYPE=checkbox
query"> VALUE="lynx">
Please help us to improve the World Wide Web <LI>X Mosaic <INPUT NAME="browsers"
by filling in the following questionaire: TYPE=checkbox VALUE="mosaic">
<P>Your organization? <INPUT NAME="org" <LI>Others <INPUT NAME="others" SIZE=40> </OL>
TYPE=text SIZE="48"> A contact point for your site: <INPUT
<P>Commercial? <INPUT NAME="commerce" NAME="contact" SIZE="42">
TYPE=checkbox> <P>Many thanks on behalf of the WWW central
How many users? <INPUT NAME="users" TYPE=int> support team.
<P>Which browsers do you use? <P><INPUT TYPE=submit> <INPUT TYPE=reset>
</FORM>
140 141
Exemple Applets
Content-type: application/x-www-form-urlencoded
Content-length: 65
REQUEST : URL d'une applet
org=LSR&commerce=on&users=10&browsers=mosaic&ot
hers=&contact=Duda Netscape
142 143
Applets Exemple
● Dans le document HTML <HTML>
<HEAD>
<TITLE> A Simple Program </TITLE>
<APPLET CODE=classe-Java>
<PARAM NAME=paramx VALUE=valeur> </HEAD>
<BODY>
<PARAM NAME=paramy VALUE=valeur>
</APPLET>
Here is the output of my program:
<APPLET CODE="HelloWorld.class" WIDTH=150
HEIGHT=25>
</APPLET>
</BODY>
</HTML>
144 145
3
WWW/HTML
Exemple Applets
● CODEBASE=URL
import java.applet.Applet;
import java.awt.Graphics; – chemin du répertoire où se trouve l'applet
● CODE=fichier
public class HelloWorld extends Applet { – nom du fichier contenant la classe Java à exécuter
public void paint(Graphics g) { ● NAME=nom
g.drawString("Hello world!", 50, 25); – identifie l'applet dans la page
} ● WIDTH=pixels HEIGTH=pixels
}
– dimension en pixels de largeur et hauteur de la zone
réservée pour l'affichage de l'applet
● VSPACE=pixels HSPACE=pixels
– nombre de pixels en dessus et au dessous de l'applet
146 147
4
Multimédia
Images
Partie 5
Objets multimédia
● Tableau d'éléments
– pixels
Représentation d'images
● Profondeur
Représentation de son
– 1 bit/pixel: noir/blanc
Techniques de compression – 8 bits/pixel: niveaux de gris
Images GIF, PNG, JPEG – 16, 24 bits/pixel: couleur
Vidéo et son MPEG
125 126
Couleur RGB
Blue
Magenta
● Black ( 0, 0, 0)
● Red (255, 0, 0)
Cyan
● Green ( 0, 255, 0)
Red ● Yellow (255, 255, 0)
● Blue ( 0, 0, 255)
● Magenta (255, 0, 255)
Green Yellow ● Cyan ( 0, 255, 255)
● White (255, 255, 255)
● Répresentation RGB (Red-Green-Blue)
– mélange additive des couleurs
127 128
129 130
1
Multimédia
2
Multimédia
Échantillonage Reconstruction
Signal analogique
● Fréquence d'échantillonage
– B - fréquence maximale du signal
– fe = 1/Te ≥ 2B -B B
f
Signal échantilloné
S(t)
Te t
137 138
Compression Compression
● Volume de stockage ● Débits nécessaires
– texte 2 Koctets par page – audio (8kHz, 8 bits)
– image couleur (800 × 600 × 24 bits) : 1.4 Moctets » 64 Kb/s
– 30 minutes d'audio (8kHz, 8 bits) : 14 Moctets – audio CD (44.1kHz, 16 bits)
– 30 minutes d'audio CD (44.1kHz, 16 bits, stéréo) : » 176 Koctet/s (1.4 Mb/s)
316 Moctets – audio (48kHz, 20 bits)
– 30 minutes d'audio (48kHz, 20 bits, stéréo) : 432 » 240 Koctet/s (1.92 Mb/s)
Moctets
– vidéo (800 × 600 × 24 bits, 25 images/s)
– 30 minutes de vidéo (800 × 600 × 24 bits, 25
» 36 Moctet/s (288 Mb/s)
images/s) 64.8 Goctets
141 142
3
Multimédia
Compression Redondance
● Taux de compression ● Spatiale
– rapport non-compressé/compressé (50:1) – les pixels voisins ont presque les mêmes valeurs
– bits per pixel (2 bpp) ● Temporelle
● Qualité – les images voisines sont presque les mêmes
– sans perte d'information (lossless) ● De perception
– avec perte (lossy) – pas la peine de présenter plus d'information que
● Vitesse l'on peut percevoir
– en temps réel (télé-conférence)
– non-critique (vidéo stockée)
– symétrique vs. asymétrique
143 144
4
Multimédia
JPEG Principe
DCT
● Transformée discrète en cosinus
– table de quantification
– ordre en zig-zag
– codage différentiel des coefficients DC
» DCi - DCi-1
Zig-zag quantification
– quantification - les coefficients petits sont éliminés
011010001011101...
153 154
5
Multimédia
155 156
JPEG Exemples
● Qualité d'images
– 0.25 - 0.5 bpp - moyenne à bonne
– 0.5 - 0.75 bpp - bonne à très bonne
– 0.75 - 1.5 bpp - excellente Originale Compressée Compressée
(262 Ko) (22 Ko, 12:1) (6 Ko, 43:1)
– 1.5 - 2.0 bpp - indiscernable d'un original
157 158
159 160
6
Multimédia
165 166
7
Multimédia
Zig-zag quantification
I B B B P B B B I
011010001011101...
– 1, 5, 2, 3, 4, 9, 6, 7, 8
167 168
Image P ou B
Caractéristiques de MPEG
image de erreur
référence d'estimation DCT
● MPEG-1
– 352 × 240, 30 images/s → 1.5 Mbit/s
● MPEG-2
image P ou B estimation du
mouvement – 720 × 486, 30 images/s → 5-10 Mbit/s
Zig-zag quantification
011010001011101...
code à répétition
codage statistique 169 170
8
Transport
Couche transport
Partie 6
Couche transport A B
X Y
Réseau
Multiplexage/demultiplexage Multiplexage/demultiplexage
0XOWLSOH[DJH
ELWV
DFFHSWHU GH GRQQpHV GH GLIIpUHQWV
● Segment - unité de 'HPXOWLSOH[DJH OLYUDLVRQ GH SURFHVVXV DSSOLFDWLIV HQFDSVXOHU SRUW VRXUFH SRUW GHVW
VHJPHQWV UHoXV DX[ SURFHVVXV GDQV XQ 3'8 DYHF XQH HQWrWH
données échangées entre
DSSOLFDWLIV GpVWLQDWDLUHV DXWUHV FKDPSV G
HQWrWH
deux entités de transport Multiplexage/demultiplexage :
UHFHLYHU ● selon les ports source et
3 3
DSSOLFDWLRQOD\HU 0 0 destination, ainsi que les GRQQpHV DSSOLFDWLYHV
GDWD
DSSOLFDWLRQ
PHVVDJH
VHJPHQW 3 WUDQVSRUW 3
adresses IP
KHDGHU 0
0 QHWZRUN
DSSOLFDWLRQ DSSOLFDWLRQ
– port source, destination dans
VHJPHQW +W 0 WUDQVSRUW WUDQVSRUW
+Q VHJPHQW QHWZRUN QHWZRUN
chaque segment 7&38'3 VHJPHQW IRUPDW
1
Transport
VRXUFH SRUW \
'HVW ,3 %
– fiabilité
» retransmissions
6RXUFH ,3 $
×
T ACK
– l'intervalle paquet n avec le paquet n reçu
paquet n+1
– numérotation de n+1
paquets
temps temps
182 183
2
Transport
OK :
ACK1 n+1 reçu
temps
184 185
temps temps
186 187
temps
188 189
3
Transport
temps temps
190 191
Tampons Tampons
● Arrêt et attente ● Retransmission continue
Émission Émission
n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9 n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9
0 1 2 3 0 1 2 3 0 1 0 1 2 3 0 1 2 3 0 1
Réception Réception
n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9 n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9
0 1 2 3 0 1 2 3 0 1 0 1 2 3 0 1 2 3 0 1
192 193
194 195
4
Transport
Efficacité de RS Performance
● Absence d'erreurs - le débit est contrôlé par la taille de
la fenêtre Rendement (débit/b) A &A RC RS
– débit max = min {b, WL/τ}
– τ = 2D + L/b
D = 2 ms 46 % 93 % 94 %
– b = bit rate, D = propagation, L= taille de paquet,
1000 bits, r = 10-5, W=2 W=2
W = taille de fenêtre en paquets
b = 4.8 Kb/s,
– la taille de fenêtre limite le débit ssi
(W - 1)L ≤ b D = 300 ms 46 % 93 % 94 %
● Présence d'erreurs - la méthode est très efficace 1000 bits, r = 10-4, W = 29 W = 29
– utilisation du canal U = 1 - r, où b = 48 Kb/s,
r - proportion de paquets ou ACK perdus
198 199
5
Transport
● Fenêtre annoncée
– récepteur contrôle la fenêtre d'émission (par défaut ● Pointeur urgent
4 Koctets, max. 64Koctets) – indique la fin des données urgentes
● Checksum - contrôle d'erreurs ● Options
– sur le pseudo-en-tête (adresses IP), en-tête et les – MSS (Maximal Segment Size) (sans en-tête)
données » défaut 536 octets ; 1460
206 207
6
Transport
Connexion Connexion
SYN seq=x vieux SYN seq=x
ACK ack = x+1, SYN seq=y ACK ack = x+1, SYN seq=y
fenêtre annoncée
● Contrôle de flux
– envois des segments par anticipation
1 2 3 4 5 6 7 8 9 10 11
– le récepteur régule la taille de fenêtre - crédit
● Contrôle des erreurs
envoyés envoyés peut peut pas
– ACK des segments et ACKed non ACKed envoyer envoyer
– retransmission
● Contrôle de congestion ● Fenêtre glissante
– si le réseau est trop encombré, réduire le taux – se referme à chaque envoie
d'envoi
– avance à la réception de ACK
212 213
7
Transport
8
Transport
RTP RTP
source récepteur A
● Deux protocoles CSRC
9
Transport
Socket Socket
● Interface système - protocole de transport
● Appels système en mode connecté (TCP)
– une connexion réseau est vue comme un fichier
– socket - création d'un descripteur
● Appels système en mode non-connecté (UDP)
– bind - associer à une adresse locale
– socket - création d'un descripteur
– listen - volonté d'accepter des connexions
– bind - associer à une adresse locale
– accept - attente jusqu'à l'arrivée d'une connexion
– sendto - envoie de données
– connect - établit une connexion
– recvfrom - réception de données
– send - envoie de données
– close - fermeture de connexion
– receive - réception de données
– close - fermeture de connexion
226 227
socket(); socket();
bind();
bind();
bind(); listen();
bind();
connect();
ouverture de accept();
connexion
sendto(); recvfrom();
send(); receive();
close();
transfert
close();
de données
close();
228 229
programme programme
id=3 id=4 id=3 id=4 id=5
IP IP
adresse=129.88.38.84 adresse=129.88.38.84
Ethernet Ethernet
adresse=FE:A1:56:87:98:12 adresse=FE:A1:56:87:98:12
230 231
10
Transport
Homework
● Only for future Unix hackers
– get sample examples from
» http://fidji.imag.fr/~duda/cours.html
– compile it and run
● Use socklab for observation and manipulation of
sockets
232
11