Technologies
1157 lignes de code en Bash et SQL
Script en Bash interfaçant de nombreux outils :
- Outils GNU de Bash :
wget, grep, sed, man, sort, comm, find, etc.
- MySQL
- R
- expressions régulières
- ssh
- git (github)
- GNU netcat
traitement des données
- lister les archives de logs disponibles
- télécharger celles non-traitées
- les traiter une par une pour générer un csv propre
- importation des nouvelles données dans MySQL
- qualification des données
- localisation du pays (de la ville et de la région)
- association avec le FAI
- calcul de l'heure locale du test
- calcul et export de statistiques basiques
Base de données
MySQL
Extensible à de nouvelles mesures :
Base de données commune indépendante
(initialisation, mise à jour, tables de post-traitement séparées)
Qualification
Justifiée par une analyse statistique descriptive
et par des considérations techniques
4 catégories :
- non-qualifié (par défaut)
- bon (plus de 3 tests par IP)
- douteux
- mauvais/faux
Localisation
Non renseignée par Shaperprobe
Associer les plages d'adresses IP aux pays/villes/régions
grâce aux bases de données Geolite
Localisations des IP stockées et utilisables
pour toutes les mesures
Association du FAI
Nécessite connaissances sur le fonctionnement
des réseaux (Coursera)
Associer à chaque IP le nom de son FAI
2 étapes :
- récupérer nom et n° de l'Autonomous System
(service WhoIs de Team Cymru avec GNU netcat)
- lier nom AS au nom du FAI
(base de données à jour non-existante donc créée pendant le stage)
Calcul de l'heure locale
Heure UTC reportée par Shaperprobe
Conversion de l'heure UTC dans le fuseau horaire
du pays du test
Répartition des résultats des tests
calcul des résultats
Moyennes pondérées (requêtes SQL complexes)
Résultats par pays
Pays |
upShape |
dShape |
shape |
upSpeed |
dSpeed |
nbIP |
nbTests |
France |
0.078 |
0.072 |
0.142 |
0.351 |
0.389 |
27645 |
36992 |
USA |
0.314 |
0.387 |
0.492 |
0.459 |
0.369 |
181967 |
318313 |
-
upShape (dShape) : taux de traffic shaping en upload (download)
-
shape : taux de traffic shaping en upload ou en download
-
upSpeed (dSpeed) : taux de réduction de la vitesse en upload (download)
-
nbIP (nbTest) : nombre d’adresses IP (tests) pour calculer ces moyennes
carte mondiale du traffic shaping
Résultats par FAI
FAI |
upShape |
dShape |
shape |
upSpeed |
dSpeed |
nbIP |
nbTests |
Bouygues |
0.079 |
0.063 |
0.063 |
0.350 |
0.393 |
1458 |
2190 |
Free |
0.075 |
0.074 |
0.143 |
0.411 |
0.369 |
6781 |
10051 |
Numericable |
0.030 |
0.100 |
0.125 |
0.420 |
0.432 |
3081 |
4569 |
Orange |
0.097 |
0.067 |
0.155 |
0.304 |
0.378 |
9221 |
10988 |
Comcast |
0.578 |
0.619 |
0.762 |
0.467 |
0.340 |
73360 |
152967 |
Erreurs dans les données
- utilisateur final = environnement non contrôlé
- plusieurs utilisateurs : fluctuations de la vitesse du réseau
→ faux positifs
Présence d'erreurs confirmée par des tests personnels
Nécessité d'un seuil pour déterminer si un FAI fait du traffic shaping
Première approche du taux d'erreur
242 adresses IP ont fait plus de 50 tests
Proportion d'erreurs de 12,17 %
Intervalle de confiance à 95% : 0,1038 ; 0,1395
Capacité et traffic shaping
Lien entre présence de traffic shaping
et capacité de la connexion ?
Le traffic shaping aide t'il à bien gérer le réseau ?
Moyenne en Kbps |
Traffic shaping détecté |
Traffic shaping non-détécté |
Vitesse upload |
4702.833 |
4167.454 |
Vitesse download |
23124.09 |
17867.03 |
— |
— |
— |
Médiane en Kbps |
Traffic shaping détecté |
Traffic shaping non-détécté |
Vitesse upload |
3917.38 |
945.08 |
Vitesse download |
22572 |
9344 |
Comparaison de moyennes : rejet des tests de Student et de Wilcoxon (p-valeurs <1%)
La différence de capacité de connexion entre
présence/absence de traffic shaping est significative
Cependant, ne pas en conclure que le traffic shaping conduit à de meilleurs débits : il y a simultanéité
- le TS participe à fluidifier le réseau
- le TS est mis en place sur de grosses connexions
Capacité de connexion
Les vitesses de connexion en upload et en download
ont un coefficient de corrélation de 0,5656
Modèle logit par fai
Sur les plus gros FAI (plus de 1000 tests)
Call: glm(formula = binomalresponse ~ upcapacityIP + downcapacityIP +
client_versionIP + sleeptimeIP + IP, family = binomial)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.259e+00 4.139e-02 -54.586 < 2e-16 ***
upcapacityIP -1.636e-05 1.044e-06 -15.674 < 2e-16 ***
downcapacityIP -6.706e-06 2.866e-07 -23.404 < 2e-16 ***
client_versionIP 2.150e-02 5.433e-03 3.956 7.61e-05 ***
sleeptimeIP 4.676e-01 1.245e-02 37.553 < 2e-16 ***
[...]
Bouygues Telecom -3.339e-02 8.477e-02 -0.394 0.693680
Comcast Cable 2.744e+00 3.591e-02 76.407 < 2e-16 ***
Free 1.799e-03 5.162e-02 0.035 0.972200
Orange 9.846e-02 5.069e-02 1.942 0.052114 .
Numericable -3.489e-03 7.226e-02 -0.048 0.961482