Robust Header Compression

Slides:



Advertisements
Présentations similaires
[number 1-100].
Advertisements

1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
1 © 2006 Aastra Technologies, LTD. Besoin en Bande Passante.
Ou comment partager la connaissance
Département Édition - Intégration SEMINAIRE SOA Migration du canal Esup MonDossierWeb Olivier Ziller / Charlie Dubois Université Nancy 2 16 octobre 2007.
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Classe : …………… Nom : …………………………………… Date : ………………..
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Est Ouest Sud 11 1 Nord 1 RondeNE SO
Sud Ouest Est Nord Individuel 36 joueurs
- Couche 4 - Couche transport. Sommaire 1) Caractéristiques de la couche transport 2) Les protocoles TCP & UDP 3) Méthode de connexion TCP.
Smart House System Framework Vincent Chicherie
JXDVDTEK – Une DVDthèque en Java et XML
Architecture de réseaux
Génération interactive dimages projectives : Application à la Radiothérapie Pierre BLUNIER Du 01/12/2002 au 28/03/2003 Centre Léon Bérard.
Indicateurs de position
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
Les Réseaux (Informatiques)
Réalité virtuelle et interactions avec un individu
Exercice Trame Ethernet
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
Logiciel de Mobile Device Management
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Présentation du SVI - DELSOL Mikaël
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Serveurs Partagés Oracle
Réalisation Gestionnaire de Stock
Rappel au Code de sécurité des travaux 1 Code de sécurité des travaux Rappel du personnel initié Chapitre Lignes de Transport (Aériennes)
1 SERVICE PUBLIC DE LEMPLOI REGION ILE DE France Tableau de bord Juillet- Août 2007.
Chef de projet : COUDERC Antoine Equipe : DELMON - GENIEZ - LACROIX
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Bilan du Projet Industriel
Virtual Local Area Network
La voyage de Jean Pierre
Configuration de Windows Server 2008 Active Directory
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Développement d’application web
La Saint-Valentin Par Matt Maxwell.
Développer en C avec Eclipse Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique.
Linux – les VPN.
Détection d’intrusions
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Projet de Conception n° 5
Notre calendrier français MARS 2014
Méthode de gestion de projet.
C'est pour bientôt.....
Veuillez trouver ci-joint
Projet de Master première année 2007 / 2008
Adressage internet utilisé par le protocole IP (Internet Protocol)
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
SI Informations routières- 1 CETE-SO Les réseaux de transmission : Utilisation du Wi-Fi ‏ La collecte de l’information Formation CERPET – juin 2008 Abdelmename.
CALENDRIER-PLAYBOY 2020.
1. Présentation générale du système
Outil de gestion des cartes grises
Communication entre machines, sur Internet…
Les Chiffres Prêts?
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Supports de formation au SQ Unifié
1 Formation à l’usage éco-performant de votre pc 1 ère Partie.
Projet Implémentation du protocole MMT sous Linux
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Mise en place de translation d’adresses NAT/PAT
Transcription de la présentation:

Robust Header Compression Responsable de projet: Vincent Roca Jack Ballesteros Rémi Blanc Consultante: Karine Excoffier (Sun Microsystems) Robust Header Compression RoHC Compression d’en-tête robuste Un projet à l’ Microelectronics En collaboration avec

Plan Introduction Gestion de projet Aspects techniques Bilan Quels sont les acteurs du projet? Pourquoi en a-t-on besoin? Quel est le but du projet? Introduction à la norme RoHC Cahier des charges

Quels sont les acteurs du projet? Advanced System Technologies Vincent Roca (responsable de projet) Pascal Moniot Karine Excoffier Sun Microsystems (consultante) L’équipe RoHC2: Jack Ballesteros Rémi Blanc L’équipe RoHC: Nicolas Albarel Mikael Desertot Mathias Dietrich David Furodet

Pourquoi en a-t-on besoin? IP Les connexions sans fils sont lentes. Les paquets IP sont trop gros. Il y a un besoin de compresser les paquets.

Quel est le but du projet? Compresser les paquets IP Structure d’un paquet IP: En-tête Données Compresser l’en-tête En-têtes trop compressés -> Pertes de paquets Une compression robuste: compresser les en-têtes sans augmenter les pertes Robust Header Compression

Quelques techniques de compression d’en-tête Van Jacobson - RFC 1144 (PPP): IPv4/TCP IPHC – RFC 2507: développé au départ pour IPv6, et adapté par la suite à d’autres protocoles. CRTP – RFC 2508: IP/UDP(/RTP) RoHC – RFC 3095:IP/UDP(/RTP)

Principes de fonctionnement de RoHC Emetteur Recepteur Data Application Application Presentation Presentation Session Session Transport Transport IP Header Network Network RoHC RoHC Data Link Data Link Physical Physical

Decompression front end Architecture de RoHC OSI layers Application Packet stream Decompressed flows Presentation Session decompressor Compression front end Transport Context RoHC framework RoHC framework Network Decompression front end RoHC Compressor Data Link Compressed headers Physical Link

Classification des champs des en-têtes: IPv4

Classification des champs des en-têtes: RTP/UDP/IPv6

RoHC Profiles Profil 0: pas de compression Profil 1: RTP/UDP/IP Profil 2: UDP/IP Profil 3: ESP/IP Profil 4: IP Pas de profil de compression TCP/IP, c’est en cours de définition au niveau de l’IETF (Draft)

Cahier des charges Travaux réalisés lors du précédent projet: Implémentation du framework RoHC Profil 0 (non compressé) Profil 2 (UDP/IP) sans le mode "Reliable" Travaux à réaliser lors de ce projet: Profil 2: rajouter le mode "Reliable" Profil 1 (RTP/UDP/IP) Mise en oeuvre de RoHC sur des réseaux sans-fil (802.11b) Support d'IPv6 dans RoHC Tests et évaluations des performances

Gestion de projet Introduction Gestion de projet Aspects techniques Bilan Gestion de la qualité critères qualité code outils Planning et gestion des risques

Critères qualité Fiabilité: Pourquoi: le code est intégré dans le noyau Linux Comment l’atteindre: Tests nombreux et complets Bonne modularité Comment l’évaluer: 100% des tests doivent passer Maintenabilité: Pourquoi: le code va être réutilisé par STM Comment l’atteindre: Utilisation des règles de codage de STM Utilisation de commentaires Documentation complète et détaillée Comment l’évaluer: Toutes les fonctions et structures ont un commentaire Doxygen Évaluation des performances requise

Code Stocké sur un répertoire partagé Sauvegardé automatiquement chaque nuit Utilisation de CVS: Concurrent Versions System Règles de codage données par STM Les commentaires sont compatibles avec Les bugs sont gérés avec l’outil Mantis

Outils Génération de paquets: SendIP, Nemesis Capture de paquets: Ethereal, Tcpdump, Analyser Gestion des bugs: Mantis Débug et mise au point: KGDB, par liaison série Documentation: Doxygen

Analyser Liste des paquets capturés Données brutes du paquet Décomposition du paquet

Gestion de projet Introduction Gestion de projet Aspects techniques Gestion de la qualité Planning et gestion des risques cycle de vie logiciel jalons et planning gestion des risques Aspects techniques Bilan

Modèle en V du cycle de vie Logiciel Analyse des besoins Tests Spécification Conception Codage

Jalons & Planning du projet Spécifications Externes Plan de Tests Test Spécification Système Spécifications Tests Performances Manuel Utilisateur Spécification Test système Existant + Tests Etude EPIC Plan d’Assurance Qualité Logiciel Cahier des charges Plan Developpement Logiciel Profile 2 (UDP/IP) Profile 1 (RTP/UDP/IP) Support IPv6 Mise en oeuvre 802.11b Tests Unitaires Tests d’Intégration Tests de Performance Tests Système Tests Opérationnel 2 Periodes Architecture Logicielle Specification Tests d’ Integration Conception Detaillé 4 Jalons pour les livrables 3 Audits

Gestion et évaluation des risques Programmation du noyau Linux Difficulté de débuguer le noyau Manque de connaissance sur l’architecture du noyau Implémentation IPv6 Stade expérimental sur le noyau Linux version 2.4.x Rupture avec la précédente implémentation Faible expérience de l’équipe de projet Modification des spécifications de RoHC Retard dans la fourniture de matériel (carte 802.11b)

Aspects techniques Introduction Gestion de projet Aspects techniques Bilan Architecture logicielle Méchanismes de RoHC Configuration Plateforme de test et debug Tests Performances

Architecture réseau Linux

Architecture logicielle Encapsulation of OS dependent services RoHC Framework RTP Memory managing MANAGER Synchronisation UDP ESP Manager interface F I L T ER C O N V E R T IP PROFILE 0 C O N T E X F R A M E W O K Data link PROFILE 1 HOOK PROFILE 2 Physical layer PROFILE 3 Kernel code Kernel module Kernel space

Modes & Etats RoHC Compresseur Décompresseur

Exemple: mode optimiste Compresseur Décompresseur Ack UOR-2 IR UO-0 Unidirectional Optimistic Unidirectional Optimistic IR No context FO Static context SO Full context

Configuration de RoHC <?xml version="1.0"?> <!DOCTYPE rohc SYSTEM "rohconfig.dtd"> <rohc> <interface if="eth0" type="ETH"> <cid max="15" type="large"/> <packet_size min="46" max="1450"/> <feedback delay_max="1"/> <profile protocol="UDP"/> <packet_filter> <rule dest_address="00:08:02:33:4d:b1" protocol="UDP"/> </packet_filter> </interface> <interface if="wlan0" type="ETH"> <rule dest_address="ALL" protocol="UDP"/> <NbFeedback val="8"/> <NbPacket min="2" max="3"/> <NbContext min="4" max="5"/> <hashtable_size compressor="6" decompressor="7"/> <maxChannel val="8"/> <decompressor mode="optimistic"/> <context timout="10000"/> <Print performances="no" statistic="no"/> </rohc>

Plateforme de développement RoHC Wireless Analyseur de paquets Debugger sur liaison série Pc Developpement Analyseur de paquets RoHC PC Noyau Linux 2.4.x IPV6, 802.11b, ... debuggeur noyau (kgdb) Console Serie Pc Serveur de fichier sauvegardé

Debug d’un module du noyau Récupération des sources du module Compilation du module Chargement du module en mémoire et récupération de la table des symboles Génération d’un script pour le débuggeur Transfert des fichiers vers la machine de debug Exécution du débuggeur et connexion avec la machine hôte

Enregistrement des résultats Tests Tests sur le système existant A chaque étape Tests Automatisés Paquets non-compressés Iseran Stockage de fichiers Paquets compressés Paquets décompressés Etats du décompresseur Etats du compresseur Enregistrement des résultats Routeur Packets de test Loup RoHC TcpDump Lupus RoHC Hub Capture TcpDump Démarage du test Démarage de RoHC Démarage de RoHC Loutre Ethereal Station du réseau Capture Ethereal

Performances 42% 0% 42% 65% 35% 42% 71% 67% 44% Pourcentage de données utiles dans le paquet Gain sur la taille totale Paquet IPv6/UDP (45 octets de données utiles) 42% Paquet IR 42% 0% Paquet UOR-2 65% 35% Paquet UO-0 71% 42% Estimation pour le profil 1 (RTP/UDP/IPv6): 67% 44%

Bilan Introduction Gestion de projet Aspects techniques Bilan Qualité Cahier des charges Planning Suite

Bilan Qualité Fiabilité Maintenabilité Nombreux bugs décelés et corrigés grâce aux tests automatisés Anciens bugs non prioritaires mais clairement identifiés Un puissant outil pour la fiabilité l’année prochaine Maintenabilité Nouveau code entièrement commenté Ancien code commenté dans ses parties principales Documentation complète Traçage du fonctionnement amélioré

Cahier des charges Tests de l’existant Profil 2 UDP/IP mode fiable Profil 1 RTP/UDP/IP Support de IPv6 Mise en œuvre sur 802.11b Evaluation des performances

Planning

Merci de votre attention Suite Ce qu’il reste à faire: finir de corriger les bugs listés intégrer le profil 1 (RTP/UDP/IP) mode fiable du profil 2 (UDP/IP) analyse complète des performances Merci de votre attention