METHOD FOR CONFIGURING A COMMUNICATION NETWORK AND NODES FOR EXECUTING THE METHOD
Patent Information
- Application Number
- DE602022013492
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-11-26
- Filing Date
- 2022-11-24
- Publication Date
- 2025-04-23
- Estimated Expiration
- 2042-11-24
AI Technical Summary
Existing communication network configurations experience disruptions and loss of access to network services when the master node changes, particularly due to disconnection from the bridge.
The configuration process involves a master node obtaining a virtual MAC address and a reserved IP address for network services, allowing it to maintain network service accessibility even after a change in the master node.
This solution ensures continuous access to network services by decoupling the network service configuration from the master node's IP address, allowing seamless transitions and minimizing service interruptions.
Description
TECHNICAL FIELD
[0001] At least one embodiment relates to a method for configuring a communication network comprising a gateway adapted to interconnect the communication network to a wide area communication network and connected to a plurality of nodes implementing an access point functionality, said nodes being centrally coordinated by a current master node selected from among the plurality of nodes. At least one other embodiment relates to a node implementing said configuration method. STATE OF PRIOR ART
[0002] To extend the range of Local Area Networks (LANs), it is common practice to coordinate multiple Access Points (APs). These APs are integrated into interconnected communication nodes, referred to simply as nodes. All these APs provide access to the same Wireless Local Area Network (WLAN). Using Wi-Fi (a registered trademark), all these APs share the same Service Set Identifier (SSID) and password (also known as a security key). This allows for seamless wireless coverage extension for devices connected to the WLAN.
[0003] The local network is typically connected to the internet via an internet access gateway (GW), for example, using an Ethernet cable to connect a primary node of the wireless local network to the GW. The network nodes then act as relays between the gateway and each device connected wired or wirelessly to the local area network (LAN), and also as relays between these different devices connected to the LAN, allowing them to communicate with each other.
[0004] The nodes of a local area network (LAN) are connected to each other in a tree-like structure, with one node acting as a relay between two other nodes. These nodes are interconnected via wired connections, such as Ethernet, or wireless connections, such as Wi-Fi (a registered trademark) using an SSID different from the LAN itself. The LAN nodes communicate with each other through logical links, such as IP communications, encrypted tunnels, or proprietary communication protocols. These logical links are typically established using probe and discovery messages.
[0005] Network nodes are typically coordinated centrally by a master node chosen from among them. The master node can be designated by a fixed configuration or dynamically by election, e.g., using information such as a serial number, a version identifier of the software installed on the node, or by relying on DHCP (Dynamic Host Configuration Protocol) options. All network nodes are thus aware of the master node and can identify it by its MAC (Medium Access Control) address.
[0006] In the case of local area networks (LANs) for Internet service provider (ISP) subscribers, the master node is typically the network node closest to the gateway (GW). This allows for the specific hosting of network services, such as a DNS (Domain Name System) service, a parental control service, or a routing service, since the master node then occupies a strategic position for concentrating data flow by being the node, or one of the nodes, closest to the gateway. To access these various services, all nodes connected to the local network are typically configured with the IP address of the master node. However, when the master node changes, for example, due to a loss of connection between the master node and the gateway, the other nodes also lose their connection to the local network and, more generally, access to network services.Indeed, the node configuration for accessing various network services using the IP address of the previous master node is no longer valid following the master node change. This results in an interruption of these network services, which are no longer accessible to local network users.
[0007] US document 2016 / 248729 A1 describes a method for connecting terminals to a communication network via a mobile gateway.
[0008] The document HINDEN R et al., “virtual Router Redundancy Protocol, rfc3768.txt”, IETF, ISOC, specifies an election protocol that dynamically assigns responsibility for a virtual router in a local network.
[0009] It is desirable to overcome these various drawbacks of the current state of the art. In particular, it is desirable to propose a method for configuring a communication network that ensures continuity of access to network services, especially in the event of a change of master node. DESCRIPTION OF THE INVENTION
[0010] At least one embodiment relates to a method for configuring a communication network comprising a gateway adapted to interconnect said communication network to a wide area network, said gateway being connected to a plurality of nodes implementing an access point functionality to a wireless local area network, said plurality of nodes comprising a current master node selected from said plurality of nodes, said current master node being configured to define the communication network configuration. The method comprises the following steps implemented by said current master node: obtain a first IP address associated with a base MAC address of said current master node, obtain a virtual MAC address and a second IP address associated with said virtual MAC address, said second IP address being reserved for a network services configuration and being different and uncorrelated with said first IP address; and configure a virtual network interface configured to host said network services with said second IP address associated with said virtual MAC address.
[0011] The process is characterized in that the step of obtaining a virtual MAC address and a second IP address associated with said virtual MAC address comprises: when the current master node is a newly elected master node and when, in addition, the virtual MAC address and the associated second IP address are already allocated on the communication network: ∘ obtain said virtual MAC address and the associated second IP address from said current master node, if said virtual MAC address and associated second IP address are already available from said current master node, or, receive said virtual MAC address and associated second IP address from another node of the communication network otherwise.
[0012] Thanks to the use of a virtual MAC address and an IP address reserved for network service configuration, the configuration process advantageously allows network nodes to continue to benefit from access to network services, particularly following a change of master node.
[0013] In a particular embodiment, obtaining a virtual MAC address and a second IP address associated with said virtual MAC address comprises: when the current master node is a newly elected master node and when, in addition, the virtual MAC address and the associated second IP address are not allocated on the communication network: ∘ generate a virtual MAC address from said base MAC address of said current master node; ∘ configure the virtual network interface with said virtual MAC address; ∘ start a DHCP client connected to the virtual network interface; ∘ obtain, by the DHCP client, an IP address from a DHCP server, said IP address obtained being the second IP address reserved for the configuration of network services.
[0014] In a particular embodiment, the value of said virtual MAC address is equal to the value of said base MAC address of said current master node incremented by v, v being a positive integer.
[0015] In a particular embodiment, when the virtual MAC address and the associated second IP address are received from another node of the communication network, the second IP address received from the other node of the communication network was obtained from a DHCP server by a different master node than the current master node from a virtual MAC address, and the virtual MAC address received from the other node of the communication network was generated from a base MAC address of the other master node, wherein configuring a virtual network interface with the second IP address associated with the virtual MAC address includes: configure said virtual network interface with said virtual MAC address and with the second IP address associated with said virtual MAC address and start a DHCP client connected to the virtual network interface.
[0016] In one particular embodiment, configuring a virtual network interface with the associated second IP address includes creating a secondary routing table and using said secondary routing table to redirect incoming network service traffic.
[0017] At least one embodiment relates to a master node of a communication network comprising a gateway adapted to interconnect said communication network to a wide area communication network, said gateway being connected to a plurality of nodes implementing an access point functionality to a wireless local area communication network, said plurality of nodes comprising a current master node selected from said plurality of nodes, said current master node being configured to define the communication network configuration, said master node comprising electronic circuitry configured to: obtain a first IP address associated with a base MAC address of said current master node, obtain a virtual MAC address and a second IP address associated with said virtual MAC address, said second IP address being reserved for a network services configuration and being different and uncorrelated with said first IP address; and configure a virtual network interface configured to host said network services with the second IP address associated with said virtual MAC address; and the step of obtaining said virtual MAC address and the second IP address associated with said virtual MAC address, including: when the current master node is a newly elected master node and when furthermore the virtual MAC address and the associated second IP address are already allocated on the communication network: ∘ obtain said virtual MAC address and the associated second IP address from said current virtual MAC address from the current master node (S202), if said virtual MAC address and associated second IP address are already available to the current master node, or ∘ receive said virtual MAC address and the associated second IP address from another node of the communication network otherwise (S208).
[0018] The master node is configured to implement the process according to any one of the preceding embodiments
[0019] At least one embodiment relates to a computer program product that includes instructions for implementing the configuration process according to any of the preceding embodiments when said program is executed by a processor.
[0020] At least one embodiment relates to a storage medium that stores a computer program comprising instructions to implement the configuration process according to any of the preceding embodiments, when said program is executed by a processor. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The features of the invention mentioned above, as well as others, will become clearer upon reading the following description of an exemplary embodiment, said description being made in relation to the accompanying drawings, among which: [ Fig. 1 ] schematically illustrates a communication network in which the present invention can be implemented; [ Fig. 2 ] schematically illustrates an example of the hardware architecture of a communication network node according to a particular implementation; [ Fig. 3 ] schematically illustrates a method for configuring a communication network according to a particular implementation; and [ Fig. 4 ] schematically illustrates a method of configuring a communication network according to a particular embodiment. DETAILED DESCRIPTION OF IMPLEMENTATION METHODS
[0022] There Fig. 1 This schematically illustrates a communication network 1 in which the present invention can be implemented. The communication network 1 comprises a set of interconnected nodes N1 121, N2 122, N3 123, N4 124, N5 125, N6 126, N7 127, N8 128, N9 129, and N10 130 connected to a wide area communication network 120, e.g., the Internet, via a gateway GW 110. Each node implements an access point (AP) functionality for a wireless local area network (WLAN). The nodes in this plurality of nodes all provide the same wireless local area network (WLAN) (same name...). Within the framework of Wi-Fi technology (registered trademark), all these AP access points thus use the same SSID identifier and the same password, to form a wireless mesh network or "mesh network".The coverage area of the wireless local area network (WLAN) thus created around the communication network 1 is then extended transparently for each terminal, or station, which connects to it.
[0023] Nodes N1 121 through N10 130 are interconnected in a tree-like structure, with each node acting as a relay between two other nodes. In one example, where a distinction is made between a "backhaul" access point functionality (for interconnecting nodes) and a "fronthaul" access point functionality (for connecting equipment or workstations to the LAN), nodes N1 121 through N10 130 are interconnected via wired connections, such as Ethernet, or wireless connections, such as a Wi-Fi (trademark) connection using a different SSID than the WLAN itself. In another example, where nodes support both "backhaul" and "fronthaul" functionality, the interconnection of nodes and the connection of workstations can use the same SSID.The nodes N1 121 to N10 130 of the communication network 1 thus communicate with each other through logical links, for example IP communications or encrypted tunnels or communications according to a proprietary communication protocol.
[0024] For example, on the Fig. 1 Nodes N1 121, N2 122, and N6 126 are directly connected to a gateway GW 110. The branches of communication network 1 connected to these nodes N1 121, N2 122, and N6 126 have a star or daisy-chain topology. Fig. 1 It also shows that node N2 122 is connected to node N3 123 and node N4 124 via a wireless link (separate from the WLAN wireless local area network itself), represented by a dashed line, and nodes N9 129 and N10 130 are connected to node N8 128 via a wired link, represented by a solid line. Node N5 125 is connected to node N3 123 via a wireless link. Node N6 126 is connected to node N7 127 and node N8 128 via a wireless link.
[0025] Communication network 1 thus allows a GW 110 gateway to be interconnected to one or more terminals, e.g. terminal T1 141. Terminal T1 141 is for example a smartphone connected by a wireless link, a television connected by a wired link, a tablet connected by a wireless link, a NAS (Network Attached Storage) unit connected by a wireless link.
[0026] The configuration of communication network 1 is defined through a master node selected from among the plurality of nodes. In a particular embodiment, the master node is selected from among the nodes that are directly connected to the gateway GW 110, namely one of the nodes N1 121, N2 122 or N6 126 in the context of the Fig. 1 Nodes that are not master nodes are called slave nodes.
[0027] All nodes in communication network 1 are aware of all other nodes in communication network 1 and are able to identify them using their basic MAC addresses, i.e., the MAC address assigned at the factory, and / or their network addresses (e.g., IP addresses). Indeed, all nodes in communication network 1 have an IP address. This IP address is assigned to them by a DHCP server (acronym for "Dynamic Host Configuration Protocol") typically embedded in a router, e.g., located in the gateway.
[0028] The DHCP server assigns IP addresses to nodes that request them via a DHCP client, e.g., using the IPv4 or IPv6 protocol. More precisely, the DHCP server provides an IP lease (IP address allocation) as defined by the RFC 1531 standard, as amended and supplemented by RFC 1534, RFC 2131, and RFC 2132. An IP lease typically includes an IP address and a validity period. Typically, an IP address is assigned by the node broadcasting a DHCPDISCOVER request to locate a DHCP server. The DHCPDISCOVER request includes the physical address (or MAC address) of the node. The DHCP server receives the DHCPDISCOVER message. In response, it sends a DHCPOFFER response, i.e., an offer of an IP lease, which includes the IP address of the DHCP server, as well as the IP address it is offering to the node. In general, the node will then issue a DHCPREQUEST message through which it selects an IP lease offer.The DHCPREQUEST message includes the identifier of the selected DHCP server. The selected DHCP server sends a DHCPACK acknowledgment message. DHCP messages can contain DHCP options that provide configuration and service information specific to DHCP clients. These options appear as variable-length fields at the end of the DHCP messages exchanged between DHCP servers and clients. For example, an option can be used to list available DNS servers.
[0029] Each node in communication network 1 is capable of implementing specific network service functionalities, depending in particular on its role (master or slave) within communication network 1. The implemented functionalities include DNS (Domain Name System) relay, DHCP (Dynamic Host Configuration Protocol) relay, firewall functionality for data flows exchanged over the Internet through gateway GW 110, and / or parental control functionality for data flows exchanged over the Internet through gateway GW 110. A node implementing the DHCP relay functionality can relay IP address request broadcasts from DHCP clients to a DHCP server. A node implementing the DNS relay functionality can relay domain name resolution requests to a DNS server.
[0030] There Fig. 2 schematically illustrates an example of the hardware architecture of a node 200 of the communication network 1 according to a particular embodiment.
[0031] According to the example of hardware architecture shown in the Fig. 2 The node 200 comprises, connected by a communication bus 210: a processor or CPU (Central Processing Unit) 201; a RAM (Random Access Memory) 202; a ROM (Read Only Memory) 203 and / or a Flash memory; a storage unit 204 such as a hard disk drive or such as a storage media reader, e.g. an SD card reader (Secure Digital); and at least one COM communication interface 205. At least one COM communication interface 205 enables the implementation of the AP access point functionality.
[0032] The CPU 201 is capable of executing instructions loaded into RAM 202 from ROM 203, external memory (not shown), storage media (such as an SD card), or a communication network. Upon power-up, the CPU 201 reads instructions from RAM 202 and executes them. These instructions form a computer program that causes the CPU 201 to implement all or part of the processes described below in connection with the Figs 3 And 4 .
[0033] All or part of the processes described in relation to the Figs. 3 And 4can be implemented in software form by executing a set of instructions by a programmable machine, such as a DSP (Digital Signal Processor), a microcontroller, or a processor. All or part of the processes described below can also be implemented in hardware form by a dedicated machine or component, such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). Thus, nodes N1 121 to N10 130 contain electronic circuitry configured to implement all or part of the processes described in relation to the Figs. 3 And 4 .
[0034] There Fig.3 schematically illustrates a method for configuring a communication network 1 according to the invention. The method is implemented by a master node.
[0035] During an S100 step, the master node obtains its first IP address from the DHCP server based on its default MAC address, which is assigned at the factory. This unique default MAC address is used to identify the master node. To separate network services from the master node, nodes connected to the local network are not configured with this first IP address of the master node, unlike best practices. For example, this first IP address is used by the master node to communicate with other nodes via the communication bus, e.g., to synchronize Wi-Fi settings between them and / or propagate events such as topology changes. In another example, this first IP address is used by the master node for its own needs: access to the 120 WAN communication network, updating its management firmware, remote monitoring, etc.
[0036] During step S102, the master node obtains a virtual MAC address and a second IP address associated with that virtual MAC address. This second IP address, which is different from the first IP address, is reserved for configuring network services. To achieve this, the master node tricks the DHCP server into believing that the second IP address is being requested by a device other than the master node, which already obtained the first IP address during step S100. To do this, the master node obtains a virtual MAC address generated from its base MAC address. The MAC address is called virtual because it is not a base MAC address that identifies a network device at the factory, but rather an address generated from a base MAC address. For example, the virtual MAC address is obtained by incrementing the base MAC address by a value v, e.g., v=1.In one embodiment, the virtual MAC address is obtained by setting a private bit of the MAC address to a predefined value, e.g., 1. Such a private bit is defined in RFC 1649.
[0037] In one particular embodiment, the master node configures a virtual interface with the virtual MAC address and starts a DHCP client connected to the virtual interface to obtain the second IP address from a DHCP server. This virtual interface is configured to host network services, e.g., DNS, routing, etc. For example, the following Linux command is used to configure this virtual interface: ip link add link br0 name br0.service type macvlan where br0 is a bridge defined to connect all LAN interfaces together, and br0.service is the name of the virtual interface used to host network services. Thus, a link is created between br0 and the virtual interface br0.service. macvlan indicates that br0.service is a virtual interface based on a MAC address.
[0038] The virtual interface is then configured with the virtual MAC address, for example using the following Linux command: ifconfig br0.service hw ether <adresse mac virtuelle >
[0039] To obtain the second IP address, the master node broadcasts a DHCPDISCOVER request to locate a DHCP server. The DHCPDISCOVER request includes the node's virtual MAC address. For example, the virtual MAC address is inserted into a field chaddr of the request. In one variant, the virtual MAC address is inserted into an optional field of the request known by the English terminology of Client Identifier. This field is defined in particular in the normative document RFC 1541. In one embodiment, the field Client Identifier is based on the virtual MAC address but is not equal to said virtual MAC address. In another embodiment, the field Client Identifier This includes the serial number. The DHCP server receives the DHCPDISCOVER message. Thinking it is dealing with a new node whose base MAC address is the generated virtual MAC address, it sends a DHCPOFFER response, i.e., an IP lease offer, which includes the DHCP server's IP address, as well as the second IP address it is offering to the master node. This second IP address is different from the first IP address. Generally, the master node will then send a DHCPREQUEST message in which it selects an IP lease offer. The DHCPREQUEST message includes the identification of the selected DHCP server. The selected DHCP server sends a DHCPACK acknowledgment message, which may contain the address of a DNS (Domain Name System) server.
[0040] During an S104 step, the master node configures the virtual network interface with the second IP address. The virtual interface is configured with the second IP address, for example, using the following Linux command: ip addr add <seconde adresse IP> dev br0.service
[0041] Each node in communication network 1 has its own routing table which allows it to route traffic, in this case network frames, to their destination.
[0042] Then, the route from bridge br0.service is inserted into a secondary routing table whose number is chosen arbitrarily. For example, the following Linux command is used: ip route add <reseau br0.service>table 10 . In this case, the secondary routing table is numbered 10.
[0043] Routing rules are then inserted to redirect service traffic received on a particular port, e.g. port 53, to this new table, for example by using the following Linux command to redirect DNS traffic: ip rule add dport 53 table 10 Thus, the master node launches network services on the new br0.service interface. The other nodes on the network will then automatically find or regain access to these network services.
[0044] When the master node loses its master role (for example, when its network cable is disconnected), it must stop central services on its br0.service interface, and it must deconfigure its br0.service interface and associated routing rules.
[0045] The second IP address is reserved for configuring network services and is advantageously uncorrelated with the primary IP address belonging to the master node. Thus, when the master node becomes inaccessible, for example, because it is disconnected from the network, the other nodes in communication network 1 can continue to use network services that operate with their own IP address, in this case, the second IP address allocated by the DHCP server. This second IP address is not linked to the master node and can be advantageously transferred to a newly elected master node. Therefore, the newly elected master node is able to continue providing network services to the other nodes in the network without user intervention.
[0046] There Fig. 4 This schematically illustrates a method for configuring a communication network 1 according to the invention. The method is implemented by a newly elected master node, called the new master node, e.g., following a loss of connection between a former master node and the gateway.
[0047] This new master node can be a node already present in communication network 1 when the latter was coordinated by the old master node or it can be a node newly connected to communication network 1.
[0048] In an optional step S200, the new master node retrieves the topology of communication network 1 through message exchanges with the other nodes of the local network. The nodes exchange these messages using a communication bus, e.g., a P1905 bus or the ISM protocol described in patent application FR2984554 published on June 21, 2013. This step is optional because if the new master node has already been connected to communication network 1 for some time, it already knows its topology. If the new master node has not yet been connected to communication network 1, it does not know this topology and must therefore retrieve it in order to communicate with the other nodes of communication network 1.
[0049] During an S202 step, the new master node checks if it has a virtual MAC address and an IP address associated with said virtual MAC address and reserved for the configuration of network services.
[0050] If it has such information available, the process continues to step S210. Indeed, if the new master node had already been connected to communication network 1 for some time, it would have retrieved this information (virtual MAC address and associated IP address) during its first connection and therefore already had it available.
[0051] Otherwise, the process continues at step S204.
[0052] During step S204, the new master node requests information from the other nodes of communication network 1 regarding whether a virtual MAC address and an IP address reserved for network service configuration have already been allocated on the network. For example, the new master node exchanges messages on the communication bus with the other nodes. Specifically, it can broadcast a message that will be received by all nodes in the network. In an alternative embodiment, if it knows the network topology, it can send a point-to-point message to at least one node of communication network 1.
[0053] In the case where a virtual MAC address and an IP address reserved for network service configuration are already allocated on the network (S206), the process continues to step S208.
[0054] In step S208, the new master node receives the virtual MAC address and associated IP address from the other nodes that are aware of the service configuration. This IP address, reserved for network service configuration, may have been obtained in step S102 by a node that was previously the master but is no longer so. Therefore, this IP address, reserved for network service configuration, is not linked to the master node that obtained it from the DHCP server and can be transferred to a new master node.
[0055] During an S210 step, the new master node configures a virtual network interface based on the information it receives. Specifically, the master node configures a virtual network interface with its own MAC address using the information it receives. This virtual interface is configured to host network services, such as DNS, routing, etc. For example, the following Linux command is used to configure this virtual interface: ip link add link br0 name br0.service type macvlan where br0 is a bridge defined to connect all LAN interfaces together, and br0.service is the name of the virtual interface used to host network services. Thus, a link is created between br0 and the virtual interface br0.service. macvlan indicates that br0.service is a virtual interface based on a MAC address.
[0056] The virtual interface is then configured with the virtual MAC address and the second IP address, for example using the following Linux commands: ifconfig br0.service hw ether <adresse mac virtuelle > ip addr add < seconde adresse IP> dev br0.service
[0057] Each node in communication network 1 has its own routing table which allows it to route traffic, in this case network frames, to their destination.
[0058] Then, the route from bridge br0.service is inserted into a secondary routing table whose number is chosen arbitrarily. For example, the following Linux command is used: ip route add <reseau br0.service> table 10 . In this case, the secondary routing table is numbered 10.
[0059] Routing rules are then inserted to redirect service traffic received on a particular port, e.g. port 53, to this new table, for example by using the following Linux command to redirect DNS traffic: ip rule add dport 53 table 10
[0060] Thus, the master node launches network services on the new br0.service interface. The other nodes on the network will then automatically find or regain access to these network services. Since each IP address is allocated for a limited time, the master node must be able to request an extension of the IP lease for the second IP address, as specified in the RFC DHCP 2131 standard. To do this, it starts a DHCP client connected to the virtual interface during an S212 step. For example, the following Linux command is used. : dhcpclient -i br0.service.
[0061] If a virtual MAC address and a dedicated IP address for service configuration are not already allocated on the network (S206), the process continues at step S214. At step S214, the new master node obtains a virtual MAC address generated from its base MAC address. The MAC address is called virtual because it is not a base MAC address that identifies a network device from the factory, but rather an address generated from a base MAC address. For example, the virtual MAC address is obtained by incrementing the base MAC address by a value v, e.g., v=1. In an alternative embodiment, the virtual MAC address is obtained by setting a private bit of the MAC address to a predefined value, e.g., 1. Such a private bit is defined in RFC 1649.
[0062] During an S216 step, the new master node configures a virtual network interface with the aforementioned virtual MAC address. This virtual interface is configured to host network services, e.g., DNS, routing, etc. For example, the following Linux command is used to configure this virtual interface: ip link add link br0 name br0.service type macvlan where br0 is a bridge defined to connect all LAN interfaces together, and br0.service is the name of the virtual interface used to host network services. Thus, a link is created between br0 and the virtual interface br0.service. macvlan indicates that br0.service is a virtual interface based on a MAC address.
[0063] The virtual interface is then configured with the virtual MAC address, for example using the following Linux command: ifconfig br0.service hw ether <adresse mac virtuelle >
[0064] During an S218 step, the new master node starts a DHCP client connected to the virtual interface. For example, the following Linux command is used. : dhcpclient -i br0.service. During an S220 step, the new master node obtains, via the DHCP client, a second IP address associated with the virtual MAC address, which is reserved for network service configuration. To obtain this second IP address, the master node sends a DHCPDISCOVER request to locate a DHCP server. The DHCPDISCOVER request includes the node's virtual MAC address. For example, the virtual MAC address is inserted into a field chaddr of the request. In one variant, the virtual MAC address is inserted into an optional field of the request known by the English terminology of Client Identifier. This field is defined in particular in the normative document RFC 1541. In one embodiment, the field Client Identifier is based on the virtual MAC address but is not equal to said virtual MAC address. In another embodiment, the field Client Identifier This includes the serial number. The DHCP server receives the DHCPDISCOVER message. Thinking it is dealing with a new node whose base MAC address is the generated virtual MAC address, it sends a DHCPOFFER response, i.e., an IP lease offer, which includes the DHCP server's IP address, as well as the second IP address it is offering to the master node. This second IP address is different from the first IP address. Generally, the master node will then send a DHCPREQUEST message in which it selects an IP lease offer. The DHCPREQUEST message includes the identification of the selected DHCP server. The selected DHCP server sends a DHCPACK acknowledgment message, which may contain the address of a DNS (Domain Name System) server.
[0065] During an S222 step, the new master node configures the virtual interface with the second IP address, for example using the following Linux command: ip addr add < seconde adresse IP> dev br0.service
[0066] Each node in communication network 1 has its own routing table which allows it to route traffic, in this case network frames, to their destination.
[0067] Then, the route from bridge br0.service is inserted into a secondary routing table whose number is chosen arbitrarily. For example, the following Linux command is used: ip route add <reseau br0.service> table 10 . In this case, the secondary routing table is numbered 10.
[0068] Routing rules are then inserted to redirect service traffic received on a particular port, e.g. port 53, to this new table, for example by using the following Linux command to redirect DNS traffic: ip rule add dport 53 table 10 Thus, the master node launches network services on the new br0.service interface. The other nodes on the network will then automatically find or regain access to these network services.
[0069] During an S224 step, the new master node broadcasts the virtual MAC address and the second IP address to all other nodes in communication network 1, including the terminals. In one embodiment, the virtual MAC address, the associated second IP address, and the value of the field Client Identifier If it is different from the virtual MAC address, it is broadcast by the master node to all other nodes of the communication network 1. This step corresponds to step S104 of the Fig.3
Claims
1. A method for configuring a communication network comprising a gateway adapted for connecting said communication network to a wide area communication network, said gateway being connected to a plurality of nodes implementing an access point functionality to a wireless local communication network, said plurality of nodes comprising a current master node selected from said plurality of nodes, said current master node being configured to define the configuration of the communication network, said method comprising the following steps implemented by said current master node: - obtaining (S100) a first IP address associated with a base MAC address of said current master node, - obtaining (S102, S208, S220) a virtual MAC address and a second IP address associated with said virtual MAC address, said second IP address being reserved for a configuration of network services and being different from and decorrelated from said first IP address; and - configuring (S104, S210, S222) a virtual network interface configured to host said network services with said second IP address associated with said virtual MAC address; and characterised in that the step of obtaining a virtual MAC address and a second IP address associated with said virtual MAC address comprises: - when the current master node is a newly elected master node and when furthermore the virtual MAC address and the associated second IP address are already allocated on the communication network: ∘ obtaining said virtual MAC address and the second IP address associated with said virtual MAC address from said current master node (S202), if said virtual MAC address and associated second IP address are already available to said current master node, or ∘ receiving said virtual MAC address and the associated second IP address from another node of the communication network otherwise (S208).
2. The method according to claim 1, wherein obtaining a virtual MAC address and a second IP address associated with said virtual MAC address comprises: - when the current master node is a newly elected master node and when furthermore the virtual MAC address and the associated second IP address are not allocated on the communication network: ∘ generating (S214) a virtual MAC address from said base MAC address of said current master node; ∘ configuring (S216) the virtual network interface with said virtual MAC address; ∘ starting up (S218) a DHCP client connected to the virtual interface; ∘ obtaining (S220), by the DHCP client, an IP address from a DHCP server, said IP address obtained being the second IP address reserved for the configuration of the network services.
3. The method according to claim 2, wherein the value of said virtual MAC address is equal to the value of said base MAC address of said current master node incremented by v, v being a positive integer.
4. The method according to claim 1, wherein, when the virtual MAC address and the associated second IP address are received from another node of the communication network, the second IP address received from the other node of the communication network was obtained, from a DHCP server, by another master node different from said current master node from a virtual MAC address, and said virtual MAC address received from said other node of the communication network was generated from a base MAC address of said other master node, and wherein configuring a virtual network interface with the second IP address associated with said virtual MAC address comprises: - configuring (S210) said virtual network interface with said virtual MAC address and with the second IP address associated with said virtual MAC address and - starting up (S212) a DHCP client connected to the virtual interface.
5. The method according to one of claims 1 to 4, wherein configuring a virtual network interface with the associated second IP address comprises creating a secondary routing table and using said secondary routing table for redirecting the traffic of the network services received.
6. A master node of a communication network comprising a gateway adapted for connecting the communication network to a wide area communication network, said gateway being connected to a plurality of nodes implementing an access point functionality to a wireless local communication network, said plurality of nodes comprising a current master node selected from said plurality of nodes, said current master node being configured to define the configuration of the communication network, said master node comprising electronic circuitry configured to: - obtain a first IP address associated with a base MAC address of said current master node, - obtain a virtual MAC address and a second IP address associated with said virtual MAC address, said second IP address being reserved for a configuration of network services and being different from and decorrelated from said first IP address; and - configure a virtual network interface configured to host said network services with a second IP address associated with said virtual MAC address; and characterised in that the step of obtaining a virtual MAC address and the second IP address associated with said virtual MAC address comprising: - when the current master node is a newly elected master node and when furthermore the virtual MAC address and the associated second IP address are already allocated on the communication network: ∘ obtaining said virtual MAC address and the second IP address associated with said virtual MAC address from said current master node (S202), if said virtual MAC address and associated second IP address are already available to said current master node, or ∘ receiving said virtual MAC address and the associated second IP from another node of the communication network otherwise (S208).
7. A computer program product characterised in that it comprises instructions for implementing the configuration method according to any one of claims 1 to 5, when said program is executed by a processor.
8. A storage medium characterised in that it stores a computer program comprising instructions for implementing the configuration method according to any one of claims 1 to 5, when said program is executed by a processor.