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

Extinction Rebellion

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






Extinction Rebellion





Changeons ce systeme injuste, Soyez votre propre syndic





"Soit réservé sans ostentation pour éviter de t'attirer l'incompréhension haineuse des ignorants"   Pythagore