Novembre 2016
Département d'informatique
THESE
Pour l'obtention du
Doctorat Spécialité :
Informatique Option : Modèles de
données avancées et réseaux
émergents Intitulée
Amélioration de la performance de TCP
dans
les réseaux mobiles ad hoc
Présentée par
DOUGA Yassine
Composition du Jury :
KHELFI Med Fayçal Pr., Université d'Oran1
Président
GUEZOURI Mustapha Pr., Université d'Oran1 Examinateur
FERAOUN Md Kamel Pr., Université de Sidi Bel Abbes
Examinateur
BOURENANE Malika MCA, Université d'Oran1 Directeur de
thèse
HADJADJ-AOUL Yassine MCA, Université de Rennes 1 Co
Directeur de thèse
HAFFAF Abdelhafid Pr., Université d'Oran1 Invité
ii
Dédicace
Je dédie ce travail à tous les membres de
ma très chère famille, mes amis et mes collègues, en
particulier :
Mon cher père et ma chère
mère.
Ma très chère femme ainsi que toute sa
famille.
Ma soeur Ahlem.
Mes grands-parents (DADI, MANI et baba
chikh).
Mes cousins (Afaf, Chaouki,
Mohamed).
A tous les membres de la famille El Kerbadji et
surtout Redha.
A tous mes amis (Rachid, Zaki, Hafid, Walid, Ali,
Adel ...)
Et à ma tante Hafidha et ma grand-mère
que je viens de perdre.
DOUGA Yassine.
Remerciements
Je voudrais tout d'abord remercier grandement mon
directeur de thèse, Dr BOURENANE Malika, maitre de
conférences au département d'informatique de l'université
d'Oran1 Ahmed Ben Bella, de m'avoir permis d'effectuer cette thèse dans
de bonnes conditions et de m'avoir témoigné tant de
bienveillance. Je lui adresse mes plus vifs remerciements pour son aide
scientifique, sa contribution, son implication aussi bien dans mes travaux
publiés que dans la rédaction de mon mémoire et pour ses
remarques constructives tout au long de ces années de thèse. Ce
travail n'aurait pas abouti dans les délais sans son soutien, son suivi
pédagogique, son assiduité et sa généreuse
contribution.
Je voudrais remercier aussi mon co-directeur de
thèse, Dr HADJADJ-AOUL Yassine de l'université
de Rennes 1 pour son aide efficace et technique, ses conseils scientifiques et
sa qualité humaine. Toute ma profonde gratitude et ma reconnaissance
vont à mon directeur et à mon co-directeur de
thèse.
Je remercie également Mr MELLOUK
Abdelhamid, Professeur et Mr SOUIHI Sami de
l'université de Paris-est, pour leurs remarques constructives.
Mes remerciements vont à Mr HAFFAF
Hafid, directeur de notre laboratoire LRIIR (université Oran1)
et invité dans mon jury de soutenance, Mr KECHAR Bouabdellah
responsable de l'équipe « Réseaux et
multimédia » au sein du laboratoire LRIIR, Mr KHELFI
Mohamed Fayçal, président de mon jury de soutenance et
Mr BOUAMRANE Karim, chef de département d'informatique
de l'université d'Oran1 pour leurs aides académiques et les
facilités qu'ils ont mis à ma disposition afin que je puisse
arriver à ce stade.
Je remercie également Monsieur GUEZOURI
Mustapha, Professeur à l'université Oran 1 Ahmed Ben
Bella et Monsieur FERAOUN Mohamed Kamel, Professeur à
l'université de Sidi Bel Abbes qui m'ont fait l'honneur de faire parti
de mon jury de soutenance et pour le temps qu'ils ont bien voulu consacrer
à l'évaluation de ce travail.
A tous, mon infinie gratitude....
iv
RÉSUMÉ
De nos jours, le nombre d'utilisateurs mobiles utilisant le
protocole de transport (TCP) sur des réseaux sans fil pour
accéder à des services sur Internet tels que les services de
streaming vidéo via HTTP est en croissance très rapide. A
l'origine le protocole TCP a été conçu pour les
réseaux filaires. Cependant, il souffre de quelques défauts sur
les réseaux sans fil, tels que la dégradation de débit en
raison de pertes aléatoires et de la connectivité intermittente.
Dans cette thèse, un ensemble de techniques sont proposées pour
améliorer les performances du protocole TCP sur les communications sans
fil de bout en bout. L'approche proposée est une solution inter-couches
qui intègre des informations à partir de la couche physique (la
puissance de la force du signal et la valeur de bruit) avec le mécanisme
de contrôle de perte de paquets TCP. La réalisation d'une telle
approche laisse poser des sous problématiques très importantes,
par exemple : sur une connexion multi-sauts, quelle puissance de force du
signal et de bruit nous devons choisir ? Quel seuil faut-il considérer
et comment peut-on estimer la meilleure valeur du RTT ? Les résultats
des simulations effectuées ont prouvé que l'approche
proposée donne de meilleures performances que les autres approches en
matière de débit accompli dans un environnement sans fil.
Dans la suite de notre travail, nous avons choisi d'appliquer
notre première contribution sur les services de vidéo streaming
adaptatif HTTP (HAS) afin d'améliorer la qualité
d'expérience QoE des utilisateurs. Le streaming adaptatif HTTP (HAS) est
une technique de streaming vidéo largement utilisé sur Internet
que ça soit pour la vidéo à la demande (VoD) ou pour les
services de streaming en direct. Elle utilise le protocole TCP en tant que
protocole de transport. Dans ce genre de service, le protocole TCP divise la
vidéo d'origine à l'intérieur du serveur en plusieurs
segments de même durée. Ces segments sont transcodés en
plusieurs niveaux de qualité. Dans cette thèse, nous avons
proposé une approche de vidéo streaming adaptatif qui ajoute le
feedback des utilisateurs ainsi que les paramètres du terminal
(résolution, écran, batterie) au processus d'adaptation de la
qualité vidéo à travers les paramètres du protocole
TCP. Afin d'estimer la satisfaction des utilisateurs, nous avons utilisé
le MOS (Mean Opinion Score) de l'utilisateur. L'approche a été
testée dans des scénarios d'émulations et les
résultats ont montré que l'approche proposée peut
améliorer l'expérience des utilisateurs (satisfaction) sur ce
type de service par rapport aux services de vidéo streaming adaptatif
qui existent.
Mots clés : TCP, Congestion, Force de
signal, Bruit, MANET, Transport, RTT, QoE, QoS, Vidéo streaming,
Terminal d'utilisateur, Multimédia, Apprentissage par renforcement.
v
ABSTRACT
We are currently witnessing a rapidly increasing number of
mobile users utilising the Transmission Control Protocol (TCP) over wireless
networks for accessing Internet services such as video streaming services over
HTTP. TCP has been designed for wireline networks and its shortcomings; such as
throughput degradation due to random losses and intermittent connectivity, have
been the subject of a large volume of research investigations over the last few
years. In this thesis, a set of techniques are proposed to enhance the
performance of the end-to-end wireless communications using TCP as a transport
layer protocol. The proposed set of technique is a Cross-Layer solution that
integrates some information from the link layer as the value of signal strength
and noise with the TCP packet loss control mechanism of TCP connections. In the
design of such a smart transport layer such as on a multi-hop connexion,
important issues are raised such as deciding which value of signal strength and
noise to choose, which threshold we need to set and how to estimate the best
RTT value. Through an extensive series of simulations on the performance of the
proposed techniques while focusing on the variables that affect the experience
of the end-user, the end-to-end throughput that a TCP flow can accomplish was
considered.
As a next step in working on TCP performances over wireless
network, we have chosen to apply our first contribution with the HTTP adaptive
streaming (HAS) to increase the users experience QoE. The HTTP adaptive
streaming (HAS) is a streaming video technique widely used over the Internet
for Video on Demand (VoD) and Live streaming services. It employs Transmission
Control Protocol (TCP) as transport protocol and it splits the original video
inside the server into segments of same duration, called "chunks", that are
transcoded into multiple quality levels. In this thesis, we proposed to
integrate the user feedback and his terminal parameters (i.e. resolution,
screen, battery) on the adaptation process by using the TCP parameters tuning.
To estimate the user satisfaction we used the mean opinion score (MOS) of the
users which is a score out of five points that the user gives to express his
satisfaction towards the proposed set of techniques. Compared to other adaptive
video streaming solutions, the emulation results show the extent to which our
proposed solution can increase the user experience (satisfaction) on this kind
of service.
Keywords: TCP, Congestion, Signal strength,
Noise, MANET, RTT, QoE, QoS, Video streaming, Terminal device, Multimedia,
Reinforcement learning.
vi
TABLE DES MATIERES
DEDICACES ii
REMERCIEMENTS ...iii
RESUME iv
ABSTRACT . .v
TABLE DES MATIERES vi
LISTE DES FIGURES vii
LISTE DES TABLES .viii
LISTE DES ACRONYMES ...ix
PUBLICATIONS ET CONFERENCES ...X
INTRODUCTION GENERALE 1
1. CONTEXTE ET PROBLEMATIQUE DE LA THESE
1
2. CONTRIBUTION ET STRUCTURE DE LA THESE
..3
CHAPITRE I : CONCEPTS DE BASE
1. GENERALITES SUR LES RESEAUX SANS FIL
|
...6
|
1.1. Introduction
|
6
|
1.2. Définition
|
.6
|
1.3. Les différentes technologies des réseaux
sans fil
|
7
|
1.4. Différents normes de réseaux sans fil
|
8
|
1.5. Spécificités des réseaux sans fil
|
.10
|
1.5.1. Spécificité physique
|
..10
|
1.5.2. Erreur du canal
|
10
|
1.5.3. Contention du Médium et collision
|
..11
|
vi
1.5.4. Mobilité 12
1.5.5. Spécificité du routage 13
1.5.6. Congestion 13
1.5.7. Considérations énergétiques 14
1.6. Les réseaux sans fils ad hoc mobiles 14
1.7. Caractéristiques des réseaux ad hoc 15
2. PROTOCOLE DE TRANSPORT 17
2.1. Introduction ..17
2.2. Le protocole TCP 18
2.2.1. Caractéristiques et fonctionnement
général .18
3.FONCTIONS DE CONTROLE DE CONGESTION
3.1. La phase slow-start (démarrage lent) 22
3.2. Congestion avoidance (évitement de congestion)
23
3.3. L'algorithme Additive Increase and Multiplicative
Decrease (AIMD) 23
3.4. La reprise sur erreur . 23
3.4.1. Fast retransmit (retransmission rapide) 24
3.4.2. Fast-recovey (recouvrement rapide) . 24
3.4.3. Selective Acknowledgment (SACK) 24
4.VARIANTES DE TCP 25
4.1. TCP Tahoe 25
4.2. TCP Reno 25
4.3. TCP New Reno 26
4.4. TCP Vegas 26
4.5. TCP Westwood+ 26
4.6. TCP SACK 27
5.TCP ET LES RESEAUX SANS FIL 27
5.1. Problèmes de TCP dans les réseaux ad hoc
mobiles ...28
6.LE PROTOCOLE HTTP 30
7.LES SERVICES DE VIDEO STREAMING ..
32
7.1. Introduction 32
vi
7.2. Le streaming vidéo 32
7.3. Le système de streaming multimédia 33
8.LES DIFFERENTES TECHNOLOGIES DE STREAMING
34
8.1. Le streaming en direct et le streaming stocké
34
8.1.1. Streaming adaptatif 35
8.1.2. Le streaming non adaptatif 35
9. Conclusion ..36
CHAPITRE II : ETAT DE L'ART
1.INTRODUCTION . 37
2. LA QUALITE DE SERVICE 37
2.1. Définition 38
3. LA QUALITE D'EXPERIENCE 39
3.1. Définition 39
3.2. Les approches de la QoE 40
3.2.1. Les approches objectives 40
3.2.2.Modèles de planification réseau 41
3.2.2. Approche subjective 41
4.L'APPROCHE CROSS-LAYER .
42
4.1. La conception cross-layer 43
4.2. Approches du cross-layer dans les réseaux sans fil
43
4.3. Les types d'architecture cross-layer 44
4.3.1. Architecture cross-layer à base de
communication directe 44
4.3.2. Architecture Cross-layer à base de communication
indirecte ... 44
4.3.3. Architecture Cross-layer à base de nouvelles
abstractions 44
4.4. Avantages et inconvénients du Cross-layer
[108,109] . 45
5.APPRENTISSAGE DANS LE STREAMING ADAPTATIF
45
5.1. Introduction 45
5.2. Apprentissage par renforcement 46
5.3. Processus de Décision de Markov 46
5.4. Résolution d'un PDM dans l'incertain 47
5.4.1. La stratégie ?-greedy .48
5.4.2. La stratégie de Boltzmann 49
6. PERFORMANCES DU PROTOCOLE TCP DANS LES RESEAUX
SANS FIL AD
HOC 49
6.1. Introduction 49
6.2. Différentes causes de perte de paquets dans les
réseaux sans fil . 50
6.2.1. Problème lié à la puissance du
signal . 50
6.2.2. Problème lié aux interférences
... 50
6.2.3. Autres causes de perte de paquets 51
6.3. TCP et le problème de perte de paquets dans les
réseaux sans fil (impact et performance) 52
6.3.1. La congestion et la perte de paquet dans les
réseaux sans fil 52
6.4. TCP et la qualité de service dans les
réseaux sans fil 53
6.5. Etude comparative des travaux existants . 54
6.5.1. Les solutions inter-couches (Cross-Layer) 54
6.5.2. Les solutions basées sur la couche Transport
60
6.6. Conclusion 62
7. IMPACT DU PROTOCOLE TCP SUR LES SERVICES VIDEO
STREAMING
ADAPTATIFS 63
7.1. TCP et les services de vidéo streaming adaptatif
63
7.2. Protocoles de transport dédiés au streaming
63
7.3. Impact des paramètres de TCP sur la qualité
de service des services de vidéo streaming
adaptatifs 65
7.4. L'enjeu de la qualité d'expérience sur les
services de vidéo streaming adaptatif 65
7.5. Technique d'adaptation du réseau 66
7.5.1. Contrôle de débit basé source 66
7.5.2. Contrôle de débit basé
récepteur 71
7.5.3. Contrôle de débit hybride . 76
vi
8.CONCLUSION ET CRITIQUES 78
vi
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP DANS
UN ENVIRONNEMENT SANS FIL
1.INTRODUCTION . 80
2. CONTRIBUTIONS .. 81
2.1. Première contribution : Proposition d'un
mécanisme inter-couches de différentiation de perte
pour TCP dans les réseaux sans fils ad hoc 81
2.1.1. Positionnement du problème 81
2.1.2. Description de la solution ... 82
2.1.3. Formulation de la solution proposée 83
2.1.4. Récupération de la valeur du RSSI minimal
et du bruit maximal du chemin 84
2.1.5. Organigramme et Algorithme 86
2.1.6. Evaluation par simulations . 87
2.1.7. Conclusion 94
2.2. Deuxième contribution : TCP et
l'amélioration des services de vidéo streaming adaptatifs...
94
2.2.1. Introduction 94
2.2.2. Positionnement du problème 95
2.2.3. Description de la solution 98
2.2.4. Emulation 106
2.2.5. Conclusion 113
Conclusion générale et
perspectives 114
Références Bibliographiques.
VII
Liste de figures
Figure1 : Catégories de réseaux
sans fil
|
07
|
Figure 2 : Principales normes de réseaux
sans fil
|
08
|
Figure3 : Interférence de noeud dans une
topologie en chaine
|
12
|
Figure 4 : Réseau ad hoc
|
15
|
Figure 5 : Extension de couverture par un
réseau adhoc
|
17
|
Figure 6 : Mécanisme de l'acquittement
|
...19
|
Figure7 : Etablissement d'une connexion
|
...20
|
Figure8: Diagramme d'états
simplifié de TCP
|
21
|
Figure 9: Démarrage lent de TCP
|
22
|
Figure 10: Variation du débit de TCP avec
la longueur du chemin
|
29
|
Figure 11 : Média streaming
...32
|
|
Figure12 : Système général
de streaming multimédia
34
|
|
Figure 13 : Flux direct adaptatif
|
35
|
Figure 14 : QdS/QoE domaines d'application
inspirés de [126]
|
39
|
Figure 15 : QdS/QoE couches dans le
modèle OSI
|
...40
|
Figure 16 : Quelques types d'interférence
|
51
|
Figure 17 : Comparaison des valeurs du
débit filaire et sans fils avec déplacement
|
.53
|
Figure 18 : Comparaison des valeurs du
débit filaire et sans fils sous l'effet des
interférences
54
|
|
Figure 19 : Classification des solutions pour
l'amélioration de TCP dans les réseaux
sans fil
|
..55
|
Figure20 : TCP-Split
|
59
|
Figure 21 : Inter-couches (Cross-Layer)
réseau et physique
|
.59
|
Figure 22: Architecture 3GPP-DASH
|
74
|
Figure 23 : Structure d'un segment TCP
|
82
|
Figure 24 : Organigramme de l'architecture
proposée
|
86
|
Figure 25 : Topologie de la simulation
|
..89
|
VII
Figure 26 : Résultats de premier
scénario 90
Figure 27 : Résultat du
deuxième scénario ...91
Figure 28 : Résultat du
troisième scénario 92
Figure 29 : Résultats du
quatrième scénario .93
Figure 30 : Vidéo streaming adaptatif
à travers HTTP .96
Figure 31 : Services de vidéo
streaming adaptatif les plus connus ...97
Figure 32 : Accès aux services de
vidéo streaming adaptatif à travers différents types de
technologies avec différents type de terminaux 98
Figure 33 : Datagramme d'un service de
streaming adaptatif 109
Figure 34 : Scénario de
l'émulation 109
Figure 35 : Consommation du forfait Internet
110
Figure 36 : Consommation de la batterie
111
Figure 37 : Consommation de CPU 111
Figure 38 : Le MOS global des utilisateurs
112
Figure 39 : Evolution de la bande passante
disponible dans le temps 112
Figure 40 : Valeur du MOS (MOS*2) par rapport
au temps 113
Figure 41 : Valeur du MOS (MOS*2) par rapport
au temps 1
Figure 42 : Valeur du MOS (MOS*2) par rapport
au temps 2
Figure 43 : Valeur du MOS (MOS*2) par rapport
au temps 4
VIII
LISTE DES TABLES
Table 1 : Comparaison générale des
approches
|
62
|
Table 2 Comparaison des différentes
approches de vidéo streaming
|
78
|
Table 3 : Valeur de FR (facteur de
résolution)
|
99
|
Table 4 : Valeur de FS (facteurs d'écran)
|
99
|
Table 5 : Valeur de BC (facteur de batterie)
|
99
|
Table6 : Les valeurs facteur utilisateur avec
les qualités vidéo
|
..100
|
Table 7 : Les qualités vidéo avec
les débits minimaux
|
101
|
Table 8 : Pourcentage de récompense par
rapport au MOS
|
104
|
Table 9 : Paramètres des terminaux
utilisés dans l'émulation
|
.107
|
Table 10 : Paramètres de
l'émulation
|
109
|
LISTE DES ACRONYMES
Wpan : Wireless Personal Area Network
Wlan : Wireless Local Area Network
Wman : Wireless Metropolitan Area Network
Wran : Les réseaux régionaux
Wwan : Wireless Wide Area Network BLR :
Boucle locale radio
WIMAX : Worldwide Interoperability for Microwave
Access
GSM : Global System for Mobile Communication
GPRS : General Packet Radio Service
DVB-S : Digital Video Broadcasting-Satellite
WIFI : Wireless Fidelity UWB :
Ultra-Wide Band
OFDM : Orthogonal Frequency Division
Multiplex
MAC : Media Access Control AP :
Access point
IP : Internet protocol
TCP : Transport control protocol
UDP: User Datagram Protocol
ix
DCCP : Datagram Congestion Control Protocol
SCTP : Stream Control Transmission Protocol
RTO : Retransmit Time Out
RTT : Round trip time
RTTVAR : Variation du RTT
Syn : Paquet de synchronisation
ACK : accusé de réception
CWND : congestion window
HTTP : Hypertext Transfer Protocol
AIMD : Additive Increase and Multiplicative
Decrease
DUPACK : ACK dupliqué
SACK : Selective Acknowledgment
MPEG : Moving Picture Experts Group
QoS : Qualité de service
QoE : Qualitéd'experience
IPTD : IP Packet Transfer Delay
IPDV: IP packet delay variation
IPLR : IP Loss Ratio
IPER : IP Packet Error Rate
IPPT : IP Packet Throughput
MOS : Mean opinion score
OSI : Open SystemsInterconnection RCSF :
Réseaux de Capteurs Sans Fils PDM : processus
de décision de Markov RSSI : Puissance du signal
reçu
DCF : Distrubuted Coordination Function
MANET : Mobile AD-HOC network ICMP : Internet
Control Message Protocol
RRN : Notification de la restauration de la
route
RFN : Notification d'erreur de route BER
: Erreurs de bits
ECN : Explicit Congestion Notification
NDER :
Notification-de-Déconnection-Explicite-de-Route
NP : Noeud-Pivotant RL :
Requête localisée
NRER :
Notification-Réussie-Explicite-de-Route
PRR : Phase de la reconstruction de Route
LACK : Acquittement local
COPAS : COntention-based PAth Selection
DSR : Un protocole de routage
OOO : Livraison Out-Of-Order
ix
TPSN : TCP Packet-Sequence-Number
ADSN : ACK de duplication de numéro de
séquence
RTP : Le protocole de transmission temps
réel
RTSP : Real Time Streaming Protocol NAT
: Network address translation
RTCP : Real-time Transport Control Protocol
MIMD : l'augmentation multiplicative et la
diminution multiplicative
MTP : Multimedia transport protocol
VTP : Protocole de transport vidéo
LDA : L'algorithme de discrimination de perte
AR : le taux d'estimation atteint
SAMM : Source-Adaptive Multilayered Multicast
Algorithms
TFRC : Contrôle de débit avec TCP
Friendly
RLM : Receiver-driven Layered Multicast
LVMR : Layered Video Multicast Retransmission
3G-DASH : Dynamic Adaptive Streaming over
HTTP
PVR : Réseau d'enregistrement
vidéo personnel
CDN : Content delivery network
AEC : Approche de l'environnement
contrôlé
RNN : Réseau de neurone aléatoire
GOP : Un groupe d'images successives
SSM : La puissance du signal minimale de la
route
NMX : La puissance du bruit maximal de la
route
PNMX : La puissance du bruit maximal de la
route prédite
PSSM : La puissance du signal minimale de la
route prédite
NS3 : Network simulator
AODV : Ad hoc On Demand Distance Vector
(protocole de routage)
ix
CSMA/CA : Carrier Sense Multiple Access with
Collision Avoidance
UF : le facteur d'utilisateur
TR : la résolution du terminal
FR : le facteur de résolution
FB : Le facteur de la batterie
BC : La batterie disponible
FS : Le facteur de la taille d'écran
SS : La taille de l'écran
MDP : un processus de décision
markovien
BW : La bande passante
CAS : L'approche YOUTUBE classique
UAS : L'approche proposée
x
Publications et conférences
1) Yassine DOUGA, Malika BOURENANE, Yassine HADJADJ-AOUL,
Abdelhamid MELLOUK: « TCP based-user-parameters control for adaptive video
streaming». Dans le journal international MULTIMEDIA TOOLS AND
APPLICATIONS Springer journal, ISSN: 1380-7501, DOI
10.1007/s11042-015-2857-1,(aout 2015).
2) Yassine DOUGA, Malika BOURENANE: « Simulation of an
Adaptive video streaming based-user control using TCP parameters ». Dans
la Revue Méditerranéenne des Télécommunications,
Vol. 5, No 2 (2015).
3) Yassine DOUGA, Malika BOURENANE: « New adaptation
method of TCP for mobile ad hoc networks ». Dans le proceeding de IEEE
WCCAIS 2014, Computer Applications and Information Systems World Congress,
Tunisie, (janvier 2014).
4) Yassine DOUGA, Malika BOURENANE: « Improve
Performance of TCP over Mobile AdHoc Network using a cross-layer
solution». Dans le journal IJSER, International Journal of Scientific
& Engineering Research, Volume 5, Issue 7, ISSN 2229-5518, ,
(July-2014).
5) Yassine DOUGA, Malika BOURENANE, Abdelhamid MELLOUK:
« Adaptive Video Streaming Using TCP Factors Control with User Parameters
». Dans le proceeding de
Elsevier FNC'14,
|
The 9th International Conference on Future Networks and
|
|
Communication, Volume 34, 2014, Pages 526-531, Niagara Falls,
Canada, (aout 2014).
6) Yassine DOUGA, Malika BOURENANE: « A cross layer
solution to improve TCP performances in Ad Hoc wireless networks». Dans le
proceeding de IEEE SaCoNeT 2013, International Conference of Smart
Communications in Network Technologies France, Paris, (juin 2013).
INTRODUCTION GENERALE
1
Introduction générale
Introduction générale
1. Contexte et problématique de la
thèse
De nos jours, certains protocoles supportant l'Internet sont
les mêmes qu'à l'origine, ils n'ont presque pas changé
[78]. Suivant une structure en couches abstraites, fournissant chacune une
fonctionnalité bien définie [79], la pile protocolaire TCP/IP a
réussi à bien s'adapter aux évolutions des technologies
sous-jacentes. Cependant ces nouvelles technologies ont graduellement
étendu le contexte dans lequel ces protocoles doivent fonctionner.
La réduction en taille et le prix des
équipements informatiques a largement facilité l'apparition de
l'informatique mobile et l'accès simultané à plusieurs
réseaux Figure 41. Ces équipements informatiques tels que
smartphones, tablettes, ordinateurs portables ...etc, sont transportés
au rythme des déplacements de leur utilisateur. Plus récemment,
ces terminaux se sont aussi vus pourvoir de plus d'interfaces réseau
supplémentaires Figure 42. Ainsi, ils peuvent s'adapter aux mouvements
de leur porteur, établir une ou plusieurs connexions à de
multiples réseaux afin d'être « toujours connectés au
mieux » [80].
2015 2016 2017 2018 2019 2020
Billions of devices
30
25
20
15
10
5
0
M2M Smart Phone Non-smartphones TVs PCs Tablets Other
Figure 41 Différents types de terminaux qui
accèdent de nos jours à Internet
2
Introduction générale
Fixed/Wired Mobile Data
Exabyte per month
140
120
100
40
80
60
20
0
2014 2015 2016 2017 2018 2019
Fixed/Wifi From Wifi Only Devices Fixed/Wifi From Wifi
Mobile Devices
19%
21%
42%
Figure 42 Classification du flux de données sur Internet
par technologie d'accès
L'environnement sans fil fondé sur l'utilisation des
liaisons radios est caractérisé par deux modes de communication,
à savoir le mode avec infrastructure où la communication entre
deux points ou noeuds quelconques du réseau passe nécessairement
par une station de base. Ainsi que les réseaux mobiles sans
infrastructure (appelés réseaux ad hoc) où chaque point ou
noeud du réseau peut communiquer directement avec ses voisins, sans
station de base intermédiaire.
Les réseaux ad hoc sont une catégorie de
réseaux sans fil caractérisés entre autres par une
topologie dynamique [16], une bande passante limitée, des contraintes de
consommation d'énergie. Le lien sans fil à la
caractéristique essentielle de varier en fonction du temps et de
l'espace. Il est aussi caractérisé par une mémoire
à courte échelle due au multi trajets pouvant causer une rafale
d'erreurs qui occasionne l'impossibilité de transmettre correctement les
paquets sur le lien. Le changement de l'état du lien sans fil de "bon"
à "mauvais" et vice-versa peut intervenir de façon asynchrone
pendant des laps de temps très courts. En plus de la variation du canal
à petite échelle, il y a une variation à grande
échelle qui implique le conditionnement de l'état moyen du canal
par la position de l'utilisateur et le niveau des interférences
possibles.
Ainsi, la récente prévalence des réseaux
d'accès sans-fil en général et des réseaux ad hoc
en particulier présente de nouveaux problèmes à des
protocoles dont les hypothèses de conception sont basées sur
l'usage d'un média fiable. Par exemple le protocole de transport TCP
classique, souffre d'une mauvaise interprétation des pertes de paquets
dues aux conditions du medium radio et non à des congestions sur le
réseau. Il ne peut cependant
3
Introduction générale
pas distinguer la cause de ces pertes en raison de la
séparation en couches. Cette erreur entraine des baisses de performances
lorsque des réseaux sans fil sont traversés [83].
Le passage des systèmes reposant sur les réseaux
filaires vers les environnements sans fil et la différence notoire qui
existe entre ces deux environnements ont conduit à l'émergence
des systèmes multi-niveaux ou Cross-Layer. Ces systèmes visent
à répondre aux besoins de l'amélioration des performances
qui s'imposent au bénéfice des systèmes sans fil dont par
exemple les réseaux ad hoc. Le concept de « Cross-Layer »
introduit une technique d'adaptation des protocoles au contexte sans fil
à travers le partage d'information entre les couches. Cette technique
permet d'obtenir des gains de performance divers comme démontré
dans plusieurs études [19] [20][21] [23] [24] [25] [26] [27], ce qui
justifie pleinement l'importance des modèles réseaux «
Cross-Layer ».
La technique « Cross-Layer » s'applique à
tous les protocoles de divers niveaux du modèle en couches, tant qu'il
existe des interactions pour lesquelles les performances globales du
système peuvent être améliorées. Un exemple simple
relatif au multimédia illustre l'importance de cette conception
novatrice. La gestion de ressources, l'adaptation et les stratégies de
protection disponibles dans les couches inférieures de la pile du
modèle OSI (PHY, MAC, Réseau, Transport) sont optimisées
sans considérer explicitement les caractéristiques
spécifiques des applications multimédias par exemple, les
algorithmes de flux et de compression ne considèrent pas les
mécanismes fournis par les couches inférieures pour la protection
d'erreur, l'ordonnancement, la gestion de ressource, ainsi de suite.
De nos jours, la plupart des applications sur internet
utilisent le protocole http. Le protocole http est un protocole de couche
application, il utilise le protocole TCP comme protocole de transport de
données. Parmi les applications les plus utilisés et
répondu sur internet on trouve les applications de vidéo
streaming adaptative basé http figure 43.
Les applications multimédia interactives fournissent
des environnements de communication très complets pouvant être
utilisés dans le cadre du travail collaboratif synchrone ou encore dans
un contexte ludique et familial. Cela va de la communication audio et/ou
vidéo jusqu'aux applications partagées...etc. Ces applications,
par leur aspect interactif, requièrent un service de qualité du
système de communication sous-jacent afin de fonctionner correctement.
Au niveau réseau, ce service, varie selon les applications et s'exprime
par exemple en termes de garanties sur le délai de bout en bout, le
débit de transmission ou encore le taux de perte d'information.
Jusque-là, les applications multimédia ont
été largement déployées et supportées sur
les infrastructures filaires telles que la fibre optique comme lien en coeur de
réseau, ou encore la technologie xDSL (Digital Subscriber Line) pour la
distribution finale. De nos jours, le large déploiement et les avantages
que les réseaux sans fil présentent a fait que la plupart des
utilisateurs des applications multimédia accèdent à ce
genre d'application via réseau sans fil. En déployant les
applications multimédia interactives sur de tels réseaux,
4
Introduction générale
de nombreux problèmes apparaissent, tel que la
dégradation de la qualité de la vidéo reçu, les
interruptions de la vidéo, la réception d'une qualité de
vidéo qui n'est pas adéquate avec les exigences des utilisateurs
ou avec les conditions du réseau.
Figure 43 Portion de téléchargement des
données de vidéo streaming sur Internet par
services
2. Contribution et structure de la thèse
Dans cette thèse, nous proposons une nouvelle
architecture inter-couche du protocole TCP. Cette architecture a pour but
d'améliorer les performances du protocole TCP dans les réseaux
sans fil en général et dans les réseaux ad hoc en
particulier. L'idée de cette approche est de faire une interaction entre
les deux couches du modèle OSI. Ces deux couches sont, la couche
physique et la couche transport. Cette interaction va nous permettre
d'améliorer le mécanisme de perte de paquet et de contrôle
de congestion du protocole TCP en se basant sur deux grandeurs de la couche
physique qui sont la puissance de signal et le bruit. A l'aide de ces deux
valeurs, la nouvelle architecture de TCP saura faire la distinction entre les
pertes de paquets dû à la congestion et ceux qui sont dû
à l'environnement sans fil. D'après les résultats obtenus
ceci va garantir un bon fonctionnement du protocole TCP dans les réseaux
sans fil sans perdre en performance. Cette architecture a été
testée sous NS3.
Suite aux travaux sur notre nouvelle architecture et afin de
mieux la perfectionner, nous avons opté pour une nouvelle adaptation qui
vise à améliorer la qualité de service (QdS) du
réseau sans fil et la qualité d'expérience QoE des
utilisateurs pour des applications de vidéo streaming en utilisant les
paramètres de la nouvelle architecture du protocole TCP qu'on a
développé auparavant. Cette amélioration vise à
adapter les
5
Introduction générale
paramètres du réseau qui dépendent
directement du protocole TCP comme la bande passante, la gigue, le
délai, le taux de pertes, avec les différentes
caractéristiques du terminal de l'utilisateur et de son feedback. Les
tests ont été fait avec des émulations, les
résultats sont représentés sous forme de MOS (Mean Opinion
Score) ou le ressenti global des utilisateurs.
Le reste de la thèse est structuré comme suite
Le premier chapitre, fourni des définitions et des
notions de base sur tout ce qui est en relation avec les réseaux sans
fil, le protocole de transport TCP et les services de vidéo streaming
adaptatifs, afin de servir de point de repère pour les lecteurs dans ce
qui suit dans les chapitres suivants.
Le deuxième chapitre, l'état de l'art,
décrit, compare et critique les travaux existants des deux approches. Le
but de ce chapitre est de pointer sur les limites des travaux
précédents et leurs inconvénients.
Dans le troisième chapitre, nous décrivons avec
détails les deux solutions proposées, les formules et les
méthodes utilisées, en plus des algorithmes explicatifs. Ensuite,
nous introduirons l'environnement et les conditions de test (simulation et
émulation) des deux approches, les résultats obtenus et les
critiques qui se rapportent aux résultats.
Enfin nous terminons par une conclusion qui situe nos travaux
et qui fixe nos perspectives.
CHAPITRE I : CONCEPTS DE BASE
6
Chapitre I: Concepts de base
CHAPITRE I CONCEPTS DE BASE
1.
Généralités sur les réseaux
sans fil
2.
Protocole de transport
3.
Fonctions de contrôle de congestion
4.
Variantes de TCP
5.
TCP et les réseaux sans fil
6.
Le protocole http
7.
Les services de vidéo streaming
8.
Les différentes technologies de streaming
9.
Conclusion
1. Généralités sur les
réseaux sans fil
1.1. Introduction
.25 . 27 .. 30 Les
réseaux sans fil sont en plein développement. Conduit par
l'émergence des appareils de communication tels que les
téléphones cellulaires, les ordinateurs portables et par la
flexibilité de leur interface, ce qui permet à un utilisateur de
changer de place tout en restant connecté. Ainsi l'utilisateur transite
d'un environnement restreint vers un environnement ubiquitaire où les
traitements se font à travers plusieurs infrastructures.
1.2. Definition
Les réseaux sans fil sont des réseaux
informatiques ou numériques dont les noeuds sont connectés par
radio. La mobilité et la flexibilité comptent parmi les
principaux avantages des réseaux sans fil. En effet, un utilisateur peut
se connecter à un réseau existant et se déplacer librement
tant qu'il reste sous la couverture radio du réseau. La
flexibilité se traduit par la rapidité de déploiement. Il
existe différents types de réseaux
7
Chapitre I: Concepts de base
sans fil, tels que les réseaux de
téléphonie mobile, les réseaux ad hoc et les
réseaux de capteurs.
1.3. Les différentes technologies des réseaux
sans fil
Aujourd'hui, divers équipements sont accessibles aux
entreprises et au grand public permettant des connexions entre appareils sans
fil. Plusieurs communautés collaborent afin de standardiser les
technologies de ces réseaux, tantôt concurrentes, tantôt
complémentaires. La figure 1 montre une classification des
différentes technologies selon leur portée.
Figure 1 : Catégories de réseaux
sans fil [84]
Où
? WPAN : Les réseaux sans fil personnels (Wireless
Personal Area Network),
sont des réseaux sans fil à très faible
portée (de l'ordre d'une dizaine de mètres). Ils concernent
l'entourage immédiat d'une personne. La principale technologie pour
mettre en oeuvre de tels réseaux est le Bluetooth (proposée par
Ericsson en 1994) pour une portée maximale d'une trentaine de
mètres, elle fournit un taux de transmission radio théorique de 1
Mbit/s.
? WLAN : Les réseaux locaux sans fil (Wireless Local Area
Network)
concernent un environnement plus étendu que les
réseaux personnels comme une maison, une entreprise ou un campus. Ils
sont principalement basés sur la technologie IEEE 802.11 ou sur les
technologies HiperLan 1 et Hiperlan 2 qui offre des taux de transmission radio
théoriques pouvant atteindre 54 Mbit/s. Ces technologies ont une
portée plus importante : 300 mètres en extérieur et 100
mètres à l'intérieur des bâtiments pour IEEE 802.11b
et d'une centaine de mètres pour Hiperlan 2.
? WMAN : Les réseaux métropolitains sans fil
(Wireless Metropolitan Area
Network) sont connus sous le nom de boucle locale radio (BLR).
Ils sont basés sur la
Chapitre I: Concepts de base
norme IEEE 802.16 et visent à couvrir une région
étendue comme une ville (plusieurs kilomètres). La norme la plus
connue est le WiMAX, permettant d'obtenir un taux de transmission radio
théorique de l'ordre de 74Mbit/s sur un rayon de dizaines de
kilomètres.
? WRAN : Les réseaux régionaux sont
étudiés par l'IEEE 802.22. Le rayon de
la cellule peut atteindre 50 kilomètres pour les gammes
de fréquences en dessous de 1 GHz. La distance potentielle du terminal
étant importante, le débit montant est assez limité. En
revanche, sur la bande descendante, 4 Mbit/s sont disponibles. L'application de
base est la télévision interactive ou les jeux vidéo
interactifs.
? WWAN : Les réseaux sans fil étendus (Wireless
Wide Area Network) tirent
profit de l'infrastructure réseau cellulaire pour
fournir à l'utilisateur une connectivité réseau même
en déplacement. Les WWANs regroupent notamment les différents
réseaux téléphoniques de première et
deuxième génération mais également les
réseaux satellitaires. Parmi les technologies des réseaux
cellulaires téléphoniques : GSM (Global System for Mobile
Communication) et GPRS (General Packet Radio Service). Les réseaux
satellites s'appuient sur des normes comme DVB-S (Digital Video
Broadcasting-Satellite).
1.4. Différents normes de réseaux sans
fil
Les principales normes sont IEEE 802.15, pour les petits
réseaux personnels d'une dizaine de mètres de portée, IEEE
802.11, ou Wi-Fi, pour les réseaux WLAN, IEEE 802.16, pour les
réseaux WMAN atteignant plus de dix kilomètres, IEEE 802.22 pour
les WRAN (Wireless Regional Area Network), et IEEE 802.20, pour les
réseaux WWAN qui correspondent aux solutions cellulaires permettant de
recouvrir un pays.
Figure 2 : Principales normes de réseaux
sans fil
8
9
Chapitre I: Concepts de base
Dans le groupe IEEE 802.15, trois sous-groupes normalisent des
gammes de produits en parallèle :
- IEEE 802.15.1, le plus connu, prend en charge la norme
Bluetooth, aujourd'hui largement commercialisée. La version 3.0 utilise
l'interface radio décrite dans IEEE 802.15.3, ce qui procure à
Bluetooth une nouvelle jeunesse, avec un débit de 480 Mbit/s.
- IEEE 802.15.3 définit la norme UWB (Ultra-Wide Band),
qui met en oeuvre une technologie très spéciale,
caractérisée par une puissance d'émission
extrêmement faible, sous le bruit ambiant, mais sur pratiquement
l'ensemble du spectre radio (entre 3,1 et 10,6 GHz). Le débit est de 480
Mbit/s sur une portée de 3 m et décroît à environ
120 Mbit/s à une dizaine de mètres.
- IEEE 802.15.4 s'occupe de la norme ZigBee, qui a pour
objectif de promouvoir une puce offrant un débit relativement faible
mais à un coût très bas. ZigBee est avant tout
normalisé pour le passage des commandes plutôt que des
données.
- 802.11 est une norme établie par l'IEEE. Elle
décrit les couches physiques et MAC d'interfaces Réseau radio et
infra-rouge. Les débits possibles varient entre 1 et 54 Mbit/s suivant
les techniques et les éventuelles extensions de la norme
employées. Les portées prévues sont variantes entre
quelques dizaines et quelques centaines de mètres en fonction de la
vitesse choisie et de l'environnement. Cette norme cible deux contextes
d'utilisation, le mode infrastructure et le mode appelé ad hoc. La norme
originelle de 802.11 date de 1997 et décrit les couches physiques et MAC
pour un débit allant jusqu'à 2 Mbit/s en radio, dans la bande
dès 900 MHz. Des extensions ont été publiées depuis
qui viennent lui ajouter des améliorations et des modes de
fonctionnement plus performants. Les principales extensions sont les suivants
:
- 802.11b ajoute la description d'une couche physique
améliorée proposant des débits de 5.5 et 11 Mbit/s en plus
de ceux déjà supportés.
- 802.11a ajoute des modes encore plus rapides (jusqu'à
54 Mbit/s) en travaillant dans la bande dès 5 GHz, mais en utilisant des
techniques OFDM d'accès au canal.
- 802.11g utilise des techniques OFDM similaires à la
802.11a, mais en restant dans la bande ISM à 2.4 GHz. Les débits
possibles atteignent également les 54 Mbit/s tout en gardant la
compatibilité avec les équipements 802.11b.
- 802.11n augmente la vitesse des réseaux sans fil
local (WLAN), elle améliore la fiabilité et elle étend la
zone de couverture sans fil.
- 802.11e cherche à améliorer 802.11 de
façon à pouvoir donner des garanties de qualité de
service.
10
Chapitre I: Concepts de base
1.5. Spécificités des réseaux sans
fil
L'intégration des technologies sans fil avec les
protocoles classiques des réseaux fixes ne va pas sans poser des
difficultés notamment au niveau de la couche Transport.
Les réseaux sans fil arborent des
spécificités qui les caractérisent par rapport aux
réseaux filaires. Ils sont basés sur une liaison utilisant des
ondes radioélectriques (radio et infrarouges) au lieu des câbles
habituels. Par nature, les communications par ce type de liaison
entraînent un certain nombre de problèmes n'ayant pas
d'équivalent dans le monde filaire.
La propagation du signal radio est un élément
clé de la qualité d'une transmission mais le nombre de
fréquences et de canaux disponibles pour la communication est
limité. Ainsi, lorsque deux noeuds émettent simultanément
sur des bandes de fréquence ou des canaux proches, des
interférences (bruit) seront ressenties sur les communications. De plus,
la distance et l'environnement en général, affectent la
qualité d'une transmission radio en perturbant le signal. Celui-ci
s'atténue en fonction de la distance mais aussi en fonction des
contraintes de l'environnement sans fil.
Les spécificités des réseaux sans fil
représentent des sources d'imperfection qui contribuent à
déformer le signal jusqu'à le rendre inutilisable. Les sections
suivantes s'intéressent aux spécificités des
réseaux sans fil ayant des répercussions sur le protocole de
transport TCP.
1.5.1. Spécificité physique
Le principal problème qui se manifeste au niveau
physique concerne la dégradation du signal due à certaines
causes. En effet, sur un support sans fil, les perturbations issues des
interférences, de l'environnement et du mouvement des noeuds viennent
dégrader le signal original.
Aussi, les caractéristiques du support de communication
tel que débit, délai ou taux de perte dépendent fortement
de l'environnement radio et sont sujettes aux interférences et aux
bruits. Le taux d'erreur de niveau physique peut aller au-delà de trois
fois celui d'un support filaire [94].
1.5.2. Erreur du canal
Les erreurs de bit par rafales peuvent corrompre les paquets
en transmission, conduisant ainsi à la perte des paquets de
données TCP ou des accusés de réception (ACKs). Si
l'émetteur TCP ne peut pas recevoir l'accusé de réception
dans le délai de retransmission (RTO), il réduit
immédiatement sa fenêtre de congestion, régresse sa
retransmission de façon exponentielle, et retransmet le paquet perdu.
Les erreurs de canal
11
Chapitre I: Concepts de base
intermittentes peuvent donc provoquer la réduction de
la taille de la fenêtre de congestion de l'émetteur, ce qui
entraîne un faible débit.
1.5.3. Contention du Médium et collision
Les protocoles d'accès au canal (de niveau 2 dans le
modèle OSI et l'équivalent de la couche liaison dans le
modèle TCP/IP) décrivent l'ensemble des méthodes
permettant de coordonner les accès au support partagé entre
plusieurs stations. Plus spécifiquement, la couche MAC décrit les
règles permettant à une station de transmettre et
d'écouter. Ces règles sont écrites de façon
à remplir un ensemble de services tels que l'équité (dans
l'accès au canal ou dans les ressources utilisées), la
fiabilité, le passage à l'échelle, la qualité de
service et ce en maximisant les débits. Ces protocoles sont critiques
dans un environnement où les stations ne peuvent pas recevoir en
même temps qu'elles émettent et dans lequel le support est
partagé et en diffusion par nature.
Les mécanismes de contrôle d'accès au
support basés sur la contention, tels que le protocole MAC IEEE 802.11
[114], ont été largement étudiés et
incorporés dans de nombreux bancs d'essai pour réseaux sans fil
multi-sauts ad hoc, où les noeuds voisins se disputent le canal sans fil
partagé avant de transmettre. Ces protocoles se sont
avérés affecter significativement les performances de TCP [115,
116, 117]. Lorsque TCP fonctionne sur MAC 802.11, comme il a été
souligné dans [118], le problème de l'instabilité devient
très dramatique. Il est montré que les collisions et le
problème de la station exposée sont deux raisons majeures qui
peuvent empêcher un noeud d'atteindre un autre lorsque les deux noeuds
sont à portée de transmission.
Si un noeud ne peut pas atteindre son noeud adjacent
après plusieurs tentatives, il déclenche alors une
défaillance de la route, ce qui, à son tour provoquera le
démarrage de la découverte de route par le noeud source. Aucun
paquet de données n'est envoyé avant qu'une nouvelle route ne
soit trouvée. Pendant ce processus, TCP invoque les algorithmes de
contrôle de congestion s'il observe un délai d'expiration. Ainsi,
de sérieuses oscillations dans le débit TCP seront donc
observées. En outre, le mécanisme du backoff BEB (Binary
Exponential Backoff) utilisé dans la couche MAC exacerbe cette situation
[116]. En effet, un paquet de données volumineux qui occupe le canal
partagé, diminue la chance d'accès au médium pour un noeud
intermédiaire. Ce dernier marque une attente d'une période de
temps aléatoire et essaye à nouveau. Après plusieurs
essais négatifs, un échec de route est signalé.
TCP peut également rencontrer de sérieux
problèmes d'iniquité [115, 116, 118] pour les raisons
indiquées ci-dessous:
- La topologie peut provoquer une iniquité en raison de
l'inégalité des chances d'accès au canal pour les
différents noeuds. En effet, comme indiquée dans la figure 3
où le cercle en bleu dénote une portée de transmission
valide d'un noeud et le cercle en rouge
12
Chapitre I: Concepts de base
une portée d'interférence d'un noeud, les noeuds
dans cette topologie en chaine de 7 noeuds subissent différents
degré de compétitions. Soient deux flux TCP, dont TCP flow 1 est
envoyé du noeud 0 vers le noeud 1 et TCP flow 2 du noeud 6 vers le noeud
2. La transmission du flux 1 subit l'interférence de 3 noeuds (les
noeuds 1, 2 et 3) alors que la transmission du noeud 3 vers le noeud 2 subit
l'interférence de 5 noeuds (les noeuds 0, 1, 2, 4 et 5). Ainsi, le flux
1 obtient un débit beaucoup plus élevé que le flux 2 en
raison de l'inégalité des chances d'accès au canal.
- Le mécanisme du backoff peut conduire à une
situation d'iniquité car il favorise toujours le dernier noeud qui a
émis avec succès.
- La longueur des flux TCP influence l'iniquité. En
effet, Des flux plus grands conduisent à un temps aller-retour (RTT)
plus long et une probabilité de rejet des paquets plus grande entrainant
ainsi une baisse et une fluctuation du débit TCP de bout en bout.
L'iniquité est amplifiée à travers cette réaction
en chaine. Ainsi, un haut débit sera plus élevé alors
qu'un débit faible subira encore une baisse.
Figure 3 : Interférence de noeud dans une
topologie en chaine
1.5.4. Mobilité
La mobilité peut provoquer la rupture de lien et
l'échec de l'itinéraire entre deux noeuds voisins, ce qui peut
entrainer alternativement des pertes de paquets. Comme TCP ne distingue pas
entre les pertes de paquets causées par les défaillances de
routes et celles en raison d'une congestion, il déclenche les
mécanismes de contrôle de congestion qui réagissent
négativement. En effet, si la découverte d'un nouvel
itinéraire prend plus de temps qu'un RTO, l'émetteur TCP invoque
un contrôle de congestion et le débit déjà
13
Chapitre I: Concepts de base
réduit en raison des pertes va encore diminuer. Il
pourrait être encore pire lorsque la source et la destination d'une
connexion TCP se situent dans différentes partitions du réseau.
Dans un tel cas, plusieurs expirations RTO consécutives conduisent
à une inactivité durant une ou deux minutes, même si
l'expéditeur et le récepteur se reconnectent finalement.
Les auteurs Fu et al. ont effectué des simulations en
tenant compte de la mobilité, de l'erreur du canal, et de la contention
du média partagé [116]. Ils ont indiqué que les
déconnexions et reconnexions réseau induites par la
mobilité ont un impact plus significatif sur la performance de TCP
comparées aux erreurs du canal et aux contentions du média
partagé. Lorsque la mobilité augmente, par rapport à un
TCP de référence, TCP New Reno souffre d'une chute relative de
débit allant de presque 0% dans un cas statique à 90% dans un cas
fortement mobile (lorsque la vitesse de déplacement est de 20m/s). En
revanche, une congestion et une légère erreur de canal (soit 1%)
ont un effet moins visible sur TCP (avec moins de 10% de baisse de performance
par rapport au TCP de référence).
1.5.5. Spécificité du routage
Le routage est un élément essentiel pour la
communication entre les noeuds éloignés. Cependant, la
mobilité et la dynamicité de la topologie rendent sa
réalisation complexe. En effet, cette mobilité va augmenter les
problèmes de propagation du signal dans la mesure où un noeud
mobile va voir évoluer les conditions de propagation du milieu qui
l'entoure en fonction de sa position. Le signal s'atténue donc avec
l'éloignement et les noeuds ne peuvent communiquer qu'avec leurs voisins
proches.
Les routes sont de courte durée en raison des ruptures
fréquentes de liens. Pour réduire les retards dus à la
découverte d'une nouvelle route, certains protocoles de routage tels que
l'algorithme de routage temporellement ordonné (Temporally-Ordered
Routing Algorithm : TORA) [119, 120] maintiennent plusieurs itinéraires
entre une paire émetteur-récepteur et utilisent un routage
multi-chemin pour transmettre les paquets. Dans un tel cas, les paquets
provenant de chemins différents peuvent ne pas arriver dans l'ordre au
niveau du récepteur. Ignorant le routage multi-chemin, le
récepteur TCP interprétera cette situation comme une congestion.
Le récepteur va donc générer des ACKs dupliqués qui
amènent l'expéditeur à invoquer des algorithmes de
contrôle de congestion tels que la retransmission rapide ou fast
retransmission (dès la réception de 3 ACK dupliqués).
1.5.6. Congestion
Il est connu que TCP est un protocole de la couche transport
agressif. Ses tentatives d'utiliser pleinement la bande passante entrainent les
réseaux ad hoc facilement vers la congestion. En outre, en raison de
nombreux facteurs tels que le changement de route et le délai variable
imprévisible de MAC, la relation entre la taille de la fenêtre de
congestion et
14
Chapitre I: Concepts de base
le débit de données tolérable pour une
route n'est plus maintenue dans les réseaux ad hoc. La taille de la
fenêtre de congestion calculée pour l'ancienne route peut
être trop grande pour la route nouvellement trouvé,
entraînant ainsi une congestion du réseau si l'émetteur
transmet toujours à taux plein, autorisé par l'ancienne taille de
la fenêtre de congestion.
La congestion et la surcharge peuvent donner lieu à un
débordement du buffer et à une augmentation de contention de
lien, ce qui dégrade les performances de TCP.
1.5.7. Considérations
énergétiques
Malgré l'essor dans l'équipement à
connexion sans fil de plus en plus miniaturisé, la capacité finie
de la batterie est toujours l'une des plus grandes limitations de ces
appareils. Dans les réseaux sans fil, la consommation de
l'énergie est observée au niveau communication, dans l'envoi et
le contrôle des données et au niveau traitement qui concerne les
aspects de traitement de protocole.
Comme la puissance des noeuds mobiles est limitée, tout
système efficace doit être conçu pour être
économe en énergie. Dans certains scénarios où la
recharge de la batterie n'est pas autorisée, l'efficacité
énergétique est critique pour prolonger la durée de vie du
réseau. La recherche sur TCP dans les réseaux ad hoc a besoin de
trouver un équilibre entre la consommation d'énergie et une
session à haut débit. Pour contourner cette limitation
énergétique, des mesures d'optimisation doivent être prises
au niveau matériel et logiciel.
Dans la suite, nous allons mettre l'accent sur quelques
éléments essentiels caractérisant les réseaux
locaux sans fil en particulier les réseaux ad hoc mobiles.
Dans ces réseaux, les communications entre
équipements terminaux peuvent s'effectuer par le biais de stations de
base ou directement. Dans le premier mode, appelé mode infrastructure,
le réseau s'organise autour d'une topologie en étoile où
le point central appelé point d'accès (AP : Access Point)
coordonne l'utilisation du support. Le point d'accès joue souvent le
rôle de passerelle vers un réseau filaire, voire vers Internet.
Dans le second mode d'utilisation appelé ad hoc, les noeuds ne
s'appuient plus sur un noeud central pour communiquer. Toutes communications
entre ces noeuds se fait directement sans intermédiaire.
L'intérêt de ce mode réside dans la possibilité de
communiquer en l'absence d'infrastructure.
1.6. Les réseaux sans fils ad hoc mobiles
Une autre grande catégorie de réseaux sans fil
est constituée par les réseaux ad hoc, dans lesquels
l'infrastructure n'est composée que des stations elles-mêmes. Ces
dernières acceptent de jouer le rôle de routeur pour permettre le
passage de l'information d'un
15
Chapitre I: Concepts de base
terminal vers un autre, sans que ces terminaux soient
reliés directement. Les réseaux ad hoc peuvent être
déployé dans tout environnement difficile où le
déploiement d'une infrastructure réseau filaire est très
contraignant, soit parce qu'il est difficile à mettre en place, soit
parce que l'existence du réseau ne dure pas assez longtemps pour
justifier une installation par câblage. De tels réseaux,
dépourvus de toute infrastructure, trouvent de nombreux champs
d'applications : lors d'une compagne militaire, d'une situation de catastrophe
(tremblement de terre, désastre naturel, etc), d'une urgence, d'une
salle de conférence, ou encore dans le cadre des réseaux de
senseurs/capteurs (sensor networks). La figure 4 illustre la notion de
réseau ad-hoc:
Figure 4 : Réseau ad hoc
1.7. Caractéristiques des réseaux ad hoc
Les réseaux ad hoc sont caractérisés par
des propriétés particulières. Chaque
propriété est considérée dans la littérature
comme étant une problématique en soi. Nous présentons dans
ce qui suit ces propriétés :
? L'absence de l'infrastructure : les
réseaux ad hoc se distinguent des autres
réseaux mobiles par l'absence de l'infrastructure fixe et
par leurs contrôles décentralisés.
? Les topologies dynamiques : les noeuds sont
libres de se déplacer
aléatoirement, alors la topologie du réseau
précisément le multi-saut peut changer d'une façon brusque
et rapide, et peut être constituée de liaisons unidirectionnelles
et bidirectionnelles en même temps.
? La bande passante limitée et des liens à
débits variables : les liens sans fil
posséderont toujours une capacité inférieure
à leurs homologues câblés. L'utilisation des
16
Chapitre I: Concepts de base
méthodes de partage du canal radio (accès
multiple) influence directement la bande passante réservée
à un terminal ad hoc.
? Utilisation limitée de l'énergie
: l'alimentation des noeuds se reposent sur des
batteries ou d'autres sources d'énergie
limitées. Cette alimentation limitée demande de prendre en
considération l'optimisation de la conservation de l'énergie.
? Sécurité physique limitée
: les réseaux sans fil mobiles sont
généralement
plus vulnérables à des attaques que les
réseaux câblés fixes. En effet, la sécurité
est nécessaire à la démocratisation des réseaux
MANET.
? Qualité des liaisons variables :
à cause du bruit et des interférences entre les
noeuds, la qualité des liaisons peut varier.
La solution développée pour les réseaux
ad-hoc prend pour fondement l'environnement IP. Les mobiles qui jouent le
rôle de passerelles (le plus souvent l'ensemble des mobiles)
implémentent un routeur dans leurs circuits, de telle sorte que les
problèmes posés reviennent essentiellement à des
problèmes de routage dans Internet, la mobilité étant
gérée par le protocole IP Mobile. MANET (Mobile Ad-hoc
NETwork) [95] est un groupe de travail de l'IETF (Internet Engineering
Task Force) [96] qui se préoccupe de la spécification et de
la normalisation des protocoles de routage pour les réseaux ad-hoc au
niveau IP. Ce groupe s'est appuyé sur les protocoles classiques
d'Internet et les a perfectionné pour qu'ils puissent fonctionner avec
des routeurs mobiles.
Les réseaux ad-hoc posent de nombreux problèmes
du fait de la mobilité des noeuds. Ceci résulte en une topologie
changeante dans le temps d'une manière imprévisible. D'autre
part, la portée des transmissions radio étant limitée les
noeuds formant le réseau ad hoc doivent se relayer par un protocole de
routage dédié pour retransmettre les messages d'une source vers
une destination.
Les protocoles de routage doivent prendre en compte les
caractéristiques de ces réseaux mobiles, multi-sauts et sans fil.
Les difficultés de conception sont principalement liées (i) aux
caractéristiques spécifiques des liens sans fil et (ii) aux
changements fréquents de topologie dus à la mobilité.
Les protocoles de routage des réseaux ad hoc s'appuient
sur trois modèles de fonctionnement : les protocoles proactifs, les
protocoles réactifs et les protocoles hybrides. On peut les
différencier par la méthode utilisée pour découvrir
le chemin entre le noeud source et le noeud destination.
Les protocoles proactifs établissent et mettent
à jour les routes pour tous les noeuds du réseau en se basant sur
l'échange périodique d'information de routage. Dans le cas des
protocoles réactifs les routes sont établies uniquement à
la demande. En effet, une procédure de découverte de route est
déclenchée lorsqu'un noeud souhaite envoyer des paquets vers un
destinataire dont la route est inconnue. Les protocoles hybrides quant
à
17
Chapitre I: Concepts de base
eux, combinent les techniques des protocoles proactifs et
réactifs. Ils utilisent un protocole proactif, pour apprendre le proche
voisinage. Au-delà de cette zone prédéfinie, le protocole
hybride fait appel aux techniques des protocoles réactifs pour la
recherche des routes.
Les réseaux ad-hoc sont utiles dans de nombreux cas de
figure. Ils permettent de mettre en place des réseaux dans un laps de
temps restreint, en cas, par exemple, de tremblement de terre ou pour un
meeting avec un très grand nombre de participants. Une autre
possibilité est d'étendre l'accès à une cellule
d'un réseau sans fil comme Wi-Fi. Comme illustré à la
figure 5, un terminal situé hors d'une cellule peut se connecter
à une machine d'un autre utilisateur se trouvant dans la zone de
couverture de la cellule. Ce dernier sert de routeur intermédiaire pour
accéder à l'antenne de la cellule.
Figure 5 : Extension de couverture par un
réseau ad hoc
3. Protocole de transport
2.1. Introduction
La fonctionnalité principale de la couche transport est
le transfert de l'émetteur vers le récepteur, des données
de bout-en bout de manière fiable et économique. Elle permet
d'isoler les niveaux supérieurs des variations technologiques et des
imperfections des couches inférieures. Pour cela, elle emploie des
protocoles de transport qui utilise les services de la couche réseau
(IP) pour assurer l'acheminement des données. Les protocoles largement
déployés dans les réseaux IP sont : TCP (Transmission
Control Protocol), UDP (User Datagram Protocol), les protocoles DCCP (Datagram
Congestion Control Protocol) et SCTP (Stream Control Transmission Protocol).
Etant donné que notre intérêt porte sur
l'amélioration de TCP dans les réseaux ad hoc, nous nous
focalisons sur sa description en donnant ces caractéristiques dans les
réseaux filaires pour lesquels il a été conçu et
nous étudions son comportement dans les réseaux sans fil.
18
Chapitre I: Concepts de base
2.2. Le protocole TCP
Le protocole de contrôle de transmission TCP a
été défini pour fournir un service de transfert de
données fiable entre deux applications sur des stations distantes
raccordées par un réseau à commutation de paquets
utilisant le protocole IP (Internet Protocol). La fiabilité du transfert
est obtenue par différents mécanismes tels que
l'établissement de connexion, la gestion de timers de retransmissions ou
encore le contrôle de la fenêtre de retransmissions. La
spécification initiale, définie dans le Request For Comments RFC
793 de 1981 [97] a fait l'objet de nombreux travaux qui ont conduit à
des améliorations de la spécification initiale.
Dans la pratique, la plupart des déploiements du
protocole TCPont été soigneusement conçus dans le contexte
des réseaux câblés. Dans un environnement ad hoc
l'implémentation de TCP peut conduire à des performances
médiocres dues aux propriétés intrinsèques des
réseaux sans fil. Des études récentes de métrologie
rapportent que TCP est non seulement utilisé pour le transport de
données, mais est également utilisé pour le transport des
flux «streaming» [98].
2.2.1. Caractéristiques et fonctionnement
général
TCP est un protocole de transport de bout-en-bout,
fonctionnant en mode orienté connexion dont l'objectif est de
transmettre de manière fiable des données applicatives entre deux
utilisateurs. Le terme orienté connexion signifie que deux machines
souhaitant communiquer via TCP doivent commencer par établir une
connexion avant de pouvoir dialoguer. Une fois la connexion établie, les
deux extrémités de la connexion peuvent communiquer de
manière bidirectionnelle (full-duplex).
Outre le mode orienté connexion et la fiabilité,
les principales fonctionnalités de TCP sont :
Ordre : TCP assure, par utilisation des
numéros de séquence de paquets et des tampons de
réception, que les paquets arrivent dans le même ordre que celui
de leur émission.
Contrôle de congestion : des
mécanismes de contrôle de congestion (slow-start, Congestion
Avoidance, Fast Retransmit, Fast Recovery [21]) permettent d'éviter
l'engorgement du réseau lorsque ce dernier est saturé et
d'augmenter le débit de transmission lorsque le réseau est
faiblement chargé. En fait, le contrôle de congestion assure une
corrélation entre le débit d'émission et le débit
disponible sur le réseau tout en garantissant une certaine
équité pour le partage de ce débit entre plusieurs flux
TCP.
Contrôle de flux : TCP utilise un
mécanisme de fenêtre d'émission glissante dynamique pour
contrôler le débit de transmission de l'émetteur. Le
débit d'une connexion est donc directement lié à la taille
de sa fenêtre, cette dernière représentant la
quantité d'information pouvant être émise. Ce
mécanisme est également utilisé pour le
19
Chapitre I: Concepts de base
contrôle de congestion. N'ayant pas ou peu
d'informations sur la teneur du réseau emprunté, notamment en
termes de type de liens, de débit disponible ou de congestion
éventuelle, TCP ne peut compter que sur les événements
qu'il interprète comme des notifications de congestion pour
établir le débit de la connexion et assurer aux utilisateurs le
meilleur débit instantané possible.
Transfert de flux d'octets de données
: TCP découpe les flux d'octets de données de
l'application en segments dont la taille est en fonction de la fenêtre
glissante. Les segments seront ensuite réassemblés par le
récepteur afin de reformer un flux d'octets qu'il fournira à
l'application destinataire.
Contrôle d'erreur sur bit : TCP
intègre un mécanisme de checksum sur 16 bits pour couvrir les
erreurs sur bit de l'entête et des données.
2.2.1.1. Mécanisme de l'acquittement
Les acquittements sont utilisés pour fiabiliser la
communication. En effet, chaque segment émis dans un flux TCP sera
acquitté par le récepteur. Dans certaines conditions, les
acquittements ne parviennent pas à l'émetteur. Dans ces cas et
après un délai d'attente fixé, chaque segment émis
mais non acquittés et donc considérés comme perdu est
alors réémis. Le délai d'attente ou RTO (Retransmit Time
Out) est enclenché à l'établissement de la connexion et
remis à zéro chaque fois que la transmission d'un segment est
correctement validée. Il est calibré en fonction du délai
d'aller-retour entre l'émetteur et le récepteur noté RTT
(Round Trip Time). Le RTT est lui-même mesuré grâce aux
temps de réception des acquittements. La figure 6 représente le
mécanisme d'acquittement.
Sachant que la perte d'un segment est
généralement due à une congestion sur le réseau,
les acquittements servent également à réguler le
débit d'émission des sources TCP.
Figure 6 : Mécanisme de l'acquittement
Le délai d'aller-retour (RTT) est mesuré
grâce aux temps d'émission des segments et de réception de
leur acquittement. Le TCP utilise le RTT pour calculer le RTO en
Chapitre I: Concepts de base
utilisant l'algorithme de V. Jacobson [98]. Cet algorithme
fournit une valeur lissée du RTT en effectuant une moyenne
pondérée de la valeur actuelle du RTT lissé et de la
dernière mesure du RTT instantané. Il permet également de
calculer un indice de variation du RTT (RTTVAR). Chaque évaluation du
RTT et de sa variation donne lieu à la mise à jour du RTO
[99].
2.2.1.2. La connexion
Entre l'établissement et la fermeture de la connexion,
le mode opératoire de TCP est séparé en deux états
principaux permettant d'assurer le contrôle de flux et de congestion :
- Le début de connexion.
- L'état stable (le TCP fonctionne correctement).
L'établissement d'une connexion TCP s'effectue en trois
phases (figure 7) :
- L'établissement de la connexion
- Le transfert de données
- La fin de la connexion
20
Figure 7 : Etablissement d'une connexion
Où :
- SYN est un paquet de demande de
synchronisation ou établissement de
connexion
- ACK (acknowledment) signale que le paquet est
bien reçu
- SYN-ACK (synchronize,
acknowledge) paquet envoyé par le récepteur.
21
Chapitre I: Concepts de base
La Figure 8 est une représentation simplifiée du
diagramme d'états de TCP insistant sur les changements d'états
qui ont lieu entre l'ouverture et la fermeture d'une connexion.
Figure 8 : Diagramme d'états
simplifié de TCP
3. Fonctions de contrôle de congestion
Le contrôle de congestion est un mécanisme qui
permet de régir le débit d'un ou de plusieurs flux. Ce
mécanisme vise généralement à répondre aux
trois exigences suivantes :
? Maximiser l'utilisation de la bande passante.
? Limiter le nombre de paquets perdus, c'est-à-dire ne pas
dépasser les capacités
des ressources du réseau.
? Partager équitablement la bande passante entre les
différents flux parcourant le
ou les liens les plus lents.
Ce contrôle est implémenté à l'aide
d'une variable (cwnd) nommée « congestion window » ou
fenêtre de congestion. Concrètement, le nombre maximum de segments
de données que l'émetteur peut envoyer avant d'en recevoir le
premier acquittement est le minimum entre cette variable (cwnd) et la taille de
la fenêtre annoncée par le récepteur à chaque
acquittement de paquet. Le contenu de cette variable est piloté par les
algorithmes de départ lent (slow start) et d'évitement de
congestion (congestion avoidance). La limite de croissance de la variable cwnd
est la taille de la fenêtre annoncée par le récepteur. Une
fois la capacité de débit maximale atteinte, si un paquet est
perdu, l'algorithme d'évitement
22
Chapitre I: Concepts de base
de congestion diminue linéairement la valeur de cwnd
(contrairement au slow start qui l'augmente exponentiellement).
Dans ce paragraphe nous allons décrire le
mécanisme sur lequel repose le contrôle de congestion des
différentes versions de TCP.
3.1. La phase slow-start (démarrage lent)
La phase de démarrage lent, ou slow-start est
utilisée quand le TCP ignore quelle est la bande passante disponible au
démarrage de la session, ou lorsque les conditions du réseau
semblent avoir grandement changé forçant à
redécouvrir la nouvelle bande passante disponible.TCP utilise ce
mécanisme pour sonder le réseau : il commence par émettre
une petite quantité de données puis augmente rapidement sa
capacité d'émission jusqu'à la détection d'un
événement de congestion ou au dépassement d'une variable
appelée slow-startthreshold (ssthresh), qui détermine si la
connexion doit continuer en slow-start ou passer à l'état
stable.
Durant le slow-start, l'émetteur commencera par
émettre le contenu de la fenêtre de congestion cwnd, dont la
taille est communément fixée à 3 segments par la RFC 3390
[29] et attend l'acquittement. Une fois l'acquittement reçu,
l'émetteur peut alors doubler le nombre de segments et attendre les
acquittements. Ce comportement se traduit par une croissance exponentielle de
la fenêtre de congestion qui double pour chaque délai
aller-retour, ou RTT jusqu'à trouver la limite de congestion du
réseau. Une fois cette limite atteinte, des segments commencent à
se perdre et l'émission reprend avec une fenêtre de congestion
à 1. TCP quitte alors la phase de slow-start pour passer en mode
d'évitement de congestion et divise par deux la fenêtre de
congestion. La figure suivante (figure 9) illustre la phase du slow-start:
Figure 9 : Démarrage lent de TCP
Le slow-start permet ainsi d'éviter une surcharge du
réseau qui serait préjudiciable non seulement à la
performance individuelle de la connexion mais également à la
23
Chapitre I: Concepts de base
performance collective du réseau. Cependant, il n'en
reste pas moins trop conservateur dans le cas des transmissions de connexions
courtes et inadapté aux réseaux à long RTT de par sa
dépendance directe à ce paramètre. Par exemple, la
transmission d'une connexion de 10 segments, représentative des objets
HTTP, nécessitera au minimum 3 RTTs et donc plus d'1.5 secondes dans un
environnement satellitaire.
3.2. Congestion avoidance (évitement de
congestion)
La phase d'évitement de congestion est utilisée
quand le flux connaît approximativement quel est le débit
disponible. Celui-ci est estimé à la valeur du débit
utilisé lors de la dernière perte. Il s'agit pendant cette phase
de se rapprocher lentement du débit disponible pour éviter de
provoquer une congestion trop importante. Quand une perte est
détectée (par trois ACK identiques ou par l'expiration du
délai de retransmission (RTO)), la fenêtre de congestion est
diminuée en fonction d'un paramètre ?.
3.3. L'algorithme Additive Increase and Multiplicative
Decrease (AIMD)
TCP utilise l'algorithme distribué Additive Increase
and Multiplicative Decrease (AIMD) permettant de faire converger les
différents flux partageant les mêmes conditions réseaux
vers le même débit équitable. Cet algorithme est
basé sur une augmentation additive assuré par la phase
d'évitement de congestion et une réduction multiplicative de la
fenêtre cwnd réalisée à chaque congestion où
cwnd est réduite de moitié.
Lorsque cwnd atteint la taille correspondant à un
partage équitable de la bande passante, le même débit est
obtenu par chaque flux TCP de même RTT traversant le lien
congestionné. Dans ce cas, chaque flux subit les cycles d'une perte
suivie d'une phase d'évitement de congestion [100].
Pour sortir d'une congestion d'autres solutions ont
été proposées où la fenêtre de congestion est
réduite différemment. Les objectifs à garder en vue pour
ces algorithmes sont d'être efficaces, équitables et qu'ils
présentent une convergence vers une solution adéquate à
partir d'un état quelconque et avec une vitesse assez rapide. Ainsi
Z.Wang et J. Crowcroft [101] proposent l'algorithme DUAL dans lequel la
fenêtre de congestion CW est réduite d'un facteur 8 en fonction
des RTT mesurés tous les round-trip. De même que R. Jain [102]
propose une solution TRI-S dans laquelle la fenêtre est également
réduite d'un facteur 8.
3.4. La reprise sur erreur
L'expiration d'une temporisation sur la non-réception
d'un ACK a longtemps été le seul moyen de détecter une
perte. Cette temporisation appelée Retransmission Time Out (RTO) est
enclenchée à l'établissement de la connexion et remise
à zéro chaque fois que la
24
Chapitre I: Concepts de base
transmission d'un segment est correctement validée. Sa
durée importante, fixée à 3 secondes par la RFC 2988
[110], permet d'être certain que le segment attendu est bien perdu mais
également de s'assurer que le réseau a eu le temps
nécessaire pour sortir d'un état potentiel de congestion.
L'expiration du Timer entraîne alors irrémédiablement le
retour dans l'état précédent avec une CW égale
à 1.
Avec ce seul mécanisme de détection, aucune
distinction n'est par exemple possible entre les pertes dues à des
erreurs sur le support et les pertes dues à une congestion majeure du
réseau. Toute perte résulte en une même limitation du
débit de la connexion.
Depuis certaines versions, la reprise sur erreur de TCP a
été affinée en ajoutant des mécanismes qui lui
permettent de distinguer les raisons d'une perte afin de la traiter plus
efficacement. Ces mécanismes reposent sur un des principes de TCP qui
veut que le récepteur envoie à chaque réception de segment
un ACK du dernier segment reçu de façon ordonnée. Ainsi,
la réception d'un segment ne faisant pas numériquement suite au
précédent entraîne l'émission d'un DupACK,
c'est-à-dire un ACK en tout point équivalent au dernier
envoyé.
3.4.1. Fast retransmit (retransmission rapide)
Fast Retransmit utilise la réception de ces DupACKs
pour statuer sur la raison de la perte. La réception de 3 DupACKs,
nombre jugé suffisant pour considérer que les segments
n'arriveront pas de façon désordonnée et que la perte
n'était pas due à une congestion majeure du réseau mais
à un événement isolé, entraîne la
retransmission instantanée du prochain segment attendu par le
récepteur et la transition vers l'état stable.
3.4.2. Fast-recovey (recouvrement rapide).
Ce passage à l'état stable se fait via une
réduction significative de cwnd afin de prévenir une potentielle
surcharge du réseau. Fast-Recovery [110, 111] est alors utilisé
pour diminuer l'effet de cette réduction de la fenêtre : chacun
des DupACKs reçu incrémentera la taille de cwnd d'une
unité et ce jusqu'à la réception de l'accusé du
segment retransmis.
3.4.3. Selective Acknowledgment (SACK)
Il n'est pas rare que TCP subisse des pertes multiples dans
une même fenêtre, ce qui a pour conséquence de
détériorer de façon importante sa performance. En effet,
sans mécanisme approprié, la réception des DupACKs ne
permet à TCP de récupérer qu'une perte par RTT. Le
mécanisme SACK [103] associé à une politique de
retransmission sélective permet de récupérer des pertes
multiples. Le récepteur TCP ne se contente plus de renvoyer un DupACK
accusant réception du dernier segment arrivé dans l'ordre, mais
envoie également à l'émetteur les segments qu'il a
correctement reçus dans un champ
25
Chapitre I: Concepts de base
SACK. L'émetteur peut alors retransmettre les
données manquantes dès réception des DupACKs signalant le
ou les mêmes segments manquants.
4. Variantes de TCP
Depuis l'apparition du protocole de transport TCP, plusieurs
algorithmes qui visent à améliorer le mécanisme de
contrôle de congestion ont été proposés. Tous ces
algorithmes utilisent le même principe de transmission que TCP de base,
par contre chaque algorithme propose un nouveau mécanisme de
détection et d'évitement de congestion. Ces différentes
variantes ont été proposées dans le but de permettre
à TCP de réagir au mieux aux pertes de paquets. Dans ce qui suit,
nous allons donner un aperçu sur le fonctionnement des principales
variantes de TCP.
4.1. TCP Tahoe
La première version de TCP basée sur un
système de fenêtrage variable est apparue pour répondre aux
situations de congestion dans les réseaux longue distance. Cette version
est baptisée TCP Tahoe. Elle utilise un système de slow-start,
avec une valeur initiale de cwnd à 1 et une valeur de cwnd maximum de
ssthresh (avec une valeur par défaut de 65535). Au début TCP
Tahoe effectue un slow start, une fois qu'une perte de paquet se produise, le
nouveau ssthresh prend la valeur de cwnd courante et celle-ci est remise
à la valeur 1. Une fois le seuil ssthresh atteint, TCP exécute
une Congestion Avoidance. À partir de là la valeur de cwnd
augmente de façon linéaire et donc plus lentement qu'en
slow-start. A la réception de trois fois le même ACK, une
congestion est déclarée et le paquet perdu est renvoyé
sans attendre l'expiration du timeout (fast retransmit).
Le problème majeur de Tahoe est le temps
dépensé dans la détection de pertes. En effet, les
temporisateurs sont généralement et même plus souvent d'une
résolution de 500 ms, pendant que les délais d'aller retour
tendent de plus en plus à se raccourcir (câbles torsadé,
fibre optique,...). La détection d'une perte peut alors prendre au moins
500 ms ce qui constitue plusieurs délais d'aller retour.
4.2. TCP Reno
La différence avec Tahoe est qu'il utilise le
Fast-Recovery. A la réception de trois ACK dupliqués il
réduit de moitié la valeur de cwnd, ensuite il fixe le seuil de
ssthresh à la taille de cwnd. Il entre ensuite en phase de
retransmission rapide et en recouvrement rapide. S'il a un timeout il entre
à nouveau en phase démarrage lent comme avec TCP Tahoe mais avec
une fenêtre de congestion à 1MSS (maximum segment size).
26
Chapitre I: Concepts de base
Les principales innovations dans TCP Reno par rapport à
TCP Tahoe sont le facteur de réduction de la fenêtre, dans le cas
où une perte est détectée par acquittements
dupliqués, et les actions à entreprendre à ce moment. En
effet, dans Reno lors de la détection d'une perte par acquittements
dupliqués, seul le paquet supposé être perdu, mais pas les
suivants, est retransmis, et la phase de congestion au lieu du slow start est
exécutée à nouveau. Cependant, les performances de TCP
Reno se dégradent lorsque plusieurs pertes successives ont lieu dans la
même fenêtre de données.
4.3. TCP New Reno
L'algorithme New Reno n'est qu'une modification
légère mais significative apportée à l'algorithme
Reno. En effet, cette modification, permet à TCP New Reno
d'éviter de devoir attendre pour qu'un déclenchement de
retransmission se produise lorsque plusieurs paquets sont perdus au sein d'une
même fenêtre de congestion.
Le changement s'opère au niveau de la phase de
recouvrement rapide (Fast recovery) : Tant que l'émetteur n'a pas
reçu les ACK de tous les paquets perdus (réception d'un
acquittement partiel pour seulement une partie des segments perdus), TCP New
Reno reste dans cette phase. Un accusé partiel permet donc de se rendre
compte que parmi les paquets retransmis une première fois, certains ont
à nouveau été perdus. Dès lors, cette version
n'attend pas un Time Out pour retransmettre ces paquets perdus. TCP New Reno ne
quitte pas l'algorithme de Fast Recovery contrairement à Reno qui sort
de ce mode dès la réception d'un ACK non dupliqué.
La version TCP New Reno apporte des réponses aux pertes
successives, cependant elle souffre du fait qu'elle utilise un RTT pour
détecter chaque perte de paquet. Néanmoins elle est parmi les
versions les plus utilisées de TCP actuellement.
4.4. TCP Vegas
Plutôt que d'attendre une perte de paquet, TCP Vegas
prend en compte le temps de réponse du destinataire (le RTT) afin d'en
déduire le ratio auquel envoyer les paquets. En fonction du temps de
réponse, on est capable de supposer l'état des buffers des
routeurs intermédiaires. Vegas modifie pour cela plusieurs algorithmes
vus jusqu'ici (slow-start, Congestion Avoidance, Fast Retransmit). Grâce
à cette technique, Vegas à de meilleurs débits et moins de
pertes de paquets que Reno. Cet algorithme permet d'atteindre un partage
équitable des ressources. De même, il y a assez peu de pertes avec
Vegas puisqu'à l'état stable, le débit correspond de
près à la capacité du lien [33].
TCP Vegas permet de s'adapter plus rapidement aux changements
de disponibilité des liens. Cependant, les performances se
dégradent lorsqu'il est utilisé avec d'autres protocoles qui ne
prennent pas en compte l'état des liens avant une perte de paquet. Son
inconvénient est qu'il nécessite une modification de la pile TCP
au niveau de l'émetteur et du récepteur.
27
Chapitre I: Concepts de base
4.5. TCP Westwood+
TCP Westwood est une variante modifiée
côté émetteur de l'algorithme de TCP New Reno. Cette
modification a pour but d'apporter une meilleure gestion des LFN (long fat
network). TCP Westwood modifie les valeurs de ssthresh et de cwnd en fonction
des estimations qu'il fait sur la bande passante disponible. La première
version faisant de mauvaises estimations, elle a été
corrigée par la suite, d'où le nom Westwood+. Ces estimations se
basent, comme pour Vegas sur le temps de réponse du destinataire (RTT),
sauf que ces estimations sont utilisées différemment.
TCP Westwood possède un mécanisme qui
détecte qu'il n'y a pas de congestion (Persistent Non Congestion
Detection, PNCD), ce qui lui permet de rapidement utiliser la bande passante
disponible. Il modifie le slow-start (devient moins agressif) en y ajoutant une
phase : « Agile Probing ». Cette modification lui permet (avec les
estimations via le RTT) d'avoir une phase d'accroissement de cwnd [34] quasi
exponentielle puis de se stabiliser, d'accroître, puis de se stabiliser,
etc...
L'algorithme gagne beaucoup en efficacité, mais perd en
équité puisqu'en cas de pertes de paquets il ne s'adapte pas
directement en divisant la fenêtre cwnd par deux.
4.6. TCP SACK
Dans cette version les algorithmes de slow-start et de
Congestion Avoidance sont les mêmes que pour TCP Reno. Lors d'une perte
de paquets, Selective ACK TCP ou TCP SACK permet de déduire que le
récepteur a reçu les paquets jusqu'à la séquence
numéro N, mais aussi de préciser à l'émetteur que
le récepteur a reçu certains des paquets suivants.
L'émetteur n'a plus à renvoyer des segments déjà
reçus. SACK est une option qui se négocie à la connexion.
Cette option permet de gagner un peu de performances, lors de pertes de
segments, mais il est nécessaire qu'il soit implémenté sur
les deux parties (émetteur et récepteur).
5. TCP et les réseaux sans fil
Initialement le protocole TCP a été conçu
pour faire face aux pertes de paquets liés à la congestion dans
les réseaux filaires. Cependant, les études menées sur TCP
en environnement sans fil [121], indiquent une dégradation de
performances, par rapport à son fonctionnement en environnement filaire.
La dégradation de performance s'explique par différents facteurs
:
- Limitation de la bande passante
Contrairement à un réseau filaire, la largeur de
bande disponible est réduite : des débits de 11 à 50 Mbps
pour les réseaux locaux sans fil de type 802.11 à comparer
avec
28
Chapitre I: Concepts de base
des débits de 100 Mbps à 1 Gbps pour les
réseaux locaux filaires type IEEE 802.3 (Ethernet), et ceux de l'ordre
du 10 Gbps pour les fibres optiques des réseaux longue distance.
- Taux d'Erreur Lien
Le taux d'erreurs bits (Bit Error Rate, BER) sur des liaisons
sans fil est de l'ordre de 10-2 jusqu'à 10-3 alors
que celui sur des liens filaires se situe entre 10-6 et
10-12. Ces erreurs provoquent des destructions de paquets qui
empêchent l'émetteur de recevoir un acquittement avant
l'expiration du timer de retransmission; celui-ci doit alors,
conformément aux procédures de contrôle de congestion,
diminuer sa fenêtre et retransmettre car TCP assimile l'altération
temporaire à une congestion. Ces altérations sur les liens sans
fil peuvent survenir par burst (en rafales) en provoquant plusieurs pertes de
paquet sur une période de temps inférieure au temps pour
émettre une donnée et recevoir l'acquittement (temps
aller/retour).
Notons que dans le cas de réseaux sans fil
utilisés en accès d'un réseau longue distance filaire, la
perte de paquet au dernier saut sur la liaison sans fil provoque une
retransmission de bout en bout, génératrice de trafic
supplémentaire sur le lien sans fil, et donc encombrement et source
d'erreurs additionnelles.
- Mobilité de l'utilisateur
Quand un mobile se déplace d'une cellule dans une
autre, un ensemble d'informations doit être transporté de son
ancienne station de base à sa nouvelle station. Cette procédure,
nommée Handover, peut provoquer de courtes interruptions de la
connectivité. Le protocole de transport TCP assimile ces périodes
de déconnexion à des phases de congestion et déclenche
inutilement la procédure de contrôle de congestion qui diminue le
débit du flux. L'interruption momentanée de la communication peut
également être liée à un mobile qui sort de sa zone
de portée de transmission ou bien des signaux radio bloqués par
des obstacles.
- Fluctuation des valeurs de RTT
En plus des pertes de paquets dues à
l'inefficacité des canaux sans fil, de fortes fluctuations de valeurs
RTT à travers la connexion peuvent entraîner l'expiration du TCP
Retransmission Time-Out. Cette situation conduit au déclanchement de
l'algorithme de contrôle de congestion et à la retransmission des
paquets, bien que ces derniers ne sont pas réellement perdus mais
simplement retardés. Ainsi, le protocole TCP diminue sa fenêtre de
congestion au minimum et sous-utilise la bande passante disponible inutilement,
en plus de sa consommation d'énergie pour retransmettre les paquets
supposés perdus.
5.1. Problèmes de TCP dans les réseaux ad hoc
mobiles
Les principales raisons qui entraînent une
dégradation de performance dans les réseaux ad hoc proviennent,
comme dans les réseaux sans fil, de la qualité du lien sans
fil,
Chapitre I: Concepts de base
mais également de la qualité du chemin. Une
raison à cette dégradation provient du comportement erroné
de TCP qui déduit à tort les pertes de données comme une
congestion et diminue inutilement son débit d'émission.
- Pertes de données dans les réseaux ad
hoc
Les réseaux ad hoc présentent un taux d'erreurs
plus important que celui des réseaux traditionnels en raison du taux
d'erreurs (BER) des liaisons sans fil, mais également des pertes
liées aux collisions de la couche d'accès au médium, ou
encore de problèmes des noeuds cachés.
- Coupures de chemin dans les réseaux ad hoc
mobiles
La mobilité des noeuds du réseau provoque des
modifications de topologie gérées par la couche réseau. Le
protocole de routage est en charge du rétablissement du chemin en cas de
rupture du chemin courant, en exécutant un processus de
rétablissement dont le délai est non négligeable. Celui-ci
est fonction du nombre de noeuds dans le réseau, des types de
transmission des noeuds, de la topologie courante du réseau, de la bande
passante disponible et de la nature du protocole de routage.
Si ce temps de rétablissement est plus grand que la
valeur du temps de retransmission, l'émetteur suppose l'apparition d'une
congestion dans le réseau et retransmet les paquets perdus. Ces
retransmissions peuvent, si le chemin n'a toujours pas été
rétabli, mener à un gaspillage de bande passante et de batterie
ainsi qu'une augmentation dans le délai d'acheminement de bout en bout.
De plus de par le contrôle de congestion, lorsqu'un nouveau chemin aura
été mis en place, le débit sera inutilement faible.
- Impact de la longueur du chemin
La possibilité d'une coupure de chemin augmente avec la
longueur de celui-ci et lorsque la longueur augmente, le débit de TCP se
dégrade comme nous le montrons sur la Figure 10 :
Figure 10 : Variation du débit de TCP
avec la longueur du chemin
29
30
Chapitre I: Concepts de base
- Comportement asymétrique de liens et de
chemins
Les propriétés du canal radio utilisé
dans les réseaux ad hoc peuvent mener à l'existence de liens
asymétriques entre noeuds. En effet, un paquet est correctement
délivré à un noeud dans le sens aller, mais
l'acquittement, peut ne pas être reçu dans le sens inverse. Cette
impossibilité de réception peut être temporaire, le temps
que le canal radio devienne à nouveau bidirectionnel.
Dans les réseaux ad hoc utilisant le protocole
d'accès IEEE 802.11, chaque acquittement ACK peut nécessiter un
échange de trames RTS-CTS (Request To Send - Clear To Send) qui peut
mener à une consommation significative de la bande passante sur le
chemin inverse. Si ce dernier est symétrique du chemin aller, ceci
entraînera une réduction du débit sur le chemin aller. A
noter qu'une coupure de chemin sur un chemin d'acquittement affectera
inutilement le protocole.
- Pic de signalisation et recherche de route
La construction des tables de routage par la couche
réseau nécessite l'envoi de nombreux paquets de signalisation.
Dans le cas des protocoles réactifs, le médium va leur être
dédié durant une période assez longue. Le fort coût
d'accès au médium en temps et en espace, fait que cette
période peut-être suffisamment longue pour produire des
expirations du timer de retransmission sur certaines connexions. Il n'y a pas
réellement de congestion dans le réseau mais seulement un pic de
charge de signalisation. Celui-ci peut se produire à
l'établissement du chemin mais surtout à la restitution d'une
route en cas de rupture.
- Contrôle de flux par fenêtres
glissantes
TCP emploie une fenêtre coulissante pour contrôler
le flux et éviter des engorgements du récepteur. Dans les
réseaux ad hoc, le mécanisme de fenêtre coulissante peut ne
pas être adapté, lorsque le protocole d'accès n'est pas
équitable. Par exemple, les protocoles d'accès tels que le
protocole CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)
montrent une iniquité d'accès à court terme, car un noeud
qui a capturé le canal a une probabilité plus
élevée de le capturer à nouveau. Dans [122], il a
été montré que cette iniquité peut mener à
la réception d'un groupe de paquets d'acquittement, qui provoquera un
effet de burst sur l'émission de trafic.
6. Le protocole HTTP
HTTP est le protocole le plus utilisé de la couche
Application [104] pour la transmission de médias sur TCP. Il
définit ses propres formats de message et aussi comment le client et le
serveur s'échangent les messages. HTTP est un protocole sans
état, car il ne conserve aucune information d'état sur le client
et ses requêtes. Il prend en charge deux modes de connexion, le mode de
connexion persistante qui correspond à l'utilisation de la même
connexion TCP pour servir plusieurs requêtes provenant du même
client au
31
Chapitre I: Concepts de base
cours d'une période de temps et le mode de connexion non
persistante qui correspond à l'utilisation de connexion
séparée pour servir chaque requête.
HTTP définit deux types de messages pour son
fonctionnement, les messages de requête et les messages de
réponse. Un message type de requête HTTP peut être
illustré par l'exemple suivant :
GET / somedir / page .html HTTP /1.1 Host : www.nt.uni - saarland
.de Connection : close User - agent : Firefox Accept - language : En
Les messages HTTP sont des messages texte ASCII et se
composent de plusieurs lignes. La première ligne correspond à la
ligne de demande et les lignes suivantes sont appelées lignes
d'en-tête.
? La ligne de requête comporte trois champs, la
méthode, l'URL et le champ de
version HTTP.
? La méthode correspond à l'action à prendre
et les options possibles
comprennent GET (permettant d'accéder à l'objet
ou au fichier sur le serveur), POST, HEAD, PUT et DELETE.
Le message réponse HTTP peut être illustré
par l'exemple suivant :
HTTP \/1.1. 200 OK
Connection : close
Date : Wed Dec 26 09:17:28 CET 2012 Server : Apache /2.2.3 (
Debian ) Transfer - Encoding : chunked
Content - Type : text / html
( data data data data )
32
Chapitre I: Concepts de base
Le message de réponse comprend trois sous-sections,
à savoir: la ligne d'état, la ligne d'en-tête et les
données. La ligne d'état indique l'état du serveur et
inclut la version de protocole, le code d'état et le message
d'état. Chaque code d'état informe le client sur le
résultat de la demande. Par exemple, le code «200 OK» indique
que la requête a aboutie (succès). De même, le statut
«404 Not Found» est envoyé si le document demandé
n'existe pas au niveau du serveur.
8. Les services de vidéo streaming
7.1. Introduction
Au début, l'Internet était utilisé pour
partager et échanger des informations textuelles. Dans les années
quatre-vingt et avec l'apparition de machines de plus en plus puissantes on
commençait à l'utiliser aussi pour transmettre des contenus
multimédias et pour des transmissions en temps réel.
L'infrastructure des réseaux était construite
pour des transmissions en paquets indépendant du temps. La diffusion en
temps réel nécessite un contrôle de flux qui prend en
compte les dépendances temporelles des paquets. Ces fonctions
n'étaient pas fournies par les anciennes techniques.
7.2. Le streaming vidéo
Le Streaming consiste à découper les
données en paquets dont la taille est adaptée à la bande
passante disponible entre le client et le serveur. Quand le client a
reçu suffisamment de paquets (buffering), l'application cliente commence
à jouer un paquet, décompresse un autre et reçoit un
troisième. Ainsi la technologie du streaming permet de commencer
à visualiser un contenu multimédia sans être obligé
de télécharger la totalité des données (cf.
Figure 11) [105]. Les flux transmis et affichés sont du type
multimédia (vidéo, audio ou les deux). D'autres types de
médias (photos, livres électroniques, applications, etc) n'ont
pas besoin de cette méthode de transfert, car n'ayant aucune contrainte
de séquentialité, ils sont téléchargés
entièrement avant d'être traités, exécutés ou
affichés.
Transfert
Visualisation
Temps
Figure 11 : Média streaming
33
Chapitre I: Concepts de base
Les flux audio et vidéo sont généralement
volumineux, ce qui suppose un délai important de transmission. Cette
latence peut ne pas être acceptable pour l'utilisateur. De plus, l'objet
doit être stocké dans le disque de l'équipement
récepteur, qui peut parfois être un problème à cause
de la taille.
Par ailleurs, les flux multimédia ne sont pas souvent
lus dans leur totalité. Les usagers visionnent
généralement le début d'une vidéo ou d'une chanson
pour en connaître le contenu avant de l'arrêter, puis
l'arrêter au milieu. Dans cette situation il est inutile de
télécharger tout le fichier audio ou vidéo et ainsi de
gaspiller la bande passante du réseau. Les événements dits
en direct, audio ou vidéo, créés et transmis en temps
réel, doivent être transmis au fur et à mesure de leurs
productions. Dans ce cas, il est impossible d'enregistrer préalablement
le contenu à transmettre.
Le streaming est considéré comme un défi
technologique, de part ses contraintes de temps réel : une sorte de
synchronisation des données doit être fournie par la source de
l'information et correctement traitée à la réception afin
d'afficher les données (vidéo ou audio) de façon
adéquate. Le Multimédia streaming emprunte l'Internet comme un
moyen de transmission économique. Ce streaming peut être
envoyé de deux manières différentes : unicast ou
multicast. L'unicast implique l'envoi d'un flux multimédia
séparément à chaque destinataire, alors qu'en multicast,
le même flux est envoyé dans le réseau, et est
dupliqué proportionnellement au nombre d'utilisateurs.
7.3. Le système de streaming multimédia
Le streaming multimédia diffère du transfert de
données textuelles. Il peut tolérer une certaine quantité
de perte de données tant dit qu'il nécessite une livraison en
temps réel (contrainte de délai strict) du contenu. En plus de la
diffusion habituelle entre un émetteur et un récepteur unique
(unicast), il existe des scénarios où plusieurs clients ont
besoin d'être pris en charge au même moment (multicast). Pour
assurer ceci, différents protocoles de transport multimédia,
codages et format de représentation et de transmission ont
été définis et mis au point au fil du temps. La
diversité de ces formats a créé de différents types
de systèmes de médias streaming (y'a pas de solution standard).
En général, les systèmes de diffusion de médias
peuvent être classés en fonction du type de contenu en cours de
transfert, de la méthode d'accès, des algorithmes de
contrôle (d'adaptation) et des protocoles de réseau
sous-jacents.
Les principaux composants d'un système de streaming
multimédia sont : l'encodeur, le serveur streaming, le client, le
protocole de transfert des médias et le réseau physique
sous-jacent de streaming. Un tel système de transmission (en continu)
est représenté à la figure 12.
34
Chapitre I: Concepts de base
Figure 12 : Système
général de streaming multimédia
Les fonctions généralement effectuées par
un système de streaming multimédia sont la capture, l'encodage,
le stockage, la transmission, la réception, le décodage et le
rendu. Initialement, la caméra capture des événements du
monde réel et produit le contenu multimédia soit sous forme
d'images fixes ou d'une séquence d'images (vidéo). Dans certains
cas, la sortie de l'appareil est en format de support brut sans aucune
compression. Ce média brut ne peut être transféré
sur le réseau car il nécessite une très grande bande
passante (en raison de sa grande taille). Pour transmettre le média, il
doit être compressé en utilisant des normes de compression
appropriée (par exemple, MPEG) à l'extrémité
émettrice. Les données compressées sont du coté
serveur, soit comme un fichier unique ou un ensemble de fichiers.
La partie qui envoie est elle aussi titulaire des fichiers de
description multimédia. Ces fichiers peuvent contenir diverses
métadonnées telles que des informations sur le lieu et le moment
des fichiers multimédias disponibles sur le serveur. A la demande du
récepteur, l'expéditeur lui transmet les fichiers de description
et les fichiers multimédias. Du coté récepteur (client),
le fichier multimédia est reçu sous la forme de paquets, par la
suite ces paquets vont être rassemble pour donner le fichier
multimédia compressé d'origine. Le flux compressé entre
dans un décodeur, qui décode les médias et les transmit
par la suite au moteur de rendu pour l'affichage.
8. Les différentes technologies de
streaming
8.1. Le streaming en direct et le streaming
stocké
La diffusion peut être directe ou stockée. Le
streaming en direct doit respecter une contrainte de temps très stricte.
Les opérations de capture, d'encodage, de transmission, de
35
Chapitre I: Concepts de base
décodage et d'affichage doivent être
effectuées en temps réel et sans délai
supplémentaire pour les feedbacks et la retransmission. Dans un
environnement avec de telles contraintes de temporisation strictes, si les
données sont retardées ou corrompues, aucune mesure corrective ne
pourrait être effectuée. Mais en cas de streaming stocké,
les données sont stockées chez l'émetteur (serveur). Ils
peuvent être corrigés ou retransmises en cas de perte ou de
dégradation.
Basé sur la présence (coté client et / ou
serveur) ou l'absence d'un mécanisme d'adaptation, le streaming
vidéo peut être classé comme adaptatif ou non adaptatif.
8.1.1. Streaming adaptatif
Le streaming adaptatif est un processus qui ajuste la
qualité d'une vidéo transmise en fonction des conditions du
réseau variables telles que la bande passante disponible, la
résolution d'affichage, la puissance du processeur, l'état
tampon, etc., afin de garantir la meilleure expérience d'affichage
possible. La figure 13 suivante décrit un flux direct adaptatif :
Figure 13 : Flux direct adaptatif
Le streaming adaptatif est devenu très populaire parce
qu'il améliore largement l'expérience de l'utilisateur final : la
qualité de la vidéo est ajustée dynamiquement aux
conditions du réseau de l'utilisateur afin d'offrir la meilleure
qualité possible. Il réduit aussi la mémoire tampon et
optimise la livraison à travers une large gamme d'appareils.
8.1.2. Le streaming non adaptatif
Dans ce mode, une seule version codée de la
vidéo est utilisée. Par conséquent, aucune
flexibilité n'est disponible en choisissant automatiquement entre les
différentes versions des médias. Ce qui fait que la teneur en
continu ne peut être adaptée aux conditions disponibles. Par
conséquence, si le dispositif de l'utilisateur ne dispose pas
suffisamment de bandes passantes, des ressources du processeur ou de la
mémoire,
36
Chapitre I: Concepts de base
l'affichage de la vidéo chez l'utilisateur va souffrir
d'interruptions (playout). Cependant, dans certains systèmes non
adaptatifs, l'utilisateur dispose de multiples qualités et peut choisir
manuellement la bonne qualité vidéo qui va avec ces
ressources.
9. Conclusion
Dans ce chapitre nous avons défini tout ce qui est
pré requis à notre travail. Vu que notre environnement de travail
est principalement basé sur les réseaux sans fil en
général et les réseaux Ad Hoc mobile en particulier, nous
avons commencé par la description de cet environnement en citant les
caractéristiques et contraintes spécifiques. Par la suite, comme
notre recherche porte sur l'amélioration des performances du protocole
de transport TCP, nous avons défini ce protocole ainsi que son
fonctionnement et ses différents mécanismes et versions. Enfin,
pour le deuxième axe, nous avons défini notion de vidéo
streaming adaptative, son évolution, ses différents
mécanismes et protocoles afin de les utiliser dans les chapitres suivant
comme base de recherche.
CHAPITRE II : ETAT DE L'ART
37
Chapitre II : Etat de l'art
CHAPITRE II ETAT DE L'ART
Sommaire
1.
Introduction
2.
La qualité de service
3.
La qualité d'expérience
4.
L'approche cross-layer
5.
Apprentissage dans le streaming adaptatif
6.
Performances du protocole TCP dans les réseaux
sans fil ad hoc
7.
Impact du protocole TCP sur les services vidéo
streaming adaptatifs
8.
Conclusion et critiques
1. Introduction
.. 35
..76
Dans les sections suivantes de ce chapitre nous passons en
revue les éléments utiles qui entrent dans la conception de nos
approches.
.61
2. La qualité de service
Le développement considérable de l'Internet et
l'arrivée sur le marché d'offres de connexions à haut
débit, ont ouvert la voie au développement de nombreuses
applications multimédias. Ces applications possèdent des
contraintes qui ne s'adaptent plus au service best-effort (service au mieux)
fourni nativement par l'Internet.
Ainsi, les exigences du trafic liées à la nature
variable du flux multimédia ont rapidement fait sentir le besoin en
matière de débit. La diversité de l'information transmise
a motivé l'apparition de nouveaux mécanismes afin d'apporter
davantage de robustesse dans le fonctionnement du réseau. Ces exigences
ont été regroupées sous le concept de Qualité de
Service (QdS). Au niveau architecture ce concept est variable pour chaque
couche du réseau. La QdS est traitée différemment en
fonction du niveau de l'information (message, paquet, trame, bit).
Il existe différentes définitions du concept de
QdS. Dans [124], Crawley la définit comme un ensemble de
nécessités que doit satisfaire un réseau en transportant
un trafic
38
Chapitre II : Etat de l'art
donné. Ces nécessitéssont traduites par
des métriques qui font référence à la
capacité du réseau à transporter lesinformations en terme
de disponibilité, au délai maximal que doit expérimenter
les paquets,au taux de perte de paquets minimal que doit garantir le
réseau, etc. [125]. Pour assurer que ces métriques aient des
valeurs permettant de satisfaire les besoins, différents
stratégies ou mécanismes sont utilisés par les
opérateurs et administrateurs de réseaux. Ces techniques incluent
le routage, la régulation de trafic, l'ordonnancement de paquets, le
contrôle du trafic, le contrôle d'admission, etc.
2.1 Définition
L'ISO 8402, définit la qualité de service (QdS)
comme : l'ensemble des caractéristiques d'un produit ou d'un service qui
confère à celui-ci la possibilité de satisfaire aux
exigences énoncées. Tant dit que l'ISO 9000, défini cette
notion comme l'aptitude d'un ensemble de caractéristiques
intrinsèques à satisfaire des exigences.
Dans les réseaux informatiques le terme QdS fait
référence à une large collection de technologies et de
techniques qui visent à offrir aux applications et à leurs
utilisateurs des priorités non fonctionnelles (dites de QdS, telles
qu'un débit garanti ou un délai borné par exemple) sur le
transfert de leurs données de bout-en-bout.
On considère généralement qu'il n'est pas
nécessaire pour l'application de savoir comment l'information est
acheminée de bout en bout par le réseau ; cependant,
l'utilisateur final est sensible à certaines propriétés
qui ont un impact direct sur sa satisfaction vis-à-vis du réseau.
On considère généralement que son ressenti peut se
résumer par quatre paramètres pertinents qui sont :
- La latence, c'est-à-dire le délai
instantané qui impacte la transmission de bout en bout,
- La gigue, qui est la différence de latence entre les
paquets (certains vont très vite, d'autres plus lentement),
- Le débit, qui correspond au volume d'information
transporté par unité de temps,
- La perte de paquets, c'est-à-dire le taux de paquets
qui n'arrivent pas à leur destination.
Suivant le type d'application visé, les quatre
paramètres n'ont pas la même importance. Par exemple, dans le
cadre d'un transfert de fichier, la latence et la gigue ont peu d'impact sur
l'utilisateur, l'essentiel étant que le fichier soit
transféré rapidement et sans erreur. Dans le cadre d'une
communication téléphonique (transport multimédia
interactif), le débit importe peu, tant qu'il suffit à
transporter les données vocales numérisées ; cependant les
paramètres temporels (latence, gigue) et le taux de paquets perdus ne
doivent pas dépasser un certain seuil pour le confort des participants
à la conversation téléphonique.
Chapitre II : Etat de l'art
On peut alors définir deux paramètres pour
évaluer les besoins d'une application communicante :
? L'élasticité, c'est-à-dire la
faculté d'une application réseau à s'adapter [127]
à un changement brusque de qualité de connexion (typiquement, une
application de transfert de fichier ou une application de streaming
vidéo avec adaptation automatique du CODEC selon le débit de la
ligne est fortement élastique),
? L'interactivité, c'est-à-dire le niveau
d'interaction ou de réactivité nécessaire pour un bon
fonctionnement de l'application entre les deux points communicants
(typiquement, les applications de type temps réel sont
fortement interactives).
3.La qualité d'expérience
3.1. Définition
La QoE désigne, suivant la définition de
l'European Telecommunications Standards Institute (ETSI), une mesure de
performance du point de vue de l'usager d'un système de communication
basée sur des mesures psychologiques objectives et subjectives [123].
Elle prend en compte des paramètres techniques tels que les
paramètres de QdS et est influencée par le contexte dans lequel
la communication se fait et les attentes de l'usager. Dans le contexte des
services de communication, la QoE peut être influencée par de
nombreux facteurs tels que le type de service ou le service lui-même, le
contenu, le réseau, le matériel de diffusion, l'application
utilisée ainsi que le contexte d'utilisation. La QoE est une mesure
importante de la performance globale d'un système de communication qui
prend en compte ce qui se passe en amont et en aval du réseau jusqu'aux
terminaux des utilisateurs (voir Figure 14) :
39
Figure 14 : QdS/QoE domaines d'application
inspirés de [126]
40
Chapitre II : Etat de l'art
Il est important de noter la différence entre QdS et
QoE. Considérant le modèle de référence, OSI, la
QdS concerne particulièrement les couches inférieures
jusqu'à la couche transport et la QoE les couches supérieures
(Figure 15).
Figure 15 : QdS/QoE couches dans le
modèle OSI
3.2. Les approches de la QoE
Pour mesurer la QoE, différentes approches ont
été identifiées. Ces approches dépendent du type de
l'application et sont catégorisées en méthodes
subjectives, objectives et modèles de planification réseau. Les
méthodes subjectives se basent sur l'opinion des usagers sur un service
multimédia. Suivant ces méthodes, il est demandé aux
usagers d'indiquer par des notes variant de 1 à 5 leur niveau de
satisfaction et la moyenne donne le MOS. Bien qu'elles soient
considérées comme les méthodes les plus fiables pour
évaluer la QoE, elles comportent, néanmoins, certains
inconvénients. En effet, ces méthodes sont très
fastidieuses, consomment beaucoup de temps et ne peuvent être
utilisées en temps réel. Pour pallier à ces limitations,
des méthodes objectives ont été élaborées et
standardisées. Elles permettent d'évaluer la QoE en se basant sur
un ensemble de paramètres liés à un service particulier ou
sur des paramètres du signal à la sortie pour estimer la QoE. Ces
méthodes sont :
3.2.1. Les approches objectives
Par définition, les approches objectives sont
basées sur des techniques mathématiques ou/et comparatives qui
génèrent des mesures quantitatives de la qualité d'un
service proposé à un utilisateur. Ce type d'approche est utile
pour la surveillance de
41
Chapitre II : Etat de l'art
la qualité d'un service en cours d'utilisation, pour la
conception du réseau des terminaux utilisés, ainsi que dans
l'optimisation de la sélection des codecs à utiliser. Il existe
deux types de méthodes objectives:
- Les méthodes intrusives :
Les méthodes intrusives sont basées sur les
signaux, tandis que les méthodes non intrusives sont basées sur
les paramètres du réseau ou de l'application. En
général, les méthodes intrusives sont exactes, mais ne
sont pas utilisables pour la supervision du trafic en temps réel. Ceci
à cause de la nécessité d'avoir à disposition la
source du service comme modèle de référence pour la mesure
de la qualité. En effet, ces méthodes comparent le signal
à la source, considéré comme une référence,
au signal déformé à la sortie pour donner une estimation
de la QoE. Dans certains cas, les caractéristiques du signal
d'entrée peuvent être inconnues.
- Les méthodes non intrusives :
À l'inverse, l'avantage des méthodes non
intrusives est qu'elles ne nécessitent pas d'acquérir l'original
du service comme référence. Elles évaluent le signal
à la sortie et une estimation de la QoE est déduite. Elles
peuvent donc être utilisées pour une mesure de la qualité
de l'expérience en direct.
Les approches objectives ne prennent
généralement pas en compte le contexte d'utilisation. Dans le cas
d'une diffusion multimédia, ces éléments peuvent
être le type de contenu multimédia diffusé ainsi que la
façon dont l'utilisateur reçoit ce contenu (type de terminal). Il
met aussi de côté la façon dont le contenu est perçu
par le système visuel humain (HVS) [71]. C'est pourquoi plusieurs
travaux [72, 83] ont montré que les évaluations objectives de la
qualité de l'expérience avaient une corrélation faible
avec la perception subjective d'un utilisateur humain.
3.2.2. Modèles de planification
réseau
Les modèles de planification réseau sont
considérés comme une sous-catégorie des méthodes
objectives car ils ne se basent pas sur les opinions des usagers. Cependant,
ils ne procèdent pas à une analyse du signal réel mais ils
utilisent une fonction qui fait le lien entre la QoE et des paramètres
intrinsèques du réseau notamment ceux de la QdS.
3.2.3. Approche subjective
Les approches subjectives sont généralement
basées sur des tests d'utilisateurs devant évaluer
différentes configurations d'un service. De nombreuses publications
utilisant ces méthodes ont été réalisées
[13, 48, 49]. Mais ceux-ci sont généralement basés sur la
recherche d'un seuil d'acceptabilité général permettant de
contenter la majorité des utilisateurs. Le principal objectif de ces
études et de définir les différents seuils de
qualité pour la diffusion multimédia.
42
Chapitre II : Etat de l'art
3.2.3.1. Score d'opinions moyen (MOS)
La méthode la plus utilisée pour les tests
subjectifs est « le score d'opinions moyen» (MOS). Le MOS est une
méthode standardisée dans une recommandation de l'ITU T [35].
L'échelle du « score d'opinions moyen »
comprend cinq niveaux. Chaque niveau est censé refléter le
jugement des utilisateurs concernant la qualité d'un service
vidéo. Ce type de test est très souvent utilisé, car il
est le seul à prendre en considération la subjectivité
inhérente aux ressenties individuels de chaque utilisateur.
3.2.3.2. Défauts du MOS
Certains défauts lui sont souvent reprochés comme
:
? Son coût de mise en place important,
? Une mise en place et une réalisation très
chronophages,
? Le fait qu'il ne peut pas être utilisé en temps
réel,
? Un manque de répétabilité.
Néanmoins, le MOS est un outil indispensable lors de la
mise au point d'un nouveau type de codec (dispositif capable de compresser
et/ou décompresser un signal numérique). Les algorithmes
complexes auxquels un codec moderne fait appel sont souvent assortis d'un
certain nombre de paramètres qui le rendent plus ou moins propre
à tel ou tel type d'application. Le choix de la valeur des
paramètres est très difficile (parfois impossible) à faire
de façon rationnelle. Dans ce cas, le MOS vient au secours des
chercheurs en apportant une réponse quantitative basée sur une
expérience perceptuelle réelle.
4. L'approche cross-layer
L'architecture actuelle des protocoles réseaux, que ce
soit le modèle OSI ou le modèle TCP/IP, repose sur un ensemble de
modules devant chacun fournir un service précis et ce de façon
autonome. Ces modules ont été organisés
hiérarchiquement dans une pile, chaque module se trouvant au-dessus du
service dont il a besoin pour fournir le sien.
Une telle conception a l'avantage de fournir un niveau
d'abstraction permettant de découper le problème en
sous-problèmes, plus facile à aborder, et par là
même d'améliorer la compréhension que l'on a du
problème entier. Le succès de TCP/IP réside certainement
plus dans la conception de son architecture que dans les algorithmes qu'il met
en oeuvre. Cependant, dès l'apparition d'influences entre deux couches,
l'envie est forte que ces couches puissent communiquer entre elles un ensemble
de variables, de statistiques, qui aideront à la résolution d'un
problème. C'est ce que proposent les architectures inter-couches
(cross-layer) notamment à travers des retours d'informations
(feedbacks).
43
Chapitre II : Etat de l'art
La conception cross layer met l'accent sur l'optimisation de
la performance du réseau en permettant aux différentes couches de
la pile de communication à partager des informations d'état ou de
coordonner leurs actions en vue d'optimiser conjointement les performances du
réseau.
Cette approche consiste à concevoir des protocoles
à travers l'exploitation des dépendances entre différentes
couches, dont le but est d'obtenir un gain en performance. La conception
Cross-layer est aussi définie par l'exploitation de l'interaction et
l'exécution d'optimisation conjointe sur plusieurs couches, sous
contraintes prédéterminées de ressources [106]. Cette
approche particulièrement souhaitable pour les réseaux ad hoc et
les réseaux de capteurs, permet d'atténuer relativement l'effet
de la limitation des ressources des noeuds et la surcharge significative
générée par l'utilisation des protocoles mono couche.
La multiplication des mécanismes de QdS et des
techniques d'adaptation sur les différentes couches du modèle
TCP/IP a engendré plusieurs problématiques causées
principalement par l'isolation des couches. Afin d'apporter une solution
à ces problématiques et d'optimiser les performances des
systèmes communicants, le concept cross-layer a
été envisagé pour permettre d'améliorer les
performances de transmission dans les réseaux sans fil et d'assurer une
meilleure QdS pour les services multimédia.
4.1. La conception cross-layer
Le concept cross-layer a été proposé en
premier lieu pour les réseaux sans fil basés sur une architecture
TCP/IP. Il a été introduit pour combler essentiellement la perte
de performance générée par l'utilisation de l'architecture
TCP/IP, conçue spécialement pour les réseaux filaires. En
effet, il y a une interdépendance étroite entre les couches
protocolaires des réseaux sans fil. L'application de la conception
cross-layer peut aider à exploiter cette interdépendance, et
favoriser l'adaptabilité de celle-ci sur la base des informations
échangées. Cependant, un tel processus de conception doit
être soigneusement coordonné, puisqu'il est difficile de
caractériser les interactions entre les différentes couches de
protocoles. De plus, l'optimisation conjointe des couches peut conduire
à des algorithmes complexes, qui engendreront en conséquence des
problèmes de mise en oeuvre, de débogage, de mise à jour
et de standardisation. En effet, il n'existe pas de standard pour la
normalisation de la modélisation protocolaire et la méthodologie
d'échanges entre les couches. Cependant, plusieurs plans de gestion ont
été proposés afin de faciliter la conception des
protocoles cross-layer.
4.2. Approches du cross-layer dans les réseaux sans
fil
Il existe plusieurs techniques cross-layer pour
améliorer les performances des applications utilisant principalement les
réseaux sans fil. Historiquement, ces mécanismes étaient
limités à des interactions simples entre la couche physique et la
couche liaison de
44
Chapitre II : Etat de l'art
données. De plus, les mécanismes proposés
étaient indépendants et visaient essentiellement à
l'amélioration d'une imperfection précise. Plusieurs travaux sont
arrivés par la suite, proposant de faire collaborer plusieurs couches en
prenant en charge plusieurs paramètres, pour une optimisation globale.
Trois grandes familles d'approches existent :
- L'approche ascendante (Bottom-up) : dans cette approche, les
couches supérieures optimisent leurs mécanismes en fonctions des
paramètres (conditions) des couches inférieures. Par exemple, le
débit vidéo à la sortie d'un serveur peut varier en
fonction des taux de pertes réseaux.
- L'approche descendante (Top-down): dans cette approche, les
couches supérieures fournissent des paramètres de configuration
aux couches inférieures. De la même manière, les couches
inférieures peuvent considérer certaines
spécificités de niveau applicatif pour exécuter leurs
traitements.
- L'approche mixte (Integrated) : Cette approche exploite les
deux approches précédentes dans une même architecture afin
de trouver la meilleure configuration et optimisation possible pour un
fonctionnement optimal du système.
4.3. Les types d'architecture cross-layer
Il existe trois catégories d'architectures cross-layer
[106, 107]:
4.3.1. Architecture cross-layer à base de
communication directe
La conception cross-layer à base de communication
directe consiste à permettre la communication directe (sans
intermédiaire) entre les protocoles au niveau des couches
adjacentes et non adjacentes. Ainsi, les protocoles mono couche proposés
pour les architectures en couches doivent être redéfinis, et de
nouvelles routines sont à intégrer. Cette redéfinition
permet de pouvoir manipuler les données cross-layer
échangées entre les différentes couches.
4.3.2. Architecture cross-layer à base de
communication indirecte
Dans cette architecture, une entité
intermédiaire se charge des communications entre les différentes
couches protocolaires. Par conséquence, le fonctionnement normal de la
pile protocolaire est conservé, ce qui permet de ne pas redéfinir
les protocoles existants (architecture en couches). La
dénomination et les fonctionnalités de l'entité
intermédiaire varient selon l'architecture cross-layer.
4.3.3. Architecture cross-layer à base de
nouvelles abstractions
La troisième catégorie d'architectures
Cross-layer est particulièrement distincte des deux autres car elle
présente des abstractions complètement nouvelles. Dans cette
45
Chapitre II : Etat de l'art
approche le concept d'architecture en couches est totalement
abandonné, puisque plusieurs couches peuvent être couplées
ensembles afin de construire une sorte de super couche, qui peut gérer
différentes tâches dans le réseau. Cette nouvelle approche
Cross-layer permet d'offrir une forte flexibilité avec un minimum de
problèmes.
4.4. Avantages et inconvénients du cross-layer
[108,109]
La conception cross-layer a prouvé son
efficacité par rapport à l'approche classique en couches.
L'application de ce nouveau concept dans les RCSFs a engendré plusieurs
améliorations, que ce soit au niveau de la gestion efficace des
ressources (économie d'énergie) ou de la
sécurité. En effet, l'exploitation de l'interaction entre
plusieurs couches protocolaires permet d'éliminer toute forme de
redondance et de concevoir des protocoles robustes qui traitent le
problème d'économie d'énergie et de
sécurité, en prenant en considération différentes
couches du modèle OSI. Ce type de protocoles cross-layer est plus que
nécessaire pour les RCSFs, étant donné qu'il permet de
remédier à leurs limitations. L'inconvénient de la
conception cross-layer est qu'elle ne peut pas être
implémentée dans une expérimentation réelle ou dans
une émulation à cause de limites imposées par le
matériel qui fonctionne suivant les modèles OSI ou TCP/IP. De ce
fait, actuellement, toutes les approches cross-layer attendent une solution qui
permettra de surpasser cette impasse.
5. Apprentissage dans le streaming adaptatif
5.1. Introduction
Dans la communauté multimédia beaucoup de
recherches visent l'accès ubiquitaire aux contenus en ligne [84]. Le but
est d'offrir des services quelque soit le moment, le lieu ou le type du
terminal. De nombreux mécanismes d'adaptation multimédia
proposés, font face aux contraintes et difficultés qui sont
généralement liées à la diversité des
documents et contenus multimédia, à
l'hétérogénéité des réseaux
d'accès et à la variété des terminaux.
Dans ce cadre, les hypothèses spécifiques aux
services mobiles doivent être intégrées pour créer
des techniques d'adaptation pertinentes. L'approche que nous proposons est
basée sur l'usage d'un agent d'apprentissage qui prend en charge la
dynamique du contexte à laquelle il doit s'y adapter. Cet agent doit
permettre à l'utilisateur d'adapter son comportement en interagissant
avec l'environnement du réseau.
A cet effet, il doit percevoir les états successifs du
contexte grâce à des observations et effectuer des actions
d'adaptation. Ces actions ont un effet sur le contexte en faisant varier les
ressources disponibles ou en conditionnant les comportements des utilisateurs.
Elles ont donc une influence sur la dynamique stochastique du contexte. Si l'on
dispose d'un critère de performance, cette dynamique peut alors
être utilisée pour choisir de bonnes politiques d'adaptation. Pour
atteindre cet objectif, nous formalisons la politique d'adaptation grâce
à un processus de décision de Markov (PDM).
46
Chapitre II : Etat de l'art
5.2. Apprentissage par renforcement
L'apprentissage par renforcement s'intéresse à
l'acquisition automatisée de capacités pour la prise de
décisions en environnement complexe et incertain. Il s'agit d'apprendre
une stratégie d'action optimale par l'expérience ou par
essais-erreurs qui associe à l'état actuel la prochaine action
à exécuter de manière à obtenir la meilleure
récompense à long terme.
Quatre composantes principales interviennent dans
l'apprentissage par renforcement, à savoir :
1- L'état résume la situation
de l'agent et de l'environnement à chaque instant. Sa dynamique
résulte des actions de l'agent sur l'environnement, de
l'évolution aléatoire de l'environnement dans le temps et de la
dynamique interne de l'agent.
2- L'action est choisie et
exécutée par l'agent à chaque instant. Suite à
cela, il reçoit une récompense instantanée, et
perçoit le nouvel état courant.
3- La récompense est réelle,
positive ou négative. C'est un indicateur immédiat de la
qualité d'une action. On cherchera à maximiser les
récompenses ou minimiser les pertes (récompenses
négatives) pour améliorer la stratégie ou la politique de
l'agent.
4- La politique modélise le
comportement décisionnel de l'agent. Il s'agit dans le cas
général d'une fonction, déterministe ou aléatoire,
associant des actions à effectuer aux états observés de
l'environnement.
L'utilisation du modèle d'apprentissage par
renforcement constitue un point important dans notre proposition. Dans la
partie qui suit nous allons formaliser les concepts introduits par la
théorie de l'apprentissage par renforcement, en particulier nous
introduisons le cadre formel standard qui est celui des Processus
Décisionnels de Markov (PDM).
Les PDM permettent de modéliser l'évolution d'un
système, en particulier de l'environnement dans lequel évolue un
agent en fonction des actions qu'il effectue : à chaque pas de temps,
l'agent observe l'état courant, choisit une action qu'il exécute
pour transiter dans un état et recevoir une récompense.
5.3. Processus de Décision de Markov
Les PDMs font appel à des concepts issus de la
théorie des probabilités et de la théorie de la
décision [85]. Ils mettent en place un cadre théorique qui permet
de définir une stratégie optimale pour un système en
interaction avec son environnement dont l'évolution dans le temps n'est
pas déterministe. Ils permettent la prise en compte de l'incertitude sur
l'effet d'une prise de décision.
Un Processus de Décision de Markov est défini
formellement par le quadruplet <S, A, T,
R> tel que :
47
Chapitre II : Etat de l'art
? S est l'ensemble fini d'états ;
? A est l'ensemble fini d'actions ;
? T : S ? A ? S ? [0, 1] est la fonction de
transition où T(s, a, s') est la probabilité pour un
agent de se trouver dans l'état s ES après qu'il a
effectué l'action a dans l'état s.
? R : S ? A ? S ?? est la fonction récompense
associée à chaque transition. R(s, a, s') =
E?rt+1?st=s, at=a, st+1=s? est
l'espérance mathématique de la fonction de renforcement
(récompense ou sanction) pour la transition d'un état s vers un
état s'.
Les fonctions R et T sont souvent
stochastiques et vérifient la propriété de Markov. Un PDM
vérifie la propriété de Markov [86], dans le sens
où la fonction de transition de l'environnement ne dépend que de
l'état précédent de l'agent ainsi que de l'action que
celui-ci vient d'exécuter. Cette propriété se traduit par
:
? s'?S, P?st+1=s'? st, at? = P?
st+1=s' ? st, at, st-1, at-1,....., s0, at,?, ce qui garantit que la
fonction de transition est indépendante de l'ensemble des états
et des actions passés de l'agent.
5.4. Résolution d'un PDM dans l'incertain
On appelle politique déterministe une fonction ? : S ?
A qui associe à chaque état observé, une action ?(s)
à effectuer. Cette politique détermine le comportement de
l'agent. D'une manière générale, on utilise des politiques
de Markov non déterministes, qui associent à chaque état s
et à chaque action a, la probabilité ? (s, a)
que l'agent choisisse l'action a suite à l'observation
s. La politique est donc définie par ?: S × A
? [0;1] (avec ?a?(s, a) =1).
La résolution d'un PDM consiste à trouver la
politique optimale ? qui maximise la récompense. Lorsque les fonctions T
et R sont connues, il est possible d'utiliser les techniques de la
programmation dynamique pour résoudre le PDM [87], [88]. Mais dans le
cas général, l'agent évolue au sein d'un environnement
dynamique et aléatoire et n'a donc pas accès à ces
fonctions. La résolution du PDM se situe alors dans le cadre de
l'apprentissage par renforcement [89].
L'une des techniques probablement les plus répandues
pour résoudre un PDM est le Q-learning [90]. Il s'agit d'apprendre
itérativement une fonction Q : S ×A ?? qui approxime la
fonction de récompense R du PDM. Les Q-valeurs Q(s, a)
sont utilisées pour mesurer la qualité de choisir une action
spécifique a dans un certain état s en fonction des
récompenses perçues. Initialement, Vs E S, Va E A
Q(s, a) = 0 et la politique de l'agent est pseudo-aléatoire.
À chaque pas de temps, l'agent effectue une action a = ?(s) suivant la
politique ? et modifie la valeur de Q par la règle de mise
à jour suivante :
48
Chapitre II : Etat de l'art
( s, a) t+1 = Q ( s, a) t + as. ( R ( s, a) t + y.
maxa { Q ( s , a)} -- Q ( s, a) t)
2.1
Le taux d'apprentissage as détermine dans
quelle mesure la nouvelle information doit être prise en compte (si
as = 0, l'agent n'apprend rien ; si as = 1, Q(s, a) ne
dépend que de la dernière récompense obtenue). Il
détermine ainsi la vitesse de convergence et la précision.
Le paramètre y joue le rôle d'un taux
d'intérêt, on désigne parfois ce paramètre par le
terme coefficient d'amortissement (discount) qui détermine
l'importance des récompenses futures : une récompense
reçue k unités de temps plus tard vaut seulement
yk-1 de ce qu'elle vaudrait au temps courant. Il pondère donc
les récompenses immédiates par rapport aux récompenses
retardées.
L'importance que l'on accorde aux récompenses futures
varie selon la valeur de y :
· Avec y-* 0, l'agent maximise les récompenses
immédiates, et si y= 0 l'agent apprend à choisir at afin de
maximiser seulement la récompense suivante rt+1
· Avec y-* 1, l'agent a un horizon de plus en plus
lointain, les récompenses futures ont plus d'importance.
Dans l'apprentissage par renforcement l'agent doit choisir la
stratégie à suivre: il peut explorer l'environnement ou exploiter
les états et les récompenses déjà connues. Un agent
qui apprend par renforcement ne connaît pas explicitement les actions
qu'il doit entreprendre. Il doit donc expérimenter toutes les actions
à sa disposition afin d'évaluer leurs qualités
respectives. Il explore alors activement son environnement de façon
à découvrir une politique optimale. Cette situation donne lieu au
problème du compromis exploration/exploitation, où il faut en
même temps chercher la politique optimale et avoir le meilleur gain
possible [90], [91].
5.4.1. La stratégies-greedy
Une approche souvent utilisée pour équilibrer le
dilemme exploration/exploitation est la méthode s-greedy [90] qui
définit des proportions fixes de temps pour explorer ou exploiter. Elle
utilise une action dite gloutonne (qui est la meilleure action
évaluée par la politique courante), une distribution uniforme de
probabilités et un s E [0, 1]. Cette stratégie choisit l'action
gloutonne avec une probabilité 1-s, et une autre action est
aléatoirement choisie (en utilisant une distribution uniforme) avec une
probabilité s. Le choix de l'action prochaine at est
donc :
argmaxaQ(s, a) avec probabilité 1--s
at =
2.2
action aléatoire avec probabilité s
49
Chapitre II : Etat de l'art
5.4.2. La stratégie de Boltzmann
La prochaine action est choisie selon la distribution de
Boltzmann, donnée par la formule suivante :
P(at) =
? eQ( s,L) /T
b E A
OùT est la température associée
à la distribution. Quand T est élevé, la
distribution est presque uniforme. Plus la température diminue et
T? 0, plus la probabilité de choisir l'action a
dépend de Q(s, a) : pour un état s donné,
les actions pour lesquelles Q(s, a) est élevé ont plus
de chance d'être élues. On se rapproche de la stratégie
0-greedy. En pratique, on fait décroître la température, ce
qui permet de moduler exploration et exploitation sans distinguer explicitement
ces deux phases.
Il a été montré que si y< 1 et si
chaque couple (s, a) est visité un nombre infini de fois avec as
tendant vers 0, alors les valeurs de Q convergent vers la
politique optimale ?* [92] (l'action a qui a la meilleure valeur
Q(s, a) pour un état s donné correspond à
?*(s)).
2.4
2.5
Soit Q*(s, a) la fonction Q-valeur optimale définie par
: Q*(s, a) = max?Q?(s', a'), ?s?S, a?A
Alors:
?(s) = argmaxa'?A Q(s, a')
6. Performances du protocole TCP dans les
réseaux sans fil ad hoc
6.1. Introduction
Les réseaux ad-hoc sont des systèmes
distribués complexes. Ils se composent de noeuds qui s'auto-organisent
dynamiquement, pour former temporairement une topologie de réseau
aléatoire (sans aucune infrastructure). L'introduction de nouveaux
protocoles tels que Bluetooth [15] ou IEEE 802.11 [16] a permis le
déploiement commercial des réseaux ad hoc pour des fins
commerciales. A l'origine, le protocole de contrôle de transmission (TCP)
a été conçu pour fournir et garantir une transmission
fiable de bout en bout des données sous forme de paquets. Le
fonctionnement du protocole TCP doit théoriquement être
indépendant de la technologie utilisée pour la transmission des
données, par exemple, si le protocole Internet utilise un support de
transmission filaire ou sans fil, ceci ne doit pas avoir un impact sur le
comportement ou le bon fonctionnement du protocole TCP. La plupart des
améliorations qui ont été déjà faites sur le
protocole TCP (validé, approuvé et utilisé) ont
été conçus pour un bon fonctionnement et une bonne
stabilité dans les réseaux
50
Chapitre II : Etat de l'art
filaires. Cependant ces travaux ne traitent pas le
problème de la dégradation des performances du protocole TCP dans
les transmissions sans fil.
6.2. Différentes causes de perte de paquets dans les
réseaux sans fil
Contrairement au réseau filaire ou la perte de paquets
est principalement due à la congestion, la perte de paquets dans les
réseaux sans fil peut être causée par plusieurs facteurs.
Dans ce qui suit, nous allons décrire en plus des deux principaux
facteurs qui sont la puissance du signal reçu et les
interférences, d'autres facteurs moins importants.
6.2.1. Problème lié à la puissance
du signal :
La puissance du signal reçu ou le RSSI joue un
rôle très important dans la bonne transmission des paquets dans
les réseaux sans fil ; plus la valeur du RSSI est petite plus le risque
de perte de paquets augmente à cause des erreurs de transmission. La
valeur du RSSI est très variable sur le temps, elle change en fonction
de plusieurs facteurs, tels que le type de la technologie sans fil
utilisée, la puissance attribué au dispositif de transmission
sans fil et les obstacles entre l'émetteur et le récepteur. Le
facteur qui a le plus d'impact sur la valeur du RSSI est la mobilité des
noeuds, plus un noeud sans fil est loin de la zone de couverture sans fil plus
sa puissance de signal diminue jusqu'à ce q' elle atteint un certain
seuil ou la transmission s'arrête complètement. Par contre, plus
un noeud sans fil se rapproche du centre de la zone de couverture sans fil,
plus la puissance de son signal augmente et donc la probabilité d'une
perte de paquets due à la puissance du signal diminue.
6.2.2. Problème lié aux
interférences
Dans un contexte filaire comme un bus Ethernet, tous les
noeuds partagent la même vision de l'état du canal de transmission
(libre ou occupé) et des ressources à disposition pour un
éventuel échange. Cette vision unifiée n'est plus possible
dans les réseaux sans fil du fait que le canal partagé n'est plus
un simple support matériel partagé mais un médium
immatériel tel que l'air. D'autre part, la vision de chaque noeud
dépend de sa portée de transmission et de sa zone
d'interférence. Plusieurs problèmes connus sont issus de cette
vision limitée et qui sont liés au bruit résultant des
interférences tel que le problème du noeud caché.
Etant donné qu'il est très difficile de
séparer complètement en fréquence les transmissions
simultanées dans les réseaux sans fil, certaines transmissions
seront produites en même temps et dans la même bande de
fréquences. Par conséquent, la bande passante consommée
par les flux de données et les ressources disponibles pour un noeud ne
sont plus des concepts locaux, ils dépendent des noeuds voisins
partageant le canal de transmission ce qui engendre un bruit qui va augmenter
les risques de perte de paquets.
51
Chapitre II : Etat de l'art
D'autre part il y a un autre type d'interférences qui
sont dues à des facteurs externes tels que les ondes
dégagées par les canaux électriques de hautes
fréquences ou bien des vibrations produites par un bruit très
fort (Figure 16). Soit l'exemple d'un chantier ou d'un moteur puissant, qui
produit un bruit. L'effet de ce bruit va dégrader la qualité de
transmission sans fil et engendrer de temps en temps des erreurs de
transmission. Ces erreurs causeront par la suite des pertes de paquets.
Figure 16: Quelques types
d'interférence
6.2.3. Autres causes de perte de paquets
? Effet doppler : En raison des débits
relatifs à l'émetteur et au récepteur.
? Les stations cachées et exposées [28] :
Dans les réseaux ad hoc, les stations
peuvent s'appuyer sur un mécanisme de détection
de porteuse physique afin qu'elles déterminent si le canal est inactif,
tel que la norme IEEE 802.11 DCF (Distrubuted Coordination Function), ceci peut
engendrer des erreurs de transmission.
? Les chemins asymétriques : Les chemins
asymétriques dans les réseaux ad
hoc peuvent apparaître sous plusieurs formes comme la
bande passante asymétrique, le taux d'erreurs asymétriques et le
chemin asymétrique.
? Les contraintes d'énergie : Puisque les
batteries associées à chaque noeud
mobile ont une alimentation limitée, la puissance de
traitement est limitée. Ceci est un problème majeur dans les
réseaux ad hoc, parce que chaque noeud agit comme un système
d'extrémité et un routeur en même temps ; ceci implique que
de l'énergie supplémentaire est nécessaire pour acheminer
et traiter les paquets, le protocole de transport doit pouvoir gérer
cette ressource d'une manière efficace.
52
Chapitre II : Etat de l'art
6.3. TCP et le problème de perte de paquets dans les
réseaux sans fil (impact et performance)
Le comportement du protocole TCP vis-à-vis d'une perte
de paquet sur une transmission dans certaines conditions (interférences,
mobilité,...) dégrade les performances du réseau en
matière de bande passante, de délais ....etc.
6.3.1. La congestion et la perte de paquet dans les
réseaux sans fil
Dans l'algorithme de Van Jacobson [97] (détection de
congestion pour TCP), on constate que le mécanisme de contrôle de
congestion est insensible à la perte de paquets endommagés. Le
taux de perte le plus élevé dû à un paquet
endommagé par une fenêtre dégrade le débit du
protocole TCP jusqu'à 60% [97].
6.3.1.1. Le délai périodique
Lors de l'utilisation du protocole TCP, le délai
périodique représente les déconnexions fréquentes
de l'émetteur TCP. Ceci se produit lorsque l'horloge de retransmission
double de valeur pour chaque tentative de retransmission non réussite,
afin de réduire le taux de transmission, En suite, à la
reconnexion du noeud mobile, ces déconnexions font que TCP consomme
beaucoup plus de temps pour récupérer une telle réduction,
en plus les données ne seront pas transmises durant cette période
de temps.
6.3.1.2. Collision des acquittements (ACK) et les
paquets de données
Le mécanisme d'évitement de collision IEEE
802.11b élimine toutes les collisions. Puisque le trafic du protocole
TCP est bidirectionnel (avec les paquets de données dans un sens et les
paquets de d'acquittement dans l'autre sens), il peut y avoir une collision de
paquets de données et les paquets d'acquittement. Ces collisions causent
une retransmission au niveau de la couche MAC ou au niveau de la couche TCP
lorsque la récupération d'erreur n'est pas utilisée dans
la couche liaison. Ici, Jacobson a testé le taux de retransmission des
paquets UDP et TCP dans un environnement peu susceptible aux
interférences. Dans UDP, les retransmissions sont relativement lentes
(presque 1%), mais quand il a utilisé TCP, les retransmissions ont
augmenté de 5% [97]. Il a expliqué cette augmentation par les
collisions des paquets de données et d'acquittements. La
réduction des performances n'est pas importante, mais les performances
sont encore plus faibles si la récupération d'erreur n'est pas
utilisée par la couche liaison. Le débit du TCP sans
retransmission dans la couche MAC est inférieur à 23% par rapport
à celui obtenu par la retransmission dans la couche MAC [97]. Les
performances de l'UDP, même sans retransmission dans la couche MAC, sont
un peu plus élevées que celles du TCP avec retransmission dans la
couche MAC.
53
Chapitre II : Etat de l'art
6.4. TCP et la qualité de service dans les
réseaux sans fil
La QdS regroupe un ensemble de technologies mises en oeuvre
pour assurer des débits suffisants et constants sur les réseaux
en général et Internet en particulier. Dans les réseaux
filaires, le protocole TCP est considéré parmi les moyens les
plus efficaces pour garantir une bonne transmission de données à
cause de sa fiabilité ainsi que ses mécanismes de contrôle
de congestion, de multiplexage qui favorisent le type de données par
rapport à un autre type afin de garantir un bon fonctionnement du
service. Cependant dans les réseaux sans fil et dans certaines
conditions, au lieu d'améliorer la QdS, les mécanismes du
protocole TCP font que la QdS se dégrade.
Les graphes 17 et 18 comparent les performances et la
qualité de service fourni par le protocole TCP en matière de
débit, afin de montrer l'impact du protocole TCP sur la qualité
de service des réseaux sans fils sous les contraintes de mobilité
et des interférences.
Dans ces figures nous constatons deux faits : quand il n'y a
ni mobilité ni interférence, le débit est assez bon avec
presque les mêmes valeurs pour les cas filaire et sans-fil. Cependant,
dès que les noeuds de la topologie commence à être mobile
ou subissent des effets d'interférences, leurs débit se
dégradent d'une façon importante dans le réseau sans fil,
ce qui impacte négativement la qualité de service du
réseau. Par contre sur le réseau filaire ceci n'aura presque
aucun impact sur la qualité de service du réseau (impact
négligé).
DÉBIT (MBPS)
4,5
3,5
0,5
2,5
1,5
4
5
3
0
2
1
2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62 66 70 74 78
TEMPS (SECOND)
Déplacement
San s fil
Figure 17 : Comparaison des valeurs du
débit filaire et sans fils avec déplacement
54
Chapitre II : Etat de l'art
5
4
3
2
DÉBIT (MBPS)
1
0
Interferences
2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62 66 70 74 78 TEMPS
(SECOND)
Filaire Sans fil
6
Figure 18 : Comparaison des valeurs du
débit filaire et sans fils sous l'effet des
interférences.
6.5. Etude comparative des travaux existants
Dans le cadre des améliorations du protocole TCP dans
les réseaux sans fils en général et les réseaux ad
hoc en particulier, plusieurs approches ont été proposées.
La plupart de ces approches visent à trouver une solution qui permet au
protocole TCP de faire la différence entre une perte de paquet due
à une congestion du lien et une perte de paquet qui est due aux erreurs
du lien.
Les solutions proposées jusqu'à présent
peuvent être classé en deux catégories, les solutions
inter-couches et les solutions basées sur la couche de transport. Ces
approches sont résumées dans la figure 19.
6.5.1. Les solutions inter-couches
6.5.1.1. TCP-F(TCP Feedback) [18]
TCP-F est une approche basée sur une réponse de
retour (rétroaction) afin d'éviter les erreurs de chemin dans les
réseaux MANET. Cette approche permet à l'expéditeur TCP de
faire la distinction entre les pertes dues à la congestion du
réseau et celles dues à d'autres facteurs. Ainsi, lorsque l'agent
de routage d'un noeud détecte l'interruption d'une route, il envoie
explicitement un paquet de notification d'erreur de route (RFN) à la
source du paquet. En recevant le RFN, la source passe dans un état de
sommeil (snooze state). L'expéditeur TCP qui est en état de
sommeil arrête l'envoi de paquets et sauvegarde les valeurs de toute
variable comme le délai et la taille de la fenêtre de congestion.
L'expéditeur TCP reste dans cet état de sommeil jusqu'à ce
qu'il reçoit un paquet notification de la restauration de la route
(RRN). En recevant le RRN, l'expéditeur TCP va
55
Chapitre II : Etat de l'art
sortir de l'état de sommeil et va reprendre la
transmission en se basant sur les valeurs déjà
sauvegardées de la fenêtre de congestion et du délai.
TCP et la coucherésea
u
Solution inter-couches
TCP etla couche liaison
TCP et la couche physique
Solutions pour l'amélioration du protocole TCP dans
les réseaux sans fil
Coucheréseaue tcouche physique
Couche de transport
Solutioncou che de transport
amélioration de lacouche réseau
TCP et
TCP et amélioration de la couche
liaison
Figure 19 : Classification des solutions pour
l'amélioration de TCP dans les réseaux
sans fil
Afin d'éviter les scénarios de blocage dans un
état de somnolence sur la réception d'une notification RFN,
l'expéditeur TCP déclenche une horloge d'échec de route.
Lorsque ce délai expire l'algorithme de contrôle de congestion est
exécuté normalement.
Dans [18], les auteurs rapportent une amélioration en
utilisant TCP-F sur TCP. Le scénario de simulation est basique et ne
repose pas sur un réseau ad hoc. Au lieu de cela, ils imitent le
comportement d'un réseau ad hoc au niveau de la couche transport.
6.5.1.2. ELFN-based technique [19]
La technique de notification d'erreur de lien explicite ou
ELFN-based technique est similaire à TCP-F. Cependant, contrairement
à celle-ci, l'évaluation de la proposition est basée sur
une interaction réelle entre TCP et le protocole de routage. Cette
interaction vise à informer TCP sur les échecs de la route quand
ils se produisent. Les auteurs utilisent un message ELFN, qui est envoyé
par le protocole de routage à l'expéditeur. Le message
56
Chapitre II : Etat de l'art
ELFN est comme un message «hôte inaccessible »
du protocole ICMP, qui contient les adresses et les ports de
l'expéditeur et du récepteur, ainsi que le numéro de
séquence de paquets TCP. Sur la réception du message ELFN, la
source répond en désactivant son horloge de retransmission et
entre dans un mode "veille". Pendant la période d'attente,
l'expéditeur TCP sonde le réseau pour vérifier si la route
est rétablie, si l'accusé de réception du paquet de sonde
est reçu, l'expéditeur TCP quitte le mode veille, reprend son
horloge de retransmission et continue les opérations normales.
Cette technique a apporté des améliorations
significatives sur le TCP standard, mais d'autres évaluations sont
encore nécessaires. En cas de forte charge le protocole ELFN donne de
plus mauvais résultats que le TCP standard, ceci est dû au fait
que le protocole ELFN est basée sur le sondage régulier du
réseau afin de détecter les rétablissements de routes.
6.5.1.3. ATCP [20]
ATCP or TCP ad hoc utilise lui aussi une réponse de
retour de la couche réseau. En plus des échecs de route, ATCP a
pour but de régler le problème des taux d'erreur
élevés de bits (BER). L'expéditeur TCP peut être mis
dans plusieurs états, en état de conservation, en état de
contrôle de congestion ou en état de retransmission. Sur les
noeuds source de TCP, une couche appelée ATCP est inséré
entre les couches TCP et IP. ATCP, écoute les informations d'état
de réseau fourni par les messages ECN (Explicit Congestion Notification)
et par le protocole ICMP "Destination inaccessible", puis ATCP met l'agent de
TCP dans l'état approprié selon la réponse reçue.
Sur réception d'un message "Destination inaccessible", l'agent TCP entre
dans un état de conservation ; lors de cet état l'agent TCP est
gelé et aucun paquet n'est envoyé jusqu'à ce qu'une
nouvelle route soit trouvée durant le sondage du réseau. Le
message ECN est utilisé comme un mécanisme de notification qui
indique à l'expéditeur les éventuelles congestions du
réseau sur la route utilisée. Lors de la réception du
message ECN, le mécanisme de contrôle de congestion du TCP est
invoqué normalement sans attente. Pour détecter les pertes de
paquets dues aux erreurs de route, ATCP surveille les accusés de
réception reçus. Lorsque ATCP reçois trois ACK
dupliqués, il ne transmet pas la troisième ACK en double, mais
met TCP dans l'état de conservation et retransmet rapidement le paquet
perdu de la mémoire tampon TCP. Après avoir reçu le
prochain ACK, ATCP permet à TCP de se mettre dans un état
normal.
ATCP a été implémenté,
testé et évalué selon différents scénarios,
tels que la congestion et les liens perdus. Dans tous les cas, le transfert
d'un fichier donné en utilisant ATCP donne de meilleures performances
que le TCP standard. Toutefois, le scénario utilisé est un peu
spécial, puisque ni les liaisons sans fil, ni les protocoles de routage
ad hoc n'ont été considérés, les auteurs ont
utilisé un banc d'essai expérimental composé de cinq
ordinateurs équipés de cartes Ethernet. Avec ces ordinateurs, les
auteurs ont formé un réseau de quatre sauts.
57
Chapitre II : Etat de l'art
6.5.1.4. TCP-Bus [21]
TCP-Bus utilise les capacités du TCP standard, la
mémoire tampon et le numéro de séquence. D'un autre
côté, tout comme les approches précédentes TCP-bus
se basent aussi sur une réponse de retour ; il utilise les
évaluations du réseau pour détecter les échecs de
la route afin de réagir convenablement à cet
événement. L'apport que propose cette approche est le fait
d'introduire la capacité du `tampon mémoire' dans les noeuds
mobiles. Les auteurs sélectionnent un protocole de routage de type
initialisation-à-la-demande-de-la-source ou ABR (Routage basé
associativité) [22] initié à la demande. Les
améliorations suivantes sont proposées :
? La notification explicite : deux messages
de contrôle sont utilisés pour
informer la source de l'échec de la route et du
rétablissement de route. Ces messages sont appelés la
Notification-de-Déconnection-Explicite-de-Route (NDER) et la
Notification-Réussie-Explicite-de-Route (NRER). A la réception de
la (NDER) de la part du noeud qui a détecté l'échec de
route, ce noeud est appelé Noeud-Pivotant (NP), la source cesse
d'envoyer des paquets. De même après le rétablissement de
route par le PN en utilisant une requête localisée (RL), le PN
transmettra le NRER à la source. A la réception de la NRER, la
source reprend la transmission de données.
? Extension des valeurs du timeout : pendant la
phase de la reconstruction de
Route (PRR), tout au long de la route (de la source à
la NP) les paquets sont insérés dans la mémoire tampon.
Pour éviter les timeout durant la phase PRR, l'horloge de retransmission
de paquet est sauvegardée sur le tampon mémoire puis
doublée par la suite.
? Demande de retransmission sélective :
Puisque la valeur de l'horloge de
retransmission est doublée, les paquets perdus le long
de la route depuis la source vers NP, ne seront pas retransmis jusqu'à
l'expiration de l'horloge de retransmission ajustée. Pour
résoudre ce problème, une indication est faite à la source
de manière à pouvoir retransmettre les paquets perdus d'une
manière sélective.
? Evitement des demandes inutiles de retransmission
rapide : Au moment où
la route est rétablie, la destination informe la source
des paquets perdus le long de la route (de la NP à la destination). A la
réception de cette notification, la source retransmet simplement ces
paquets perdus. Le problème est que les paquets mis en mémoire
tampon le long du trajet depuis la source vers l'unité de raccordement
peuvent arriver à destination plutôt que les paquets retransmis,
ainsi la destination répondra par des ACK dupliqués, et les
paquets de requêtes inutiles pour la retransmission rapide sont mis
à l'écart.
? La retransmission fiable du message de contrôle :
Afin de garantir avec
exactitude le bon fonctionnement de TCP-bus, les auteurs
proposent de transmettre de manière fiable les messages de
contrôle de routage NDER et NRER. La transmission se fait d'une
manière fiable en restant à l'écoute sur le canal
après avoir transmis les messages de contrôle. Si un noeud a
envoyé un message de contrôle et que ce dernier n'a
58
Chapitre II : Etat de l'art
pas reçu ce message relayé pendant un timeout,
il conclut que le message de commande est perdu, donc il retransmet ce
message.
Cette approche (TCP-Bus) offre de nombreuses nouvelles
techniques pour l'amélioration de TCP. Les nouvelles contributions de
cet article sont les techniques de mise en mémoire tampon et la
transmission fiable de messages de contrôle. Dans leur évaluation,
les auteurs ont constaté que le protocole TCP-Bus surpasse le TCP
standard et le TCP-F dans des conditions différentes.
L'évaluation est basée uniquement sur le protocole de routage
ABR, d'autres protocoles de routage doivent être pris en compte. Aussi,
TCP-Bus n'a pas tenu compte du fait que le pivotement de noeud peut
empêcher le calcul d'un nouvel itinéraire partiel à la
destination.
6.5.1.5. Split TCP [25]
Les connexions TCP avec un grand nombre de sauts souffrent de
défaillances de routes fréquentes en raison de la
mobilité. Pour améliorer le débit de ces connexions et
régler le problème de partage de débit, le régime
de Split TCP a été introduit pour diviser les longues connexions
TCP en segments plus courts localisées (Cf. figure 20). Le
noeud interface entre deux segments localisés est appelé un
proxy. L'agent de routage décide s'il attribue le rôle de proxy
à son noeud selon le paramètre de distance inter-proxy. Le proxy
intercepte les paquets TCP, les insère dans la mémoire tampon, et
accuse leur réception à la source (ou au proxy
précédent) en envoyant un acquittement local (LACK). En outre, un
proxy est chargé de délivrer les paquets, à un taux
approprié, au prochain segment local. Lors de la réception d'un
LACK (de la part du prochain proxy ou de la destination finale), le proxy vide
sa mémoire tampon des paquets. Afin d'assurer la fiabilité de la
source à la destination, un ACK est envoyé par la destination
à la source de manière similaire au protocole TCP standard.
Ce schéma divise les fonctionnalités de la
couche Transport sur le contrôle de bout-en-bout ainsi que sur le
contrôle de congestion. Cela se fait à l'aide de deux
fenêtres de transmission à la source, la fenêtre de
congestion et la fenêtre de bout-en-bout. La fenêtre de congestion
est une sous-fenêtre de la fenêtre de bout en bout. Bien que le
changement de la taille de la fenêtre de congestion se fasse en fonction
du taux d'arrivée des paquets LACK de la part du prochain proxy, la
taille de la fenêtre de bout-en-bout va changer en fonction du
débit d'arrivée de bout-en-bout des accusés de
réception ACK de la destination. A chaque proxy, il y aura une
fenêtre de congestion qui gère le taux d'envoi entre les
proxys.
Les résultats des simulations indiquent qu'une distance
inter-proxy entre 3 et 5 a un bon impact à la fois sur le débit
et la répartition. Les auteurs rapportent qu'une amélioration
allant jusqu'à 30% peut être obtenue dans le débit total
à l'aide de Split TCP. Les inconvénients sont des grands tampons
et une surcharge du réseau. En outre, cette proposition rend le
rôle de noeuds proxy plus complexes car ils ont à contrôler
la livraison des paquets des proxys suivants pour chaque session TCP.
Chapitre II : Etat de l'art
Figure 20 : TCP-Split
6.5.1.6. Gestion de lien basé sur la puissance du
signal [26]
Dans cet algorithme chaque noeud conserve un enregistrement
des puissances de signaux reçus de noeuds voisins 1-hop. En utilisant
ces enregistrements, le protocole de routage prédit immédiatement
les échecs de route ; cette prédiction est appelé
Proactive Link Management. Lors de la détection de cet
événement, l'agent de routage de la source est averti par un
message Going-Down (cf. Figure 21) à la réception de ce
message de l'agent de routage de la source arrête d'envoyer des paquets
et initie une procédure de recherche de route. La nouveauté de
cette proposition est le mécanisme réactif du Link Management. Ce
mécanisme augmente la puissance de transmission recherchant de nouvelles
routes à chaque fois qu'une route subit des erreurs de route. Les
mécanismes de gestion de liens réactifs et proactifs peuvent
être couplés de la manière suivante : Suite à la
prévision sur la panne du lien, l'agent de routage du noeud informe la
source pour arrêter l'envoi, ce noeud augmente sa puissance
d'émission pour gérer les paquets en transit qui utilisent ce
lien.
Les auteurs utilisent des simulations sur des scénarios
de réseaux faiblement chargés. Les résultats montrent que
leur approche donne 45% d'amélioration sur les performances du protocole
TCP.
59
Figure 21 : Inter-couches réseau et
physique.
Chapitre II : Etat de l'art
60
6.5.1.7. COPAS [63]
L'approche COntention-based
PAth Selection aborde le problème de
baisse de la performance de TCP en raison des concurrences d'accès sur
un canal sans fil. Elle met en oeuvre deux techniques : la première est
la transmission disjointe et la deuxième est la route retour, qui
consiste à choisir des itinéraires disjoints pour les
données TCP et les paquets TCP ACK. Le second est
l'équilibrage-contentieux dynamique, qui consiste à mettre
à jour dynamiquement les itinéraires disjoints. Une fois la
contention d'une route dépasse un certain seuil, appelé seuil de
temporisation, une nouvelle route moins contentieuse est choisie pour remplacer
la route contentieuse.
Dans cette proposition, la contention sur le canal sans fil
est mesurée en fonction du nombre de fois qu'un noeud a reculé au
cours de chaque intervalle de temps. Aussi à tout moment une route peut
être brisée, en plus de lancer une procédure de
rétablissement d'itinéraire, COPAS redirige les paquets TCP en
utilisant le deuxième itinéraire alternatif. En comparant COPAS
et DSR, les auteurs ont constaté que COPAS surpasse DSR en termes de
débit TCP et des frais généraux de routage (ressources).
L'amélioration du débit TCP peut atteindre jusqu'à 90%.
Cependant, l'utilisation de COPAS, tel que rapportée par les auteurs,
est limitée aux réseaux statiques ou des réseaux à
faible mobilité. Quand les noeuds se déplacent plus rapidement en
utilisant une transmission disjointe et des routes retours, ceci augmente la
probabilité de défaillance de route rencontrée par les
connexions TCP.
6.5.2. Les solutions basées sur la couche
Transport 6.5.2.1. Fixed RTO [23]
Cette technique est une technique basée
expéditeur, elle ne se base pas sur les réponses retour
d'état du réseau. Les auteurs utilisent une heuristique afin de
faire la différence entre les échecs de route et la congestion du
réseau. Lorsque deux timeouts qui se suivent, ce qui correspond à
la situation dans laquelle l'ACK manquant n'est pas reçu avant
l'expiration du deuxième RTO, l'expéditeur conclut qu'un
échec de route s'est produit. Le paquet de données est retransmis
à nouveau mais sans doublé la valeur du RTO (reste la même
valeur que celle de l'envoi précèdent). Cette approche fonctionne
avec le protocole TCP standard, où un algorithme de réduction de
puissance «exponentielle» est utilisé. Le RTO reste fixe
jusqu'à ce que la route soit rétablie et que la réception
du paquet retransmis est accusée.
Les auteurs ont évalué cette proposition en
utilisant différents protocoles de routage ainsi que différents
scenarios TCP sélectifs et l'accusé de réception
retardé. Ils signalent que des améliorations significatives ont
été obtenues lors de l'utilisation fixe-RTO avec les protocoles
de routage à la demande. Néanmoins, comme indiqué par les
auteurs eux-mêmes, cette proposition est limitée à des
réseaux sans fil uniquement, une limitation sérieuse depuis
l'interopérabilité avec les réseaux câblés
est nécessaire. En outre, la
61
Chapitre II : Etat de l'art
supposition que deux timeout consécutifs sont les
résultats exclusifs de défaillances d'itinéraire a besoin
de plus de l'analyse, en particulier en cas de congestion.
6.5.2.2. TCP DOOR [24]
Cette approche est la solution de bout en bout qui ne
nécessite pas la coopération de noeuds intermédiaires ;
elle est basée sur des événements Out-Of-Order (OOO). Les
événements (OOO) sont interprétés comme une
indication d'échec de route. La détection d'un
événement OOO est effectuée soit par un mécanisme
basée sur expéditeur ou bien d'un mécanisme basé
sur le récepteur. Le mécanisme basé expéditeur
utilise la propriété de fonction croissante du numéro de
séquence ACK pour détecter les événements OOO. Dans
le cas de paquets ACK dupliqués, ces ACKs auront le même
numéro de séquence, mais l'émetteur a besoin
d'informations supplémentaires pour détecter les cas d'OOO. Cette
information est une option d'un octet ajouté aux ACKs appelé ACK
de duplication de numéro de séquence (ADSN). L'ADSN est
incrémenté et transmis avec chaque ACK dupliqué.
Cependant, le mécanisme basé sur le récepteur a besoin
d'une option TCP supplémentaire sur deux octets pour détecter les
événements OOO, appelé TCP Packet-Sequence-Number (TPSN).
Le TPSN est incrémenté et transmis avec chaque paquet TCP y
compris les paquets retransmis. Si le récepteur détecte un
événement OOO, il devrait en informer l'expéditeur en
fixant un bit d'option spécifique, appelé bit de OOO, dans
l'en-tête de paquet ACK.
Une fois que l'expéditeur TCP détecte un
événement OOO, il prend les deux mesures d'actions suivantes :
désactiver temporairement le contrôle de congestion et le
recouvrement rapide lors de l'évitement de congestion. Dans le premier
cas, l'expéditeur TCP désactive l'algorithme de congestion pour
une période de temps spécifique (T1), la prochaine action est la
suivante : si l'algorithme de contrôle de congestion a été
invoqué au cours de la période de temps passé (T2),
l'expéditeur TCP doit revenir immédiatement à
l'état d'avant l'invocation du contrôle de congestion. Les auteurs
font des périodes T1 et T2 comme fonction du RTT (round trip time).
Durant la simulation de cette approche, différents
scénarios ont été envisagés en combinant tous les
mécanismes et les actions mentionnées ci-dessus. Leurs
résultats montrent que les mécanismes basés
expéditeur/récepteur se comportent de façon similaire.
Ainsi, ils recommandent l'utilisation du mécanisme de détection
de l'expéditeur car il ne nécessite pas de notification de la
part de l'expéditeur pour le destinataire. En ce qui concerne les
actions, ils ont comme rôle de désactiver temporairement le
contrôle de congestion et le recouvrement rapide lors de
l'évitement de congestion et le fait qu'ils sont utilisés dans la
détection d'événement OOO, ils ont constaté que les
deux actions conduisent à une amélioration significative. En
général, le protocole TCP-DOOR améliore le rendement de
50%. Néanmoins, la supposition que les événements OOO sont
forcément les résultats de l'échec de route, mérite
beaucoup plus d'analyse. Les protocoles de routage
62
Chapitre II : Etat de l'art
multi-route tels que TORA peuvent produire des
événements OOO qui ne sont pas liés à des
défaillances de route.
Le tableau suivant récapitule les approches vues en
mentionnant une comparaison entre ces approches.
Approches
|
Type de solution
|
Dégrée
de complexité
|
Débit
|
Type de réseau
|
Nombre de connexions
|
Evaluation
|
TCP-F
|
Inter- couches
|
Moyenne
|
Faible
|
Mobile aléatoire
|
Une seule
|
Simulation
|
ELFN
|
Inter- couches
|
Moyenne
|
Faible
|
Mobile aléatoire
|
Une seule
|
Simulation
|
ATCP
|
Inter- couches
|
Haute
|
Faible
|
Mobile aléatoire
|
Une seule
|
Emulation
|
TCP-Bus
|
Inter- couches
|
Haute
|
Moyen
|
Mobile aléatoire
|
Multiple
|
Simulation
|
Split-TCP
|
Inter- couches
|
Moyenne
|
Moyen
|
Mobile aléatoire
|
Une seule
|
Simulation
|
TCP avec puissance de signal
|
Inter- couches
|
Haute
|
Faible
|
Mobile aléatoire
|
Deux
|
Simulation
|
COPAS
|
Couches réseau
|
Moyenne
|
Haut
|
Statique
|
Multiple
|
Simulation
|
Fixed- RTO
|
Couches TCP
|
Faible
|
Faible
|
Mobile aléatoire
|
Une seule
|
Simulation
|
TCP DOOR
|
Couches TCP
|
Faible
|
Moyen
|
Mobile aléatoire
|
Une seule
|
Simulation
|
Table 1 : Comparaison générale
des approches
6.6. Conclusion
Après étude et analyse des différents
approches qui essaient d'améliorer le comportement et les performances
du protocole TCP dans les réseaux sans fil, nous avons constaté
qu'il y'a plusieurs façons et techniques qui peuvent être
utilisées et qui donnent de bons résultats et performances.
Cependant la plupart de ces solutions sont des solutions inter-couches, ceci
limite l'implémentation de ces solutions sur des simulations. Il est
impossible pour le moment d'émuler n'importe quelle solution cross-layer
dans une expérimentation sur un cas réel. De plus, la plupart des
approches proposées donnent de bons résultats dans des
scénarios bien précis (faible mobilité, débit
faible, .....) alors que le cas réel fait référence
à des contraintes qui sont beaucoup plus rigides.
63
Chapitre II : Etat de l'art
7. Impact du protocole TCP sur les services
vidéo streaming adaptatifs
7.1. TCP et les services de vidéo streaming
adaptatif
Les services de vidéo streaming adaptatifs se basent
sur un algorithme d'adaptations vidéo/débit ; c'est une
méthode qui change la qualité de la vidéo reçue en
fonction des conditions du réseau. Généralement, les
services de vidéo streaming adaptatifs sur Internet fonctionnent sur les
réseaux non gérés. Les technologies de vidéo
streaming envoient le contenu vidéo du serveur vers le client en
utilisant le protocole HTTP standard à travers le protocole de transport
(TCP). Le protocole HTTP présente quelques avantages qui permettent un
accès universel, le partage de connexion pour de nombreux appareils, la
fiabilité, la convergence mobile-fixe, la robustesse...etc. Le flux
streaming est géré par un agent adaptatif. Cet agent se base sur
des informations vitales du réseau telles que les conditions du
réseau, les paramètres TCP....etc.
7.2. Protocoles de transport dédiés au
streaming
De nombreux protocoles ont évolué pour assurer
la transmission multimédia sur Internet. Ils appartiennent à
différentes couches du modèle OSI de la pile de protocoles et
fournissent différents types de services aux applications.
Dans les réseaux basés sur IP, deux protocoles
de transfert de données sont principalement utilisés : TCP et
UDP. À l'opposé du protocole UDP, qui introduit des pertes ou une
arrivée désordonnée des paquets, le protocole TCP garantit
la livraison des données en les expédiant à nouveau si
nécessaire et effectue un contrôle de congestion lors de la
transmission des données.
Un contenu audiovisuel peut tolérer la perte d'un
certain pourcentage de ses données, sans pour autant affecter la
qualité perçue par le spectateur, ceci sous réserve que
les données perdues ne soient pas consécutives. Ainsi, la
fiabilité de livraison des données dynamiques, à
l'opposé des données statiques, est souvent inutile. D'ailleurs,
il ne sert à rien de retransmettre un paquet perdu si le paquet
retransmis arrive lorsque la séquence à laquelle il appartient a
déjà été utilisée. Non seulement la
retransmission est inutile mais elle consomme des ressources, au risque de
retarder d'autres paquets.
Cependant, un inconvénient majeur du protocole UDP est
qu'il n'effectue pas de contrôle de congestion d'une manière
compatible avec TCP. En effet, il continue à augmenter le débit
de transfert jusqu'à saturation du réseau. Il ne partage pas
équitablement la bande passante avec les trafics bâtis sur TCP.
Ceci conduit à l'effondrement du réseau en privant toutes les
autres applications de bande passante (tout protocole confondu).
Le protocole de transmission temps réel RTP est un
protocole optimisé pour le transfert de données dynamiques sur un
réseau point à point tout en respectant leurs contraintes de
temps réel. Il est également utilisé pour la
multidiffusion. Ce protocole
64
Chapitre II : Etat de l'art
effectue un découpage intelligent des données
pour que chaque paquet soit décodable indépendamment des autres.
Les paquets RTP sont marqués temporellement de manière à
être réorganisés, en cas de réception
désordonnée ou tardive, afin d'afficher le stream de
manière cohérente et synchronisée chez l'utilisateur. Ces
marques temporelles permettent également la détection
d'éventuelles pertes de paquets. Cependant, RTP ne gère pas la
réservation de ressources réseau et ne garantit pas de
qualité du service en temps réel. On est lui associe le protocole
RTSP (couche session), pour effectuer le contrôle des données.
Dans le cas du streaming, le contrôle de la congestion
revient à superviser le débit. Le contrôle du débit
(rate control) peut être géré au niveau de
l'émetteur (serveur), du récepteur (client), ou des deux
(hybride). Un trafic est considéré compatible avec TCP, ou «
TCP-friendly », s'il ne réduit pas, à long terme, le
débit d'autres trafics plus que « sa version TCP » ne le
réduirait dans les mêmes conditions.
Malgré les propositions de protocoles faites au niveau
applicatif, la majorité des applications utilisent toujours TCP ou UDP.
L'explication revient au fait que la couche transport est
implémentée au niveau des systèmes d'exploitation qui se
sont limités, dans le passé, aux protocoles TCP et UDP.
Deux combinaisons de protocoles les plus largement
utilisés sont HyperText Transfer Protocol / Transmission Control
Protocol (HTTP / TCP) et Real Time Protocol / User Datagram Protocol (RTP /
UDP). Chacune de ces combinaisons fournit différents types de services
de streaming.
1) Le streaming basé sur RTP / UDP utilise le
protocole RTP / RTSP et UDP, le protocole de la couche Transport qui propose un
contrôle physique du réseau disponible [93]. RTSP est
utilisé en extension de HTTP pour supporter le déplacement fluide
dans le flux pendant sa lecture.
La combinaison RTP / UDP prend en charge les transmissions
multicast et broadcast. Même si elle fonctionne bien dans les
réseaux managés, elle a cependant ses propres
inconvénients, à savoir :
? RTP exige beaucoup de ressources car il gère chaque
session de streaming sur
l'expéditeur.
? les paquets RTP sont bloqués par les NAT [113] et ne
peuvent pas passer à
travers l'Internet actuel.
2) Le streaming sur HTTP via TCP permet de traverser les
pare-feu du réseau et d'exploiter l'utilisation commune et
l'implémentation du protocole HTTP.
Dans l'Internet d'aujourd'hui, RTP / RTCP est limitée
par rapport au déploiement à grande échelle. En revanche,
le streaming basé sur HTTP / TCP est devenu populaire grâce
déjà à sa facilité de déploiement dans
l'Internet actuel. Bien qu'il ne supporte que la transmission unicast et les
médias ne sont délivrés que dans de grands segments, le
65
Chapitre II : Etat de l'art
streaming sur HTTP / TCP offre néanmoins de nombreux
avantages par rapport à RTP / RTCP
Il simplifie la connectivité, puisqu'un flux / TCP HTTP
peut traverser les pare-feu de réseau et Network Address Translators
(NAT) [93]. Aussi, la combinaison de protocoles HTTP / TCP en streaming peut
être gérée sans la nécessité de maintenir un
état de session sur le serveur, améliorant ainsi
l'évolutivité du système. De cette manière, un
déploiement à grande échelle d'un système de
diffusion est rendue possible par l'utilisation de l'infrastructure Web
déjà disponibles, y compris les serveurs HTTP, les proxys et les
caches.
7.3. Impact des paramètres de TCP sur la
qualité de service des services de vidéo streaming adaptatifs
Les paramètres TCP ont un impact significatif sur la
communication entre le client et le serveur, en particulier dans le transport
des données de vidéo streaming. L'analyse de la vidéo en
streaming basé-TCP montre que pour avoir un bon transport de
données le débit TCP devrait être le double par rapport au
débit de la vidéo, et ce pour garantir de bonnes performances du
service vidéo Streaming. Les services de vidéo streaming adaptive
essaie de surmonter ce problème, ils adaptent la qualité
vidéo en fonction de la bande passante réseau disponible. La
bande passante du réseau influence directement le processus de
sélection de la qualité de la vidéo. A noter aussi que la
valeur de la bande passante du réseau calculée dépend des
paramètres du TCP, la formule 2.6 montre que la bande passante
théorique calculée en fonction de la taille de la fenêtre
coulissante du TCP et le temps aller-retour d'un paquet RTT (round trip time).
Ces deux variables font partie des paramètres du TCP et n'importe quel
changement sur ces paramètres de TCP implique un changement sur la bande
passante du réseau, ce qui influence par la suite, dans le cas des
services de vidéo streaming adaptatifs, la qualité vidéo
reçu par le client de la part du serveur.
Bande-passante (théorique) = Taille de la fenêtre
TCP/ RTT
|
2.6
|
7.4. L'enjeu de la qualité d'expérience sur
les services de vidéo streaming adaptatif
De nos jours, des sessions de vidéo streaming
contribuent à améliorer notre expérience de vie et seront
encore plus présents dans nos activités professionnelles et
personnelles dans les futures générations de réseau. La
distribution de ces sessions pour les utilisateurs fixes et mobiles avec des
supports de qualité de service (QdS) et de Qualité
d'Expérience (QoE) est une question clé pour attirer et garder
les clients, tout en augmentant les profits des fournisseurs et en optimisant
les ressources du réseau. Du point de vue du réseau, ce
défi est principalement due à l'absence de techniques de
contrôle de distribution de paquets efficaces et le comportement
dynamique des ressources filaires et
66
Chapitre II : Etat de l'art
sans fil partagés. Du point de vue de l'utilisateur,
des sessions de vidéo streaming équipé d'un soutien de QoE
doivent être accessibles n'importe où et à tout moment.
Les systèmes traditionnels basés QdS, tels que
ceux à services différenciés fondés sur
l'architecture DiffServ [RF998] et les services intégrés qui
s'appuient sur l'architecture IntServ [RF998], visent à assurer un bon
niveau de qualité de sessions vidéo dans un environnement
réseau où cette qualité est basée sur un ensemble
d'opérations de mesure et de contrôle réseau. Actuellement
il existe des approches qui fournissent des garanties de qualité de
service pour les sessions de vidéo streaming en fonction des mesures
basées sur des métriques réseau/paquets. Des exemples de
ces mesures sont le débit, la perte de paquets, le délai et la
gigue, sauf que ces mesures n'indiquent pas l'impact réel de la
qualité vidéo reçu du point de vue de l'utilisateur. Par
conséquent, on conclut que les paramètres de qualité de
service existants ne parviennent pas à capturer les aspects subjectifs
associés avec le système visuel humain (HVS).
Afin d'optimiser l'utilisation des ressources du réseau
et augmenter le niveau de qualité de la vidéo, les
systèmes de contrôle de qualité de service QdS doivent
tenir compte des conditions actuelles du réseau, les
caractéristiques de la vidéo et l'apport en QoE.
7.5. Technique d'adaptation du réseau
La conception des techniques d'adaptation de réseau
pour la transmission de la vidéo sur Internet pose de nombreux
défis. Dans cette section, nous présentons des solutions
basées sur la couche de transport. En particulier, nous résumons
les travaux de recherche existants en les classant selon leurs types.
Trois catégories de contrôle de débit
existent : Contrôle basé sur la source, contrôle basé
sur le récepteur et contrôle hybride. Nous terminons cette section
en résumant, évaluant et comparant ces techniques.
7.5.1. Contrôle de débit basé
source
Dans cette approche, la source (expéditeur) est
chargée d'adapter le débit de transmission vidéo. Des
mécanismes de contrôle de débit basées sur la source
fournissent des informations sur l'état du réseau pour
l'expéditeur afin qu'il puisse régler et adapter le débit
du flux vidéo. Le contrôle du débit basé sur la
source peut être implicite pour les deux approches unicast et
multicast.
En ce qui concerne la transmission unicast, elle concerne deux
approches existantes, l'une basée sur le sondage et l'autre basée
sur équation. La première approche est basée sur le
sondage d'expériences. Le débit d'envoi est régulé
par les stratégies d'augmentation additive et de diminution
multiplicative (AIMD) ou par l'augmentation multiplicative et la diminution
multiplicative (MIMD). L'augmentation ou la diminution du débit
dépend du
67
Chapitre II : Etat de l'art
seuil du taux de perte de paquets. Sur l'approche basée
équation, le débit d'émission est calculé par une
équation de débit qui prend en considération l'état
de la route de transmission dans le réseau.
En ce qui concerne la transmission multicast,
l'expéditeur utilise un seul canal multidiffusion où seul le
contrôle de débit en fonction de sonde peut être
utilisé. La multidiffusion monocanal est efficace puisque tous les
récepteurs partagent le même et seul canal. Si la vidéo
multicast devait être livrée par le biais des flux unicast
individuelles, l'efficacité de la bande passante serait faible, mais les
services pourraient être différenciés puisque chaque
récepteur peut négocier avec la source les paramètres des
services.
7.5.1.1. Contrôle de débit avec
TCP
Le mécanisme de contrôle de congestion TCP est en
lui-même l'approche de contrôle de débit basé-sondage
la plus répandue.
7.5.1.2. Contrôle de débit avec le
protocole de transport multimédia (MTP) [2]
Le protocole de transport MTP est une modification du
protocole TCP. C'est une solution basée-sondage qui désactive
gracieusement les retransmissions tout en préservant les horloges de
transmission ainsi que les caractéristiques du mécanisme de
congestion du TCP. Tout comme le protocole TCP, MTP effectue le
démarrage lent, l'évitement de congestion, la retransmission
rapide et le recouvrement rapide. Il offre cependant une API transparente
UDP-like qui permet aux applications média streaming de prendre des
décisions de mise à l'échelle des médias
informés et fournit une sémantique de livraison de paquets UDP.
En outre MTP n'offre pas une garantie de livraison des paquets dans le bon
ordre.
A la base, le protocole MTP conserve les mêmes
mécanismes de détection de perte de paquets et de recouvrement de
pertes que ceux du protocole TCP, mais réduit les
caractéristiques de grand délais et gigue. Quand
l'émetteur MTP reçoit des accusés de réception
dupliqués, il lance le mécanisme d'évitement de
congestion, de retransmission rapide et de recouvrement rapide de la même
façon que le protocole TCP, et donne un mouvement de la fenêtre de
congestion ainsi qu'une horloge de transmission de paquets identiques à
ceux du protocole TCP. A la réception d'un troisième
accusé de réception ACK dupliqué, au lieu d'entrer en
phase de retransmission, le protocole MTP active l'expéditeur MTP qui
augmente sa fenêtre de transmission et envoie un nouveau paquet. Quand il
reçoit un accusé de réception pour ce nouveau paquet, il
diminue sa fenêtre de transmission. Ceci est fait afin de ne pas
considérer le remplacement/retransmission de paquets en tant que
nouvelle transmission au moment de la prochaine décision de transmission
de paquets, tout en conservant le même comportement de transmission que
celui de TCP au niveau de la couche réseau.
68
Chapitre II : Etat de l'art
Dans le cas d'un timeout de transmission, l'expéditeur
MTP réagit de la même manière qu'un expéditeur TCP
en effectuant un démarrage lent sauf que, contrairement à TCP qui
redémarre la transmission depuis le dernier numéro de
séquence de paquet ACK reçu, MTP redémarre en transmettant
un nouveau paquet directement.
Les résultats de la simulation en [2], ont
montré que les flux vidéo MTP héritent des bonnes
caractéristiques du flux TCP et UDP. Les résultats montrent aussi
que les flux MTP ressemblent également aux flux de TCP-Friendly en plus
du fait qu'ils peuvent adapter le débit de TCP-Friendly.
7.5.1.3. Protocole de transport vidéo (VTP)
[3]
Le protocole de transport VTP est basé sur le sondage
qui offre un nouveau mécanisme de contrôle de débit de bout
en bout. Ce mécanisme a été conçu
spécifiquement pour le streaming en temps réel dans les
réseaux sans fil. Son premier but était de bien fonctionner dans
l'Internet par câble, d'être robuste aux erreurs aléatoires,
afin de fournir une bonne convivialité avec le protocole TCP ainsi que
d'être déployé avec succès sur les liaisons sans
fil.
VTP combine l'estimation du taux avec des techniques de
discrimination de perte. Il se compose de deux éléments
importants, à savoir le taux d'estimation atteint (AR) et l'algorithme
de discrimination de perte (LDA). Le taux AR est le débit avec lequel
l'expéditeur a envoyé ces paquets avec succès à
travers le goulot d'étranglement. Plus spécifiquement, c'est le
débit que le récepteur peut mesurer, ajouté à la
fraction correspondante à la perte de paquets à la sortie du
goulot d'étranglement dû aux erreurs aléatoires. Le LDA
permet au protocole VTP de distinguer les pertes de congestion des pertes
d'erreurs de route. Le protocole VTP mesure l'AR et adapte son débit
d'émission lorsqu'une congestion est détectée par le
LDA.
Le contrôle de débit avec VTP est basé sur
l'analyse du débit d'envoi instantanée du protocole TCP. Comme
TCP, VTP augmente linéairement la bande passante disponible
jusqu'à ce qu'une congestion soit détectée. Au cours d'une
phase de congestion et en imitant le comportement de TCP sans impliquer une
décroissance multiplicative, l'expéditeur VTP réduit son
débit d'envoi et le taux d'encodage vidéo jusqu'à ce que
la congestion s'arrête. Cela permet au protocole VTP de transmettre une
plus grande partie de flux vidéo.
Le protocole VTP est un protocole de bout-en-bout qui
fonctionne bien dans l'environnement sans fil sans le soutien des couches
inférieures ainsi que les mécanismes AQM (analyse
quantifié de la marche) [3]. Il vise à être adaptable et
flexible en faisant des hypothèses minimales sur le réseau et en
utilisant des évaluations de réseau comme un indicateur
approximatif. Ces caractéristiques sont les facteurs de motivation de la
conception du protocole VTP.
Chapitre II : Etat de l'art
69
7.5.1.4. Source-Adaptive Multilayered Multicast
Algorithms (SAMM) [4]
Dans les algorithmes SAMM qui ont été
proposés pour la transmission multicast de vidéos, la source
ajuste les paramètres de codage, en incluant le nombre de vidéos
et leurs débits respectifs dans une réponse retour (feedback) de
congestion sur un flux continu de la part des récepteurs. Les
algorithmes SAMM peuvent être basés sur le concept de bout-en-bout
ou basé-réseau. Sur les algorithmes basés-réseau,
la congestion est surveillée et détectée par les noeuds
intermédiaires de réseau. D'autre part, sur les algorithmes de
bout-en-bout, le contrôle de congestion se fait exclusivement chez la
source et chez les récepteurs.
Afin de renforcer les algorithmes SAMM, une architecture de
réseau doit être définie. Quatre éléments de
base sont nécessaires pour la mise en oeuvre d'un algorithme
vidéo SAMM qui sont : une source vidéo adaptative de plusieurs
niveaux, des récepteurs vidéo de plusieurs niveaux, des routeurs
multicast et des noeuds avec la capacité de renvoyer des réponses
retours (feedback). La source vidéo adaptative a la capacité de
générer des données vidéo de plusieurs niveaux de
qualité. Le récepteur fait référence à la
qualité qu'il veut recevoir. Les routeurs multicast doivent être
capables d'effectuer le transfert multicast, le routage, la diminution de
priorité, l'isolation de flux et le contrôle de congestion. Pour
éviter l'implosion, une agrégation des réponses retour est
faite par la fusion et l'organisation des réponses retour
distribuées dans le réseau superposé. Après la
réception d'un nombre donné de paquets vidéo, le
récepteur envoie une réponse retour au noeud de fusion le plus
proche. Celui-ci transmettra à la source la liste de débits
demandés par les récepteurs.
7.5.1.5. RTP/RTCP (Real Time Protocol) [5]
Tous les protocoles et les algorithmes ci-dessus se
réfèrent à la couche Transport, à part Real Time
Protocol (RTP) qui est un protocole Internet standard se trouvant sur la couche
Application. Il est utilisé pour le transport des données en
temps réel de bout en bout, y compris l'audio et la vidéo. Il
peut aussi être utilisé pour les services de média à
la demande ainsi que les services interactifs comme la téléphonie
sur Internet et les communications unicast.
Le protocole RTP fonctionne habituellement sur le dessus du
protocole UDP afin de faire usage de ses fonctions de multiplexage et de
contrôle. RTP ne garantit pas une livraison rapide de paquets et ne
fournit pas les paquets dans leur ordre. Le protocole RTP donne la
responsabilité de récupérer les segments perdus et le
séquençage des paquets à la couche Application. Par
conséquent, il ne propose aucune formule de fiabilité ou de
contrôle de débit/congestion. Il offre un service d'horodatage
ainsi que des numéros de séquence pour assurer la
fiabilité et le contrôle débit/congestion, mais leur mise
en oeuvre est totalement attribuée à l'application.
70
Chapitre II : Etat de l'art
Le Real Time Control Protocol (RTCP) accompagne le protocole
RTP. Il sert à faire des statistiques sur les connexions et les
informations multimédias telles que le nombre d'octets envoyés,
le nombre de paquets envoyés, le nombre de paquets perdus, la gigue et
les délais aller-retour. Les expéditeurs, les récepteurs
et les moniteurs tiers peuvent utiliser ces informations pour juger la
qualité de leurs connexions afin de procéder aux ajustements
nécessaires telles que le passage d'un faible codec de compression
à un codec de compression plus élevé. Les gestionnaires de
réseau peuvent utiliser des informations contenues dans les paquets RTCP
pour évaluer la performance de leurs réseaux dans la diffusion
multicast. RTCP est utilisé pour les conférences en temps
réel (grands groupes) utilisant le réseau Internet, y compris
l'identification de la source, le soutien pour les passerelles et les
traducteurs multicast-à-unicast. Il propose également des
évaluations de qualité de service à partir de
récepteurs au groupe de multi diffusion. Aussi il sert comme un support
pour la synchronisation des différents flux de médias. Les
données RTP / RTCP peuvent être cryptées afin
d'améliorer la sécurité.
Le protocole RTP / RTCP n'est pas responsable des tâches
de niveau supérieur comme l'assemblage ou la synchronisation qui doivent
être fait dans la couche Application. Il fournit des mécanismes et
des fonctionnalités de contrôle nécessaires à
l'acheminement du contenu en temps réel. RTP est un framework de
protocole qui n'est délibérément pas complet. Il est
ouvert pour être utilisé sur de nouveaux formats de données
ainsi que pour de nouveaux logiciels multimédia. En ajoutant de nouveaux
profils et de nouvelles spécifications de formats de données, on
peut adapter le protocole RTP à de nouveaux formats de données et
à de nouvelles applications.
7.5.1.6. Contrôle de débit avec TCP Friendly
(TFRC) [6]
Le mécanisme de contrôle de débit de TCP
friendly est l'un des algorithmes de streaming de bout-en-bout basés
équation les plus répandus et souvent utilisé comme
référence. TFRC a pour rôle de servir comme `framework' de
contrôle de congestion pour toutes les applications qui ne
nécessitent pas le fonctionnement à 100% du mécanisme de
fiabilité du protocole TCP et qui profitent de la faible variation du
débit d'émission.
Dans le protocole TFRC, l'émetteur envoie un flux de
paquets de données vers le récepteur avec une vitesse
contrôlée par la formule suivante :
X
|
s
|
2.7
|
* v2*??*??
3 (??_ ???? * (3 * v3*??*??
8 ) * ?? * (1 32 * ??2)))
|
Où X est le débit de transmission en octets /
seconde, s est la taille du paquet en octets, R est le temps d'aller-retour
(RTT) en secondes, p est la probabilité de perte de paquets (entre 0 et
1), t_RTO est la valeur du retransmission timeout de TCP en secondes et b est
le nombre de paquets notifiés par un seul accusé de
réception TCP.
71
Chapitre II : Etat de l'art
Quand un paquet feedback est reçu par le
récepteur, l'expéditeur change son taux d'envoi sur la base des
informations contenues dans la réponse retour. Si l'expéditeur ne
reçoit pas de feedback durant deux temps aller-retour (RTT), il abaisse
son taux d'envoi de moitié. Ce résultat est obtenu au moyen d'une
minuterie qui est appelé la minuterie de non-feedback. Quand un paquet
feedback est reçu, les actions suivantes doivent être
effectuées : calculer un nouvel échantillon du temps
d'aller-retour, mettre à jour la valeur estimée du temps
aller-retour, mettre à jour l'intervalle de temporisation, mettre
à jour le débit d'émission et réinitialiser la
minuterie de non-feedback.
Le récepteur envoie périodiquement des messages
de réponse retour à l'expéditeur. Les paquets feedback
devraient normalement être envoyés au moins une fois par RTT. Ils
devraient également être envoyés à chaque fois qu'un
nouvel événement de perte est détecté sans attendre
la fin d'un RTT, et à chaque fois qu'un paquet out-of-order qui supprime
un événement de perte de l'historique des pertes est reçu.
Si l'expéditeur transmet de nombreux paquets par RTT, il peut y avoir
certains avantages si l'envoi de messages feedback se feront plus d'une fois
par RTT car cela permet d'avoir une réponse plus rapide qui servira
à l'évolution des mesures de RTT. Cependant, l'envoi d'un grand
nombre de paquets feedback par RTT pourra surcharger le réseau.
Le protocole TFRC a été conçu pour
répondre à un événement de perte paquet. Cependant,
avec la popularité croissante de terminaux Internet sans fil et la
grande demande qui concerne le flux streaming vidéo par les utilisateurs
mobiles, il est important pour les protocoles de streaming de travailler d'une
façon efficace sur les liens sans fil en supportant les erreurs
aléatoires élevées du sans fil.
7.5.2. Contrôle de débit basé
récepteur
La technique d'adaptation de débit basée source
souffre en matière de performance en raison des différents
besoins des récepteurs en matière de bande passante.
L'hétérogénéité de l'environnement
réseau empêche la source de transmettre les données avec un
seul débit. En dehors de cela il n'y a pas de techniques vraiment
acceptables pour déterminer la capacité du réseau et la
façon qui permet de trouver le débit approprié.
Différentes approches utilisant le contrôle de débit
basé récepteur ont été proposées. La plus
populaire de ces approches est celle qui combine un algorithme de compression
multicouche avec un système de transmission multicast. Les
récepteurs définissent implicitement les arbres de distribution
de multidiffusion simplement en exprimant leur intérêt à
recevoir des flux bien définie. Ainsi, il n'y a aucune signalisation
explicite entre les récepteurs et les routeurs ou entre les
récepteurs et la source.
Comme dans le contrôle de débit basé
source, nous classons les protocoles et les mécanismes de contrôle
de débit basés récepteur existants en deux
catégories : les approches basées sur le sondage et les approches
basées sur des équations. Dans l'approche basée sonde le
récepteur choisit le niveau optimal de souscription et ajoute des
couches en joignant les groupes de multidiffusion correspondants jusqu'à
ce que la
72
Chapitre II : Etat de l'art
congestion se produise. Ensuite, il recule d'un point de
fonctionnement afin de soulager le goulot d'étranglement. D'autre part,
dans l'approche basée équation du récepteur, il estime la
bande passante disponible puis décide d'adhérer ou de disjoindre
un groupe de multidiffusion.
Les solutions basées récepteur peuvent
être classées elles-mêmes en deux catégories : Des
solutions agnostiques et non agnostiques. Du coté récepteur, les
solutions de streaming adaptatif qui adaptent le débit peuvent soit
interagir avec les utilisateurs et donc entrer dans la classe agnostique soit
fonctionner dépendamment des utilisateurs et entrer dans la classe non
agnostique.
7.5.2.1. Techniques non agnostiques
7.5.2.1.1. Receiver-driven Layered Multicast (RLM)
[7]
Le protocole RLM fonctionne dans le modèle IP actuel.
Il utilise les techniques du meilleur effort (best-effort) de livraison
multipoints de paquets, l'efficacité de la livraison multidiffusion d'IP
et de la communication orientée groupe. Dans le protocole RLM, la source
encode son signal en plusieurs couches et transmet chaque couche sur un groupe
de multidiffusion distincte. Les récepteurs peuvent rejoindre ou quitter
un groupe en fonction de sa capacité : si la congestion se produit alors
déposer une couche ou si une capacité de réserve
supplémentaire existe alors ajoutez une couche. Le récepteur
recherche le niveau optimal de souscription et selon ce schéma il ajoute
des couches jusqu'à ce que la congestion se produise.
Le récepteur doit déterminer son niveau
d'abonnement actuel. Si une congestion se produit alors l'abonnement est trop
élevé. Cela est facile à détecter car la congestion
est exprimée explicitement dans le flux de données par la perte
de paquets ou par la dégradation de la qualité de transmission.
D'autre part, lorsque l'abonnement est trop bas, il n'y a pas de signal
équivalent. La façon de régler ce problème est
d'ajouter des couches spontanément à des moments bien choisis. Si
l'ajout de couches provoque la congestion du récepteur, il diminue
rapidement les couches de placement. Si aucune congestion n'est
détectée alors le récepteur s'approche d'un pas
supplémentaire vers le point de fonctionnement optimal.
Les chercheurs ont évalué le protocole RLM sur
des scénarios simples et ils n'ont considéré que
l'interaction inter-RLM. Ils ont constaté que RLM peut entraîner
une forte iniquité inter-RLM.
7.5.2.1.2. Layered Video Multicast Retransmission (LVMR)
[8]
Le protocole LVMR s'appuie sur un système de
distribution de vidéo qui utilise un codage en couches sur Internet. Il
aborde les problèmes de la congestion et de
l'hétérogénéité du réseau en
utilisant des techniques de codage en couches de la vidéo.
73
Chapitre II : Etat de l'art
Dans ce contexte, il permet à chaque récepteur
de souscrire à un sous-réseau des couches de vidéo en
fonction de sa puissance de traitement et de la disponibilité de la
bande passante réseau. Les deux contributions clés du protocole
sont les suivants :
(i) l'amélioration de la qualité de
réception dans chaque couche en retransmettant les paquets perdus,
détermination d'une limite supérieure de temps de
récupération et l'ajout d'un point de restauration qui permettra
au système de faire un maximum de retransmissions avec succès,
(ii) l'adaptation à la congestion ainsi qu'à
l'hétérogénéité du réseau en
utilisant un mécanisme de contrôle de débit
hiérarchique.
Contrairement aux techniques de contrôle de débit
existantes basées-expéditeur et basées-récepteur,
pour lesquelles l'ensemble des informations sur la congestion du réseau
est soit disponible à l'expéditeur (en approche basée
expéditeur) ou reproduit au niveau des récepteurs (dans
l'approche basée récepteur), le mécanisme
hiérarchique de contrôle de débit distribue l'information
entre l'expéditeur, les récepteurs et les agents du
réseau. Par exemple, les récepteurs peuvent demander les paquets
perdus aux voisins (récepteurs désignés DR), de telle
sorte que chaque entité conserve uniquement les informations pertinentes
pour elle-même. En plus de cela, l'approche hiérarchique permet de
prendre des décisions intelligentes en termes de réalisation
d'expériences simultanées et de choisir l'une des nombreuses
expériences possibles à tout instant basée sur un minimum
d'information à propos des agents du réseau.
Le protocole LVMR peut être déployé
immédiatement sur le réseau, en raison du fait qu'il ne
dépend d'aucun mécanisme de qualité de service ou d'autres
composants dans le réseau. D'autre part le protocole LVMR montre une
évolutivité limitée. Les voisins ne sont pas
nécessairement tout le temps disponibles pour partager les informations
entre les récepteurs vidéo.
7.5.2.1.3. 3GP Dynamic Adaptive Streaming over HTTP
(3GP-DASH) [9]
Depuis la version 10, le service Adaptive 3GPP streaming HTTP
est appelé 3GP-DASH après une activité de normalisation
3GPP SA4. La figure 22 montres le principe de la spécification
3GP-DASH.Cette spécification fournit :
? Une définition normative de la présentation
des médias. Avec cette définition
la présentation des médias est définie
comme un ensemble structuré de données qui est accessible au
client DASH à travers la description des présentations des
médias.
? Une définition normative des formats d'un segment. Un
segment est défini
comme une unité de données intégrante
d'une présentation multimédia qui peut être
référencé uniquement par une URL HTTP (probablement
restreinte par une plage d'octets).
Chapitre II : Etat de l'art
74
? Une définition normative du protocole de livraison
utilisé pour la livraison des
segments, à savoir HTTP / 1.1.
? Une description informative sur la façon dont un
client DASH peut utiliser les
informations fournies pour établir un service de
streaming pour l'utilisateur.
Figure 22 : Architecture 3GPP-DASH
3GPP-DASH est défini sur deux niveaux :
a) un cadre générique pour les services streaming
adaptatifs dynamiques indépendant du format d'encapsulation de
données pour les segments des médias.
b) Une instanciation spécifique de ce framework avec le
format de fichier multimédia de base 3GPP / ISO en spécifiant les
formats de segment, en partie en se référant aux formats TS
26,244.
Cette approche rend le framework défini par le 3GPP
extensible pour tous les autres formats de segments, des codecs et des
solutions DRM.
3GP-DASH prend en charge plusieurs services, entre autres :
? Le streaming à la demande.
? La télévision linéaire, y
compris la diffusion de médias en direct.
? L'option « Time shift visualisation
» avec les fonctionnalités réseau
d'enregistrement vidéo personnel (PVR).
Des traitements spécifiques ont été
ajoutés durant la conception de 3GPP-DASH, tel que le fait que le
réseau peut être déployé sur des serveurs HTTP
standard et que les
75
Chapitre II : Etat de l'art
distributions peuvent être fournies par des
infrastructures Web réguliers comme les CDN basées HTTP. La
spécification laisse aussi place pour les différentes options de
déploiement serveur/côté-réseau ainsi que pour les
implémentations client optimisé.
La spécification définit également des
dispositions pour soutenir des fonctionnalités telles que :
- La sélection initiale du client
et/ou la représentation du contenu pour un
utilisateur-spécifique.
- L'adaptation dynamique du contenu
déjà lu afin de réagir aux changements
environnementaux tels que la bande passante ou la puissance de
traitement.
- Des modes, tels que la recherche, l'avance
rapide ou le rembobinage.
- L'insertion de la publicité
pré-codé ou d'autres contenus d'une manière simple
dans les services à-la-demande et les services de
streaming en direct.
- La délivrance efficace de plusieurs
langues et pistes audio.
- La protection du contenu et la
sécurité de transports.
7.5.2.2. Techniques agnostiques
7.5.2.2.1. Approche de l'environnement
contrôlé (AEC) [10]
L'approche de l'environnement contrôlé est
basée sur l'idée de l'environnement de test en laboratoire, qui
est spécialement conçu pour fixer les facteurs environnementaux
pouvant influencer les expériences de visualisations des utilisateurs.
Télécommunications Internationale
Union-télécommunications (UIT-T) [3] définit les
recommandations qu'il faut tenir en compte pour lancer un bon test de
laboratoire, elle décrit aussi les critères de sélection
des participants qui effectuent le test. La recommandation UIT-T [11] a fourni
les lignes directrices pour effectuer des essais subjectifs dans un
environnement contrôlé, y compris la sélection des
participants qui représentent les utilisateurs d'un service. En effet,
pour obtenir une notation subjective selon la recommandation ITU-T [12], les
participants devraient être des non-experts, dans le sens où ils
ne devraient pas être directement concernés par l'image ou la
qualité de la vidéo dans le cadre de leur travail normal. Cette
approche présente les avantages suivants :
- L'environnement de test est totalement sous
contrôle.
- La facilité d'observer l'influence
d'un paramètre.
- La liberté de choisir des participants
qui appartiennent à différentes
professions, groupe d'âge, etc.
L'approche de l'environnement contrôlé a aussi
quelques limitations pour évaluer la performance de la QoE, à
savoir :
Chapitre II : Etat de l'art
76
? Le critère de temps.
? Le nombre de participants qui sont
prêts à passer du temps pour le test dans le
laboratoire et exprimer leur perception de la qualité pour
le service vidéo est limitée.
? Acheter les équipements
spéciaux et les appareils qui permettent d'effectuer le
test rend cette approche très coûteuse.
? Il est difficile de trouver une configuration
de l'environnement de test
laboratoire qui ressemble à l'environnement du monde
réel.
7.5.3. Contrôle de débit hybride
Selon les solutions de contrôle de débit hybride,
les récepteurs ajustent le débit de réception de la
vidéo en ajoutant/enlevant des canaux/couches tandis que
l'expéditeur en même temps ajuste le débit du canal en
fonction des réponses retours (feedback) transmises par le
récepteur. Ce système combine les avantages des approches
basées récepteur et approches basées expéditeur
afin de donner naissance à un nouveau système plus efficace, mais
avec des mécanismes d'adaptation plus compliqués.
7.5.3.1. QoE-based Network Selection for Multimedia
Users in IEEE 802.11
wireless networks (NSFMU) [13]
Dans l'approche citée en [13], les auteurs
décrivent un schéma de sélection de réseau dans les
réseaux IEEE 802.11. Les réseaux disponibles sont
évalués selon la méthode PSQA [13]. Les paramètres
objectifs de QdS tels que la bande passante, la gigue et la perte de paquets
sont combinés avec les paramètres subjectifs de la QoE, tels que
« la qualité de la vidéo est bonne ». Les
paramètres de la QoE sont estimés en utilisant la technique du
MOS (Mean Opinion Score ou le ressenti global). Exceptionnellement, un
réseau de neurone aléatoire (RNN) est utilisé pour
l'apprentissage statistique des valeurs du MOS [13] et fournit une
évaluation automatisé de la QoE pour chaque réseau.
Selon les auteurs, les étapes préalables pour
permettre l'application de la méthode de PSQA sont les suivantes :
Étape 1 : des facteurs de la
qualité-affective et une base de données des vidéo
déformés : les facteurs de la QdS sont
sélectionnés, ensuite une plage de valeurs pour chaque facteur
est défini. L'ensemble des facteurs ainsi que leurs valeurs
spécifiques est appelé « configuration ». A la base de
cela, une base de données vidéo qui contient de nombreuses
configurations est créée.
Étape 2 : Une évaluation
subjective de la qualité : selon la méthode MOS, une
évaluation subjective des configurations qui sont contenues dans la base
de données vidéo est effectuée. Deux bases de
données similaires qui contiennent les configurations et les
77
Chapitre II : Etat de l'art
scores relatifs au MOS sont créées. Le premier
est désigné comme « base de données de formation
» et le second comme « base de données de validation
».
Étape 3 : Un apprentissage du
comportement de la qualité avec RNN : Le résultat de
l'étape 2 est une évaluation qualitative du contenu des bases de
données vidéo qui ont été créé
à l'étape 1. Le RNN reçoit en entrée la base de
données de formation et tente de faire un auto-apprentissage en fonction
de ses données. Une fonction f vérifie si la connaissance acquise
par le RNN est convergente par rapport à la base de données de
validation. Si la connaissance acquise par le RNN est relativement proche de la
base de données de validation, le RNN est positivement
évalué, sinon un examen des données divergentes est
effectué, jusqu'à l'obtention d'un bon RNN.
Quand un utilisateur a besoin de faire une sélection de
réseau, chaque point d'accès l'informe à propos de sa QoE
estimé. Cette information provient des expériences des
précédents utilisateurs connectés au point d'accès,
elle est incluse dans les balises et les trames de réponse de la sonde.
L'utilisateur définit ses exigences minimales en matière de QoE
en utilisant une échelle qui représente le MOS. Le terminal de
l'utilisateur se connecte aux réseaux qui répondent aux exigences
minimales de la QoE et effectue la sélection parmi ces
réseaux.
7.5.3.2. QoE-assessment for Multiple Description video
Coding [14]
Les auteurs en [14] proposent l'approche Multiple Description
Coding (MDC) comme une solution pour réduire la dégradation de la
qualité de la vidéo due à la perte de paquets, aux erreurs
de bits et aux erreurs dues à la transmission en rafale. L'idée
du MDC est de diviser le flux vidéo en deux ou plusieurs descriptions
corrélées. Les descriptions contiennent des données
complémentaires, de sorte que plus le nombre de description qu'on
reçoit est grand, meilleure est la qualité perçue. Ainsi,
la probabilité de recevoir une bonne qualité de vidéo
(utile) est améliorée.
Dans cette approche (MDC), les auteurs proposent deux
descriptions basées sur des groupes pairs et impairs d'images (GOP).
Dans le codage H.264 [14], GOP est un groupe d'images successives. Chaque GOP
contient plusieurs types de trames : I-trame (intra-image codée),
P-trame (image codée prédictive) et B-trame (bidirectionnel
prédictive d'image codée). Habituellement, un GOP commence avec
un I-trame et sera suivi par plusieurs P-trames séparé par
certaines distances de trame.
Ces distances seront occupées par les B-trames. Les
I-trames contiennent une image complète et ne nécessitent aucune
information supplémentaire pour la reconstruire. Par conséquent,
toute erreur dans la structure GOP est corrigée par la prochaine I-trame
et chaque GOP peut être décodé indépendamment sans
affecter les autres GOPS. Les auteurs se basent sur ce fait pour la
création des deux descriptions de flux vidéo en utilisant les GOP
pairs et impairs, de façon à ce que lorsqu'un client
reçoit les deux descriptions, il sera en mesure de reconstituer
l'intégralité de la vidéo. En cas de réception
d'une seule
78
Chapitre II : Etat de l'art
description, une méthode de division est proposée
afin de garantir qu'au moins, la moitié des I-trames qui sont importants
soient livrés. Ainsi, on aura au moins une vidéo certes avec une
faible qualité, mais toujours lisible par un observateur humain.
Le tableau suivant donne une comparaison des différentes
approches de vidéo streaming :
|
Agnostique/ non
agnostique
|
Solution
|
Basée sonde/ équation
|
Basée débit/fenêtre
|
Unicast/ multicast
|
Couche transport/ application
|
Support sans fil
|
Avis
clien
|
Basée source
|
Non agnostique
|
TCP
|
Sonde
|
Fenêtre
|
Unicast
|
Transport
|
non
|
Non
|
UDP
|
-
|
-
|
Unicast
|
Transport
|
non
|
Non
|
MTP
|
Sonde
|
Fenêtre
|
Unicast
|
Transport
|
non
|
Non
|
VTP
|
Sonde
|
Fenêtre
|
Unicast
|
Transport
|
oui
|
Non
|
SAMM
|
-
|
Débit
|
Multicast
|
-
|
non
|
Non
|
RTP/RTCP
|
-
|
-
|
Uni/multicas t
|
Application
|
non
|
Non
|
TFRC
|
Equation
|
Débit
|
Unicast
|
Application
|
non
|
Non
|
Basée récepteur
|
Non agnostique
|
RLM
|
Sonde
|
-
|
Multicast
|
App/trans
|
non
|
Non
|
LVMR
|
-
|
-
|
Multicast
|
App/trans
|
non
|
Non
|
3GP-DASH
|
Sonde
|
Débit
|
Unicast
|
Application
|
non
|
Non
|
agnostique
|
AEC
|
Sonde
|
Fenêtre
|
Unicast
|
App/trans
|
non
|
Oui
|
Hybride
|
Non agnostique
|
NSMU
|
-
|
-
|
Unicast
|
App/trans
|
non
|
Non
|
ADVC
|
-
|
-
|
Unicast
|
App/trans
|
non
|
Non
|
Table 2 : Comparaison des différentes
approches de vidéo streaming.
8. Conclusion et critiques
Notre première constatation faite après les
travaux présentés dans ce chapitre est que la plupart des
protocoles et mécanismes arborés sont utilisés pour le
streaming en temps réel. Ils ne traitent pas le problème des
pertes de paquets dans les réseaux sans fil car ils ont
été conçus principalement pour les réseaux
câblés qui souffrent du manque d'un mécanisme de
contrôle de débit pouvant gérer efficacement les pertes de
paquets dans les réseaux sans fil.
Aussi, après étude et analyse des
différents approches qui essaient d'adapter le débit pour
améliorer la qualité de service et la qualité
d'expérience dans les services de vidéo streaming, nous
remarquons que plusieurs façons et techniques peuvent être
utilisées et qui donnent de bons résultats et de bonnes
performances. Cependant la plupart de ces solutions ne considèrent pas
l'avis du client à propos du service et de la qualité de
79
Chapitre II : Etat de l'art
l'adaptation apportée. Néanmoins en dépit
de l'amélioration que ces approches fournissent en matière
d'adaptation débit/qualité, si le client n'est pas satisfait de
cette adaptation, l'approche perdra de sa valeur.
CHAPITRE III : APPROCHES POUR
L'AMELIORATION DE TCP DANS UN
ENVIRONNEMENT SANS FIL
80
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP DANS UN
ENVIRONNEMENT SANS FIL
Sommaire
1. Introduction 80
2. Contributions 81
2.1 Contribution 1: Proposition d'un mécanisme
inter-couches de différentiation 81
de perte pour TCP dans les réseaux sans fils ad
hoc
Conclusion 1 94
2.2 Contribution 2 : TCP et
l'amélioration des services de vidéo streaming .94
Conclusion 2 113
adaptatifs
1. Introduction
L'objectif principal de notre thèse est
l'amélioration du protocole de contrôle de transmission (TCP) pour
le transfert des flux de données en général et les flux
multimédia en particulier dans un environnement sans fil. Les travaux de
recherche se sont déroulés en deux étapes :
(i) La phase une, « Proposition d'un mécanisme
inter-couches pour la différentiation de perte pour TCP dans les
réseaux sans fils ad hoc », consiste à apporter des
améliorations au protocole TCP afin d'augmenter sa compatibilité
avec les différents types de réseaux tel que les réseaux
sans fils mobile (MANET) ainsi que d'améliorer ces performances en
matière de bande passante optimale, de fréquence de perte de
paquets et de fiabilité.
(ii) La phase deux intitulée « TCP et
l'amélioration des services de vidéo streaming adaptatifs »
dans laquelle il s'agit de proposer une nouvelle méthode d'adaptation
qui vise à améliorer la QoE des utilisateurs des services de
vidéo streaming adaptatif. Cette amélioration est
réalisée en intégrant les paramètres des terminaux
et leurs feedback dans le processus d'adaptation de la qualité
reçue.
Nous présentons dans ce qui suit, chacune de ces
contributions en mettant l'accent sur l'amélioration apportée au
niveau de TCP.
81
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
2. Contributions
2.1. Première contribution : Proposition d'un
mécanisme inter-couches de différentiation de perte pour TCP dans
les réseaux sans fils ad hoc
2.1.1. Positionnement du problème
TCP est le protocole de transport dominant dans les
communications qui nécessitent de la fiabilité sur Internet. Il
assure l'ordonnancement des paquets à leur arrivée, la
retransmission des paquets perdus ainsi qu'un contrôle de congestion.
Dans les réseaux sans fil, les atténuations du signal et les
interférences peuvent dégrader provisoirement la qualité
des liens radios. Alors que TCP a été conçu pour s'adapter
aux problèmes de congestion dans les réseaux filaires, il s'agit
à présent pour lui de s'adapter aux contraintes des
réseaux sans fil en utilisant au mieux les ressources limitées du
système.
En effet, l'hypothèse implicite de TCP que toute perte
de paquets est due à une congestion n'est plus valide dans les
réseaux sans fil en particulier les réseaux mobiles ad hoc,
où les erreurs du canal sans fil (interférence, perte du signal,
bruit,...), la contention des liens, la mobilité et le routage
multi-chemin peuvent considérablement corrompre ou troubler la livraison
des paquets.
Sur des liaisons filaires, la majorité des pertes de
paquets sont principalement due à des problèmes de congestion
dans le réseau. En plus de retransmettre les paquets perdus, TCP met
naturellement en oeuvre un système pour réduire la charge dans le
réseau en réduisant son débit d'émission et ainsi
résister à la congestion. Lorsque le réseau comporte un
lien radio, des paquets peuvent être perdus du fait de la faible
fiabilité de la liaison sans fil. A la suite de cette perte qui peut
être due à une cause autre que la congestion, TCP déclenche
de façon inopportune son système de contrôle de congestion
ce qui a pour effet de réduire le débit de la liaison
inutilement. Les performances de la liaison s'en trouvent de ce fait fortement
dégradées.
Plusieurs tentatives ont été faites pour
améliorer les performances de TCP dans les réseaux sans fil, mais
aucune de ces approches n'a été normalisée. De plus, des
recherches ont été effectuées et qui s'intéressent
aux performances de TCP dans les réseaux mobiles ad hoc multi-sauts mais
qui sont encore actives dans ce domaine et de nombreux problèmes sont
encore ouverts.
Le travail réalisé dans la première
partie des travaux de cette thèse, a comme principal objectif la
proposition d'une approche collaborative basée sur une conception
Cross-Layer pour améliorer la performance de TCP de bout en bout dans
les réseaux sans fil. L'approche proposée vise à
résoudre la cause principale de la dégradation de la performance
de TCP à travers des liens sans fil, à savoir l'incapacité
de TCP à déterminer si un paquet a été perdu en
raison d'erreurs de transmission ou par suite de congestion de réseau.
Comme une congestion crée déjà un ralentissement global du
réseau puisqu'il faut retransmettre les paquets perdus, la solution
proposée permet donc de minimiser l'impact des retransmissions pour
revenir le plus rapidement possible à un état
général stable.
82
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
2.1.2. Description de la solution
Le principe général de l'approche
proposée est d'apprendre au mécanisme de perte de paquets et de
contrôle de congestion du standard TCP à faire la distinction
entre les différentes raison de perte de paquets. Si les pertes de
paquets sont dues à la congestion, dans ce cas TCP réduit sa
fenêtre de flux jusqu'au soulagement de la congestion. Sinon, si la perte
de paquets est due à une autre raison que la congestion, TCP garde la
même taille de la fenêtre de flux et lance une procédure qui
tente de régler le problème selon la raison de perte
détecté.
Notre solution est basée sur une architecture
cross-layer et a été testée sur la base du standard TCP
Reno. Pour évaluer les performances de la nouvelle architecture nous
avons utilisé une simulation sous NS3. Les scénarios et les
résultats sont discutés dans ce chapitre.
L'approche cross-layer ou inter-couches s'appuie sur les
interactions entre deux niveaux de l'architecture OSI (Open System
Interconnection). Dans cette approche, les échanges d'informations se
font entre des couches qui ne sont pas forcément adjacentes : la
performance globale est optimisée en adaptant chaque niveau en fonction
de l'information disponible. Dans notre solution nous avons utilisé la
communication directe entre la couche physique (PHY) et la couche transport
(TCP).
La communication directe entre les différentes couches
du modelé OSI pose un problème de complexité de gestion
des espaces de mémoire partagée entre les couches, qui peut
conduire à un problème d'implantation dès lors que les
ressources des équipements sont limitées. De plus, ce type
d'architecture pose aussi des problèmes de maintenance dans la mesure
où l'ajout, le retrait ou l'évolution d'éléments,
influe sur de nombreuses interactions. Cependant, le choix de ce type de
communication dans notre travail, se justifie par l'utilisation du champ «
Réservé » qui se trouve dans l'en-tête de segment TCP
(figure 23). A l'origine ce champ a été réservé
pour un usage futur.
Figure 23 : Structure d'un segment TCP
2.1.3. Formulation de la solution proposée
Afin d'adapter le mécanisme de perte de paquets et de
contrôle de congestion de TCP dans les environnements sans fil, nous
avons ajouté au protocole TCP de nouvelles
83
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
fonctions et conditions. Le but de ces fonctions et conditions
est de permettre à TCP de faire la distinction entre les pertes dues
à la congestion, à la mobilité et aux
interférences.
L'idée est de prédire la valeur du prochain RTT
en se basant sur les « 5 » dernières valeurs de RTT, la valeur
de la puissance du signal et de bruit en utilisant une fonction «
f ». C'est Sur la base de cette valeur
estimée de RTT (PRTT) que le protocole TCP calculera la valeur du RTO.
Pour la prochaine séquence d'envoi de paquets, TCP utilisera la valeur
du RTO calculé à la base du RTT estimé comme le temps
à attendre avant de décider que les paquets envoyés seront
considérer comme perdus ou pas.
RTO = min [UBOUND, max [LBOUND (BETA * RTT)]]
3.1
Où :
UBOUND est la valeur maximale de RTO (e.g. 1 minute). LBOUND
est la valeur minimale du RTO (e.g. 1 seconde).
BETA est le facteur de variance du délai (par exemple
1,3-2,0)
Dans le cas où TCP détecte une perte de paquets
(à la base du RTO estimé), il lancera le nouveau mécanisme
qu'on lui a ajouté afin de trouver la vraie raison de perte de paquets
à l'aide de formules probabilistes. Ces formules ont comme entrée
la puissance du signal minimale de la route `SSM' (tous les sauts), et la
puissance du bruit maximal de la route `NMX' (tous les sauts) des 5
dernières séquences. Apres que TCP prédit les valeurs de
PSSM et de PNMX de la prochaines séquence de paquets a envoyé, il
commence à procéder par élimination.
3.2
3.3
3.4
= En=4(INMX
PNMX nI)
5
PSSM = En=4°.(|SSMn|)
5
PRTT = f (RTT, SSM, NMX)
En=4(|SSMn|)
PRTT = (En=0 (RTTn)) * |PNMX| * 5
\ n=4 5 J En=4(|NMXn|)
|PSSM|
5
Pour estimer la valeur du RTT prédit, Nous avons
proposé une formule calcule la moyenne des 5 dernières valeurs du
RTT (des séquences précédentes), puis il multiplie cette
moyenne par deux facteurs. Le premier facteur représente la variation de
la puissance de signal actuelle par rapport aux 5 dernières valeurs de
puissance de signal. Le deuxième
84
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
facteur représente la variation de la valeur du bruit
actuelle par rapport aux 5 dernières valeurs de bruit. A la fin, TCP va
estimer une valeur de RTT basé sur les anciennes variations de RTT et en
fonction du changement des valeurs de puissance de signal et de bruit.
D'abord, TCP commence avec la valeur absolue de PSSM, si elle
est inférieure ou égale à la valeur du seuil de la
puissance du signal minimal des cartes sans fil utilisé, TCP
déduira que la perte est due à la puissance du signal qui n'est
pas assez puissante. Ceci peut être dû à la mobilité
ou à l'emplacement des noeuds. Dans ce cas TCP fait appel au protocole
de routage afin de trouver une nouvelle route (avec une meilleure valeur de
puissance du signal) toute en désactivant le mécanisme de
réduction de fenêtre de flux de TCP temporairement, ceci va
permettre de garder un débit élevé.
Sinon, si la valeur de PSSM est supérieure à la
valeur de seuil de puissance du signal minimal de la carte sans fil
utilisé, dans ce cas, TCP testera la valeur absolue de PNMX. Si elle
supérieur ou égale à la valeur de seuil de bruit maximal
de la carte sans fil utilisé, alors TCP déduira que la perte de
paquets est due au bruit. Afin de résoudre ce problème le nouveau
mécanisme de TCP va tenter de changer le canal sans fil utilisé
afin de réduire les interférences toute en désactivant le
mécanisme de réduction de fenêtre de flux de TCP
temporairement, ceci va permettre de garder un débit
élevé.
Comme dernière étape. Après avoir obtenu
des résultats négatifs suite aux tests effectués par le
nouveau mécanisme sur les valeurs de PSSM et de PNMX, TCP conclura que
la perte de paquets a été provoquée par une congestion du
réseau. Pour résoudre le problème, le nouveau
mécanisme n'a qu'à s'assurer que le mécanisme de
réduction de fenêtre de flux de TCP est bien activé.
2.1.4. Récupération de la valeur du RSSI
minimal et du bruit maximal du chemin
Dans les réseaux ad hoc la transmission des paquets
peut se faire en mono-saut ou en multi-saut. Dans le mono-saut
l'émetteur et le récepteur partage une liaison unique. Cette
liaison est caractérisée par une puissance du signal unique et un
bruit unique, ce qui facilite le processus de récupération de ces
deux valeurs. Contrairement au mono-saut, les transmissions multi-saut se font
à travers plusieurs liaisons entre plusieurs noeuds, chaque deux noeuds
de la route utilisée, partage une liaison différente avec une
puissance du signal et du bruit différente de ceux qui les
succèdent.
Afin de récupérer la puissance du signal
minimale et la puissance du bruit maximale de la route, nous avons fait appel
au champ `RESERVED' des paquets TCP ACK qui représente le retour du
récepteur vers l'émetteur (voir la section Pré-requis).
Sur ce champ, nous allons sauvegarder, la puissance du signal minimal et la
puissance de bruit maximale du chemin de la sorte :
85
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
? Les parties du champ qui sont réservés à
la puissance du signal et du bruit
seront initialisés avec la puissance du signal et le bruit
du récepteur, respectivement.
? Après chaque saut vers un nouveau noeud de la route, le
mécanisme compare
les deux valeurs contenues dans le paquet ACK, si la puissance
du signal du noeud est inférieure de celle de l'ACK alors il remplace
celle de l'ACK avec celle du noeud, sinon il ne fait rien. De même pour
le bruit, si la valeur du bruit du noeud courant est plus puissante que celle
sauvegardée sur l'ACK alors il remplace celle de l'ACK avec celle du
noeud, sinon il ne fait rien.
? Ainsi de suite jusqu'à ce que le paquet ACK arrive vers
l'émetteur, là il va faire
la même chose que les noeuds intermédiaires, puis
il récupère les deux valeurs sauvegardées sur le champ
`RESERVED' de l'ACK. Ainsi, le récepteur, recevra la valeur courante
minimale de la puissance du signal et la valeur maximale du bruit.
Algorithme de récupération des valeurs de
SSM et de NMX
Début
// Quand un noeud `n' reçoit un paquet ACK
Si (noeud(n)
<>noeud_émetteur) alors
CSS = Get(noeud(n)_signal_strength);
CN = Get(noeud(n)_noise);
Si (ACK_RESERVED(SS)>CSS)
alors
ACK_RESERVED(SS)=CSS;
Si
(ACK_RESERVED(N)<CN)alors
ACK_RESERVED(N)=CN;
n=n+1;
Sinon
n=n+1;
Fin ;
86
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
2.1.5. Organigramme de la solution proposée
Début
Activer le mécanisme de réduction
de fenêtre de flux
PNMX<NSeuil
Estimé PSSM et PNMX
Envoi de paquet (N)
Calculer RTO
RTO Ecouler
Estimer PRTT
N=N+1
Changer de canal
PSSM<SSeui
Protocole de routage
Figure 24 : Organigramme de la solution
proposée
87
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Algorithme descriptif du mécanisme
proposé
Début
// A la réception de l'ACK (n-1) de la dernière
séquence envoyé.
SMM = recup(SS, ACK (N-1)) ; //SS est la puissance du
signal
Enfiler(SSM, TSSM);
PSSM = somme (TSSM[0]+TSSM[1]+T SSM[2]+TSSM[3]+TSSM[4])/5;
PRTT = f (RTT, SSM, NMX);//Estimation de PRTT
PRTO = min (UBOUND, max (LBOUND (BETA * RTT))); // Calcul de
PRTO
Seuilssm = get_sseuil(eth0);//Récupération de
la valeur de seuil signal de la carte
Seuilnmx = get_nseuil(eth0);//Récupération de
la valeur de seuil bruit de la carte
Envoi (Seq (n));//Envoi de la séquence de paquet en
cours
Si(RTO_ecouler(PRTO)=faux)alors
N=N+1 ; //Passer à la séquence de paquets
suivante
Sinon
Si
(PSSM>=Seuilssm)alors
Exécuter (AODV) ; // Essayer de résoudre le
problème de Signal bas
Envoi (Seq(n)) ; //Vérifier si le problème est
résolu
Sinon
Si
(PNMX<Seuilnmx)alors
Exécuter (Changer le canal sans fil)
;//Résoudre le problème
Envoi (Seq(n)) ;//Vérifier si le problème est
résolu ou pas
Sinon
Exécuter (Activer le mécanisme de réduction
de fenêtre TCP) ;
//Afin de soulager la congestion
Envoi (Seq(n)) ; //Vérifier si le problème est
résolu
Fin
2.1.6. Evaluation par simulations
2.1.6.1. Spécification du contexte
d'évaluation
Pour pallier principalement aux difficultés de la mise
en oeuvre de l'expérimentation en environnement réel (manque de
contrôle au niveau des paramètres, la difficulté de
reproduire une même expérience, etc.), il existe un moyen
classique permettant l'évaluation du protocole, ce moyen est la
simulation de réseau.
La simulation est une solution souvent
plébiscitée par la communauté scientifique. Elle
possède en effet l'avantage de reposer sur des modèles
validés ou au moins reconnus. De nombreuse approches et solutions
informatiques sont actuellement modélisées
implémentées et reconnues par la communauté scientifique
par le bais de la simulation. De ce fait, la simulation est souvent
utilisée par les chercheurs pour mener leurs expérimentations.
88
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Classiquement, une simulation consiste à reproduire le
comportement du système complet dans un environnement synthétique
où le temps est simulé par une horloge à
événements discrets. Elle demande une modélisation
complète, allant des applications au réseau physique, ce qui peut
se révéler à la fois complexe et coûteux en terme de
temps d'exécution et d'utilisation mémoire dans le cas de
réseaux de taille importante (100 noeuds et plus). La simulation
à événements discrets est le modèle le plus
utilisée par la communauté scientifique.
Les simulateurs de réseau sont des outils logiciels
généralement utilisés pour le développement, le
test ou encore le "debugage" d'applications ou de protocoles réseau. Un
simulateur à événements discrets se caractérise par
le fait que les changements d'états dans le réseau simulé
(événements) se produisent à des instants (sans
durée) répartis de manière discrète sur l'axe des
temps. Dans le cas des réseaux complexes, ceci permet de traiter les
événements sans être soumis à la contrainte du temps
réel.
2.1.6.2. Environnement et scenario
L'implémentation et la validation de notre approche a
été simulé avec le logiciel de simulation réseau
NS3 (network simulator 3). Celui-ci est un logiciel libre de simulation
à événements discrets très largement utilisé
dans la recherche académique et dans l'industrie. Il est
considéré par beaucoup de spécialistes des
télécommunications comme le meilleur logiciel de simulation
à événements discrets, en raison de son modèle
libre, permettant l'ajout très rapide de modèles correspondant
à des technologies émergentes.
Durant la simulation, plusieurs scénarios ont
été considérés. Le but était de comparer
l'approche que nous avons proposée avec deux autres versions de TCP, qui
sont : TCP Reno et TCP solution avec puissance du signal afin de
vérifier la performance de notre approche par rapport aux approches
étudiées.
Notre modèle de simulation est basé essentiellement
sur les principes suivants :
- Une topologie de réseau ad hoc composée de 23
noeuds homogènes
- Tous les noeuds utilisent le même protocole de routage
« AODV ».
- Le réseau est représenté par un graphe
aléatoire. Dans ce graphe, chaque noeud
est placé initialement d'une manière
aléatoire et uniforme dans une région déterminée au
préalable.
- Tous les noeuds sont identiques (les mêmes
caractéristiques) mais ils
fonctionnent de manière indépendante ;
- Chaque noeud décide seul de ses déplacements ;
- L'accès au support de transmission se fait par le
protocole CSMA/CA;
89
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
La topologie du réseau est générée
par une distribution aléatoire des noeuds dans une région
fixée préalablement par la simulation. Elle est donnée par
la figure 25.
Figure 25 : Topologie de la simulation
Le transfert de paquets se fait en multi-saut. Le débit
de transfert maximal est de 50 Mbps. Les données utilisées sont
des données multimédia (séquences vidéo). Enfin,
les interférences et la mobilité des noeuds
(représentées par des variables) changent de scenario à un
autre.
Les différentes classes TCP (NS3) que nous avons
utilisé pour implémenter notre approche TCP sont :
TOPOLOGIE-TEST.cc/ NODE.cc/ MOBILITY.cc/ TCP-Reno.cc/
TCP-SOCKET-BASE.cc/ SET-RTT.cc/
RTT-ESTIMATOR.cc/PACKET.cc/
YANS-WIFI-PHY.cc/ (get signal, get noise).
Plusieurs simulations sous différents scénarios
ont été effectuées pour étudier le comportement de
notre approche. Nous avons considéré 4 scénarios qui sont
décrits ci-dessous :
Scénario 1 : un transport de
données sur un réseau ad hoc multi-saut, les noeuds de la
topologie ne sont ni mobiles ni sous l'effet des interférences.
Scénario 2 : un des noeuds de la
topologie (faisant partie de la route utilisée) est mobile. Situé
au centre de la topologie, il se déplace avec le temps vers
l'extérieur de la topologie. Le routage est statique, tous les paquets
passent par le noeud mobile. Dans ce scénario les interférences
sont négligées.
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Scénario 3 : les noeuds de la
topologie ne sont pas mobiles, mais ils sont sous l'effet des
interférences qui augmente avec le temps. Les interférences sont
appliquées sur le canal par défaut avec un faible effet sur les
canaux du voisinage. La fonctionnalité de changement de canal de notre
solution est désactivée.
Scénario 4 : un des noeuds de la
topologie (faisant partie de la route utilisée) est mobile. Il se
déplace du centre vers l'extérieur de la topologie. Le routage
est statique, tous les paquets passent par le noeud mobile. Dans ce
scénario les interférences sont négligées. Le
même noeud subit un effet d'interférence croissant. Les
interférences appliquées sur le canal de ce noeud mobile ont un
faible effet sur les canaux du voisinage. La fonctionnalité de
changement de canal de notre solution reste désactivée.
2.1.6.3. Résultats obtenus et
discussion
Les résultats de chaque scénario sont
représentés par des graphes, où chaque graphe permet de
comparer les résultats obtenus des trois versions de TCP
étudiées. Dans cette section nous résumons les
résultats les plus concluants.
a) Résultat du scénario 1
Pas de mobilité ni d'intérferences
TCP Reno TCP SS Approche proposée
60
10
0
0 30 60 90 120 150 180 210 240 270 300 330 360 Temps (second)
Débit (Mbps)
40
50
30
20
90
Figure 26 : Résultat du premier
scénario
91
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Interprétation
L'analyse du graphe (figure 26) comparatif du premier
scénario de simulation montre que : Si on est dans un environnement sans
fil et que les noeuds de ce dernier ne sont ni mobiles ni sous l'effet des
interférences, les trois versions testées (dotés d'un
mécanisme de contrôle de congestion) donnent presque les
mêmes résultats en matière de débit fourni.
L'explication est que dans un cas considéré comme idéal,
un environnement sans fil peut être considéré comme un
environnement filaire (où les pertes de paquets sont principalement dues
à la congestion).
b) Résultat du scénario 2
Débit (Mbps)
40
60
50
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100 110 120
TCP Reno TCP SS Approche proposée
Mobilité sans interférences
Distance (metre)
Figure 27 : Résultats du deuxième
scénario
Interprétation
Dans ce scénario où nous avons introduit la
mobilité, nous remarquons que l'éloignement du noeud de la zone
de couverture de l'environnement sans fil impacte négativement la
puissance du signal de ce noeud. Cet effet se répercute sur le
mécanisme de perte de paquets de TCP.
Pour TCP Reno, qui ne dispose pas de mécanisme lui
permettant de s'adapter à la perte de paquets, tente d'alléger
une congestion qui n'existe pas. En effet, une fois que la puissance du signal
atteint un certain seuil où les paquets commencent à se perdre
suite à la mobilité, le mécanisme qui réduit la
taille de la fenêtre de flux de TCP Reno se déclenche
92
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
afin de limiter le débit. Les répercussions de
cette tentative sont négatives sur les performances de TCP Reno comme le
montre la figure 27 à partir de la 60ème seconde.
Contrairement à TCP Reno, TCP avec la solution de la
puissance du signal (TCP SS), est équipée d'un mécanisme
qui lui permet de faire la distinction entre les pertes qui sont dues à
la congestion et les pertes dues à la puissance du signal
(mobilité). Les résultats montrent que TCP SS a un meilleur
comportement que TCP Reno lorsque la puissance du signal du noeud en mouvement
commence à s'affaiblir à fur et à mesure qu'il
s'éloigne de la zone de couverture sans fil. Ainsi tant que la puissance
du signal est suffisamment élevée pour faire une transmission,
TCP SS essaye de garder une valeur maximale de débit.
Comme notre approche se base aussi sur la puissance du signal,
les résultats sont assez proches de ceux de TCP SS. La raison est qu'une
fois que la puissance du signal commence à s'affaiblir et qu'elle cause
quelques pertes de paquets, notre approche désactive le mécanisme
de réduction de la fenêtre de flux TCP, ce qui conduit à la
continuation du transfert (nouveaux paquets ou paquets perdu) avec un haut
débit.
c) Résultat du scénario 3
pas de mobilité avec interférences
TCP Reno TCP SS Approche proposée
60
250 230 210 190 170 150 130 110 90 70 50 30 10 0
Bruit(-db)
Débit (Mbps)
40
50
30
20
10
0
Figure 28 : Résultat du troisième
scénario
Interprétation
Dans le scénario illustré par la figure 28, les
noeuds ne sont pas mobiles mais sont soumis à des interférences.
Après une certaine intensité du bruit, les interférences
commencent à provoquer des pertes de paquets. Comme TCP Reno et TCP SS
ne disposent
93
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
pas de mécanisme qui détecte les pertes dues au
bruit, ils considèrent les pertes subies comme des cas de congestion. Ce
phénomène peut avoir pour effet de dégrader les
performances des flots de ces protocoles en réduisant abusivement leur
débit.
En revanche, dans notre approche TCP considère les
intensités du bruit et change de canal pour avoir de meilleures
performances lorsque le bruit est moyen. Lorsque l'intensité de celui-ci
atteint une valeur assez importante, TCP désactive le mécanisme
de réduction de flux et continue à émettre avec le
même débit. Ceci justifie les bons résultats de notre
approche comme le montre la figure 28.
d) Résultat du scénario 4
Débit (Mbps)
40
60
50
30
20
10
0
0 30 60 90 120 150 180 210 240 270 300 330 360 temps (Second)
TCP Reno TCP SS Approche proposée
Intérférences et Mobilité
Figure 29 : Résultat du quatrième
scénario
Interprétation
Les conditions de cette simulation vont augmenter la
probabilité de perte de paquets dues à l'environnement sans fil
par rapport à ceux dues à la congestion (mobilité et
interférence). Les résultats (figure 29) montrent que TCP Reno
perd considérablement en performance après une certaine valeur
d'interférences et après que le noeud mobile atteint une distance
du centre de la topologie. Cela est dû au fait que le nombre de perte
dû à l'environnement sans fil augmente considérablement et
que TCP Reno les considère comme cas de congestion. TCP SS réagit
de la même façon que TCP Reno, il perd en performance après
une certaine valeur d'interférence, et considère que les pertes
dues au bruit sont dues à la congestion. Il réduit ainsi le
débit mais gère le problème de puissance du signal. Notre
approche offre une meilleure performance en matière de débit.
Cette
94
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
performance découle du traitement séparé
des pertes de paquets dues à la mobilité et aux
interférences par rapport aux pertes dues à la congestion.
2.1.7. Conclusion
Notre première contribution vise à
améliorer les performances du protocole TCP dans les environnements sans
fil en général et dans les réseaux ad hoc en particulier.
Elle est basée sur une solution Cross-Layer qui fait intervenir les
couches Physique et Transport. L'idée est d'adapter le protocole TCP
Reno avec les caractéristiques des réseaux ad hoc en introduisant
deux nouvelles grandeurs qui sont la puissance du signal et le bruit. Ces deux
grandeurs vont aider le mécanisme de perte de paquets de TCP à
faire la distinction entre les pertes dues à la congestion et ceux dues
à l'environnement sans fil.
L'approche a été testée dans une
simulation et les résultats obtenus démontrent sa performance
comparée à celle de TCP Reno classique et de la version TCP
solution avec puissance du signal qui représente une tentative
d'amélioration du protocole TCP dans les réseaux sans fil.
2.2. Deuxième contribution : TCP et
l'amélioration des services de vidéo streaming adaptatifs
2.2.1. Introduction
Le téléchargement progressif ou pseudo streaming
permet à l'utilisateur de lire un média alors que le fichier est
encore en cours de téléchargement. Il se différencie du
téléchargement " normal " pour lequel l'utilisateur doit attendre
jusqu'à ce quelle fichier soit complètement
téléchargé pour pouvoir ensuite le lire depuis son disque
dur. Avec le pseudo streaming, une copie du fichier est conservée sur le
disque de l'utilisateur, ce qui lui permettra de relire le media
ultérieurement. Le téléchargement progressif est
également appelé streaming HTTP car les logiciels serveur Web
utilisant des protocoles standard (serveurs HTTP) peuvent transmettre des
fichiers à téléchargement progressif ; il se
différencie du vrai streaming, qui tire parti des protocoles
spéciaux utilisés par les logiciels serveur de médias pour
adapter la transmission à la bande passante.
Lorsque le protocole HTTP est utilisé pour le
téléchargement progressif, la fiabilité en elle-même
du protocole peut poser des problèmes, étant donné que la
retransmission des paquets perdus ou endommagés peut interrompre la
lecture du pseudo-streaming. Le protocole HTTP n'offre pas de fonction
permettant d'adapter la vitesse de transfert des données au débit
audio ou vidéo, c'est-à-dire la vitesse de lecture des
données qui constituent le contenu multimédia. À l'aide du
protocole HTTP, le téléchargement d'un film d'une minute pourrait
prendre une seconde, une minute ou même une heure, selon la taille du
fichier et la vitesse de la connexion. Si la vitesse de connexion est
inférieure au débit de données du contenu
multimédia, celui-ci arrivera quand même au client, mais le
téléchargement progressif ne pourra pas s'effectuer sans
difficulté. Le protocole HTTP
95
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
fonctionne sur TCP, ce qui lui permet de transmettre des
contenus audio ou vidéo sans perte ni endommagement. Les paquets perdus
ou endommagés sont simplement renvoyés.
Cependant, le streaming, avec son assortiment de protocoles
propriétaires, s'est retrouvé de lui-même à ne plus
réussir à répondre à la demande croissante des
utilisateurs. C'est en 2007 que la société « Move Networks
» introduit un nouveau concept qui fit grandement évoluer le
streaming au niveau international : le streaming adaptatif basé sur
HTTP.
Ainsi, l'utilisation de l'application de lecture vidéo
présente sur le terminal du client permet de superviser la vitesse de
téléchargement et demander des paquets de qualités
variables en s'adaptant automatiquement aux conditions du réseau
disponible. L'impact de ce choix est énorme, car il a permis aux
vidéos d'être distribuées un peu partout à l'aide
des réseaux standards et d'être mis en cache pour le passage
à l'échelle.
L'arrivée des protocoles de streaming adaptatif sur
HTTP a révolutionné la diffusion de multimédia sur
Internet. Cette technologie est principalement basée sur quelques
paramètres de la QdS. Cependant, le ressenti de l'utilisateur n'est pas
pris en compte et rien ne permet aux fournisseurs de services d'être
informés sur la satisfaction des utilisateurs par rapport au contenu.
Ainsi, jusqu'à présent la QoE n'a pas été
considérée comme une entrée dans le processus d'adaptation
du flux de diffusion distribué à travers HTTP fonctionnant sur
TCP.
2.2.2. Positionnement du problème
Les services de vidéo streaming à travers le
protocole HTTP (cf. figure 30) utilisent le protocole de transport TCP
pour le transport de données entre le serveur vidéo streaming
adaptatif et le client. Le principe de ces services est de fournir au client
une qualité vidéo relative par rapport à sa configuration
réseau dans le temps. L'un des paramètres qui a le plus d'impact
dans le processus de choix de la qualité vidéo à
transmettre est le débit de la connexion du client. Plus le client
à un meilleur débit, plus la qualité vidéo qu'il
recevra du serveur sera meilleure. Comme il a été
déjà mentionné dans le chapitre I, le débit a un
rapport direct avec les paramètres du protocole TCP, que ça soit
la taille de la fenêtre TCP, le délai ou le RTT. Donc tout
changement dans les paramètres de TCP va impérativement changer
le débit qui impactera à son tour la qualité vidéo
reçue à partir du serveur.
96
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Figure 30 : Vidéo streaming adaptatif
à travers HTTP
De nos jours, les services de vidéo streaming (cf.
figure 31) sont parmi les services les plus utilisés sur Internet.
Ceci a créé une grande concurrence entre les fournisseurs de
cette catégorie de service. En effet, chaque fournisseur essaye
d'attirer le plus de clients possible pour des fins commerciales, en proposant
des services de vidéo streaming qui répondent au maximum aux
attentes des clients. Ce fait a conduit à l'introduction du concept de
la QoE dans les services de vidéo streaming adaptatifs. Le but dans ce
type de service est d'apporter une meilleure satisfaction aux clients en
dépit des contraintes matériel et réseau (QdS) afin
d'attirer le maximum possible de client vers leurs marchés.
Figure 31 : Services de vidéo streaming
adaptatif les plus connus
97
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Les utilisateurs utilisent différents types de
terminaux et de technologies afin (cf. figure 32) d'accéder aux
services de vidéo streaming adaptatif tel que : les smart phones, les
tablettes, les ordinateurs portables, les ordinateurs de bureau, les
télévisions...etc et même sur des montres intelligentes.
Chaque type de terminal est caractérisé par des paramètres
comme : son CPU, sa batterie, sa taille d'écran, sa résolution
d'affichage, sa mémoire vive.....etc. D'autre part, l'accès
à ces services ce fait aussi à travers différents types de
technologies de connexion Internet comme : l'ADSL (Sans fil et
câblé), la 3G, la 4G...etc. Ces différentes technologies
offrent parfois un accès illimité à Internet comme l'ADSL
mais parfois limité tel que la 3G ou la 4G.
Comme dans certains cas où la connexion à
Internet est limitée, les utilisateurs préfèrent recevoir
une diffusion de qualité suffisamment bonne relativement avec leur
terminal plutôt qu'une distribution couteuse en matière de forfait
Internet. Par exemple, lorsqu'il s'agit d'un smart phone connecté
à la 4G, le débit est très bon et le client recevra donc
un contenu d'une qualité de 1080p (si elle est disponible sur le
serveur), mais comme le client est sur un smart phone avec un petit
écran et une batterie assez limité, le mieux serrait de lui
transmettre une qualité moins importante (480p ou 720). De ce fait, le
client économisera son forfait 4G ainsi que la consommation de sa
batterie (une meilleure qualité vidéo consomme plus de batterie
qu'une autre qualité plus faible).
Figure 32 : Accès aux services de
vidéo streaming adaptatif à travers différents types
de technologies avec différents type de terminaux
98
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Dans la suite de ce chapitre nous allons décrire une
nouvelle approche qui vise à améliorer la qualité
d'expérience des utilisateurs de service de vidéo streaming
adaptatifs en utilisant les paramètres du protocole de transport TCP.
L'idée est d'estimer une valeur de débit en fonction des
paramètres du terminal de l'utilisateur et de son feedback en utilisant
des formules d'apprentissage par renforcement. Nous appliquerons ensuite cette
valeur de débit en utilisant le paramétrage de TCP et le routage
interne afin de recevoir une qualité de vidéo qui satisfait les
utilisateurs.
2.2.3. Description de la solution
2.2.3.1. Principe de la solution.
Le principe de l'approche proposée repose sur
l'introduction d'un facteur utilisateur global UF. Ce facteur est
calculé sur la base d'une pondération des différents
paramètres du terminal de l'utilisateur et sera mise à jour en
fonction du feedback de l'utilisateur. Pour cette mise à jour, nous
avons utilisé l'apprentissage par renforcement pour la prise en compte
du caractère évolutif des différents paramètres.
Chaque intervalle de valeurs de l'UF correspond à une
qualité vidéo bien précise, qui à son tour,
correspond à une valeur de débit estimé. Donc,
l'idée est de calculer un facteur d'utilisateur UF, lui attribuer une
qualité vidéo, déduire le débit correspondant et
finalement appliquer ce débit sur l'interface liée à
Internet (interface virtuelle).
2.2.3.2. Les étapes de la solution
Comme première étape de la solution, nous devons
récupérer la valeur possible des différents
paramètres du terminal de l'utilisateur. Dans notre approche nous nous
sommes focalisé sur 3 paramètres qui sont : la
résolution de l'écran, la taille de
l'écran et la batterie disponible. En plus de
la dépendance qui existe entre eux, ces facteurs sont les plus
pertinents. En effet, un affichage en haute résolution va demander
davantage de puissance de traitement et consommera plus de batterie
(ex. le texte devient illisible à basse résolution et
une haute résolution demandera plus de batterie).
Etape 1 : Les différents
paramètres sont :
? FR-) le facteur de résolution
d'affichage, calculé sur la base de la table 3.
? FS-) le facteur de taille de l'écran,
calculé sur la base de la table 4.
? FB -) le facteur de batterie disponible,
calculé sur la base de la table 5.
99
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Résolution de l'affichage (TR)
|
Facteur de résolution (FR)
|
2160=TR
|
7
|
1440=TR<2160
|
6
|
1080=TR<1440
|
5
|
720=TR<1080
|
4
|
480=TR<720
|
3
|
240=TR<480
|
2
|
Table 3 : Valeurs de FR (facteur de
résolution)
Taille de l'écran (SS)
|
Facteur de la taille d'écran (FS)
|
55=SS
|
7
|
42=SS<55
|
6
|
32=SS<42
|
5
|
15=SS<32
|
4
|
7=SS<15
|
3
|
SS<7
|
2
|
Table 4 : Valeurs de FS (facteur
d'écran)
Batterie disponible (BC %)
|
Facteur de batterie (FB)
|
40=BC
|
6
|
20=BC<40
|
4
|
0=BC<20
|
2
|
Table 5 : Valeurs de BC (facteur de
batterie)
La pondération de chaque paramètre va aider
à estimer la valeur du facteur global UF. En effet UF est égal
à la somme des 3 sous-facteurs FR, FB, FS.
3.5
UF= FR + FB + FS
Le facteur utilisateur est une note qui va de 8 comme valeur
minimale jusqu'à 20.
Etape 2 :Une fois le facteur utilisateur
estimé, nous entamons l'étape d'estimation de débit. La
table 6 attribue à chaque facteur d'utilisateur UF une qualité de
vidéo à recevoir :
100
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Facteur utilisateur (UF)
|
Qualité vidéo (pixel)
|
6
|
144p
|
7
|
144p
|
8
|
144p
|
9
|
240p
|
10
|
240p
|
11
|
360p
|
12
|
360p
|
13
|
360p
|
14
|
480p
|
15
|
480p
|
16
|
720p
|
17
|
720p
|
18
|
1080p
|
19
|
1080p
|
20
|
1440p
|
Table 6 : Les valeurs facteur utilisateur avec
les qualités vidéo
Dans les services de vidéo streaming adaptatif, chaque
qualité vidéo requière un débit minimal
approximatif pour bien fonctionner sans interruption. La table 7 attribue
à chaque qualité vidéo une valeur minimale de
débit. Cette table va nous permettre d'estimer le débit
nécessaire correspondant au facteur UF.
Après l'attribution d'une qualité vidéo
au facteur d'utilisateur, nous attribuons par la suite à cette
qualité vidéo, un débit Internet en se basant sur la table
7. Par conséquent, à la fin nous obtenons un débit
attribué au facteur d'utilisateur que nous avons calculé au
début. Cette valeur de débit sera utilisée pour limiter le
flux vidéo de l'interface Internet.
101
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Qualité vidéo (pixel)
|
Débit minimal requis (Kbps)
|
144p
|
32
|
240p
|
57
|
360p
|
128
|
480p
|
245
|
720p
|
430
|
1080p
|
720
|
1440p
|
1057
|
Table 7 : Les qualités vidéo
avec les débits minimaux
Le processus d'adaptation est exécuté toutes les
5 minutes, ceci est dû au fait que les facteurs d'utilisateur peuvent
changer dans le temps. Par exemple : la batterie qui s'affaiblie ou bien
même l'utilisateur change d'écran ou de terminal (le cas de la
vidéo à la demande).
Afin de donner une meilleure satisfaction à
l'utilisateur nous avons doté notre approche d'un mécanisme
d'apprentissage par renforcement. Ce mécanisme permet de mettre à
jour les valeurs de la qualité vidéo attribuées à
chaque facteur d'utilisateur UF en fonction du feedback ou de la note
donnée au service par l'utilisateur. Cette note est comprise entre 1 et
5 et elle représente le ressenti global de l'utilisateur ou le MOS (Mean
Opinion Score) vis à vis du service après chaque
visualisation.
2.2.3.3. Formalisme du modèle
proposé
Dans cette section, nous allons modéliser le contexte
dynamique de la phase d'adaptation des valeurs de la qualité
vidéo avec celles du facteur utilisateur. L'objectif est de
caractériser cette phase d'adaptation par un processus
décisionnel de type PDM (Processus de Décision de Markov).
Le mécanisme de mise à jour (table 6) fonctionne
comme suit : Après que le serveur vidéo transmet au client une
description de la vidéo (suite à sa demande), l'utilisateur
demande un segment sur la base de mesures de débit locales. Cette
demande ne sert que de suggestion préliminaire et donc une optimisation
locale correspondante est effectuée. Nous utilisons une interface
virtuelle et un opérateur mobile qui agit à son niveau pour
adapter son débit. L'opérateur mobile reformule la demande sous
la forme d'un PDM fini afin de prendre en compte le problème de
d'adaptation et de le transmettre au serveur vidéo.
Dans cette modélisation, nous travaillons dans un
contexte observable et introduisons un PDM qui le modélise. Le but est
de pouvoir caractériser des politiques d'adaptation
102
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
vérifiant ainsi la satisfaction de l'utilisateur par
rapport au contenu reçu lorsque la bande disponible bw
décroit et N (le nombre d'utilisateurs) augmente.
Pour cela, nous estimons que pour chacun des N utilisateurs il
y a un ensemble de facteurs Utilisateur indexés par l = 1, 2, ..., L.
Nous appelons cet ensemble U = {UFl i / i = 1, 2, ...., N
& l = 1, 2, ...., L}. Soit V, l'ensemble feedbacks des utilisateurs
indexés par j = 1, ..., M où V = {Vij / i =
1, 2, ...., N & j= 1, 2, ...., M}.
Le cadre formel est construit sur le processus de
révision périodique de la valeur du débit attribuée
à chaque facteur d'utilisateur en se basant sur la note donnée
par le feedback de l'utilisateur. Nous considérons que chaque
utilisateur a `K' états de débit possible et chaque `état'
a un facteur d'utilisateur global correspondant, à savoir B =
{bwk |k = 1, 2, ..., K} où bwk est le débit
requis à l'étape k pour un facteur d'utilisateur. La valeur du
débit mesuré (réellement affecté qui peut ne pas
être égale à la valeur de bwk) est mise à
jour périodiquement dans la table 7, afin de servir comme entrée
pour le processus d'adaptation.
2.2.3.4. Formulation du processus de décision de
Markov
Un PDM et un ensemble composé de quatre
éléments (S ; A ; P ; r) qui
interviennent dans le processus d'apprentissage par renforcement. Ces
composants sont S, l'ensemble des états du système,
A un ensemble d'action, P(s) la probabilité de
transition de l'état st à l'instant t vers l'état
st+1 à l'instant t+1, lorsqu'une action
at est appliquée. La fonction de récompense
r(s)indique le retour (positif ou négatif) immédiat
lorsque l'action at est appliquée à l'état
st. Au niveau de chaque état du système, un agent
calcule le gain obtenu. L'objectif de cet agent est d'apprendre qu'elle action
choisir pour un état st afin de maximiser la
fonction de récompense cumulative.
Les quatre composants de notre PDM sont :
a) Les états du système
Un état (observable) du système à l'instant
t est défini par : s t = (VQt ; UFli
; BWt) où :
? VQt représente la qualité vidéo
à l'instant t,
? UF le facteur utilisateur correspondant pour VQ
à l'instant t pour l'utilisateur i
? et BW est le débit correspondant à la
qualité VQ à l'instant t pour l'utilisateur i.
En outre, l'ensemble des états du système S= {s1
; s2 ; ...; sT} représente l'évolution du service de vidéo
streaming durant une session T. L'instant `t' représente la durée
de la transmission de la vidéo. Etant donné que l'état du
système ne dépend que de son état précédent
(le plus récent), la propriété de Markov est
préservée.
3.6
103
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Nous définissons l'espace des états S
comme : S = UN x BN.
b) Les actions du système
Nous définissons les actions séquentielles par
: {at} pour (t=0, 2, 3..) où l'action at est une décision prise
à l'instant `t'. L'ensemble des actions pour un état donné
est A(S)= {Asbw, Aubw} ou l'action Asbw
sert à sélectionner une valeur de débit par rapport
à la qualité vidéo VQt relativement au facteur
d'utilisateur UFil. L'action Aubw sert
à remplacer et mettre à jour la dernière valeur de
débit (par rapport au feedback de l'utilisateur) en fonction des
feedbacks (table 6) afin d'être considérée dans les
prochaines adaptations.
c) La transition des états
La transition des états entre st à
st+1 est déterminée par rapport au facteur
UFil et au débit disponible à l'instant t.
La probabilité de transition peut être obtenue
à l'aide de la formule suivante :
Pat(St, St+1) = {St+1|St, at}
= {(UFt+1 , BWt+1)|(Rt, BWt) ,
at} 3.7
= {UFt+1 |UFt , UFt+1 = at}Pr{
BWt+1| BWt}
Où Pr {St+1 | St, at} peut être obtenu
comme suit : Connaissant le débit BWt qui a permis de
télécharger le segment en cours, nous pouvons estimer la
probabilité de distribution du débit BWt+1du
prochain segment en utilisant la matrice de transition du modèle de
Markov.
Pr {Rt+1| Rt, Rt+1=at}
est calculé par rapport à l'action at.
d) La fonction de récompense
Les récompenses sont associées aux états
décisionnels en fonction de l'action choisie. Dans notre approche, nous
souhaitons maximiser la satisfaction de l'utilisateur. A cet effet, nous avons
appliqué la fonction de récompense sur le MOS des utilisateurs
(QoE).
Dans un MDP, la récompense est le gain obtenu quand une
action particulière est réalisée avec succès. Dans
notre cas, nous nous concentrons uniquement sur la fonction de
récompense qui capte la satisfaction des utilisateurs pour les valeurs
de débit accessibles.
= RQt(St = s) 3.8
3.10
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Où RQt calcule la récompense de
l'état lorsque l'action at est exécutée. Ce pourcentage
est calculé en fonction du feedback de l'utilisateur.
La table 8 liste les différentes valeurs (pourcentage)
de récompense pour les différents états selon les valeurs
du MOS :
MOS
|
Récompense
|
1
|
20%
|
2
|
10%
|
3
|
0%
|
4
|
-10%
|
5
|
-20%
|
Table 8 : Pourcentage de récompense par
rapport au MOS
La valeur maximale de récompense est obtenue lorsque le
taux VQt + 1 satisfait le débit adapté
BWt+1 en fonction des facteurs d'utilisation. Formellement
cela se traduit par :
VQt+1 = BWt+1où VQt+1 est la
qualité de la vidéo à l'instant t+1 et BWt+1 ? B
est le débit estimée du lien.
Enfin, nous pouvons formuler le problème d'adaptation
utilisant les paramètres de TCP comme un problème d'optimisation.
L'objectif est de trouver une politique optimale ð(s) pour une action
exécuté à l'état St, de sorte que la
récompense soit maximisée.
Nous résolvons notre PDM par l'algorithme du Q-Learning
dans lequel l'acquisition des connaissances (les perspectives de gains et des
transitions d'état de l'environnement) est obtenue par interaction avec
l'environnement. Dans le Q-Learning, une Q-fonction est utilisé pour
mesurer la qualité d'une combinaison (état-action), sur la base
des gains perçus.
Considérons Qð (st, at),
l'état-action et la fonction de qualité de st
à l'état final ST :
(St, at) = Q(St, at)
+ ar + y max Q (St+1, me t) - Q (St,
at)] 3.9
Où E [0 ; 1] et ãE [0 ; 1] sont respectivement
le taux d'apprentissage et le facteur de discount.
Pour toutes les transitions des états obtenu entre
l'état s jusqu'à l'état S, nous calculons les
récompenses prévues pendant l'exécution de l'action a.
Ensuite nous déduisons les récompenses optimales en
sélectionnant l'action qui nous permet d'atteindre
104
105
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
les récompenses les plus élevées.
L'action sélectionnée est capturée par la politique
optimale ð* qui devrait maximiser la fonction
état-valeur sur un long terme. Par conséquent :
*( ) = *(?? )
*(?? ) = (?? ) 3.11
Algorithme 1 : adaptation du taux
1- Initialisation
2- Tantquet=T faire
3- Pour tout st?S faire
(?? ) (?? ) , ( ì ) (?? )-
4- Dériver la politique optimale ð*
Algorithme 2 : adaptation de la bande
passante
1- début
2- tantque [playing.video = 1] faire // l'utilisateur est
entrain de regarder une vidéo.
3- {
4- Wait (300000) ;// Exécuter l'opération
chaque 5 min.
5- Get (TR, BC, SS) ;// obtenir les paramètres du
terminal.
6- // Calculer le facteur d'utilisateur
7- UF = user_factor (TR, BC, SS, Tab_I [], Tab_II [], Tab_III
[]);
8- // choisir la qualité vidéo qui va avec
le facteur de l'utilisateur.
9-VQ = chose_quality (UF, Tab_V []);
10-// choisir la bande passante qui va avec la
qualité vidéo.
11- RB = chose_bdw (VQ, Tab_VI []);
12- // définir RB comme bande passante maximale de
l'interface de sortie de l'interface
sans fil
13- Set (RB, wlan0);
14- }
15-// après la fin de la vidéo,
l'utilisateur donne sont feedback.
106
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
16- Get (user_feedback);
17- // Mise à jour des tableaux V, VII par rapport au
feedback de l'utilisateur 18-// enutilisant les fonctions
d'apprentissage par renforcement.
19- Update (Tab_V [], user_feedback);
20- Update (Tab_VI [], Tab_VII [], user_feedback);
21- fin.
Nous avons validé notre approche par émulation.
Dans la suite nous donnons un bref aperçu sur cette méthode
d'expérimentation et nous enchainons avec la description des
scénarios utilisés, des résultats obtenus et de leur
interprétation.
2.2.4. Emulation
L'émulation peut être vue comme étant une
alternative à l'expérimentation en environnement réel et
à la simulation, c'est-à-dire qu'elle permet de reproduire le
comportement d'un système donné sur un autre système. L'un
de ses objectifs est de faciliter le développement et le test
d'applications ou de protocoles. En fonction des besoins, il sera possible avec
l'émulation de choisir le niveau d'abstraction où l'on veut se
placer pour modéliser le réseau ou la condition réseau que
l'on souhaite évaluer.
Le système d'émulation doit être
surdimensionné par rapport au système cible. Dans le pire des
cas, il doit offrir des caractéristiques au moins équivalentes
à celles du système dont on veut reproduire le comportement.
Ainsi, avec l'accroissement des performances des équipements
informatiques et la diminution sensible de leurs coûts observés
depuis quelques années, le développement des outils
d'émulation a connu une évolution importante.
L'émulateur reproduit le comportement d'un
modèle dont toutes les variables sont connues. Le recours à un
émulateur, selon le contexte, permet de faciliter le
développement ou le débogage d'un système ou de remplacer
un système obsolète ou inutilisable par un autre. Dans ce cadre,
il est possible de faire fonctionner le nouveau système ou
l'émulateur, de la même manière que le système
imité.
2.2.4.1. L'environnement de
l'émulation
Afin de valider notre approche, nous avons choisi de
développer un script Linux. Ce script pourra être
exécuté sous tous des périphériques qui utilisent
ou se basent sur le système d'exploitation Linux. Pour
l'émulation nous avons considéré trois types de terminaux
: une télévision intelligente, un ordinateur portable et un
smart-phone. Les caractéristiques de chaque terminal sont
mentionnées sur la table 9.
107
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Terminal
|
Taille d'écran
|
Résolution maximale
|
Capacité de la batterie
|
CPU
|
Smart TV
|
107 cm
|
1080p
|
-
|
-
|
Ordinateur portable
|
39.6 cm
|
1080p
|
04h30
|
2.9 Ghz
|
Smartphone
|
12.19 cm
|
720p
|
07h45
|
1.7 Ghz
|
Table 9 : Paramètres des terminaux
utilisés dans l'émulation
Il est à noter que, le script proposé durant
l'émulation peut être utilisé avec n'importe quel type de
serveur de vidéo streaming adaptatif.
Parmi les serveurs de vidéo streaming adaptatif
disponibles, nous avons choisi d'utiliser le serveur de YOUTUBE (cf.
figure 33). De nos jours YOUTUBE est l'un des sites web qui évolue
le plus rapidement, il est devenu parmi les sites web les plus visités
sur Internet. YOUTUBE a un impact très important sur la distribution du
trafic sur Internet, mais lui-même souffre de contrainte de
qualité de service.
2.2.4.2. Environnement et scénarios de
l'émulation
Afin de recevoir la qualité vidéo adaptée
aux paramètres d'utilisateurs et à leurs feedbacks, le script que
nous avons développé contient les étapes suivantes (figure
34) :
? Crée une interface virtuelle ou tout le flux
streaming sera acheminé, sortant
depuis l'interface principale à travers cette interface
virtuelle vers YOUTUBE.
? Le script calcule le facteur d'utilisateur global et estime le
débit correspondant
à ce facteur.
? Limiter le débit maximal de l'interface virtuelle
crée auparavant, à la valeur de
débit estimée dans l'étape
précédente.
? Mettre à jour la table de calcul de valeur de
débit en fonction du facteur
d'utilisateur en considérant son feedback.
En exécutant ces étapes, le script limite le
débit de l'interface virtuelle. Comme cette interface virtuelle ne va
acheminer que le flux streaming, le serveur de YOUTUBE recevra comme valeur
maximale du débit de l'utilisateur, la valeur maximum du débit de
l'interface virtuelle. Ceci va optimiser la consommation de la batterie et du
forfait internet du client.
Afin de tester et de comparer notre solution, nous avons
considéré les quatre scénarios suivant :
Scénario 1 : Dans ce scénario,
nous nous sommes intéressés à la bande passante disponible
lorsqu'un utilisateur est en train de regarder une vidéo sur YOUTUBE.
Trois
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
types de terminaux sont utilisés (table 9). Afin de
mesurer la bande passante disponible nous avons utilisé l'outil
`speed-test-cli' disponible sous Linux.
Scénario 2 : Dans le deuxième
scénario, nous avons testé la consommation de la batterie,
lorsqu'un utilisateur regarde une vidéo YOUTUBE sur un ordinateur
portable.
Scénario 3 : Dans le troisième
scénario, l'évolution de l'activité du CPU sur le temps
est mesurée en regardant la même vidéo YOUTUBE sur un
ordinateur portable en utilisant les deux approches étudiées sous
les mêmes conditions.
Scénario 4: Ce scénario
représente un ensemble de tests et de statistiques qui ont
été réalisés dans un laboratoire de recherche sur
un échantillon de 100 étudiants. Chaque étudiant a
visionné la même vidéo YOUTUBE en utilisant les trois types
de terminaux (table 9). Par la suite, chaque étudiant évalue la
qualité vidéo en donnant son MOS entre 1 et 5. Enfin, nous avons
calculé la moyenne des MOS donnés par les 100 étudiants
pour chaque terminal.
Pour évaluer l'efficacité de notre approche,
nous avons effectué un test comparatif en utilisant tous les
scénarios, présentés ci-dessus, avec une approche
classique, où les add-ons (tous les outils d'amélioration de la
QoS et de la QoE) proposés sont désactivés. La table 10
décrit toutes les conditions initiales des différents
scénarios de l'émulation.
Dans ce qui suit, CAS fera référence à
l'utilisation de YOUTUBE sans notre script et UAS fera référence
à l'utilisation de YOUTUBE avec notre script.
108
Figure 33 : Datagramme d'un service de streaming
adaptatif
109
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Emulation
|
Bande
passante de l'utilisateur
|
Résolution de l'écran
|
Batterie disponible
|
CPU
|
1
|
2 Mbps
|
variable
|
100%
|
-
|
2
|
2 Mbps
|
1080p
|
variable
|
-
|
3
|
2 Mbps
|
1080p
|
100%
|
-
|
4
|
2 Mbps
|
Variable
|
variable
|
-
|
Table 10 : Paramètres de
l'émulation
Figure 34 : Scénario de
l'émulation.
110
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
2.2.4.3. Résultats et
interprétation
Figure 35 : Consommation du forfait Internet
D'après la figure 35 (scenario 1), nous avons
noté que lorsqu'on change le terminal tout en regardant la même
vidéo de YOUTUBE sous une bande passante initiale de 2 Mbps, la
consommation de cette dernière avec l'approche `CAS' avec les trois
types de terminaux, est la mêmes. Ceci est dû au fait que le
processus d'adaptation de la qualité reçu n'a pas
considéré les paramètres des terminaux (ils ont
reçu la même qualité vidéo). En revanche, en
exécutant notre script `UAS' sous les mêmes conditions, nous avons
noté que la consommation de la bande passante n'est pas la même
pour les trois terminaux. Plus le terminal et moins puissant et son
écran est petit, plus la qualité vidéo qu'il reçoit
est moins bonne comparer aux autres. Ceci a un impact direct sur la
consommation de la bande passante car il augmente la bande passante
disponible.
La figure 36 (scenario 2) compare l'évolution de la
consommation de la batterie d'un ordinateur portable sous les deux approches
étudiées (CAS et UAS). D'après les résultats,
lorsque le pourcentage de la batterie est supérieur à 40%, les
deux approches donnent presque les mêmes résultats. Par contre,
quand le niveau de la batterie descend sous les 40%, l'approche CAS consomme
plus de batterie que l'approche UAS. Cela est dû au fait qu'à
partir de 40% de batterie, UAS réduit la qualité vidéo
reçue, ce qui économise mieux la consommation de la batterie.
Contrairement, CAS continue à recevoir la même qualité
vidéo, ce qui affaiblie la batterie plus rapidement suite.
111
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Figure 36 : Consommation de la batterie
Figure 37 : Consommation de CPU
L'évolution de l'activité du CPU sur la figure
37 (scenario 3), montre que l'approche UAS consomme un peu plus de CPU que
l'approche CAS. Cela est dû au calcul d'estimation exécuté
sur le script ainsi qu'au routage interne entre l'interface virtuelle et
l'interface principale.
Les moyennes obtenues à partir des résultats de
MOS sur différents types de terminaux sont exprimées sur la
figure 38 (scenario 4). Le graphe montre l'impact positif de notre approche sur
la satisfaction des utilisateurs en termes de bande passante
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
disponible, de consommation de batterie et de qualité
vidéo reçue sur différents type de terminaux. Cette
amélioration de la qualité d'expérience QoE est la
conséquence directe des performances d'adaptation de la qualité
vidéo reçue par rapport aux paramètres du réseau
(figures 39 et 40).
Figure 38 : Le MOS global des utilisateurs
Figure 39 : Evolution de la bande passante
disponible dans le temps
112
113
CHAPITRE III : APPROCHES POUR L'AMELIORATION DE TCP
DANS UN ENVIRONNEMENT SANS FIL
Figure 40 : Valeur du MOS (MOS*2) par rapport
au temps
2.2.5. Conclusion
Comme deuxième contribution, nous avons proposé
une nouvelle approche d'adaptation dans les services de vidéo streaming
adaptatifs basés sur HTTP. Cette approche vise à améliorer
la qualité d'expérience QoE des utilisateurs dans ce type de
service. Le principe de cette solution était d'adapter la qualité
vidéo que l'utilisateur reçoit avec son feedback ainsi qu'avec
les paramètres de son terminal. Pour implémenter notre solution,
nous avons utilisé les paramètres du protocole de transport TCP
comme un pont entre les paramètres QoS du réseau et les
paramètres des terminaux des utilisateurs. L'approche a
été validée par une émulation, les résultats
ont démontré l'efficacité de notre approche si on
considère la satisfaction des utilisateurs par rapport aux services
existants.
Conclusion générale et perspectives
114
Conclusion générale
Dans cette thèse nous avons proposé deux
contributions. La première contribution vise à améliorer
les performances du protocole TCP dans les réseaux sans fil. La
deuxième contribution est basée sur la première ; dans
cette contribution on a essayé d'améliorer la qualité
d'expérience des utilisateurs des services de HTTP vidéo
streaming adaptatifs qui sont basés sur le protocole TCP. Pour
commencer, on a introduit les deux axes de recherches et formulé leur
problématique. Ensuite on a mentionné et défini les
généralités qui concernent les deux axes afin d'enrichir
les connaissances des lecteurs dans le domaine et mieux les aider à
comprendre la suite de la thèse en enlevant toute ambiguïté.
Suite à cela, on a entamé la partie de l'état de l'art,
ou(ou avec accent) on a cité critiqué et comparé les
travaux qui existaient auparavant sur nos deux problématiques. Cette
phase nous a permis de trouver ce qui manque dans les approches qui existent
sur les deux axes et de définir nos buts. Une fois nos buts
fixés, on a proposé les deux approches qui concernent notre
travail de thèse. L'idée de notre première approche
était de faire améliorer le mécanisme de contrôle de
congestion en lui ajoutant des nouvelles fonctionnalités qui lui
permettent de faire la distinction entre les pertes de paquets dues à la
congestion et ceux dues à l'environnement sans fil. Pour cela on a fait
appel à la couche liaison à travers une solution cross-layer pour
récupérer les valeurs de puissance de signal et de bruit qui vont
servir comme indicateurs de type de perte de paquet pour le mécanisme de
contrôle de congestion et donc l'activer et le désactiver selon le
type de perte. La solution a été testée dans
différents scénarios avec différents conditions. Les
résultats obtenus ont été comparés avec d'autres
résultat issues d'autres versions (TCP étudié dans la
partie état de l'art TCP Reno et TCP avec puissance de signal) sous les
mêmes conditions. Après comparaison, notre approche a
répondu à nos attentes. Les pertes de paquets dues à
l'environnement sans fil ont été bien gérées et TCP
a peut les distinguer des pertes dues à la congestion. Cependant, bien
que nous ayons obtenu une satisfaction concernant une distinction des pertes de
paquet, l'apport du concept inter-couches ou cross-layer dans la solution
proposée la rend difficile à implémenter dans une
émulation.
Comme perspective de ce travail, il serait intéressant
de modifier notre approche afin de l'implémenter dans un cas réel
(émulation) en essayant de prédire les valeurs de puissance de
signal et de bruit de la communication en cours à partir des
communications précédentes. Dans cette vision, la solution va
éviter de faire de l'inter-couche sur le même paquet, vu que les
valeurs qui seront utilisées vont être
récupérées des communications
précédentes.
Bibliographie
[1] P.Antoniou, M.Lestas, A.Pitsillides, V.Vassiliou
"Adaptive Methods for the Transmission of Video Streams in Wireless Networks,"
rapport final WP (M18), Université de Cyprus Department Computer Science
Networks Research Laboratory, Fevrier 2006.
[2] J. Chung, M. Claypool et Robert Kinicki «MTP: A
Streaming-Friendly Transport Protocol,» rapport technique WPI-CS-TR-05-10,
Computer Science, WPI, mai 2007.
[3] G. Yang, M. Gerla et M. Y. Sanadidi, «Adaptive Video
Streaming in presence of wireless errors,» dans le Proceeding de the
IPIF/IEEE MMNS, San Diego, CA, Springer-Verlag, Octobre 2008.
[4] B. J. Vickers, C. Albuquerque et T. Suda, «Source
Adaptive Multi-Layered Multicast Algorithms for Real-Time Video
Distribution,» IEEE/ACM Transactions dans Networking, Vol 8, No. 6, pp.
720-733, Decembre 2006.
[5] H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson,
«RTP: A Transport Protocol for Real-Time Applications,» RFC 3550,
juillet 2003.
[6] M. Handley, S. Floyd, J. Padhyeet J. Widmer, «TCP
Friendly Rate Control (TFRC): Protocol Specification,» RFC3448, Internet
Engineering Task Force.
[7] S. McCanne, V. Jacobson and M. Vitterli,
«Receiver-driven Layered Multicast,» dans le Proceedings de ACM
SIGCOMM'96, pp. 117-130, Stanford, CA, Aout 2004.
[8] X. Li, S. Paul, et M. Ammar, «Layered video
multicast with retransmission (lvmr): Evaluation of hierarchical rate
control,» dans le Proceedings de IEEE INFOCOM, Mar. 2005.
[9] T.Stockhammer,"Dynamic Adaptive Streaming over HTTP -
Design Principles and Standards," dansMMSys 11 Proceedings of the second annual
ACM conference on Multimedia systems, Pages 133-144, ACM New York, NY, USA,
2011.
[10] S.Mushtaq, B.Augustin, A.Mellouk, "Crowd-sourcing
Framework to Assess QoE," dans IEEE ICC 2014 - Communications Software,
Services and Multimedia Applications Symposium, 2014.
[11] International Telecommunication Union-Telecommunication
(ITU-T); Subjective Video Quality Assessment Methods for multimedia
applications, dansRecommandation P.910, 2008.
[12] International Telecommunication Union-Telecommunication
(ITU-T), Methodology for the subjective assessment of the quality of television
pictures, danas ITU-R Recommendation BT.500-12, septembre. 2009.
[13] K.Piamrat, A.Ksentini, C.Viho, J.Bonnin, "QoE-based
Network Selection for Multimedia Users in IEEE 802.11 Wireless Networks," dans
Local Computer Networks, 2008. LCN 2008.33rd IEEE Conference on, octobre
2005.
[14] M.GHAREEB, C.VIHO, "Hybrid QoE assessment is well-suited
for Multiple Description Coding video streaming in overlay networks,", dans la
8th Annual Communication Networks and Services Research Conference, Mai
2010.
[15] «Bluetooth Special Interest Group,» Web site:
http://www.bluetooth.com.
[16] «IEEE 802.11 WLAN standard,» Web site:
http://standards.ieee.org/getieee802.
[17]«Broadband radio access networks (BRAN): High
performance Local Area Network (HiperLAN) type 2,» Tech. Rep. 101 683
V1.1.1, ETSI.
[18] K. Chandran, S. Raghunathan, S. Venkatesan, and R.
Prakash, «A feedback based scheme for improving TCP performance in Ad-Hoc
wireless networks,» dans le proceedings de la the International Conference
on Distributed Computing Systems (ICDCS'98), Amsterdam, Netherlands, Mai
1998.
[19] G. Holland and N. Vaidya, «Analysis of TCP
performance over mobile ad hoc networks,» ACM Wireless Networks, vol. 8,
no. 2, pp. 275-288, Mars 2002.
[20] J. Liu et S. Singh, «ATCP: TCP for mobile ad hoc
networks,» IEEE JSAC, vol. 19, no. 7, pp. 1300-1315, Juillet 2001.
[21] D. Kim, C. Toh, et Y. Choi, «TCP-BuS: Improving TCP
performance in wireless ad hoc networks,» dans le Journal of
Communications and Networks, vol. 3, no. 2, pp. 175-186, Juin 2001.
[22] C. Toh, «Associativity-based routing for ad hoc
mobile networks,» dans le Journal of Wireless Personal Communications,
vol. 4, no. 2, pp. 103-139, Mars 1997.
[23] T. Dyer et R. Boppana, «A comparison of TCP
performance over three routing protocols for mobile ad hoc networks,» dans
le proceeding de ACM MOBIHOC, Long Beach, CA, USA, pp. 56-66, 2001.
[24] F. Wang et Y. Zhang, «Improving TCP performance
over mobile ad hoc networks with out-of-order detection and response,»
dans le proceeding de ACM MOBIHOC, Lausanne, Switzerland, pp. 217-225, Juin
2002.
[25] S. Kopparty, S. Krishnamurthy, M. Faloutous, et S.
Tripathi, «Split TCP for mobile ad hoc networks,» dans le proceeding
de IEEE GLOBECOM, Taipei, Taiwan, Novembre 2002.
[26] F. Klemm, S. Krishnamurthy et S. Tripathi,
«Alleviating effects of mobility on tcp performance in ad hoc networks
using signal strength based link management,» dans le proceeding de the
Personal Wireless Communications, Venice, Italy, pp. 611-624, septembre
2003.
[27] C. Cordeiro, S. Das, et D. Agrawal, «COPAS: Dynamic
contention-balancing to enhance the performance of tcp over multi-hop wireless
networks,» dans le proceeding de IC3N, Miami, USA, pp. 382-387, Octobre
2003.
[28] F. Tobagiet L. Kleinrock, «Packet switching in
radio channels: Part ii - the hidden terminal problem in Carrier Sense
Multiple-Access modes and the busy-tone solution,» dans IEEE Transactions
on Networking, vol. 23, no. 12, pp. 1417-1433.
[29] A. Allman and S. Floyd, «Increasing tcp's initial
window,» RFC 3390, IETF, Proposed Standard, Oct. 2002.
[30] V. Paxson and A. Allman, «Computing tcp's
retransmission timer,» RFC 2988, IETF, Proposed Standard, Nov. 2000.
[31] S. Floyd and T. Henderson, «The newreno
modification to tcp's fast recovery algorithm,» RFC 2582, IETF, Proposed
Standard, Apr. 1999.
[32] S. Floyd, T. Henderson, and A. Gurtov, «The newreno
modification to tcp's fast recovery algorithm,» RFC 3782, IETF, Proposed
Standard, Apr. 2004.RFC 2582, IETF, Proposed Standard, Apr. 1999.
[33] Larry Peterson LiminWang Steven Low. Understanding
tcpvegas : A duality model. 2000.
[34] UCLA engineering Anonymous. Tcpwestwood with agile
probing. 2003.
[35] Cisco White Paper: Cisco Visual Networking Index: Global
Mobile Data Traffic Forecast Update, 2009- 2014,
http://bit.ly/bwGY7L
[36] Claeys M, Latré S, Famaey J, Wu T, Leekwijck W,
Turck F, Design Of A Q-learning-based client quality selection algorithm for
Http adaptive video streaming. In ProcOf Adaptive And Learning Agents Workshop,
USA, 2013.
[37] Deep Singh K, Hadjadj-Aoul Y, Rubino G, Quality of
experience estimation for adaptive Http/Tcp video streaming using H.264/Avc,
Ccnc IEEE Consumer Communications & Networking Conference Hal- 00713723,
Version 1, 2012.
[38] Douga Y, Bourenane M, Mellouk Adaptive video streaming
using tcp factors control with user parameters, proceeding of elsevier fnc'14,
the 9th international conference on Future Networks and Communication, volume
34, pages 526-531, Niagara Falls, Canada, aout 2014.
[39] Fiadino P et al,On the detection of network traffic
anomalies in content delivery network services. In ITC 26, 2014.
[40] Haddad M, Altman E, El-Azouzi R, Jiménez T,
Elayoubi S, Jamaa S, Legout A, Rao A A survey on youtube streaming service. In
ProcOfThe 5th International Icst Conference On Performance Evaluation
Methodologies And Tools, Belgium, 2011.
[41] Hossfeld T, Seufert M, Hirth M, Zinner T, Tran-Gia P,
Schatz R Quantification of YouTube QoE via crowdsourcing. In IEEE International
Symposium on Multimedia (ISM), pages 494-499, 2011.
[42] IstvánKetykó, De Moor K, De Pessemier T,
Verdejo AJ, Vanhecke K, Joseph W, Martens L, De Marez L «QoE measurement
of mobile youtube video streaming. MoViD '10 Proceedings of the 3rd workshop on
Mobile video delivery, Pages 27-32, ISBN: 9781-4503-0165-7, ACM New York, NY,
USA, 2010.
[43] Kim HJ, Yun DG, Kim H-S, Cho KS, Choi SG (2012) Qoe
assessment model for video streaming service using qos parameters in
wired-wireless network. In Advanced Communication Technology (ICACT), 14th
International Conference on, pages 459-464, 2012.
[44] Linck S, Mory E, Bourgeois J, Dedu E, Spies F, Adaptive
multimedia streaming using a simulation test bed. J Comput Sci.
doi:10.1016/j.jocs.2014.02.004, 2014.
[45] Mellouk A, Cuadra Sanchez AQuality of experience
engineering for customer added value services: from evaluation to monitoring,
Wiley Ed./ISTE Publishing Knowledge, 12 Chapters (272 pages), ISBN:
9781848216723, 2014.
[46] Hoceini S, Mellouk A, «A Quality of experience for
multimedia», Wiley Ed./ISTE Publishing Knowledge, ISBN: 9781848215634,
2013.
[47] Metri G, ShiW, Brockmeyer M, Agrawal A Battery extender:
an adaptive user-guided tool for power management of mobile devices,
Ubicomp'14, Spetember 13-17, Seattle, WA, USA, 2014.
[48] Mushtaq S, Augustin B, Mellouk A QoE: user profile
analysis for multimedia services. In Proc. Of the IEEE International Conference
on Communications (ICC), Sydney, Australia, pp. 1-6, 2014.
[49] Stewart L, Hayes DA, Armitage G, Welzl M, Petlund A
Multimedia-unfriendly tcp congestion control and home gateway queue management.
Mmsys '11 Proceedings Of
The Second Annual Acm Conference On Multimedia Systems, Pages
169-174, Isbn: 9781-4503-0518-1, Acm New York, Ny, Usa, 2011.
[50] Sutton RS, Barto AG Reinforcement learning: an
introduction (Adaptive Computation and Machine Learning). The MIT Press,
(1998).
[51] Truong T-H, Nguyen T-H, Nguyen H-T, On relationship
between quality of experience and quality of service metrics for IMS-Based IPTV
networks. In IEEE International Conference on Computing and Communication
Technologies, Research, Innovation, and Vision for the Future (RIVF), pages
1-6, 2012.
[52] G. Marfia, C. Palazzi, G. Pau, M. Gerla, M.Y. Sanadidi
and M. Roccetti, TCP Libra: Exploring RTT-Fairness for TCP, Proceedings of 6th
International IFIP-TC6 Networking Conference, Atlanta, GA, USA, Lecture Notes
in Computer Science Volume 4479, pp 1005-1013, 2007.
[53] F.Klemm, Zhenqiang-Ye, S.V. Krishnamurthy and S.K.
Tripathi, Improving TCP Performance in Ad Hoc Networks using Signal Strength
based Link Management, Journal Ad Hoc Networks Volume 3 Issue 2, March, Pages
175-191, 2005.
[54] H. Jiang and C. Dovrolis, Passive Estimation of TCP
Round Trip Times, Newsletter ACM SIGCOMM Computer Communication Review Volume
32 Issue 3, Pages 75-88,July 2002.
[55] Wei-QiangXe and Tie-Jun Wu, TCP Issues in Mobile Ad hoc
Networks: Challenges and Solution, Journal of Computer Sciences &
Technology, Vol.21, No.1, pp.72-81, Jan. 2006.
[56] Chang-hyeon Lim and Ju-wook, Jang, An Adaptive
End-to-End Loss Differentiation Scheme for TCP over Wired/Wireless Networks,
IJCSNS International Journal of Computer Science and Network Security, Vol.7
No.3,March 2007.
[57] L. Yao-Nan, and H. Ho-Cheng, A New TCP Congestion
Control Mechanism over Wireless Ad Hoc Networks by Router-Assisted Approach,
International Conference on Distributed Computing Systems, pp:84-84, Jun
2007.
[58] S. Qamar and K. Manoj, Impact of Random Loss on TCP
Performance in Mobile Ad hoc Networks (IEEE 802.11), (IJCSIS) International
Journal of Computer Science and Information Security, Vol. 7, No. 1,2010.
[59] D. Kliazovich and F. Granelli , Cross-layer congestion
control in ad hoc wireless networks, Ad Hoc Networks Journal (Elsevier), Vol.
4, Issue 6, pp: 669-792, Nov 2006.
[60] A. M. Al-Jubari, M. Othman, B.M. Ali, N.A. Wati and A.
Hamid, TCP performance in multi-hop wireless ad hoc networks: challenges and
solution, EURASIP Journal on Wireless Communications and Networking,2011.
[61] Mirhosseini S.M, Improvement of TCP Performance in Ad
Hoc Networks Using Cross Layer Approach, Proceedings of 3rd International
Conference on Systems and Networks Communications, ICSNC '08, 2008,.
[62] M. Gunes and D. Vlahovic, The Performance of the
TCP/RCWE Enhancement for Ad-Hoc Networks, Seventh International Symposium on
Computers and Communications (ISCC'02) Proceedings, 2002.
[63] S.AnbuKaruppusamy, K.Batri, Improving the performance of
TCP inAd hoc networks based on signal strength and buffering system, Journal of
Applied Sciences Research, 8(5): 2554-2563, 2012.
[64] Md. M. Ali, A. K. M. S. Alam and Md.S. Sarker, TCP
Performance Enhancement in Wireless Mobile Ad Hoc Networks, International
Journal on Internet and Distributed Computing Systems (IJIDCS), Vol: 1 No: 1,
2011.
[65] S. Lohier, Y. G. Doudane and G. Pujolle, Cross-layer
loss differentiation algorithms to improve TCP performance in WLANs,
Telecommunication Systems, Volume 36, Issue 13, pp 61-72, Nov 2007.
[66] P. Dalal, N. Kothari and K. S. Dasgupta, Improving TCP
Performance Over Wireless Networks With Frequent Disconnections, International
Journal of Computer Networks & Communications ISSN 0975-2293, Vol. 3,
Issue: 6, Start page: 169, (2011).
[67] A. Sachan, A. Rajput, Comparison of TCP Performance on
WLAN, Technical report, (2010).
[68] T. Mahmoodi, V. Friderikos, O. Holland and A.H. Aghvami,
Cross-Layer Design to Improve Wireless TCP Performance with Link-Layer
Adaptation, Proceedings of the 65th IEEE Vehicular Technology Conference, pp:
1504-1508, VTC Spring 2007.
[69] J. Postel, «RFC 768: User datagram protocol»,
Aug 1980.
[70] V. Jacobson, Congestion Avoidance and Control, SIGCOMM
Symposium no Communication Architecture and protocols.
[71] V. Jacobson, Modified TCP Congestion Control and
Avoidance Alogrithms. Technical Report 30, Apr 1990.
[72] S. Lukin, A Comparison of Round-Trip Time Estimation
Algorithms, Loyola University Maryland, UCSC SURF-IT Research, 2010.
[73] Ehab Aziz Khalil, A Modified Congestion Control
Algorithm for Evaluating High BDP Networks, Dept. of Computer Science &
Engineering Faculty of Electronic Engineering (MinufiyaUniversity), IJCSNS
International Journal of Computer Science and Network Security, VOL.12 No.11,
Nov 2012.
[74] Ahmad Al Hanbali, Eitan Altman and Philippe, A survey of
TCP over Ad Hoc Networks, IEEE communications surveys
&tutorials,ThirdQuarters,Vol: 7 pp. 22 - 36, 2005.
[75] Purvang Dalal1, Nikhil Kothari1 and K. S. Dasgupta,
Improving TCP performance over wireless network with frequent disconnections,
International Journal of Computer Networks & Communications (IJCNC) Vol.3,
No.6,Nov 2011.
[76] DurgeshWadbude, VineetRichariya, An Efficient Secure
AODV Routing Protocol in MANET; International Journal of Engineering and
Innovative Technology (IJEIT) Volume 1, Issue 4, April 2012.
[77] Dr.AdityaGoel, Dr. Ajaii Sharma, Performance Analysis of
Mobile Ad-hoc Network Using AODV Protocol, International Jour-nal of Computer
Science and Security (IJCSS), Volume (3): Issue (5), 2009.
[78] M. Leiner, G. Cerf, D. Clark, E. Kahn, L.Kleinrock, C.
Lynch, J.Postel, G. Roberts, S.Wolff, "A Brief History of the Internet", in ACM
SIGCOMM Computer Communication, Volume 39, Number 5, October 2009.
[79] H.ZIMMERMAN, "OSI Reference Model- THE ISO model of
Architecture for open Systems Interconnection", dans IEEE transactions on
communications, VOL. COM-28, NO.4, Avril 1980.
[80] Gustafsson, A. and M. Johnson, "How to Create a
Competitive Advantage Trough Service Development and Innovation", Competing in
a Service Economy Jossey-Bass: San Fransisco, 2003.
[81] I. D. Chakeres, E. Belding-Royeet C. Perkins. "Dynamic
MANET On-demand Routing Protocol (DYMO)", IETF Internet Draft, 2005.
[82] R. Sofia and P. Mendes, "User-provided networks:
consumer as provider", IEEE Communication Magazine, 46:86-91, December 2008.
[83] G.Xylomenos ET AL, "TCP performance issues over wireless
links" IEEE April 2001.
[84] MargaritisMargaritidis and George C. Polyzos.Adaptation
Techniques for Ubiquitous Internet Multimedia. Wireless Communications and
Mobile Computing, 1(2) :141-163, 2001.
[85] M. Peterson, An Introduction to Decision Theory,
Cambridge University Press, 2009.
[86] M. Puterman. Markov Decision Processes : Discrete
Stochastic Dynamic Programming. John Wiley & Sons, 1994.
[87] R. Bellman. Dynamic Programming.Princeton University
Press, 1957.
[88] R. Howard. Dynamic Programming and Markov Processes.MIT
Press, 1960.
[89] R. Sutton and A. Barto. Reinforcement Learning : An
Introduction. MIT Press, 1998.
[90] C. Watkins. Learning from delayed rewards.PhD thesis,
Cambridge University, 1989.
[91] Russell S. J., Norvig P, Artificial intelligence : a
modern approach. Prentice Hall,Englewood Cliffs, N.J., xxviii, 932 p. (Prentice
Hall series in artificial intelligence), 1995.
[92] T. Jaakkola, M. Jordan, and P. Singh.Convergence of
stochastic iterative dynamic programming algorithms. Advances in Neural
Information Processing Systems, 6 :703- 710, 1994.
[93] Saarland University Telecommunication Lab. Future media
internet (FMI) (Video Audio transport - A New Paradigm). 2011.
[94] BaghaeiNilufaret Hunt Ray. Review of quality of service
performance in wireless LANs and 3G multimedia application services. Computer
Communications, vol. 27, n°17, pp. 1684-1692, November 2004.
[95] «IETF, Mobile Ad hoc Network (manet).»
Http://www.ietf.org/html.charters/manet-charter.html
[96] «The internet engineering task force.»
Http://www.ietf.org.
[97] J. Postel, «Transmission Control Protocol»,
RFC 793, IETF, September 1981.
[98] V. Jacobson. Congestion avoidance and control.In
Proceeding of ACM SIGCOMM'88, pages 314-329, 1988.
[99] V. Paxson and M. Allman.Computing TCP retransmission
timer. Request For Comments 2988, RFC editor,
http://www.rfc-editor.org/,
novembre 2000.
[100] M. Mathis, J. Semke, J. Mahdavi& T. Ott.The
macroscopic behavior of the TCP congestion avoidance
algorithm.SIGCOMMComput.Commun. Rev., vol. 27, no. 3, pages 67-82, 1997.
[101] Z. Wang, J. Crowcroft, "Eliminating Periodic Packet
Losses in 4.3 Tahoe BSD TCP Congestion Control Algorithm," in proceedings
of ACM Computer Communication Review, 22(2):9-16, avril 1992.
[102] R. Jain, "A Delay-Based Approach for Congestion
Avoidance in Inteconnected Heterogeneous Computer Networks," in proceedings
of ACM Computer Communication Review, 19(5):56-71, octobre 1989.
[103] M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow,
«Tcp selective acknowledgment options,» RFC 2018, IETF, Experimental,
Oct. 1996.
[104] J. Mogul Irvine, J.Gettys, P.Leach, H.Frystyk,
L.Masinter, and T. Berners-Lee.«Hypertext transfer protocol» -
http/1.1.
http://www.ietf.org/rfc/rfc2616.txt,
June 1999.
[105] V.M. Scuturici, «Utilisation efficace des serveurs
Web en tant que serveurs vidéo pour des applications de vidéo
à la demande», thèse de doctorat en informatique de
l'Université Lumière Lyon 2, 2001.
[106] V. Srivastava and M. Motani, «Cross-layer design :
a survey and the road ahead», IEEE Communications Magazine, vol.43, no.12,
pp.112-119, December 2005.
[107] Nasser Sedaghati-Mokhtari, Mahdi NazmBojnordi, Nasser
Yazdani, "Cross-Layer Design:A New Paradigm", Proc In International Symposium
on Communications and Information Technologies (ISCIT '06), On page(s): 183188,
Bangkok, Sept 2006.
[108] V. Srivastavaet M. Motani, «Cross-Layer Design: A
Survey and the Road Ahead,» IEEE Communications Magazine, Vol. 43(12),
pp.112-119, 2005.
[109] S. Shakkottai, T. S. Rappaport, and P. C. Karlsson,
«Cross-Layer Design for Wireless Networks,» IEEE Commun. Mag., Vol.
41, no. 10, pp. 74-80, Oct. 2003.
[110] S. Floyd and T. Henderson, «The
newrenomodification to tcp's fast recovery algorithm,» RFC 2582, IETF,
Proposed Standard, Apr. 1999.
[111] S. Floyd, T. Henderson, and A. Gurtov, «The
newrenomodification to tcp's fast recovery algorithm,» RFC 3782, IETF,
Proposed Standard, Apr. 2004.
[112] M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow,
«Tcp selective acknowledgment options,» RFC 2018, IETF, Experimental,
Oct. 1996.
[113] Rosenberg, Mahy, Sen,«NAT and Firewall Scenarios
and Solutions for SIP», IETF Draft, November 2001.
[114] IEEE 802.11 WG, Part 11: Wireless LAN medium access
control (MAC) and physical layer (PHY) specifications, Standard, Aug. 1999.
[115] A. Dureja, Am. Dureja, M. Khera, «IEEE 802.11
Based MAC Improvements for MANET», IJCA Special Issue on «Mobile
Ad-hoc Networks» MANETs, 2010.
[116] S. Hamrioui, M. Lalam, Diyar K. Arab, A. Berqia, P.
Lorenz, «Improving TCP Performance in MANET by Exploiting MAC Layer
Algorithms», IRACST- International Journal of Research in Management &
Technology (IJRMT), Vol. 1, No.2, December 2011
[117] P.Chenna Reddy, «TCP Over IEEE 802.11»,
Annals. Computer Science Series. 7th Tome 2nd Fasc. - 2009.
[118] S.Mylsamy and J.Premalatha, «Performance
improvement of QoS in MANETs», Elixir Adoc Network International Journal
44 (2012) 7546-7550.
[119] M. Nath, N. Sharma, «Implementation of TCP
Recognition of Broken Order (TCP-BO) Algorithm», (IJCSIT) International
Journal of Computer Science and Information Technologies, Vol. 5 (5), 2014,
6218-6224.
[120] M. Senthamilselvi, A. Muruganandam, «Performance
Evaluation of Routing Protocols by TCP Variants in Mobile Ad-hoc
Networks», International Journal of Computer Science and Mobile Computing,
Vol.4 Issue.2, February- 2015, pg. 346-358
[121] K. Pentikousis, «TCP in wired-cum-wireless
environments», IEEE Communications Surveys Tutorials, vol. 3, no. 4, pp.
2-14, 2000.
[122] B.S. Manoj and C. Siva Ram Murthy, «Ad Hoc
Wireless Networks: Architectures and Protocols», Prentice Hall PTR, May
2004.
[123] ETSI, «Human factors ; quality of experience (qoe)
requirements or real-time communication services», ETSI, France, Rapport
technique, 2009.
[124] E. Crawley et R. Nair, «A framework for qos-based
routing in the internet», RF386, Août 1998. Disponible :
http://www.ietf.org/rfc/rfc2386.txt
[125] H. Rifai, et al., «A brief synthesis of qos-qoe
methodologies», 2011 10th International Symposium on Programming and
Systems. Piscataway, NJ, USA : IEEE, 2011, 32{8, 2011 10th International
Symposium on Programming and Systems, 25-27 April 2011.
[126] R. Serral-Gracià & al., «An overview of
quality of experience measurement challenges for video applications in ip
networks," Wired/Wireless Internet Communications, 252-263, 2010.
[127] F. Michaut et F. Lepage, «Adaptation des
applications distribuées à la qualité de service du
réseau de communication», Ecole d'été temps
réel 2005 (ETR'05) Nancy, France (Septembre 2005).
|