FR2953354A1 - DEVICE AND METHOD FOR AGGREGATING DATA RECEIVED ON A PLURALITY OF PHYSICAL LINKS. - Google Patents

DEVICE AND METHOD FOR AGGREGATING DATA RECEIVED ON A PLURALITY OF PHYSICAL LINKS. Download PDF

Info

Publication number
FR2953354A1
FR2953354A1 FR0958517A FR0958517A FR2953354A1 FR 2953354 A1 FR2953354 A1 FR 2953354A1 FR 0958517 A FR0958517 A FR 0958517A FR 0958517 A FR0958517 A FR 0958517A FR 2953354 A1 FR2953354 A1 FR 2953354A1
Authority
FR
France
Prior art keywords
data
block
packet
link
physical links
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR0958517A
Other languages
French (fr)
Inventor
Henri Teboulle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sagemcom Energy and Telecom SAS
Original Assignee
Sagem Communications SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sagem Communications SAS filed Critical Sagem Communications SAS
Priority to FR0958517A priority Critical patent/FR2953354A1/en
Priority to EP10784779A priority patent/EP2507948A1/en
Priority to PCT/EP2010/068190 priority patent/WO2011064287A1/en
Priority to CN201080054003.3A priority patent/CN102640460B/en
Publication of FR2953354A1 publication Critical patent/FR2953354A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

Dans le domaine de l agrégation de lien au niveau de la couche de liaison d un système de communication de données, est décrit un procédé de distribution de données basé sur le découpage des paquets de liaison en blocs. Chaque bloc est doté d'un numéro de séquence et d'un drapeau indiquant le dernier bloc du paquet. Les blocs sont acheminés indépendamment sur chaque lien physique. Le procédé décrit permet de gérer souplement tout type de lien physique et ne nécessite pas de synchroniser les liens physiques.In the field of link aggregation at the link layer of a data communication system, a method of data distribution based on the chopping of the block link packets is described. Each block has a sequence number and a flag indicating the last block of the packet. Blocks are routed independently on each physical link. The described method makes it possible to flexibly manage any type of physical link and does not require synchronizing the physical links.

Description

La présente invention concerne le domaine de l'agrégation de lien au niveau de la couche de liaison d'un système de transmission de données. Elle concerne plus particulièrement un dispositif et un procédé d'agrégation de données reçues sur une pluralité de liens physiques. The present invention relates to the field of link aggregation at the link layer of a data transmission system. It relates more particularly to a device and a method for aggregating data received on a plurality of physical links.

L'agrégation de liens physiques pour pallier des insuffisances de bande passante est connue. En particulier, il est connu de distribuer les paquets de données de la couche de liaison sur une pluralité de liens physiques en fonction des données d'adressage contenues dans l'en-tête de ces paquets. Cette solution conduit à des solutions non adéquates où l'occupation réelle de chaque lien physique dépend des informations d'adressage qui ne sont pas corrélées avec les bandes passantes disponibles de chaque lien. D'autres solutions découpent les paquets de données reçues et les distribuent directement sur les liens physiques. Ces solutions nécessitent une synchronisation des liens physiques pour permettre de reconstruire les paquets à l'autre extrémité. The aggregation of physical links to compensate for bandwidth shortcomings is known. In particular, it is known to distribute the data packets of the link layer over a plurality of physical links according to the addressing data contained in the header of these packets. This solution leads to unsuitable solutions where the actual occupation of each physical link depends on addressing information that is not correlated with the available bandwidths of each link. Other solutions cut the received data packets and distribute them directly on the physical links. These solutions require synchronization of the physical links to allow rebuilding the packets at the other end.

L'invention vise à résoudre les problèmes précédents en proposant un procédé de données basé sur le découpage des paquets de liaison en blocs. Chaque bloc est doté d'un numéro de séquence et d'un drapeau indiquant le dernier bloc du paquet. Les blocs sont acheminés indépendamment sur chaque lien physique. La distribution est faite en fonction des bandes passantes de chaque lien. Le procédé décrit permet de gérer souplement tout type de lien physique et ne nécessite pas de synchroniser les liens physiques. L'invention concerne un dispositif d'agrégation de données qui comporte un lien externe permettant l'émission de paquets de données ; une pluralité de liens physiques internes permettant la réception de paquets de données ; des moyens de réception d'une pluralité de blocs de données reçus sur la pluralité de liens physiques internes ; des moyens pour supprimer l'en-tête de chaque bloc de données reçu qui comporte un numéro de séquence dudit bloc au sein d'un paquet de données et un drapeau marquant le dernier bloc du paquet ; des moyens pour agréger lesdits blocs pour reconstituer un paquet de données en fonction du numéro de séquence de chaque bloc et du drapeau marquant le dernier bloc et des moyens pour émettre ledit paquet de données sur le lien externe. Selon un mode particulier de réalisation de l'invention, il comporte des moyens d'insertion d'un préambule au début du paquet de données. The invention aims at solving the above problems by proposing a data method based on the division of the block link packets. Each block has a sequence number and a flag indicating the last block of the packet. Blocks are routed independently on each physical link. The distribution is made according to the bandwidths of each link. The described method makes it possible to flexibly manage any type of physical link and does not require synchronizing the physical links. The invention relates to a data aggregation device that includes an external link for sending data packets; a plurality of internal physical links for receiving data packets; means for receiving a plurality of received data blocks on the plurality of internal physical links; means for deleting the header of each received data block which has a sequence number of said block within a data packet and a flag marking the last block of the packet; means for aggregating said blocks to reconstruct a data packet based on the sequence number of each block and the flag marking the last block and means for transmitting said data packet on the external link. According to a particular embodiment of the invention, it comprises means for inserting a preamble at the beginning of the data packet.

Selon un mode particulier de réalisation de l'invention, les liens physiques ayant une interface GMII, les moyens d'insertion (10.10) d'un préambule sont des moyens d'insertion d'un préambule GMII. Selon un mode particulier de réalisation de l'invention, le dispositif comporte en 5 outre des moyens de calcul et d'insertion d'une somme de contrôle du paquet de données en fin de paquet de données. L'invention concerne également un procédé d'agrégation de données au sein d'un dispositif comportant un lien externe pour l'émission des données et une pluralité de liens physiques internes pour la réception des données qui comporte une étape de 10 réception d'une pluralité de blocs de données reçus sur la pluralité de liens physiques internes ; une étape pour supprimer l'en-tête de chaque bloc de données reçu qui comporte un numéro de séquence dudit bloc au sein d'un paquet de données et un drapeau marquant le dernier bloc du paquet ; une étape d'agrégation des différents blocs pour reconstituer le paquet de données et une étape d'émission du paquet de 15 données sur le lien externe. Selon un mode particulier de réalisation de l'invention, il comporte une étape d'insertion d'un préambule au début de chaque paquet de données. Selon un mode particulier de réalisation de l'invention, les liens physiques ayant une interface GMII, l'étape d'insertion (7.3) d'un préambule est une étape d'insertion 20 d'un préambule GMII. Selon un mode particulier de réalisation de l'invention, le procédé comporte en outre une étape de calcul et d'insertion d'une somme de contrôle du paquet de données en fin de paquet de données. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, 25 apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : La Fig. 1 illustre le schéma de fonctionnement de l'invention, La Fig. 2 illustre le format des paquets de données d'un exemple de réalisation, 30 La Fig. 3 illustre le découpage des paquets de données dans un exemple de réalisation de l'invention, La Fig. 4 illustre le fonctionnement de l'émetteur dans un exemple de réalisation de l'invention, La Fig. 5 illustre le fonctionnement général du récepteur dans un exemple de réalisation de l'invention, La Fig. 6 illustre le fonctionnement de la réception sur l'un des liens physiques dans un exemple de réalisation de l'invention, La Fig. 7 illustre la reconstruction de la trame dans un exemple de réalisation de l'invention, La Fig. 8 illustre l'architecture générale de l'émetteur, récepteur, selon un exemple de réalisation de l'invention, La Fig. 9 illustre l'architecture du bloc de distribution selon un exemple de réalisation de l'invention, La Fig. 10 illustre l'architecture du bloc d'agrégation selon un exemple de réalisation de l'invention, La Fig. 11 illustre le fonctionnement général du processus d'émission selon un exemple de réalisation de l'invention, La Fig. 12 illustre le fonctionnement général du processus de réception selon un exemple de réalisation de l'invention. La Fig. 1 illustre le schéma de fonctionnement de l'invention. Celle-ci concerne l'agrégation de liens dans un réseau de communication par paquet. L'agrégation de lien intervient entre deux équipements réseau 1.2 et 1.4. Chacun de ces équipements dispose d'un premier lien, que l'on appelle le lien externe, qui lui permet de recevoir et d'émettre des données sous forme de paquets de données vers d'autres équipements. Le lien externe de l'équipement 1.2 est le lien 1.1. Le lien externe de l'équipement 1.4 est le lien 1.5. Une pluralité de liens 1.3, que l'on appelle les liens internes, relie les deux équipements 1.2 et 1.4. Chacun de ses liens peut fonctionner selon sa propre technologie physique. Chacun de ces liens possède ses propres caractéristiques telles que sa bande passante, sa latence de transmission et autres. L'invention est basée sur du matériel spécifique permettant la gestion des liens internes. En référence au modèle OSI des liens de communication, l'invention intervient au niveau de la couche de liaison pour distribuer les données reçues du lien externe entre les différents liens internes. Les données reçues sur ces différents liens internes sont agrégées pour reconstituer les paquets de données de la couche de liaison. L'invention est donc transparente pour la couche de liaison. According to a particular embodiment of the invention, the physical links having a GMII interface, the insertion means (10.10) of a preamble are means for inserting a GMII preamble. According to a particular embodiment of the invention, the device further comprises means for calculating and inserting a checksum of the data packet at the end of the data packet. The invention also relates to a method for aggregating data within a device having an external link for transmitting data and a plurality of internal physical links for receiving data which comprises a step of receiving a data. plurality of data blocks received on the plurality of internal physical links; a step for deleting the header of each received data block which has a sequence number of said block within a data packet and a flag marking the last block of the packet; a step of aggregating the different blocks to reconstruct the data packet and a step of transmitting the data packet on the external link. According to a particular embodiment of the invention, it comprises a step of inserting a preamble at the beginning of each data packet. According to a particular embodiment of the invention, the physical links having a GMII interface, the insertion step (7.3) of a preamble is a step of inserting a GMII preamble. According to a particular embodiment of the invention, the method further comprises a step of calculating and inserting a checksum of the data packet at the end of the data packet. The characteristics of the invention mentioned above, as well as others, will appear more clearly on reading the following description of an exemplary embodiment, said description being given in relation to the attached drawings, among which: Fig. 1 illustrates the flow diagram of the invention, FIG. 2 illustrates the format of the data packets of an exemplary embodiment, FIG. 3 illustrates the splitting of data packets in an exemplary embodiment of the invention, FIG. 4 illustrates the operation of the transmitter in an exemplary embodiment of the invention, FIG. 5 illustrates the general operation of the receiver in an exemplary embodiment of the invention, FIG. 6 illustrates the operation of the reception on one of the physical links in an exemplary embodiment of the invention, FIG. 7 illustrates the reconstruction of the frame in an exemplary embodiment of the invention, FIG. 8 illustrates the general architecture of the transmitter, receiver, according to an exemplary embodiment of the invention, FIG. 9 illustrates the architecture of the distribution block according to an exemplary embodiment of the invention, FIG. 10 illustrates the architecture of the aggregation block according to an exemplary embodiment of the invention, FIG. 11 illustrates the general operation of the transmission process according to an exemplary embodiment of the invention, FIG. 12 illustrates the general operation of the reception process according to an exemplary embodiment of the invention. Fig. 1 illustrates the operating diagram of the invention. This concerns the aggregation of links in a packet communication network. The link aggregation occurs between two network devices 1.2 and 1.4. Each of these devices has a first link, called the external link, which allows it to receive and transmit data as data packets to other devices. The external link of the equipment 1.2 is the link 1.1. The external link of the 1.4 equipment is link 1.5. A plurality of links 1.3, which are called internal links, connects the two devices 1.2 and 1.4. Each of its links can work according to its own physical technology. Each of these links has its own characteristics such as bandwidth, transmission latency and others. The invention is based on specific hardware for managing internal links. With reference to the OSI model of the communication links, the invention intervenes at the level of the link layer to distribute the data received from the external link between the various internal links. The data received on these different internal links are aggregated to reconstruct the data packets of the link layer. The invention is therefore transparent for the link layer.

L'exemple de réalisation est basé sur une couche de liaison du type Ethernet selon la norme internationale ISO/IEC 8802-3, mais elle pourrait s'appliquer à d'autres standards de couches de liaison. La couche physique utilisée pour les liens peut être diverse, il peut s'agir de communication radio, fibre optique, cuivre ou autres. L'invention fonctionne indépendamment du support physique du lien. Certaines de ces couches physiques permettent d'assurer un débit garanti, tandis que d'autres ont un débit variable dans le temps. C'est typiquement le cas des transmissions radio sujettes aux variations du canal radio. Selon certains modes de réalisation, l'invention permet d'utiliser de manière optimale la bande passante variable de ce type de lien. La Fig. 2 illustre le format des paquets de données d'un exemple de réalisation. Sur le support physique, les paquets de données 2.2, typiquement Ethernet, sont transmis précédés d'un préambule 2.1 et suivis d'une somme de contrôle 2.3, typiquement du type CRC (Cyclic redundancy check en anglais). Le paquet Ethernet lui-même est constitué d'un en-tête 2.4 et d'un corps de message 2.5 (payload en anglais). Les données transitant sur les liens externes sont donc transmises sous cette forme : des octets de préambule, des octets constituant le paquet Ethernet et des octets de CRC. La Fig. 3 illustre le découpage des paquets de données dans un exemple de réalisation de l'invention. Lors de la réception des paquets de données, les octets de préambule et de CRC extérieurs au paquet lui-même sont écartés. Le paquet de données est alors divisé en blocs. Avantageusement, les blocs ont une taille fixe, mais ce n'est pas nécessaire. En particulier, les paquets de données reçus pouvant être de taille variable, le dernier bloc peut être également de taille variable. Selon l'exemple de réalisation, le paquet de données est divisé en blocs 3.10, 3.11, 3.12, 3.13 et 3.14, de 256 octets, le dernier bloc pouvant avoir une taille comprise entre 64 et 320 octets pour accommoder la taille du paquet de données reçu. On ajoute à chaque bloc de données ainsi créé un en-tête 3.30, 3.31, 3.32, 3.33 et 3.34 qui a au moins deux fonctions. Une première est de permettre de mémoriser la séquence des blocs constituant le paquet de données. Pour ce faire, un numéro de séquence est stocké dans l'en-tête. Une seconde fonction est de marquer la fin du paquet de données. Pour ce faire, un drapeau signale le dernier bloc constituant un paquet de données. Selon l'exemple de réalisation, l'en-tête comporte deux octets. Le numéro de séquence est codé sur 14 bits, tandis qu'un quinzième bit sert de drapeau et est positionné à 1 pour le dernier bloc du paquet. Le seizième bit est inutilisé. Le corps de chaque bloc 3.20, 3.21, 3.22, 3.23 et 3.24 contient les données du paquet, respectivement les parties 3.10, 3.11, 3.12, 3.13 et 3.14 du paquet de données. Le fait de choisir une taille de bloc relativement petite permet d'avoir un système souple dont la granularité va permettre de s'adapter à la diversité des liens physiques constituant l'agrégation. Une trop petite taille, toutefois, augmente la quantité des en-têtes rajoutés et nuit à l'utilisation de la bande passante. Un choix judicieux de cette taille de bloc est donc fait en fonction du type de lien physique utilisé. Le fait de numéroter les blocs permet un réordonnancement des blocs lors de la reconstruction du paquet et donc de gérer des liens dont la latence de communication est différente. En l'absence de ce mécanisme, il est nécessaire de synchroniser les liens pour assurer une reconstruction du paquet à l'arrivée, ce qui n'est pas nécessaire ici. On a donc une grande souplesse dans le choix des liens physiques utilisés pouvant marier diverses technologies. The exemplary embodiment is based on an Ethernet type link layer according to the international standard ISO / IEC 8802-3, but could be applied to other link layer standards. The physical layer used for links can be diverse, it can be radio communication, optical fiber, copper or others. The invention operates independently of the physical medium of the link. Some of these physical layers provide guaranteed throughput, while others have variable throughput. This is typically the case for radio transmissions subject to variations in the radio channel. According to some embodiments, the invention makes it possible to optimally use the variable bandwidth of this type of link. Fig. 2 illustrates the format of the data packets of an exemplary embodiment. On the physical medium, the data packets 2.2, typically Ethernet, are transmitted preceded by a preamble 2.1 and followed by a checksum 2.3, typically of the type CRC (Cyclic redundancy check in English). The Ethernet packet itself consists of a 2.4 header and a 2.5 message body (payload). The data passing over the external links are thus transmitted in this form: preamble bytes, octets constituting the Ethernet packet and bytes of CRC. Fig. 3 illustrates the splitting of data packets in an exemplary embodiment of the invention. When receiving the data packets, the preamble and CRC bytes outside the packet itself are discarded. The data packet is then divided into blocks. Advantageously, the blocks have a fixed size, but it is not necessary. In particular, since the received data packets may be of variable size, the last block may also be of variable size. According to the exemplary embodiment, the data packet is divided into blocks 3.10, 3.11, 3.12, 3.13 and 3.14, of 256 bytes, the last block can have a size between 64 and 320 bytes to accommodate the size of the data packet. received. To each block of data thus created is added a header 3.30, 3.31, 3.32, 3.33 and 3.34 which has at least two functions. A first is to allow to memorize the sequence of blocks constituting the data packet. To do this, a sequence number is stored in the header. A second function is to mark the end of the data packet. To do this, a flag indicates the last block constituting a data packet. According to the exemplary embodiment, the header has two bytes. The sequence number is coded on 14 bits, while a fifteenth bit serves as a flag and is set to 1 for the last block of the packet. The sixteenth bit is unused. The body of each block 3.20, 3.21, 3.22, 3.23 and 3.24 contains the data of the packet, respectively the parts 3.10, 3.11, 3.12, 3.13 and 3.14 of the data packet. Choosing a relatively small block size makes it possible to have a flexible system whose granularity will make it possible to adapt to the diversity of the physical links constituting the aggregation. Too small, however, increases the amount of headers added and affects bandwidth usage. A wise choice of this block size is therefore made according to the type of physical link used. The fact of numbering the blocks allows a reordering of the blocks during the reconstruction of the packet and thus to manage links whose communication latency is different. In the absence of this mechanism, it is necessary to synchronize the links to ensure a reconstruction of the packet on arrival, which is not necessary here. There is therefore great flexibility in the choice of physical links used that can combine various technologies.

La Fig. 11 illustre le fonctionnement général de l'émetteur. Elle exprime le caractère répétitif du processus sous la forme d'une boucle sans fin. Le processus répété est illustré par la Fig. 4. La Fig. 4 illustre le fonctionnement de l'émetteur dans un exemple de réalisation de l'invention. L'algorithme de réception fonctionne sur une base octet. Lors d'une première étape 4.1, on reçoit un octet. On teste alors s'il s'agit d'un octet de préambule ou de CRC, étape 4.2. Si c'est le cas, on écarte l'octet et on repasse à la réception de l'octet suivant. Sinon, on mémorise 4.3 l'octet reçu dans un tampon de réception. Ce tampon fonctionne selon le principe premier entré, premier sorti ou FIFO (First In First Out en anglais). L'étape 4.4 représente la sortie d'un octet de ce tampon de réception pour être transféré dans un tampon de construction de bloc. Avantageusement, elle comporte l'ajout d'un neuvième bit à l'octet pour mémoriser si l'octet est le dernier octet du bloc. On teste 4.5 alors s'il s'agit du premier octet du bloc courant. Si c'est le cas, on teste 4.6 alors s'il s'agit du dernier bloc du paquet de données reçu. Lorsqu'il s'agit du premier octet d'un bloc, on ajoute les deux octets d'en-tête en positionnant le numéro de séquence du bloc et le drapeau de dernier bloc, étapes 4.7 ou 4.8. Les octets du tampon de construction de bloc sont transférés lors de l'étape 4.9 au tampon de sortie. Les octets du tampon de sortie sont extraits. On teste si l'octet extrait est le premier octet d'un nouveau bloc, étape 4.10. Si ce test est positif, on détermine le lien physique qui va être utilisé pour émettre le bloc lors de l'étape 4.11. Les liens physiques étant gérés via une interface GMII (Gigabit Media Independent Interface en anglais), on doit alors insérer un préambule GMII avant le premier octet, étape 4.12. On extrait alors l'octet lors de l'étape 4.14. Fig. 11 illustrates the general operation of the transmitter. It expresses the repetitive nature of the process in the form of an endless loop. The repeated process is illustrated in FIG. 4. FIG. 4 illustrates the operation of the transmitter in an exemplary embodiment of the invention. The receive algorithm operates on a byte basis. In a first step 4.1, one receives a byte. It is then tested whether it is a preamble byte or CRC, step 4.2. If this is the case, we bypass the byte and return to the receipt of the next byte. Otherwise, the received byte 4.3 is stored in a receive buffer. This buffer works on a first in, first out, or FIFO (First In First Out) basis. Step 4.4 represents the output of a byte of this receive buffer to be transferred to a block build buffer. Advantageously, it includes adding a ninth bit to the byte to memorize whether the byte is the last byte of the block. One tests 4.5 then if it is the first byte of the current block. If this is the case, we test 4.6, if it is the last block of the received data packet. When it is the first byte of a block, the two header bytes are added by setting the sequence number of the block and the last block flag, steps 4.7 or 4.8. The bytes of the block build buffer are transferred in step 4.9 to the output buffer. The bytes of the output buffer are extracted. It is tested whether the extracted byte is the first byte of a new block, step 4.10. If this test is positive, it determines the physical link that will be used to issue the block in step 4.11. Since the physical links are managed via a Gigabit Media Independent Interface (GMII), a GMII preamble must be inserted before the first byte, step 4.12. The byte is then extracted in step 4.14.

Dans le cas où l'on n'a pas de nouveau bloc à extraire, on teste si un bloc est en cours d'extraction, étape 4.13. Si c'est le cas, on extrait un octet lors de l'étape 4.14, sinon on ne fait rien lors de ce passage et on boucle sur l'ensemble de l'organigramme. Le bloc est donc émis sur le lien physique sous la forme d'un paquet GMII. Ces paquets sont normalement terminés par une somme de contrôle de type CRC. Selon les implémentations des interfaces GMII, les paquets GMII dont la somme de contrôle est erronée seront acceptés ou pas. Avantageusement, on insère donc un CRC valide du bloc à la fin de celui-ci, cette étape n'est pas représentée sur la figure. La Fig. 12 illustre le fonctionnement général du processus de réception. Lors d'une première étape d'initialisation 12.1, une variable Pl est initialisée à 0 pour signifier qu'aucune extraction de bloc n'est en cours sur la voie 1. Une variable P2 est initialisée à 0 pour signifier qu'aucune extraction de bloc n'est en cours sur la voie 2. Une variable Début Trame est initialisée à 0 pour signifier que l'on est en début de trame. Une variable Fin Trame est initialisée à 1 pour signifier que l'on n'est pas en fin de trame. Ces variables sont utilisées comme sémaphore pour, respectivement, l'insertion d'un en-tête et d'une somme de contrôle en début et en fin de trame. Ensuite, on entame une boucle sans fin sur une étape de réception voie 1 12.2, une étape de réception voie 2 12.3, une étape de concaténation 12.4 et une étape d'extraction du tampon de sortie 12.5. Ces étapes vont être détaillées dans les figures décrites ci-dessous. La Fig. 5 détaille le fonctionnement du récepteur dans un exemple de réalisation de l'invention. Selon l'exemple de réalisation de l'invention, deux liens physiques constituent l'agrégation. Toutefois, le procédé décrit s'étend naturellement à une pluralité de liens physiques. Une variable d'état est utilisée par lien et appelée Pi où i est le numéro du lien physique. L'algorithme commence par tester ces variables pour déterminer si un bloc est en cours de réception sur l'un des liens, c'est-à-dire si l'une des variables est à 1. Ce sont les étapes 5.1 et 5.2. Si un bloc est en cours de réception, on passe directement à l'étape de réception dudit bloc 5.10 ou 5.11. Si aucun bloc n'est en cours de réception, on teste si un nouveau bloc est disponible sur l'un des liens, étapes 5.3 et 5.4. Si c'est le cas, on positionne la variable d'état correspondante à 1, étapes 5.6 et 5.7. On supprime ensuite les 2 octets d'en-tête du bloc, étapes 5.8 et 5.9. Le drapeau indiquant qu'un bloc est le dernier bloc du paquet qui est présent dans l'en-tête est mémorisé dans une variable d'état appelée « Fin_Trame ». Le mot trame est ici utilisé pour désigner un paquet de données de la couche de liaison. On entame ensuite l'étape de réception sur ce lien physique 5.10 ou 5.11. Les numéros de séquence seront utilisés pour vérifier l'ordre des blocs et pour reconstruire le paquet dans le bon ordre. Il faut noter qu'au préalable, les octets de préambule GMII et des éventuels 10 CRC GMII auront été écartés. La Fig. 6 illustre le fonctionnement de la réception sur l'un des liens physiques dans un exemple de réalisation de l'invention. Lors de l'étape 6.1, un octet est transféré du tampon de réception du lien physique vers le tampon de reconstruction du paquet. On teste ensuite s'il s'agit du dernier octet du bloc, étape 6.2. Si c'est le cas on 15 positionne, étape 6.3, la variable Pi du lien physique courant à 0 pour indiquer la fin de l'étape de réception d'un bloc sur ce lien physique. On teste alors si le bloc extrait est le dernier bloc du paquet à reconstruire lors de l'étape 6.4, par le test de la variable Fin_Trame. Si c'est le cas, on calcule et on insère le CRC du paquet reconstruit, étape 6.5, et on positionne la variable Fin_Trame à 1, étape 6.6. 20 La Fig. 7 illustre la reconstruction de la trame dans un exemple de réalisation de l'invention. Lors de l'étape 7.1, on teste si le paquet de données est complet. Si c'est le cas, on teste si l'on est positionné en début de trame, étape 7.2, par un test Début_Trame = 0. Dans ce cas, on insère un préambule GMII, étape 7.3, on positionne la variable Début_Trame à 1, étape 7.4. On peut alors extraire un octet du 25 tampon vers le lien externe, étape 7.5. Si cet octet est le dernier octet de la trame, étape 7.6, on positionne la variable Début_Trame à 0 lors de l'étape 7.7. On extrait ainsi les trames, octet par octet, pour les émettre sur le lien externe. La Fig. 8 illustre l'architecture générale de l'émetteur, récepteur, selon un exemple de réalisation de l'invention. Les liens physiques utilisent un module dit 30 « serdes » de sérialisation / désérialisation, 8.1, 8.7 et 8.9, couplé respectivement à un module GMII, 8.2, 8.6 et 8.8. Les modules 8.1 et 8.2 représentent le lien externe, tandis que les modules 8.6 et 8.7, respectivement 8.8 et 8.9 représentent les liens physiques internes. Les données reçues du lien externe sont dirigées vers un module de distribution 8.4 chargé de construire les blocs et de les distribuer sur les liens physiques. Ce module fonctionne selon les algorithmes décrits ci-dessus. Les blocs reçus des liens physiques internes sont dirigés vers un module d'agrégation 8.5 chargé de la reconstruction des paquets de données de la couche de liaison selon les algorithmes définis ci-dessus. In the case where there is no new block to extract, we test if a block is being extracted, step 4.13. If this is the case, we extract a byte in step 4.14, otherwise we do nothing during this passage and we loop over the entire flowchart. The block is therefore sent on the physical link in the form of a GMII packet. These packets are normally terminated by a CRC checksum. Depending on the implementations of the GMII interfaces, GMII packages whose checksum is wrong will be accepted or not. Advantageously, a valid CRC of the block is inserted at the end thereof, this step is not shown in the figure. Fig. 12 illustrates the general operation of the reception process. In a first initialization step 12.1, a variable Pl is initialized to 0 to signify that no block extraction is in progress on the channel 1. A variable P2 is initialized to 0 to signify that no extraction of block is in progress on channel 2. A Start Frame variable is initialized to 0 to signify that it is at the beginning of the frame. A finite frame variable is initialized to 1 to indicate that we are not at the end of the frame. These variables are used as semaphore for, respectively, the insertion of a header and a checksum at the beginning and at the end of the frame. Then, an endless loop is started on a reception step channel 1 12.2, a reception step channel 2 12.3, a concatenation step 12.4 and a step of extracting the output buffer 12.5. These steps will be detailed in the figures described below. Fig. 5 details the operation of the receiver in an exemplary embodiment of the invention. According to the exemplary embodiment of the invention, two physical links constitute the aggregation. However, the disclosed method naturally extends to a plurality of physical links. A state variable is used by link and called Pi where i is the number of the physical link. The algorithm starts by testing these variables to determine if a block is being received on one of the links, ie if one of the variables is 1. These are steps 5.1 and 5.2. If a block is being received, it goes directly to the step of receiving said block 5.10 or 5.11. If no block is being received, it is tested whether a new block is available on one of the links, steps 5.3 and 5.4. If this is the case, the corresponding state variable is set to 1, steps 5.6 and 5.7. The 2 bytes of the block header are then deleted, steps 5.8 and 5.9. The flag indicating that a block is the last block of the packet that is present in the header is stored in a state variable called "End_Field". The word frame is used here to designate a data packet of the link layer. We then begin the reception step on this physical link 5.10 or 5.11. The sequence numbers will be used to check the block order and rebuild the package in the correct order. It should be noted that beforehand, the preamble bytes GMII and the possible 10 CRC GMII will have been discarded. Fig. 6 illustrates the operation of the reception on one of the physical links in an exemplary embodiment of the invention. In step 6.1, a byte is transferred from the receive buffer of the physical link to the packet reconstruction buffer. It is then tested whether it is the last byte of the block, step 6.2. If it is the case, step 6.3, the variable Pi of the current physical link is set to 0 to indicate the end of the step of receiving a block on this physical link. One then tests if the extracted block is the last block of the packet to be reconstructed during the step 6.4, by the test of the variable Fin_Trame. If it is the case, one calculates and inserts the CRC of the reconstructed packet, step 6.5, and one puts the variable Fin_Trame at 1, step 6.6. FIG. 7 illustrates the reconstruction of the frame in an exemplary embodiment of the invention. In step 7.1, it is tested whether the data packet is complete. If it is the case, one tests if one is positioned at the beginning of the frame, step 7.2, by a test Start_Time = 0. In this case, one inserts a preamble GMII, step 7.3, one positions the variable Begin_Time to 1 step 7.4. One can then extract one byte from the buffer to the external link, step 7.5. If this byte is the last byte of the frame, step 7.6, we set the Start_Field variable to 0 in step 7.7. The frames are thus extracted, byte by byte, to transmit them on the external link. Fig. 8 illustrates the general architecture of the transmitter, receiver, according to an exemplary embodiment of the invention. The physical links use a so-called serialization / deserialization "serdes" module, 8.1, 8.7 and 8.9, respectively coupled to a GMII module, 8.2, 8.6 and 8.8. The modules 8.1 and 8.2 represent the external link, while the modules 8.6 and 8.7, respectively 8.8 and 8.9 represent the internal physical links. The data received from the external link is directed to a distribution module 8.4 responsible for building the blocks and distributing them on the physical links. This module works according to the algorithms described above. The blocks received from the internal physical links are directed to an aggregation module 8.5 responsible for rebuilding the data packets of the link layer according to the algorithms defined above.

Avantageusement, le dispositif reçoit des informations en temps réel sur la bande passante disponible sur chacun des liens internes. Ces informations correspondent à un mode dit ACM (Adaptative Code Modulation en anglais) disponible notamment pour les liens radio. Ces informations sont alors reçues par un module 8.3 de gestion des débits. Ce module 8.3 fournit alors au module de distribution 8.4 une information sur les débits courants disponibles sur les liens physiques sous la forme d'un signal. Ces informations seront utilisées par le module de distribution pour répartir les données entre les liens internes en fonction de cette bande passante disponible. La Fig. 9 illustre l'architecture du module de distribution selon un exemple de réalisation de l'invention. Les paquets de données arrivent du lien externe vers le tampon de réception 9.1. Les octets sont alors transférés au tampon de bloc 9.2. Ce tampon fait une taille de 320 octets dans l'exemple de réalisation, c'est-à-dire la taille maximum d'un bloc. Sous le contrôle du module d'état 9.4, les blocs sont alors transférés dans un tampon de mémorisation des blocs 9.5. Un module d'insertion des en-têtes de bloc 9.3, permet d'insérer les 2 octets d'en-têtes de blocs sous le contrôle du module d'état en positionnant le numéro de séquence du bloc et la variable de dernier bloc de la trame. Un module 9.12 est chargé de calculer un CRC et de l'insérer au besoin dans le tampon 9.5 sous le contrôle du module d'état. Ce module est optionnel, en particulier dans le cas où les modems acceptent des paquets avec un CRC GMII erroné. Un signal émis par le tampon 9.2 vers le module d'état permet la détection des trames supérieures à 320 octets. De cette façon le module d'état 9.4 est prévenu en temps réel que le tampon 9.2 est plein, et donc qu'il y a au moins un bloc complémentaire à recevoir pour le paquet de données en cours. Le module 9.6 contrôle la détermination du lien physique sur lequel va être émis chaque bloc, ainsi que l'émission des blocs vers les voies 9.10 et 9.11. Avantageusement, il reçoit les signaux 9.9 des débits courants de chacun des liens physiques. Il les utilise pour générer un signal de synchronisation proportionnel au débit du lien pour chacun des liens. Cette génération est faite par un NCO (Numerically Controlled Oscillator en anglais) en fonction de la valeur de débit reçue. Advantageously, the device receives real-time information on the bandwidth available on each of the internal links. This information corresponds to a so-called ACM (Adaptive Code Modulation) mode available especially for radio links. This information is then received by a 8.3 bit rate management module. This module 8.3 then supplies the distribution module 8.4 with information on the current rates available on the physical links in the form of a signal. This information will be used by the distribution module to distribute data between internal links based on this available bandwidth. Fig. 9 illustrates the architecture of the distribution module according to an exemplary embodiment of the invention. The data packets arrive from the external link to the reception buffer 9.1. The bytes are then transferred to block buffer 9.2. This buffer has a size of 320 bytes in the exemplary embodiment, that is to say the maximum size of a block. Under the control of the status module 9.4, the blocks are then transferred to a block storage buffer 9.5. An insert module for block headers 9.3, allows to insert the 2 bytes of block headers under the control of the state module by setting the sequence number of the block and the variable of last block of the frame. A module 9.12 is responsible for calculating a CRC and inserting it if necessary in the buffer 9.5 under the control of the state module. This module is optional, especially in the case where modems accept packets with an erroneous GMII CRC. A signal sent by the buffer 9.2 to the state module allows the detection of frames greater than 320 bytes. In this way the status module 9.4 is warned in real time that the buffer 9.2 is full, and therefore that there is at least one complementary block to receive for the current data packet. The module 9.6 controls the determination of the physical link on which each block will be sent, as well as the transmission of the blocks to the channels 9.10 and 9.11. Advantageously, it receives 9.9 signals current flows of each of the physical links. It uses them to generate a synchronization signal proportional to the link rate for each link. This generation is made by a NCO (Numerically Controlled Oscillator in English) according to the received bit rate value.

Plus précisément, grâce aux informations sur les débits courants reçus, 9.9, les NCO constitués de l'additionneur 9.13 et du sélectionneur de bit de poids fort MSB 9.14 permettent de générer un signal de synchronisation proportionnel au débit de la voie considérée, pour chaque voie sortante. On optimise ainsi de manière fine l'utilisation de la bande passante autorisée pour chaque voie. Le signal issu du module 9.5 vers le module 9.6 indique que ce tampon a un bloc à transmettre. Un signal en retour appelé Enablefifo, permet au module 9.6 de contrôler la sortie octet par octet du bloc. Les signaux NCO 1 et NCO 2 reçus des NCO sont respectivement synchrones octet des voies de transmission 1 et 2. More precisely, thanks to the information on the received current rates, 9.9, the NCOs consisting of the adder 9.13 and the high-order bit selector MSB 9.14 make it possible to generate a synchronization signal proportional to the rate of the channel considered, for each channel. outgoing. This optimizes the use of the authorized bandwidth for each channel. The signal from module 9.5 to module 9.6 indicates that this buffer has a block to transmit. A feedback signal called Enablefifo allows the 9.6 module to control the byte byte output of the block. The NCO 1 and NCO 2 signals received from the NCOs are respectively synchronous byte of the transmission channels 1 and 2.

Pour chacune des voies 1 et 2, on gère des compteurs courants CC1 et CC_2 sur 16 bits initialisés à 0. A chaque top de 125 MHz, en ce qui concerne le compteur CC 1 de la voie 1 on implémente le comportement suivant : Quand « NCO 1 » = 0 et «Enablefifo » = 1, CC1 = CC_1 + 1 en cours de bloc et CC_1 = CC_1 + 6 si l'on est en début de bloc pour tenir compte de l'encapsulation GFP (Generic Framing Procedure en anglais), qui est dans notre exemple de réalisation la méthode d'encapsulation utilisée pour transporter la trame Ethernet via le modem. Quand « NCO_1 » = « Enablefifo », CC_1 reste inchangé. Quand « NCO 1 » = 1 et « Enablefifo » = 0, CC1 = CC_1 ù 1, CC1 restant 20 toujours au moins égal à 0. CC_1 fonctionne comme un intégrateur représentatif du déséquilibre entre le nombre d'octets effectivement transmis par le modem situé après la voie 1 et le nombre d'octets extraits du tampon 9.5. Un intégrateur symétrique est implémenté pour la voie 2.For each of the channels 1 and 2, 16-bit current counters CC1 and CC_2 are initialized at 0. At each 125 MHz top, for the counter CC 1 of the channel 1, the following behavior is implemented: When " NCO 1 "= 0 and" Enablefifo "= 1, CC1 = CC_1 + 1 during the block and CC_1 = CC_1 + 6 if we are at the beginning of the block to take into account the GFP (Generic Framing Procedure) encapsulation ), which is in our embodiment the encapsulation method used to transport the Ethernet frame via the modem. When "NCO_1" = "Enablefifo", CC_1 remains unchanged. When "NCO 1" = 1 and "Enablefifo" = 0, CC1 = CC_1 1, CC1 remaining always at least 0. CC_1 functions as an integrator representative of the imbalance between the number of bytes actually transmitted by the modem located after channel 1 and the number of bytes taken from buffer 9.5. A symmetric integrator is implemented for channel 2.

25 Quand un bloc complet a été extrait du tampon 9.5, on compare les compteurs CC_1 et CC_2 à un seuil programmable pour chaque voie, Seuil 1 et Seuil 2. Si CC_1 < Seuil _1 et CC_1 <= CC_2, on décide de sortir le prochain bloc du tampon 9.5 vers la voie 1. De même, si CC 2 < Seuil 2 et CC 2 < CC 1, on décide de sortir le prochain bloc du tampon 9.5 vers la voie 2. Dans les autres cas, on ne fait rien.When a complete block has been extracted from the buffer 9.5, the counters CC_1 and CC_2 are compared to a programmable threshold for each channel, Threshold 1 and Threshold 2. If CC_1 <Threshold _1 and CC_1 <= CC_2, it is decided to leave the next buffer block 9.5 to channel 1. Similarly, if CC 2 <Threshold 2 and CC 2 <CC 1, it is decided to take the next block from buffer 9.5 to channel 2. In other cases, nothing is done.

30 Le module 9.6 contrôle la sortie des octets constituant les blocs du tampon de mémorisation des blocs ainsi que l'insertion d'un préambule GMII à l'aide des modules d'insertion 9.8 et 9.7 pour constituer les signaux 9.10 et 9.11 émis sur chacun des liens physiques. Ces signaux sont donc caractérisés en ce qu'ils sont constitués de blocs de données représentant une séquence ordonnée d'octets d'un paquet de données de la couche liaison. De plus, chacun de ces blocs comporte un en-tête comportant un numéro de séquence et un drapeau pour indiquer que le bloc courant est le dernier bloc du paquet de données. De manière optionnelle, le module d'insertion de CRC 9.12 est ajouté à la fin de chaque bloc pour satisfaire les implémentations de GMII qui n'acceptent pas les blocs ayant un CRC erroné. La Fig. 10 illustre l'architecture du module d'agrégation selon un exemple de réalisation de l'invention. Les données arrivant de chacun des liens internes sont donc constituées de blocs selon l'invention. Ces blocs sont traités par des modules de retrait des préambules GMII 10.1 et 10.2 et aussi, en option, de retrait du CRC GMII. Les blocs sont alors mémorisés dans des tampons de réception, un par lien, 10.3 et 10.4. Le module d'état 10.5 contrôle alors l'agrégation de ces modules. Pour ce faire, il reçoit les numéros de séquence de chaque bloc et le niveau de remplissage des tampons de réception. Il détermine alors le tampon devant être vidé du contenu d'un bloc, il s'agit du bloc dont le numéro est le prochain attendu dans l'ordre chronologique. Les 2 octets d'en-tête du bloc sont écartés et son corps est transféré au tampon de sortie 10.8. Le contrôle du sélecteur 10.7 permet d'insérer le CRC du paquet de données à la fin du dernier bloc de la trame à l'aide du module de calcul de CRC 10.6. L'émission de la trame sur le lien externe est gérée par le module 10.9 qui gère l'émission des données et l'insertion en tête de chaque trame d'un préambule GMII préparé par le module d'insertion de préambule 10.10. L'invention ici décrite dans le cadre Ethernet et à l'aide d'un exemple de réalisation comportant deux liens physiques s'étend naturellement à un nombre quelconque de liens physiques. Elle peut s'appliquer à tout protocole de liaison et ce quelle que soit la technologie physique utilisée pour les différents liens. The module 9.6 controls the output of the bytes constituting the block storage buffer blocks as well as the insertion of a GMII preamble using the insertion modules 9.8 and 9.7 to constitute the signals 9.10 and 9.11 transmitted on each physical links. These signals are therefore characterized in that they consist of data blocks representing an ordered sequence of bytes of a data packet of the link layer. In addition, each of these blocks has a header with a sequence number and a flag to indicate that the current block is the last block of the data packet. Optionally, the CRC insertion module 9.12 is added at the end of each block to satisfy GMII implementations that do not accept blocks having an erroneous CRC. Fig. 10 illustrates the architecture of the aggregation module according to an exemplary embodiment of the invention. The data arriving from each of the internal links therefore consist of blocks according to the invention. These blocks are processed by GMII 10.1 and 10.2 preamble retrieval modules and also, optionally, CRC GMII removal. The blocks are then stored in receive buffers, one per link, 10.3 and 10.4. The state module 10.5 then checks the aggregation of these modules. To do this, it receives the sequence numbers of each block and the filling level of the reception buffers. It then determines the buffer to be emptied of the contents of a block, it is the block whose number is the next expected in chronological order. The 2 bytes of the block header are discarded and its body is transferred to the output buffer 10.8. Control of selector 10.7 is used to insert the CRC of the data packet at the end of the last block of the frame using the CRC 10.6 calculation module. The transmission of the frame on the external link is managed by the module 10.9 which manages the transmission of data and the insertion at the head of each frame of a preamble GMII prepared by the preamble insertion module 10.10. The invention described here in the Ethernet framework and using an embodiment with two physical links naturally extends to any number of physical links. It can be applied to any link protocol regardless of the physical technology used for the different links.

Claims (1)

REVENDICATIONS1/ Dispositif d'agrégation de données comportant : - un lien externe permettant l'émission de paquets de données ; - une pluralité de liens physiques internes permettant la réception de paquets de données ; caractérisé en ce qu'il comporte : - des moyens de réception (10.1, 10.2) d'une pluralité de blocs de données reçus sur la pluralité de liens physiques internes ; - des moyens pour supprimer l'en-tête de chaque bloc de données reçu qui comporte un numéro de séquence dudit bloc au sein d'un paquet de données et un drapeau marquant le dernier bloc du paquet ; - des moyens pour agréger lesdits blocs pour reconstituer un paquet de données en fonction du numéro de séquence de chaque bloc et du drapeau marquant le dernier bloc ; - des moyens pour émettre ledit paquet de données sur le lien externe. 2/ Dispositif d'agrégation de données selon la revendication 1, caractérisé en ce qu'il comporte des moyens d'insertion (10.10) d'un préambule au début du paquet de 20 données. 3/ Dispositif d'agrégation de données selon la revendication 2, caractérisé en ce que, les liens physiques ayant une interface GMII, les moyens d'insertion (10.10) d'un préambule sont des moyens d'insertion d'un préambule GMII. 4/ Dispositif d'agrégation de données selon la revendication 1, caractérisé en ce qu'il comporte en outre des moyens de calcul et d'insertion (10.6) d'une somme de contrôle du paquet de données en fin de paquet de données. 30 5/ Procédé d'agrégation de données au sein d'un dispositif comportant un lien externe pour l'émission des données et une pluralité de liens physiques internes pour la réception des données comportant : - une étape (5.10, 5.11) de réception d'une pluralité de blocs de données reçus sur la pluralité de liens physiques internes ; 25- une étape (5.8, 5.9) pour supprimer l'en-tête de chaque bloc de données reçu qui comporte un numéro de séquence dudit bloc au sein d'un paquet de données et un drapeau marquant le dernier bloc du paquet ; - une étape (12.4) d'agrégation des différents blocs pour reconstituer le paquet 5 de données; - une étape (12.5) d'émission du paquet de données sur le lien externe. 6/ Procédé de distribution de données selon la revendication 5, caractérisé en ce qu'il comporte une étape (7.3) d'insertion d'un préambule au début de chaque paquet 10 de données. 7/ Procédé de distribution de données selon la revendication 6, caractérisé en ce que, les liens physiques ayant une interface GMII, l'étape d'insertion (7.3) d'un préambule est une étape d'insertion d'un préambule GMII. 8/ Procédé de distribution de données selon la revendication 5, caractérisé en ce qu'il comporte en outre une étape (6.5) de calcul et d'insertion d'une somme de contrôle du paquet de données en fin de paquet de données. 15 CLAIMS1 / Data aggregation device comprising: - an external link enabling the transmission of data packets; a plurality of internal physical links allowing the reception of data packets; characterized in that it comprises: - receiving means (10.1, 10.2) of a plurality of data blocks received on the plurality of internal physical links; means for deleting the header of each received data block which comprises a sequence number of said block within a data packet and a flag marking the last block of the packet; means for aggregating said blocks to reconstruct a data packet according to the sequence number of each block and the flag marking the last block; means for transmitting said packet of data on the external link. 2 / Device for aggregating data according to claim 1, characterized in that it comprises means (10.10) for inserting a preamble at the beginning of the data packet. 3 / device for aggregating data according to claim 2, characterized in that, the physical links having a GMII interface, the insertion means (10.10) of a preamble are means for inserting a preamble GMII. 4 / device for aggregating data according to claim 1, characterized in that it further comprises means for calculating and inserting (10.6) a checksum of the data packet at the end of the data packet. 5 / Method for aggregating data within a device comprising an external link for transmitting data and a plurality of internal physical links for receiving data comprising: a step (5.10, 5.11) for receiving data; a plurality of data blocks received on the plurality of internal physical links; A step (5.8, 5.9) for deleting the header of each received data block which has a sequence number of said block within a data packet and a flag marking the last block of the packet; a step (12.4) of aggregating the different blocks to reconstitute the data packet; a step (12.5) of sending the data packet on the external link. 6 / method of data distribution according to claim 5, characterized in that it comprises a step (7.3) of insertion of a preamble at the beginning of each packet 10 of data. 7 / A method of data distribution according to claim 6, characterized in that, the physical links having a GMII interface, the insertion step (7.3) of a preamble is a step of inserting a preamble GMII. 8 / A method of data distribution according to claim 5, characterized in that it further comprises a step (6.5) for calculating and inserting a checksum of the data packet at the end of the data packet. 15
FR0958517A 2009-11-30 2009-11-30 DEVICE AND METHOD FOR AGGREGATING DATA RECEIVED ON A PLURALITY OF PHYSICAL LINKS. Withdrawn FR2953354A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR0958517A FR2953354A1 (en) 2009-11-30 2009-11-30 DEVICE AND METHOD FOR AGGREGATING DATA RECEIVED ON A PLURALITY OF PHYSICAL LINKS.
EP10784779A EP2507948A1 (en) 2009-11-30 2010-11-25 Device and method for aggregating data received over a plurality of physical links
PCT/EP2010/068190 WO2011064287A1 (en) 2009-11-30 2010-11-25 Device and method for aggregating data received over a plurality of physical links
CN201080054003.3A CN102640460B (en) 2009-11-30 2010-11-25 For being aggregated in the apparatus and method of the data that receive on multiple physical links

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0958517A FR2953354A1 (en) 2009-11-30 2009-11-30 DEVICE AND METHOD FOR AGGREGATING DATA RECEIVED ON A PLURALITY OF PHYSICAL LINKS.

Publications (1)

Publication Number Publication Date
FR2953354A1 true FR2953354A1 (en) 2011-06-03

Family

ID=42244091

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0958517A Withdrawn FR2953354A1 (en) 2009-11-30 2009-11-30 DEVICE AND METHOD FOR AGGREGATING DATA RECEIVED ON A PLURALITY OF PHYSICAL LINKS.

Country Status (4)

Country Link
EP (1) EP2507948A1 (en)
CN (1) CN102640460B (en)
FR (1) FR2953354A1 (en)
WO (1) WO2011064287A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016106497A1 (en) 2014-12-29 2016-07-07 华为技术有限公司 Method, device, terminal device and system for adjusting working state of aggregated link
CN110943933B (en) * 2018-09-25 2023-09-01 华为技术有限公司 Method, device and system for realizing data transmission

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000070827A2 (en) * 1999-05-19 2000-11-23 Sun Microsystems, Inc. Method and apparatus for a multi-gigabit ethernet architecture
WO2003092230A1 (en) * 2002-04-26 2003-11-06 Valo, Inc. A California Corporation Methods, apparatuses and systems facilitating aggregation of physical links into logical link
US20080095189A1 (en) * 2006-10-24 2008-04-24 Howard Frazier Method and system for physical layer aggregation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765866B1 (en) * 2000-02-29 2004-07-20 Mosaid Technologies, Inc. Link aggregation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000070827A2 (en) * 1999-05-19 2000-11-23 Sun Microsystems, Inc. Method and apparatus for a multi-gigabit ethernet architecture
WO2003092230A1 (en) * 2002-04-26 2003-11-06 Valo, Inc. A California Corporation Methods, apparatuses and systems facilitating aggregation of physical links into logical link
US20080095189A1 (en) * 2006-10-24 2008-04-24 Howard Frazier Method and system for physical layer aggregation

Also Published As

Publication number Publication date
WO2011064287A1 (en) 2011-06-03
CN102640460A (en) 2012-08-15
EP2507948A1 (en) 2012-10-10
CN102640460B (en) 2016-05-04

Similar Documents

Publication Publication Date Title
EP0559593B1 (en) Method and apparatus for data compression and decompression for a transmission system
EP0354120B1 (en) Method and device for asynchronous transmission using microcells
CA1264875A (en) Method and device for transmitting digital data in the form of frame organized messages
WO2016197894A1 (en) Data processing method, communication device and communication system
FR2754123A1 (en) TRAFFIC MANAGEMENT AND CONTAINMENT CONTROL SYSTEM FOR PACKET BASED NETWORKS
EP1961165A2 (en) Method and system for transmitting a multimedia data stream
FR3047624A1 (en) TRANSPARENT ROUTING METHOD FOR VERY HIGH-SPEED DATA PACKETS IN A SPATIAL TELECOMMUNICATIONS SYSTEM USING A NETWORK OF AT LEAST REGENERATIVE SATELLITE (S)
EP2605475B1 (en) Method and device for robust transmission of data packet streams with compressed headers with no bandwidth increase
EP1385315A2 (en) Multiplexing device, demultiplexing device and multiplexing/demultiplexing system
EP2507947B1 (en) Device and method for distributing data over a plurality of physical links
EP0648063B1 (en) Method and apparatus for transmsission of series of ATM-cells
FR2828979A1 (en) COMPRESSOR, DECOMPRESSOR, DATA BLOCK, AND RESOURCE MANAGEMENT METHOD
FR2953354A1 (en) DEVICE AND METHOD FOR AGGREGATING DATA RECEIVED ON A PLURALITY OF PHYSICAL LINKS.
FR2998125A1 (en) METHOD FOR TRANSMITTING DATA PACKETS BETWEEN TWO COMMUNICATION MODULES AND TRANSMITTER MODULE AND RECEIVER MODULE
US20070233894A1 (en) Shared buffer for near-end and optical interface flow control in fiber optic communications
EP1376958A1 (en) Method of secure determination of a given state of a communication channel for a transmission system
FR2685592A1 (en) METHOD AND SYSTEM FOR TRANSMITTING INFORMATION ON A BLOCK TRANSMISSION LINK OF VARIABLE LENGTH DATA IN TIME ASYNCHRONOUS TYPE MULTIPLEXING.
FR3052944B1 (en) METHOD FOR SEGMENTING HIGH-PERFORMANCE DATA
EP1889388A1 (en) Method and system for transmitting a clock rate on an ethernet network link and applications thereof
EP2677805B1 (en) Device and method for managing bandwidth distribution between data in circuit form and data in packet form
CN117640393A (en) Service information processing method, network equipment and storage medium
EP1166593A1 (en) Method and device for transmitting an ordered sequence of messages and associated receiver device
FR2801456A1 (en) METHOD AND SYSTEM FOR TRANSMITTING ETHERNET FRAMES IN A SHD NETWORK
FR3052943A1 (en) METHOD FOR RECONSTRUCTING DATA IN LOW-FLOW TRANSMISSION
FR2805694A1 (en) Transmission of signals between two local networks, dividing high rate signal to two lower rate signals and multiplexing

Legal Events

Date Code Title Description
TP Transmission of property

Owner name: SAGECOM ENERGY & TELECOM SAS, FR

Effective date: 20120725

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

ST Notification of lapse

Effective date: 20180731