Brevet FR2667465A1 — publié le 19920403

- Pont pour relier un réseau local, conforme à la norme IEEE 802 3, à un réseau de télécommunications à technique temporelle asynchrone. L'invention concerne un pont pour relier un réseau local con- forme à la norme IEEE 802 3 à un réseau de télécommunications à technique temporelle asynchrone Ce type de réseau local est carac- térisé par une méthode d'accès par détection de porteuse et par dé- tection de collision Il est commercialisé notamment sous la marque ETHERNET. Il est souvent souhaitable de transmettre des données d'un réseau local à un autre, au travers d'un réseau de télécommunications Lorsqu'il s'agit d'un réseau classique de télé- communications à technique temporelle synchrone, il est connu de relier chaque réseau local au réseau de télécommunications au moyen d'une liaison spécialisée, ayant un débit de 2 Mb/s pour chaque direction, et au moyen d'un dispositif appellé pont Un pont de type connu transmet intégralement le contenu des trames circulant sur le bus du réseau local, y compris l'en-tête et des bits de synchronisation n'ayant aucun intérêt pour la liaison vers un autre réseau local L'inconvénient des réseaux de télécommunications à technique temporelle synchrone, pour l'application à la liaison entre deux réseaux locaux, est de limiter le débit des échanges de données à 2 Mb/s. Par ailleurs, on sait que les futurs réseaux de télécommunica- tions à technique temporelle asynchrone permettront des transmis- sions des données à débit beaucoup plus élevé, jusqu'à 600 Mb/s La Revue des Télécommunications, volume 62, N 03/4/1988 décrit un pro- tocole conçu pour transmettre des données dans un réseau de télé- communications à technique asynchrone, ces données pouvant être échangées par des stations internes au réseau ou bien par des sta- tions externes au réseau La demande de brevet français N 89 041 68 décrit un dispositif de traitement de messages de signalisation, mettant en oeuvre ce protocole. Le but de la présente invention est de proposer un pont per- mettant de relier chaque réseau local, conforme à la norme IEEE 802 3, à un réseau de télécommunications à technique -2- temporelle asynchrone, en mettant en oeuvre un protocole connu pour la transmission de données dans un réseau de télécommunications à technique temporelle asynchrone, notamment le protocole écrit dans les documents cités ci- dessus, pour permettre une liaison à haut débit entre des réseaux locaux distants. L'objet de l'invention est un pont pour relier un réseau local, conforme à la norme IEEE 802 3, à un réseau de télécommunications à technique temporelle asynchrone, caractérisé en ce qu'il comporte: des premiers moyens pour assurer les fonctions de la couche 2.1 d'un protocole de transmission de données à l'intérieur du réseau de télécommunications en technique temporelle asynchrone; des seconds moyens pour assurer les fonctions de la couche 1 d'un protocole de transmission de données à l'intérieur du réseau local, ces seconds moyens étant couplés aux premiers moyens. Le pont ainsi caractérisé a des caractéristiques, vues des stations qui lui sont raccordées, similaires à celles d'un réseau local simple, c'està-dire: une large bande passante, typiquement 1 O Mb/s; une connectivité totale; un faible taux d'erreurs; pas de problèmes de routage, ni de congestion; un trafic global élevé La liaison physique entre le pont et le réseau de télécommunications est très simple, puisqu'il suffit d'un simple support physique tel qu'une fibre optique, grâce au multiplexage temporel asynchrone. L'invention sera mieux comprise et d'autres caractéristiques apparaîtront à l'aide de la description ci-dessous et des figures l'accompagnant: la figure 1 représente les communications entre les couches du modèle de référence ISO, représentant les protocoles dans: deux réseaux locaux, un pont selon l'invention, et un réseau de télécommunications à technique temporelle asynchrone; la figure 2 représente la structure de l'en-tête d'une cellule transmettant des données sous une forme compatible avec la technique temporelle asynchrone; la figure 3 représente la structure des bits utiles d'une cellule. -3- la figure 4 représente le schéma synoptique d'un exemple de réalisation de pont selon l'invention. Sur la figure 1, les sept couches du protocole mis en oeuvre par chaque station d'un premier réseau local LA Nl sont référencées 11, 12 1, 12 2, 13, 14, 15, 16, 17 Les mécanismes mis en jeu par chacune de ces couches sont respectivement: physique, commande d'accès au médium, commande de liens logiques, réseau, transport, session, présentation, application Les sept couches d'un protocole mis en oeuvre par chaque station d'un second réseau local LAN 2 sont10 référencées respectivement 21 à 27 Dans cet exemple, un pont P conforme à l'invention, et un réseau de télécommunications à technique temporelle asynchrone, RTTA, relient le réseau local LA Nl au réseau LAN 2 Pour cela, le pont P met en oeuvre la couche physique et la couche de commande d'accès au médium, notées15 respectivement Ll et L 2 1, du protocole du réseau LAN 1 La couche L 2.1 de commande d'accès au médium communique avec la couche homologue, 22 1, du protocole du réseau LAN 2 Les couches 12 2 à 17 du réseau LA Ni communiquent directement avec les couches 22 2 à 27 du protocole du réseau LAN 2, le pont P et le réseau de20 télécommunications RTTA étant entièrement transparents de bout en bout pour ces couches. Une liaison physique BL relie la couche 11 de LAN 1 à la couche Ll du pont P Une liaison physique BP relie la couche Ai du pont P au réseau RTTA. Le pont P met en oeuvre la couche N 02 1, notée A 2 1, du protocole de transmission de données dans le réseau de télécommunications RTTA, ainsi que la couche N O l, physique, de ce protocole, pour accéder au réseau RTTA Le pont P fait communiquer la couche physique Ll du protocole du réseau local LA Nl avec la couche A 2 1 du protocole de transmission de données. Dans un réseau local conforme à la norme IEEE 802 3, les données sont transmises sous la forme de trames ayant une longueur variable comprise entre 64 et 1518 octets Chaque station possède une adresse qui lui est propre La technique temporelle asynchrone est caractérisée par le multiplexage, sur un même support, de -4- cellules ayant une longueur fixe, par exemple 36 octets, identifiées par un en-tête de 4 octets et possédant un contenu utile de 32 octets A chaque communication correspond un en-tête. Le débit du support est indépendant de celui des communications qu'il achemine Un pont selon l'invention réalise donc les fonc- tions suivantes: dans le sens réseau de télécommunications vers réseau local: reconstituer une trame du réseau local à partir de plusieurs cellules du réseau de télécommunications; analyser l'adresse de destination de cette trame, et la rejeter éventuellement, si son adresse ne correspond pas à une station présente dans le réseau local qui est raccordé au pont; écouter sur le bus du réseau local, attendre qu'il soit au repos, puis transmettre une trame reconstituée; dans le sens réseau local vers réseau de télécommunications: mémoriser chaque trame reçue du réseau local; rejeter cette trame si l'adresse destinataire correspond à une station présente dans le réseau local raccordé au pont considéré; reconnaître le début et la fin de chaque trame IEEE 802 3; découper les données et le code de contrôle par redondance cyclique, en tranches ayant la longueur des données utiles d'une cellule; constituer des cellules conformes au protocole de transmission d'informations dans le réseau de télécommunications à technique temporelle asynchrone, et les transférer vers ce réseau de télécommunications. Chaque cellule de communication dans le réseau RTTA, comporte 36 octets, dont quatre octets d'en-tête et 32 octets utiles. La figure 2 représente un en-tête, lequel comporte 12 bits de numéro de circuit virtuel, identifiant la communication à laquelle appartient la cellule Ces douze bits sont les bits 8 à 15 et 20 à - 23, référencés CV sur la figure Les seize bits restant, O à 7, 16 à 19, 24 à 31, incluent un champ de détection et de correction d'erreurs sur l'en- tête et divers bits indépendants de l'application considérée ici. La figure 3 représente le contenu utile d'une cellule Il comporte: un octet CTRL de contrôle, comportant un bit d'indication de début de message, un bit d'indication de fin de message, un bit d'indication de présence d'un octet indicateur de longueur, et cinq bits de numérotation de cellule, modulo 32; un octet L indiquant la longueur utile des informations con- tenues dans le champ référencé INFO; un champ d'informations INFO; deux octets de contrôle cyclique par redondance, référencés CRC, portant sur les 32 octets de la cellule. Si le bit d'indication de présence de l'octet de longueur a la valeur 1, l'octet qui suit l'octet de contr 6 le est alors un octet qui indique le nombre d'octets utiles dans le champ INFO Ce dernier comporte au maximum 28 octets utiles Si le bit indicateur a la valeur O, l'octet qui suit l'octet de contrôle est un octet d'informations, il y a donc 29 octets utiles dans le champ INFO. La figure 4 représente le schéma synoptique d'un exemple de réalisation du pont selon l'invention Il comporte une première partie référencée IR, pour assurer les fonctions de la couche 2 1 du protocole de transmission de données à l'intérieur du réseau de télécommunications RTTA, et une seconde partie, référencée IE, pour assurer les fonctions de la couche 1, physique, de la transmission de données à l'intérieur du réseau local LAN 1 La partie IR compor- te: un circuit de traitement de protocole, référencé CTP; une mémoire de réception de cellules, FC; une mémoire de données M; une mémoire de commande d'émission, FE; une mémoire de commande de réception, FR; un processeur P, de traitement de la couche N 02 2, commande de lien logique, du protocole de transmission de données du réseau de télécommunications; une mémoire adressable par son contenu, CAM; et une mémoire, MD, adressable directement, sans -6 - passer par le processeur P. La mémoire de données M constitue un tampon o sont stockées les données transitant par le pont La mémoire M est une mémoire à double port permettant d'éviter des problèmes d'allocation de bus, 5 de manière à optimiser la vitesse d'échange entre le circuit de traitement CPT et le processeur P Les mémoires FE, FR, M, MD, et le processeur P sont reliées par un bus BP, dit bus de processeur. Les mémoires de commande d'émission, FE, et de commande de réception, FR, sont du type FIFO et permettent un dialogue entre le10 circuit de traitement CTP et le processeur P Les mémoires FE, FR, et M sont reliées au circuit de traitement CTP par un bus de don- nées BD La mémoire M est reliée également au circuit de traitement CTP par un bus d'adresse BA. La seconde partie, IE, du pont est une interface classique, pour réseau local conforme à la norme IEEE 803 2 qui est disponible sous la forme de circuit intégré standard La partie IE est reliée à la partie IR du pont par une liaison notée DMA accédant à la mémoire à accès directe MD. Le circuit de traitement de protocole peut être constitué d'un réseau de cellules logiques programmables (PLA) tel que, par exemple, le composant XC 3090 de la société XILINX Le circuit de traitement CTP comporte une interface AIIE pour l'émission de données vers le réseau de télécommunications RTTA, et une interface AIIR de réception de données en provenance du réseau de2 S télécommunications RTTA La mémoire de données M est divisée en une partie appelée mémoire d'émission, ME, et une partie appelée mémoire de réception, MR, pour stocker respectivement les données à émettre vers le réseau de télécommunications et celles reçues de ce réseau. Les trames fournies par le réseau local LAN sont mises en cel- lules, et inversement les cellules fournies par le réseau de télé- communications RTTA sont mises en trames selon la norme IEEE 802 3. Ces deux fonctions sont réalisées au moyen de la mémoire M, possé- dant un double port C'est la gestion de ces deux ports, en lecture35 et en écriture, qui permet de réaliser ces fonctions Ces deux 7 - fonctions sont totalement asynchrones Les conflits d'accès sont résolus en réservant une partie de la mémoire à la lecture pendant qu'une autre partie est réservée à l'écriture. L'interface IE dispose d'un accès direct, noté DMA, à la mé- moire MD qui est en relation avec le processeur P par le bus BP La mémoire MD contient: une liste de descripteurs de pages de réception réservées au message reçu du réseau local; une liste des descripteurs de pages de réception réservées au message à émettre vers le réseau de télécommunications; des pages de réception; des10 pages d'émission; des données d'initialisation fournies par le processeur pour l'interface IE; et une zone de travail pour le processeur P L'interface IE reçoit, sans les arrêter, toutes les trames qui circulent sur le réseau local LAN Seules les trames reçues correctement, ayant une longueur comprise entre 64 et 151815 octets, et ne comportant pas d'erreurs, sont rangées dans la mémoire MD, y compris le mot de contrôle cyclique par redondance. Le processeur P est prévenu, par une interruption, de l'arrivée d'une trame que l'interface IE a rangée dans la mémoire MD Le processeur P en extrait l'adresse de destination et consulte20 une table d'adresses qui lui a été préalablement fournie, pour décider s'il doit ou non rejeter cette trame Si cette trame n'est pas destinée à une station reconnue par le pont comme étant une station du réseau local LAN, si l'adresse de destination n'est pas inconnue, et si elle n'est pas marquée dans la table des adresses25 comme devant être rejetée, le processeur P transfert cette trame dans la mémoire M, dans la partie émission ME Puis il libère les emplacements mémoires de la mémoire MD qui contenaient cette trame. La partie émission, ME, de la mémoire M comprend elle-même deux parties principales: une partie pour des données, dans laquelle sont stockés les messages à traiter et à transmettre vers le réseau de télécommuni- cations, chaque zone ayant une capacité suffisante pour recevoir un message de longueur maximale, c'est-à-dire 1518 octets; une partie dite de contexte, utilisée pour mémoriser l'émis- 3 sion des cellules. -8- Il existe un contexte pour chacun des réseaux locaux accessibles par le pont L'accès à ces réseaux locaux, au travers du réseau de télécommunications est indiqué par la présence d'un numéro de circuit virtuel CV dans le contenu d'une cellule Le con- texte d'émission correspondant à un circuit virtuel contient le nu- méro de la prochaine cellule à émettre sur ce circuit virtuel. Lors de l'émission d'un message, le processeur P écrit le mes- sage complet dans l'une des deux zones de données de la mémoire ME puis il avertit le circuit de traitement de protocole CTP qu'un message est à traiter, en écrivant, dans la mémoire FE, une commande indiquant notamment le nombre d'octets du message à émettre et le numéro du circuit virtuel sur lequel devra être émis le message Le numéro du circuit virtuel est obtenu à partir de l'adresse de destination de la trame, au moyen de la mémoire à adressage par le contenu, CAM. Le circuit de traitement de protocole CTP scrute de manière régulière, à chaque fin d'émission de message, l'état de la mémoire FE Lorsqu'elle est vide, il émet une cellule vide et scrute à nou- veau la mémoire FE Si elle n'est pas vide, il procède aux opéra- tions suivantes lecture d'une commande dans la mémoire FE; initialisation d'un compteur d'octets restant à transmettre; envoi de l'en-tête de la première cellule du message à émet- tre, incluant notamment le numéro de circuit virtuel fourni par la commande; envoi d'un octet de contr 8 le; mise à jour de la partie contexte de la mémoire ME, en y inscrivant le numéro de la prochaine cellule sur ce circuit vir- tuel; envoi de l'octet de longueur; 28 lectures d'un octet dans la zone de données de la mémoire ME, spécifiée dans la commande, puis envoi de ces octets; envoi de deux octets de contrôle cyclique par redondance, qui ont été calculés au fil de l'eau sur les 36 octets de la cellu- le; -9- nouvelle d'émission de cellules jusqu'à épuisement du comp- teur d'octets. Les cellules reçues par le circuit de traitement de protocole CTP, en provenance du réseau de télécommunications RTTA, transitent par une mémoire FC, de type FIFO, permettant un changement de débit Cette mémoire est écrite au rythme de 15,6 mégaoctets par seconde, et lue au rythme de 2 mégaoctets par-seconde Les cellules reçues sont ensuite inscrites dans la partie réception MR de la mémoire M à double port Cette partie réception comporte: un10 tampon circulaire formé de zones de 28 octets; des descripteurs associés aux différentes zones; une partie dite contexte utilisée pour le séquencement des cellules et pour l'identification de la première zone contenant le message reçu sur un circuit donné. L'algorithme de traitement de la réception des cellules est le suivant Le circuit de traitement de protocole CTP lit: l'en-tête d'une cellule reçue, et mémorise en interne le nu- méro du circuit virtuel; l'octet de contr 6 le; l'octet de longueur. Dans la mémoire M, le circuit de traitement de protocole CTP lit: le contexte associé au circuit virtuel reçu; le descripteur associé à la zone de données qui est indiquée par un pointeur courant. A partir de l'analyse des bits de l'octet de contrôle, le cir- cuit CTP détecte d'éventuelles erreurs de séquencement des cellu- les, et d'éventuelles pertes de cellules sur un message long En cas d'erreur, le message en cours de réception est abandonné et ne sera pas transmis au processeur P.30 Le processeur P lit la mémoire FR lorsqu'elle celle-ci passe de l'état vide à l'état non vide, parce que le circuit CTP génère alors une interruption vers le processeur P Puis, le processeur P vient explorer FR à chaque message lu, jusqu'à ce qu'il trouve cet- te mémoire vide Le processus de lecture du message par le proces-35 seur P est le suivant: - lecture de la commande dans la mémoire FR; lecture du descripteur de la zone contenant le début du mes- sage, dont l'adresse est indiquée par la commande, de manière à ac- céder au numéro de circuit virtuel du message à lire; 5 dans le cas d'un message monocellule, lecture de la zone de données correspondant au descripteur; dans le cas d'un message long, balayage des descripteurs d'un même circuit virtuel depuis la première zone, jusqu'à trouver un bit indicateur de fin de message, puis lecture des données cor-10 respondant aux descripteurs retenus. Une horloge est également disponible dans la mémoire M C'est un compteur incrémenté par le circuit CTP à chaque période corres- pondant à une cellule Au moment de la signalisation d'un message, l'heure courante est inscrite dans la commande Lorsque le proces-15 seur viendra lire la mémoire FR, il connaîtra ainsi l'heure du mes- sage par comparaison entre l'heure donnée par la commande et l'heu- re courante Ce processus permet de ne pas traiter les messages trop anciens. La prise de connaissance, par le processeur P, de l'ensemble de ces informations, lui permet de reconstituer une trame conforme au protocole du réseau local Le processeur P vérifie, en premier lieu, que la longueur de trame est correcte, c'est-à-dire comprise entre 64 et 1518 octets Puis il extrait l'adresse de destination, consulte sa table d'adresses des stations du réseau local, pour25 s'assurer que la trame est bien destinée à une adresse d'une station située dans le réseau local auquel il est relié Puis il vérifie la disponibilité des tampons d'émission dans la mémoire MD, qui sont accessibles par l'interface IE Si toutes ces conditions sont réalisées, le processeur P transfère la trame dans ces tampons30 d'émission et envoie un ordre d'émission à l'interface IE. L'interface IE, lorsqu'elle est prête, récupère cette trame, lui ajoute un préambule conforme au protocole du réseau local puis l'émet sur ce réseau local en respectant le processus d'accès Une fois l'émission terminée avec succès, l'interface IE rend au pro-35 cesseur P les tampons qui étaient occupés par cette trame et le 11 - prévient par une interruption Si une trame ne remplit pas l'une des conditions précédentes, concernant la longueur ou l'adresse, elle est rejetée par le processeur P, qui ne la transmet pas à l'interface IE. s La portée de l'invention n'est pas limitée à l'exemple de réa- lisation décrit ci-dessus, de nombreuses variantes de réalisation sont à la portée de l'homme de l'art. 12 - REVENDICATIONS 1) Pont pour relier un réseau local (LAN), conforme à la norme IEEE 802 3, à un réseau de télécommunications à technique temporelle asynchrone (RTTA);5 caractérisé en ce qu'il comporte des premiers moyens (IR) pour assurer les fonctions de la couche 2 1 d'un protocole de transmission de données à l'intérieur du réseau de télécommunications en technique temporelle asynchrone (RTTA); des seconds moyens (IE) pour assurer les fonctions de la couche 1 d'un protocole de transmission de données à l'intérieur du réseau local (LAN 1), ces seconds moyens étant couplés aux premiers moyens (IR). 2) Pont selon la revendication 1, caractérisé en ce que les premiers moyens (IR) comportent: un circuit (CTP) de traitement de protocole assurant les fonctions de niveau 2 1 d'un protocole de transmission de données dans le réseau de télécommunications (RTTA); une mémoire de données (M); un processeur (P); une mémoire de commande d'émission (FE); une mémoire de commande de réception (FR); une mémoire à accès direct (DM); une mémoire (FC) de réception de cellules; un bus de données (BD) relié: au circuit de traitement de protocole (CTP), à la mémoire de données (M), aux mémoires de com- mande (FE, FR), et à la mémoire à accès direct (DM-). un bus d'adresses (BA) relié au circuit de traitement de protocole (CTP), et à la mémoire de données (M); un bus de processeur (BP) relié: au processeur (P); à la mémoire à accès direct (DM); à la mémoire de données (M); et aux mémoires de commande (FE, FR); et en ce que les seconds moyens (IE) comportent un circuit d'interface physique, adapté au réseau local (LAN), couplé au processeur (P) par l'intermédiaire de la mémoire (MD) à accès direct. 4 1