WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Projet d'une API IPSEC pour la mobilité et le multihoming

( Télécharger le fichier original )
par Xavier FERRER CABALLERO
Supélec - Ingénieur réseau 2008
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

4.3.5 Traitement des messages pour l'API_IPsec distante

Le fichier « process.c » fait un traitement initial des messages pour les renvoyer au module spécifique qui peut réaliser les actions demandées. Ensuite on détaille le traitement des messages qui sont dirigés vers l'API_IPsec distante. En effet, quand une application veut manager une API_IPsec distante elle doit s'y connecter et obtenir son descripteur de socket « sfd_remote ». Puis, elle doit encapsuler tous les messages en utilisant un Header de type REM_MSG_FUNC TION suivi par le paramètre sfd_remote. La figure suivante montre le traitement du message : on prend le sfd_remote, on efface le Header1 et on renvoie le message original à l'API_IPsec distante. Normalement le message original est aussi traité dans l'API_IPsec locale.

H1: REM_MSG_FUNC TION
P1: sfd_remote

H2: Message Original
F2 / P2 / R2

Application

H2: Message Original
F2 / P2 / R2

API_IPsec
Local

process

H2: Message Original
F2 / P2 / R2

API_IPSEC
Remote

module

Figure 23. Traitement des messages REM_MSG_FUNCTION pour l'API_IPsec distante

 

Etude d'IPsec
Projet d'une API_IPSEC pour la Mobilite et le Multihoming

 
 

4.3.6 La compilation et le debug

Le projet est compilé avec l'utilitaire «makefile» de Linux. Il est configuré pour utiliser le GCC (GNU C Compiler) et compiler et linker tous les fichiers du répertoire du projet, avec les dépendances nécessaires et les headers du système ou des librairies (comme « libipsec» ou « libpthread ») spécifiques.

Une étude de manuels et de tutoriales a été nécessaire pour écrire les fichiers de configuration « configure.am » et « makefile.am». Aussi, la connaissance pour linker ou créer librairies dynamiques (*.so) et statiques (*.a), ou l'emplacement des headers et librairies du système a été indispensable pour réussir a bien compiler le projet d'API_IPsec qui a toujours vu grandir la taille et le nombre de ses fichiers source. Dans l'Annexe on détaille le contenu des fichiers de configuration.

Le debuggage s'est fait de manière manuelle, avec la méthode de « essai / error ».

4.3.7 Prototype de la Mobility_Application

La Mobility_Application, comme toute autre application qui veut utiliser l'API_IPsec, doit compiler les fichiers qui contiennent les fonctions et messages de communication. Pour cette raison, on a développé cette première version aussi en langage C.

La suivante figure présente le schéma des fichiers source qui constituent la Mobility_Application et leur interrelation:

Figure 24. Schéma des fichiers source de la Mobility_Application

«MA.c» est le fichier principal de la Mobility_Application. Principalement elle utilise le fichier « app_msgs », qu'on a déjà expliqué, pour envoyer les messages à l'API_IPsec et savoir comme atteindre ses réponses de confirmation, d'erreur ou de valeurs.

 

Etude d'IPsec
Projet d'une API_IPSEC pour la Mobilite et le Multihoming

 
 

On veut faire noter que dans cette première version le fichier « app_detect » n'est pas réalisé mais émulé directement dans la MA. Le fichier « api_utils » ou les structures de « api_structs » sont également réutilisés de manière à faciliter le développement. La Mobility_Application ne devrait pas les connaître, seule l'API_IPsec peut connaître ce type de structures ou de fonctions d'utilité.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Enrichissons-nous de nos différences mutuelles "   Paul Valery