Partager via


Interface de programmation réseau

Une interface de programmation réseau, ou NPI, définit l’interface entre les modules réseau qui peuvent être attachés les uns aux autres. Un module client inscrit en tant que client d’un NPI particulier ne peut être attaché qu’aux modules de fournisseur inscrits en tant que fournisseurs du même NPI. De même, un module fournisseur inscrit en tant que fournisseur d’un NPI particulier ne peut être attaché qu’aux modules clients inscrits en tant que clients du même NPI.

Chaque NPI définit les éléments suivants :

  • Identificateur NPI qui identifie le NPI de manière unique. Un module réseau spécifie un identificateur NPI pour indiquer le NPI particulier qu’il prend en charge quand le module réseau s’inscrit auprès du bureau d’enregistrement de modules réseau (NMR). Un module réseau peut prendre en charge plusieurs NPI en s’inscrivant auprès de la RMN plusieurs fois, une fois pour chaque NPI qu’il prend en charge. Le NMR lance l’attachement d’un module client à un module fournisseur uniquement s’ils prennent tous les deux en charge le même NPI.

  • Structure facultative des caractéristiques du client qui spécifie les caractéristiques propres à NPI de chaque module client. Ces caractéristiques spécifiques au NPI peuvent inclure des éléments tels que la version (ou les versions) du NPI pris en charge par un module client, ou l’adresse de la famille ou du protocole requis par un module client. Un module fournisseur peut utiliser les informations contenues dans la structure des caractéristiques du client d’un module client pour déterminer s’il sera attaché au module client. Si un NPI ne définit pas de caractéristiques client spécifiques à un NPI, cette structure n’est pas obligatoire.

  • Structure de caractéristiques de fournisseur facultative qui spécifie les caractéristiques spécifiques de chaque module de fournisseur. Ces caractéristiques spécifiques au NPI peuvent inclure des éléments tels que la version (ou les versions) du NPI pris en charge par un module de fournisseur, ou qui adresse les familles ou protocoles pris en charge par un module fournisseur. Un module client peut utiliser les informations contenues dans la structure des caractéristiques du client d’un module fournisseur pour déterminer s’il sera attaché au module fournisseur. Si un NPI ne définit pas de caractéristiques de fournisseur spécifiques à un NPI, cette structure n’est pas obligatoire.

  • Zéro ou plusieurs fonctions de rappel de module client. Une fois qu’un module fournisseur s’est correctement attaché à un module client, le module fournisseur peut accéder aux fonctionnalités du module client en appelant les fonctions de rappel du module client.

  • Une ou plusieurs fonctions de module fournisseur. Une fois qu’un module client s’est correctement attaché à un module fournisseur, le module client peut accéder aux fonctionnalités du module fournisseur en appelant les fonctions du module fournisseur.

  • Structure de table de répartition du client qui contient des pointeurs de fonction vers chacune des fonctions de rappel du module client. Si un NPI ne définit aucune fonction de rappel de module client, cette structure n’est pas obligatoire.

  • Structure de table de répartition du fournisseur qui contient des pointeurs de fonction vers chacune des fonctions de module de fournisseur.

Un module client qui prend en charge un NPI particulier utilise les éléments définis par l’indicateur de performance réseau pour implémenter le côté client de l’interface. De même, un module fournisseur qui prend en charge un NPI particulier utilise les éléments définis par l’indicateur de performance réseau pour implémenter le côté fournisseur de l’interface.

Tous les éléments définis par un NPI sont opaques à la RMN, à l’exception de l’identificateur NPI. La RMN utilise l’identificateur NPI pour déterminer quels modules clients doivent être attachés à quels modules de fournisseur.