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.1.4 Le protocole AIM: API_IPsec Messages

Pour communiquer l'API_IPsec avec les applications ou avec les API_IPsec distantes on a défini le protocole API_IPsec Messages (AIM). Il permet d'encapsuler différents structures qui ont l'information nécessaire pour communiquer soit messages de signalisation (confirmations, ouvrir/fermer sockets, etc.) soit messages de fonctions pour gérer la couche IPsec (opérations de créer/consulter/modifier/effacer associations ou politiques de sécurité dans la base de données, synchronisation avec la SAD/SPD, etc.). Pour le protocole AIM on a défini les quatre structures : un Header commun dans tous le message, et trois structures « dm_XX » spécifiques. Un message est composé d'un Header et d'une structure « dm_XX » selon le Type de message. Uniquement la structure dm_FUNCTION peut contenir forcement des paramètres, cela veut dire, plusieurs structures dm_PARAM ; aussi, on peut avoir sans problèmes plusieurs dm_FUNCTION dans le même message, l'une après l'autre. Voici un schéma pour clarifier :

Toes de Message Structure

HEADER

API_MSG_ERR
API_MSG_ACK
API_MSG_NCK

API_MSG_FUNCTION

ID
TYPE
LENGTH

API_MSG_PARAMETERS

- Numéro de paquet (unique)

- Type de Message. Il indique la structure « dm_XX » qui suivra le Header.

-

dm_RESPONSE

- Code de ACK / ERROR. Il contient un numéro lié au Type de Message ou de Fonction qu'on a traité.

- Code = RETURN_FUNCTION, RETURN_PARAM

CODE

 
 

TABLE
TYPE
LENGTH

- Table de la DB : TB_SA, TB_SP, TB_MH ... - Type de Fonction : ADD, UPDATE, DELETE ...

- Taille totale de la fonction : cet en-tête + paramètres

 
 
 

dm_PARAM

 

TAG
LENGTH

- Type de Paramètre : ID, SA_MODE, SA_TYPE ...
Taille variable du paramètre : il permet connaître combien de bytes il faut lire pour obtenir la valeur du paramètre.

Taille totale du message en bytes (header inclusive)

DATA

APX_SCK_CLOSE API_MSG_EXIT APX_SCK_RESTART REM_SCK_OPEN API_SYN_IPSEC

Messages de signalisation ou d'opération directe. Pas besoin d'une structure « dm_XX »

Figure 16. Type de messages et structures du protocole AIM

 

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

 

Ensuite, on présente les exemples plus représentatifs des messages qu'on peut créer, et on fait évident l'encapsulation :

HEADER

PARAM N value

PARAM 1

PARAM 2

dm_FUNCTION 1

value

value

dm_FUNCTION 2

dm_FUNCTION N

HEADER

dm_RESPONSE
CODE = valueuchar

HEADER

dm_RESPONSE
CODE = RE TPARAM

dm_PARAM

value

HEADER
YPE = Message

HEADER
YPE = REM_MSG_FUNC

dm_PARAM (tag=@)

Address API_REMOTE

dm_FUNCTION 1

value

PARAM 1

Figure 17. Exemples de messages encapsulés dans le protocole AIM

Ce protocole contraint les applications qui veulent utiliser l'API_IPsec de compiler et exécuter une libraire pour envoyer/recevoir les messages. Dans la section du Prototype développé on détaillera cette librairie et la table de messages, de fonctions et de paramètres associées.

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








"Des chercheurs qui cherchent on en trouve, des chercheurs qui trouvent, on en cherche !"   Charles de Gaulle