Robust Header Compression - PowerPoint PPT Presentation

About This Presentation
Title:

Robust Header Compression

Description:

Title: RoHC2 Soutenance Author: Equipe RoHC2 Last modified by: RoHC Created Date: 12/11/1997 9:41:02 AM Document presentation format: Affichage l' cran – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 37
Provided by: Equi61
Category:

less

Transcript and Presenter's Notes

Title: Robust Header Compression


1
Robust Header Compression
Responsable de projet Vincent Roca
Jack Ballesteros
Rémi Blanc
Consultante Karine Excoffier (Sun Microsystems)
RoHC
Compression den-tête robuste
  • Un projet à l

En collaboration avec
2
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

3
Quels sont les acteurs du projet?
Karine Excoffier Sun Microsystems (consultante)
4
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.

5
Quel est le but du projet?
Compresser les paquets IP
Structure dun paquet IP
En-tête
Données
Compresser len-tête
En-têtes trop compressés
-gt Pertes de paquets
Une compression robuste compresser les en-têtes
sans augmenter les pertes
Robust Header Compression
6
Quelques techniques de compression den-tête
  • Van Jacobson - RFC 1144 (PPP) IPv4/TCP
  • IPHC RFC 2507 développé au départ pour IPv6,
    et adapté par la suite à dautres protocoles.
  • CRTP RFC 2508 IP/UDP(/RTP)
  • RoHC RFC 3095IP/UDP(/RTP)

7
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
8
Architecture de RoHC
OSI layers
Decompressed flows
Packet stream
Application
Presentation
Session
decompressor
Compressionfront end
Transport
RoHC framework
RoHC framework
Network
Decompressionfront end
RoHC
Compressor
Data Link
Compressed headers
Physical
Link
9
Classification des champs des en-têtes IPv4
10
Classification des champs des en-têtes
RTP/UDP/IPv6
11
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, cest en
    cours de définition au niveau de lIETF (Draft)

12
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

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

14
Critères qualité
  • Fiabilité
  • Pourquoi le code est intégré dans le noyau
    Linux
  • Comment latteindre
  • 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 latteindre
  • 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

15
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 loutil Mantis

16
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

17
Analyser
Données brutes du paquet
18
Gestion de projet
  • Introduction
  • Gestion de projet
  • Gestion de la qualité
  • Planning et gestion des risques
  • cycle de vie logiciel
  • jalons et planning
  • gestion des risques
  • Aspects techniques
  • Bilan

19
Modèle en V du cycle de vie Logiciel
Analyse des besoins
Tests
Spécification
Conception
Codage
20
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 dAssurance 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 dIntégration
  • Tests de Performance
  • Tests Système
  • Tests Opérationnel
  • Architecture Logicielle
  • Specification Tests d Integration
  • Conception Detaillé

21
Gestion et évaluation des risques
  • Programmation du noyau Linux
  • Difficulté de débuguer le noyau
  • Manque de connaissance sur larchitecture 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)

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

23
Architecture réseau Linux
24
Architecture logicielle
Encapsulation of OS dependent services
Memory managing
RTP
MANAGER
Synchronisation
Manager interface
UDP
ESP
F I L T ER
C O N V E R T E R
IP
PROFILE 0
C O N T E X T
F R A M E W O R K
PROFILE 1
Data link
HOOK
PROFILE 2
Physical layer
PROFILE 3
25
Modes Etats RoHC
  • Compresseur
  • Décompresseur

26
Exemple mode optimiste
Décompresseur
Compresseur
UOR-2
Ack
IR
UO-0
Unidirectional
Optimistic
Unidirectional
Optimistic
IR
No context
FO
Static context
SO
Full context
27
Configuration de RoHC
  • lt?xml version"1.0"?gt
  • lt!DOCTYPE rohc SYSTEM "rohconfig.dtd"gt
  • ltrohcgt
  • ltinterface if"eth0" type"ETH"gt
  • ltcid max"15" type"large"/gt
  • ltpacket_size min"46" max"1450"/gt
  • ltfeedback delay_max"1"/gt
  • ltprofile protocol"UDP"/gt
  • ltpacket_filtergt
  • ltrule dest_address"000802334db1"
    protocol"UDP"/gt
  • lt/packet_filtergt
  • lt/interfacegt
  • ltinterface if"wlan0" type"ETH"gt
  • ltcid max"15" type"large"/gt
  • ltpacket_size min"46" max"1450"/gt
  • ltfeedback delay_max"1"/gt
  • ltprofile protocol"UDP"/gt
  • ltpacket_filtergt
  • ltrule dest_address"ALL" protocol"UDP"/gt

28
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é
29
Debug dun 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 dun 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

30
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

Routeur
Lupus RoHC
Loup RoHC TcpDump
Hub
Démarage de RoHC
Capture TcpDump
Démarage du test
Démarage de RoHC
Loutre Ethereal
Station du réseau
31
Performances
Pourcentage de données utiles dans le paquet
Gain sur la taille totale
(45 octets de données utiles)
42
0
42
35
65
42
71
44
67
Estimation pour le profil 1 (RTP/UDP/IPv6)
32
Bilan
  • Introduction
  • Gestion de projet
  • Aspects techniques
  • Bilan
  • Qualité
  • Cahier des charges
  • Planning
  • Suite

33
Bilan Qualité
  • Fiabilité
  • 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é lannée
    prochaine
  • Maintenabilité
  • Nouveau code entièrement commenté
  • Ancien code commenté dans ses parties
    principales
  • Documentation complète
  • Traçage du fonctionnement amélioré

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

35
Planning
36
Suite
  • Ce quil 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
Write a Comment
User Comments (0)
About PowerShow.com