Glossaire
AARF Adaptive Auto Rate Fallback
ACK ACKnowledgment
AP Access Point
ARF Auto Rate Fallback
BER Bit Error Rate
BPSK Binary Phase Shift Keying
BS Base Station
BSS Basic Service Set
CA Collision avoidance
CBR Constant Bit Rate
CCK Complementary Code Keying
CD Collision Detection
CDMA Code Division Multiple Access
CFP Contention Free Period
CNAME Canonical NAME
CRC Cyclic Redundancy Check
CS Carrier Sense
CSMA Carrier Sense Multiple Access
CSR Chunk Success Rate
CTS Clear To Send
CW Contention Window
DBPSK Differential Binary Phase Shift Keying
DCF Distributed Coordination Function
DQPSK Differential Quadrature Phase Shift
Keying
DS Direct Sequence
DSSS Direct Sequence Spread Spectrum
ESS Extended Service System
FEC Forward Error Correction
FHSS Frequency Hopping Spread Spectrum
IBSS Independent BSS
ID Identification
IEEE Institute of Electrical and Electronics
Engineers
IETF Internet Engineering Task Force
IGMP Internet Group Multicast Protocol
INRIA Institut National de Recherche en
Informatique et Automatique
IP Internet Protocol
IR Infra-Red
ISO International Organization for
Standardization
LAN Local Area Network
LBMS Leader Based Mechanism Services
LEP Leader Election Protocol
LLC Logical Link Control
LOS Line Of Sight
MAC Medium Access Control
MF Mobility Framework
MH Mobile Host
MONET MObile ad hoc NETwork
NAV Network Allocation Vector
OFDM Orthogonal Frequency Division
Multiplexing
OSI Open System Interconnection
PCF Point Coordination Function
PDA Personal Digital Assistant
PDU Packet Data Unit
PER Packet Error Rate
PHY PHYsical layer
PLCP Physical Layer Convergence Procedure
PMD Physical Medium Dependent
PSR Packet Success Rate
QAM Quadrature Amplitude Modulation
QoS Quality of Service
QPSK Quadrature Phase Shift Keying
RBAR Receiver Based Auto Rate
RR Receiver Report
RTP Real-time Transport Protocol
RTCP Real-time Transport Control Protocol
RTS Request To Send
SIFS Short IFS
SNR Signal to Noise Ratio
SNIR Signal to Noise and Interference Ratio
SR Sender Report
SYNC Synchronization
TCP Transport Control Protocol
UDP User Datagram Protocol
WLAN Wireless Local Area Network
Annexe A : Les formats des paquets
RTP et RTCP
RTP (Realtime Transport Protocol) et son compagnon RTCP
(Realtime Transport Control Protocol) permettent respectivement de transporter
et de contrôler des flots de données qui ont des
propriétés temps-réel.
RTP et RTCP sont des protocoles qui se situent au niveau de
l'application et utilisent les protocoles sous-jacents de transport TCP ou UDP.
Mais l'utilisation de RTP/RTCP se fait généralement au-dessus de
UDP.
RTP et RTCP peuvent utiliser aussi bien le mode point à
point que le mode multipoint.
Chacun d'eux utilise un port séparé d'une paire de
ports. RTP utilise le port pair et RTCP le port impair immédiatement
supérieur.
+ |
|
|
+
|port pair
|
+
port pair!
|
+ |
|
|
|
RTP
|
|
|
|
|
RTP |
|
|
|
appli A
|
|
|
|
|
appli B |
|
+
|
|
+
|
+
|
+
|
+
|
|
+
|
+
|
+
|
|
|
|
|port pair+1
|
port pair+1!
|
|
|
|
|
RTCP
|
|
|
|
|
RTCP |
|
|
|
appli A
|
|
|
|
|
appli B |
|
+
|
|
+
|
+
|
+
|
|
1. RTP 1.1. Rôle
Le but du protocole RTP est de transporter des données
qui ont des propriétés temps-réel. Format du paquet
L'entête d'un paquet RTP est obligatoirement
constituée de 12 octets, éventuellement suivie d'une liste
d'identificateurs de sources contributeurs CSRCs dans le cas d'un mixer. Cette
entête précède le "payload" qui représente les
données utiles.
Les types de payload sont standardisés.
+ +
| RTP header (12 octets) | Payload ...
+ +
1.2. Format de l'entête RTP
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|X|
CC |M| PT | sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
synchronization source (SSRC) identifier |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ |
contributing source (CSRC) identifiers |
| ....
| +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
· version V : 2 bits, V=2
· padding P : 1 bit, si P=1 le paquet contient des octets
additionnels de bourrage (padding) pour finir le dernier paquet.
· extension X : 1 bit, si X=1 l'entête est suivie
d'un paquet d'extension
· CSRC count CC : 4 bits, contient le nombre de CSRC qui
suivent l'entête
· marker M : 1 bit, son interprétation est
définie par un profil d'application (profile)
· payload type PT : 7 bits, ce champ identifie le type du
payload (audio, vidéo, image, texte, html, etc.)
· sequence number : 16 bits, sa valeur initiale est
aléatoire et il s'incrémente de 1 à chaque paquet
envoyé, il peut servir à détecter des paquets perdus
· timestamp : 32 bits, reflète l'instant
d'échantillonnage du premier octet du paquet
· SSRC: 32 bits, identifie de manière unique la
source et sa valeur est choisie de manière aléatoire par
l'application
· CSRC : 32 bits, identifie les sources contribuant.
2. RTCP 2.1. Rôle
Le protocole RTCP est basé sur des transmissions
périodiques de paquets de contrôle par tous les participants dans
la session.
2.2. Format des paquets
Il existe 5 types de paquets RTCP pour transporter des
informations de contrôle :
· SR : Sender Report, transmission de statistiques des
participants actifs en émission
· RR : Receiver Report, transmission de statistiques des
participants passifs
· SDES : Source Description items (CNAME, NAME, EMAIL,
PHONE,...)
· BYE : Fin de participation
· APP : Fonctions spécifiques à
l'application
Chaque paquet RTCP commence par une partie fixe, suivie par
des éléments structurés qui peuvent être de longueur
variable selon le type de paquet, mais toujours terminé sur une
frontière de 32 bits.
SR (Sender Report)
La partie fixe minimum d'un paquet SR est de 4 octets. Un
paquet SR peut contenir des informations de la partie émetteur (sender
info) sur 6 mots de 32 bits (48 octets) et ou des informations de la partie
récepteur (report block) sur 6 mots de 32 bits (48 octets).
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P| SC | PT=SR=200 | length | header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of sender | sender
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
info | NTP timestamp, most significant word |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NTP timestamp, least significant word |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RTP timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sender's packet count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sender's octet count |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| SSRC_1 (SSRC of first source) | report
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
block | fraction lost | cumulative number of pacquets lost | 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| extented highest sequence number received |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| interarrival jitter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| last SR (LSR) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| delay since last SR (DLSR) |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
RR (Receiver Report)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P| SC | PT=RR=201 | length | header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of packet sender |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| SSRC_1 (SSRC of first source) | report
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
block | fraction lost | cumulative number of pacquets lost | 1
| extented highest sequence number received |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| interarrival jitter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | last SR
(LSR) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
delay since last SR (DLSR) |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
SDES (Source Description)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P| SC | PT=SDES=202 | length | header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC/CSRC 1 | chunk 1
_
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SDES items |
| ... |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| ... | chunk 2
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Format des SDES items
Le premier octet définit le type de l'item. Le second
octet donne la longueur en octets de la chaîne de caractères de
taille variable qui suit, mais arrondie sur une frontière de mot.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CNAME=1 | length | user and domain name ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NAME=2 | length | common name of source ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| EMAIL=3 | length | email address of source ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PHONE=4 | length | phone number of source ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LOC=5 | length | geographic location of site ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TOOL=6 | length | name/version of source appl ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NOTE=7 | length | note about the source ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
BYE
Ce paquet permet d'indiquer aux autres participants que le membre
quitte la session.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P| SC | PT=BYE=203 | length | header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC/CSRC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| length | reason for leaving ... (optional)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
APP
Ce paquet permet d'ajouter des fonctions spécifiques
à une application.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P| SC | PT=APP=204 | length | header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC/CSRC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| name (ASCII) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| application-dependent data |
|