Vous êtes sur la page 1sur 51

INTRODUCTION AUX

RÉSEAUX

1ère année ENSIMAG et


Département de
Télécommunications

Prof. Andrzej Duda

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.

DNS (Domain Name System)


Système de nommage symbolique sur l'Internet qui permet d'associer à une adresse IP une
chaîne de caractères.

Ethernet
Réseau local qui fonctionne selon le principe d'accès aléatoire au canal de transmission.

FDDI (Fiber Distributed Data Interface)


Réseau local à base de fibre optique fonctionnant selon le principe d'un jeton circulant.

Finger
Application permettant d'obtenir des informations sur un utilisateur distant.

FTP (File Transfer Protocol)


Application de transfert de fichiers entre deux systèmes distants.

HTML (HyperText Markup Language)


Langage de spécification de documents structurés sur le WWW.

HTTP (HyperText Transfer Protocol)


Protocole d'accès aux documents sur le WWW.

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.

MAC (Medium Access Control)


Couche responsable de la gestion d'accès au support de transmission sur un réseau local.

NNTP (Network News Transfer Protocol)


Protocole de transfert des forums de discussion.

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.

PPP (Point-to-Point Protocol)


Protocole de liaison pour des connexions par modem.

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.

SMTP (Simple Mail Transfer Protocol)


Protocole de transfert du courrier électronique.

Telnet
Application permettant d'ouvrir une session de travail sur un système distant.

TCP (Transmission Control Protocol)


Protocole de transport fiable et contrôlé sur un réseau de type datagramme ; utilisé par
l'Internet.

Token Ring
Réseau local fonctionnant selon le principe du jeton circulant.

Trame
Unité d'échange de données au niveau liaison.

UDP (User Datagram Protocol)


Protocole de transport non-fiable sur un réseau de type datagramme ; utilisé par l'Internet.

URL (Uniform Resource Location)


Schéma de désignation des objets répartis sur le WWW.

Whois
Application permettant d'accéder à un répertoire d'informations (numéros de réseau,
administrateurs).

WWW (World Wide Web – World Wide Wait for familiars)


Système de documents hypermédia répartis fondé sur HTML, HTTP, et URL ; souvent
confondu avec l'Internet.

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

Information De quoi avons-nous besoin ?


● Représentation de connaissances
● Moyens pour représenter tous les types
● Peut être représentée de deux manières
d'information sous forme numérique
– analogique (atomes)
● Moyens pour transporter de grandes quantités de
– numérique (bits) bits
● Tout devient numérique – partout
– TV, radio, téléphone, journaux, livres – à faible coût
● Représentation numérique est meilleure – avec une certaine qualité de service
– traitement informatique
– copie parfaite → ingénierie des réseaux
– transmission efficace → réseaux d'ordinateurs
5 6

1
Introduction aux réseaux

Réseaux d'ordinateurs Deux problèmes essentiels


Communication ● Distance
Information
– connecter des systèmes éloignés (pas de câble
direct)
Information ● Interconnexion
– connecter tous les systèmes avec tous les autres
Protocoles

Signaux
Protocoles

7 8

Éléments des réseaux Réseaux d'ordinateurs


hôte
Réseau local (LAN) ● Applications
Réseau de télécom modem – situées sur des ordinateurs
routeur
– fournissent des services aux utilisateurs ou à
d'autres machines
modem ● Infrastructure réseau
Ethernet
commutateur – permet la transmission de l'information entre
(switch)
les ordinateurs (texte, image, vidéo, son)
– composée des ordinateurs et des équipements
Réseau de grande distance (WAN) spéciaux (concentrateur, pont, commutateur,
Token Ring routeur)
routeur
9 10

Réseaux de télécommunication Télécoms: commutation de circuit


● Commutateur - deux fonctions
- contrôle: call setup Ressources réseaux (débit)
- communication: commutation de réservées par appel !
circuit (circuit switching) ● chaque appel bénéficie
d'un canal de 64 Kb/s
Numéris
switch
● multiplexage - un lien
transmission analogique
est découpé en canaux
– en fréquence
transmission numérique – temporel
- multiplexage de différents appels

● Spécialisés pour la transmission de la voix


11 12

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

– stations PC, serveurs ORFDO ,63


● Internet: “network of networks”
ORFDO ,63

– PDA, toasters – structure hiérarchique


exécutent applications réseau UHJLRQDO ,63 – Internet public vs. intranet UHJLRQDO ,63

● liens de communication privé


– fibre, cuivre, radio ● standards d'Internet
● routeurs: acheminent de – RFC: Request for comments
paquets de données à travers FRPSDQ\
– IETF: Internet Engineering
FRPSDQ\

QHWZRUN QHWZRUN
le réseau Task Force
13 14

Internet : services Notion de protocole


Protocoles (au sens Protocoles réseau
● infrastructure de générique) ● entre des machines
communication qui supporte ● “t'a l'heure ?” ● toutes les communications
des applications très variées :
● “j'ai une question” sous contrôle des
– WWW, email, news, NFS, X,
● présentations protocoles
telnet, talk, jeux, téléphone
– futures ?
● services de communication … génération de Protocoles définissent le format,
– sans connexion certains messages l'ordre de messages envoyés
et reçus, ainsi que des actions
– en mode connecté … des actions à entreprendre à l'envoi et à
spécifiques à la la réception de messages
réception
15 16

Notion de protocole Structure de réseau


Protocole (au sens générique) et protocole réseau
● bordure :
+L – applications and hosts
7&3 FRQQHFWLRQ

UHT
● cœur :
+L
7&3 FRQQHFWLRQ – routeurs
*RW WKH UHSO\

WLPH"
– "network of networks"
*HW KWWSJDLDFVXPDVVHGXLQGH[KWP

 ● réseaux d'accès, canaux


ILOH! physique: liens de
WHPSV communication

17 18

3
Introduction aux réseaux

Bordure Cœur du réseau


● Interconnexion de systèmes
● Hôtes
intermédiaires
– exécutent des applications
» WWW, email ● La question: comment les
– se connectent au cœur du données sont transportées ?
réseau – commutation de paquets :
● Modèle client/serveur données découpées en
– client envoie une requête paquets acheminés par les
– attend la réponse routeurs
– reçoit un service de la part du – commutation de circuits :
serveur circuit dédié par appel et
– e.g., client WWW mis en place par les
(navigateur)/ serveur, e-mail commutateurs
FTP, telnet, X 19 20

Réseaux d'accès et canaux physiques Réseaux d'accès résidentiels


● Modem sur ligne téléphonique
Q: Comment se connecter au
– 56 kb/s / 33.6 kb/s
routeur de bordure
● RNIS
● réseaux d'accès résidentiels
– réseaux numériques à l'intégration
● réseaux d'accès de services : 2x64 Kb/s (Numéris)
institutionnels
● ADSL : asymmetric digital
● réseaux d'accès mobiles subscriber line
Caractéristiques ? – 8 Mb/s - 1 Mb/s
● débit nominal ● HFC : hybrid fiber coax
– 10 Mb/s - 1 Mb/s, partagé
● partagés ou dédiés

21 22

Réseaux locaux Réseaux sans fil


● Accès partagé sans fil
● Sociétés/universités : réseau
● Réseaux locaux sans fil
local (LAN) connecte des
– canal radio replace le câble
hôtes au routeur de bordure URXWHU
– Lucent WaveLAN 11 Mb/s
● Ethernet:
● Réseaux de mobiles EDVH
– câble partagé ou dédié VWDWLRQ
– CDPD: réseau cellulaire de
– 10 Mb/s, 100Mb/s, Gigabit
données (19.2 kb/s)
Ethernet
– GSM (9.6 kb/s), GPRS (115
● déploiement: institutions, kb/s), UMTS (2 Mb/s)
sociétés, bientôt à la maison PRELOH
KRVWV

23 24

4
Introduction aux réseaux

Anatomie d’une application Architecture


REQUEST : URL de l’objet
● Hypermédia réparti
– documents multimédia qui incluent des objets
REPLY : objet MIME
images, son, vidéo
Content-type: image/gif
– liens entre des objets répartis --- le contenu ---
● World-Wide Web
– nommage des objets : URL (Uniform Resource
Locator)
– protocole de transfert d’objets : HTTP Serveur WWW
Client WWW
(HyperText Transfer Protocol) httpd
Netscape
– spécification des documents : HTML
(HyperText Markup Language) 25 26

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

HTTP Structure de l'Internet


● Entre des hôtes
● Exemple de réponse – TCP protocol for reliable
– Date: Wednesday, 25-Feb-98 16:39:53 GMT transmission
– Server: NCSA/1.3
● Dans le cœur
– MIME-version: 1.0
– Content-type: text/html – IP protocol: forwarding
– Last-modified: Friday, 6-Nov-97 05:08:57 GMT packets between routers
– Content-length: 1985 ● Entre les routeurs ou entre

hôtes et les routeurs
– <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
– <html>
– liens à haut débit : ATM
– <head> – réseau d'accès : Ethernet,
– <title>Equipe DRAKKAR - Réseaux et Multimédia modem
</title>
31 32

Comment communiquer ? Exemple http://drakkar.imag.fr


Netscape
● Former la requête HTTP ● Netscape
Application
HTTP
– localisation : qui est
drakkar.imag.fr ? Protocole DNS
TCP ● Découper en paquets, numéroter – DNS : 129.88.38.94
● Attacher l'adresse de destination
IP
– appel d'une procédure
NT
● Envoyer sur réseau local au routeur
HTTP-GET Librairie HTTP
Ethernet – présente l'objet reçu
● Bits encodés en signaux
Carte
Physique

33 34

Localisation HTTP

REQUEST: Qui est drakkar.imag.fr ? ● Librairie HTTP


– ouvre connexion TCP avec Protocole TCP
REPLY : 129.88.38.94 129.88.38.94, port 80

– envoie la requête HTTP :


Serveur DNS
Client WWW GET / HTTP 1.0 Protocole TCP
Netscape
– reçoit la réponse

35 36

6
Introduction aux réseaux

TCP TCP
● Protocole TCP
– envoie une demande de
connexion Protocole IP
– reçoit l'acceptation

– envoie des données Protocole IP


– reçoit des acquittements

– reçoit des données Protocole IP


– envoie des acquittements
37 38

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 Réseau de l'IMAG


● Carte Ethernet
– encode une trame comme un Ethernet
Renater
signal et envoie sur le câble
ensigate r-campus
– reçoit une trame Câble Ethernet

Ethernet Ethernet

telesun ensi-demo1 fidji horus

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

Architecture en couches Homework


URL ● Quelle est l’adresse d’AltaVista
HTTP Requête HTTP – Hint : nslookup altavista.digital.com
● Quelle est le débit binaire et le temps aller-retour
Segment TCP entre votre station et AltaVista ?
TCP
– Hint : ping -s altavista.digital.com 1450
IP Paquet IP ● Combien y a-t-il de routeurs entre votre station et
AltaVista ?
Ethernet Trame Ethernet – Hint : traceroute altavista.digital.com
– si vous n'avez pas d'accès au traceroute
http://fidji.imag.fr/cgi-bin/nph-tr.sh
Physique
45 46

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

Modèle OSI de l'ISO transmission de signaux


Modèle TCP/IP
Système
Catégories de réseaux de transmission

Performances
Historique
48 49

Architecture en couches Architectures de protocoles


URL
Les réseaux sont complexes ! Question :
HTTP Requête HTTP
● beaucoup d'éléments :
Comment organiser la
Segment TCP
– hôtes structure de réseaux ?
TCP – routeurs
– liens Au moins pour les
IP Paquet IP
– applications besoins de ce cours…
– protocoles
LAN-MAC Trame Ethernet
– logiciel/matériel
Physique
50 51

Architecture en couches Architecture de protocoles


Layered Protocol Stack ● Entité de protocole
● Gérer la complexité – offre un ensemble de services, p.ex.
» connect, send
– une couche de protocole correspond à un module
indépendant (entité de protocole - protocol entity) – multiplexage/demultiplexage de données
– construction/analyse des unités de protocoles
● Une couche de protocole supporte
– exécution des procédures
– format commun de données : unité de données -
● Unité de protocole (PDU)
PDU (Protocol Data Unit)
– entête : fonctions de contrôle
– un ensemble de règles de coopération : procédures
– données opaque pour le protocole
- peer-peer procedures
● Procédures
– une interface de service : SAP (Service Access
– actions pour réaliser les fonctions : p. ex.
Point) retransmission en cas d’erreur
52 53

1
Architecture

Architecture de protocoles Importance de l'approche


données données
● Trois avantages
multiplexage demultiplexage
– décomposition en entités plus simples, faciles à
SAP SAP maintenir
procédures
Entité de protocole Entité de protocole – séparation de la spécification et de l'implémentation
» information hiding
PDU PDU
– partage de services - réutilisation
Protocoles de niveau plus bas ● Désavantages
– surcoût de performance

54 55

Couches : communication logique Couches : communication logique


GDWD
DSSOLFDWLRQ DSSOLFDWLRQ
Chaque couche : Ex. Transport
WUDQVSRUW WUDQVSRUW
WUDQVSRUW
QHWZRUN ● obtient les données QHWZRUN
● répartie
OLQN de l'applications OLQN
● entités réalisent SK\VLFDO SK\VLFDO
QHWZRUN ● ajoute des adresses, DFN QHWZRUN
des fonctions DSSOLFDWLRQ OLQN code d'erreurs DSSOLFDWLRQ OLQN
d'une couche WUDQVSRUW SK\VLFDO WUDQVSRUW GDWD SK\VLFDO
QHWZRUN ● demande l'envoie QHWZRUN
dans un nœud OLQN dans un paquet OLQN GDWD
SK\VLFDO SK\VLFDO
● entités DSSOLFDWLRQ DSSOLFDWLRQ ● attend la DSSOLFDWLRQ DSSOLFDWLRQ
échangent de
WUDQVSRUW WUDQVSRUW confirmation WUDQVSRUW WUDQVSRUW
WUDQVSRUW
QHWZRUN QHWZRUN QHWZRUN QHWZRUN
messages, OLQN OLQN ● analogie : service OLQN OLQN
SK\VLFDO SK\VLFDO postal SK\VLFDO SK\VLFDO
exécutent des
actions prévues
56 57

Couches : communication physique Couches et données


GDWD
DSSOLFDWLRQ
WUDQVSRUW
Chaque couche prend de données de la couche au dessus
QHWZRUN ● ajoute une en-tête pour créer un PDU nouveau
OLQN
SK\VLFDO ● passe ce PDU en tant que données à la couche au
QHWZRUN
DSSOLFDWLRQ OLQN
dessous VRXUFH GHVWLQDWLRQ
WUDQVSRUW SK\VLFDO
QHWZRUN 0 DSSOLFDWLRQ DSSOLFDWLRQ 0 PHVVDJH
OLQN
GDWD + 0 WUDQVSRUWW WUDQVSRUW + 0 VHJPHQW
W
SK\VLFDO
DSSOLFDWLRQ DSSOLFDWLRQ + + 0 QHWZRUN
Q W
QHWZRUN + + 0 GDWDJUDP
Q W

WUDQVSRUW
QHWZRUN
WUDQVSRUW
QHWZRUN +++ 0
O
OLQN
Q W
OLQN + + + 0 WUDPH
O Q W

OLQN OLQN SK\VLFDO SK\VLFDO


SK\VLFDO SK\VLFDO

58 59

2
Architecture

Encapsulation Modèle OSI de l’ISO


Open System Interconnection
Requête HTTP International Standard Organisation
Segment TCP ● Systèmes ouverts
en-tête données – spécifications de protocoles sont publiques
Paquet IP – interopérabilité
en-tête ● Sept couches
données
Trame Ethernet – au moins 5, mais pas trop non plus
en-tête ● Normalisation trop lente, non suivie de l'implémentation
données

60 61

Modèle OSI de l’ISO Modèle TCP/IP


Application ● Fonctions communes Applications ● FTP, WWW, telnet, SNMP

Présentation ● Format interchangeable Transport ● Transport entre processus - TCP, UDP

Session ● Organisation du dialogue Réseau ● Routage - IP

● Transmission entre deux sites


Transport ● Transmission fiable entre processus Transmission
– réseau local
Réseau ● Acheminement à travers le réseau – physique
Liaison ● Transmission entre deux sites

Physique ● Transmission des signaux 62 63

Catégories de réseaux Catégories de réseaux


● Distance ● Topologie
– réseaux locaux (LAN - Local Area Networks) – bus, ex. Ethernet
– réseaux métropolitains (MAN- Metropolitan – anneau, ex. Token Ring
Area Networks) – étoile, ex. Switched Ethernet
– réseaux de grande distance (WAN- Wide Area – arbre, ex. Ethernet 10 base T
Networks) – maillé, ex. Internet (IP), ATM

64 65

3
Architecture

Catégories de réseaux Catégories de réseaux


● Débit
– réseaux locaux : ● Médium de transmission
» traditionnels (Ethernet 10 Mbit/s) – filaire, ex. Ethernet
» haut débit (ATM 34, 155, 622 Mbit/s, 2.4 Gbit/s, – sans fil, ex. GSM, WaveLAN (wireless)
Gigabit Ethernet) – fibre, ex. FDDI, ATM
– réseaux de grande envergure : ● Type de service
» épine dorsale haut débit (France-US 155 Mbit/s) – sans connexion - datagramme, ex. IP
» par utilisateur - faible débit, (WWW - World Wide – connecté - circuit virtuel, ex. ATM
Wait) – diffusion - multipoint, ex. IP Multicast
– modems, ex. 9.6, 33.4, 56 Kbit/s (53 Kbit/s)
– RNIS (Numéris) à 64 Kbit/s 66 67

Catégories de réseaux Performances


● Qualité de service ● Débit
– au mieux (best effort), ex. IP – nombre de bits par unité de temps (Kbit/s, Mbit/s,
– QoS spécifiée, ex. ATM Gbit/s, Tbit/s, …)
● Nature – bandwidth, throughput, bit rate
– réseaux dédiés, ex. téléphone (POTS - Plain ● Délai ou latence
Old Telephone System) – le temps entre l’émission et la réception d’un bit
– réseaux banalisés - voix, vidéo, données, ex. IP, – delay or latency
ATM – temps aller-retour (RTT - Round-Trip Time)

68 69

Latence dans les réseaux de


commutation de paquets Latence
● traitement :
● Quatre sources de – vérifier le code Transmission
délai à chaque passage d'erreurs Propagation
de routeur – choix de liens Attente
de sortie
WUDQVPLVVLRQ
$ SURSDJDWLRQ
– petit par rapport
aux autres
● attente
%
WUDLWHPHQW – dépend de la
DWWHQWH
charge du
routeur
70 71

4
Architecture

Temps de propagation Latence


A temps ● Latence
t0 t1 tn
– Latence = Propagation + Transmission + Attente
– Propagation = Distance / Vitesse
» cuivre : Vitesse = 2.3×108 m/s
» verre : Vitesse = 2×108 m/s
B » Transmission = Taille / Débit
s0 s1 sn
● 5 µs/km
● New York - Los Angeles en 24 ms
● Propagation entre A and B – requête - 1 octet, réponse - 1 octet : 48 ms
– le temps nécéssaire pour que le front du signal – fichier 25 Moctets sur 10 Mb/s : 20 s
arrive de A à B : si-ti
● Tour du monde en 0.2 s
72 73

Exemple Influence de l'attente


● à l'instant 0, A envoi un paquet de 1000 octets à B; quand
● Mesures
il est reçu par B (vitesse = 2e+08 m/s) ?
– 50 octets : 100 ms
– 1500 octets : 200 ms
distance 20 km 20000 km 2 km 20 m
débit 10 kb/s 1 Mb/s 10 Mb/s 1 Gb/s – distance : 10000 km
propagation 0.1 ms 100 ms 0.01 ms 0.1 µs ● Latence = Propagation + Taille / Débit
transmission 800 ms 8 ms 0.8 ms 8 µs + Attente
latence 800.1 ms 108 ms 0.81 ms 8.1 µs – 50 ms + 50/D + A = 100 ms
– 50 ms +1500/D + A = 200 ms
– D = 14,5 Ko/s = 116 Kbit/s
– A = 47 ms
– 50 ms + 3 ms + 47 ms = 100 ms
modem satellite LAN Hippi
– 50 ms +103 ms + 47 ms = 200 ms
74 75

Temps d'attente Performances


● File d'attente M/M/1
● Paquet de 1500 octets (en moyenne)
– temps distribués exponentiellement
– taux d'arrivée λ, taux de service µ, – liaison de 1 Mb/s (distance = 0)
– nombre de clients N, délai T » temps de transmission 12 ms
» taux de service 83 paq/s
λ λ

µ λ [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

Historique Développement de l’Internet


● 90 - 00 : la décennie de l’Internet et du WWW 12000

– 95 - Lycos 10000 croissance de l'Internet extrapolée à 98%


– 95 - Java 8000
– 95 - IP sur ATM → IP Switching 6000
population du monde à 1.6%

– 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

Applications DNS (Domain Name System)


● finger, whois ● Base de donnée répartie
– information sur personnes, noms DNS – correspondance nom symbolique - adresse IP
● X Window – délégation d'autorité
– multi-fenêtrage à distance – serveurs de noms
» primaires, secondaires "sources autorisées"
» cache - "sources non autorisées" (non-authoritative
data)
– resolver:
» gethostbyname
» gethostbyaddr
● Espace de noms hiérarchique
88 89

Noms DNS Noms DNS


sans nom
root ● Nœud
arpa com edu gov mil net org us fr
– étiquette <= 63 caractères
● Nom
in-addr mit domaines génériques domaines des pays imag – liste d'étiquettes avec .
» fidji.imag.fr. (fully qualified domain
129 lcs fidji name)
» delos
88
mintaka
● Autorité hiérarchique
38 – crée des sous-domaines et délègue l'autorité
84
90 91

1
Applications

Administration de noms Enregistrement DNS


● Zones
– sous-arbres gérés séparément (délégation) ● RR (Resource Record)
– au moins un serveur de nom par zone (port 53) – A : paire nom - adresse IP
» primaire, secondaire - copie du primaire – PTR : paire adresse IP - nom
» /etc/resolv.conf : nameserver 129.88.38.2 – CNAME : nom canonique pour un alias
domain imag.fr
» redondance – NS : serveur de noms du domaine
» cache (les données restent 1 jour) – HINFO : info
● Serveurs racine – MX : serveur du courrier
– 13 serveurs répartis
– chaque serveur primaire connaît ses adresses
(pourquoi pas leurs noms ?)
92 93

Requête itérative Requête récursive


fidji.imag.fr. A ? fidji.imag.fr. A ?
root NS root NS
demande d1 129.88.38.84
129.88.38.84 A ? fidji...
fidji.imag.fr. A ?
d1 NS d1 NS
129.88.38.84
NS NS

129.88.38.84 129.88.38.84
fidji.imag.fr. A ? fidji.imag.fr. A ?

94 95

Requête pointeur DNS


84.38.88.129.in-addr.arpa. PTR ?
● Fonctionnement mondial
root NS
demande d1 ● Survit le passage à l'échelle
84.38.88.129.in-addr.arpa. PTR ? – répartition et délégation d'autorité
d1 NS – cache
fidji.imag.fr.
NS – tolérance aux fautes
● Un point clé de l'Internet
fidji.imag.fr.
84.38.88... PTR ?

96 97

2
Applications

rlogin, telnet rlogin


client serveur ● Connexion entre systèmes UNIX
telnet telnet
– terminal shell à distance
● Authentification
pilote – mot de passe (passé en clair)
pilote
TCP/IP TCP/IP pseudo
terminal – fichier .rhosts
terminal
» nom de hôte
» nom d'utilisateur
utilisateur shell
● Caractère
– écho envoyé par le système distant
98 99

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

FTP (File Transfer Protocol) FTP


● Transfert de fichier
– différents types de fichiers
» texte, binaire utilisateur interface
utilisateur
– différentes structures de fichiers
» séquence d'octets, séquence
d'enregistrements commandes connexion commandes
client contrôle serveur
● Deux connexions TCP
– connexion de contrôle (port 21)
système connexion système
– transfert de données transfert transfert de fichiers
de fichiers données

102 103

3
Applications

Commandes utilisateur Commandes de contrôle


● En NVT terminé par CR, LT
● Interface ligne – ABOR
– open – LIST filelist
– dir, ls, ls -l – PASS passwd
– cd, lcd – PORT adresse IP n1,n2,n3,n4 port (n5×256+n6)
– ascii (par défaut), binary – QUIT
– prompt – RETR filename
– get, mget – STOR filename
– put, mput – SYST
– quit, bye – TYPE type
– stat – USER username
● Réponse : code de 3 chiffres
104 105

FTP - mode actif FTP - mode passif


client FTP serveur FTP client FTP serveur FTP
PORT 129,88,38,84,4,150 PASV
port 1173 port 21 port 1173 port 21
OK 1515
port 1174 port 1174

129.88.38.84 129.88.38.84

client FTP serveur FTP client FTP serveur FTP


port 1173 port 21 port 1173 port 21
port 1174 port 20 port 1174 port 1515
SYN 129.88.38.84, port 1174 SYN 129.88.38.84, port 1174
129.88.38.84 129.88.38.84

106 107

Exemple FTP anonyme


ftp -d ftp.imag.fr
ftp> name (duda):
→ USER duda
ftp ftp.imag.fr
ftp> password:xxxxx
ftp> name (duda): anonymous ou ftp
→ PASS xxxxx
ftp> dir fichier.txt
→ PORT 129,88,38,84,4,150
● Accès WWW
→ LIST fichier.txt
-rw-r--r-- 1 duda fichier.txt – ftp://ftp.imag.fr
ftp> get fichier.txt
→ PORT 129,88,38,84,4,150
→ RETR fichier.txt
---- chargement du fichier
ftp> quit
→ QUIT
108 109

4
Applications

SMTP (Simple Mail Transfer


Principe
Protocol)
● Transfert du courrier électronique
utilisateur utilisateur
– agent utilisateur (user agent - UA)
» mail, Netscape, Eudora
– agent de transfert (mail transfer agent)
» sendmail, Netscape, Eudora UA MTA MTA MTA UA
SMTP SMTP
● Adresse - identifier un utilisateur
– user@domainName mailhost
– domainName est un nom de domaine (DNS) boîte à lettre
(mailbox)
» virtuel (MX)
» réel (A)
110 111

Commandes SMTP Enveloppe, en-tête, contenu


HELO nom-de-site-client
MAIL From: batman
RCPT To:superman ● Enveloppe
– MAIL From:
DATA
– RCPT To:
ligne1
● En-tête
ligne2
– Received: – To:
ligne3
– Message-Id: – Cc: copie
. – From: – Bcc: copie secrète
QUIT – Date: – Subject:
VRFY adresse – Reply-To:
EXPN liste ● Contenu
TURN
112 113

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

Confidentialité Cas de pannes


● PGP (Pretty Good Privacy) ● Si le MTA cible en panne
– chiffrement avec une clé publique et une clé – le MTA source stocke le message et retransmet
secrète après un intervalle (30 minutes)
» clé secrète utilisée pour chiffrer le message – essaie 3-4 jours
(plus performant)
» clé publique pour chiffrer la clé secrète
– signature digitale
– compression

116 117

MIME Extensions d'en-tête


● Mime-Version:
● Multipurpose Internet Mail Extensions
● Content-Description:
● Résolution de plusieurs problèmes du courrier
● Content-ID:
– texte avec accents ● Content-Transfer-Encoding:
– texte en alphabets autres que latins – ASCII (7-bits),
– messages contenants d'autres média (images, audio) – 8-bits,
– utilisé aussi par WWW/HTTP (en-tête de la réponse) – base64
» 24 bits → 4 × 6 bits codé en ASCII
● Content-Type:
– type/sous-type
– description de la nature de données
118 119

Content-Type Forums de discussion (News)


● Groupes de messages sur un thème
text/plain
text/html ● Serveur des forums reçois des messages
image/gif ● Utilisateur s'abonne à un forum
image/jpeg ● Hiérarchie de forums
audio/basic – comp
audio/mpeg – sci
video/mpeg – soc
application/octet-stream – alt
application/postcript ● Bon usage
application/pdf
– FAQ (Frequently Asked Questions)
– cross-post
120 121

6
Applications

NNTP (Network News Transfer


finger
Protocol)
● Informations sur un utilisateur (port 79)
● Propagation des forums d'un serveur à un autre
[fidji 27] finger cathcass@ensibull
● Accès aux messages sur le serveur (port 119) [ensibull.imag.fr]
● Commandes Login name: cathcass In real life: Catherine
LIST Cassagne
NEWSGROUPS date time Directory: //home/perms/cathcass
GROUP grp Shell: /usr/local/bin/tcsh
NEWNEWS grps date time On since Oct 14 08:22:51 on pts/2, 9 minutes 9
ARTICLE id seconds Idle Time from ensitx00
POST

122 123

whois Serveur X

● Consultation d'une base de données (port 43) ● Gestion de fenêtrage à distance


● Noms DNS, administrateurs ● Application sur un système distant (p.ex. Netscape)
– rs.internic.net ● Serveur X sur votre machine
– whois.ripe.net http://www.ripe.net
● Connexion TCP
whois.arin.net http://www.arin.net
– chaque touche : message 32 octets
whois.apnic.net http://www.apnic.net

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

Accents et échappement Liens et images


● Accents et échappement ● <A HREF="chapitre1.html">Chapitre 1</A>
● <A
– &lt; <
HREF="http://fidji.imag.fr/book/chapitre1
– &gt; > .html">Chapitre 1</A>
– &amp; & ● <BASE HREF="http://fidji.imag.fr/newbook/
– &eaigu; é > URL de base
● <A HREF="#partie1">Partie 1</A> ancre relatif
● <A NAME="partie1"> cible
● <IMG SRC=SelfPortrait.gif HEIGHT=100
WIDTH=65>
● <BODY BGCOLOR="#000000" TEXT="#FFFFFF"
LINK="#9690CC"> #000000 - black, #FFFFFF -
white (red-green-blue)
134 135

Formulaires Type de INPUT


● <FORM> formulaire ● TEXT ligne de texte
– attributs : ACTION, METHOD, ENCTYPE ● CHECKBOX choix multiple
● <INPUT> champ d'entrée – valeur dans l'attribut NAME
– attributs : NAME, TYPE, VALUE, CHECKED, ● RADIO un choix parmi plusieurs
SIZE, MAXLENGTH ● SUBMIT émission
● <SELECT> liste de sélection RESET valeurs initiales

– attributs : NAME, MULTIPLE, SIZE
● <OPTION> une sélection
– attribut : SELECTED
● <TEXTAREA> zone de texte
– attributs : NAME, ROWS, COLS
136 137

CGI (Common Gateway


CGI
Interface)
● Invocation des programmes sur le serveur interface CGI
● Document formulaire saisi sur le client
REQUEST : URL du programme
● Requête POST
attributs attributs
– URL désigne un programme
– formulaire encodé comme des attributs
programme
» paires nom-valeur script CGI résultats
● httpd exécute le programme en lui passant les Serveur WWW Client WWW
httpd Netscape
attributs REPLY : document HTML
● Programme génère un document HTML et le passe à
httpd
138 139

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

Serveur WWW Client WWW applet


httpd Netscape
REPLY : applet

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

Autres représentations Autres représentations


● Y Cb Cr (JPEG)
● YUV (Luminance, Chrominances)
– Y = 0.30R + 0.59G + 0.11B – Cb = U/2 + 0.5
–U=R-Y – Cr = V/1.6 + 0.5
–V=B-Y – Cb, Cr ∈ [0; 1]
● CMY (Cyan, Magenta, Yellow)
– œil est moins sensible à la couleur qu'à la
luminance – [1] - RGB
» la composante couleur peut être représentée
sur un plus petit nombre de bits

129 130

1
Multimédia

Autres représentations Vidéo


● HSV (Hue, Saturation, Value/Intensity)
– hue - teinte : position sur la roue de couleurs
Red 0
Yellow 60
Green 120
Cyan 180
Blue 240 temps
Magenta 300
– saturation : degré de la couleur pure ● Interlaçages
– intensité – deux trames (fields) pour former une image
131 132

Fréquences et résolutions Son


● NTSC US, Japon ● Caractérisé par
– 525 lignes, 60 trames/s, 30 images/s – fréquences audibles
– 481 lignes de vidéo, 44 pour des sous-titres » 20Hz - 20kHz
● PAL EU – timbre
– 625 lignes, 50 trames/s, 25 images/s » spectre du son
● SECAM France – intensité
– 625 lignes, 50 trames/s, 25 images/s » amplitude
● Film
– 24 images/s
133 134

MIC - Modulation par


Masquage
amplitude
Impulsions Codés
● PCM - Pulse Coded Modulation
– son numérisé
– A/D Analog/Digital

fréquence Enregistrement A/D Canal de transmission D/A Restitution

Signal Bits Bits Signal


● Signal fort masque signal faible analogique analogique

– compression : enlever l'information redondante


135 136

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)

-2fe -fe fe 2fe f


Signal restitué

Te t

137 138

Codage et quantification Exemples de son numérique


● Voix téléphonique
● Échantillon codé sur N bits
– B = ~4 KHz
– ex. N = 8, 0… 255
– fe = 8 KHz, Te = 125 µs
● Erreur provoque le bruit de quantification mesuré en
dB (S/N) – échantillon codé sur 8 bits
– 1 bit en plus améliore S/N de 6 dB – débit nécessaire : 8 bits × 8 KHz = 64 Kbit/s
– 8 bits → 48 dB – GSM : 15.2 Kbit/s, ADPCM : 32 Kbit/s
● Hi-Fi (CD)
– 16 bits → 96 dB
– idéal : 20 bits → 120 dB (la qualité exigée par – B = ~20 KHz
l'oreille humaine) – fe = 44.1 KHz, professionnel 48 KHz
– échantillon codé sur 16 bits , professionnel 20 bits
139 – débit nécessaire : 176 Koctet/s 140

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

Techniques de compression Techniques de compression


● Simples ● Interpolatives
– tronquer - moins bits par pixel – transmission d'un sous-ensemble de valeurs et
reconstruction
» image 4:2:0 - sur 16 pixels : 16 valeurs Y, 4
valeurs Cb, Cr » interpolation entre deux images vidéo (MPEG)
– table d'indirection ● Prédictives
» CLUT (Color Lookup Table) - index sur 8 bits – utilisent la valeur précédente et la différence pour
à 256 pixels de 24 bits construire la valeur suivante
» comment choisir 256 « meilleures couleurs » ? – la différence peut être codée sur un nombre de
bits plus petit
– code à répétitions (run-length)
» codage ADPCM
» 00000000 00000000 codé 16*0
» problème - propagation d'erreur
145 146

Techniques de compression Transformée discrète en cosinus


● Transformée amplitude
– appliquée à un groupe de pixels (p.ex. 8 × 8)
– idée : passer dans un autre domaine (p. ex.
fréquence) et tronquer les valeurs des pixels
– erreur moins visible
● Transformée discrète en cosinus (DCT - Discrete
Cosine Transform)
– effectuée sur un groupe de 64 pixels (8 × 8) fréquence spatiale

– 64 coefficients - fréquence spatiale deux - ● Beaucoup de coefficients de fréquences élevées sont


dimensionnelle (DC + 63 AC) petits
– énergie du signal déplacée vers les fréquences basses
147 148

4
Multimédia

Techniques de compression GIF (Graphical Interchange Format)


● Codage statistique (Huffman ou entropie) the brown fox jumped over the brown foxy jumping frog
– valeurs ne sont pas équiprobables
– idée : représenter des valeurs fréquentes avec un 26 13 5
nombre de bits réduit 27
the brown fox jumped over 26-13y27-5ing frog
» 01010101010101 représenté comme 0
» 1111111 représenté comme 10 ● Réduction de 24 bits à CLUT 8 bits
» 0000000 représenté comme 11 – choix de 256 couleurs
– sans perte d'information ● Algorithme de Lempel-Ziv
– dictionnaire - comment interpréter des mots de – motifs fréquents remplacés par un code
taille variable – dictionnaire créé au vol
– gzip, compress, pkzip, modems
149 150

PNG (Portable Network Graphics)


JPEG
● W3C
● JPEG (Joint Photographic Experts Group)
● Algorithme de compression non protégé par un brévet
● Plusieurs techniques
● Améliorations
– transformée discrète en cosinus
– même image sur des plate-formes différentes
– code à répétitions
» correction du contraste (gamma)
– codage différentiel
» ajustement de la palette de couleurs
– codage statistique
– affichage progressif
» un aperçu avec 1/64 du fichier
– bonne compression
» 30% meilleure que GIF ou TIFF
151 152

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...

code à répétition codage statistique

153 154

5
Multimédia

Ordre en zig-zag JPEG


fréquence spatiale
horizontale
● Séquence de 63 coefficients transformée en suite de
verticale 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 symboles intermédiaires
0 0
1 1
– nombre de répétitions (4 bits)
2 2 – taille (4 bits)
3 3
4
– amplitude (10 bits)
4
5 5 – exemple : coefficients 0 0 0 0 0 0 476
6 6
– (6, 9) (476 codée sur 9 bits)
7 7
● Symboles codés statistiquement - dictionnaire
matrice de coefficients DCT ordre en zig-zg

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

JPEG vs. GIF Compression de la vidéo


● Problème de la vitesse
– 25 images/s : une image prête pour affichage
toutes les 40 ms
– exemple : débit du CD-ROM : 176 Koctets/s, à 25
images/s, cela donne 7 Koctets par image
GIF JPEG (20) JPEG (5)
– pour 256 × 240 pixels, seulement 0.91 bpp
3086 Ko 1928 Ko 1333 Ko
● Exploiter la redondance temporelle
100% 62% 43%
– estimation de mouvement

159 160

6
Multimédia

Estimation du mouvement Estimation du mouvement


● Si pas de mouvement dans la scène, les images
consécutives sont les mêmes
● Si une partie de l'image est déplacée, on ne transmet
que les vecteurs du mouvement
● Trouver les vecteurs du mouvement
– considérer des blocs des pixels
– comparer avec des blocs voisins
– choisir un bloc le plus similaire
– encoder les vecteurs de mouvement et la
différence entre les pixels
161 162

Vecteurs du mouvement Compression de la vidéo - MPEG


● MPEG (Motion Picture Expert Group)
● MPEG-1
28 – vidéo de qualité acceptable avec le débit de 1.5
16 Mbit/s
● Accès aléatoire avec la précision de 1 seconde
● Deux techniques
16
– compression intra-image
● Macrobloc 16 ×16 pixels » similaire à JPEG
– recherche des blocs similaires autour – compression inter-image
– vecteur : (xp, yp) » estimation du mouvement
– pixel x, y : Fc(x, y) = Fp(x + xp, y + yp) + δ(x, y) 163 164

Types d'images codées Types d'images codées


● Image B (bidirectionnelle)
● Image I (intra) – codée de manière interpolative par rapport à deux
– compression intra-image images voisines I ou P
– image de référence pour l'accès aléatoire – vecteurs du mouvement
● Image P (prédictive) » par rapport d'un bloc de l'image précédente
– codée de manière prédictive par rapport à l'image I » par rapport d'un bloc de l'image suivante
– vecteurs du mouvement » par rapport à deux blocs
– sert d'image de référence pour des images B ● interpolation

Fc(x, y) = (Fp(x + xp, y + yp) + Fs(x + xs, y + ys))/2 + δ(x, y)

165 166

7
Multimédia

Types d'images codées Image I


DCT
1 2 3 4 5 6 7 8 9

Zig-zag quantification
I B B B P B B B I

011010001011101...

● Ordre de transmission code à répétition codage statistique

– 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

Compression de son - MPEG


● Fréquence d'échantillonage : 32, 44.1, 48 kHz
● Débits : 32, 48, 56, 64, 112, 128, 192, 256, 384 Kb/s
● MPEG Couche 1
– filtrage en 32 sous-bandes
– compression des fréquences masquées
● MPEG Couche 3 (MP3)
– filtrage en 32 sous-bandes
– transformée MDCT (transformée en cosinus
modifiée)
– compression des fréquences masquées
– codage statistique 171

8
Transport

Couche transport
Partie 6
Couche transport A B
X Y

Réseau

Fonctions de la couche transport


Stratégies de retransmission ● Deux entités connectés directement par la couche
TCP réseau
● Transfert de données entre deux processus selon
UDP, RTP une qualité de service demandée
Sockets
172 173

Couche de transport Couche de transport


● Adressage
● Fonctions
– station, port
– pallier les imperfections des couches plus
● Multiplexage
basses
– plusieurs connexions transport utilisant la
» pertes, erreurs, paquets en désordre
même adresse réseau
– ajuster les vitesses d'envoi et de réception
● Service
» contrôle de flux
– sans connexion (UDP, RTP)
– traiter des cas de congestion dans le réseau
– avec connexion (TCP)
– optimiser les performances du transfert
– qualité de service
» fiabilité, délai, gigue, débit
174 175

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

– "well-known port numbers"


pour des applications
176
spécifiques 177

1
Transport

Exemple Autres fonctions


● Trois processus applicatifs FOLHQW ::: ● Connexion
sur deux clients A et C K{WH &
– problème d'une entente répartie en présence de
– comment le serveur pertes, duplication ou rétention temporaire de
WWW sur B distingue-t-il 6RXUFH ,3 & 6RXUFH ,3 &
paquets
les différents segments ? 'HVW ,3 %

VRXUFH SRUW \
'HVW ,3 %

VRXUFH SRUW [ ● Transfert


GHVW SRUW  GHVW SRUW 

– fiabilité
» retransmissions
6RXUFH ,3 $

'HVW ,3 % ::: – contrôle de flux


FOLHQW ::: VRXUFH SRUW [ VHUYHXU %
K{WH $ GHVW SRUW 
» adapter la vitesse d'émission à la vitesse de
SRUW XWLOLVp    +773
réception
178 179

Stratégies de retransmission Arrêt et attente simple


● Transmission fiable malgré des pertes ● Transmission fiable paquet n

– retransmettre en cas de perte - ARQ (Automatic en présence d'erreurs OK


ACK
Repeat Protocol) ● Contrôle de flux
– protocole : règles de coopération pour organiser – l'émetteur peut paquet n+1
la transmission envoyer le paquet
erreur
● Stratégies suivant dès qu'il NACK

– Arrêt et attente (Send and Wait) reçoit ACK


paquet n+1
– Retransmission continue (Go-back-N) ● Pas de pertes
– Retransmission sélective (Selective Retransmit)
temps
180 181

Cas de pertes Problème de duplication


paquet n
● Temporisation
– si pas de réponse,
× ● Retransmission
– on confond le
paquet n
T
retransmettre paquet suivant OK :

×
T ACK
– l'intervalle paquet n avec le paquet n reçu

supérieur au temps retransmis paquet n


OK
aller-retour ACK ● Solution pris pour

paquet n+1
– numérotation de n+1
paquets

temps temps
182 183

2
Transport

Numérotation Arrêt et attente


paquet n, 0
● Numéros des paquets et ● Protocole du Bit Alterné (Alternating Bit Protocol)
des ACKs OK :
● Tampons ?
×
ACK0 n reçu
– compteur sur k bits - – émetteur : 1 paquet
mod 2k paquet n, 0
– récepteur : 1 paquet
– si un paquet en ignoré :
ACK0 ● Performances ?
désordre, on l'ignore on attend 1
– on attend environ la moitié de temps
– 1 bit suffit paquet n+1, 1

OK :
ACK1 n+1 reçu

temps
184 185

Protocoles à fenêtre Taille de fenêtre


paquet n paquet n
● Améliorer les performances
paquet n+1 ACK paquet n+1
– l'émetteur peut envoyer plusieurs paquets sans
attendre l'ACK
– fenêtre : les paquets à envoyer
ACK
– taille de fenêtre ?
» dépend du temps aller-retour
» idéal : pouvoir envoyer des paquets en
attendant l'ACK

temps temps
186 187

Fenêtre d'émission Fenêtre glissante


0 paquet n
n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9 ● Envoi de paquets
paquet n+1 0 1 2 3 4 5 6 7 0 1
1 – coté gauche avance de 1
paquet n+2 ● Réception de ACK
2
n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9 – coté droite avance du nombre de paquets
3 paquet n+3 0 1 2 3 4 5 6 7 0 1 confirmés
4 paquet n+4 ACK 3 ● ACK cumulé
n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9 – ACK 3 confirme la bonne réception de paquets
5 paquet n+5
0 1 2 3 4 5 6 7 0 1 0, 1, 2, 3

temps
188 189

3
Transport

Retransmission continue Retransmission sélective


0 paquet n 0 paquet n
● Retransmission de ● Retransmission du
paquet n+1 paquet n+1
tous les paquets à 1 paquet erroné 1
partir du paquet paquet n+2 paquet n+2
2 2
erroné
3 paquet n+3 NACK 2 3 paquet n+3 NACK 2

2 paquet n+2 ignoré 2 paquet n+2 accepté

3 paquet n+3 4 paquet n+4

4 paquet n+4 5 paquet n+5

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

réception en ordre réception en ordre

192 193

Tampons Performances : Arrêt et attente

● Retransmission sélective ● Question : Quel est le débit utile en supposant


l'absence d'erreurs ?
Émission notation :
n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9 – taille de paquet = L, constant (en bits) ;
0 1 2 3 0 1 2 3 0 1
– taille de ACK = l, constant
Réception – débit = b;
n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9 – propagation = D
0 1 2 3 0 1 2 3 0 1 – temps de traitement = 0
réception en désordre

194 195

4
Transport

paquet P1 envoyé Solution (1) Solution (2)


paquet P1 confirmé
T=L/b
distance 20 km 20000 km 2 km 20 m
2D
temps débit 10kb/s 1 Mb/s 10 Mb/s 1 Gb/s
T’=l/b
A propagation 0.1ms 100 ms 0.01 ms 0.1µs
transmission 800 ms 8 ms 0.8 ms 8 µs
temps global 800.1 ms 108 ms 0.81 ms 8.1 µs
modem satellite LAN Hippi
β=2Db 2 bits 200 000 bits 200 bits 200 bits
B débit = b × 99.98% 3.8% 97.56% 97.56%
cycle = T + 2D + T’
bits utiles per cycle = L
débit = Lb / (L + l + 2Db)= b /(ω + β/L)
où ω=(L+l)/L - surcoût et β=2Db - produit débit-
propagation
196 197

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

TCP (Transmission Control TCP (Transmission Control


Protocol) Protocol)
● Fonction ● Fiabilité
– transfert d'une séquence d'octets – fenêtre d'anticipation
» pas de marquage de messages – détection d'erreurs par le récepteur
● Unité de protocole – retransmission continue (Go-back-N), et
– segment retransmission sélective (réception en désordre)
● Phases » heuristiques "retransmission rapide"
– connexion ● Contrôle de flux
– transfert – fenêtre modulée par récepteur (crédit)
– fermeture ● Contrôle de congestion
200 – adaptation à l'état d'occupation du réseau 201

5
Transport

Schéma général En-tête TCP


port source port destination
Hôte 1 Hôte 2
no. de séquence
Appli b Appli b no. d'ACK
Appli a Port (SAP) Appli a
long. ent. réservé fenêtre
TCP Connexion logique TCP TCP checksum pointeur urgent
IP IP options
Liaison Liaison
Physique Connexion logique Physique
(e.g. CV)
● No. de séquence
IP – no. du premier octet de données
Réseau 1 Réseau 2
Liaison Liaison ● No. d'ACK
Routeur – no. de l'octet attendu
202 203

En-tête TCP En-tête TCP


port source port destination port source port destination
no. de séquence no. de séquence
no. d'ACK no. d'ACK
long. ent. réservé fenêtre long. ent. réservé fenêtre
checksum pointeur urgent checksum pointeur urgent
options options

● Bits - flags ● Bits - flags


– SYN - segment de connexion – URG - pointeur urgent actif
– ACK - no. d'ACK actif – RST - reset
– FIN - fermeture de connexion – PSH - push : force la création d'un segment et et
son restitution à l'application
204 205

En-tête TCP En-tête TCP


port source port destination port source port destination
no. de séquence no. de séquence
no. d'ACK no. d'ACK
long. ent. réservé fenêtre long. ent. réservé fenêtre
checksum pointeur urgent checksum pointeur urgent
options options

● 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

ACK ack = y+1 RST

● Trois échanges (three-way handshake)


● Cas d'un segment retardé
– entente sur les numéros de séquences différents
d'une connexion précédente
– x, y : choisis en fonction de l'horloge
208 209

Fermeture Segments et octets


FIN
● Connexion TCP
ACK
FIN – une séquence ordonnée d'octets
● Segments
ACK
– les octets de données sont accumulés jusqu'au
moment où TCP décide d'envoyer un segment
– découpage en segment indépendant du
découpage au niveau application
– MSS - la longueur maximale de segment
● Deux échanges (two-way handshake)
210 211

Transfert de données Transfert

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

Exemple de transfert TCP Contrôle des erreurs


● Les segments portent le n° du 1er octet transporté
● À l’envoi, une temporisation est armée
● Le récepteur acquitte les segments reçus
– soit immédiatement
– soit après un retard
» il a un autre segment à envoyer (piggybacking)
» reçoit un autre segment (ACK cumulatifs)
– ACKs peuvent être envoyés, même si on reçois un
segment en désordre
● Sur épuisement de la tempo, la retransmission à partir
du 1er segment non acquitté
214 215

Exemple de transfert - Reno Exemple de transfert


8001:8501(500) A 101 W 6000
101:201(100) A 8501 W 14000

8501:9001(500) A 201 W14247

9001:9501(500) A 201 W 14247


× ● Retransmission de 8501
(0) A 8501 W 13000
– récepteur stocke les segments en désordre
9501:10001(500) A 201 W 14247
201:251(50) A 8501 W 12000
(9001 et 9501)
– dès la réception de 8501, on peut passer
8501:9001(500) A 251 W14247 8501:10001 à l'application
reset timers
251:401(150) A 10001 W 12000 – après la réception de 10001, la transmission
continue
● Optimisé pour un seule perte
10001:10501(500) A 401 W 14247 – les temporisations de tous les autres segments
sont arrêtées
216 217

Traitement d'erreurs Retransmission rapide


P1 P2 P3 P4 P5 P6 P3 P7
● Temporisation associée à chaque segment non
acquitté - RTO (Retransmission TimeOut)
● Estimer le temps aller-retour RTT - (Round Trip
Time) ×
● Réglage des temporisations A1 A2 A2 A2 A2 A?
– réglage de la fenêtre optimale ● Fast retransmit
● Mesure du temps de retour d’un ACK – intervalle de retransmission peut être grand
● Moyenne pondérée – ajouter un comportement du type
données
Retransmission Sélective
– si on reçoit 3 ACK dupliqués pour le même
RTT
ACK segment avant la temporisation, on retransmet
218 219

8
Transport

UDP (User Datagram Protocol) En-tête UDP


31 0
● Simple interface à IP port source port destination
– ajoute le multiplexage longueur checksum

» plusieurs applications différentiées par les


numéros de port ● Ports source et destination
– une entête de 8 octets : – identificateurs d'application
» port source et destination,
● Longueur
» longueur (limité à 8 Koctets) – < 8Koctets
» checksum sur le paquet
● Checksum
● Pas de garantie d'acheminement – contrôle d'erreurs
220 221

Protocoles de transport RTP


multimédia ● Protocole pour le transport de données temporelles
(en particulier, audio et vidéo)
● Acheminement de données
– indépendant du protocole réseau ou transport
– RTP (Real-Time Transport Protocol) (UDP/IP, ATM, ...)
● Contrôle/rétroaction – protocole non fiable
– RTCP (Real-Time Control Protocol) – extensible/adaptable selon les besoins des
● Établissement et contrôle de session RTP/RTCP applications
– RTSP (Real-Time Streaming Protocol) – sans garantie de qualité de service
» confiée au réseau sous-jacent
» peut bénéficier de la QoS et peut s'adapter
222 223

RTP RTP
source récepteur A
● Deux protocoles CSRC

– protocole de transport de données (RTP)


– protocole de contrôle (RTCP)
Mixer Routeur récepteur B
» permet de surveiller la qualité de service RTP
source RTCP
obtenue et de transporter des informations SSRC
sur les participants à une session RTCP
contrôle de session - RTSP
– pas de multiplexage d'une session RTP entre
plusieurs flots (ex. audio et vidéo encodés ● Session RTP
séparément) – port RTP, port RTCP
– adresses IP unicast ou adresse multicast
224 225

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

Mode non-connecté client


Mode connecté serveur

client serveur socket();


socket();

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

Mode non-connecté Mode connecté

programme programme
id=3 id=4 id=3 id=4 id=5

tampon tampon file de tampon tampon


UDP connexion TCP

port=32456 port=32654 port=32456

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

Vous aimerez peut-être aussi