EP3991358A1 - Procede de gestion d'au moins une communication d'un equipement terminal dans un reseau de communication, procedes de traitement d'une communication etablie avec un equipement terminal dans un reseau de communication, dispositifs, equipement terminal, equipement proxy et programmes d'ordinateur correspondants - Google Patents
Procede de gestion d'au moins une communication d'un equipement terminal dans un reseau de communication, procedes de traitement d'une communication etablie avec un equipement terminal dans un reseau de communication, dispositifs, equipement terminal, equipement proxy et programmes d'ordinateur correspondantsInfo
- Publication number
- EP3991358A1 EP3991358A1 EP20747035.2A EP20747035A EP3991358A1 EP 3991358 A1 EP3991358 A1 EP 3991358A1 EP 20747035 A EP20747035 A EP 20747035A EP 3991358 A1 EP3991358 A1 EP 3991358A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- communication
- resource
- terminal equipment
- address
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 404
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 title claims description 26
- 238000004590 computer program Methods 0.000 title claims description 13
- 230000005540 biological transmission Effects 0.000 claims abstract description 46
- 230000004044 response Effects 0.000 claims abstract description 40
- 230000009471 action Effects 0.000 claims abstract description 26
- 238000001514 detection method Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 182
- 230000007246 mechanism Effects 0.000 claims description 36
- 230000002123 temporal effect Effects 0.000 claims description 7
- 230000003213 activating effect Effects 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000000873 masking effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 23
- 230000008901 benefit Effects 0.000 description 10
- 238000001914 filtration Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 101001136140 Pinus strobus Putative oxygen-evolving enhancer protein 2 Proteins 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 240000002234 Allium sativum Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000009849 deactivation Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 235000004611 garlic Nutrition 0.000 description 2
- 238000004377 microelectronic Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011330 nucleic acid test Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/251—Translation of Internet protocol [IP] addresses between different IP versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/255—Maintenance or indexing of mapping tables
- H04L61/2553—Binding renewal aspects, e.g. using keep-alive messages
Definitions
- TITLE Method for managing at least one communication of terminal equipment in a communication network, methods for processing a communication established with terminal equipment in a communication network, devices, terminal equipment, proxy equipment and programs of 'computer matching
- the field of the invention is that of a communication network and more particularly of the management of communications of terminal equipment in such a network.
- the invention finds an application in particular in communication networks implementing value-added IP services.
- the communication protocol was designed to reduce the latency times observed during communications based on the transport protocol TCP (for "Transport Control Protocol") and in particular the time for establishing a communication. between a first terminal equipment, called the client or the sending terminal or even simply the terminal, and a second terminal equipment, called the server or the receiving terminal, via the communication network. It is for this reason that the QUIC protocol is based on the UDP transport protocol (for “User Datagram Protocol”). Indeed, the UDP transport protocol, unlike the TCP protocol, does not use a signaling mechanism of the three-step handshake type (for "3-way handshake", in English), so that the terminals can in particular adapt the frequency of data transmission as a function of network bandwidth conditions for example.
- the QUIC protocol makes it possible in particular to transmit, under certain conditions, useful data as soon as the first packet of a communication is sent, without the QUIC client having to wait for the response from its correspondent. Latency and signaling times between clients are thus reduced.
- the QUIC transport protocol does not rely on transport addresses, and more particularly on the quadruplet ⁇ source IP address, source port number, destination IP address, destination port number ⁇ but on a connection identifier called CID (for “Connection Identifier”)
- CID connection identifier
- the QUIC specification defines two types of CID: Destination CID and Source CID.
- connection migration for "Connection migration" which allows a QUIC communication to be maintained in the event of a modification of one of the addresses (or port numbers) of the participants (including the changes related to the use of addresses allocated by intermediate address translation or NAT (for "Network Address Translation”) equipment. Receipt of a message as part of an ongoing communication with a new source address is an indication of connection migration.
- a connection migration consists of going from one quadruplet ⁇ source address, source port number, destination address, destination port number ⁇ to another.
- stateful functions such as NAT, firewall or proxy functions on a network path used by QUIC communication constitutes a source of problems likely to compromise quality. of communication.
- stateful functions are generally hosted by intermediate equipment, and maintain a table comprising entries associating in particular an internal source address and an external source address for an outgoing data packet. They use this table to filter incoming packets by rejecting those that do not match a valid entry in the table.
- An entry is generally maintained for a period, known as the predetermined lifetime, beyond which, in the absence of a new outgoing data packet or of an adequate control message to extend the lifetime, it is invalidated and deleted. Table. This lifespan can be short, of the order of a second.
- the communication protocols use a mechanism to "keep alive" a communication which makes it possible, in particular, to verify that the link on which the communication is established is still active or to prevent this link from being broken.
- a mechanism consists for a terminal equipment, in sending at regular frequency a signaling message to the remote terminal equipment, so that the entries of the tables maintained by said intermediate equipment are not deleted unexpectedly, at the risk of breaking off the communication between the terminals while the data exchange has not yet been completed.
- the IPsec protocol uses a message called "NAT-Keepalive" whose default sending frequency is 20 seconds.
- this "keepalive" mechanism characteristic of some communication protocols including the QUIC protocol, is applied indifferently by a terminal equipment to all the paths available to this terminal equipment to access the communications network, as a state function either present or not on the way.
- the deactivation of this “keepalive” mechanism makes it possible to multiply by 5 or 6 the operating time of a terminal equipment on battery, such as a mobile terminal for example. It will also be noted that reducing the frequency of sending “keepalive” messages significantly contributes to increasing the life of the battery of the terminal equipment. Indeed, the terminal equipment potentially embeds several applications, each sending its own “keepalive” messages. The potential gain is all the greater as the sending of the “keepalive” messages required by the application embedded in the terminal equipment is reduced.
- the invention responds to this need by proposing a method for managing at least one communication established on a transport protocol of a terminal equipment in a communication network, said terminal equipment being able to access said communication network via at least an IP resource, each IP resource comprising an IP address and a port number, comprising:
- the invention relates to the management of communications of a terminal equipment in a communication network comprising intermediate equipment that embeds stateful functions, such as NATs or firewalls. These stateful functions allow the data packets exchanged by the terminal equipment via the communication to pass only for those which correspond to a valid entry in their state table, such validity being guaranteed only for a determined period of time. As a result, the management of communications of terminal equipment established on such a network can be complicated. To improve the situation, the invention is based on a completely new and inventive approach, which consists in discovering the presence of stateful functions on the paths interconnecting the various resources available to the terminal equipment to access the network. communications and taking into account the result of this discovery to decide on the communications management actions to be triggered.
- stateful functions such as NATs or firewalls.
- a principle of the invention is to send a message from at least a first IP resource of the terminal equipment to a second IP resource of this terminal equipment, and to decide on the presence of a state function on the path connecting the first and second resources as a function of data received by the terminal equipment on its second IP resource, following the transmission of the message.
- the invention proposes to discover the presence of possible stateful functions by relying on the local IP resources of the terminal equipment. The detection of a stateful function on one of the paths making it possible to reach the second IP address of the terminal equipment is taken into account for the management of a communication involving this second IP address of the terminal equipment.
- the invention also applies when the terminal equipment has only a single IP address to access the network (the first and second IP resources are then characterized by identical IP addresses but different port numbers).
- the invention is suitable for any type of transport protocol, in particular the QUIC protocol.
- the presence of at least one stateful function on the path is decided when the data received includes an error message or when no data is received by the second IP resource in response to the transmission of the first message by at least unedite first IP resource.
- the first message comprises a request for establishment of a communication between said at least one first IP resource and the second IP resource of the terminal equipment and a decision of absence of a stateful function. on the path connecting said at least one first IP resource to the second IP resource via said network is taken when the data received by the second IP resource of the terminal equipment includes the first message.
- One principle of the invention is to use the different network access resources available to the terminal equipment to discover the stateful functions present on the paths connecting these resources.
- new communications are established from resources comprising IP addresses of this terminal equipment to a resource comprising this second IP addresses. These new communications do not correspond to any valid entry in the tables maintained by any stateful functions present on the path of the messages exchanged.
- the detection step comprises the masking of routing information associated with said second IP resource and contained in said request for establishing said communication, prior to its transmission.
- One advantage is to emulate terminal equipment having only one interface.
- the second IP resource is not recognized as a local address of the sending terminal equipment item and the communication request is sent via the output interface of the terminal equipment item.
- the detection step comprises, prior to the transmission of the communication establishment request, the recording of identification information of at least one routing device of the communication network associated with said to. minus a first IP resource.
- Another option for forcing the transmission of the communication request in the network is source routing, i.e. the explicit designation of a router equipment of the communication network in charge of routing the packets of data sent by the first terminal equipment on the path corresponding to the first IP resource.
- a communication being established between said at least one first IP resource of the terminal equipment and an IP resource of a second terminal equipment said first message is sent via said communication to said resource IP of the second terminal equipment, said first message comprises at least one command for sending a response to the second IP resource and a command for inserting security information into said at least one response and a decision to The absence of a stateful function on the path making it possible to reach via said communication network said terminal equipment on the second IP resource is taken when the data received on said second IP resource from the terminal equipment (T1) includes said response.
- the method comprises determining a time period for sending a hold message. alive of a state of a communication established on said at least one path by said at least one stateful function, the storage of the determined period and the taking into account of the determined period in the decision of a management action on a communication via said path.
- One advantage of knowing this period is that it enables the management of communications to be optimized. For example, we can choose the communication on the path whose state function has the highest period and activate the keep-alive mechanism by configuring a sending of messages according to said period, to limit the energy consumption of the equipment. terminal.
- said determination comprises:
- the value of the chosen parameter is equal to half of the current value of the time interval.
- the method comprises updating a status representative of a configuration of a mechanism for keeping a state function alive, said status being associated with said at least one path allowing to join via said communication network said terminal equipment on the IP address of the second IP resource of the terminal equipment according to said at least one decision taken for said at least one path.
- the status is set to an “optimized” value when no stateful function has been detected on the path, since it is not necessary in this case to activate the mechanism. keeping tables alive, or following the determination of a lifetime associated with the detected state function. On the contrary, it is set to a value "not optimized” otherwise, in particular when a state function has been detected, to indicate that the mechanism for keeping the state function tables alive must be activated and that its function must be optimized. configuration.
- An advantage of associating such a status with an IP resource of the terminal equipment is to facilitate the management of communications via the network and in particular to allow the terminal equipment to set up communications that are more efficient in terms of resources.
- the triggered management action comprises the establishment of a communication via said path of the terminal equipment without activating a mechanism for keeping a state associated with the communication alive when a stateful function has not been detected on said path and the establishment of the communication via said path by activating a mechanism for keeping said state associated with the communication alive when a stateful function has been detected on said path .
- the triggered management action comprises the transmission in the request for establishment of said communication or during said communication of the status of said at least one path associated with said IP address and / or of the determined time period.
- a terminal equipment includes its own table of paths (typically identified by local IP addresses of the terminal equipment) and a copy of that of the other terminal equipment with which it communicates (typically identified by IP addresses of the remote terminal equipment). It is understood that the statuses and lifetimes associated with the paths on which the communication is established may be different. Their mutual knowledge enables the terminals to negotiate between themselves the best choice of path and lifetime to be applied to a mechanism for keeping the states maintained by the state functions possibly present on the communication path alive. In doing so, optimization is more efficient because it is implemented by all participants in a communication.
- the invention also relates to a computer program product comprising program code instructions for implementing a method for managing at least one communication as described above, when it is executed by a processor.
- the invention also relates to a recording medium readable by a computer on which is recorded a computer program comprising program code instructions for executing the steps of the management method according to the invention as described above.
- Such a recording medium can be any entity or device capable of storing the program.
- the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a USB key or a hard disk.
- such a recording medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means, so that the program computer it contains can be executed remotely.
- the program according to the invention can in particular be downloaded over a network, for example the Internet.
- the recording medium can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the aforementioned management method.
- the invention also relates to a device for managing at least one communication of terminal equipment in a communication network, said terminal equipment being able to access said communication network via at least one IP resource, characterized in that it is configured for:
- such a device is able to implement a method for managing at least one communication as described above.
- said device is integrated into terminal equipment capable of accessing a communication network from at least one IP resource, comprising an IP address and a port number.
- the device can also be integrated into proxy equipment of a communication network, able to relay the data sent by terminal equipment connected to said network.
- the terminal equipment, the device for managing at least one communication and the corresponding computer program mentioned above have at least the same advantages as those conferred by the management method according to the present invention.
- the invention also relates to a method of processing a communication established on a transport protocol between a first terminal equipment and a second terminal equipment in a communication network via at least one IP resource of the first terminal equipment, each IP resource comprising an IP address and a port number, comprising:
- said message comprising a send command d 'a response to at least a second IP resource of the first terminal equipment, distinct from the first and comprising a second IP address and a second port number, and a command for inserting security information in the response ;
- This response from the second terminal equipment to the message sent by the first terminal equipment is exploited by the method for managing at least one communication implemented by said first terminal equipment item to detect the presence of a state function on the path associated with the second IP address.
- an acknowledgment message is transmitted to the first terminal equipment. Said first terminal equipment thus receives confirmation that the second terminal equipment has indeed received its order. Therefore, if it does not receive the response comprising the security information, the first terminal equipment will be able to deduce therefrom the presence of a state function on the path tested.
- the invention also relates to a method of processing a communication on a transport protocol between a first terminal equipment item and a second terminal equipment item in a communication network via at least one IP resource of the first terminal equipment item, each IP resource comprising an IP address and a port number, characterized in that that it includes:
- an IP resource of the second terminal equipment called the destination IP resource
- a message relating to a communication established or to be established from an IP resource of the first terminal equipment, called the source IP resource said message comprising a status representative of a configuration of a mechanism for keeping an entry of a table maintained by a stateful function alive, said entry associating a state with a communication on a path making it possible to reach via said communication network said first device terminal on the IP address of the source IP resource for a predetermined lifetime, said status being associated with said IP address, and a period of time representative of a transmission frequency of a keep alive message of a communication status;
- the two terminal equipments negotiate the activation / deactivation of the “keepalive” mechanism and the optimum frequency of transmission of the state keep alive messages.
- the invention also relates to a computer program product comprising program code instructions for implementing a method of processing a communication as described above, when it is executed by a processor.
- the invention also relates to a recording medium readable by a computer on which is recorded a computer program comprising program code instructions for the execution of the steps of the processing method according to the invention as described above. .
- Such a recording medium can be any entity or device capable of storing the program.
- the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a USB key or a hard disk.
- such a recording medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means, so that the program computer it contains can be executed remotely.
- the program according to the invention can in particular be downloaded over a network, for example the Internet.
- the recording medium can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the aforementioned management method.
- the invention also relates to a device for processing a communication between a first terminal equipment item and a second terminal equipment item via a communication network on a transport protocol, characterized in that it is configured to implement a processing method. of the aforementioned communication.
- said device is integrated into terminal equipment capable of accessing a communication network from at least one IP resource, comprising an IP address and a port number. It can also be integrated into the aforementioned proxy equipment.
- the terminal equipment, the processing device of at least one communication and the corresponding computer program mentioned above have at least the same advantages as those conferred by the processing method according to the present invention.
- the invention finally relates to a node device of a communication network capable of receiving, on at least one IP resource comprising an IP address and a port number, data from a communication between an IP resource, called the source IP resource, d. 'a first terminal equipment and an IP resource of a second terminal equipment, called the destination IP resource, and to retransmit them from said at least one IP resource.
- Such equipment is configured for:
- FIG. 1 this figure schematically represents an example of terminal equipment having several paths for connecting to a communication network
- FIG. 2 this figure represents in the form of a logic diagram the various steps of the method for managing at least one communication of a terminal equipment item in a communication network according to one embodiment of the invention
- FIG. 3A this figure diagrammatically represents a first example of construction of a list of candidate communications between two distinct addresses of the same terminal equipment
- FIG. 3B this figure schematically represents a second example of construction of a list of candidate communications between two distinct addresses of the same terminal equipment
- FIG. 4 this figure details in the form of a flowchart the different sub-steps of the step of discovering at least one stateful function on a path of the terminal equipment according to a first embodiment of the method for managing at least one. less one communication according to the invention;
- FIG. 5 this figure schematically represents a first example of a stateful function present on a path of the terminal equipment in the communication network;
- FIG. 6 this figure schematically represents a second example of a stateful function present on a path of the terminal equipment in the communication network
- FIG. 7 this figure schematically represents a third example of a state function present on a path of the terminal equipment in the communication network;
- FIG. 8A this figure schematically represents a first option of the invention for forcing the sending of a communication request intended for an address of the transmitting terminal equipment in the communication network;
- FIG. 8B this figure schematically illustrates the reception of the communication request to the address of the sending terminal equipment according to this first option
- FIG. 9 this figure schematically represents a second option of the invention for forcing the sending of a communication request intended for an address of the transmitting terminal equipment in the communication network
- FIG. 10 this figure schematically represents the direct communications established by a terminal equipment between two of its own interfaces according to a first exemplary embodiment of the invention
- FIG. 11 this figure schematically represents the direct communications established by a terminal equipment item between two of its own interfaces according to a second exemplary embodiment of the invention
- FIG. 12 this figure schematically represents the direct communications established by terminal equipment between two of its own interfaces according to a third exemplary embodiment of the invention, when the terminal equipment is connected to the network via access equipment;
- FIG. 13 this figure represents an example of implementation of the invention when the terminal equipment has been configured with a proxy equipment located in the communication network;
- FIG. 14 this figure details in the form of a flowchart the various sub-steps of the step of discovering at least one stateful function on a path of the terminal equipment according to a second embodiment of the method for managing at least one. less one communication according to the invention;
- FIG. 15 this figure schematically represents an example of the structure of a control message, called mirror, sent by a terminal equipment to a second terminal equipment via a communication already established according to an embodiment of the invention. ;
- FIG. 16 this figure schematically represents a first example of implementation of a detection of the presence of stateful functions on a path of a first terminal equipment item by using a communication already established with a second terminal equipment item according to the second mode realization of the invention
- FIG. 17 this figure schematically represents a second example of implementation of a detection of the presence of stateful functions on a path of a first terminal equipment item by using a communication already established with a second terminal equipment item according to the second mode realization of the invention
- FIG. 18 this figure schematically represents the determination of a lifetime of an input of a state function detected on a path of a terminal equipment item according to a third embodiment of the invention
- FIG. 19A this figure schematically represents a first example of the structure of a control message of a lifetime of a state function detected on a path of a terminal equipment, according to the third embodiment of the invention
- FIG. 19B this figure schematically represents a second example of the structure of a control message of a lifetime of a state function detected on a path of a terminal equipment, according to the third embodiment of the invention
- FIG. 20 this figure diagrammatically represents an example of transmission of a control message by a terminal equipment item to a second terminal equipment item according to this third embodiment of the invention
- FIG. 21 this figure represents a block diagram of a device for managing at least one communication of terminal equipment in a communication network according to the invention.
- FIG. 22 this figure represents a block diagram of a device for processing a communication of a terminal equipment item in a communication network according to the invention.
- the general principle of the invention is based on the discovery of stateful functions present on one or more paths making it possible to join an interface of a terminal equipment via a communication network and on the decision to trigger an action for managing a communication. with another terminal equipment on one of these paths according to said discovery.
- one possible action is the establishment of a communication by choosing a path which does not have an intermediate state function and without activating a mechanism for keeping alive an entry of a table maintained by such a state function. .
- the invention thus makes it possible to manage more effectively the communications of a terminal equipment via a communications network and to optimize the energy resources brought into play by these communications.
- the invention applies to any type of terminal equipment: a single interface terminal equipment or a multi-interface and multi-use terminal equipment capable of establishing communications on multiple paths while preserving the continuity of the service (s) ( s) correspondent (s) when the terminal equipment is in a mobile situation.
- terminal equipment denotes any entity capable of establishing or accepting the establishment of a communication based on the use of one or more communication protocols.
- transport such as TCP, UDP, or QUIC. It can be a physical entity, a virtual entity, or a software application embedded in the terminal equipment.
- QUIC protocol or abbreviated “QUIC” is meant any protocol conforming to a version of the specification of the QUIC protocol or draft specification, such as the draft specification of the IETF entitled “QUIC: A UDP -Based Multiplexed and Secure Transport ”, or the specification of the “Quick UDP Internet Connections” protocol, known as the “QUIC” protocol, including the existing versions of these specifications or draft specifications and their evolutions. More generally, QUIC here denotes any transport protocol encapsulated on another UDP or UDP-lite transport protocol (standing for “Lightweight User Datagram Protocol”) but whose primitives and payload are encrypted.
- the invention applies to any type of terminal equipment, fixed or mobile, comprising one or more communication interfaces with a communication network.
- These interfaces can be wired, such as for example an interface of ADSL or fiber type, or non-wired, such as for example an interface of WLAN, BlueTooth, Zigbee, or other type.
- the term “communication network” is used to denote a communication network of the Internet type which can be accessed by the terminal equipment via one or more networks for accessing this network.
- the terminal equipment which initiates the establishment of a communication is generally referred to as the sending or client terminal, while that for which the establishment request is intended is called the remote terminal or the server.
- a single terminal can therefore act both as client and server.
- one or more paths of a terminal can be used to establish a communication and that a communication can be established via one or more paths.
- NAT functions can be of different types, such as for example NAT44, NAT64, DS-Lite, NPTv6, L2NAT, NAT 66, etc.
- NAT functions can be present on a given path, as for example in the case of a so-called "double NAT" deployment.
- a network path can involve both NAT functions and firewalls, without any restrictive assumption as to the number of functions present or the order in which they operate.
- incoming state function denotes a state function located in the access network to which a terminal to which a communication is addressed is connected.
- An outgoing stateful function denotes a stateful function located on the contrary in the access network to which the terminal equipment sending the request to set up a communication is connected.
- a stateful function can act as an incoming state function or an outgoing state function depending on the direction of traffic.
- IP resource denotes a pair comprising an IP address and a port number.
- a terminal equipment Tl having several paths to access, via interfaces which allow the terminal Tl to be connected to different access networks to a communication network RC, such as the Internet network: a first path C1 associated with an IP address @ T11 of the terminal equipment Tl via an access network Nil to the network RC, a second path C2 associated with an address @ T12 of the terminal equipment Tl via an access network N12 , an i th path Ci associated with an address @Tli of the terminal equipment T1 via an access network Nli, with i non-zero integer.
- a communication network RC such as the Internet network: a first path C1 associated with an IP address @ T11 of the terminal equipment Tl via an access network Nil to the network RC, a second path C2 associated with an address @ T12 of the terminal equipment Tl via an access network N12 , an i th path Ci associated with an address @Tli of the terminal equipment T1 via an access network Nli, with i non-zero integer.
- FIG. 2 illustrates the main steps implemented by a method for managing at least one communication of the terminal equipment in the communication network RC.
- a step 20 it is checked, for example when starting the terminal T1, whether it has several network paths Cli to access the network RC and an ACAL list is obtained (for “Address Candidate List”). addresses associated with these paths.
- an ACAL list comprises, for an IP address @Tli of the terminal T1, an entry associating at least one status value STATUS with the address @Tli.
- this parameter is set to OKOFF, which means that for this address, no optimization of management of a volume of messages sent by a keepalive mechanism for stateful functions is implemented.
- a list of candidate communications CC is constructed from the ACAL list between two distinct resources of the terminal equipment T1, that is to say. say between a first pair (first IP address, first port number) and a second pair (second IP address, second port number). It will be understood that these candidate communications are intended to connect two distinct resources of the same terminal equipment T1.
- the PCL list can exclude private IPv4 addresses as described in RFC 1918, published by the IETF in February 1996 and accessible via the following URL: https://tools.ietf.org/html/rfcl918, IANA-Reserved IPv4 Prefix for Shared Address Space IPv4 addresses, as specified in RFC 6598 published by the IETF in April 2012 and accessible via the following URL: https://tools.ietf.org / html / rfc6598, IPv6 addresses of LLA (“Link Local Address”) or ULA (“Unique Local Address”) type.
- LLA Link Local Address
- ULA Unique Local Address
- the source and destination addresses must be of the same type or family of addresses, for example IPv4 or IPv6, but that the list may contain candidate communications involving addresses of different types, for example candidate communications between two IPv4 type addresses and candidate communications between two IPv6 type addresses.
- the presence of at least one stateful function is detected, on at least one path making it possible to reach the terminal T1 via the communication network RC on an IP address of said terminal equipment, called the second IP address.
- this step is repeated for all the paths listed in the ACAL list.
- the candidate communications of the PCL list are used.
- a first message is sent in the communication network from at least a first IP resource of said terminal equipment to a second IP resource of said terminal equipment, comprising the second IP address and a port number.
- the terminal T1 decides on the presence of at least one stateful function on the path taken by this communication to connect the terminal T1 to the network RC via the second IP resource as a function of data received on this second IP resource in response to the transmission of the first message. This step is advantageously repeated for all the candidate communications involving the second IP address of the terminal T1.
- an action for managing a communication of the terminal equipment T1 is triggered on the path making it possible to reach via said communication network said terminal equipment on said second IP address, as a function of said detection.
- the management actions of step 23 include selecting a path for establishing a communication with a remote terminal as a function of the result obtained in 22. Examples of management actions will be detailed in the remainder of the description.
- step 21 of obtaining a PCL list of candidate communications from the paths of the ACAL list.
- This step therefore aims to create the PCL list from the ACAL list.
- addresses in the ACAL list are not all of the same type, for example if the list includes elements of different types, for example IPv4 addresses and IPv6 addresses, then a sublist is created by address type: ACAL (v4) and ACAL (v6).
- the ACAL list of paths available at the terminal T1 to access the network RC can include IP addresses or prefixes, but also network interface names (eg ethl, wlanO), network names, etc. etc. In what follows we will therefore refer to the elements of the ACAL list.
- the PCL list comprises candidate communications CC between two elements of the ACAL list. It is created taking into account the following constraints:
- Each entry in the PCL is made up of two items from the ACAL;
- the second element of a PCL entry is called “Destination”.
- a port number of the terminal T1, called the destination port, is associated with it;
- Each item in the ACAL list must appear in at least one PCL entry as "Destination";
- Two ACAL elements can only belong to one and only one entry in the list
- An ACAL list item may appear in multiple PCL entries as "Source";
- the PCL list is ordered
- FIGS. 3A and 3B illustrate two examples of construction of the PCL list from the ACAL list comprising the elements Nil, N12, Nli. These two examples satisfy the constraints listed above.
- step 22 of detecting the presence of a state function according to a first embodiment of the invention is now detailed.
- a communication to be established is selected at 220 from among the candidate communications of the PCL list. During this selection, care is taken not to choose a source IP resource that has just been used as the source or destination of a previous communication, so as to prevent an entry corresponding to this resource from being still maintained as valid in a table of a stateful function present on the tested path.
- the selected communication is established in 221 by forcing the transmission in the communication network of a request to establish a communication between the source address, the source port number, and the destination address and the port number destination, so that the request is not processed locally at the terminal T1.
- the source port number chosen for this candidate communication is different from those already used to test the candidate communications listed above. This condition is necessary to detect the presence of NAT functions such as EIF / EIM ("Endpoint Independent Filtering / Mapping") or firewalls.
- a communication from a new @Tli address can be established with the @ T11 address even in the presence of a NAT if a communication from this @Tli address has been established previously (and maintained by the NAT function) to another @ T2 address.
- the NAT function supports the “EIF / EIM” mode.
- the terminal Tll establishes a communication with a remote terminal Tli
- the NAT function allocates to this communication an external address and an external port number (212.25.26.25:1234) and rewrites the internal source address and internal port number of the packet issued by Tll (192.168.0.2:7856) to Tli.
- the NAT function keeps in memory an entry in its tables to associate the internal and external information of this communication. This entry does not contain information about Tli. Therefore, any incoming call to (212.25.26.25:1234) will be routed to Tll in rewriting the destination address and port number (192.168.0.2:7856) according to the instructions in the above table. In other words, the NAT function does not check the source address and port number to process an incoming packet.
- ADM / ADF filtering for “Address Dependent Filtering”
- APDM / APDF filtering for “Address Port Dependent Filtering”, in English
- FIG. 7 the NAT function configured in ADM / ADF mode (FIG. 6) must keep in memory the destination address of an outgoing packet, in addition to the source information. Thus, only the packets received with a source address present in an entry in the NAT function table will be routed to an internal terminal.
- the NAT function allocates an external address and an external port number (11.11.11.11:1234) and rewrites the internal source address and number internal port of the packet sent by Tll (192.168.0.2:7856) to Tli. Then, the NAT function keeps in memory an entry in its tables to associate the internal and external information as well as the destination address characteristic of this communication (internal source: 192.168.0.2:7856, external source: 11.11.11.11:1234, destination : 35.26.25.25). The NAT function rejects all incoming communications to 1.1.1.1:1234 if the source address of a communication is not equal to 35.26.25.25.
- the example of Figure 7 is similar to that of Figure 6 except that the NAT function records, in addition to the information maintained in the state tables of the example of Figure 6, the port number destination (4545) for outgoing communication sent from Tll (192.168.0.2:7856).
- the NAT function rejects all incoming communications to 1.1.1.1:1234 which do not have a source address and a source port number equal to 35.26.25.25:4545.
- decisions to update the statuses of the paths taken by the candidate communications tested can be taken immediately after a single establishment attempt or alternatively after several attempts.
- steps 220 to 223 is then repeated as long as there are candidate communications to be tested.
- a second option only part of the communications is established in accordance with a policy local to the terminal T1.
- a policy local to the terminal T1 An advantage of a selective approach is that it is less expensive in computing resources and potentially better suited to particular contexts, according to which for example the choice of a path is indexed by the nature of the traffic which will pass through the communication. For example, Internet traffic goes through NAT while voice traffic is routed over a path without NAT.
- the candidate communications are selected at 220 according to their order of appearance in the PCL list and established sequentially so as to avoid the registration of entries by a NAT function on the path that it is desired to test.
- several candidate communications can be established simultaneously provided that no IP resource of the terminal appears as both source and destination in candidate communications of the PCL list.
- step 221 of sending a request to set up a selected candidate communication As previously mentioned, because the source and destination IP addresses belong to the same terminal T1, it is necessary to force the routing of the data packet comprising said request through an output interface so that it is not processed locally by the terminal.
- the request for establishing the communication comprises a parameter MP_BUND (@ T1D) for masking the interface corresponding to the destination IP address of the candidate @ T1D communication of the terminal Tl.
- MP_BLIND lanterface Alias / Address
- This MP_BLIND lanterface Alias / Address parameter is used to act as if the Tl terminal only had a single IP address or a single output interface (interface identifier "Interface Alias" or the “Address” interface).
- This new parameter proposed by the invention when it is invoked to trigger the sending of a packet in the network to a given interface, has the effect of applying a filter to all the other interfaces of the terminal, which has the effect that only information relating to the unfiltered interface is retained.
- the request to establish a communication between the addresses ⁇ @ T1S, @ T1D ⁇ invoked with the MP_BLIND parameter has the consequence of sending the packet comprising this request to the default router associated with the source IP address @ T1S.
- terminal T1 maintains a global routing table (table 1) which includes two routing tables associated respectively with each of its “eth0” and “ethl” interfaces.
- This communication is intended to be processed locally because the destination address is that of the “ethl” interface.
- the terminal In order to force the sending of the data packet comprising the request for establishing a communication via the RC communication network to the destination IP address @ T1D corresponding to the “ethl” interface, the terminal therefore emulates a behavior mono-interface using the MP_BLIND (ethl) parameter.
- the invoked routing table (Table 2) is shown below.
- the packet is then transmitted to the routing equipment RI as illustrated by FIG. 8A.
- the sending of the request for establishing a communication between the source @ T1S and destination @ T1D IP addresses is forced in 221 by using a source routing technique.
- a source routing technique known to those skilled in the art, can be implemented in different ways, such as for example the extension of routing by segment SR (for “Segment Routing”), the IPv4 option entitled “ Loose Source and Record Route or any other similar source routing function.
- the option based on source routing consists of associating additional information with each of the entries in the list of candidate communications PCL to indicate, for each candidate communication, the default router associated with its source IP address @ T1S.
- the decision to route the data packet comprising the request to set up the selected call is based on the content of the SR option. So the terminal sends the call establishment request to the default router as identified in the corresponding entry in the PCL table. On receipt of the packet, said default router removes the SR option and proceeds to transmit the data packet to the next hop in the communication network.
- the packet is thus routed step by step or rejected when no route has been found.
- the terminal T1 seeks to establish in 221 the candidate communications CC listed in its PCL table: ⁇ @ T11, PS11, @ T12, PD12 ⁇ , ⁇ @ T12, PS12, @Tli, PDli ⁇ and ⁇ @Tli, PSli, @ T11, PD11 ⁇ .
- all these communications are established without difficulty.
- the ACAL table is therefore updated to set the STATUS parameter of each path associated with a tested destination IP address to the value “OKON”.
- the terminal T1 seeks to establish the following candidate communications on its access paths to the network: ⁇ @ T11, PS11, @ T12, PD12 ⁇ , ⁇ @ T12, PS12, @Tli, PDli ⁇ and ⁇ @Tli, PSli, @ T11, PD11 ⁇ .
- all these communications are established successfully with the exception of the candidate communication ⁇ @ T12, PS12, @Tli, PDli ⁇ , because a NAT function is present on the corresponding path.
- the ACAL table is then updated to update the STATUS parameter of the IP addresses of the access paths to the network of the terminal T1. It sets to the value “OKON” the status of all the IP addresses available in the ACAL list at except for the @Tli address for which the STATUS parameter is kept at "OKOFF".
- the terminal is connected to the communication network by means of access equipment of the CPE (“Customer Premises Equipment”) type.
- CPE Customer Premises Equipment
- This is for example a residential gateway.
- the method which has just been described can advantageously be implemented by this CPE equipment.
- this proxy equipment P implements a “Proxy QUIC” function responsible for executing operations on the QUIC communications sent by the or intended for the terminal T1. No constraint is imposed by the. invention as to the operations performed by such a proxy function. This embodiment of the invention is applicable regardless of the location of the “Proxy QUIC” function in the communication network.
- the “QUIC Proxy” can typically be configured on the terminal using, for example, the DHCP protocol, the PCO option (for “PDP Configuration Options”), etc.
- the terminal can select one or more instance (s) of this function, or even use all the instances to establish communications in the network.
- the terminal T1 builds the PCL list of candidate communications at 21 from the ACAL list according to the LIST step described above.
- the PCL list thus constructed for the terminal T1 is ⁇ @ T11, PS11, @ T12, PD12 ⁇ , ..., ⁇ @Tln, PSln, @ T11, PD11 ⁇ .
- the terminal T1 attempts to establish a QUIC communication for each of the elements of the PCL list, but this time via at least one “Proxy QUIC” function.
- the terminal T1 sends to the proxy P a request for the establishment of a communication QUIC comprising the destination IP address @Tli. To do this, it encapsulates this establishment request (formatted according to a QUIC frame) in an IP packet whose destination address is that of the proxy P. On receipt of the packet by the proxy P, the latter extracts the QUIC frame. Then, it tries to route the call establishment request to the IP address @Tli. If it has a route to reach the @Tli address, it sends the packet on that route. If no route has been found, the proxy P responds to the terminal with an ICMP message to indicate that this IP address is not reachable. If the proxy P receives the call establishment request, it retransmits it to the terminal by encapsulating it in an IP packet.
- this establishment request formatted according to a QUIC frame
- Steps 222 to 224 described above remain unchanged.
- step 22 of detecting the presence of a state function according to a second embodiment of the invention is now detailed.
- a PCL list of candidate communications to be established on the network paths available at the level of the terminal equipment T1 was constructed.
- the terminal selects at least one candidate communication CC from the PCL list. Note that it can select several or even all candidate communications from the PCL list.
- this communication is established between an IP resource comprising the @ T11 address allocated by the access network Nil to the terminal T1 and an IP resource comprising the @ T2 address of the terminal T2.
- the terminal T1 sends to the terminal T2, via the communication CE12, a message, called a mirror frame (for “Mirror”, in English).
- This frame is intended to command the terminal T2 to send a response message according to the conditions specified in the fields of the mirror frame.
- this is a new QUIC frame structure proposed by the invention.
- This frame includes:
- this field comprises the destination IP addresses of the candidate communications selected at 220 ′;
- the remote terminal T2 will have to randomly generate a port number to be associated with each destination IP address;
- an additional security key (or "token” or “Token”) to be included in the response message to be transmitted to the address or addresses of destination indicated.
- FIG. 15 An example of a mirror frame is illustrated in figure 15.
- the terminal T2 connected to the terminal T1 via the communication CE12 implements a method of processing a communication which comprises the following steps, illustrated by FIG. 14.
- the terminal T2 receives at 300 the mirror frame transmitted by Tl via the CEI communication. In 301, it extracts from this frame the destination IP addresses that it contains, possibly associated with destination port numbers, as well as the security key. It is recalled that if the mirror frame does not contain a destination port number, the terminal T2 generates as many as there are destination addresses extracted, for example at random. In 302, the terminal T2 sends to each pair (destination IP address, destination port number) of the terminal T1 specified in the mirror frame, a TV frame called an empty frame because it does not transport application data, comprising only the key of security. Note that the terminal T2 does not need to establish a new QUIC communication with Tl. Indeed, as mentioned previously, a QUIC communication is independent of source and destination IP resources, but relies on a security association.
- the “mirror” frame would give rise to new communications, which the terminal T1 should listen to and associate with the presence detection test in progress. .
- the terminal T1 checks that it does understand the security key, then, if necessary, triggers the update in 223 ′ of the status ST of the corresponding CC candidate communication from its PCL list by setting it to the value “OKON”. Indeed, the fact of having received the TV frame on the path associated with the destination IP address of the terminal T1 proves that there is no state function on the path followed by the TV frame.
- the terminal T1 triggers at 223 ′ a positioning of the status of the path associated with the value OKOFF.
- the terminal T1 updates the status of the corresponding paths of the ACAL list, as previously described in relation to FIG. 4 .
- a terminal T1 which uses a single communication CE12 established with a remote terminal T2 to control its different available addresses @ T11, @ T12, ... @ Tli, with i non-zero integer.
- the terminal T1 sends a mirror frame listing the addresses @ T11, T12, ..., @Tli as destination IP addresses and a security key CS.
- the remote terminal T2 sends an acknowledgment to T1 and then proceeds to send QUIC frames of the TV frame type comprising only the security key CS, to each of the IP addresses @ T11, @ T12, etc.
- Tl On receipt of a data packet comprising such a frame TV, the latter checks whether the packet contains the security key CS entered in the mirror frame . If so, T1 updates its ACAL table to indicate that all the addresses have a STATUS parameter equal to “OKON”.
- FIG. 17 illustrates the case where the data packets comprising the TV frames sent by T2 to the address @ T12 and @Tli are not received by T1 despite the prior acknowledgment of T2, due to the presence of stateful functions on the road.
- T1 updates the statuses of the records in its PCL list, then those of its ACAL list to set the STATUS parameter associated with the @ T12 and @Tli addresses to "OKOFF", and the associated one at @ T11 at
- the terminal T1 detects a new path. It is for example a VPN tunnel (“Virtual Private Network”, in English), established from a physical interface of the terminal T1 for which it already has a network path.
- VPN tunnel Virtual Private Network
- This detection triggers the implementation of the step MULT for discovering stateful functions on this path according to one of the embodiments which have just been described.
- This new path is associated with an @ Tli + l address.
- the terminal T1 requests the terminal T2 with which it is already connected by sending it a mirror frame comprising the address @ Tli + 1 and a security key CS via a communication already established with it.
- a destination port number different from that used for the communication already established is indicated in the mirror frame.
- the terminal updates the STATUS parameter of the path associated with the @ Tli + l address according to the result of the presence detection procedure.
- the terminal T1 updates the statuses of the elements of the PCL then ACAL lists as previously described.
- the terminal can implement the MULT2 embodiment or “Proxy” mode to force the sending of a message to its own IP address and to a port number different from that used to contact the proxy. :
- the terminal T1 implements the MULT3 embodiment or “MIRROR” mode. In this case, it sends a "mirror" frame to a terminal T2 with which it is already in communication and having several IP addresses. This frame comprises a security key, the IP address of the terminal T1 and a destination port number different from that used by the terminal T1 to send the “mirror” frame as described in relation to FIGS. 15 to 17.
- the remote terminal T2 Upon receipt of the message, the remote terminal T2 sends a response message or TV frame to the terminal address and the destination port number indicated in the mirror frame.
- the latter checks whether the packet contains the security key CS entered in the mirror frame. If so, T1 concludes that there is no state function on the path and updates the STATUS status of this path by setting it to “OKON”.
- the embodiment MULT1 is applicable to a single interface terminal, there is a risk that the data packets sent in the network RC by the terminal T1 are filtered on their return by the access network. Indeed, these packets sent with an address of this access network, once relayed by the intermediate nodes imposed by the routing at the source, will probably be treated as an attempt to spoof the IP address of the terminal and will therefore be blocked. .
- the management method implements an optional step 225 of determining a KA_TIMER parameter representative of a lifetime of an input instantiated by the function to states present on the way. It is assumed that the method comprises a preliminary step (not shown) of extracting the elements of the ACAL list associated with an OKOFF status and a test step to verify whether at least one path has been extracted.
- the terminal T1 chooses another address from the ACAL list, for example @ T11, whose status is on the contrary equal to “OKON”.
- the terminal T1 then transmits data via the established communication, at a succession of temporal instants, two consecutive instants of said succession of instants being separated by a temporal interval, initially set at T0 and doubled at each new transmission of data, both that communication is not lost or cut off.
- communication is lost when the parameter KA_TIMER reaches the value KA_TIMER_LOSS equal to 960s.
- this evaluated lifetime is used to more effectively manage the communications from the terminal T1 to the communications network RC.
- it is used to configure the “keepalive” mechanism and the frequency of the messages sent to maintain the entry of a communication in a state function table.
- the invention is not limited to this example of an implementation of the evaluation of the lifespan, even if it offers a good compromise between the performance of a lifespan mechanism and the risk of cutting. of communication.
- FIGS. 19A, 19B and 20 A detailed description will now be made in relation to FIGS. 19A, 19B and 20 of an embodiment of step 23 of triggering an action for managing at least one communication involving a network path of the terminal T1.
- the terminal T1 can advantageously use the information stored in the ACAL list to select the one on which it is more efficient to establish an outgoing communication. For example, the terminal T1 can select the path which does not involve a stateful function or alternatively, a path which comprises a stateful function associated with the highest possible KA_TIMER lifetime. Indeed, the lifetime of an input maintained by a stateful function directly impacts the frequency of sending messages for keeping a “keepalive” mechanism alive and therefore the energy consumption of the terminal.
- the terminal T1 To establish a QUIC communication with a remote terminal T3, the terminal T1 includes in a communication message, such as for example the request for establishment of the communication or any other message, a new control frame called KEEPALIVE_CONTROL of a mechanism for keeping an input maintained by a stateful function alive. This frame is used to transmit to the terminal T3 information for the configuration of the mechanism for keeping an entry maintained by a state function intended to be activated on one or more paths connecting the terminal T1 to the network.
- a communication message such as for example the request for establishment of the communication or any other message.
- KEEPALIVE_CONTROL a new control frame called KEEPALIVE_CONTROL of a mechanism for keeping an input maintained by a stateful function alive.
- This frame is used to transmit to the terminal T3 information for the configuration of the mechanism for keeping an entry maintained by a state function intended to be activated on one or more paths connecting the terminal T1 to the network.
- FIG. 19A Examples of the format of such a message are illustrated by Figures 19A and 19B.
- a simple TCS format intended to be used by a terminal which has a single network interface and in particular a single network path for accessing the communication network RC. It can also be used to characterize a single source address used by the terminal T1 for sending a QUIC data packet.
- FIG. 19B presents a second TCM format of a control message of a keep alive mechanism intended for a multi-interface terminal, that is to say provided with several paths for accessing the RC network.
- the frame of this control message comprises a field representative of an element of the IP address, prefix or IP address identifier type, a STATUS status field and a KA_TIMER lifetime field.
- the values of the STATUS and KA_TIMER parameters are extracted from the ACAL table of the Tl terminal.
- the KA_TIMER field is optional. Note that if this field is absent for an element with a STATUS equal to “OKON”, this means that the procedure for keeping the inputs of a state function alive can be safely disabled.
- One or more KEEPALIVE_CONTROL control frames can be sent to the same remote terminal. For example, a control frame is sent per available path at the terminal T1 or else a single control frame includes all the information relating to all of the available paths.
- the remote terminal T3 on receipt of the frame by the remote terminal T3, the latter extracts the information it contains and saves them in a table called ACAL_PEER. It will be understood that this ACAL_PEER table is an at least partial copy of that maintained by Tl.
- the remote terminal T3 advantageously uses the information in this table to decide on which path to establish a communication with Tl.
- the remote terminal T3 must in turn determine the value of the KA_TIMER parameter representative of a lifetime of an input instantiated by the stateful function present on the path between the IP address @ T11 of Tl and its own paths in the access networks N31, N32, ..., N3j with j non-zero integer, as previously described in relation to FIG. 15. Then, it transmits them to the terminals with which it wishes to communicate via the communication network, such as for example the terminal Tl.
- the terminal T1 can also decide to add one or more new paths to a communication established with the terminal T3 as a function of the relative values of the parameters STATUS and KA_TIMER obtained for a new path compared to those of the paths already used. For example, a terminal can decide to add a new path to the communication even if it does not receive data from the remote terminal T3 via this path.
- KA_TIMER Lical
- PEER KA_TIMER
- the terminals must choose the smaller value between the two.
- each terminal sends KEEPALIVE_CONTROL control frames to the other.
- each terminal has its own ACAL table and that of the remote ACAL terminal (Peer).
- the T3 terminal decides to add a new path via the IP address @ T3i of (N3 and the IP address @ T11 of Nil) to the communication.
- the terminal T1 decides to add the path @Tli of Nli and @ T31 of N31 to the communication.
- the two terminals Due to the fact that for the @ T11 address of Nil and the @ T31 address of N31, the status is set to "OKON" with no associated KA_TIMER lifetime value, the two terminals know that no stateful function has been detected on these paths and decide not to activate the “keepalive” mechanism for keeping the inputs of a stateful function alive for the path (Nil, N31).
- values of KA_TIMER being entered, they activate the optimization for the other paths according to the instructions described in their ACAL tables. In particular, they configure an optimal transmission frequency of "keepalive" messages according to the KA_TIMER lifetime entered.
- the two terminals can each implement the invention which has just been described.
- the terminals can send new KEEPALIVE_CONTROL control frames whenever necessary, as for example in the event of modification of network parameters, such as an attachment to a new access network, obtaining a new IP address, etc.
- the hardware structure of a device 100 for managing at least one communication of terminal equipment in a communication network said terminal equipment being able to access said communication network via at least two paths, one said path being associated to an IP resource, comprising at least an IP address and a port number.
- the device 100 comprises a module for detecting a presence, on at least one path making it possible to reach via said communication network said terminal equipment on an IP address of said terminal equipment called second IP address of at least one.
- stateful function configured to maintain in a table a state associated with a communication on said path for a determined lifetime, comprising the transmission in the communication network of a first message from at least a first IP resource of said terminal equipment, said first IP resource comprising a first IP address and a first port number to a second IP resource of said terminal equipment, comprising said second IP address and a second port number, and the decision of the presence of at least one stateful function on said at least one path as a function of data received by the second IP resource in response to the transmission of the first message, and a trigger module the execution of an action for managing a communication of the terminal equipment on said at least one path making it possible to reach via said communication network said terminal equipment on said second IP address, as a function of said detection.
- the device 100 comprises a module for obtaining a list of paths connecting the terminal to the network via an IP address of this terminal, called the second IP address, and a module for obtaining a list of candidate communications between a first resource comprising a first IP address and a first port number and a second IP resource comprising the second IP address and a second port number.
- the device 100 also comprises a module for determining the lifetime associated with a state of a communication established on said path by said at least one state function detected on the path.
- the device 100 further comprises a module for updating a status representative of the presence or the absence of a state function on said path as a function of the decision, where appropriate of the lifetime. associated with a state of the communication by the state function detected and the module for triggering a management action is configured to trigger said action according to the status and / or the associated lifetime.
- module can correspond just as well to a software component as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subroutines or otherwise. more general to any element of a program capable of implementing a function or a set of functions.
- such a communication management device 100 comprises a random access memory 103 (for example a RAM memory), a processing unit 102 equipped for example with a processor, and controlled by a computer program Pgl, representative the module for detecting the presence of a stateful function on said at least one path and the module for triggering at least one management action on said at least one path, and optionally modules for obtaining the list of paths , obtaining the list of candidate communications, updating a status and determining a lifetime, stored in a read only memory 101 (for example a ROM memory or a hard disk).
- a read only memory 101 for example a ROM memory or a hard disk.
- the code instructions of the computer program are for example loaded into the random access memory 103 before being executed by the processor of the processing unit 102.
- the random access memory 103 notably contains the path table ACAL. , the list of candidate communications PCL and stores for each path the associated KA_TIMER status and, if applicable, lifetime parameters.
- the processor of the processing unit 102 controls the obtaining of the list of paths, the detection of the presence of stateful functions on the listed paths and the triggering of a communication management action on the listed paths, in accordance with the logic diagram of FIG. 2.
- it also stores the ACAL-PEER path tables transmitted by other terminals.
- FIG. 21 only illustrates one particular way, among several possible, of implementing the device for managing a communication 100, so that it performs the steps of the method for managing a communication of a terminal equipment item as detailed below. above, in relation to FIG. 2 in its various embodiments.
- these steps can be carried out either on a reprogrammable computing machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated computing machine (for example a set of logic gates such as an FPGA or ASIC, or any other hardware module).
- a reprogrammable computing machine a PC computer, a DSP processor or a microcontroller
- a program comprising a sequence of instructions
- a dedicated computing machine for example a set of logic gates such as an FPGA or ASIC, or any other hardware module.
- the corresponding program (that is to say the sequence of instructions) can be stored in a removable storage medium (such as for example a floppy disk, CD-ROM or DVD-ROM) or not, this storage medium being partially or totally readable by a computer or a processor.
- a removable storage medium such as for example a floppy disk, CD-ROM or DVD-ROM
- a device for managing a communication 100 integrated into terminal equipment Tl 10 such as for example a mobile telephone of the smart phone type (for “smartphone”, in English ), a PC-type computer (for “Personal Computer” in English) or a tablet, but it can also, as described in relation to FIG. 12, be embedded in any type of CPE access equipment to a computer.
- communication network such as a home automation gateway, provided that it has access to a wide area network, such as for example the Internet network.
- a device 200 for processing a communication established between a first terminal equipment item and a second terminal equipment item via a communication network comprising at least one reception module, from a first IP resource of a first terminal equipment, a message comprising at least one command to send a response to at least a second IP resource of the first terminal equipment, distinct from the first , and inserting security information in the response, a module for extracting said at least one second IP resource and said security information and a transmission module intended for said at least one second address d 'a response or TV frame comprising said security information.
- the device 200 further comprises a module for storing an ACAL_PEER path table received from the first terminal equipment item.
- module can correspond just as well to a software component as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more programs or subroutines of a computer or computer. more generally to any element of a program capable of implementing a function or a set of functions.
- such device equipment 200 comprises a random access memory 203 (for example a RAM memory), a processing unit 202 equipped for example with a processor, and controlled by a computer program Pg2, representative of the reception modules, extraction and transmission, stored in a read only memory 201 (for example a ROM memory or a hard disk).
- a random access memory 203 for example a RAM memory
- a processing unit 202 equipped for example with a processor
- a computer program Pg2 representative of the reception modules, extraction and transmission
- a read only memory 201 for example a ROM memory or a hard disk.
- the code instructions of the computer program are for example loaded into the random access memory 203 before being executed by the processor of the processing unit 32.
- the random access memory 203 notably contains the second IP resources and the security information extracted from the control message received from the first terminal equipment. It can also include the ACAL_PEER path table or tables transmitted by the first terminated device and possibly other terminals.
- the processor of the processing unit 202 controls the reception of the message, the extraction of at least a second IP resource from the first terminal equipment and of security information included in said message, the transmission of a response comprising the security information intended for said at least one second IP resource of the first terminal equipment, in accordance with the flowchart of FIG. 14.
- Fig. 22 only illustrates one particular way, among several possible, of implementing the processing device 200, so that it carries out the steps of the method of processing a communication detailed above, in relation to FIG. 14. Indeed, these steps can be performed indifferently on a reprogrammable computing machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated computing machine (for example a set of logic gates such as a FPGA or ASIC, or any other hardware module).
- a reprogrammable computing machine a PC computer, a DSP processor or a microcontroller
- a program comprising a sequence of instructions
- a dedicated computing machine for example a set of logic gates such as a FPGA or ASIC, or any other hardware module.
- the corresponding program (that is to say the sequence of instructions) can be stored in a removable storage medium (such as whether for example a floppy disk, a CD-ROM or a DVD-ROM) or not, this storage medium being partially or totally readable by a computer or a processor.
- Tl such as for example a mobile telephone of the smart telephone type (for “smartphone”, in English), a PC-type computer (for “Personal computer” in English) or a tablet, but it can also, as described in relation to FIG. 12, be embedded in any equipment CPE type access to a communication network, such as a residential gateway, provided that it has access to a network.
- the invention which has just been described proposes to dynamically detect the presence of stateful functions in a communication network on access paths from a terminal to this network. This presence detection is used to manage the communications accordingly and thus improve their quality while optimizing the energy resources put into play in particular by the terminal equipment.
- the invention allows in particular:
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1907105A FR3096530A1 (fr) | 2019-06-28 | 2019-06-28 | Procédé de gestion d’au moins une communication d’un équipement terminal dans un réseau de communication, procédés de traitement, dispositifs, équipement terminal, équipement proxy et programmes d’ordinateur correspondants |
| PCT/FR2020/051103 WO2020260826A1 (fr) | 2019-06-28 | 2020-06-24 | Procede de gestion d'au moins une communication d'un equipement terminal dans un reseau de communication, procedes de traitement d'une communication etablie avec un equipement terminal dans un reseau de communication, dispositifs, equipement terminal, equipement proxy et programmes d'ordinateur correspondants |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP3991358A1 true EP3991358A1 (fr) | 2022-05-04 |
Family
ID=68733166
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP20747035.2A Pending EP3991358A1 (fr) | 2019-06-28 | 2020-06-24 | Procede de gestion d'au moins une communication d'un equipement terminal dans un reseau de communication, procedes de traitement d'une communication etablie avec un equipement terminal dans un reseau de communication, dispositifs, equipement terminal, equipement proxy et programmes d'ordinateur correspondants |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US11979276B2 (fr) |
| EP (1) | EP3991358A1 (fr) |
| CN (1) | CN114303346B (fr) |
| FR (1) | FR3096530A1 (fr) |
| WO (1) | WO2020260826A1 (fr) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115102924B (zh) * | 2022-06-25 | 2023-09-19 | 平安银行股份有限公司 | 集群地址切换方法、装置、计算机设备及存储介质 |
| US12328256B2 (en) * | 2022-08-10 | 2025-06-10 | Palo Alto Networks, Inc. | Supporting overlapping network addresses universally |
| CN119182751B (zh) * | 2024-08-30 | 2025-11-07 | 新华三技术有限公司 | Sdwan中的数据通信方法、装置、系统及电子设备 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020078198A1 (en) * | 2000-02-25 | 2002-06-20 | Buchbinder John E. | Personal server technology with firewall detection and penetration |
| CN101120550A (zh) * | 2005-01-07 | 2008-02-06 | 松下电器产业株式会社 | 通信系统、资源管理设备和方法以及通信管理设备和方法 |
| ATE426283T1 (de) * | 2005-12-15 | 2009-04-15 | Nokia Corp | Verfahren, apparat und computerprogrammprodukt zur beibehaltung von abbildungszuordnungen |
| FR3019421A1 (fr) * | 2014-03-31 | 2015-10-02 | Orange | Procede de communication par chemins multiples entre deux terminaux |
| US10104167B2 (en) * | 2015-09-28 | 2018-10-16 | Verizon Patent And Licensing Inc. | Networking functions in a micro-services architecture |
| US20190052711A1 (en) * | 2017-08-10 | 2019-02-14 | Morega Systems Inc. | System and method for peer-to-peer connectivity |
| US10476800B2 (en) * | 2017-10-16 | 2019-11-12 | Verizon Digital Media Services Inc. | Systems and methods for load balancing virtual connection traffic |
| US10602551B2 (en) * | 2018-06-27 | 2020-03-24 | Charter Communications Operating, Llc | Methods and apparatus for testing alternative wireless connections and selecting a wireless connection |
| US10791485B2 (en) * | 2018-10-16 | 2020-09-29 | Cisco Technology, Inc. | Systems and methods for quick user datagram protocol internet connection (QUIC) with multipath |
-
2019
- 2019-06-28 FR FR1907105A patent/FR3096530A1/fr not_active Withdrawn
-
2020
- 2020-06-24 CN CN202080060495.0A patent/CN114303346B/zh active Active
- 2020-06-24 US US17/622,957 patent/US11979276B2/en active Active
- 2020-06-24 WO PCT/FR2020/051103 patent/WO2020260826A1/fr not_active Ceased
- 2020-06-24 EP EP20747035.2A patent/EP3991358A1/fr active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US11979276B2 (en) | 2024-05-07 |
| WO2020260826A1 (fr) | 2020-12-30 |
| FR3096530A1 (fr) | 2020-11-27 |
| CN114303346A (zh) | 2022-04-08 |
| US20220239556A1 (en) | 2022-07-28 |
| CN114303346B (zh) | 2025-01-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3739843B1 (fr) | Procédé de communication udp via des chemins multiples entre deux terminaux | |
| EP2494747B1 (fr) | PROCÉDÉS ET DISPOSITIFS DE ROUTAGE DE PAQUETS DE DONNÉES ENTRE RÉSEAUX IPv4 ET IPv6 | |
| EP3476095A1 (fr) | Procédé de communication udp via des chemins multiples entre deux terminaux | |
| EP3284224B1 (fr) | Procédé d'émulation dune connexion à chemins multiples | |
| EP3987752B1 (fr) | Procede et dispositif d'obtention d'une adresse ip | |
| EP3172887A1 (fr) | Procédé de communication tcp via des chemins multiples entre deux terminaux | |
| WO2020260826A1 (fr) | Procede de gestion d'au moins une communication d'un equipement terminal dans un reseau de communication, procedes de traitement d'une communication etablie avec un equipement terminal dans un reseau de communication, dispositifs, equipement terminal, equipement proxy et programmes d'ordinateur correspondants | |
| EP2997717A1 (fr) | Procede et dispositif de selection d'interface de communication | |
| EP4142265B1 (fr) | Procede de communication tcp via des chemins multiples entre deux terminaux | |
| EP3373558B1 (fr) | Procédé de communication pour assurer le maintien d'une session applicative entre un terminal et un serveur d'application | |
| EP3526956B1 (fr) | Procédé de négociation d'une qualité de service offerte par une passerelle à des terminaux | |
| EP2579545B1 (fr) | Méthode d'attribution d'une adresse réseau publique à un équipement disposant d'une adresse réseau privée | |
| WO2019211548A1 (fr) | Procédé d'envoi d'une information et de réception d'une information pour la gestion de réputation d'une ressource ip | |
| EP4037289A1 (fr) | Procede de determination si une adresse ip est attribuee a un terminal dans un reseau de communication | |
| WO2025078594A1 (fr) | Procédés de sélection de tranches réseau adaptées à un service, de gestion d'au moins une tranche réseau et de communication, et entités configurées pour mettre en œuvre ces procédés | |
| FR3143150A1 (fr) | Procédé de gestion d’un ensemble d’adresses IP, procédé de collaboration et dispositifs configurés pour mettre en œuvre ces procédés. | |
| EP2053833A1 (fr) | Procédé de traduction d'entête de paquets de données | |
| WO2007060364A1 (fr) | Procede pour selectionner dans un routeur une route parmi au moins deux routes relatives a une meme adresse reseau de destination |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20211223 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20231130 |