Brevet FR2698189A1 — publié le 19940520

i OUTIL DE SIMULA TION D'UN CODE DE RESEA U. La présente invention concerne un outil de simulation d'un code de couches de communication d'un réseau qu'on appellera, pour simplifier, code de réseau (Networking code, en anglais) dans la suite du texte Elle est notamment applicable à la simulation d'un code exécutable dans un processeur de système informatique gérant des échanges d'informations avec les différentes stations d'un réseau, ce réseau pouvant être par exemple un réseau de type FDDI (normalisé à l'ANSI, sous la référence io X 3 T 9-5 et à 1 ' I S O, Organisation internationale de normalisation). On sait que les réseaux de communication sont constitués par une pluralité de terminaux ou stations reliés entre eux par une liaison de transmission comprenant un support de transmission qui peut être constitué par exemple par des fibres optiques, dans le cas d'un réseau de type FDDI Un ordinateur relié à un tel réseau est considéré comme un terminal. On sait que de nombreux réseaux téléinformatiques et télématiques modernes fonctionnent suivant un même modèle de référence connu sous le nom de modèle de référence OSI D'autres réseaux peuvent également fonctionner sur d'autres modèles qui restent cependant voisins du modèle de référence OSI, en ce qui concerne la définition de l'architecture de ces réseaux sous forme de couches normalisées (il en est ainsi des réseaux TCP-IP, par exemple) Ainsi, dans le modèle OSI, l'architecture est constituée par l'empilement de sept couches d'activités, la couche la plus basse (couche 1) correspondant à la transmission physique des signaux entre les différents systèmes, au travers du support physique d'interconnexion (fibres optiques) alors que la couche supérieure (couche 7) correspond aux fonctions réalisées par les programmes d'application et les utilisateurs du réseau téléinformatique considéré. Le modèle OSI définit également les concepts permettant de décrire le fonctionnement de chaque couche On connaît, par ailleurs des mécanismes définissant les relations entre couches adjacentes, par exemple celui appelé "STREAMS" par la Société ATT et défini plus précisément dans des documents mentionnés dans la suite du texte. La tendance du développement technologique des réseaux, l'utilisation de terminaux de plus en plus nombreux, conduisent à développer au sein même des ordinateurs, des processeurs de communication programmés, ce qui permet ainsi de réduire la charge de l'unité centrale de l'ordinateur en effectuant une partie de la gestion des communication de ce dernier avec les autres stations du réseau. Par ailleurs, étant donné le développement extrêmement rapide des réseaux de communication ainsi que des systèmes informatiques, on est conduit à connecter à un même réseau des ordinateurs de type différents utilisant des systèmes d'exploitation (Operating System) différents. Le but d'un processeur de communication, qu'on peut également appeler système de transmission de données ou dispositif passerelle de connexion est d'adapter les conditions de transmission des informations sur le bus d'un ordinateur, aux conditions de transmission sur le réseau, ces conditions de transmission étant totalement différentes Par ailleurs, ce processeur de communication permet de faire dialoguer des systèmes d'exploitation d'ordinateurs différents entre eux En particulier, il permet de faire dialoguer les différentes couches de communication du système d'exploitation d'un premier ordinateur avec les différentes couches de communication des systèmes d'exploitation d'autres ordinateurs connectés au même réseau. Le processeur de communication doit donc comporter, au sein même de son système d'exploitation un code de couches de communication lui permettant de dialoguer tant avec le système d'exprôitation de l'ordinateur auquel il est relié, qu'avec les autres ordinateurs connectés au réseau, par exemple de type FDDI. On connait par exemple un tel processeur de communication, encore appelé système de transmission de données. Un tel processeur de communication, appelé NCC, permet d'assurer la gestion du transfert des données entre un ordinateur HOST muni d'un bus interne PSB dont le système d'exploitation est désigné par OS, et un réseau RE, par exemple de type FDDI Le bus PSB est par exemple un bus dit MULTIBUSII (marque déposée par la Société INTEL) normalisé suivant la norme IEEE 1296 (Institute of Electrical and electronic engineers). Le processeur de communication NCC comprend trois parties essentielles qui sont les suivantes: la première partie, appelée GPU (sigle anglais de General Purpose Unit) est par exemple du modèle décrit dans la demande de brevet NI 91 08908 déposée le 15 07 91 par BULL S A, sous le titre "Dispositif universel de couplage d'un bus d'ordinateur à un contrôleur d'un groupe de périphériques" Cette partie est munie d'un système d'exploitation par exemple du type décrit dans la demande NO 9108907 déposée le même jour que précédemment, par la même demanderesse, sous le titre "Système d'exploitation pour dispositif universel de couplage d'un bus d'ordinateur à une liaison spécifique d'un réseau" Le but de cette partie GPU est d'assurer d'une part l'initialisation de l'ensemble du coupleur NCC et d'autre part d'assurer le dialogue avec l'ordinateur HOST par l'intermédiaire du bus PSB, en respectant les normes d'utilisation de ce bus et en se conformant à la nature du système d'exploitation OS de l'ordinateur HOST Par ailleurs, la partie GPU assure le transfert physique des données entre le bus PSB et la seconde partie DEA, dite dispositif adaptateur qui est directement connectée au réseau RE La fonction de cette partie DEA est décrite ci-dessous. la partie DEA est par exemple du type décrit, soit dans le brevet NI 2 650 412 dont le titre est "dispositif passerelle de connexion d'un bus d'ordinateur à un réseau fibre optique en forme d'anneau' pour la partie matérielle, soit dans la demande NI 92 11054, pour ce qui concerne la partie logicielle Cette partie DEA assure la transmission physique des données entre la partie GPU et le réseau RE, ainsi que la connexion physique au réseau. la troisième partie, appelée PPA est en fait un coprocesseur de communication destiné plus particulièrement à la gestion des différentes couches de télécommunication du modèle OSI, ou encore du modèle TCP- IP Aussi bien en ce qui concerne le modèle OSI, que TCP-IP, la partie PPA assure la gestion des couches de communication C 4, C 3, C 2, c'est à dire, respectivement des couches de transport, de réseau, et de liaison de données. Les couches de communication C 2 à C 4 communiquent entre elles par l'intermédiaire de fonctions primitives permettant à deux couches voisines de dialoguer entre elles Ainsi les deux couches C 2 et C 3 communiquent entre elles par l'intermédiaire de l'ensemble de fonctions ST 2, alors que les couches C 3 et C 4 communiquent par l'intermédiaire de l'ensemble de fonctions ST 3 Par ailleurs C 4 communique avec le monde extérieur c'est à dire par exemple avec des applications externes par l'intermédiaire d'une interface SH. Dans une forme de réalisation préférée dans l'invention, les ensembles de fonctions ST 2, ST 3, SH sont des fonctions connues dans la pratique courante sous le nom de STREAMS Ces fonctions standard sont par exemple définies dans les documents suivants Unix Système V Release 4 STREAMS Programmer's Guide, ATT issue Unix System V Release 3 2 STREAMS Programmer's guide, ATT (ISBN: -13-944810-1): 1989. Dans l'exemple de réalisation montré à la figure 1, lorsque l'ordinateur HOST envoie un message vers le réseau RE, ou bien lorsqu'un message provient du réseau RE, celui-ci transite vers les couches C 2 à C 4, par l'intermédiaire d'une mémoire Fi Fo, à savoir FFJ, alors que ce message est transmis vers le dispositif adaptateur DEA, dans le premier cas ou vers GPU dans le second cas, depuis la partie PPA par l'intermédiaire de la mémoire Fi Fo, FF 2 Lorsqu'il s'agit d'établir une demande de connexion, provenant de l'ordinateur HOST, cette demande passe par l'intermédiaire de l'interface SH, alors que une fois la connexion établie, lorsqu'il s'agit d'envoyer des messages vers tout ou partie des stations connectées au réseau, ceux ci passent directement dans les couches C 4 à C 2. L'ensemble constitué par les couches de communication C 2 à C 4 et par les différentes fonctions ST 2, ST 3 et SH, ainsi que par le système d'exploitation associé (celui de la partie PPA), constitue ce que l'on désigne par code de couches de communication CC, ou code de réseau ou encore noyau de communication. Dans la pratique courante, lorsque l'on met au point des processeurs de communication tel que NCC, il est nécessaire d'attendre que le support matériel soit réalisé pour mettre au point le code de réseau, ce qui entraîne une perte de temps La mise au point en est d'autant retardée. La présente invention permet de remédier à ces inconvénients en portant le noyau de communication CC sur un ordinateur extérieur et en considérant ce noyau comme une application pour le système d'exploitation de cette machine. Selon l'invention, l'outil de simulation d'un code de couches de communication d'accès à un réseau, code exécutable dans tout processeur de communication de système informatique, gérant les échanges d'informations sur le réseau, est caractérisé en ce que le code est porté dans un ordinateur extérieur au système, l'outil constituant une application pour le système d'exploitation de l'ordinateur en étant considéré comme un noyau virtuel, et comprenant au moins: le code de couches de communication non modifié et compilé dans le langage interne de l'ordinateur, les services de base pour le noyau virtuel relié au dit code, des librairies d'accès au code pour toutes les applications de test de ce dernier. 3 o D'autres caractéristiques et avantages de la présente invention apparaitront dans la description suivante donnée à titre d'exemple non limitatif et en se référant aux dessins annexés. Sur ces dessins La figure 1 rappelle ce que sont les différents éléments constitutifs essentiels d'un processeur de communication, La figure 2 montre les éléments constitutifs essentiels de l'outil de simulation selon l'invention, La figure 3 montre plus en détail un mode de réalisation de l'invention dont les éléments constitutifs essentiels montrés à la figure 2 sont relatifs à la mise au point d'un processeur de communication pouvant utiliser n'importe quel type de système d'exploitation, La figure 4 montre un mode de réalisation particulier de l'outil de simulation selon l'invention, applicable plus particulièrement à la mise au point du code CC de la partie PPA montrée à la figure 1. On se reporte à la figure 2 qui montre les éléments constitutifs essentiels de l'outil de simulation selon l'invention. L'outil de simulation, que l'on désigne plus volontiers sous le nom de environnement de simulation", à savoir ES est porté sur une machine destinée par exemple à la mise au point de logiciels de divers types, machine appelée ORD dont le système d'exploitation est désigné par NY. Dans un exemple de réalisation préféré de l'invention, aussi bien NY que ES fonctionnent sous système UNIX, défini par ATT, et désormais largement répandu. L'environnement de simulation ES est considéré par NY comme une application et se situe par conséquent en dehors du système d'exploitation lui-même Ainsi, si, lors de la mise au point de l'environnement de simulation ES, survient une erreur, celle-ci n'affecte que cette même application et par conséquent, la machine ORD peut continuer à tourner avec son système d'exploitation NY et rester disponible pour la mise au point d'autres applications. L'environnement de simulation ES comprend un noyau central CC qui reproduit les couches de communication, par exemple C 2 à C 4 qui sont montrées à la figure 1 Ces couches de communication CC comportent exactement les mêmes lignes de code que celles qui figurent dans la partie PPA de la figure 1 La seule différence est que ces couches de communication sont compilées dans le langage interne propre à la machine ORD. Les couches de communication incluses dans CC sont celles que veut simuler et tester l'utilisateur Elles sont de type quelconque, par exemple de type OSI, ou TCP-IP, LAP-D, etc Elles peuvent varier au cours du temps, puisque l'utilisateur peut avoir la nécessité de mettre au point des codes de réseau de divers types, suivant les besoins qu'il a à un moment déterminé Bien entendu, à un même moment, le noyau CC peut contenir des couches de communication de types différents, ou n'en contenir aucune. L'environnement ES comprend également un configurateur CONFIG destiné à mettre en route le noyau CC Ce dernier peut communiquer avec les applications de test Ai,, Ai, An extérieures à ES par l'intermédiaire respectivement des librairies d'application Li, Lj, Lm, appartenant elles aussi à ES, et des librairies 11, lk, lp appartenant à Ai, Ai, An. L'ensemble de ces librairies (Li à Lm, Il à lp) contient des systèmes d'appel 01,,Ok, Op, conformes au standard UNIX. Le nombre m de librairies de ES (Li à Lm) est généralement différent du nombre p de librairies Il à Ip lui même différent du nombre n d'applications Ai à An. En effet, plusieurs applications différentes telles que Ai et A 2 à la figure 2 peuvent posséder des librairies identiques, ici 11, communiquant avec la même librairie Li, ce qui définit le système d'appel 01. A la figure 2, on a supposé que Ai avait une librairie Lk communiquant avec Lj, ce qui définit le système d'appel Ok, alors que An possède la librairie lp communiquant avec la librairie Lm, ce qui définit le système d'appel Op. Au cas o une application Ai cherche à communiquer avec l'environnement de simulation ES par l'intermédiaire du système d'appel Ok, et qu'elle ne reçoit aucune réponse de la part de ES, alors l'appel est renvoyé sur le système d'exploitation central NY de la machine ORD, ainsi qu'en témoignent par exemple les flèches Fi,, Fi,, Fn, à la figure 2. ceci est le cas, par exemple, lorsque Ai cherche à obtenir l'ouverture d'un fichier, ce que ne fait pas CC. L'environnement de simulation ES offre un environnement pour les applications de test suivantes: les applications de test unitaire des interfaces de type STREAMS, le terme unitaire signifiant ici qu'on cherche à tester une interface STREAMS déterminée, les applications de test unitaire de couches de protocole de communicationle terme unitaire signifiant ici qu'on cherche à tester une couche déterminée, les applications de test d'un empilement de couches, autrement dit, les applications de simulation du fonctionnement d'un réseau. L'environnement ES est configurable Son noyau CC est lancé par le configurateur CONFIG Il peut l'être sous le contrôle d'un débogueur (debugger), situé dans NY. L'environnement ES fournit un accès dynamique à toutes les applications de test et rend la simulation transparente pour les différentes couches du noyau CC, puisqu'on ne touche ni à une seule ligne de code de ce dernier, ni à une ligne de chacune de ses applications. Les applications de test peuvent être démarrées soit directement à partir d'un langage de commande UNIX, ce qui est représenté à la figure 2 par les différents systèmes d'appel O 1 à Op, soit encore par un metteur au point d'application standard de type UNIX (débogueur quelconque, fourni par NY, sous UNIX, différent de celui mentionné ci-dessus). L'exécution d'une simulation du code CC est appelée une session de simulation et chacune des applications de test peut se connecter dynamiquement à une session de simulation Par ailleurs, plusieurs sessions de simulation peuvent coexister simultanément sur le même environnement ES. Chacun des appels système 01, Ok, Op, est conforme à la sémantique d'un appel système STREAMS sous UNIX En d'autres termes, on peut dire que l'on réalise une émulation des appels système UNIX sur l'environnement de simulation ES, ou encore que les applications Ai à An communiquent avec l'environnement de simulation ES comme s'il s'agissait d'un véritable système UNIX. On se reporte à la figure 3 qui montre un premier exemple de réalisation de l'environnement de simulation ES montré à la figure 2 A cet égard, on suppose que l'on a affaire à trois applications Ai, A 2, A 3. L'application Ai est une application de simulation d'un réseau Elle simule donc des messages provenant d'un réseau, messages conformes au protocole en application sur ce réseau. L'application A 2 est une application de test pour le standard XTI défini par ATT XTI est un standard d'interface entre une couche de niveau 4 (transport) et une application utilisateur quelconque (Process User). L'application A 3 est une application de test utilisant les appels système standard STREAMS On voit donc que ces applications sont, soit des applications écrites spécifiquement par l'utilisateur, par exemple l'application Ai, soit des applications standard UNIX, telles que les applications A 2 et A 3. Les applications Ai à A 3 peuvent accéder à une session de simulation par l'intermédiaire des librairies spécifiques, Li, L 2 et L 3 appartenant à ES. On a supposé ici que Ai, A 2, A 3 possédaient respectivement les librairies 11, 12, 13 associées respectivement aux système d'appels 01, 02, 03 et aux librairies Li, L 2, L 3 et ce, pour simplifier Chacune de ces librairies fournit à l'application correspondante un ensemble de fonctions lui permettant de communiquer avec le noyau virtuel CC Le dialogue des applications avec celui-ci est basé sur un mécanisme UNIX, à savoir un mécanisme IPC A cet effet, chacune des librairies Li à L 3 comprend une sous-librairie, respectivement L Ci, LC 2 et LC 3, dites librairie client IPC. Ce mécanisme, transparent pour l'application permet à l'utilisateur de celle-ci d'identifier la session de simulation à laquelle il veut accéder (On rappelle que plusieurs sessions peuvent avoir lieu simultanément pour un même noyau virtuel CC) La couche immédiatement supérieure au mécanisme IPC est une couche intermédiaire qui rend la couche basse de type IPC invisible pour l'application A cet effet, les deux librairies L 2 et L 3 sont munies chacune respectivement d'une sous- librairie, à savoir L 52 et L 53 fournissant par exemple des tests spécifiques pour les interfaces STREAMS. La librairie L 2 comprend de plus une sous-librairie LX 2 qui est spécifique des applications de test XTI Par ailleurs, la librairie Li comprend une sous-librairie LT 1, dite librairie transparente qui contient les moyens d'accès vers l'environnement de simulation ES permettant de simuler des messages provenant d'un type de réseau particulier déterminé, que l'on cherche à simuler. 1 S Le configurateur CONFIG déclenche l'exécution du noyau virtuel CC, que l'on cherche à simuler Ce dernier est déclenché comme n'importe quelle application de type UNIX Ce configurateur CONFIG déclenche par ailleurs des applications de service, à savoir le gestionnaire d'horloge GH, le gestionnaire d'interruption SI - Le configurateur CONFIG lit ses directives à partir d'un fichier de configuration o sont indiquées toutes les opérations possibles que l'on désire lancer lors d'une session de simulation. Le noyau virtuel CC comprend de plus un certain nombre de services, à savoir: les services de connexion d'application formés par le serveur IPCS (ou serveur de type IPC, défini dans UNIX) et un répartiteur R (dispatcher R), permettant à chaque application de trouver le point d'entrée vers la couche de communication de CC à laquelle elle désire accéder: en effet, suivant le type de couches de communication qu'on cherche à mettre au point, les points d'entrée sont différents. L'ensemble des services SCC qui fournissent le système d'exploitation de base du noyau CC. il Des services simulant les services matériels qui sont ceux utilisés par le processeur de communication utilisant le code communication CC que l'on cherche à simuler Ces services matériels peuvent être constitués par exemple par un gestionnaire d'interruption qui simule des interruptions matérielles, un gestionnaire d'horloge qui simule des fonctions de gestion de temps (timing fonctions), des services d'allocations de mémoire, ainsi que des services d'inhibition (inhibition services). des services SMS de mécanisme de type STREAMS définis dans les normes relatives à ces mêmes STREAMS. Le noyau virtuel CC comporte en outre tout un ensemble d'éléments composant ce que l'on peut définir comme une architecture de type STREAMS, ces éléments étant: l'interface STREAMS SH qui est strictement analogue à l'interface SH de l'ensemble de couches de communication de la partie PPA de la figure 1. l'élément timod qui est un module STREAMS lié à XTI, l'ensemble LPC de modules de protocoles de communication que l'on cherche à tester, à un moment donné A un autre moment, cet ensemble peut être de nature différentes (TCP-IP, ISO, LAP-D, etc) Ces modules sont reliés ensemble suivant des ordres fournis dans un fichier de code en langage C 2 + fournis par l'utilisateur Ces différents modules ignorent de fait qu'ils sont exécutés dans un environnement de simulation Ils se comportent donc exactement comme s'ils étaient dans un environnement réel. Un ensemble LT de modules spécifiques de chacun des tests que l'on cherche à mettre en oeuvre Ils sont liés entre eux de la même façon que les modules de protocole LPC. Les éléments énoncés ci-dessus communiquent entre eux (flèches en traits épais à la figure 3) par des services streams SMS (définis dans la norme) Ainsi SH communique avec timod, timod avec LPC et LT avec LPC, par ces services SMS. Ainsi que l'on peut le voir à la figure 3, les échanges d'informations et les dialogues entre les différents éléments constituant l'environnement de simulation se font dans les deux sens, ce qui est illustré par l'ensemble des flèches à double sens qui relient respectivement L 3, L 2, Li à CC s d'une part, et entre le répartiteur R et l'interface STREAMS SH d'autre part On voit également que la communication entre chacune des applications Ai à A 3, par l'intermédiaire des librairies Il à 13, Li à L 3 et par le serveur IPCS et le répartiteur R passe par l'intermédiaire de l'interface STREAMS SH Le dialogue entre SH et R se fait également dans les deux sens ainsi qu'il est illustré par les deux flèches à double sens qui sont à l'intérieur du noyau virtuel CC, flèches symbolisant les tests STREAMS et XTI d'une part et les tests de simulation de réseaux d'autre part. La figure 4 montre un exemple particulier de réalisation de la figure 3, plus particulièrement destinée à simuler le fonctionnement du code de communication de l'élément PPA de la figure 1. La plupart des éléments constitutifs essentiels de la figure 3 se retrouvent dans la figure 4, à savoir les applications Ai à A 3 avec leurs librairies correspondantes Li à L 3, ainsi que les éléments constitutifs essentiels du code de communication CC, à savoir le serveur IPCS, le répartiteur R, le service du noyau virtuel SCC, l'interface STREAMS SH, l'élément timod, l'ensemble LPC L'environnement de simulation montré à la figure 4 comporte en plus une application A 4, appelée application hôte, accompagnée des librairies qui lui sont associées à savoir sa propre librairie 14, d'une part et de L 4 pour ES composée d'une sous-librairie LC 4 analogue aux sous-librairies L Ci à LC 3, et d'une librairie transparente LT 4 simulant les messages que l'ordinateur HOST peut envoyer au réseau RE, par l'intermédiaire des parties GPU, PPA et DEA montrées à la figure 1. Par ailleurs, le noyau virtuel CC comprend un gestionnaire de Fi Fo et les deux Fi Fo FF 1 et FF 2 qui simulent très exactement les Fi Fo FF 1 et FF 2 ayant la même dénomination à la figure 1 A la figure 4, le noyau virtuel CC comprend de plus une interface OH 1 disposée entre l'interface STREAMS SH et l'élément timod. Par ailleurs le noyau virtuel CC de la figure 4 comprend un logiciel d'écriture de Fi Fo, FD. Les éléments SH, Hi, tmod, LPC, FD communiquent respectivement entre eux par l'intermédiaire de services STREAMS, SMS analogues à ceux de la figure 3 Par ailleurs le logiciel d'écriture Fi Fo FD communique directement avec l'élément Fi Fo FF 2 alors que l'élément FF 1 communique directement avec l'interface hôte HI. Les applications Ai et A 4, communiquent avec le noyau virtuel CC par l'intermédiaire des librairies Il et 14, Li et L 4, des éléments IPC et R (de la même manière que la figure 3) puis elles communiquent directement avec le gestionnaire de Fi Fo GF Par contre, en ce qui concerne les applications A 2 et A 3, la façon dont elles communiquent avec le noyau virtuel CC est totalement identique à celle indiquée à la figure 3 Par conséquent, dans ce cas, le répartiteur R communique directement avec l'interface STREAMS SH. Par ailleurs les services SCC du noyau virtuel comprennent en outre un gestionnaire de tâches GT qui comprend des fonctionnalités propres au système d'exploitation qui est réellement mis en oeuvre dans l'élément PPA Dans l'exemple de réalisation qui est décrit ici, ces fonctionnalités appartiennent au logiciel de communication CNS mis au point par la demanderesse. Les autres éléments CONFIG, GH, Si, RA sont strictement identiques à ceux de la figure 3. L'interface hôte HI est un multiplexeur dont 1 e rôle est d'extraire des messages depuis la Fi Fo de lecture FF 1 Ces messages transportent des primitives d'un format spécifique à ce processeur NCC Certains de ces messages sont dirigés soit à travers l'interface SH vers une tâche de type CNS en attente de connexion, soit dirigés vers les LPC. Ainsi qu'il a été dit plus haut le logiciel d'écriture FD écrit des messages dans la Fi Fo d'écriture FF 2. Les logiciels de protocole de communication LPC fonctionnent de la même manière qu'à la figure 3, ou sont chaînés par une tâche de configuration définie par des messages de configuration reçus de l'application A 4 lorsque celle-ci est simulée. Revendications: 1 Outil de simulation (ES) d'un code de couches de communication (CC) d'accès à au moins un réseau (RE), code exécutable dans tout processeur de communication (NCC) de système informatique, gérant les échanges d'informations sur le réseau, caractérisé en ce que le code est porté dans un ordinateur (ORD) extérieur au systèmel'outil constituant une application pour le système d'exploitation de ce dernier (NY) en étant considéré comme un noyau virtuel (CC) et comprenant au moins: le code de couches de communication non modifié et compilé dans le langage interne de l'ordinateur (CC), les services de base pour le noyau virtuel reliés au dit code (CONFIG, RA, Si, GH), un nombre m de librairies (Li à Lm) d'accès au code (CC) pour un nombre N d'applications de tests (Ai à An) de ce dernier. 2 Outil de simulation selon la revendication 1 caractérisé en ce que chaque application comprend une librairie d'accès vers l'extérieur pouvant communiquer avec l'une des m librairies de l'outil en définissant avec celle-ci un système d'appels, le nombre p de librairie d'application différentes étant égal ou inférieur au nombre m de librairies d'accès au code, plusieurs applications étant susceptibles d'avoir des librairies d'application identiques, le nombre de systèmes d'appel différents étant lui aussi égal à p. 3 Outil de simulation selon la revendication 1 caractérisé en ce que les applications de test comprennent: des applications de test d'interfaces déterminées entre différentes couches de communication du réseau (A 2, A 3) des applications de test de chacune des couches de communication, des applications (Ai) de test de l'empilement des couches de communication. 4 outil de simulation selon la revendication 3, caractérisé en ce que chaque librairie d'accès au code (Li à L 3) comprend une première sous- librairie (L Ci, LC 2, LC 3) comprenant un mécanisme permettant à l'utilisateur de l'outil d'identifier la session de simulation à laquelle il veut accéder, plusieurs sessions de simulation pouvant coexister sur l'outil de simulation, et une seconde sous-librairie contenant des tests spécifiques d'interfaces entre les dites couches de communication. 5 Outil selon la revendication 4 caractérisé en ce que toute librairie d'accès au code (Li) communiquant avec des applications de test d'empilement de couches (Ai) contient des moyens d'accès au code permettant de simuler des messages provenant du réseau, contenus dans une sous-librairie. 6 Outil de communication (ES) selon la revendication 1 caractérisé en ce que les services de base comprennent un configurateur déclenchant son exécution. 7 Outil de communication selon les revendications 2 et 3, caractérisé en ce que les appels systèmes sont conformes au système UNIX, les interfaces entre différentes couches de communication étant de type STREAMS.