Brevet FR2998748A1 — publié le 20140530

DISPOSITIF ET PROCEDE DE RETRANSMISSION DE DONNEES DANS UN COMMUTATEUR RESEAU Domaine de l'invention L'invention concerne le domaine de la transmission de données dans les réseaux de communication et en particulier dans les réseaux distribués temps réel critique. Etat de la Technique Dans les systèmes distribués temps réel critique, 15 les flux de données réseau comportant un ensemble de trames réseaux ont des contraintes de bout en bout à respecter entre la production des données depuis un équipement émetteur et la consommation des données par un équipement récepteur. Lors de la conception de tels 20 systèmes, ces contraintes doivent être respectées et les ressources réseaux doivent être correctement dimensionnées par rapport aux besoins applicatifs. Selon l'architecture utilisée pour mettre en oeuvre la transmission des flux de données, le dimensionnement 25 peut porter : - sur la durée des plages d'émission allouées aux différents équipements du système distribué, lorsque la topologie réseau nécessite la mise en place d'un arbitrage des accès des équipements au réseau de 30 communication, comme par exemple sur un bus de données 10 2 2998748 géré via une politique d'accès de type accès multiple réparti dans le temps connu sous l'anglicisme « Time Division Multiple Access » (TDMA) ; ou - sur la taille des files d'attentes au sein des 5 commutateurs réseau lorsque le fonctionnement du système s'appuie sur un réseau commuté, comme par exemple dans le cas de l'Ethernet commuté full-duplex. Toutefois, pour concevoir des systèmes distribués temps réel critique qui contiennent au moins trois noeuds réseau avec les architectures existantes, il est nécessaire de surdimensionner les ressources réseau quelque soit le dimensionnement déjà réalisé pour satisfaire aux contraintes de bout en bout, le surdimensionnement augmentant rapidement avec le nombre de noeuds. En effet, le dimensionnement des plages d'émission, lorsqu'un arbitrage vis-à-vis de l'accès au réseau par un équipement est nécessaire, s'appuie sur l'hypothèse d'une horloge globale commune entre les différents équipements pour pouvoir partager correctement l'accès aux ressources réseau. Or, chaque équipement disposant de sa propre horloge, l'horloge globale commune est approximée en définissant une borne acceptable pour les différentes horloges des équipements, appelée précision de synchronisation. Plus la précision est importante, plus les incertitudes sur les instants d'échange de données sont faibles et donc meilleure est l'utilisation de la bande passante. Lorsque le nombre d'équipements grandit, la précision diminue et l'exploitation de la bande passante diminue nécessitant alors un 3 2998748 surdimensionnement des capacités réseau. Dans le cas du dimensionnement des files d'attentes de commutateurs réseau, il existe un très grand nombre d'états possibles de ces files d'attentes des 5 différents commutateurs du réseau lors de la vérification du respect des contraintes de bout en bout pour l'ensemble des flux de données applicatifs. La solution vis-à-vis de la taille nécessaire de ces files est soit largement pessimiste, et nécessitant 10 alors un surdimensionnement important des ressources, ou bien peut être exacte mais sur des tailles de système relativement faibles. Ainsi, les capacités d'un réseau de communication nécessaires pour l'exécution des systèmes distribués temps réel 15 critiques doivent être surdimensionnées, ce qui augmente le coût de mise en oeuvre de tels systèmes. Par ailleurs, indépendamment de la politique de retransmission utilisée au sein d'un commutateur, que 20 ce soit en mode direct ou différé par exemple, les commutateurs actuels ne considèrent pas le contenu applicatif des trames réseaux. Ainsi, la partie applicative d'une trame réseau est vue comme une boite noire dont le contenu est intégralement retransmis sur 25 un ensemble de ports du commutateur réseau, en fonction du fait qu'il s'agisse d'une trame de type unicast, multicast ou broadcast. Or, l'intégralité du contenu applicatif d'une trame n'intéresse pas forcément l'ensemble des équipements destinataires 30 d'une trame de type multicast ou broadcast. Par exemple, il est possible que les destinataires de 4 2998748 trames réseau au sein d'un domaine réseau tel qu'un ensemble d'équipements connectés en bus sur un port du commutateur, n'utilisent qu'une partie du contenu applicatif des trames reçues par le commutateur. De 5 plus, chaque partie du contenu applicatif d'une trame réseau utile à un équipement peut être différent d'un équipement à l'autre. Il est également possible qu'une partie du contenu applicatif d'une trame ne soit utilisée par aucun des équipements destinataires d'un 10 domaine réseau, mais en revanche par des équipements destinataires d'un autre domaine réseau, justifiant du fait dans les solutions actuelles l'inclusion de données inutiles pour un domaine réseau, cette partie de trame occupant alors inutilement de la bande 15 passante du réseau. En conséquence, l'efficacité réelle de la transmission réseau, qui est le rapport entre la quantité de données applicatives transmises et la taille de la trame, est donc réduite. Par ailleurs, la latence d'envoi d'une telle trame est 20 augmentée de manière également inutile, cela étant particulièrement accentué si la somme des données réellement utiles au domaine réseau constitué est réduite. 25 Actuellement, pour assurer le fait que les données présentes dans une trame soient intégralement utiles à un domaine réseau, il faut construire un ensemble de trames réseau contenant chacune uniquement les données nécessaires au domaine réseau considéré. 30 Cela nécessite d'augmenter le nombre de trames émises avec comme conséquence de diminuer leur taille mais 5 2998748 également d'augmenter le nombre de préambules et postambules des trames. De même, le nombre de périodes d'inactivité minimale entre deux trames, périodes appelées en anglais « interframe gap », est également 5 augmenté. Pour toutes ces raisons, l'utilisation de la bande passante réseau est donc diminuée. Ainsi, les méthodes actuelles de retransmission de données par un commutateur réseau entrainent une 10 sous-utilisation des capacités des réseaux connectés aux commutateurs. Il existe alors le besoin d'une solution qui permette à la fois de vérifier le respect de 15 contraintes de bout en bout pour la diffusion de données tout en exploitant au mieux les capacités d'un réseau temps réel distribué. La présente invention répond à ce besoin. 20 Résumé de l'invention Un objet de la présente invention est de fournir 25 un procédé permettant de garantir que seules les données nécessaires à un domaine réseau d'un commutateur réseau transitent sur ce même domaine réseau. 30 La présente invention permet de vérifier le respect des contraintes temporelles de bout en bout 6 2998748 associées aux données et d'exploiter au mieux les capacités du réseau. 5 Avantageusement, l'invention permet la retransmission de trames réseau via un désassemblage des trames reçues et un réassemblage des données applicatives au sein de nouvelles trames réseaux en s'appuyant sur la connaissance (acquise de manière 10 statique ou dynamique) de la structuration de la charge applicative des trames et les besoins (acquis de manière statique) en termes de consommation par chacun des domaines réseaux connecté à un commutateur réseau. 15 Avantageusement, l'invention permet d'augmenter le débit réseau atteint. Ainsi pour des données applicatives issues de domaines réseau potentiellement différents, éventuellement reçus à instants 20 différents, ces données peuvent être utilisées pour former de nouvelles trames. Avantageusement, l'invention permet de construire des paquets d'une taille capable d'exploiter au mieux 25 les capacités du réseau tout en assurant le fait que les données présentes dans une trame soient intégralement utiles à un domaine réseau. Avantageusement, des émissions successives de 30 trames réseau de petite taille peuvent être remplacées par l'émission de trames de taille plus importante permettant une efficacité optimum au niveau applicatif de la transmission ainsi obtenue. Un autre objet de la présente invention est de 5 pouvoir ajouter facilement des équipements sur un domaine réseau. La récupération des valeurs des données utiles à l'équipement ajouté se fait uniquement par l'envoi d'une requête au commutateur réseau et non comme dans les solutions existantes par 10 l'envoi de requêtes à l'intégralité des équipements avec lesquelles l'équipement ajouté communique. Toujours avantageusement mais sans limitation, l'invention trouvera des applications dans les 15 domaines industriels nécessitant la résolution de calculs complexes et parallèles, par exemple de simulation numérique en mécanique de structure. En particulier, la présente invention trouve avantage pour ce type d'applications s'exécutant sur une grille 20 de calculs, c'est-à-dire des grappes de machines interconnectées par des réseaux haute performance relié par des commutateurs. Pour obtenir les résultats recherchés, un 25 procédé, un système et un produit programme d'ordinateur sont proposés. En particulier, dans un réseau de communication comprenant une pluralité de domaines réseaux 30 interconnectés par des commutateurs, un procédé mis en oeuvre par ordinateur pour transmettre des données d'un domaine réseau émetteur vers au moins un domaine 8 2998748 réseau récepteur, comprend les étapes de : recevoir sur un commutateur réseau au moins une trame entrante de données d'un domaine réseau émetteur; identifier dans la au moins une trame reçue les données correspondant à un ou plusieurs domaines réseaux destinataires; écrire chacune des dites données identifiées dans une zone mémoire assignée du commutateur réseau ; - construire au moins une trame sortante de données pour chaque domaine réseau destinataire, la dite au moins une trame sortante comprenant uniquement des données identifiées pour le dit domaine réseau destinataire; et - envoyer la dite au moins une trame sortante de données vers le dit domaine réseau destinataire. Dans une implémentation préférentielle, le procédé permet de recevoir une trame entrante sur au moins un port récepteur du commutateur réseau et d'envoyer les trames sortantes sur un ou plusieurs ports émetteurs du commutateur réseau. Dans un mode de réalisation, l'étape d'identification des données consiste à analyser la structure de la trame entrante et déterminer les champs correspondants aux données. Avantageusement, les champs des données peuvent 30 être de longueurs prédéfinies ou identifiés par un identifiant unique. 9 2998748 Dans un autre mode de réalisation, le procédé permet de transférer les données identifiées d'un ou plusieurs contrôleurs d'accès direct à la mémoire (DMA 5 selon l'acronyme anglais) vers chaque zone mémoire assignée du commutateur. Dans un autre mode de réalisation, le procédé permet de transférer chacune des données écrites vers 10 un ou plusieurs contrôleurs d'accès direct à la mémoire. Dans un autre mode de réalisation, l'étape de construire une trame sortante consiste à créer un en- 15 tête de trame et ajouter l'ensemble ou une partie des données stockées dans la zone mémoire assignée au domaine réseau correspondant. Dans un autre mode de réalisation, le procédé 20 permet de recevoir une requête d'envoi de données par un équipement d'un domaine réseau destinataire avant d'envoyer la trame sortante correspondante. Dans une variante, l'étape d'envoi des trames 25 sortantes est opérée à des instants pré-calculés. Avantageusement, le procédé permet que les étapes de construction de la trame sortante et d'envoi soient asynchrones des étapes de réception, d'identification 30 et d'écriture. 10 2998748 Avantageusement, le procédé permet de traiter des trames entrantes qui peuvent être des trames de type `multicast' ou 'broadcast' selon l'anglicisme consacré. Avantageusement, le procédé peut être opéré dans un réseau de communication par un système comprenant des moyens pour mettre en oeuvre toutes les étapes du procédé. Avantageusement, ce système est un commutateur réseau. Avantageusement, le procédé peut être mis en 15 oeuvre par ordinateur et disponible sous forme d'un produit programme d'ordinateur comprenant des instructions de code permettant d'effectuer toutes les étapes du procédé, lorsque ledit programme est exécuté sur un ordinateur. 20 Description des figures Différents aspects et avantages de l'invention 25 vont apparaitre en appui de la description d'un mode préféré d'implémentation de l'invention mais non limitatif, avec référence aux figures ci-dessous : La figure 1 est une représentation topologique d'une 30 infrastructure réseau dans laquelle implémenter avantageusement l'invention ; 5 10 11 2998748 La figure 2 est un schéma simplifié de la retransmission d'une donnée au sein d'un commutateur réseau selon la méthode de la présente invention ; 5 La figure 3 illustre un regroupement de données depuis des trames réseau provenant de domaines réseau différents selon la méthode de la présente invention ; 10 La figure 4 montre schématiquement l'architecture d'un commutateur réseau dans une implémentation préférentielle de l'invention ; La figure 5 montre un enchainement des étapes opérées 15 lors de la réception d'une trame par un commutateur réseau ; La figure 6 montre un enchainement des étapes opérées lors de l'émission d'une trame par un commutateur 20 réseau. Description détaillée de l'invention 25 L'invention s'applique avantageusement dans un réseau temps réel distribué critique (100) tel que montré schématiquement sur la figure 1. Le réseau (100) comprend une pluralité d'équipements (102, 104, 106, 108, 110, 112) interconnectés par des commutateurs (120, 130). Pour des raisons de simplicité de description et non de 12 2998748 limitation de l'invention, l'exemple de la figure 1 ne montre qu'un nombre fini d'équipements et de commutateurs, mais l'homme du métier appliquera les principes décrits pour la présente invention à un 5 réseau étendu comprenant une pluralité de noeuds, de commutateurs et différents types d'équipements. Un équipement peut-être tout type d'ordinateur ou autre unité constitué d'un processeur de calcul, tel qu'un microcontrôleur par exemple, et ayant une ou plusieurs 10 interfaces réseau, tel qu'une interface de type Ethernet par exemple. Certains équipements (102-i) peuvent être interconnectés via des brins réseau qui peuvent être des bus, d'autres équipements (104, 110, 112) peuvent 15 être directement connectés à un commutateur (120, 130). Cependant d'autres topologies réseau supportent les principes de la présente invention, tel que par exemple des commutateurs directement reliés entre eux (120-1, 130-2). 20 Les commutateurs réseau (120, 130) comprennent des ports réseau (120-0, 120-1, 120-2, 120-3) et (1300, 130-1, 130-2, 130-3). Chaque commutateur peut être équipé d'un nombre différents de ports réseaux, l'exemple montré sur la figure 1 n'étant que pour des 25 aspects de simplification et non de limitation. Les ports réseau peuvent être des ports récepteurs et/ou émetteurs permettant de connecter des brins réseaux pour communiquer avec les équipements. Un applicatif réparti sur un réseau temps réel 30 distribué comme celui de la figure 1, peut avoir des données produites par un équipement émetteur (102) 13 2998748 appartenant à un domaine réseau producteur, et devant être acheminées vers un ou plusieurs équipements récepteurs (106-1, 108-n, 110) qui peuvent appartenir à un ou plusieurs domaines réseau consommateur. Par 5 application des principes de l'invention, tels que nous allons les décrire plus en détail, la vérification du fait que les délais d'acheminement réels des données, noté Atréei, sont inférieures aux exigences de contrainte de bout en bout entre la 10 production des données et leur consommation (noté Atspec ) peut être réalisée. Des exemples non limitatifs d'applicatifs bénéficiant des principes de l'invention sont par exemple, des équipements électroniques embarqués au 15 sein d'un avion pour assurer le pilotage automatique ou la navigation, ou bien des équipements électroniques embarqués au sein d'un véhicule (train ou automobile) pour assurer la gestion de l'injection ou l'aide au freinage par exemple. 20 La figure 2 montre sur un schéma simplifié, un exemple de retransmission de données au sein d'un commutateur réseau selon la méthode de la présente invention. 25 Une trame réseau (202) provenant d'un domaine réseau producteur contient un entête et des données A et B. La trame est reçue sur un port récepteur (120-0) du commutateur réseau (120). La donnée A est consommée uniquement par un domaine réseau consommateur connecté 30 à un port émetteur (120-2) du commutateur réseau. La donnée B est consommée uniquement par un domaine 14 2998748 réseau consommateur connecté à un autre port émetteur (120-3) du même commutateur réseau. Selon les principes de l'invention, les données (A, B) vont être extraites de la trame réseau reçue (202) pour être 5 stockées indépendamment au sein d'une mémoire du commutateur réseau. Une nouvelle trame (204) contenant un entête et uniquement la donnée A va être constituée afin qu'elle soit émise par le port émetteur (120-2) couplé au domaine réseau consommateur de la donnée A. 10 De manière similaire, une autre trame (206) contenant un entête et uniquement la donnée B va être constituée afin qu'elle soit émise par le port émetteur (120-3) couplé au domaine réseau consommateur de la donnée B. Les nouvelles trames (204, 206) sont générées à partir 15 des valeurs des données A et B stockées dans la mémoire centrale du commutateur. Les données stockées dans la mémoire centrale du commutateur sont identifiées de manière unique. Un identifiant pour les données peut par exemple être un 20 nombre. Dans une première variante où il est possible de disposer d'une connaissance statique des trames reçues et de leur structure telle que l'offset et les longueurs des données dans chacune des trames, il n'est pas nécessaire d'inclure des identifiants 25 supplémentaires de données dans le format des trames. Dans une seconde variante, les trames reçues incluent un identifiant dédié à chaque donnée afin de permettre de les identifier dans la trame. Le commutateur utilise chaque identifiant pour construire 30 les transferts depuis le port de réception vers la mémoire centrale. 15 2998748 La figure 3 illustre un exemple de regroupement de données par domaine réseau consommateur selon la méthode de la présente invention pour des trames 5 réseau provenant de domaines réseau producteurs différents. Un commutateur réseau (120) reçoit sur un premier port (120-0) une première trame réseau (202) provenant d'un domaine réseau producteur et une seconde trame réseau (302) sur un second port (120-1). 10 La première trame contient un entête et des données A et B. La seconde trame contient un entête et des données C et D. Les données A et C sont consommées par un même domaine réseau consommateur connecté à un port émetteur (120-2) du commutateur réseau. Les données B 15 et D sont consommées par un même domaine réseau consommateur connecté à un autre port émetteur (120-3) du même commutateur réseau. Comme décrit pour l'exemple de la figure 2, selon les principes de l'invention, les données (A, B, C, D) 20 vont être extraites de chaque trame réseau pour être stockées indépendamment au sein d'une mémoire du commutateur réseau. Deux nouvelles trames vont être générées (304, 306) contenant un entête et respectivement les données appropriées (A, C) et (B, 25 D) pour être émises depuis le port émetteur correspondant au domaine réseau concerné. L'homme du métier appréciera que seuls deux exemples aient été choisis pour illustrer les principes de l'invention, mais que ceux-ci 30 s'appliquent pour construire tout type de trames à partir d'une ou plusieurs trames reçues. 16 2998748 De manière avantageuse, dans une variante, le procédé de l'invention permet au commutateur d'attendre de disposer d'un certain nombre de données utiles à un domaine réseau avant de constituer les 5 trames réseau nécessaires qui seront émises vers le domaine réseau destinataire. Cette attente peut également être en fonction du delta de temps calculé à priori avant l'exécution d'un système distribué temps réel, tout en respectant les contraintes temporelles 10 de bout en bout qui seraient spécifiées pour l'ensemble des flux concernés. Ainsi, cette capacité permet d'optimiser l'utilisation de la bande passante via l'empaquetage dans une même trame de données ayant des instants de 15 réémission proches, et donc d'éviter la construction et l'émission de plusieurs trames de plus petites tailles. Toujours avantageusement, la présente invention permet facilement l'ajout de nouveaux équipements dans 20 un système distribué puisque les données utiles à un nouvel équipement peuvent être disponibles directement sur le commutateur réseau sans impliquer de modifications des autres équipements. Un système distribué peut également être conçu 25 pour fonctionner selon les principes de l'invention où le commutateur reçoit des requêtes de demandes de données qu'il doit honorer, les différents équipements connectés au commutateur n'ayant dans ce cas pas besoin de connaître ni l'émetteur ni la localisation 30 des producteurs des données. La capture de l'état interne du système transitant par le réseau est 17 2998748 également possible par consultation des valeurs des données disponibles au niveau du commutateur réseau. Cela peut par exemple faciliter la définition d'états de sauvegarde d'un système en vue de sa restauration 5 si une erreur intervenait de manière ultérieure. De manière optionnelle, le procédé de l'invention peut être appliqué uniquement à un sous-ensemble des trames réseaux transitant par un commutateur réseau de données en utilisant un champ d'identification du type 10 de trame dans l'entête du protocole utilisé au niveau liaison du modèle OSI d'interconnexion en réseau des systèmes ouverts. Un exemple est d'utiliser le champ « type de protocole » de l'entête d'une trame Ethernet. Ainsi, un même commutateur réseau peut 15 traiter des trames selon un procédé de retransmission déjà connu et par ailleurs traiter des trames sur l'allocation par domaine réseau selon les principes de l'invention. 20 La figure 4 montre schématiquement l'architecture d'un commutateur réseau dans une implémentation préférentielle de l'invention. Un commutateur réseau (400) est constitué de 'n' ports émetteur/récepteur (404-1 à 404-n). Chaque port comporte un contrôleur 25 réseau (406-1 à 406-n). Le commutateur réseau comprend de plus une mémoire centrale (410) et d'un contrôleur principal (411). Chaque contrôleur réseau a sa propre capacité de transmission de trames réseau (noté Tx sur la figure), et sa propre capacité de réception de 30 trames réseau (noté Rx sur la figure). Chaque contrôleur réseau est de plus couplé à un contrôleur 18 2998748 d'accès direct à la mémoire (408-1 à 408-n) connu aussi sous l'anglicisme « Direct Memory Access (DMA) Controller». Le contrôleur DMA est en charge de faire les transferts de données de et vers la mémoire 5 centrale du commutateur et le contrôleur réseau, sous le contrôle du processeur (411). L'homme de l'art comprendra que l'architecture décrite est schématique afin d'illustrer le procédé de l'invention mais n'est en rien limitative de son 10 implémentation. En particulier, l'implémentation est dépendante des capacités du contrôleur DMA associé au contrôleur réseau. Ainsi, dans des variantes d'implémentation, un contrôleur DMA peut offrir une capacité à disperser ou assembler des données décrites 15 dans des requêtes DMA chainées. Dans une autre variante, pour pallier à l'absence de cette dernière fonctionnalité sur le contrôleur DMA associé au contrôleur réseau, un contrôleur DMA additionnel peut être couplé au contrôleur existant. 20 La mémoire centrale (410) stocke les données qui transitent via le commutateur réseau. La structure des trames reçues (402) est analysée au niveau liaison de données, pour que les données stockées soient réparties dans la mémoire centrale du commutateur, via 25 des transferts DMA (408-1) entre les contrôleurs réseau (406-1) et la mémoire centrale sous la responsabilité du contrôleur principal (411). Alternativement, cette analyse des trames reçues peut se faire à des niveaux supérieurs du niveau liaison de 30 données dans une variante d'implémentation au sein d'un routeur par exemple. 19 2998748 A partir des données présentes dans la mémoire centrale, les trames vont être constituées par le contrôleur principal, via les contrôleurs DMA (408-n) pour être émises (412) par les contrôleurs réseau 5 (406-n). Dans des variantes d'implémentation de la mémoire centrale, avantageusement la présente invention permet de différencier plusieurs valeurs de données, en 10 associant par exemple une date de mise à disposition souhaitée à des consommateurs, sans toutefois nécessiter la synchronisation des différentes bases de temps utilisées par les brins réseau. 15 Toujours avantageusement, afin de gérer les accès concurrents à une donnée, un tampon de stockage de l'ensemble des couples (valeur de la donnée, date de mise à disposition) d'une donnée peut être défini. 20 Avantageusement, la mémoire centrale peut être organisée en 'n' blocs mémoire, 'n' étant égal au nombre de contrôleurs réseau. Chaque bloc mémoire est de manière préférentielle contigu en mémoire afin de définir une unique région mémoire. Lors de la 25 réception d'une trame réseau par un contrôleur réseau, les accès mémoires sur la région mémoire dédiée à ce contrôleur sont en écriture, les accès sur les autres blocs mémoire étant bloqués pour interdire des opérations de lecture ou d'écriture. Lors de 30 l'émission d'une trame réseau, les accès mémoires sur l'ensemble des blocs mémoires du commutateur sont positionnés en lecture seulement. Ainsi, seul un 20 2998748 domaine réseau producteur d'une donnée est autorisé à la modifier, sécurisant les données échangées par le commutateur. 5 La figure 5 montre l'enchainement des étapes opérées lors de la réception d'une trame par un commutateur réseau. La réception d'une trame réseau est détectée (502) par le commutateur au niveau de la capacité de 10 réception (Rx) du contrôleur réseau. Cette détection se fait par exemple via la génération d'une interruption auprès du processeur ou suite à la consultation par le processeur de l'état d'un registre du contrôleur réseau. Le contrôleur principal (411) 15 identifie par quel procédé de retransmission la trame reçue doit être traitée, par le procédé de retransmission de la présente invention ou par un procédé alternatif. L'identification du procédé à sélectionner peut de manière préférentielle 20 s'implémenter en positionnant une valeur particulière dans le champ « type de protocole » d'une trame Ethernet, si par exemple le réseau sous-jacent utilise le protocole Ethernet au niveau liaison du modèle OSI. Dans une étape optionnelle (504), une surveillance 25 du trafic réseau reçu peut être mise en place. Par exemple, une connaissance statique des trames réseau à recevoir sur un port peut-être utilisée pour vérifier que la trame reçue a été émise par le bon équipement, dans un intervalle de temps calculé et avec une 30 structure applicative correcte. A l'étape suivante (506), le procédé teste si une 21 2998748 partie des données d'une trame reçue doit être recopiée sur d'autres ports réseau du commutateur devant émettre des trames contenant ces données. Si oui, des requêtes DMA de type « périphérique vers 5 périphérique » sont générées (508) pour réaliser les transferts correspondants (510). Si non, le procédé se poursuit à l'étape 512. Avantageusement, ces requêtes permettent d'accélérer la retransmission des données ainsi 10 transférées si les contraintes temporelles appliquées à ces données ne sont pas compatibles avec un transfert de celles-ci par la mémoire centrale du commutateur. Le délai restant par rapport à une mise à disposition à des consommateurs peut être utilisé pour 15 décider d'utiliser ou non cette étape optionnelle du procédé. A l'étape suivante (512), les requêtes DMA nécessaires à l'extraction des données applicatives présentes dans la trame réseau reçue et le stockage au 20 sein de la mémoire centrale du commutateur sont préparées par le contrôleur principal (411). Les transferts DMA sont déclenchés par le contrôleur principal. Dans les cas d'implémentation où il est possible de disposer d'une connaissance temporelle 25 statique des trames à recevoir et de leur structure (offsets et longueurs des données dans chacune des trames), la préparation des requêtes DMA peut être réalisée avant la réception de la trame. Un exemple est pour le cas de la gestion des accès réseau par les 30 équipements connectés à un port réalisée par la technique d'accès multiple à répartition dans le temps 22 2998748 (TDMA). Dans une autre variante, afin d'identifier les données d'une trame, la charge applicative de la trame est structurée comme une suite de couple (entêtes de 5 données de taille fixe identifiant la donnée et indiquant la taille d'une donnée, donnée correspondante). L'analyse de ces entêtes de données permet de construire les requêtes DMA nécessaires. Le contrôleur DMA notifie au contrôleur principal la fin 10 des transferts de données entre le contrôleur réseau et la mémoire centrale du commutateur. Les requêtes DMA peuvent être réutilisées pour décrire d'autres demandes de transferts de données. En fonction du nombre de données à transférer et du nombre de 15 requêtes DMA disponibles, cette étape peut se répéter pour traiter intégralement une trame réseau reçue. Dans une étape suivante (514), les requêtes DMA disponibles et libérées peuvent être utilisées pour décrire les prochains transferts de données à réaliser 20 lors de la réception de la prochaine trame réseau. Cette étape du procédé est présente uniquement si l'implémentation choisie du procédé permet d'avoir une connaissance statique des trames réseaux qui seront reçues. 25 L'homme du métier comprendra que différentes mises en oeuvre sont possibles pour établir les requêtes DMA qui sont dépendantes des capacités du contrôleur DMA du contrôleur réseau. Par exemple, si un contrôleur DMA n'offre pas de capacité à disperser une trame 30 réseau à différent endroits via une liste chaînée de requêtes DMA, le contrôleur DMA du contrôleur réseau 23 2998748 est utilisé par le contrôleur principal pour recopier la trame dans une zone mémoire intermédiaire dans la mémoire centrale du commutateur. A la fin de ce transfert DMA, l'identification des données sera 5 réalisée par le contrôleur principal ainsi que la construction de l'ensemble de transferts DMA nécessaires pour disperser les données dans la mémoire centrale du commutateur par un autre contrôleur DMA. Si le contrôleur DMA offre une capacité de type 10 disperser/assembler ou « scatter/gather » en anglais une zone mémoire, celle-ci peut être directement utilisée par le contrôleur principal pour stocker les données dans la mémoire centrale du commutateur. La stratégie d'arbitrage entre les différentes requêtes 15 DMA des différents contrôleurs DMA permet de caractériser le comportement temporel des échanges afin de maîtriser leur impact sur la vérification des contraintes de bout en bout associées aux données. 20 La figure 6 montre les différentes étapes opérées pour l'émission d'une trame réseau. Dans une première étape (602), l'entête de la trame à émettre est construit par le contrôleur principal, ainsi que l'ensemble des requêtes DMA nécessaires pour réaliser 25 les transferts de données depuis la mémoire centrale du contrôleur principal vers le contrôleur réseau du commutateur devant émettre la trame. Si la solution d'implémentation choisie permet de disposer d'une connaissance statique de trames à 30 émettre et de leur structure (offsets et longueurs des données dans chacune des trames), cette étape peut 24 2998748 être une étape préalable réalisée avant l'émission de la trame. A l'étape suivante (604), le contrôleur principal initie le ou les transferts DMA préparés soit à 5 l'étape précédente (602) ou préalablement. Les données à inclure dans la trame réseau sont transférées depuis la mémoire centrale du commutateur vers le contrôleur réseau en charge de l'émission afin remplir la partie applicative de la trame réseau. 10 Le contrôleur DMA du contrôleur réseau notifie au contrôleur principal la fin des transferts de données entre la mémoire centrale du commutateur et le contrôleur réseau. Les requêtes DMA peuvent être réutilisées pour décrire d'autres demandes de 15 transferts de données. En fonction du nombre de données à transférer et du nombre de requêtes DMA disponibles, cette étape peut se répéter pour construire intégralement une trame réseau à émettre. Différentes mises en oeuvre sont possibles qui sont 20 dépendantes des capacités du contrôleur DMA du contrôleur réseau. A l'étape suivante (606), lorsque la fin des transferts DMA est détectée par le contrôleur DMA, l'émission de la trame est demandée au contrôleur 25 réseau. De manière optionnelle et similaire à la phase de réception, une surveillance du trafic réseau émis peut être mise en place. Dans une étape suivante (608), les requêtes DMA disponibles et libérées à l'étape précédente peuvent 30 être utilisées pour décrire les prochains transferts de données à réaliser lors de la réception de la 25 2998748 prochaine trame réseau. Cette étape du procédé est présente uniquement si l'implémentation choisie du procédé permet d'avoir une connaissance statique des trames réseaux qui seront émises. 5 Les figures 5 et 6 décrivent des étapes du procédé pour la réception et l'émission d'une trame réseau. Dans une variante, le procédé peut choisir d'attendre de recevoir un certain nombre de trames réseaux avant 10 de déclencher les étapes du procédé en réception. Il est à noter que le procédé décrit est indépendant du type de contrôleur réseau embarqué par le commutateur réseau, qui peut par exemple être un contrôleur Ethernet, un contrôleur CAN « Controller 15 Area Network » en anglais ou un contrôleur FlexRayTM Par ailleurs, il est possible d'avoir différents type de contrôleur réseau dans un même commutateur réseau, le stockage des données dans la mémoire centrale du commutateur étant réalisé de manière indépendante de 20 la couche liaison de données utilisée. Ainsi, le présent procédé est compatible avec la notion passerelle dans une architecture distribuée dans laquelle les données transitant via un protocole données sont retransmis via un autre protocole. Enfin, 25 optionnellement des étapes de traitement d'erreurs peuvent être nécessaires. Toutefois, les actions à exécuter lorsqu'une erreur a été identifiée qui sont liées à la mise en oeuvre du procédé ne sont pas décrites. 30 La présente invention peut s'implémenter à partir 26 2998748 d'éléments matériel et/ou logiciel. Elle peut être disponible en tant que produit programme d'ordinateur sur un support lisible par ordinateur. Le support peut être électronique, magnétique, optique, 5 électromagnétique ou être un support de diffusion de type infrarouge. De tells supports sont par exemple, des mémoires à semi-conducteur (Random Access Memory RAM, Read-Only Memory ROM), des bandes, des disquettes ou disques magnétiques ou optiques (Compact 10 Disk - Read Only Memory (CD-ROM), Compact Disk - Read/Write (CD-R/W) and DVD). Ainsi la présente description illustre une implémentation préférentielle de l'invention, mais 15 n'est pas limitative. Un exemple a été choisi pour permettre une bonne compréhension des principes de l'invention, et une application concrète, mais il n'est en rien exhaustif et doit permettre à l'homme du métier d'apporter des modifications et variantes 20 d'implémentation en conservant les mêmes principes. 27 REVENDICATIONS1. Dans un réseau de communication comprenant une pluralité de domaines réseaux, un procédé mis en oeuvre par ordinateur pour transmettre des données d'un domaine réseau émetteur vers au moins un domaine réseau récepteur, le procédé comprenant les étapes de : - recevoir sur un commutateur réseau au moins une 10 trame entrante de données d'un domaine réseau émetteur; - identifier dans la au moins une trame reçue les données correspondant à un ou plusieurs domaines réseaux destinataires; 15 - écrire chacune des dites données identifiées dans une zone mémoire assignée du commutateur réseau ; - construire au moins une trame sortante de données pour chaque domaine réseau destinataire, la dite au moins une trame sortante comprenant uniquement des 20 données identifiées pour le dit domaine réseau destinataire; et - envoyer la dite au moins une trame sortante de données vers le dit domaine réseau destinataire. 25 2. Le procédé selon la revendication 1 dans lequel l'étape de recevoir une trame entrante de données consiste à recevoir une trame entrante sur au moins un port récepteur du commutateur réseau et l'étape d'envoyer chaque trame sortante de données consiste à 30 envoyer les trames sortantes sur un ou plusieurs ports émetteur du commutateur réseau. 28 2998748 3. Le procédé selon les revendications 1 ou 2 dans lequel l'étape d'identification des données consiste à analyser la structure de la trame entrante et 5 déterminer les champs correspondants aux données. 4. Le procédé selon la revendication 3 où les champs des données sont de longueurs prédéfinies. 5. Le procédé selon la revendication 3 où les champs des données sont identifiés par un identifiant unique. 6. Le procédé selon l'une quelconque des revendications 1 à 5 comprenant de plus après l'étape d'identification, l'étape de transférer chacune des dites données identifiées d'un ou plusieurs contrôleurs d'accès direct à la mémoire (DMA) vers chaque zone mémoire assignée du commutateur. 7. Le procédé selon l'une quelconque des revendications 1 à 6 comprenant de plus avant l'étape de construction, l'étape de transférer chacune des dites données écrites vers un ou plusieurs contrôleurs d'accès direct à la mémoire. 8. Le procédé selon l'une quelconque des revendications 1 à 7 dans lequel l'étape de construire au moins une trame sortante consiste à créer un entête de trame et ajouter uniquement des données stockées dans la zone mémoire assignée au domaine réseau correspondant. 9. Le procédé selon l'une quelconque des revendications 1 à 8 comprenant de plus avant l'étape d'envoyer la 29 2998748 dite au moins une trame sortante, l'étape de recevoir une requête d'envoi de données par un équipement d'un domaine réseau destinataire. 5 10. Le procédé selon l'une quelconque des revendications 1 à 8 dans lequel l'étape d'envoyer la dite au moins une trame sortante est opérée à des instants pré-calculés. 10 11. Le procédé selon l'une quelconque des revendications 1 à 10 dans lequel les étapes de construction de la trame sortante et d'envoi sont asynchrones des étapes de réception, d'identification et d'écriture. 15 12. Le procédé selon l'une quelconque des revendications 1 à 11 dans lequel la dite au moins une trame entrante est une trame selon l'anglicisme de type 'multicast' ou 'broadcast'. 20 13. Dans un réseau de communication comprenant une pluralité de domaines réseaux, un système pour transmettre des données d'un domaine réseau émetteur vers au moins un domaine réseau récepteur, le système 25 comprenant des moyens pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 12. 14. Un commutateur réseau comprenant le système selon 30 la revendication 13. 15. Un produit programme d'ordinateur, ledit programme d'ordinateur comprenant des instructions de 30 2998748 code permettant d'effectuer les étapes du procédé selon l'une quelconque des revendications 1 à 12, lorsque ledit programme est exécuté sur un ordinateur.