TRANSMISSION OF DATA PACKETS IN A MESH COMMUNICATION NETWORK OF THE LOCAL NETWORK TYPE
By employing parallel logical network configurations in bridge devices for point-to-point and broadcast/point-to-multipoint data packet routing within mesh communication networks, the method enhances data packet routing efficiency and redundancy utilization.
Patent Information
- Application Number
- FR2023015018
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-22
- Publication Date
- 2025-06-27
AI Technical Summary
Existing mesh communication networks of the local area network type rely on spanning trees for routing data packets, which limits specific routing and optimizes communications only from and to the root of the spanning tree, failing to fully utilize the redundancy offered by the mesh network.
The method involves using two parallel logical network configurations in each bridge device: a first configuration for point-to-point data packet routing defined by dynamic routing, and a second configuration for broadcast or point-to-multipoint routing defined by a spanning tree, thereby eliminating loops and optimizing data transmissions.
This approach allows for improved data packet routing in mesh communication networks, effectively utilizing the redundancy of the mesh to optimize point-to-point data transmissions while ensuring efficient broadcast and point-to-multipoint communications.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: TRANSMISSION OF DATA PACKETS IN A MESH COMMUNICATION NETWORK OF THE LOCAL NETWORK TYPE Technical field
[0001] The present invention relates to data packet transmissions in a mesh communication network of the local area network type in which bridge devices are interconnected. STATE OF PRIOR ART
[0002] Several solutions exist for creating a mesh communication network of the local network type, for example for interconnecting wireless network extenders (e.g., WiFi) to a home gateway, and in particular bridge device technologies.
[0003] However, in the context of these solutions, a spanning tree is defined so as to connect all of the bridge devices while eliminating any loops in the mesh communication network. The loops in the mesh communication network then introduce redundancies that are used as a backup path if a main path in the spanning tree were to fail. The spanning tree is then redefined in order to use such backup paths rather than the failed main paths that were previously used. However, at a given moment, only the main paths are used for all of the communications in the mesh communication network, thus preventing specific routing of data packets. Such a topology only makes it possible to optimize communications from and to the root of said spanning tree.
[0004] It is desirable to overcome these drawbacks of the state of the art. In particular, it is desirable to provide a solution that makes it possible to improve the routing of data packets in such mesh communication networks, in order to better benefit from the redundancy offered by the mesh of these mesh communication networks rather than relying on a spanning tree for the routing of these data packets. Statement of the invention
[0005] A method for transmitting data packets in a mesh communication network of the local area network type which interconnects bridge devices is proposed herein, in which each bridge device uses in parallel:
[0006] - a first configuration of first logical network, which is used for route data packets in point-to-point mode, and which is defined by a dynamic routing between bridge devices; and
[0007] - a second logical network configuration, which is used to route data packets in broadcast or point-to-multipoint mode, and which is defined according to a spanning tree by blocking one or more ports of the bridge devices to eliminate one or more loops from the mesh communication network.
[0008] Thus, thanks to this parallel use of the first configuration of the first logical network for routing data packets in point-to-point mode and the second configuration of the second logical network for routing data packets in broadcast or point-to-multipoint mode, redundancies offered by the mesh of the mesh communication network are used to optimize data transmissions in point-to-point mode.
[0009] According to a particular embodiment, the second configuration of the second logical network is obtained by using a virtual local area network.
[0010] According to a particular embodiment, in each bridge device, the first configuration of the first logical network involves a transcription of a list at level 3 of the OSI model into a switching database at level 2 of the OSI model, the list listing the address at level 3 of the OSI model of each device of the mesh communication network or connected to the mesh communication network in association with a port identifier of the bridge device in question to be used to route data packets to the device in question, the list being obtained during dynamic routing.
[0011] According to a particular embodiment, when a new station device is connected to a port of a said bridge device, each bridge device performs the following steps:
[0012] - use the second configuration of second logical network to route in the mesh communication network a discovery request from the new station device;
[0013] - update the OSI model level 2 switching database of the bridge device in question with a MAC address of the new station device in association with an identifier of the port, of the bridge device in question, through which the discovery request arrived;
[0014] - use the OSI model level 2 switching database thus updated day to route in the mesh communication network a response to the discovery request, in which an OSI model level 3 address, which is assigned to the new station device, is included;
[0015] - enrich the list at level 3 of the OSI model with the level 3 address of the model OSI, which is assigned to the new station device and determine the port identifier to associate with it using dynamic routing;
[0016] - modify the OSI model level 2 switching database of the bridge device in question to transcribe, if necessary, the dynamic routing corresponding to the level 3 address of the OSI model assigned to the new station device.
[0017] According to a particular embodiment, the first configuration of the first logical network is obtained by exchanging level 3 messages of the OSI model between immediate neighbors of the mesh communication network among the bridge devices.
[0018] According to a particular embodiment, the first configuration of the first logical network and the second configuration of the second logical network are updated in the event of a change in the topology of the mesh communication network which interconnects the bridge devices, and the first configuration of the first logical network only is updated in the event of a station device being connected to the mesh communication network or disconnecting the station device from the mesh communication network.
[0019] Also provided herein is a computer program product comprising instructions causing an implementation of the method set forth above in any of its embodiments, when the instructions are executed by a processor. Also provided is an information storage medium comprising instructions causing an implementation of the method set forth above in any of its embodiments, when the instructions are read from the information storage medium and executed by a processor.
[0020] Also provided herein is a bridge device for use in a LAN-type mesh communication network that interconnects multiple such bridge devices, the bridge device comprising electronic circuitry configured to use in parallel:
[0021] - a first configuration of first logical network, which is used for route data packets in point-to-point mode, and which is defined by dynamic routing between bridge devices; and
[0022] - a second logical network configuration, which is used to route data packets in broadcast or point-to-multipoint mode, and which is defined according to a spanning tree by blocking one or more ports of the bridge devices to eliminate one or more loops from the mesh communication network.
[0023] Also provided herein is a local area network type mesh communication network that interconnects multiple bridge devices as discussed above.
[0024] According to a particular embodiment, one said bridge device is included in a home gateway and the other said bridge devices are respectively included in wireless local area network extenders. Brief description of the drawings
[0025] The characteristics of the invention mentioned above, as well as others, will appear more clearly on reading the following description of at least one exemplary embodiment, said description being made in relation to the attached drawings, among which:
[0026] [Fig.l] schematically illustrates a mesh communication network;
[0027] [Fig.2] schematically illustrates an example of a hardware arrangement suitable for im implement a mesh communication network device;
[0028] [Fig.3A] schematically illustrates an algorithm for a method of transmitting data packets in the mesh communication network;
[0029] [Fig.3B] schematically illustrates a method algorithm for taking into account a new station device connected to the mesh communication network;
[0030] [Fig.4] schematically illustrates the mesh communication network according to a example of a logical network configuration suitable for data packet transmissions in broadcast or point-to-multipoint mode;
[0031] [Fig.5A] schematically illustrates operations for routing a discovery request in the mesh communication network;
[0032] [Fig.5B] schematically illustrates contents of switching databases, at level 2 of the OSI model, of bridge devices of the mesh communication network following the discovery request routing operations of [Fig.5A];
[0033] [Fig.5C] schematically illustrates routing operations, in the mesh communication network, of a response to the discovery request of [Fig.5A];
[0034] [Fig.5D] schematically illustrates exchanges between bridge devices which are immediate neighbors in the mesh communication network;
[0035] [Fig.5E] schematically illustrates contents of lists, at level 3 of the OSI model, following the exchanges of [Fig.5D]; and
[0036] [Fig.5F] schematically illustrates a transcription, in the databases of switching of bridge devices, contents of the lists of [Fig.5E].
[0037] DETAILED DESCRIPTION OF EMBODIMENTS
[0038] [Fig.l] thus schematically illustrates a mesh communication network 100 of the local network type which interconnects bridge devices B0 120, B1 121, B2 122.
[0039] The bridge devices B0 120, B1 121, B2 122 jointly implement routing mechanisms for routing data packets in the mesh communication network 100. The mesh communication network 100 is adapted and configured to accommodate station devices STA1 141, STA2 142 and allow them to communicate through the mesh communication network 100. For example, the station devices STA1 141, STA2 142 can communicate with each other and / or communicate with a functionality of a device in which a said bridge device is included, such as a gateway functionality (eg, to access the Internet) or a DHCP (Dynamic Host Configuration Protocol) server functionality.
[0040] The station devices STA1 141, STA2 142 are, for example, computers, electronic tablets or multifunction mobile phones, or any type of communicating electronic equipment (TV, audiovisual decoder, etc.). We speak, in an equivalent manner, of a terminal device.
[0041] Bridge devices are typically included in devices providing additional functionality. Thus, in [Fig.l], bridge device B0 120 is included in a DEV0 device 110, bridge device B1 121 is included in a DEV1 device 111, and bridge device B2 122 is included in a DEV2 device 112. Thus, for example, the DEV0 device 110 that includes bridge device B0 120 further includes a DHCP server (labeled DHCP-S in [Fig.l]) 150.
[0042] In one embodiment, one bridge device (the bridge device B0 120 in [Fig.l]) is included in a home gateway, and the other bridge devices (the bridge devices B1 121 and B2 122 in [Fig.l]) are respectively included in wireless local area network extenders, such as Wi-Fi extenders that extend the Wi-Fi coverage of a local area network.
[0043] More precisely, to route the data packets in the mesh communication network 100, each of the bridge devices B0 120, B1 121, B2 122 uses in parallel:
[0044] - a first configuration of first logical network, which is used for route data packets in point-to-point mode (“unicast” in English), and which is defined by dynamic routing (also called adaptive routing) between the bridge devices B0 120, B1 121, B2 122; and
[0045] - a second logical network configuration, which is used to route data packets in broadcast or point-to-multipoint mode, and which is defined according to a spanning tree by blocking one or more ports of the bridge devices B0 120, B1 121, B2 122 to eliminate one or more loops of the mesh communication network 100.
[0046] In a particular embodiment, the second configuration of the second logical network is obtained by using a virtual local area network. In other words, a virtual local area network is used to perform various operations for defining the spanning tree. This makes it easy to ensure that these operations do not interfere with the definition of the first configuration of the first logical network.
[0047] For simplicity of description, [Fig.l] shows a mesh communication network comprising only three bridge devices. It is understood, however, that what is described herein applies to mesh communication networks having much more complex meshes with a higher quantity of bridge devices.
[0048] [Fig.2] schematically illustrates an example of a hardware arrangement suitable for implementing a device DEV 200 of the mesh communication network 100, such as the devices DEV0 110, DEV1 111 and DEV2 112.
[0049] The hardware arrangement presented comprises, connected by a communication bus 210: a processor or CPU (Central Processing Unit) 201; a RAM (Random-Access Memory) 202; a non-volatile memory, for example of the ROM (Read Only Memory) type 203 or EEPROM (Electrically-Erasable Programmable ROM), or of the Flash type; a storage unit, such as a storage medium SM 204, for example a hard disk HDD (Hard Disk Drive), or a storage medium reader, such as an SD (Secure Digital) card reader; and a COM communication interface manager 205.
[0050] The COM communication interface manager 205 allows the presented hardware arrangement to interact with other devices of the mesh communication network 100 or which are connected to the mesh communication network 100. The communication interfaces are for example Wi-Fi interfaces on different frequency bands (2.4 GHz, 5 GHz, 6 GHz), Ethernet interfaces, etc. Note that several bridge device ports can be virtualized on the same physical communication interface.
[0051] The processor or CPU 201 is capable of executing instructions loaded into the RAM 202, in particular from the non-volatile memory 203 or the storage medium SM (such as an SD card) 204. When the hardware arrangement presented is powered up, the processor or CPU 201 is thus capable of reading instructions from the RAM 202 and executing them. These instructions form a computer program causing in particular the implementation, by the processor or CPU 201, of the steps, methods and behaviors described here in relation to the device to which the device DEV 200 corresponds.
[0052] All or part of the steps, methods and behaviors described herein may thus be implemented in software form by executing a set of instructions by a programmable machine, for example a DSP (Digital Signal Processor) type processor or a microcontroller, or be implemented in hardware form by a machine or a dedicated electronic component (chip) or a dedicated set of electronic components (chipset), for example an FPGA (Field Programmable Gate Array) or ASIC (Application Specified Integrated Circuit) component. In general, the devices of the mesh communication network 100, such as the devices DEV0 110, DEV1 111 and DEV2 112 (and consequently the bridge devices B0 120, B1 121, B2 122), comprise electronic circuitry adapted and configured to implement the steps, methods and behaviors described herein.
[0053] [Fig.3A] schematically illustrates an algorithm for a method of transmitting data packets in the mesh communication network 100.
[0054] In a step 301, the bridge devices B0 120, B1 121, B2 122 cooperate to set up a first configuration of the first logical network which is intended to route data packets in point-to-point mode (“unicast” in English) through the mesh communication network 100. More particularly, each bridge device B0 120, B1 121, B2 122 sets up the first configuration of the first logical network, which is defined by dynamic routing between the bridge devices.
[0055] Dynamic routing is a process, well known to those skilled in the art of mesh communication networks, during which the bridge devices B0 120, B1 121, B2 122 establish paths to be taken by the data packets in point-to-point mode among different candidate paths between a source device and a destination device in the mesh communication network 100, according to transmission costs determined for the different candidate paths. For example, the bridge devices B0 120, B1 121, B2 122 use a dynamic routing protocol such as a distance vector routing protocol, or a link-state routing protocol, or the OSPF protocol (“Open Shortest Path First” in English) as defined in its 2nd version in the normative document RFC 2328.
[0056] Thus, the first configuration of the first logical network makes it possible to take advantage of the mesh (and therefore the potential loops) offered by the mesh communication network 100 to optimize the paths taken by the transmissions of data packets in point-to-point mode.
[0057] In a step 302, the bridge devices B0 120, B1 121, B2 122 cooperate to set up a second configuration of a second logical network which is intended to route data packets in broadcast mode and data packets in point-to-multipoint mode (multicast) through the mesh communication network 100. More particularly, each bridge device B0 120, B1 121, B2 122 sets up the second configuration of a second logical network, which is defined according to a spanning tree by blocking one or more ports of the bridge devices to eliminate one or more loops of the mesh communication network 100.
[0058] A spanning tree, well known to those skilled in the art of mesh communication networks, is a subset of interconnections of a mesh communication network interconnecting node devices that covers all of the node devices without link redundancy between the node devices. The spanning tree is ty staking obtained according to a layer 2 protocol (link level) in the OSI model (Open Systems Interconnection). For example, the bridge devices BO 120, B1 121, B2 122 use the Spanning Tree protocol (STP) as defined in the IEEE 802.1D standard. The root of the spanning tree can be a particular bridge device, such as a bridge device included in a residential gateway.
[0059] Steps 301 and 302 may be executed in reverse order. Steps 301 and 302 are repeated when a change of topology occurs in the mesh communication network 100 (insertion of a bridge device, disappearance of a bridge device, appearance of a new link between bridge devices, disappearance of a link between bridge devices, change of at least one characteristic of at least one link between bridge devices so as to cause a change of at least one route score (or cost) in the mesh communication network 100, and therefore a determination of new optimized routes through the mesh communication network 100 and possibly of a new spanning tree).
[0060] In a step 303, each bridge device B0 120, B1 121, B2 122 uses in parallel the first configuration of the first logical network, to route data packets in point-to-point mode through the mesh communication network 100, and the second configuration of the second logical network, to route data packets in broadcast or point-to-multipoint mode in the mesh communication network 100.
[0061] When a modification of the topology of the mesh communication network 100 in the interconnections between the bridge devices occurs, step 301 and step 302 are repeated to possibly modify the first configuration of the first logical network (new optimization of the point-to-point paths) and the second configuration of the second logical network (new definition of spanning tree). For example, one of the devices DEV0 110 or DEV1 111 or DEV2 112 already present in the mesh communication network 100, sees its characteristics changed or modified to the point of causing a change of topology of the mesh communication network 100. This may for example involve the addition of a connectivity module providing an additional port. It may also involve a failure affecting one of the ports.This could also be, for example, a software update that modifies wireless communication functionalities or modifies the configuration of the device in question.
[0062] [Fig.3B] schematically illustrates a method algorithm for taking into account a new station device connected to the mesh communication network 100. The new station device designates a device or equipment newly arrived or connected to the mesh communication network 100.
[0063] In a step 310, a new station device is connected to the communication network mesh communication network 100. The new station device is connected through a port of a bridge device of the mesh communication network 100.
[0064] In a step 311, a discovery request is transmitted by the new station device in order to obtain a routable address, namely a level 3 address of the OSI model. The discovery request is transmitted in broadcast mode, so that the routing of the discovery request follows the second configuration of the second logical network (spanning tree).
[0065] In a step 312, as the broadcast of the discovery request progresses in the mesh communication network, an OSI model level 2 switching database of each bridge device is updated with an OSI model level 2 address (typically, a MAC address (Medium Access Control)) of the new station device in association with an identifier of the port, of the bridge device in question, through which the discovery request arrived.
[0066] In a step 313, a response to the discovery request is transmitted to the new station device. A routable address, of level 3 of the OSI model, which is assigned to the new station device, is included in the response to the discovery request. The response to the discovery request is transmitted in point-to-point mode. Thus, in each bridge device along the way, the OSI model level 2 switching database as updated in step 312 is used.
[0067] In a step 314, the routable address, of level 3 of the OSI model, assigned to the new station device is added to a list L which lists level 3 addresses of the OSI model of the devices present in the mesh communication network 100 or connected to the mesh communication network 100, and this, within each bridge device of the mesh communication network 100. In each list L, each level 3 address of the OSI model is associated with the identifier of the port (of the bridge device in question) by which to communicate in point-to-point mode with the device to which the address in question is assigned, this port being determined by dynamic routing. The address of the new station device thus enriches the list L within each bridge device.
[0068] Note that, in each bridge device, the list L may have a format similar to a routing table; however, this list L is not used to perform routing, and it is a transcription of this list L at level 2 of the OSI model which will allow the bridge device in question to route the data packets in an optimized manner in point-to-point mode in the mesh communication network 100.
[0069] In a step 315, the dynamic routing corresponding to the level 3 address of the OSI model assigned to the new station device is retranscribed, for each bridge device of the mesh communication network 100, in the switching database level 2 switching database of the OSI model of the bridge device in question. In each bridge device, the list L mentioned in step 314 is used to do this. A second update of the level 2 switching database of the OSI model of each bridge device is carried out if necessary to take into account the dynamic routing corresponding to the new station device.
[0070] The method of [Fig.3A] is described above in relation to the addition of a station device. The same behavior applies in the context of an addition of a new bridge device (whose level 3 address of the OSI model therefore appears in the list L of the other bridge devices of the mesh communication network 100, which results in a transcription in their level 2 switching database of the OSI model). This may be, for example, a wireless communication coverage extension device (“extender” in English) newly added in the topology of the mesh communication network 100.
[0071] An example of execution of the methods of Figs. 3A and 3B is detailed below.
[0072] [Fig.4] schematically illustrates the mesh communication network 100 of [Fig.l] according to an example of a second configuration of a second logical network (i.e., for routing data packets in broadcast or point-to-multipoint mode).
[0073] As illustrated in [Fig.l], the mesh communication network 100 has a loop between the bridge devices B0 120, B1 121, B2 122, which each have three ports, numbered from 1 to 3. As detailed in [Fig.4], port 2 of the bridge device B0 120 is connected to port 3 of the bridge device B1 121, port 3 of the bridge device B0 120 is connected to port 3 of the bridge device B2 122, and port 1 of the bridge device B0 120 is not connected to any bridge device. In addition, port 2 of the bridge device B1 121 is connected to port 1 of the bridge device B2 122, and port 1 of the bridge device B1 121 and port 2 of the bridge device B2 122 are not connected to any bridge device.
[0074] Each bridge device comprises a bridge processor (hardware or software) connected to each of the ports of the bridge device in question, in order to process data packets which transit via these ports. Thus, the bridge device B0 120 comprises a bridge processor BP0 430, the bridge device B1 121 comprises a bridge processor BPI 431, and the bridge device B2 122 comprises a bridge processor BP2 432.
[0075] Each bridge device further comprises a switching database (called "Forwarding Database" in English) of level 2 of the OSI model. The switching database comprises entries indicating addresses, of level 2 of the OSI model, of known devices of the communication network 100, in association with the identifier of the port of the bridge device in question through which any data packet intended for the known device in question must exit.
[0076] Each bridge device further comprises a list L as already mentioned above (level 3 of the OSI model). Thus, the bridge device B0 120 comprises a list LO 410, the bridge device B1 121 has a list L1 411, and the bridge device B2 122 has a list L2 412.
[0077] For point-to-point mode, if for a device the switching database were not to be filled in, the data packet intended for the device in question would be discarded. Such a situation is possible during a transient phase of propagation of dynamic routing rules and their retranscription, within each bridge device, in the switching database.
[0078] Each bridge device further comprises a description of the second logical second network configuration as it is to be locally applied by the bridge device in question. For each bridge device, this description reflects the result of the local definition of the spanning tree to be applied in the mesh communication network 100. Thus, the bridge device B0 120 comprises a description STC0 440 of the second logical second network configuration which indicates that the three ports of the bridge device B0 120 are kept in the applicable spanning tree. This means that a data packet transmitted in broadcast or point-to-multipoint mode which is received via any of the ports of the bridge device B0 120 is propagated by the bridge processor BP0 430 via the other ports of the bridge device B0 120.Similarly, the B2 bridge device 122 has a description STC2 442 of the second logical network configuration that indicates that all three ports of the B2 bridge device 122 are maintained in the applicable spanning tree. This means that a data packet transmitted in broadcast or point-to-multipoint mode that is received via any of the ports of the B2 bridge device 122 is propagated by the BP2 bridge processor 432 via the other ports of the B2 bridge device 122. Loop elimination is resolved at the B1 bridge device 121. Thus, the B1 bridge device 121 has a description STC1 441 of the second logical network configuration that indicates that ports 1 and 2 of the B1 bridge device 121 are maintained in the applicable spanning tree but that a blocking of port 3 of the B1 bridge device 121 is operated in the applicable spanning tree.This means that a data packet transmitted in broadcast or point-to-multipoint mode which is received via port 3 of the bridge device B1 121 is discarded by the bridge processor BPI 431. In addition, a data packet transmitted in broadcast or point-to-multipoint mode which is received via port 1 (respectively 2) of the bridge device B1 121 is propagated by the bridge processor BPI 431 via port 2 (respectively 1) of the bridge device B1 121, but not via port 3 of the bridge device B1 121. This blocking of port 3 of the bridge device B1 121, for data packets transmitted in broadcast or point-to-multipoint mode, is marked with a cross in [Fig.4].
[0079] Thus, thanks to the blocking of port 3 of the bridge device B1 121, the first logical network defined according to the topology of the mesh communication network 100 is a spanning tree which includes all the bridge devices B0 120, B1 121, B2 122 without the presence of loop. The transmission of data packets in broadcast mode and in point-to-multipoint mode can thus be easily ensured in the mesh communication network 100.
[0080] [Fig.5A] schematically illustrates discovery request routing operations in the mesh communication network 100 when a new station device is connected to a port of a said bridge device. The new station device added here is, illustratively, the station device STA1 141 shown in connection with [Fig. 1].
[0081] The station device STA1 141 is connected to port 1 of the bridge device B1 121. The station device STA1 141 seeks to be assigned a routable address, typically of level 3 in the OSI model (such as an IP address (“Internet Protocol” in English). To do this, the station device STA1 141 transmits a discovery request in broadcast mode, in a step 501. In a particular embodiment, the discovery request is a “DHCP Discover” type message according to the DHCP protocol.
[0082] The routing in the mesh communication network 100 therefore follows the second logical network detailed above in relation to [Fig.4].
[0083] Thus, the discovery request is received on port 1 of the bridge device B1 121, and the bridge processor BPI 431 propagates the discovery request in accordance with the description STC1 441 of the second configuration of the second logical network. Since port 3 of the bridge device B1 121 is blocked, the bridge processor BPI 431 propagates the discovery request on port 2 of the bridge device B1 121, in a step 502. The bridge processor BPI 431 also provides the discovery request internally to the device DEV1111 for possible processing (but here the device DEV1111 is not in charge of responding to the discovery request).
[0084] The discovery request is then received on port 1 of the bridge device B2 122, and the bridge processor BP2 432 propagates the discovery request in accordance with the description STC2 442 of the second configuration of the second logical network. The bridge processor BP2 432 therefore propagates the discovery request on ports 2 and 3 of the bridge device B2 122, in a step 503. The bridge processor BP2 432 also provides the discovery request internally to the device DEV2 112 for possible processing (but here the device DEV2 112 is not in charge of responding to the discovery request).
[0085] The discovery request is then received on port 3 of the bridge device B0 120, and the bridge processor BP0 430 propagates the discovery request in accordance with the description STC0 440 of the second configuration of the second logical network. The bridge processor BP0 430 therefore propagates the discovery request on ports 1 and 2 of the bridge device B0 120, in a step 504. The bridge processor BP0 430 provides the discovery request also internally of the DEVO device 110 for possible processing (which is the case here). Since port 3 of the B1 bridge device 121 is blocked, the BPI bridge processor 431 discards the discovery request as propagated by the B0 bridge device 120.
[0086] As the discovery request is routed through the mesh communication network 100, each bridge device updates its own switching database with a MAC address of the new station device STA1 141 in association with an identifier of the port, of the bridge device in question, through which the discovery request arrived. Thus, at this point, the switching databases of the bridge devices of the mesh communication network 100 reflect a routing of data packets to the new station device STA1 141 in point-to-point mode which follows the second logical network.
[0087] [Fig.5B] schematically illustrates contents of switching databases of bridge devices of the mesh communication network following the discovery request routing operations of [Fig.5A].
[0088] When the discovery request was received on port 1 of the bridge device B1 121, the bridge processor BPI 431 updated the switching database FDB1 421 by adding an entry for the new station device STA1 141. Thus, as illustrated in [Fig.5B], the switching database FDB1 421 is updated with the MAC address of the new station device STA1 141, accompanied by the identifier of the port (here port 1) by which the discovery request sent by the new station device STA1 141 was received by the bridge device B1 121, namely “@MAC STA1: 1”.
[0089] And when the discovery request was received on port 1 of the bridge device B2 122, the bridge processor BP2 432 updated the switching database FDB2 422 by adding an entry for the new station device STA1 141. Thus, as illustrated in [Fig.5B], the switching database FDB2 422 is updated with the MAC address of the new station device STA1 141, accompanied by the identifier of the port (here port 1) by which the discovery request sent by the new station device STA1 141 was received by the bridge device B2 122, namely “@MAC STA1: 1”.
[0090] Finally, when the discovery request has been received on port 3 of the bridge device B0 120, the bridge processor BP0 430 has updated the switching database FDB0 420 by adding an entry for the new station device STA1 141. Thus, as illustrated in [Fig.5B], the switching database FDB0 420 is updated with the MAC address of the new station device STA1 141, accompanied by the identifier of the port (here port 3) by which the discovery request sent by the new station device STA1 141 was received by the bridge device B0 120, namely “@MAC STA1: 3”.
[0091] The discovery request is intended to be processed by a server for assigning routable addresses (level 3 addresses of the OSI model). In [Fig.l], the DHCP-S server 150 is able to provide a response to the discovery request sent by the new station device STA1. The DHCP-S server 150 assigns a routable address, of level 3 of the OSI model (typically an IP address), to the new station device STAL. The DHCP-S server 150 then generates a response to the discovery request, so as to inform the station device STA1 of the routable address that has been assigned to it. In a particular embodiment, the response to the discovery request is a message of the “DHCP Offer” type according to the DHCP protocol.
[0092] The contents of the switching databases FDB0 420, FDB1 421, FDB2 422 make it possible to route the response to the discovery request, in the mesh communication network 100, in point-to-point mode although dynamic routing is not yet taken into account for the new station device STA1 141.
[0093] [Fig.5C] schematically illustrates routing operations, in the mesh communication network 100, of the response to the discovery request routed as schematically illustrated in [Fig.5A].
[0094] When the bridge processor BP0 430 receives from the DHCP-S server 150 the response to be transmitted to the new station device STA1 141, the bridge processor BP0 430 scans the switching database FDB0 420 to determine via which port to transmit in point-to-point mode a data packet to the new station device STA1 141. Thus, in a step 511, the bridge processor BP0 430 propagates the response to the discovery request via port 3 of the bridge device B0 120.
[0095] The response to the discovery request is then received on port 3 of the bridge device B2 122, and the bridge processor BP2 432 scans the switching database FDB2 422 to determine via which port to transmit in point-to-point mode a data packet to the new station device STA1 141. Then, in a step 512, the bridge processor BP2 432 propagates the response to the discovery request via port 1 of the bridge device B2 122.
[0096] The response to the discovery request is then received on port 2 of the bridge device B1 121, and the bridge processor BPI 431 scans the switching database FDB1 421 to determine via which port to transmit in point-to-point mode a data packet to the new station device STA1 141. Then, in a step 513, the bridge processor BP2 431 propagates the response to the discovery request via port 1 of the bridge device B1 121. The response to the discovery request is then received by the new station device STA1 141, which then has the routable address (typically, the IP address) which has been assigned to it.
[0097] The content of the switching databases FDBO 420, FDB1 421, FDB2 422 is subsequently reviewed during the implementation and updating of the dynamic routing (first logical network configuration). As detailed below, the implementation and updating of the dynamic routing are based on the exchange of messages (data packets) from one to the next between the bridge devices. Consequently, these messages do not need to be propagated as such through the bridge devices B0 120, B1 121, B2 122. The implementation and updating of the dynamic routing are therefore not impacted by the absence of rules concerning the bridge devices B0 120, B1 121, B2 122 in the switching databases FDBO 420, FDB1 421, FDB2 422 at this stage.
[0098] [Fig.5D] schematically illustrates operations for setting up, or updating, dynamic routing (first logical network configuration) in the mesh communication network 100.
[0099] Different network topology modification events cause exchanges between immediate neighbors of the mesh communication network 100 among the bridge devices B0 120, B1 121, B2 122: insertion of a bridge device, disappearance of a bridge device, appearance of a new link between bridge devices, disappearance of a link between bridge devices (eg, degradation of a wireless link below a predefined link quality threshold), change of at least one characteristic of at least one link between bridge devices so as to cause a change of at least one route score (or cost) in the mesh communication network 100, and therefore a determination of new optimized routes through the mesh communication network 100.
[0100] In a particular embodiment, the bridge devices B0 120, B1 121, B2 122 use, to do this, level 3 addresses of the OSI model which constitute a control addressing plan of the mesh communication network 100. These control addressing plan addresses are dedicated to communications between immediate neighbors among the bridge devices B0 120, B1 121, B2 122 and the messages which use such addresses are therefore not propagated by the bridge devices B0 120, B1 121, B2 122 in the mesh communication network 100. In this respect, it should be noted that the processing of such messages does not interact with the switching databases FDBO 420, FDB1 421, FDB2 422. These communications between immediate neighbors among the bridge devices B0 120, B1 121, B2 122 are represented by exchanges 521, 522, 523 in [Fig.5D].
[0101] The allocation of these control addressing plane addresses (typically, IP addresses) can be done in a distributed manner, for example according to the normative document RFC 3927 "Dynamic Configuration of IPv4 Link-Local Addresses" or according to the normative document RFC 4862 "IPv6 Stateless Address Autoconfiguration". Note that the OSI model level 3 addresses used by messages (or data packets) that are to be propagated by the bridge devices BO 120, B1 121, B2 122 in the mesh communication network 100 constitute a home addressing plan, separate from the control addressing plan. It is the addresses of the home addressing plan, and not those of the control addressing plan, that appear in the lists LO 410, L1 411, L2 412.
[0102] Each time a bridge device is added or removed, a dynamic routing review occurs due to the change in topology of the mesh communication network 100. Communications between immediate neighbors among the bridge devices B0 120, B1 121, B2 122 take place again, the lists L0 410, L1 411, L2 412 are then updated accordingly. Likewise, each time a link is added or removed between bridge devices, communications between immediate neighbors among the bridge devices B0 120, B1 121, B2 122 also take place, in order to also update a topological representation of the mesh communication network 100 with each bridge device B0 120, B1 121, B2 122, thus making it possible to determine in real time which are the most suitable routes for reaching each device of the mesh communication network 100 or connected to the communication network 100.
[0103] Note that for the detection of the appearance or disappearance of a port (typically activation of a bridge device interface), events are generated by the bridge device concerned, to generate the allocation, respectively the deletion, of an address from the control addressing plan linked to the port in question. This modification of the control addressing plan is propagated between the bridge devices B0 120, B1 121, B2 122 to reflect the topology of the mesh communication network 100.
[0104] Each time a station device is added or removed, the routes involving the station device in question (source or destination) are calculated by updating the dynamic routing accordingly. The addition or removal of a station device results in the appearance, or disappearance, of a level 3 address in the OSI model (typically an IP address). For example, the bridge devices B0 120, B1 121, B2 122 listen to and analyze different frames circulating in the mesh communication network 100, such as DHCP and ARP (Address Resolution Protocol) frames, to identify the equipment present and determine their MAC and IP addresses. For example, there are various technologies for detecting the IPv4 / IPv6 addresses of devices connected to a communication network, such as the inspection of frame data packet headers, deep inspection of DHCP (IPv4) or Neighbor Advertisement (IPv6) messages, etc.Detecting the appearance / disappearance of an OSI level 3 address allows it to be added / removed from dynamic routing. Each bridge device B0 120, . B1 121, B2 122 detecting an appearance / disappearance of an address of level 3 of the OSI model propagates corresponding information to the other bridge devices BO 120, B1 121, B2 122 by exchanging messages of level 3 of the OSI model between immediate neighbors.
[0105] When a device is added, in a particular embodiment, the information also includes the OSI model level 2 address (typically MAC address) of the device in question. As explained above, the correspondence between OSI model level 2 address (typically MAC address) and OSI model level 3 address (typically IP address) can be obtained by inspecting messages in the communication network 100 (typically, messages transmitted in broadcast mode), such as for example DHCP or ARP frames.
[0106] Thus, the first configuration of the first logical network is obtained by exchanging level 3 messages of the OSI model between immediate neighbors among the bridge devices B0 120, B1 121, B2 122.
[0107] Then, each bridge device B0 120, B1 121, B2 122 is informed of the presence of the station device STA1 141 by its level 3 address of the OSI model and the optimized path in the communication network to reach it in view of the first configuration of the first logical network.
[0108] Then as illustrated schematically in [Fig.5E], the lists L0 410, L1 411, L2 412 are updated with an entry corresponding to the level 3 address of the OSI model (typically IP address) of the station device STA1 141 associated with the identifier of the port (of the bridge device in question) to be used to route packets in point-to-point mode to said station device, as determined by the dynamic routing.
[0109] And, to allow the optimized routing of transmissions in point-to-point mode in the mesh communication network 100, each bridge device B0 120, B1 121, B2 122 performs a retranscription of this entry corresponding to the level 3 address of the OSI model from the list L0 410, L1 411, L2 412 in question to the corresponding switching database FDB0 420, FDB1 421, FDB2 422.
[0110] As schematically illustrated in [Fig.5F], it then emerges that the switching databases FDB0 420, FDB1 421, FDB2 422 are reviewed as needed, and considering that the path to reach the station device STA1 141 from the bridge device B2 122 is shorter by passing through port 1 of the bridge device B2 122 rather than through port 3 of the bridge device B2 122, the corresponding entry in the switching database FDB2 422 is updated accordingly.
[0111] Thus, when a data packet is to be transmitted or propagated in point-to-point mode by the bridge device B2 122 to the station device STA1 141, port 3 of the bridge device B2 122 is used. The routing of the data packet in point-to-point mode point-to-point is thus optimized (first logical network) and does not follow the spanning tree (second logical network) which could be established in accordance with the current topology of the mesh communication network 100.
[0112] In a particular embodiment, when the DEVO device 110 is a home gateway providing access to a wide area network (WAN), a wide area network access interface can be exported (made visible) in the mesh communication network 100 by the DEVO device 110 as a separate device connected to the mesh communication network 100. This wide area network access interface is connected to one of the ports of the bridge device B0 120 (for example, port 1 of the bridge device B0 120). A level 2 address in the OSI model (typically a MAC address) is assigned to this wide area network access interface, and the steps of Figs. 3A and 3B are performed for the wide area network access interface as for any station device connected to the mesh communication network 100.Thus, the wide area network access interface is taken into account in the dynamic routing in a simple and efficient manner, and the station devices connected to the mesh communication network 100 have easy access to the wide area network, such as the Internet, while benefiting from optimized routing in point-to-point mode in the mesh communication network 100.
[0113] In a particular embodiment, when the behaviors of bridge devices described above are implemented by taking as a starting point a conventional bridge device, it should be noted that the learning and forwarding functions of this conventional bridge device must be deleted or deactivated, so as not to conflict with the dynamic routing and the transcription of its result in the switching database, as proposed above.
Claims
Claims
1. A method for transmitting data packets in a mesh communication network (100) of the local area network type that interconnects bridge devices (120, 121, 122), wherein each bridge device (120, 121, 122) uses (303) in parallel: - a first configuration of a first logical network, which is used to route data packets in point-to-point mode, and which is defined by dynamic routing between the bridge devices (120, 121, 122); and - a second configuration of a second logical network, which is used to route data packets in broadcast or point-to-multipoint mode, and which is defined according to a spanning tree by blocking one or more ports of the bridge devices (120, 121, 122) to eliminate one or more loops of the mesh communication network (100).
2. The method of claim 1, wherein the second logical network configuration is achieved by using a virtual local area network.
3. The method of claim 1 or 2, wherein in each bridge device (120, 121, 122), the first logical network configuration involves a transcription of an OSI Level 3 list (410, 411, 412) into an OSI Level 2 switching database (420, 421, 422), the list listing the OSI Level 3 address of each device in the mesh communication network (100) or connected to the mesh communication network (100) in association with a port identifier of the bridge device (120, 121, 122) in question to be used to route data packets to the device in question, the list being obtained during dynamic routing.
4. The method of claim 3, wherein when a new station device (141) is connected to a port of a said bridge device (121), each bridge device (120, 121, 122) performs the following steps: - using (311) the second second logical network configuration to route in the mesh communication network (100) a discovery request from the new station device (141); - updating (312) the OSI model level 2 switching database of the bridge device in question (120, 121, 122) with a MAC address of the new station device (141) in association with an identifier of the port, of the bridge device in question (120, 121, 122), through which the discovery request arrived; - using (313) the OSI model level 2 switching database thus updated to route in the mesh communication network (10) a response to the discovery request, in which an OSI model level 3 address, which is assigned to the new station device (141), is included; - enriching the list at OSI model level 3 with the OSI model level 3 address, which is assigned to the new station device (141) and determining the port identifier to be associated with it using dynamic routing; - modify (315) the level 2 switching database of the OSI model of the bridge device in question (120, 121, 122) to transcribe, where appropriate, the dynamic routing corresponding to the level 3 address of the OSI model assigned to the new station device (141).
5. The method according to any one of claims 1 to 4, wherein the first configuration of the first logical network is obtained by exchanging (521, 522, 523) OSI model level 3 messages between immediate neighbors of the mesh communication network (100) among the bridge devices (120, 121, 122).
6. The method according to any one of claims 1 to 5, wherein the first configuration of first logical network and the second configuration of second logical network are updated in case of a change in topology of the mesh communication network (100) which interconnects the bridge devices (120, 121, 122), and wherein the first configuration of first logical network only is updated in case of connection of a station device (141, 142) to the mesh communication network (100) or disconnection of the station device (141, 142) from the mesh communication network (100).
7. A computer program product comprising instructions causing an implementation of the method according to any one of claims 1 to 6, when the instructions are executed by a processor.
8. An information storage medium having instructions causing an implementation of the method according to any one of claims 1 to 6, when the instructions are read from the storage medium. storage of information and executed by a processor.
9. A bridge device (120, 121, 122) for use in a mesh communication network (100) of the local area network type that interconnects several such bridge devices, the bridge device (120, 121, 122) comprising electronic circuitry configured to use in parallel: - a first configuration of a first logical network, which is used to route data packets in point-to-point mode, and which is defined by dynamic routing between the bridge devices (120, 121, 122); and - a second configuration of a second logical network, which is used to route data packets in broadcast or point-to-multipoint mode, and which is defined according to a spanning tree by blocking one or more ports of the bridge devices (120, 121, 122) to eliminate one or more loops of the mesh communication network.
10. A mesh communication network (100) of the local area network type which interconnects several bridge devices according to claim 9.
11. The mesh communication network (100) according to claim 10, wherein one said bridge device (120) is included in a home gateway and the other said bridge devices (121, 122) are respectively included in wireless local area network extenders.
Citation Information
Patent Citations
Fast flooding based fast convergence to recover from network failures
US20120075988A1
Extended private LAN
US8045570B2
Multicast implementation in a link state protocol controlled ethernet network
US9008088B2
Multicast active source discovery and management for layer-2 interconnect solutions
US9736054B2