METHOD FOR DETERMINING THAT AN IP ADDRESS IS ASSIGNED IN A COMMUNICATION NETWORK COMPRISING AT LEAST ONE GATEWAY, AND SAID GATEWAY

AR124704B1Active Publication Date: 2026-08-28SAGEMCOM BROADBAND SAS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
ARP20220100155
Authority / Receiving Office
AR · AR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-01-29
Filing Date
2022-01-26
Publication Date
2026-08-28
Estimated Expiration
2042-01-26

AI Technical Summary

Technical Problem

In communication networks, gateways are unable to determine IP addresses assigned to terminals via autoconfiguration procedures, as terminals do not broadcast traffic until the process is complete, leaving the gateway unaware of the assigned addresses.

Method used

A method involving a gateway that filters and sends test messages to detect assigned IP addresses, using a timer and counter system to manage message exchanges, allowing the gateway to determine IP address allocation by monitoring responses from terminals.

Benefits of technology

Enables the gateway to identify and register assigned IP addresses, facilitating network management and configuration, such as firewall rules and service availability, by detecting and confirming IP address assignments during autoconfiguration.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

A procedure for determining whether an IP address is assigned in a communication network consisting of at least one gateway, wherein said procedure is performed by the gateway and comprises: configuring a filter that allows the reception (400) of the first address test messages, wherein each first filtered address test message focuses on a destination IP address and requires every terminal to which the destination IP address is assigned to send an address notification message; upon receipt of said first filtered message, sending (412) at least one second address test message that focuses on said destination IP address; determining (422) that the destination IP address is assigned to a terminal if an address notification message is received that has said destination IP address for source IP address (420);and determine (415) that the destination IP address is not attributed to a terminal if no address notification message is received that has the said destination IP address by source IP address when a number of second address test messages sent exceeds a previously defined threshold.;
Need to check novelty before this filing date? Find Prior Art

Description

The present invention relates to a procedure for determining whether an IP address is assigned to a terminal in a communication network, and more particularly in the case where the IP address is assigned to the terminal by self-configuration. PRIOR ART A local area network (LAN) can be interconnected with a wide area network (WAN) using a gateway. Communication between the LAN and WAN is then possible, provided they share the same protocol, specifically the Internet Protocol (IP). Each terminal on the LAN must therefore be assigned at least one IP address so that it can communicate with at least one other terminal via the LAN and potentially via the WAN. IP address allocation can be carried out according to different procedures, such as those described in RFC 4862 (RFC stands for "Request For Comments") or RFC 8415, in which the gateway or a DHCP (Dynamic Host Configuration Protocol) server assigns all or part of an IP address to a local network terminal that has requested an IP address. One of the existing IP address allocation procedures, described in RFC 4862, involves a self-configuration procedure implemented by the terminal seeking to assign itself an IP address. In this case, the terminal selects its IP address by combining a previously defined prefix with an additional part, which, for example, can be chosen arbitrarily by the terminal.Before assigning itself the selected IP address, the terminal must first ensure that the IP address in question has not already been used by another terminal; in other words, that the IP address in question has not already been assigned to another terminal. The terminal must then check the availability of this IP address and then, if the IP address is available, it can be assigned to itself. However, if the... If the selected IP address 1650622 is already assigned to another terminal, the terminal must select another IP address and check the availability of the aforementioned IP address again. When a terminal is assigned an IP address according to the self-configuration procedure, no information indicating that the IP address has been assigned is transmitted to the local network until the terminal transmits any traffic. Therefore, the gateway receives no indication that the IP address has indeed been assigned to the terminal and is unaware of that IP address. It is therefore desirable to mitigate these drawbacks of the state of the art. In particular, it is desirable to provide a solution that allows the gateway to know an IP address assigned by the autoconfiguration procedure. EXPLANATION OF THE INVENTION An object of the present invention is to propose a procedure for determining whether an IP address is assigned to a communication network consisting of at least one gateway, and that the procedure performed by the gateway consists of: - configure a filter that allows receiving the first address test messages, that each first filtered address test message focuses on an IP address, called the destination IP address, and that requires every terminal to which the destination IP address is attributed and which receives said first address test message to send an address notification message, - Upon receiving the aforementioned first filtered address test message, send at least a second address test message that focuses on the aforementioned destination IP address, - determine that the destination IP address is attributed to a terminal if an address notification message is received that has the aforementioned destination IP address as the source IP address, and - determine that the destination IP address is not attributed to a terminal if any address notification message having the aforementioned destination IP address by source IP address is not received when a number of second address test messages focusing on the aforementioned destination IP address that have been sent by the aforementioned gateway exceeds a predefined threshold. Thus, the gateway can determine that an IP address is assigned to a terminal in the case where said terminal is assigned to said 1650622 of 25 IP address within the framework of a self-configuration procedure. According to a particular embodiment, a second address test message sending that targets the aforementioned destination IP address is temporarily separated from a preceding second address test message sending that targets the aforementioned destination IP address by a predefined duration period k. According to a particular embodiment, every second address test message is sent to a global broadcast address, and every terminal in the communication network receives every message sent to that global broadcast address. According to a particular embodiment, each address test message is sent to a multicast address, the said multicast address being defined by a predefined prefix and by the last n bits of the destination IP address, where n is a predefined integer, each terminal of the communication network whose IP address is terminated by the said last n bits being assumed to be subscribed to the said multicast address in order to receive each message sent to the said multicast address. According to a particular embodiment, each transmission of a second address test message targeting the destination IP address is carried out at an instant t such that t = t0! + k*(c! + 1), where t0! is the instant of reception of the first address test message targeting the aforementioned destination IP address and where Ci is a test counter associated with the aforementioned destination IP address, and the procedure further comprises: - upon receipt of said first filtered address test message, record said destination IP address in a table in association with the time t0i of receipt of said first address test message and with the test counter Ci initialized to zero, where i represents an entry index of the table, - increment the test counter Ci by one unit with each sending of a second address test message targeting the destination IP address, - Remove the destination IP address from the table if an address notification message is received that has the aforementioned destination IP address for the source IP address, or when the number of seconds of address test messages targeting the aforementioned destination IP address that have been sent by 1650622 of 25 The gateway, without address notification message received back, exceeds the previously defined threshold. According to a particular embodiment, the procedure further comprises, for each first address test message targeting a filtered destination IP address received, initializing a timer of predefined duration k at time t0i of receipt of the first address test message, and wherein each transmission of a second address test message targeting the said destination IP address is carried out when the timer expires, and the procedure further comprises reinitializing the said timer of duration k on each transmission by the gateway of a so-called second address test message targeting the said destination IP address if the number of second address test messages targeting the said destination IP address that have been sent by the said gateway is less than the predefined threshold. According to a particular embodiment, the procedure further comprises, for each focused direction recorded in the table: - initialize a timer of predefined duration k at the instant t0¡ of receiving said first address test message that focuses on said destination IP address only if the table is empty upon receiving said first address test message, - send a second address test message that focuses on the destination IP address only if the timer ends at time t such that t = t0¡ + k*(a + 1), And the procedure also includes, for the set of destination IP addresses of index i in the table: - reset the timer for a duration k' such that k' = MIN((t0i + k*(c¡ + 1) - 1) when the timer reaches its end. In this way, it is possible to use a single timer for the entire set of destination IP addresses in the table. According to a particular embodiment, the procedure also includes registering each destination IP address determined as being assigned to a terminal at the gateway. According to a particular embodiment, the procedure also includes completing a proximity table with the aforementioned destination IP address determined as being attributed to a terminal. According to a particular implementation, register at the door of 1650622 of 25 link the destination IP address determined as being attributed to a terminal comprises obtaining, in the address notification message that has the said destination IP address for source IP address that has been received, a MAC address of the said terminal, and the procedure further comprises generating a firewall opening rule associated with the said terminal identified by its MAC address. In this way, it is possible to generate a firewall rule adapted to each terminal of the communication network before the aforementioned terminal sends traffic. The invention also relates to a gateway configured to determine whether an IP address is assigned to a communication network consisting of said gateway, the gateway comprising: - the means to configure a filter that allows the reception of the first address test messages, that each filtered first address test message focuses on an IP address, called the destination IP address, and that requires every terminal to which the destination IP address is attributed and which receives the said first address test message to send an address notification message, - the means to send, upon receipt of said first filtered address test message, at least a second address test message that focuses on said destination IP address, - the means of determining that the destination IP address is attributed to a terminal if an address notification message is received that has the aforementioned destination IP address for the source IP address, and - the means to determine that the destination IP address is not attributed to a terminal if any address notification message having the said destination IP address for source IP address is not received when a number of second address test messages targeting the said destination IP address that have been sent by the said gateway exceeds a predefined threshold. The invention also relates to a software program, which can be stored on a storage medium and / or uploaded to a communication network, for the purpose of being read by a processor. This software program comprises the instructions for implementing the aforementioned procedure in any of its embodiments, when the program is executed by the processor. The invention also relates to an information storage medium that stores such a software program. 1650622 of 25 The invention also relates to a gateway comprising an electronic circuit configured to determine whether an IP address is assigned to a communication network comprising said gateway, the electronic circuit being further configured to: - configure a filter that allows receiving the first address test messages, where each first filtered address test message focuses on an IP address, called the destination IP address, and requires every terminal to which the destination IP address is assigned and which receives said first address test message to send an address notification message, - upon receiving the aforementioned first filtered address test message, send at least a second address test message that focuses on the aforementioned destination IP address, - determine that the destination IP address is attributed to a terminal if an address notification message is received that has the aforementioned destination IP address for the source IP address, and - determine that the destination IP address is not attributed to a terminal if no address notification message is received that has the aforementioned destination IP address for source IP address when a number of second address test messages focusing on the aforementioned destination IP address that have been sent by the aforementioned gateway exceeds a previously defined threshold. BRIEF DESCRIPTION OF THE DRAWINGS The aforementioned features of the invention, as well as others, will become clearer upon reading the following description of at least one embodiment, which description is made in relation to the accompanying drawings, among which: [Fig. 1] schematically illustrates a local communication network connected to an extended communication network by means of a gateway, according to one embodiment; [Fig. 2] schematically illustrates a self-configuration procedure for an IP address performed by a terminal of the local communication network, according to a mode of implementation; [Fig. 3] schematically illustrates an IP address availability verification procedure that is carried out in the IP address self-configuration procedure, according to a mode of implementation; 1650622 of 25 [Fig. 4] schematically illustrates a procedure for determining whether an IP address is assigned to a terminal or not, according to a mode of implementation; [Fig. 5] schematically illustrates a first phase of a single timer management procedure that allows measuring a period of duration k, according to a mode of embodiment; [Fig. 6] schematically illustrates a second phase of the single timer management procedure that allows measuring a period of duration k, according to a mode of embodiment; and [Fig. 7] schematically illustrates a material architecture of the gateway, according to a mode of realization. DETAILED EXPOSURE OF MODES OF REALIZATION Fig. 1 thus schematically illustrates a system that features a local communication network, called local network 120, connected to an extended communication network, called extended network 130, by means of a gateway 110, according to one embodiment. The local area network (LAN) consists of at least one terminal connected to the gateway. Each terminal can communicate within the LAN by exchanging data at the link layer of the OSI model (Open Systems Interconnection), for example, using an Ethernet protocol, a network switch, or a Wi-Fi wireless communication protocol. According to one implementation example, extended network 130 is a WAN (Wide Area Network) such as the Internet. According to another example, local network 120 is a subnet of a wider network called extended network 130. According to a particular embodiment, gateway 110 is a residential gateway that provides Internet access to terminals 121 of local network 120. Local network 120 and extended network 130 can communicate with each other by exchanging data, in the form of packets, at the network layer of the OSI model thanks to the use of a common protocol such as the IP (Internet Protocol). Advantageously, IPv6 (Internet Protocol version 6) is used. At least one IP address must then be assigned to each terminal 121 of local network 120 so that terminal 121 can communicate within the system shown in Fig. 1. One way to assign an IP address to a 121 terminal is to use a 1650622 of 25 self-configuration procedure, as described in the normative document RFC 4862 (RFC stands for “Request For Comments”). A 121b terminal that does not have an IP address can then perform the aforementioned self-configuration procedure to assign itself at least one IP address. According to a particular embodiment, a 121 terminal can be assigned three different IP addresses, each of which belongs to a different address class, and each address class has a different routing scope. Furthermore, each IP address assigned to a 121 terminal must be unique within its context of use, that is, within the routing scope of that IP address.Thus, an IP address can only be assigned to a terminal if no other terminal within range of that IP address is using it; in other words, if that IP address is not assigned to any other terminal. For example, for a class of addresses whose range extends only to local network 120, the IP address assigned to a terminal 121 on local network 120 is different from the IP addresses assigned to the other terminals 121 on local network 120. More specifically, the first class of addresses is a link-local address, called an LLA (Link Local Address), which allows communication only with nearby direct networks, without hops or retransmissions (e.g., via a direct radio transmission when local network 120 is a wireless LAN). LLA addresses are assigned only through autoconfiguration or static allocation. While not routable, LLA addresses allow communication with nearby networks and the retrieval of routing information (router discovery, etc.) from those networks. To ensure that each assigned LLA address is unique, an IP address availability verification procedure is implemented, such as the Duplicate Address Detection (DAD) mechanism defined by RFC 4862. The second type of address is a private address, called a ULA address (ULA stands for "Unique Local Address"). A ULA address is routable only within local network 120 and allows a terminal 121 to communicate within that local network. The routing scope of a ULA address thus extends to local network 120. A ULA address can be assigned either automatically or by a server called a DHCP server (DHCP stands for "Dynamic Host Configuration Protocol"). In the case of assignment by a DHCP server, the uniqueness of a ULA address is guaranteed by the server. 1650622 of 25 In the case of an allocation by autoconfiguration, a unique IP prefix is ​​provided by gateway 110 and the IP address availability verification procedure is then implemented to ensure the uniqueness of each allocated ULA address, such as the DAD mechanism, as already discussed in relation to LLA addresses. The third address class is a global address, called a GUA (Global Unicast Address). A GUA is fully routable. In other words, the routing scope of a GUA extends to the local network (120) and the extended network (130). A GUA is used, for example, for internet communication. As with a ULA address, a GUA can be assigned by a DHCP server, which guarantees its uniqueness, or by autoconfiguration. In the case of autoconfiguration, the uniqueness of the GUA is ensured by broadcasting a unique IP prefix across the network and by implementing an IP address availability check, such as the DAD mechanism, as discussed previously in relation to LLA addresses. In addition, broadcast IP addresses are used on local network 120. The first broadcast IP address is a global broadcast address, called "all-nodes multicast," used to send messages to every terminal 121 on local network 120. Thus, each terminal 121 receives every message sent to this global broadcast address. Under the IPv6 protocol, the global broadcast address is written as ff02::1. Other broadcast IP addresses are multicast addresses, also called "solicited-node multicast" addresses. Each multicast address is used to send messages to a predefined set of terminals on the local network. Each terminal in a predefined set (the structure of which is explained below) must subscribe to the multicast address associated with that set. In this way, each terminal in the set receives every message sent to that multicast address. Multicast addresses allow communication with multiple terminals simultaneously without using the global broadcast address, thus limiting traffic. A multicast address is constructed by taking a predefined prefix and adding the last n bits of the IP address of at least one 1650622 of 25 terminal 121 to which the broadcast address is associated, where n is a predefined integer, specifically n = 24. For example, within the IPv6 protocol, the predefined prefix used is 104 bits and is written ff02:0:0:0:0:1:ff00:: / 104, and the multicast address to which a terminal 121 subscribes is constructed by adding the last 24 bits of the IP address of the terminal 121 in question. Thus, all terminals 121 whose IP address ends with the same last 24 bits belong to the same previously defined set of terminals 121 and receive every message sent to the same multicast address. Each IP address corresponds to a multicast address, regardless of the address class to which the IP address belongs.For example, in one implementation mode, if a terminal 121 is assigned an LLA address, a ULA address, and a GUA address, the aforementioned terminal 121 subscribes to three distinct multicast addresses, each corresponding respectively to its LLA address, its ULA address, and its GUA address. Figure 2 schematically illustrates the self-configuration procedure for three IP addresses with different communication scopes (LLA, ULA, GUA) for the same terminal 121. The described principle can be applied to a number of IP addresses with different communication (i.e., routing) scopes. The principle described in particular can be applied to the assignment of a single IP address. The principle of the self-configuration procedure is to select an IP address, verify its availability (in other words, ensure that no other terminal is concurrently using that IP address), and, if available, assign it to itself. The IP address selection follows a predefined format and may or may not require, depending on the address class, a predefined address prefix provided by a router. This self-configuration procedure can be performed by a terminal 121 as many times as it wishes to assign itself different IP addresses, each IP address being within a different communication (i.e., routing) range.Terminal 121 sometimes comprises several communication interfaces, each of which can have IP addresses obtained through the self-configuration procedure. In the first stage 200, terminal 121b selects an LLA address. In other words, terminal 121b chooses an LLA address according to a predefined format, for example arbitrarily, or, according to another example, 1650622 of 25 deriving the LLA address from its MAC address (“Medium Access Control” in English) by applying a previously defined transformation rule. In a subsequent step 202, terminal 121b checks whether the selected LLA address is available within its network vicinity. To do this, terminal 121b performs the IP address availability check procedure as described below in relation to Fig. 3. This check determines whether the selected LLA address is available and therefore usable by terminal 121b, or whether it is already assigned to another terminal 121 and therefore unusable. The IP address availability check procedure thus ensures the uniqueness of the LLA address within terminal 121b's network vicinity. If the selected LLA address is not available, terminal 121b again performs step 200, in which it selects another LLA address. If the selected LLA address is available, terminal 121b performs step 204. In stage 204, terminal 121b is assigned the selected available LLA address. In a subsequent stage 206, terminal 121b communicates within its network proximity using its LLA address and then sends a router solicitation RS message. This router solicitation RS message allows the search for a router within the network proximity of terminal 121b and the acquisition from the router of the information necessary for the self-configuration of at least one IP address with a longer communication range (i.e., routing, here of the ULA and GUA addresses). Let us consider that gateway 110, which includes such a router, receives the router solicitation RS message transmitted at stage 206 and responds with a router advertisement RA message (RA for “router advertisement” in English). In a subsequent stage 208, terminal 121b then receives, from gateway 110, the router notification RA message, which consists of the information necessary for the self-configuration of ULA and GUA addresses, such as a ULA address prefix and a GUA address prefix. In a subsequent step 210, terminal 121b selects a ULA address constructed from the ULA address prefix received in the Router Notification RA message in step 208, and an additional part consisting of a predefined number of bits such that the total number of bits in the ULA address conforms to the IP address format. The additional part is chosen, for example, in a way that... 1650622 of 25 arbitrary or, according to another example, deriving the ULA address from the MAC address of terminal 121b by applying a previously defined transformation rule. In a subsequent step 212, terminal 121b checks whether the selected ULA address is available on local network 120. To do this, terminal 121b performs the IP address availability check procedure described in Fig. 3. This procedure tests whether the selected ULA address is available and therefore usable by terminal 121b, or whether the selected ULA address is already assigned to another terminal 121 and therefore unusable by terminal 121b. This IP address availability check procedure thus ensures the uniqueness of the ULA address on local network 120. If the selected ULA address is not available, terminal 121b again performs step 210, in which it selects another ULA address. If the selected ULA address is available, terminal 121b performs step 214. In step 214, terminal 121b is assigned the available selected ULA address. In a subsequent step 216, terminal 121b selects a GUA address constructed from the GUA address prefix received in the Router Notification RA message in step 208, and an additional part consisting of a predefined number of bits such that the total number of bits in the GUA address conforms to the IP address format. The additional part is chosen, for example, arbitrarily or, according to another example, by deriving the GUA address from the MAC address of terminal 121b by applying a predefined transformation rule. In a subsequent step 218, terminal 121b checks whether the selected GUA address is available. To do this, terminal 121b performs the IP address availability check procedure described in Fig. 3. This procedure tests whether the selected GUA address is available and therefore usable by terminal 121b, or whether it is already assigned to another terminal 121 and therefore unusable by terminal 121b. This IP address availability check procedure thus ensures the uniqueness of the GUA address within the system shown in Fig. 1, i.e., in the local network 120 and the extended network 130. If the selected GUA address is unavailable, terminal 121b again performs step 216, in which it selects another GUA address. If the selected GUA address is available, terminal 121b performs step 220. In stage 220, terminal 121b is assigned the available selected GUA address. 1650622 of 25 Figure 3 schematically illustrates the procedure for verifying the availability of a selected IP address, according to one implementation mode. The IP address availability verification procedure, such as the DAD mechanism defined by RFC 4862, can be performed multiple times during the terminal's autoconfiguration process to obtain different communication scope (i.e., routing) IP addresses. With reference to Figure 2, the IP address availability verification procedure is carried out during stage 202 (LLA address), stage 212 (ULA address), and stage 218 (GUA address). In stage 300, terminal 121b subscribes to the multicast address associated with the selected IP address. The selected IP address corresponds to the selected LLA address, ULA address, or GUA address selected during the respective stages 202, 212, or 218. Additionally, terminal 121b can optionally register with the local network's global broadcast address 120. In a subsequent 302 step, terminal 121b sends a Neighbor Solicitation (NS) address proof message to the multicast address, as defined, for example, by RFC 4861. Alternatively, terminal 121b sends the same Neighbor Solicitation NS message to the global broadcast address. This Neighbor Solicitation NS message contains a null source IP address because no IP address has yet been assigned to terminal 121b. A Neighbor Solicitation NS message focuses on a specific IP address, called the destination IP address, specified in a data field within the NS message. In other words, it checks whether the destination IP address has already been assigned to another Terminal 121. The Neighbor Solicitation NS message thus contains a data field with the destination IP address.A 121 terminal to which the aforementioned destination IP address has been assigned (e.g., self-assigned) and which receives the aforementioned address proof NS message must then signal its presence by sending back an address advertisement (NA) message, as defined, for example, by the regulatory document RFC 4861. An address advertisement NA message consists of an ICMPv6 header (Internet Control Message Protocol version 6) comprising a source IP address, which corresponds to the destination IP address sought by the address proof NS message, and a destination IP address, which is the multicast address, or alternatively the global broadcast address, to which the address proof NS message was sent. ICMPv6 header 1650622 of 25 optionally includes a physical link-layer field (also called a "target link-layer") consisting of the MAC address of the aforementioned terminal 121. An address-assertion NA message further includes an Ethernet header that may consist of the MAC address of the terminal 121 sending the address-assertion NA message. The MAC address of the aforementioned terminal 121 can then be obtained by examining the contents of the address-assertion NA message in question. In a subsequent 304 step, terminal 121b checks whether it has received an Address Assertion NA message in response to the Address Test NS message sent earlier in step 302. If an Address Assertion NA message has been received from a terminal 121 to which the destination IP address is assigned, then a 310 step is performed. Otherwise, a 306 step is performed. In step 306, terminal 121b checks whether a predefined first time period has elapsed since the time the address test NS message was sent in step 302. As long as the first time period has not elapsed, terminal 121b repeats step 304. If the first time period has elapsed, terminal 121b performs step 308. In stage 308, terminal 121b considers that the selected IP address, which corresponds to the destination IP address, is available. At stage 310, terminal 121b has received an address notification NA message and therefore considers the selected IP address to be unavailable. Figure 4 schematically illustrates a procedure for determining whether an IP address is assigned to a terminal or not. When an IP address is assigned to terminal 121 by the autoconfiguration procedure, gateway 110 receives no indication that the IP address has indeed been assigned to terminal 121 until terminal 121 sends a message. Gateway 110 is therefore unable to determine which IP addresses are assigned to terminals 121 on local network 120. Gateway 110 remedies this deficiency using the procedure described here in relation to Figure 4. It should be noted that it is undesirable for gateway 110 to subscribe to all existing multicast addresses to capture NS and NA messages transmitted via these multicast addresses, as there may be too many of them. For example, within the IPv6 protocol, the gateway 1650622 of 25 Gateway 110 would need to subscribe to 16 million multicast addresses to capture NS and NA messages, which would reveal which IP addresses are being requested for availability checks and which requested IP addresses are in conflict. It is therefore unnecessary for Gateway 110 to monitor and analyze all messages transmitted via multicast addresses, as the resulting processing load is prohibitively large. Furthermore, even if Gateway 110 is notified that a terminal is attempting to assign itself an IP address through the autoconfiguration process, Gateway 110 receives no confirmation from that terminal that it has successfully completed the autoconfiguration process with the IP address in question. In the first stage 400, gateway 110 receives an initial NS address test message that identifies a destination IP address. This initial NS test message may be the result of stage 302 described below. To receive this NS address test message, gateway 110 opens a termination point (or "socket") that allows it to receive all traffic exchanged via the IP protocol (advantageously, all traffic exchanged via IPv6) on the local network 120. It then generates a filter that extracts only NS address test messages containing a null source IP address. Thus, each NS address test message containing a null source IP address is sent either to a multicast address or to the global broadcast address, where it is received and filtered, and can then be analyzed by gateway 110. In a subsequent 402 stage, gateway 110 records, in a table, an IP address that corresponds to the destination IP address obtained from the data field containing the destination IP address of the aforementioned NS address test message received. In a subsequent 404 stage, gateway 110 records in the table, in association with the obtained destination IP address, a t0 instant of reception of the aforementioned NS address test message received. In a subsequent stage 406, gateway 110 writes to the table, in association with the aforementioned destination IP address obtained, a test counter c initialized to an initial value c0, such that c0 = 0. Gateway 110 then performs a stage 408 and a stage 416 in parallel. In stage 408, gateway 110 determines whether a second period of duration k, previously defined, has elapsed, and that said second period is counted as 1650622 of 25 from the instant t0 of receipt of the first NS address test message received or from a previous instant of transmission of a second NS address test message (as described below). When the aforementioned second period of duration k has elapsed, gateway 110 validates step 408 and performs a subsequent step 410. In other words, gateway 110 performs step 410 at an instant t such that t = t0 + k*(c + 1). The period k is predefined to allow a terminal 121 performing the self-configuration procedure to complete said self-configuration procedure. The period k is, for example, 5s. According to one embodiment, the second duration period k is determined using a timer for each IP address registered in the table. In other words, a new timer of duration k is initialized by gateway 110 for each receipt of a new first NS address test message consisting of a destination IP address different from any other IP address present in the table. Each timer in this way is started by gateway 110 at the instant t0 of receipt of the considered received NS address test message. For each timer of duration k that reaches its expiration, gateway 110 reinitializes said timer and sends a second NS address test message (as described below in step 412). According to an alternative embodiment, gateway 110 initializes a single timer for the set of IP addresses registered in the table. Gateway 110 then performs a single timer management procedure, as described below in relation to Figures 5 and 6. In step 410, gateway 110 compares the test counter c with the predefined threshold, which is, for example, equal to 2. If the test counter c is not greater than the aforementioned predefined threshold, step 412 is performed. If the test counter c is greater than the predefined threshold, step 415 is performed. At stage 412, gateway 110 sends a second address test NS message targeting the IP address registered in the table at stage 402. Every second address test NS message is sent to the multicast address associated with the aforementioned IP address registered in the table, alternatively to the global broadcast address. Furthermore, the second NS address test message sent consists of a non-null source IP address, which gateway 110 uses, for example, as its address 1650622 of 25 LLA as the source IP address for sending messages. According to another example, gateway 110 uses an assigned IP address that belongs to the same class as the destination IP address. Therefore, the aforementioned second NS address test message cannot be received by gateway 110 using the filter-coupled termination point as described in step 400. In a subsequent step 414, gateway 110 increments the test counter c by one. Step 408 is then repeated. For example, if gateway 110 uses a separate timer for each IP address in the table, gateway 110 resets the timer for a duration k when that timer expires and a second NS address test message is sent. According to another example, gateway 110 resets the single timer, when that single timer expires, for a duration k' as defined in relation to step 612 in Fig. 6. In stage 415, gateway 110 determines that the IP address recorded in the table in stage 402 has not been assigned and removes that IP address from the table, along with any information associated with it. Indeed, a situation where the test counter c exceeds the predefined threshold may indicate that the IP address of the first NS test message received in stage 400 was not retained by terminal 121, the sender of that first NS message. In stage 416, gateway 110 is placed in a queue to receive an Address Notification (AN) message. To do this, gateway 110 opens another termination point that allows it to receive each Address Notification (AN) message sent via the multicast address that corresponds to the destination IP address of the Address Notification (AN) message sent in stage 412. In a subsequent 418 stage, gateway 110 receives an address notification NA message and the source IP address is obtained. In a subsequent step 420, gateway 110 determines whether the Address Assertion NA message was received in response to a second Address Test NS message sent. The gateway compares the source IP address of the received Address Assertion NA message against each IP address registered in the table. If the source IP address matches one of the IP addresses registered in the table, the IP address is assigned to a terminal, and gateway 110 performs step 422. Otherwise, gateway 110 repeats step 416. 1650622 of 25 In stage 422, gateway 110 obtains the aforementioned IP address and records it as being assigned to a terminal 121. For example, gateway 110 records the IP address in question in a proximity table that lists the IP addresses of the terminals 121 on local network 120 seen by gateway 110. The proximity table consists of one entry per IP address, regardless of the IP address class. For example, if an LLA address, a ULA address, and a GUA address are assigned to a terminal 121, the proximity table consists of three distinct entries, each corresponding to the respective LLA, ULA, and GUA addresses. The proximity table also preferably includes the associated MAC address for each IP address, when the MAC address is known. The proximity table thus allows the MAC address associated with the IP address to be determined.For example, gateway 110 obtains the aforementioned MAC address from the Ethernet header or the optional physical link field of the ICMPv6 header of the Address Assurance NA message. If the MAC address of terminal 121, which uses the aforementioned assigned IP address, is obtained, gateway 110 can then register the aforementioned MAC address in association with the assigned IP address. According to one embodiment, the assigned IP address can be automatically registered in the proximity table of gateway 110 by an operating system module of gateway 110. According to another embodiment, the assigned IP address is registered by means of an application function executed by gateway 110 that updates the proximity table. Note that in a case where the IP address in question is already known by gateway 110 as belonging to a terminal 121, gateway 110 does not register that IP address a second time. This might be the case, for example, when a terminal 121b sends an initial NS address test message that targets a destination IP address already assigned to another terminal 121. Gateway 110 then performs a 424 stage. In stage 424, gateway 110 makes the aforementioned IP address available to internal or external services to gateway 120 so that the services can use the aforementioned IP address. According to a first example, gateway 110 uses a communication bus to communicate its assigned IP address. The communication bus can be a physical bus or a software bus, as disclosed in international patent application WO 2013 / 087894 A1. For example, internal services to gateway 110 register with a message broker, with 1650622 of 25 in order to receive representative notifications of proximity table updates and thus be informed of the existence of the aforementioned assigned IP address. More generally, gateway 110 may use a communication interface, hardware or software, such as an Application Programming Interface (API), to communicate the assigned IP address. According to a second example, Gateway 110 displays the assigned IP address in a graphical user interface (GUI), for example, as part of a display of the proximity table contents. To do this, the gateway integrates a display, such as an LCD screen. Gateway 110 can also transmit the assigned IP address, for example, by transmitting the entire proximity table, to an external device (for example, a smartphone) for display on its screen. According to a third example, gateway 110 makes the assigned IP address available to a firewall, preferably one internal to gateway 110. The firewall then configures a firewall rule for terminal 121, which uses the assigned IP address. Gateway 110 determines whether terminal 121 requires a firewall opening and generates a firewall opening (or "pinholing") rule if necessary. For example, the firewall opening responds to a user configuration (e.g., via an application or graphical interface) to allow HTTP (Hypertext Transfer Protocol) or HTTPS (HTTP Secure) traffic from the extended network 130 to terminal 121 on the local network 120, which hosts a server.The user selects terminal 121 primarily based on its MAC address or a corresponding hostname, but the firewall configuration is based on the applicable IP address. Gateway 110 then generates a specific firewall opening rule that authorizes the passage of the traffic in question from the extended network 130 to the local network 120. For example, gateway 110 generates a specific firewall opening rule for web servers or email servers. According to a fourth example, gateway 110 makes the aforementioned assigned IP address available to a controller, preferably internal to gateway 110, of a wireless mesh communication network that 1650622 of 25 consists of a plurality of access points, each controlling a wireless network. The controller can thus transmit a configuration request to a terminal 121, which is assigned the aforementioned IP address, even if the terminal 121 has not yet transmitted traffic using its newly assigned IP address. A stage 426 is then performed. In step 426, the aforementioned IP address is removed from the table as well as the information that has been recorded in association with the aforementioned IP address. According to one particular embodiment, in step 420, gateway 110 scans the table to determine whether the source IP address of the address notification NA message received in step 418 matches an IP address registered in the table. If the IP address does not match any IP address registered in the table, gateway 110 ignores the address notification NA message and repeats step 416. Otherwise, gateway 110 then performs steps 422, 424, and 426 as previously described. Gateway 110 then performs step 428, in which it determines whether the table is empty. If the table is not empty, gateway 110 repeats step 416. In general, to determine whether an IP address is assigned to a terminal 121 performing the autoconfiguration procedure, gateway 110 first detects any destination IP address that a terminal 121 is attempting to assign itself. Gateway 110 does this by detecting the destination IP address in each first received address test NS message. This first address test NS message requires any terminal using that destination IP address to identify itself by sending an address notification NA message. This first address test NS message contains a null source IP address. In this way, gateway 110 can easily detect (through source address filtering) that a terminal is performing the autoconfiguration procedure and identify the IP address that terminal 121 is attempting to assign itself. Subsequently, gateway 110 tests the destination IP address to determine if it has been correctly assigned. To do this, gateway 110 sends at least one second NS address test message targeting the destination IP address. Gateway 110 then detects whether an address notification NA message is received in response to the second address test NS message sent; in other words, whether an address notification NA message is received in response to the second address test NS message sent. 1650622 of 25 comprises the aforementioned destination IP address as the source IP address. The tested destination IP address is received within a predefined duration period k following the sending of the aforementioned second address test NS message. If this occurs, Gateway 110 determines that the destination IP address is assigned to a terminal. Gateway 110 then obtains the aforementioned destination IP address and records it in the proximity table. If no Address Assurance NA message, consisting of the aforementioned destination IP address as the source IP address, is received, and the number of second address test NS messages targeting the aforementioned destination IP address sent exceeds a predefined threshold, Gateway 110 determines that the destination IP address has not been assigned. Figure 5 schematically illustrates the first phase of a single-timer management procedure that measures the second duration period k for the set of IP addresses in the table, according to a specific implementation. The procedure is performed through gateway 110. In a first stage 400, described in Fig. 4, gateway 110 receives an address test NS message consisting of a destination IP address. In a subsequent 500 step, gateway 110 determines whether the table is empty at the time of receiving the aforementioned address test NS message. If so, a 501 step is performed. Otherwise, a 502 step is performed. In stage 501, gateway 110 starts the single timer for a duration k. In stage 502, the single timer has already started and the rest validates. Gateway 110 then maintains the single timer's endpoint as it was initialized. In other words, the gateway does not modify the single timer. For example, for a first IP address in the table that has a first received address test NS message time t0i = 120s and an associated test counter ci, the table is empty during the reception of said first address test NS message, and the single timer is then initialized for a duration k = 5s. When another first address test NS message targeting a destination IP address corresponding to a second IP address is received at t02 = 122s, the table is not empty and the timer remains unchanged. Fig. 6 schematically illustrates a second phase of the single timer management procedure that allows measuring the second duration period k for the set of IP addresses in the table, according to a mode of implementation. 1650622 of 25 In a first stage 600, gateway 110 detects that the single timer reaches its end, at an instant t. In a subsequent step 602, gateway 110 traverses the IP address table and selects an IP address from it. For example, gateway 110 selects an IP address in the range i = m, where m is a counter initialized to 1. The gateway then increments the counter m by one so that if step 602 is performed again, gateway 110 selects the next test address in the range i + 1. In step 604, gateway 110 determines whether time t corresponds, for the selected IP address, or in other words, for the IP address in range i of the table, to time t0! + k*(Ci + 1), where t0! is the time of receipt of the first address test NS message targeting IP address in range i, and Ci is the test counter registered in association with IP address in range i. If so, step 606 is performed. Otherwise, step 608 is performed. In step 606, gateway 110 considers that, for the selected IP address, the second duration period k has elapsed. Gateway 110 can then validate step 408 of the procedure for determining whether an IP address is assigned to a terminal and perform step 410. Gateway 110 then performs step 610. In step 608, the time t is greater than t0¡ + k*(Ci + 1) for the selected IP address, in range i. Gateway 110 then considers that the second time period has not elapsed and cannot validate, for the selected IP address, step 408 of the procedure to determine whether an IP address is assigned to a terminal. Gateway 110 then performs step 610. In step 610, gateway 110 checks if there is at least one IP address in the table that has not yet been selected. If so, gateway 110 repeats step 602 to select a new IP address from the table. Otherwise, gateway 110 performs step 612. In step 612, the gateway resets the single timer for the duration k' calculated from the set of IP addresses in the table. The duration k' is calculated as the minimum of the durations ki = (t0¡ + k*(Ci + 1)) - t. For example, considering the first IP address in the table, of range 1, which has a reception time of the first NS message for address test t0i = 120s and an associated test counter ci, and the second IP address in the table, of range 2, which has a reception time of the NS message for address test 0 = 122s 1650622 of 25 and a test counter C2, the single timer is first initialized for duration k = 5s to t0i = 120s. When the timer first reaches t0i = 125s, gateway 110 first selects the first IP address from the table. In this case, t = 125s = t0i + k*(ci + 1). The duration k then elapses for the first IP address in the table, for which step 408 is validated, and the test counter ci is incremented by one. Gateway 110 then selects the second IP address from the table. In this case, t = 125s is greater than t0i + k*(C2 + 1) = 122, so step 408 is not validated for the second IP address. Considering that the total IP addresses in the table have been processed, the timer is reset for a duration k' = MIN ((t0¡ + k*(c¡ + 1)) -1), that is, for a duration of k' = 2s.When the timer reaches its endpoint for the second time, at = 127s, the time t is such that, for the first IP address in the table, t > t0i + k*(ci + 1) = 130s, so stage 408 is not validated for that first IP address. For the second IP address in the table, t = t02 + k*(C2 + 1), so stage 408 is validated for that second IP address and the test counter c2 is incremented by one. Fig. 7 schematically illustrates a material architecture of a control unit 700 of the gateway 110 or of a terminal 121, according to one embodiment. The control unit 700 then consists, linked by a communication bus 710; of a processor or CPU (“Central Processing Unit” in English) 701; a live RAM memory 702; a dead ROM memory (“Read Only Memory” in English) 703; a storage unit 704, such as a hard disk drive (HDD) or a storage media reader, such as an SD card reader (“Secure Digital” in English); and a COM interface 705 that allows communication with peripherals on networks. The CPU 701 processor is capable of executing instructions loaded into RAM 702 from ROM 703, external memory (such as an SD card), storage media, or a communication network. When control unit 700 is powered on, the CPU 701 processor is able to read instructions from RAM 702 and execute them. These instructions form a computer program that causes the CPU 701 processor to implement all or part of the steps described herein in relation to gateway 110 or terminal 121 for the gateway control unit 110 or the terminal control unit 121, respectively. 1650622 of 25 All or part of the aforementioned stages can be implemented in software form by executing a set of instructions on a programmable machine, such as a DSP (Digital Signal Processor) or a microcontroller, or implemented physically by a dedicated machine or component, such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). In general, gateway 110 and / or any terminal 121 consists of the electronic circuit adapted and configured to implement the stages described herein in relation to gateway 110 and / or a said terminal 121, respectively.

Claims

1. A method for determining that an IP address is assigned in a communication network (120) comprising at least one gateway (110), said method being executed by the gateway (110) characterized in that it comprises: - generating a filter to extract (400) from the traffic exchanged using an IP protocol in the communication network (120) first address test messages, each first address test message comprising a null source IP address and focusing on an IP address, referred to as the destination IP address, and requiring that every terminal (121) assigned the destination IP address and receiving said first address test message send an address signaling message, - obtaining, from said generated filter, at least one filtered first address test message, - after receiving a filtered first address test message, sending (412) at least one second address test message,the aforementioned at least one second address test message comprising a non-null source IP address and focused on the aforementioned destination IP address, - determining (422) that the destination IP address is attributed to a terminal (121) if an address signaling message having the aforementioned destination IP address as its source IP address (420) is received in response to the aforementioned at least one second address test message sent, and - determining (415) that the destination IP address is not attributed to a terminal (121) if no address signaling message having the aforementioned destination IP address as its source IP address is received in response to the aforementioned at least one second address test message sent, and when a number of second address test messages focusing on the aforementioned destination IP address that have been sent by the aforementioned gateway (110) exceeds a previously defined threshold. Ten claims follow.