WO2011064511A1 - Technique for setting up a tunnel between a gateway and a translation device in a communication network - Google Patents

Technique for setting up a tunnel between a gateway and a translation device in a communication network Download PDF

Info

Publication number
WO2011064511A1
WO2011064511A1 PCT/FR2010/052548 FR2010052548W WO2011064511A1 WO 2011064511 A1 WO2011064511 A1 WO 2011064511A1 FR 2010052548 W FR2010052548 W FR 2010052548W WO 2011064511 A1 WO2011064511 A1 WO 2011064511A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
network
gateway
translation
session
Prior art date
Application number
PCT/FR2010/052548
Other languages
French (fr)
Inventor
Adil Andaloussi
Christophe Proust
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Publication of WO2011064511A1 publication Critical patent/WO2011064511A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2571NAT traversal for identification, e.g. for authentication or billing 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]

Definitions

  • the invention lies in the field of communication networks, and more particularly in that of the routing of traffic to a client in such a network.
  • a customer To connect to a communication network, such as the Internet, a customer must have an address in this network, called public address; this address must make it possible to identify it in a unique way in order to convey the traffic intended for it. This address is assigned by a provider of access to the communication network.
  • the private network may as well be a residential network that a corporate network.
  • IPv4 a public address in version 4 of the Internet protocol
  • IPv6 A new version of the Internet protocol, known as IPv6, has been planned, in particular to make up for a depletion of the number of IPv4 public addresses.
  • ISDN providers have plans to deploy public IPv4 address sharing solutions based on equipment called CGN for "Carrier Grade NAT" in English. Such solutions consist in introducing an address translation function or NAT, for "Network Address Translation” in this CGN equipment. This address translation function thus makes it possible to share a plurality of public ffv4 addresses between several clients.
  • Such a solution is for example defined by the IETF, for "Internet Engineering Task Force", in the document entitled “draft-ietf-softwire-dual-stack-lite-02". It consists in introducing into the access provider's network a specific DS-Lite AFTR device, for "Dual-Stack Lite Address Family Transition Router” and consists in combining two technologies: the emission of data in a tunnel or "tunneling" and the address translation function.
  • a tunnel is established between a B4 gateway for Basic Bridging BroadBand and the DS-Lite AFTR device and encapsulates an IPv4 data stream transmitted by private network equipment to the DS equipment.
  • -Lite AFTR consists in introducing into the access provider's network a specific DS-Lite AFTR device, for "Dual-Stack Lite Address Family Transition Router” and consists in combining two technologies: the emission of data in a tunnel or "tunneling" and the address translation function.
  • a tunnel is established between
  • a data flow is related to a session established between a sending equipment of the private network and a receiving equipment in the public network.
  • this session is identified in the private network by an IPv4 address private to the equipment of the sending private network and a source port number.
  • the data stream is then decapsulated at the DS-Lite AFTR device and the session identifier in the private network is translated using the NAT function of the DS-Lite AFTR device to a public I ⁇ 4 address and a public port number, both allocated by DS-Lite AFTR equipment.
  • the DS-Lite device AFTR translates using the NAT function the public IPv4 address and the public port number allocated to the associated private IPv4 address and private port number, and then encapsulates the data stream in the tunnel to the gateway .
  • IPv6 prefix is allocated to the gateway by the ISP and the latter is configured only with an IPv6 address belonging to the prefix; no public or private IPv4 address is assigned to it.
  • the gateway is thus responsible for establishing the IPv6 tunnel with the DS-Lite AFTR device, but it simply simply routes the private IPv4 traffic generated at the private network level to this tunnel] Pv6. This means that private IPv4 traffic is translated only once at the DS-Lite AFTR device.
  • the use of this mechanism in the network of the access provider poses a problem of traceability. Indeed, from the moment when the traffic of a plurality of clients is translated to a single public IPv4 address, the access provider is unable to find, from a public address in the IPv4 network, an identifier of one of the plurality of clients having issued a data packet. However, the access provider must be able to identify a source of a ff data packet to respond to a request from a judicial authority. For this reason, the service provider must memorize the information on sessions translated by DS-Lite AFTR equipment, including:
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • ICMP Internet Control Message Protocol
  • the access provider can determine it by first consulting the base of translated sessions, using the public IPv4 address, the public source port number, used in the data packet, and a time tag of the data packet. It then obtains an IPv6 address or prefix delegated to the client, and then in a second time an identifier of the client.
  • this procedure requires the memorization of all the information relating to the translations of sessions for a significant duration, typically one year.
  • the amount of information to be stored depends on the number of clients federated by the DS-Lite AFTR device as well as the average number of sessions generated per client. For example, for equipment managing thirty thousand gateways or clients, with an order of magnitude of one hundred simultaneous sessions per client, the storage means required are of the order of eight terabytes.
  • This technique requires significant investments in storage means.
  • One of the aims of the invention is to overcome disadvantages of the state of the art and / or to make improvements.
  • the subject of the invention is a method for establishing a tunnel for conveying data packets relating to at least one session of a client entity of a private network via a gateway connected to an intermediate network, said method comprising the following steps implemented by the gateway:
  • a step of establishing a tunnel in the intermediate network between the gateway and a translation equipment of the intermediate network said translation equipment being able to perform a translation of a session identifier in the private network to an identifier of session in a public network in a data packet and vice versa, a session identifier consisting of an address and a port number.
  • the establishment method is remarkable in that it further comprises a step of modifying an address of the gateway in the interlay network by inclusion in a private part of said translation information address, said translation information comprising an address in the public network and a range of port numbers, and in that when establishing the tunnel, the gateway is identified by the modified address.
  • the invention further relates to a method of allocating a session identifier in a public network to a session of a client entity of a private network, the data packets of the client entity transiting, by the intermediate of a tunnel established in an intermediate network between a bridge and a translation equipment, said method comprising the following steps implemented by said translation equipment:
  • a step of obtaining an address of the gateway in the intermediate network translation information being included in a private part of said address and comprising an address in the public network and a range of port numbers;
  • the port number is selected in the range of port numbers, the session identifier in the public network then consisting of the address in the public network and the number of the selected port.
  • the private network is for example an IPv4 type network and the addresses in this network are thus private addresses, which do not allow to route data traffic outside the private network.
  • the public network is a type I ⁇ 4 network in which the addresses are public.
  • the intermediate network is for example an IPv6 type network.
  • the gateway and the translation equipment correspond respectively to the B4 and DS-Lite equipment AFPR of the ETF document cited above.
  • a session identifier in a network is a pair consisting of an address in the network and a port number.
  • one end of the tunnel identifies itself using an address in the interlay network that has been modified.
  • a private part, also called free, of the coding of an IPv6 address is used to carry translation information, that is to say a public address in the public network and a range of port numbers.
  • Any packet of data transmitted by the gateway in the tunnel is associated with the tunnel and thus with the address in the gateway's interlay network.
  • the gateway performs no translation function and transmits the data packet as received from the client entity.
  • the free portion of the IPv6 address encoding is not generally used by the translation equipment, constituting the other end of the tunnel.
  • the mechanisms implemented by the gateway are modified only in a prior phase of establishing the tunnel. No changes are made to the operation when routing packets.
  • the translation equipment uses the address in the interlay network that has been modified to determine a session identifier in the public network. This allows in particular to share an address in the public network between a plurality of client entities, possibly belonging to different private networks. This preserves one of the advantages of the solution proposed by the IETF.
  • the allocation of the session identifier is done simply by analyzing the IPv6 address of the end of the tunnel. The changes made to the translation equipment are thus minimal.
  • the establishment method comprises a step of obtaining from a server of the translation information.
  • the gateway on receipt of a message indicating a depletion of the range of port numbers from the translation equipment, the gateway again implements the obtaining step in order to to obtain other translation information.
  • the gateway obtains new translation information and establishes a new tunnel by identifying itself with a new modified address, including the new translation information. This makes it possible to provide a service adapted to customers initiating a large number of sessions.
  • a port number is selected in another range of port numbers and a trace of the translation is stored.
  • This provides overflow port number ranges used by client entities of different gateways. Storage means are then provided for storing the translations performed. With judicious sizing of port number ranges, this case should occur only rarely.
  • the invention furthermore relates to a gateway arranged for conveying data relating to at least one session of a client entity of a private network via a tunnel established in a network interleaved with a piece of equipment.
  • translation device said translation equipment being able to perform a translation in a data packet of a session identifier in the private network to a session identifier in a public network and conversely, a session identifier consisting of an address and a port number
  • said gateway comprising:
  • the invention furthermore relates to a translation equipment arranged for conveying data relating to at least one session of a client entity of a private network via a tunnel established in an intermediate network with a gateway, said translation equipment comprising:
  • a session identifier in the public network, a session identifier consisting of an address and a port number,
  • translation means arranged to translate in a data packet a session identifier in the private network to the selected session identifier in a public network and vice versa
  • the selection means is arranged to select the port number in the range of port numbers, the session identifier in the public network then consisting of the address in the public network and the selected port number.
  • the invention further relates to a system for conveying data relating to at least one session of a client entity of a private network, said system comprising at least one gateway and a translation equipment such as previously described. .
  • the invention further relates to a computer program comprising instructions for implementing the method of establishing a tunnel as described previously by a gateway, when this program is executed by a processor.
  • the invention further relates to a computer program comprising instructions for implementing the method of allocating a session identifier as described previously by a translation equipment, when this program is executed. by a processor.
  • FIG. 1 represents a system for accessing a public network in its environment according to a particular embodiment of the invention
  • FIG. 2 represents the steps of the method of establishing a tunnel according to a particular embodiment of the invention
  • FIG. 3 represents the steps of the translation method according to a particular embodiment of the invention.
  • FIG. 4 represents an address in an intermediate network according to a particular embodiment of the invention.
  • FIG. 5 represents a gateway according to a particular embodiment of the invention.
  • Figure 6 shows a translation equipment according to a particular embodiment of the invention.
  • the general principle of the invention is based on the construction of an IPv6 type address including translation information in a portion of the private address, also called private or free part of this address.
  • IPv6 type address is sixteen bytes long, or one hundred and twenty eight bits.
  • An IPv6 address has two parts:
  • the left side identifies a subnet of the domain
  • the right part identifies an interface of a machine connected to the subnet.
  • the longest prefixes allocated to a subnet are prefixes 764 ", i.e. they have 64 bits to identify them, and the 64 bits to the right of the address are used to identify a particular interface of a machine belonging to the subnet.
  • the use of the last 64 bits in this block remains private
  • a prefix of length 56 denoted "/ 56” is delegated to the network.
  • an IPv4 address is four octets long, or thirty two bits.
  • Port values between 0 and 1024 are known and pre-reserved values by the ⁇ (for "Internet Assigned Numbers Authority"). They are reserved for known services and should not be used to characterize sessions. There are also ports registered with the ⁇ whose numbers range from 1024 to 49151. To conclude, there are dynamic and / or private ports, whose port numbers range from 49152 to 65535.
  • a session identifier in a network is a pair consisting of an address in this network and a port number.
  • An access system 15 to a public network 3 is shown in FIG. 1 in its environment.
  • the access system 15 includes a gateway 20 and a router CGN, for "Carrier Grade NAT", also called translation equipment. It should be noted that for purposes of simplification, only one gateway has been shown in FIG. 1.
  • a router CGN can be connected to a plurality of gateways. Similarly, the network operator can set up several CGN routers of this type.
  • the gateway 20 is dual layer or “Dual-Stack” (DS), that is to say having activated the two IPv4 and IPv6 protocol stacks.
  • DS Dual-Stack
  • This gateway 20 is able to process, in particular receive and transmit, data packets of IPv4 or Pv6 type.
  • This gateway 20 corresponds to the "DS-Lite Basic Bridging BroadBand" equipment noted B4 in the 1TETF document entitled “draft-ietf-softwire-dual-stack-lite-02".
  • the CGN router 10 corresponds to the equipment "DS-Lite Address Family Transition Router" noted AFTR in this same document.
  • the gateway 20 and the CGN router 10 communicate via a tunnel established in an intermediate network 1, for example an IPv6 type network.
  • the tunnel is established at the initiative of the gateway 20.
  • the two ends of this tunnel are the respective addresses in the intermediate network 1 of the gateway 20 and the CGN router 10.
  • It may be a generic ffv6 tunnel compliant ETF RFC 2473, "Generic Packet Tunneling in I ⁇ 6 Specification”.
  • It can also be an L2TP tunnel, for "Layer 2 Tunneling Protocol", or an IPsec tunnel, for "Internet Protocol Security", or a tunnel TSP, for "Tunnel Setup Protocol".
  • the establishment of these tunnels can be automatic or manual.
  • the gateway 20 allows access to client or terminal entities 21 and 22 of a private network 2 to the public network 3, including equipment 31 and 32 of this public network.
  • the public network 3 is of IPv4 type and public addressing.
  • the private network 2 is of the IPv4 type and is privately addressed.
  • the CGN router 10 is in charge of performing a translation between a session identifier in the private network 2 and a session identifier in the public network 3 in packets, these packets being received via the tunnel established in the network.
  • it notably comprises a translation table 100, represented in FIG. 6, in which it stores the translation to be carried out, that is to say the IPv6 address of the gateway 20 and the session identifier in the private network 2 (source private IPv4 address, private source port) to a session identifier in the public network 3 (public IPv4 address, public source port) and vice versa.
  • an entry of the translation table 100 is as follows:
  • Source IPv6 address IPv6 address of gateway 20 + private source IPv4 address: 192.168.1.2 + transport protocol identifier: TCP + private source port: 11111
  • the header of a packet received from the IPv6 address of the gateway and belonging to the session, the session being identified by a private IPv4 address 192.168.1.2 and a private source port 1 1 1 1 1, is translated to a header including a session identifier, including the public source IPv4 address 80.66.57.12 and the public source port 44444.
  • the header of a packet received from the public network 3, comprising the EPv4 public source address 80.66.57.12 and the public source port 44444 is translated to a header comprising notably the session identifier in the private network, composed of the private IPv4 address 192.168.1.2 and the source port TCP 11 111.
  • the packet is then transmitted on the tunnel to the IPv6 address of the gateway 20.
  • the same public ⁇ 4 address is likely to be shared between different gateways or clients.
  • a server 1 1 is also represented in FIG. 1. It is a DHCP server, for "Dynamic Host Configuration Protocol", arranged to provide on request of a client or a gateway 20 a public IPv4 address and a range of port numbers, as detailed later.
  • the gateway 20 obtains an IPv6 address from an IPv6 DHCP server, not shown in FIG. 1.
  • the gateway 20 transmits a request to the DHCP server 1 1 in order to obtain translation information.
  • the translation information includes a public EPv4 address and a range of port numbers.
  • This is for example a DHCPDISCOVER request, conforming to the IETF document entitled "draft-bajko-v6ops-port-restricted-ipaddr-assign-02", in which the gateway 20 indicates that it supports this option OPTION-IPv4-RPR.
  • the DHCP server 11 then transmits it back a DHCPACK message indicating that it supports OPTION-IPv4-OPR and includes a public IPv4 address and a range of port numbers. This port range is represented as an "end port range”.
  • the gateway 20 has the translation information.
  • the gateway 20 modifies its IPv6 address by inclusion in the private part of its address of the translation information.
  • IPv6 address 40 hereinafter referred to as the extended IPv6 address
  • FIG. 4 It comprises in the left-hand part a field 41 comprising the IPv6 prefix to which the gateway's IPv6 address belongs.
  • a field 42 identifying the sub-network.
  • the IPv6 address 40 also comprises, in a particular embodiment of the invention, a field 43 comprising a port mask or "Port Mask” coded on 16 bits, a field 44 comprising a mask locator or "Locator Mask” coded on sixteen bits and a field thirty-two bits long 45 including the allocated public IPv4 address.
  • Fields 43 and 44 are coded in accordance with the IETF document "draft-boucadair-dhc-port-range-01". The range of port numbers is thus encoded using thirty two bits. The gateway 20 then uses this extended IPv6 address to identify itself.
  • the gateway 20 initiates tunnel establishment to the CGN router 10 by identifying itself using the extended IPv6 address.
  • the establishment of this tunnel is performed according to the known methods of the prior art as specified above. We then place sacred in the case where the tunnel is established.
  • the tunnel between the gateway 20 and the CGN router 10 is established and the packets to or from the gateway 20 are encapsulated in this tunnel.
  • the gateway 20 is preconfigured with the aid of translation information stored for example in a programmable memory. Step E2 of the establishment process is then not implemented.
  • the translation method comprising the method of allocating a session identifier, as implemented by the CGN router 10, will now be described in relation to FIG. 3.
  • the CGN router 10 receives a packet P from the tunnel established with the gateway 20 or from the public network 3. In a step F2 of the translation method, the CGN router 10 determines the nature of the packet P.
  • the translation process proceeds to a step
  • the translation process proceeds to a step F20.
  • the CGN router 10 obtains the address of the tunnel end, ie the extended IPv6 address of the gateway 20.
  • the CGN router 10 determines from this extended IPv6 address obtained a public IPv4 address and a range of port numbers.
  • the CGN router 10 checks in an address table 101, shown in Figure 6, if there is in this range of port numbers associated with the public IPv4 address a free port.
  • step F8 of the translation process the CGN router 10 allocates this port to the session being initiated and stores in the addressing table 101 that the port is now occupied.
  • the translation process then proceeds to a step F9 of the translation process.
  • the CGN router 10 selects in a step F6 of the translation process a port number in an overflow range associated with the public IPv4 address. In this case, the port number allocated in the overflow range and the public IPv4 address do not uniquely identify the gateway 20.
  • the CGN router 10 then stores in a trace memory area 102, shown in FIG. 6, a trace associated with this translation. Specifically, the CGN router 10 stores: a protocol type: TCP for "Transmission Control Protocol", UDP for "User Datagram Protocol” or ICMP for "Internet Control Message Protocol”;
  • the CGN router 10 stores in the translation table 100 in association with the IPv6 address of the gateway 20, the translation of the session identifier in the private network 2, as read from the packet header P, including the private IPv4 address and the private source port number, to the session identifier in the public network 3, including the public IPv4 address and the allocated public source port number.
  • the translation process then returns to step F1 awaiting reception of a packet P.
  • step F10 of the translation method that is to say, in the case of a session release packet P, the CGN router 10 releases the public port allocated to the session. Specifically, the GCN router 10 indicates in the addressing table 101 that the allocated public port associated with the public IPv4 address is now free. If a trace has been stored in the trace memory area 102, in this case, the CGN router 10 stores the end date of the session.
  • the CGN router 10 deletes from the translation table 100 the entry corresponding to the session being released.
  • the translation process then returns to step F1 awaiting reception of a packet P.
  • step F20 of the translation method that is to say when it is a packet P of data, the CGN router 10 implements the translation steps, as known from FIG. prior art. More precisely, in step F20 of the translation method, the CGN router 10 obtains from the translation table 100:
  • step F21 of the translational method the CGN router 10 carries out the necessary translation and then transmits during the step F22 of the translation method the packet P in the tunnel in the first case and in the public network 3 in the second. case.
  • the translation process then returns to the step F1 waiting to receive a packet P.
  • the range of public port numbers is determined from the packet P and thus, in association with the public IPv4 address, the client is determined.
  • the client is identified using the trace stored in the tracing memory area 102.
  • the tracing memory area 102 is, however, limited size when proper sizing is chosen for the range of public port numbers. Observations show that, in general, a terminal is likely to initiate a maximum of 60 sessions concurrent. By way of non-limiting example, a range comprising one hundred numbers of public ports may be selected.
  • step F5 of the translation method when determining in step F5 of the translation method that there is no free public port, the request for initiation of the session is rejected, the steps F6 and F7 of the translation process not being implemented in this case. This makes it possible to avoid administering overflow ranges and thus to provide a trace memory area 102.
  • the gateway 20 receives an ICMP message in this case indicating that there are no more public ports available, that is to say a depletion of the port number range.
  • the gateway 20 may again implement steps E1 through E4 to obtain a second range of public port numbers.
  • the gateway 20 builds a second IPv6 address taking into account this second range of public port numbers. It is emphasized here that it is possible in an IPv6 type network to have several IPv6 addresses.
  • the range of public port numbers has been predicted to be thirty-two bits in the extended IPv6 address.
  • a range of port numbers is coded. We can then identify sixty-four ranges and we obtain then by range a number of ports of the order of one thousand.
  • a first range of port numbers is [0400-043F], that is, the set of values between 0400 and 043F.
  • the second range of port numbers is [0440-047F] and so on until the last port number range [FFCO-FFFF].
  • Other forms of constitution of the port number ranges are also possible, for example a sequential distribution of the port numbers in the different ranges.
  • the first value of the range of port numbers is indicated, ie 0440 for [0440-047F]. It is also possible to take the last value, or any other value. This is a rating agreement.
  • the gateway 20 obtains in step E2 of the establishment process the overflow range and includes it in the step E3 of the establishment method in the extended IPv6 address.
  • the router CGN 10 then obtains from the extended IPv6 address the overflow range to be used if necessary at the step F6 of the allocation process. It is understood that this overflow range can be allocated to several clients or gateways administered by the same CGN router 10;
  • the gateway 20 according to a particular embodiment will now be described in relation to FIG. 5.
  • Such a gateway 20 is arranged to convey data relating to at least one session of a client entity 21, 22 of a private network 2 via a tunnel established in an intermediate network 1 with a router CGN.
  • the gateway 20 comprises:
  • a module 202 for transmission / reception in the private network a module 202 for transmission / reception in the private network:
  • a module 206 for managing the tunnel in the intermediate network arranged to establish the tunnel and to encapsulate packets of. data received from client entities of the private network and decapsulate data packets received from the CGN router;
  • a module 208 for modifying an address of the gateway in the intermediate network arranged to include in a private part of said address translation information, which includes an address in a public network and a range of port numbers; .
  • the module 206 is further arranged to identify the gateway during the establishment of the tunnel using the modified address.
  • the gateway 20 may be statically configured with the address in the public network and the range of port numbers.
  • the gateway 20 further comprises a module 210 for obtaining the translation information, arranged to obtain from a server 11 the address in the public network and the range of port numbers.
  • the CGN router 10 according to a particular embodiment will now be described in relation to FIG.
  • Such equipment 10 is arranged to convey data relating to at least one session of a client entity 21, 22 of a private network 2 via a tunnel established in an intermediate network 1 with a gateway 20.
  • the translation equipment comprises:
  • a module 1 14 for managing the tunnel in the intermediate network arranged to establish the tunnel and to encapsulate data packets destined for the gateway and to decapsulate data packets received from the gateway;
  • a module 116 for selecting a session identifier in the public network a translation module 118, arranged to translate in a data packet a session identifier in the private network to the selected session identifier in the public network and vice versa,
  • the selection module 116 is further arranged to select the port number in the range of port numbers, the session identifier in the public network then consisting of the address in the public network and the selected port number.
  • the CGN router 10 also includes the trace memory area
  • the selection module 1 16 is also arranged to select a port number in another range of port numbers when all the port numbers of the range have been allocated and to store a trace of the translation in the memory area of the port. trace 102.
  • the modules 206, 208, 210 of a gateway 20 are arranged to implement the steps of the previously described tunnel establishment method executed by the gateway. These are preferably software modules comprising software instructions for executing the steps of establishment of a previously described tunnel, implemented by a gateway.
  • the invention therefore also relates to:
  • a gateway program comprising program instructions for controlling the execution of the steps of the tunneling method previously described which are executed by said gateway, when said program is executed by a processor thereof;
  • a recording medium readable by a gateway on which the gateway program is recorded.
  • the modules 1 16, 120 of a translation equipment 10 or CGN router are arranged to implement the steps of the method of allocation of a previously described session identifier executed by the translation equipment.
  • These are preferably software modules comprising software instructions for executing the allocation steps of a session identifier previously described, implemented by a translation equipment.
  • the invention therefore also relates to:
  • a program for translation equipment comprising program instructions intended to control the execution of the steps of the method of allocation of a previously described session identifier which are executed by said translation equipment, when said program is executed by a processor of it; - A recording medium readable by a translation equipment on which is recorded the program for translation equipment.
  • the software modules can be stored in or transmitted by a data carrier.
  • a data carrier This may be a hardware storage medium, for example a CD-ROM, a magnetic diskette or a hard disk, or a transmission medium such as an electrical signal, optical or radio, or a telecommunications network.
  • the invention also relates to a system 15 for accessing a public network for conveying data relating to at least one session of a client entity of a private network, comprising at least one gateway and a translation equipment, as described previously.

Abstract

The invention relates to a technique for setting up a tunnel for carrying data packets relating to at least one session of a client entity (21, 22) of a private network (2) by means of a gateway (20) connected to an intermediate network (1). When restoring the tunnel, the gateway sets up a tunnel in the intermediate network with a translation device (10) of the intermediate network. Said translation device is suitable for translating a session identifier in the private network to a session identifier in a public network in a data packet, and vice-versa, a session identifier being made up of an address and a port number. The gateway is identified when setting up the tunnel with an address in the intermediate network which was modified. In said modified address, translation information including an address in the public network and a range of port numbers is included in a private portion. Upon receiving a data packet initiating a session, the translation device then selects the port number from the range of port numbers obtained from the modified address, the session identifier in the public network then comprising the address in the public network and the selected port number.

Description

Technique d'établissement d'un tunnel entre une passerelle et un équipement de translation dans un réseau de communication  Technique for establishing a tunnel between a bridge and a translation equipment in a communication network
L'invention se situe dans le domaine des réseaux de communication, et plus particulièrement dans celui de l'acheminement du trafic à destination d'un client dans un tel réseau.  The invention lies in the field of communication networks, and more particularly in that of the routing of traffic to a client in such a network.
Pour se connecter à un réseau de communication, tel que le réseau Internet, un client doit disposer d'une adresse dans ce réseau, dite adresse publique ; cette adresse doit permettre de l'identifier d'une manière unique afin de lui acheminer le trafic qui lui est destiné. Cette adresse lui est attribuée par un fournisseur d'accès au réseau de communication.  To connect to a communication network, such as the Internet, a customer must have an address in this network, called public address; this address must make it possible to identify it in a unique way in order to convey the traffic intended for it. This address is assigned by a provider of access to the communication network.
Dans la suite, on désignera par «passerelle» tout équipement d'interconnexion entre un réseau privé et un réseau de communication, le réseau privé pouvant aussi bien être un réseau résidentiel qu'un réseau d'entreprise.  In the following, we will designate as "gateway" any interconnection equipment between a private network and a communication network, the private network may as well be a residential network that a corporate network.
Actuellement, une adresse publique dans la version 4 du protocole Internet, notée IPv4, est attribuée au client. Le nombre d'adresses publiques de type IΡν4 est limité. Une nouvelle version du protocole Internet, dite IPv6, a été prévue, afin de pallier notamment un épuisement du nombre d'adresses publiques de type IPv4. Les fournisseurs d'accès au réseau de communication Internet ont prévu de déployer des solutions de partage d'adresses IPv4 publiques basées sur un équipement appelé CGN pour "Carrier Grade NAT" en anglais. De telles solutions consistent à introduire une fonction de translation d'adresse ou NAT, pour "Network Address Translation" dans cet équipement CGN. Cette fonction de translation d'adresse permet ainsi de partager une pluralité d'adresses ffv4 publiques entre plusieurs clients. Une telle solution est par exemple définie par l'IETF, pour "Internet Engineering Task Force", dans le document intitulé "draft-ietf-softwire-dual- stack-lite-02". Elle consiste à introduire dans le réseau du fournisseur d'accès un équipement spécifique DS-Lite AFTR, pour "Dual-Stack Lite Address Family Transition Router" et consiste à combiner deux technologies : l'émission de données dans un tunnel ou "tunneling" et la fonction de translation d'adresse. Un tunnel est établi entre une passerelle B4, pour « Basic Bridging BroadBand », et l'équipement DS-Lite AFTR et permet d'encapsuler un flux de données de type IPv4 émis par des équipements du réseau privé jusqu'à l'équipement DS-Lite AFTR. Un flux de données est relatif à une session établie entre un équipement émetteur du réseau privé et un équipement récepteur dans le réseau public. Cette session est notamment identifiée dans le réseau privé par une adresse IPv4 privée de l'équipement du réseau privé émetteur et un numéro de port source. Le flux de données est ensuite décapsulé au niveau l'équipement DS-Lite AFTR et l'identifiant de session dans le réseau privé est translaté à l'aide de la fonction NAT de l'équipement DS-Lite AFTR vers une adresse IΡν4 publique et un numéro de port public, tous deux alloués par l'équipement DS-Lite AFTR. Réciproquement, lorsqu'un flux de données arrive à destination de l'adresse IPv4 publique et du numéro de port public alloués, l'équipement DS-Lite AFTR translate à l'aide de la fonction NAT l'adresse IPv4 publique et le numéro de port public alloués vers l'adresse IPv4 privée et le numéro de port privé associés, puis encapsule le flux de données dans le tunnel à destination de la passerelle. Currently, a public address in version 4 of the Internet protocol, denoted IPv4, is assigned to the client. The number of I adressesν4 public addresses is limited. A new version of the Internet protocol, known as IPv6, has been planned, in particular to make up for a depletion of the number of IPv4 public addresses. ISDN providers have plans to deploy public IPv4 address sharing solutions based on equipment called CGN for "Carrier Grade NAT" in English. Such solutions consist in introducing an address translation function or NAT, for "Network Address Translation" in this CGN equipment. This address translation function thus makes it possible to share a plurality of public ffv4 addresses between several clients. Such a solution is for example defined by the IETF, for "Internet Engineering Task Force", in the document entitled "draft-ietf-softwire-dual-stack-lite-02". It consists in introducing into the access provider's network a specific DS-Lite AFTR device, for "Dual-Stack Lite Address Family Transition Router" and consists in combining two technologies: the emission of data in a tunnel or "tunneling" and the address translation function. A tunnel is established between a B4 gateway for Basic Bridging BroadBand and the DS-Lite AFTR device and encapsulates an IPv4 data stream transmitted by private network equipment to the DS equipment. -Lite AFTR. A data flow is related to a session established between a sending equipment of the private network and a receiving equipment in the public network. In particular, this session is identified in the private network by an IPv4 address private to the equipment of the sending private network and a source port number. The data stream is then decapsulated at the DS-Lite AFTR device and the session identifier in the private network is translated using the NAT function of the DS-Lite AFTR device to a public IΡν4 address and a public port number, both allocated by DS-Lite AFTR equipment. Conversely, when a data flow arrives at the public IPv4 address and the allocated public port number, the DS-Lite device AFTR translates using the NAT function the public IPv4 address and the public port number allocated to the associated private IPv4 address and private port number, and then encapsulates the data stream in the tunnel to the gateway .
Un préfixe IPv6 est alloué à la passerelle par le fournisseur d'accès et celle-ci est configurée uniquement avec une adresse IPv6 appartenant au préfixe ; aucune adresse IPv4 publique ou privée n'est attribuée à celle-ci. La passerelle est ainsi chargée d'établir le tunnel IPv6 avec l'équipement DS-Lite AFTR mais elle se contente simplement d'acheminer le trafic IPv4 privé généré au niveau du réseau privé vers ce tunnel ]Pv6. Ce qui signifie que le trafic IPv4 privé est translaté une seule fois au niveau de l'équipement DS-Lite AFTR.  An IPv6 prefix is allocated to the gateway by the ISP and the latter is configured only with an IPv6 address belonging to the prefix; no public or private IPv4 address is assigned to it. The gateway is thus responsible for establishing the IPv6 tunnel with the DS-Lite AFTR device, but it simply simply routes the private IPv4 traffic generated at the private network level to this tunnel] Pv6. This means that private IPv4 traffic is translated only once at the DS-Lite AFTR device.
Toutefois, l'utilisation de ce mécanisme dans le réseau du fournisseur d'accès pose un problème de traçabilité. En effet, à partir du moment où le trafic d'une pluralité de clients est translaté vers une seule adresse IPv4 publique, le fournisseur d'accès est dans l'incapacité de retrouver, à partir d'une adresse publique dans le réseau IPv4, un identifiant d'un des clients de la pluralité ayant émis un paquet de données. Or le fournisseur d'accès doit être en mesure d'identifier une provenance d'un paquet de données ff pour répondre à une requête d'une autorité judiciaire. Pour cette raison, le fournisseur d'accès doit mémoriser les informations relatives aux sessions translatées par l'équipement DS-Lite AFTR, notamment :  However, the use of this mechanism in the network of the access provider poses a problem of traceability. Indeed, from the moment when the traffic of a plurality of clients is translated to a single public IPv4 address, the access provider is unable to find, from a public address in the IPv4 network, an identifier of one of the plurality of clients having issued a data packet. However, the access provider must be able to identify a source of a ff data packet to respond to a request from a judicial authority. For this reason, the service provider must memorize the information on sessions translated by DS-Lite AFTR equipment, including:
un type de protocole : TCP pour "Transmission Control Protocol", UDP pour "User Datagram Protocol" ou ICMP pour "Internet Control Message Protocol " ;  a protocol type: TCP for Transmission Control Protocol, UDP for User Datagram Protocol, or ICMP for Internet Control Message Protocol;
l'adresse Pv6 de la passerelle ;  the Pv6 address of the gateway;
une adresse IΡv4 publique allouée à la session ;  a public IΡv4 address allocated to the session;
un numéro de port public ou un identifiant ICMP alloué à la session ;  a public port number or an ICMP identifier allocated to the session;
la date, les heures de début et de fin de l'allocation à la session.  the date, the start and end times of the allocation at the session.
Ainsi, lorsqu'une autorité judiciaire demande au fournisseur d'accès d'identifier un client émetteur d'un paquet IPv4 donné, le fournisseur d'accès peut le déterminer en consultant dans un premier temps la base des sessions traduites, à l'aide de l'adresse IPv4 publique, du numéro de port source public, utilisés dans le paquet de données et d'une étiquette temporelle de ce dernier. II obtient alors une adresse ou un préfixe IPv6 délégué au client, puis dans un deuxième temps un identifiant du client.  Thus, when a judicial authority requests the access provider to identify a client sending a given IPv4 packet, the access provider can determine it by first consulting the base of translated sessions, using the public IPv4 address, the public source port number, used in the data packet, and a time tag of the data packet. It then obtains an IPv6 address or prefix delegated to the client, and then in a second time an identifier of the client.
Cependant, cette procédure requiert la mémorisation de l'ensemble des informations relatives aux traductions de sessions pendant une durée importante, typiquement d'un an. La quantité des informations à mémoriser dépend du nombre de clients fédérés par l'équipement DS- Lite AFTR ainsi que du nombre moyen de sessions générées par client. A titre d'exemple, pour un équipement gérant trente mille passerelles ou clients, avec un ordre de grandeur de cent sessions simultanées par client, les moyens de stockage nécessaires sont de l'ordre de huit Téraoctets. Ainsi, cette technique requiert des investissements importants en moyens de stockage. Un des buts de l'invention est de remédier à des inconvénients de l'état de la technique et/ou d'y apporter des améliorations. However, this procedure requires the memorization of all the information relating to the translations of sessions for a significant duration, typically one year. The amount of information to be stored depends on the number of clients federated by the DS-Lite AFTR device as well as the average number of sessions generated per client. For example, for equipment managing thirty thousand gateways or clients, with an order of magnitude of one hundred simultaneous sessions per client, the storage means required are of the order of eight terabytes. Thus, this technique requires significant investments in storage means. One of the aims of the invention is to overcome disadvantages of the state of the art and / or to make improvements.
Selon un premier aspect, l'invention a pour objet un procédé d'établissement d'un tunnel destiné à acheminer des paquets de données relatifs à au moins une session d'une entité cliente d'un réseau privé par l'intermédiaire d'une passerelle reliée à un réseau intercalaire, ledit procédé comprenant les étapes suivantes mise en œuvre par la passerelle :  According to a first aspect, the subject of the invention is a method for establishing a tunnel for conveying data packets relating to at least one session of a client entity of a private network via a gateway connected to an intermediate network, said method comprising the following steps implemented by the gateway:
- une étape d'établissement d'un tunnel dans le réseau intercalaire entre la passerelle et un équipement de translation du réseau intercalaire, ledit équipement de translation étant apte à effectuer une translation d'un identifiant de session dans le réseau privé vers un identifiant de session dans un réseau public dans un paquet de données et réciproquement, un identifiant de session étant constitué d'une adresse et d'un numéro de port.  a step of establishing a tunnel in the intermediate network between the gateway and a translation equipment of the intermediate network, said translation equipment being able to perform a translation of a session identifier in the private network to an identifier of session in a public network in a data packet and vice versa, a session identifier consisting of an address and a port number.
Le procédé d'établissement est remarquable en ce qu'il comprend en outre une étape de modification d'une adresse de la passerelle dans le réseau intercalaire par inclusion dans une partie privée de ladite adresse d'informations de translation, lesdites informations de translation comprenant une adresse dans le réseau public et une plage de numéros de ports, et en ce que lors de l'établissement du tunnel, la passerelle est identifiée par l'adresse modifiée.  The establishment method is remarkable in that it further comprises a step of modifying an address of the gateway in the interlay network by inclusion in a private part of said translation information address, said translation information comprising an address in the public network and a range of port numbers, and in that when establishing the tunnel, the gateway is identified by the modified address.
Corrélativement, l'invention concerne en outre un procédé d'allocation d'un identifiant de session dans un réseau public à une session d'une entité cliente d'un réseau privé, les paquets de données de l'entité cliente transitant, par l'intermédiaire d'un tunnel établi dans un réseau intercalaire entre une passerelle et un équipement de translation, ledit procédé comprenant les étapes suivantes mises en œuvre par ledit équipement de translation :  Correlatively, the invention further relates to a method of allocating a session identifier in a public network to a session of a client entity of a private network, the data packets of the client entity transiting, by the intermediate of a tunnel established in an intermediate network between a bridge and a translation equipment, said method comprising the following steps implemented by said translation equipment:
- une étape de réception d'un paquet initiant la session par l'intermédiaire du tunnel,  a step of receiving a packet initiating the session via the tunnel,
- une étape de sélection d'un identifiant de session dans le réseau public, un identifiant de session étant constitué d'une adresse et d'un numéro de port, les paquets de données relatifs à la session reçus dans le tunnel étant translatés d'un identifiant de session dans le réseau privé vers l'identifiant de session dans le réseau public sélectionné et réciproquement,  a step of selecting a session identifier in the public network, a session identifier consisting of an address and a port number, the data packets relating to the session received in the tunnel being translated from a session identifier in the private network to the session identifier in the selected public network and vice versa,
caractérisé en ce que le procédé comprend en outre : characterized in that the method further comprises:
- une étape d'obtention d'une adresse de la passerelle dans le réseau intercalaire, des informations de translation étant incluses dans une partie privée de ladite adresse et comprenant une adresse dans le réseau public et une plage de numéros de ports ;  a step of obtaining an address of the gateway in the intermediate network, translation information being included in a private part of said address and comprising an address in the public network and a range of port numbers;
et en ce que lors de l'étape de sélection, on sélectionne le numéro de port dans la plage de numéros de ports, l'identifiant de session dans le réseau public étant alors constitué de l'adresse dans le réseau public et du numéro de port sélectionné. and in that during the selection step, the port number is selected in the range of port numbers, the session identifier in the public network then consisting of the address in the public network and the number of the selected port.
Le réseau privé est par exemple un réseau de type IPv4 et les adresses dans ce réseau sont ainsi des adresses privées, qui ne permettent pas d'acheminer du trafic de données en dehors du réseau privé. Le réseau public est un réseau de type IΡν4 dans lequel les adresses sont publiques. Le réseau intercalaire est par exemple un réseau de type IPv6. Dans ce cas, la passerelle et l'équipement de translation correspondent respectivement aux équipements B4 et DS-Lite AFPR du document de l'ETF cité précédemment. Par la suite on appelle identifiant de session dans un réseau, un couple constitué d'une adresse dans le réseau et d'un numéro de port. The private network is for example an IPv4 type network and the addresses in this network are thus private addresses, which do not allow to route data traffic outside the private network. The public network is a type IΡν4 network in which the addresses are public. The intermediate network is for example an IPv6 type network. In this case, the gateway and the translation equipment correspond respectively to the B4 and DS-Lite equipment AFPR of the ETF document cited above. Subsequently, a session identifier in a network is a pair consisting of an address in the network and a port number.
Grâce au procédé d'établissement du tunnel, une des extrémités du tunnel s'identifie à l'aide d'une adresse dans le réseau intercalaire qui a été modifiée. On utilise ainsi une partie privée, appelée également libre, du codage d'une adresse IPv6 pour faire porter des informations de translation, c'est-à-dire une adresse publique dans le réseau public et une plage de numéros de ports. Tout paquet de données transmis par la passerelle dans le tunnel est associé au tunnel et ainsi à l'adresse dans le réseau intercalaire de la passerelle. La passerelle n'effectue aucune fonction de translation et transmet le paquet de données tel qu'elle l'a reçu de l'entité cliente. La partie libre du codage de l'adresse IPv6 n'est généralement pas utilisée par l'équipement de translation, constituant l'autre extrémité du tunnel. Ainsi, les mécanismes mis en œuvre par la passerelle sont modifiés uniquement dans une phase préalable d'établissement du tunnel. Aucune modification n'est apportée au fonctionnement lors de l'acheminement de paquets. Selon le procédé d'allocation d'un identifiant de session, l'équipement de translation utilise l'adresse dans le réseau intercalaire qui a été modifiée pour déterminer un identifiant de session dans le réseau public. Ceci permet notamment de partager une adresse dans le réseau public entre une pluralité d'entités clientes, appartenant éventuellement à différents réseaux privés. On conserve ainsi un des avantages de la solution proposée par l'IETF. De plus, l'allocation de l'identifiant de session s'effectue simplement par analyse de l' adresse IPv6 de l'extrémité du tunnel. Les modifications apportées à l'équipement de translation sont ainsi minimes. Une fois l'identifiant de session dans le réseau public alloué et mémorisé en association avec la session dans une table de translation, l'acheminement des paquets de données relatifs à la session s'effectue de la même façon que dans la technique antérieure, par lecture de la table de translation.  Through the tunnel establishment process, one end of the tunnel identifies itself using an address in the interlay network that has been modified. Thus, a private part, also called free, of the coding of an IPv6 address is used to carry translation information, that is to say a public address in the public network and a range of port numbers. Any packet of data transmitted by the gateway in the tunnel is associated with the tunnel and thus with the address in the gateway's interlay network. The gateway performs no translation function and transmits the data packet as received from the client entity. The free portion of the IPv6 address encoding is not generally used by the translation equipment, constituting the other end of the tunnel. Thus, the mechanisms implemented by the gateway are modified only in a prior phase of establishing the tunnel. No changes are made to the operation when routing packets. According to the method of allocating a session identifier, the translation equipment uses the address in the interlay network that has been modified to determine a session identifier in the public network. This allows in particular to share an address in the public network between a plurality of client entities, possibly belonging to different private networks. This preserves one of the advantages of the solution proposed by the IETF. In addition, the allocation of the session identifier is done simply by analyzing the IPv6 address of the end of the tunnel. The changes made to the translation equipment are thus minimal. Once the session identifier in the public network has been allocated and stored in association with the session in a translation table, the routing of the data packets relating to the session is carried out in the same way as in the prior art, by reading of the translation table.
A partir d'un paquet intercepté dans le réseau public, il est possible de déterminer l'identifiant de session associé et ainsi l'adresse dans le réseau public et le port public. Ces informations permettent d'identifier la passerelle ou le client de façon unique, sans avoir recours à une mémorisation de l'ensemble des sessions qui ont fait l'objet de la traduction au cours du temps. Ceci permet donc de satisfaire les obligations légales d'un opérateur sans requérir d'espace de mémorisation important. De plus, il n'est pas nécessaire de prévoir au niveau de l'équipement de translation des modules protocolaires, tels que SNMP pour « Simple Network Management Protocol » ou Syslog, permettant à ce dernier de transmettre les traces mémorisant l'ensemble des sessions à un serveur central. Il est également souligné que ces procédés limitent également les opérations de mise en service de l'équipement de translation, puisqu'il n'est plus nécessaire de configurer des adresses dans le réseau public et le cas échéant, des plages de port. From a packet intercepted in the public network, it is possible to determine the associated session identifier and thus the address in the public network and the public port. This information makes it possible to identify the gateway or the client in a unique way, without resorting to a memorization of all the sessions that have been the subject of translation over time. This makes it possible to satisfy the legal obligations of an operator without requiring significant storage space. In addition, it is not necessary to provide at the level of the translation equipment protocol modules, such as SNMP for "Simple Network Management Protocol" or Syslog, allowing the latter to transmit the traces memorizing all sessions to a central server. It is also emphasized that these methods also limit the commissioning operations of the translation equipment, since it is no longer necessary to configure addresses in the public network and, if necessary, port ranges.
Selon une caractéristique particulière, le procédé d'établissement comprend une étape d'obtention auprès d'un serveur des informations de translation.  According to a particular characteristic, the establishment method comprises a step of obtaining from a server of the translation information.
Il est ainsi possible de configurer sur requête la passerelle à l'aide des informations de translation.  It is thus possible to configure the gateway on request using the translation information.
Il est également possible de préconfigurer la passerelle à l'aide d'informations de translation mémorisées par exemple dans une mémoire programmable.  It is also possible to preconfigure the gateway with translation information stored for example in a programmable memory.
Selon une autre caractéristique particulière du procédé d'établissement, sur réception d'un message indiquant un épuisement de la plage de numéros de ports en provenance de l'équipement de translation, la passerelle met de nouveau en œuvre l'étape d'obtention afin d'obtenir d'autres informations de translation.  According to another particular characteristic of the establishment method, on receipt of a message indicating a depletion of the range of port numbers from the translation equipment, the gateway again implements the obtaining step in order to to obtain other translation information.
Ainsi, la passerelle obtient des nouvelles informations de translation et établit un nouveau tunnel en s'identifiant à l'aide d'une nouvelle adresse modifiée, comprenant les nouvelles informations de translation. Ceci permet de fournir un service adapté à des clients initiant un grand nombre de sessions.  Thus, the gateway obtains new translation information and establishes a new tunnel by identifying itself with a new modified address, including the new translation information. This makes it possible to provide a service adapted to customers initiating a large number of sessions.
Selon une caractéristique particulière du procédé d'allocation, lorsque l'ensemble des numéros de port de la plage a été alloué, l'initiation de la session est rejetée.  According to a particular characteristic of the allocation method, when the set of port numbers of the range has been allocated, the initiation of the session is rejected.
Cette solution permet de conserver l'avantage mentionné précédemment du fait qu'elle ne nécessite pas de moyens de stockage. Une passerelle dont les entités clientes ont épuisé la plage de numéros de ports disponibles se trouve alors limitée quant à son nombre de sessions simultanées.  This solution makes it possible to retain the advantage mentioned above because it does not require storage means. A gateway whose client entities have exhausted the range of available port numbers is then limited in its number of concurrent sessions.
Selon une autre caractéristique particulière du procédé d'allocation, lorsque l'ensemble des numéros de port de la plage a été alloué, on sélectionne un numéro de port dans une autre plage de numéros de port et on mémorise une trace de la translation.  According to another particular characteristic of the allocation method, when all the port numbers of the range have been allocated, a port number is selected in another range of port numbers and a trace of the translation is stored.
On prévoit ainsi des plages de numéros de port de débordement utilisées par des entités clientes de différentes passerelles. Des moyens de stockage sont alors prévus pour mémoriser les translations effectuées. Avec un dimensionnement judicieux des plages de numéros de ports, ce cas ne doit se produire que rarement.  This provides overflow port number ranges used by client entities of different gateways. Storage means are then provided for storing the translations performed. With judicious sizing of port number ranges, this case should occur only rarely.
Selon un deuxième aspect, l'invention concerne en outre une passerelle agencée pour acheminer des données relatives à au moins une session d'une entité cliente d'un réseau privé par l'intermédiaire d'un tunnel établi dans un réseau intercalaire avec un équipement de translation, ledit équipement de translation étant apte à effectuer une translation dans un paquet de données d'un identifiant de session dans le réseau privé vers un identifiant de session dans un réseau public et réciproquement, un identifiant de session étant constitué d'une adresse et d'un numéro de port, ladite passerelle comprenant : According to a second aspect, the invention furthermore relates to a gateway arranged for conveying data relating to at least one session of a client entity of a private network via a tunnel established in a network interleaved with a piece of equipment. translation device, said translation equipment being able to perform a translation in a data packet of a session identifier in the private network to a session identifier in a public network and conversely, a session identifier consisting of an address and a port number, said gateway comprising:
- des moyens de modification d'une adresse de la passerelle dans le réseau intercalaire par inclusion dans une partie privée de ladite adresse d'informations de translation, Iesdites informations de translation comprenant une adresse dans le réseau public et une plage de numéros de ports,  means for modifying an address of the gateway in the intermediate network by inclusion in a private part of said translation information address, said translation information comprising an address in the public network and a range of port numbers,
- des moyens d'établissement du tunnel dans le réseau intercalaire entre la passerelle et l'équipement de translation, dans lesquels la passerelle est identifiée par l'adresse modifiée.  means for establishing the tunnel in the intermediate network between the gateway and the translation equipment, in which the gateway is identified by the modified address.
Selon un troisième aspect, l'invention concerne en outre un équipement de translation agencé pour acheminer des données relatives à au moins une session d'une entité cliente d'un réseau privé par l'intermédiaire d'un tunnel établi dans un réseau intercalaire avec une passerelle, ledit équipement de translation comprenant :  According to a third aspect, the invention furthermore relates to a translation equipment arranged for conveying data relating to at least one session of a client entity of a private network via a tunnel established in an intermediate network with a gateway, said translation equipment comprising:
- des moyens de réception d'un paquet initiant la session par l'intermédiaire du tunnel,  means for receiving a packet initiating the session via the tunnel,
- des moyens de sélection d'un identifiant de session dans le réseau public, un identifiant de session étant constitué d'une adresse et d'un numéro de port,  means for selecting a session identifier in the public network, a session identifier consisting of an address and a port number,
- des moyens de translation, agencés pour translater dans un paquet de données un identifiant de session dans le réseau privé vers l'identifiant de session sélectionné dans un réseau public et réciproquement,  translation means, arranged to translate in a data packet a session identifier in the private network to the selected session identifier in a public network and vice versa,
caractérisé en ce que ledit équipement de translation comprend en outre : characterized in that said translation equipment further comprises:
- des moyens d'obtention d'une adresse de la passerelle dans le réseau intercalaire, des informations de translation étant incluses dans une partie privée de ladite adresse et comprenant une adresse dans le réseau public et une plage de numéros de ports ;  means for obtaining an address of the gateway in the intermediate network, translation information being included in a private part of said address and comprising an address in the public network and a range of port numbers;
et dans lequel les moyens de sélection sont agencés pour sélectionner le numéro de port dans la plage de numéros de ports, l'identifiant de session dans le réseau public étant alors constitué de l'adresse dans le réseau public et du numéro de port sélectionné. and wherein the selection means is arranged to select the port number in the range of port numbers, the session identifier in the public network then consisting of the address in the public network and the selected port number.
Selon un quatrième aspect, l'invention concerne en outre un système pour acheminer des données relatives à au moins une session d'une entité cliente d'un réseau privé, ledit système comprenant au moins une passerelle et un équipement de translation tels que décrits précédemment.  According to a fourth aspect, the invention further relates to a system for conveying data relating to at least one session of a client entity of a private network, said system comprising at least one gateway and a translation equipment such as previously described. .
Selon un cinquième aspect, l'invention concerne en outre un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé d'établissement d'un tunnel tel que décrit précédemment par une passerelle, lorsque ce programme est exécuté par un processeur.  According to a fifth aspect, the invention further relates to a computer program comprising instructions for implementing the method of establishing a tunnel as described previously by a gateway, when this program is executed by a processor.
Selon un sixième aspect, l'invention concerne en outre un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé d'allocation d'un identifiant de session tel que décrit précédemment par un équipement de translation, lorsque ce programme est exécuté par un processeur. L'invention sera mieux comprise à l'aide de la description suivante d'un mode de réalisation particulier des procédés de l'invention, en référence aux dessins annexés sur lesquels : According to a sixth aspect, the invention further relates to a computer program comprising instructions for implementing the method of allocating a session identifier as described previously by a translation equipment, when this program is executed. by a processor. The invention will be better understood with the aid of the following description of a particular embodiment of the methods of the invention, with reference to the appended drawings in which:
la figure 1 représente un système d'accès à un réseau public dans son environnement selon un mode particulier de réalisation de l'invention;  FIG. 1 represents a system for accessing a public network in its environment according to a particular embodiment of the invention;
la figure 2 représente les étapes du procédé d'établissement d'un tunnel selon un mode particulier de réalisation de l'invention ;  FIG. 2 represents the steps of the method of establishing a tunnel according to a particular embodiment of the invention;
la figure 3 représente les étapes du procédé de translation selon un mode particulier de réalisation de l'invention ;  FIG. 3 represents the steps of the translation method according to a particular embodiment of the invention;
la figure 4 représente une adresse dans un réseau intercalaire selon un mode particulier de réalisation de l'invention ;  FIG. 4 represents an address in an intermediate network according to a particular embodiment of the invention;
la figure 5 représente une passerelle selon un mode particulier de réalisation de l'invention ;  FIG. 5 represents a gateway according to a particular embodiment of the invention;
la figure 6 représente un équipement de translation selon un mode particulier de réalisation de l'invention.  Figure 6 shows a translation equipment according to a particular embodiment of the invention.
Le principe général de l'invention repose sur la construction d'une adresse de type IPv6 comprenant des informations de translation dans une partie de l'adresse à usage privé, également appelée partie privée ou libre de cette adresse.  The general principle of the invention is based on the construction of an IPv6 type address including translation information in a portion of the private address, also called private or free part of this address.
Pour rappel, une adresse de type IPv6 est de longueur seize octets, soit cent vingt huit bits. Une adresse de type IPv6 comporte deux parties:  As a reminder, an IPv6 type address is sixteen bytes long, or one hundred and twenty eight bits. An IPv6 address has two parts:
la partie de gauche identifie un sous-réseau du domaine ;  the left side identifies a subnet of the domain;
la partie de droite identifie une interface d'une machine connectée au sous-réseau.  the right part identifies an interface of a machine connected to the subnet.
Généralement, les préfixes les plus longs alloués à un sous-réseau sont des préfixes 764"; c'est-à-dire qu'ils comportent 64 bits pour les identifier. Les 64 bits de droite de l'adresse sont alors utilisés pour identifier une interface particulière d'une machine appartenant au sous- réseau. L'usage des 64 derniers bits dans ce bloc reste privé. Pour un réseau de type résidentiel, un préfixe de longueur 56, noté "/56", est délégué au réseau.  Typically, the longest prefixes allocated to a subnet are prefixes 764 ", i.e. they have 64 bits to identify them, and the 64 bits to the right of the address are used to identify a particular interface of a machine belonging to the subnet The use of the last 64 bits in this block remains private For a residential type network, a prefix of length 56, denoted "/ 56", is delegated to the network.
Toujours pour rappel, une adresse de type IPv4 est de longueur quatre octets, soit trente deux bits.  Still as a reminder, an IPv4 address is four octets long, or thirty two bits.
Les valeurs de port comprises entre 0 et 1024 (en décimal) sont des valeurs connues et pré-réservées par l'ΙΑΝΑ (pour "Internet Assigned Numbers Authority"). Elles sont réservées à des services connus et ne doivent donc pas être utilisées pour caractériser des sessions. Il existe également des ports enregistrés auprès de l'ΙΑΝΑ dont les numéros vont de 1024 à 49151. Pour conclure, il existe des ports dynamiques et/ou privés, dont les numéros de port vont de 49152 à 65535.  Port values between 0 and 1024 (in decimal) are known and pre-reserved values by the ΙΑΝΑ (for "Internet Assigned Numbers Authority"). They are reserved for known services and should not be used to characterize sessions. There are also ports registered with the ΙΑΝΑ whose numbers range from 1024 to 49151. To conclude, there are dynamic and / or private ports, whose port numbers range from 49152 to 65535.
Par la suite, on appelle identifiant de session dans un réseau, un couple composé d'une adresse dans ce réseau et d'un numéro de port. Un système d'accès 15 à un réseau public 3 est représenté à la figure 1 dans son environnement. Subsequently, a session identifier in a network is a pair consisting of an address in this network and a port number. An access system 15 to a public network 3 is shown in FIG. 1 in its environment.
Le système d'accès 15 comprend une passerelle 20 et un routeur 10 CGN, pour "Carrier Grade NAT", appelé également équipement de translation. On notera qu'à des fins de simplification, seule une passerelle a été représentée sur la figure 1. Un routeur 10 CGN peut être relié à une pluralité de passerelles. De même, l'opérateur du réseau peut mettre en place plusieurs routeurs CGN de ce type.  The access system 15 includes a gateway 20 and a router CGN, for "Carrier Grade NAT", also called translation equipment. It should be noted that for purposes of simplification, only one gateway has been shown in FIG. 1. A router CGN can be connected to a plurality of gateways. Similarly, the network operator can set up several CGN routers of this type.
Dans le contexte de l'invention, on considère que la passerelle 20 est double couche ou "Dual-Stack" (DS), c'est-à-dire ayant activé les deux piles protocolaires IPv4 et IPv6. De ce fait, une telle passerelle 20 est en mesure de traiter, notamment recevoir et émettre, des paquets de données de type IPv4 ou Pv6. Cette passerelle 20 correspond à l'équipement "DS-Lite Basic Bridging BroadBand" noté B4 dans le document de 1TETF intitulé "draft-ietf-softwire-dual-stack- lite-02".  In the context of the invention, it is considered that the gateway 20 is dual layer or "Dual-Stack" (DS), that is to say having activated the two IPv4 and IPv6 protocol stacks. As a result, such a gateway 20 is able to process, in particular receive and transmit, data packets of IPv4 or Pv6 type. This gateway 20 corresponds to the "DS-Lite Basic Bridging BroadBand" equipment noted B4 in the 1TETF document entitled "draft-ietf-softwire-dual-stack-lite-02".
Le routeur CGN 10 correspond à l'équipement "DS-Lite Address Family Transition Router" noté AFTR dans ce même document.  The CGN router 10 corresponds to the equipment "DS-Lite Address Family Transition Router" noted AFTR in this same document.
La passerelle 20 et le routeur CGN 10 communiquent par l'intermédiaire d'un tunnel établi dans un réseau intercalaire 1 , par exemple un réseau de type IPv6. Le tunnel est établi à l'initiative de la passerelle 20. Les deux extrémités de ce tunnel sont les adresses respectives dans le réseau intercalaire 1 de la passerelle 20 et du routeur CGN 10. Il peut s'agir d'un tunnel ffv6 générique conforme à la spécification RFC 2473 de l'ETF intitulée « Generic Packet Tunneling in IΡν6 Spécification ». Il peut également s'agir d'un tunnel L2TP, pour « Layer 2 Tunneling Protocol », ou d'un tunnel IPsec, pour « Internet Protocol Security », ou encore d'un tunnel TSP, pour « Tunnel Setup Protocol ». En outre, l'établissement de ces tunnels peut être automatique ou manuel.  The gateway 20 and the CGN router 10 communicate via a tunnel established in an intermediate network 1, for example an IPv6 type network. The tunnel is established at the initiative of the gateway 20. The two ends of this tunnel are the respective addresses in the intermediate network 1 of the gateway 20 and the CGN router 10. It may be a generic ffv6 tunnel compliant ETF RFC 2473, "Generic Packet Tunneling in IΡν6 Specification". It can also be an L2TP tunnel, for "Layer 2 Tunneling Protocol", or an IPsec tunnel, for "Internet Protocol Security", or a tunnel TSP, for "Tunnel Setup Protocol". In addition, the establishment of these tunnels can be automatic or manual.
La passerelle 20 permet l'accès à des entités clientes ou terminaux 21 et 22 d'un réseau privé 2 au réseau public 3, notamment à des équipements 31 et 32 de ce réseau public. Le réseau public 3 est de type IPv4 et à adressage public. Le réseau privé 2 est de type IPv4 et à adressage privé. Lorsque la passerelle 20 transmet un paquet reçu en provenance d'un des terminaux 21 , 22 qui lui est connecté, elle émet le paquet dans le tunnel à destination du routeur 10 CGN. Réciproquement, elle reçoit des paquets à destination des terminaux 21 , 22 dans le tunnel et les retransmet dans le réseau privé 2 vers leurs destinataires.  The gateway 20 allows access to client or terminal entities 21 and 22 of a private network 2 to the public network 3, including equipment 31 and 32 of this public network. The public network 3 is of IPv4 type and public addressing. The private network 2 is of the IPv4 type and is privately addressed. When the gateway 20 transmits a packet received from one of the terminals 21, 22 which is connected to it, it sends the packet in the tunnel to the router CGN. Conversely, it receives packets for terminals 21, 22 in the tunnel and retransmits them in the private network 2 to their recipients.
Le routeur CGN 10 est en charge d'effectuer une translation entre un identifiant de session dans le réseau privé 2 et un identifiant de session dans le réseau public 3 dans des paquets, ces paquets étant reçus par l'intermédiaire du tunnel établi dans le réseau intercalaire 1. A cet effet, il comprend notamment une table de translation 100, représentée à la figure 6, dans laquelle il mémorise la translation à effectuer, c'est-à-dire de l'adresse IPv6 de la passerelle 20 et l'identifiant de session dans le réseau privé 2 (adresse IPv4 privée source, port source privé) vers un identifiant de session dans le réseau public 3 (adresse IPv4 publique, port source public) et réciproquement. The CGN router 10 is in charge of performing a translation between a session identifier in the private network 2 and a session identifier in the public network 3 in packets, these packets being received via the tunnel established in the network. For this purpose, it notably comprises a translation table 100, represented in FIG. 6, in which it stores the translation to be carried out, that is to say the IPv6 address of the gateway 20 and the session identifier in the private network 2 (source private IPv4 address, private source port) to a session identifier in the public network 3 (public IPv4 address, public source port) and vice versa.
A titre d'exemple, une entrée de la table de translation 100 est la suivante :  For example, an entry of the translation table 100 is as follows:
IN : IN:
Adresse IPv6 source : adresse IPv6 de la passerelle 20 + adresse IPv4 source privée : 192.168.1.2 + identifiant de protocole de transport : TCP + port source privé : 11111  Source IPv6 address: IPv6 address of gateway 20 + private source IPv4 address: 192.168.1.2 + transport protocol identifier: TCP + private source port: 11111
OUT :  OUT:
Adresse IPv4 source publique :80.66.57.12 + port source public :44444  Public IPv4 address: 80.66.57.12 + public source port: 44444
ce qui se traduit par le fait que l'entête d'un paquet reçu en provenance de l'adresse IPv6 de la passerelle et appartenant à la session, la session étant identifiée par une adresse IPv4 privée 192.168.1.2 et un port source privé 1 1 1 1 1 , est translaté vers un entête comprenant un identifiant de session, composé notamment de l'adresse IPv4 source publique 80.66.57.12 et du port source public 44444. Réciproquement, l'entête d'un paquet reçu en provenance du réseau public 3, comprenant l'adresse EPv4 source publique 80.66.57.12 et le port source public 44444 est translaté vers un entête comprenant notamment l'identifiant de session dans le réseau privé, composé de l'adresse Ipv4 privée 192.168.1.2 et du port source TCP 11 111. Le paquet est ensuite transmis sur le tunnel à destination de l'adresse IPv6 de la passerelle 20. which results in the header of a packet received from the IPv6 address of the gateway and belonging to the session, the session being identified by a private IPv4 address 192.168.1.2 and a private source port 1 1 1 1 1, is translated to a header including a session identifier, including the public source IPv4 address 80.66.57.12 and the public source port 44444. Reciprocally, the header of a packet received from the public network 3, comprising the EPv4 public source address 80.66.57.12 and the public source port 44444 is translated to a header comprising notably the session identifier in the private network, composed of the private IPv4 address 192.168.1.2 and the source port TCP 11 111. The packet is then transmitted on the tunnel to the IPv6 address of the gateway 20.
Une même adresse ΓΡν4 publique est susceptible d'être partagée entre différentes passerelles ou clients.  The same public ΓΡν4 address is likely to be shared between different gateways or clients.
On notera qu'à des fins de simplification, seuls deux terminaux ont été représentés sur la figure 1. Les procédés s'appliquent bien entendu à un nombre supérieur de terminaux.  It should be noted that for purposes of simplification, only two terminals have been shown in FIG. 1. The methods naturally apply to a greater number of terminals.
Un serveur 1 1 est également représenté sur la figure 1. II s'agit d'un serveur DHCP, pour « Dynamic Host Configuration Protocol », agencé pour fournir sur requête d'un client ou d'une passerelle 20 une adresse IPv4 publique et une plage de numéros de ports, tel que détaillé ultérieurement.  A server 1 1 is also represented in FIG. 1. It is a DHCP server, for "Dynamic Host Configuration Protocol", arranged to provide on request of a client or a gateway 20 a public IPv4 address and a range of port numbers, as detailed later.
Le procédé d'établissement du tunnel entre la passerelle 20 et le routeur CGN 10, tel qu'il est mis en œuvre par la passerelle, va maintenant être décrit en relation avec la figure 2.  The tunneling method between the gateway 20 and the CGN router 10, as implemented by the gateway, will now be described in connection with FIG. 2.
Dans une étape El du procédé d'établissement, la passerelle 20 obtient une adresse de type IPv6 auprès d'un serveur DHCP IPv6, non représenté sur la figure 1.  In a step E1 of the establishment method, the gateway 20 obtains an IPv6 address from an IPv6 DHCP server, not shown in FIG. 1.
Dans une étape E2 du procédé d'établissement, la passerelle 20 transmet une requête auprès du serveur DHCP 1 1 en vue d'obtenir des informations de translation. Les informations de translation comprennent notamment une adresse EPv4 publique et une plage de numéros de port. Il s'agit par exemple d'une requête DHCPDISCOVER, conforme au document de l'IETF intitulé « draft-bajko-v6ops-port-restricted-ipaddr-assign-02 », dans laquelle la passerelle 20 indique qu'elle supporte cette option OPTION-IPv4-RPR. Le serveur DHCP 11 lui transmet alors en retour un message DHCPACK indiquant qu'il supporte l'option OPTION-IPv4-OPR et comprenant une adresse IPv4 publique et une plage de numéros de port. Cette plage de port est représentée sous la forme d'un intervalle de numéros de ports [« beginning port range », « ending port range »]. Seuls des numéros de port appartenant à cet intervalle peuvent être utilisés en association avec l'adresse IPv4 publique. Il est ici souligné que l'adresse IPv4 publique peut ainsi être partagée par différents clients ou passerelles, ces clients ou passerelles étant identifiés de façon unique à l'aide de la combinaison de l'adresse IPv4 publique et de l'intervalle de numéros de port alloués. Ainsi, à l'issue de cette étape E2, la passerelle 20 possède les informations de translation. In a step E2 of the establishment process, the gateway 20 transmits a request to the DHCP server 1 1 in order to obtain translation information. The translation information includes a public EPv4 address and a range of port numbers. This is for example a DHCPDISCOVER request, conforming to the IETF document entitled "draft-bajko-v6ops-port-restricted-ipaddr-assign-02", in which the gateway 20 indicates that it supports this option OPTION-IPv4-RPR. The DHCP server 11 then transmits it back a DHCPACK message indicating that it supports OPTION-IPv4-OPR and includes a public IPv4 address and a range of port numbers. This port range is represented as an "end port range". Only port numbers belonging to this range can be used in association with the public IPv4 address. It is emphasized here that the public IPv4 address can thus be shared by different clients or gateways, these clients or gateways being uniquely identified using the combination of the public IPv4 address and the range interval. port allocated. Thus, at the end of this step E2, the gateway 20 has the translation information.
Lors d'une étape E3 du procédé d'établissement, la passerelle 20 modifie son adresse IPv6 par inclusion dans la partie privée de son adresse des informations de translation. A titre d'exemple, une telle adresse IPv6 40, appelée par la suite adresse IPv6 étendue, est représentée à la figure 4. Elle comprend dans la partie gauche un champ 41 comprenant le préfixe IPv6 auquel appartient l'adresse IPv6 de la passerelle 20, un champ 42 identifiant le sous-réseau. Ces deux champs forment la partie fixe de l'adresse IPv6. L'adresse IPv6 40 comprend également dans un mode particulier de réalisation de l'invention, un champ 43 comprenant un masque port ou « Port Mask » codé sur 16 bits, un champ 44 comprenant un localisateur de masque ou « Locator Mask » codé sur seize bits et un champ 45 de longueur trente deux bits comprenant l'adresse IPv4 publique allouée. Les champs 43 et 44 sont codés conformément au document de l'IETF intitulé « draft-boucadair-dhc-port-range-01 ». La plage des numéros de port est ainsi codée à l'aide de trente deux bits. La passerelle 20 utilise ensuite cette adresse IPv6 étendue pour s'identifier.  During a step E3 of the establishment process, the gateway 20 modifies its IPv6 address by inclusion in the private part of its address of the translation information. By way of example, such an IPv6 address 40, hereinafter referred to as the extended IPv6 address, is represented in FIG. 4. It comprises in the left-hand part a field 41 comprising the IPv6 prefix to which the gateway's IPv6 address belongs. a field 42 identifying the sub-network. These two fields form the fixed part of the IPv6 address. The IPv6 address 40 also comprises, in a particular embodiment of the invention, a field 43 comprising a port mask or "Port Mask" coded on 16 bits, a field 44 comprising a mask locator or "Locator Mask" coded on sixteen bits and a field thirty-two bits long 45 including the allocated public IPv4 address. Fields 43 and 44 are coded in accordance with the IETF document "draft-boucadair-dhc-port-range-01". The range of port numbers is thus encoded using thirty two bits. The gateway 20 then uses this extended IPv6 address to identify itself.
Dans une étape E4 du procédé d'établissement, la passerelle 20 initie l'établissement du tunnel vers le routeur CGN 10 en s'identifiant à l'aide de l'adresse IPv6 étendue. L'établissement de ce tunnel s'effectue selon les méthodes connues de l'art antérieur telles que précisées précédemment. On se place par la suite dans le cas où le tunnel est établi.  In a step E4 of the establishment process, the gateway 20 initiates tunnel establishment to the CGN router 10 by identifying itself using the extended IPv6 address. The establishment of this tunnel is performed according to the known methods of the prior art as specified above. We then place ourselves in the case where the tunnel is established.
A l'issue de ces étapes El à E4, le tunnel entre la passerelle 20 et le routeur CGN 10 est établi et les paquets à destination ou en provenance de la passerelle 20 sont encapsulés dans ce tunnel.  At the end of these steps E1 to E4, the tunnel between the gateway 20 and the CGN router 10 is established and the packets to or from the gateway 20 are encapsulated in this tunnel.
Dans une variante du procédé d'établissement, la passerelle 20 est préconfigurée à l'aide d'informations de translation mémorisées par exemple dans une mémoire programmable. L'étape E2 du procédé d'établissement n'est alors pas mise en œuvre.  In a variant of the establishment method, the gateway 20 is preconfigured with the aid of translation information stored for example in a programmable memory. Step E2 of the establishment process is then not implemented.
Le procédé de translation, comprenant le procédé d'allocation d'un identifiant de session, tel qu'il est mis en œuvre par le routeur CGN 10, va maintenant être décrit en relation avec la figure 3.  The translation method, comprising the method of allocating a session identifier, as implemented by the CGN router 10, will now be described in relation to FIG. 3.
Dans une étape Fl du procédé de translation, le routeur CGN 10 reçoit un paquet P en provenance du tunnel établi avec la passerelle 20 ou en provenance du réseau public 3. Dans une étape F2 du procédé de translation, le routeur CGN 10 détermine la nature du paquet P. In a step F1 of the translation process, the CGN router 10 receives a packet P from the tunnel established with the gateway 20 or from the public network 3. In a step F2 of the translation method, the CGN router 10 determines the nature of the packet P.
S'il s'agit d'un paquet initiant une session, le procédé de translation passe à une étape If it is a packet initiating a session, the translation process proceeds to a step
F3. F3.
S'il s'agit d'un paquet de relâche de session, le procédé de translation passe à une étape If it is a session release package, the translation process moves to a step
F10. F10.
Dans les autres cas, c'est-à-dire s'il s'agit d'un paquet de données appartenant à une session établie, le procédé de translation passe à une étape F20.  In the other cases, that is to say if it is a data packet belonging to an established session, the translation process proceeds to a step F20.
Au cours de l'étape F3 du procédé de translation, le routeur CGN 10 obtient l'adresse de l'extrémité du tunnel, c'est-à-dire l'adresse IPv6 étendue de la passerelle 20.  During the step F3 of the translation method, the CGN router 10 obtains the address of the tunnel end, ie the extended IPv6 address of the gateway 20.
Dans une étape F4 du procédé de translation, le routeur CGN 10 détermine à partir de cette adresse IPv6 étendue obtenue une adresse IPv4 publique et une plage de numéros de port.  In a step F4 of the translation method, the CGN router 10 determines from this extended IPv6 address obtained a public IPv4 address and a range of port numbers.
Dans une étape F5 du procédé de translation, le routeur CGN 10 vérifie dans une table d'adressage 101, représentée à la figure 6, s'il existe dans cette plage de numéros de port associée à l'adresse IPv4 publique un port libre.  In a step F5 of the translation method, the CGN router 10 checks in an address table 101, shown in Figure 6, if there is in this range of port numbers associated with the public IPv4 address a free port.
Si tel est le cas, dans une étape F8 du procédé de translation, le routeur CGN 10 alloue ce port à la session en cours d'initiation et mémorise dans la table d'adressage 101 que le port est désormais occupé. Le procédé de translation passe ensuite à une étape F9 du procédé de translation.  If this is the case, in a step F8 of the translation process, the CGN router 10 allocates this port to the session being initiated and stores in the addressing table 101 that the port is now occupied. The translation process then proceeds to a step F9 of the translation process.
Si ce n'est pas le cas, c'est-à-dire que l'ensemble des ports de la plage est alloué, le routeur CGN 10 sélectionne dans une étape F6 du procédé de translation un numéro de port dans une plage de débordement associée à l'adresse IPv4 publique. Dans ce cas, le numéro de port alloué dans la plage de débordement et l'adresse IPv4 publique ne permettent pas d'identifier de manière unique la passerelle 20.  If this is not the case, that is to say that all the ports of the range is allocated, the CGN router 10 selects in a step F6 of the translation process a port number in an overflow range associated with the public IPv4 address. In this case, the port number allocated in the overflow range and the public IPv4 address do not uniquely identify the gateway 20.
Le routeur CGN 10 mémorise alors dans une zone mémoire de trace 102, représentée à la figure 6, une trace associée à cette translation. Plus précisément, le routeur CGN 10 mémorise : un type de protocole : TCP pour "Transmission Control Protocol", UDP pour "User Datagram Protocol" ou ICMP pour "Internet Control Message Protocol" ;  The CGN router 10 then stores in a trace memory area 102, shown in FIG. 6, a trace associated with this translation. Specifically, the CGN router 10 stores: a protocol type: TCP for "Transmission Control Protocol", UDP for "User Datagram Protocol" or ICMP for "Internet Control Message Protocol";
l'adresse IPv6 de la passerelle 20 ;  the IPv6 address of the gateway 20;
l'adresse IPv4 publique allouée à la session ;  the public IPv4 address allocated to the session;
l'adresse IPv4 privée du client ;  the client's private IPv4 address
le numéro de port source privé du client ;  the private source port number of the client;
le numéro de port source public dans la plage de débordement alloué à la session ;  the public source port number in the overflow range allocated to the session;
la date, les heures de début et de fin de l'allocation à la session.  the date, the start and end times of the allocation at the session.
Au cours de l'étape F9 du procédé de translation, le routeur CGN 10 mémorise dans la table de translation 100 en association avec l'adresse IPv6 de la passerelle 20, la translation de l'identifiant de session dans le réseau privé 2, tel que lu à partir de l'entête du paquet P, comprenant l'adresse IPv4 privée et le numéro de port source privé, vers l'identifiant de session dans le réseau public 3, comprenant l'adresse IPv4 publique et le numéro de port source public alloués. During the step F9 of the translation process, the CGN router 10 stores in the translation table 100 in association with the IPv6 address of the gateway 20, the translation of the session identifier in the private network 2, as read from the packet header P, including the private IPv4 address and the private source port number, to the session identifier in the public network 3, including the public IPv4 address and the allocated public source port number.
Le procédé de translation retourne ensuite à l'étape F1 en attente de réception d'un paquet P.  The translation process then returns to step F1 awaiting reception of a packet P.
A l'étape F10 du procédé de translation, c'est-à-dire lorsqu'il s'agit d'un paquet P de relâche de la session, le routeur CGN 10 libère le port public alloué à la session. Plus précisément, le routeur GCN 10 indique dans la table d'adressage 101 que le port public alloué associé à l'adresse IPv4 publique est désormais libre. Si une trace a été mémorisée dans la zone de mémoire de trace 102, dans ce cas, le routeur CGN 10 mémorise la date de fin de la session.  In step F10 of the translation method, that is to say, in the case of a session release packet P, the CGN router 10 releases the public port allocated to the session. Specifically, the GCN router 10 indicates in the addressing table 101 that the allocated public port associated with the public IPv4 address is now free. If a trace has been stored in the trace memory area 102, in this case, the CGN router 10 stores the end date of the session.
A l'étape Fi l du procédé de translation, le routeur CGN 10 supprime de la table de translation 100 l'entrée correspondant à la session en cours de relâche.  In the step F1 of the translation method, the CGN router 10 deletes from the translation table 100 the entry corresponding to the session being released.
Le procédé de translation retourne ensuite à l'étape F1 en attente de réception d'un paquet P.  The translation process then returns to step F1 awaiting reception of a packet P.
A partir de l'étape F20 du procédé de translation, c'est-à-dire lorsqu'il s'agit d'un paquet P de données, le routeur CGN 10 met en œuvre les étapes de translation, telles que connues de l'art antérieur. Plus précisément, à l'étape F20 du procédé de translation, le routeur CGN 10 obtient à partir de la table de translation 100 :  From the step F20 of the translation method, that is to say when it is a packet P of data, the CGN router 10 implements the translation steps, as known from FIG. prior art. More precisely, in step F20 of the translation method, the CGN router 10 obtains from the translation table 100:
- dans un premier cas, s'il s'agit d'un paquet P en provenance du réseau public 3, l'identifiant de session dans le réseau privé 2 et l'adresse IPv6 de la passerelle 20 ;  in a first case, if it is a packet P coming from the public network 3, the session identifier in the private network 2 and the IPv6 address of the gateway 20;
- dans un deuxième cas, s'il s'agit d'un paquet P en provenance de la passerelle 20, l'identifiant de session dans le réseau public 3.  in a second case, if it is a packet P coming from the gateway 20, the session identifier in the public network 3.
A l'étape F21 du procédé de translation, le routeur CGN 10 effectue la translation nécessaire puis émet au cours de l'étape F22 du procédé de translation le paquet P dans le tunnel dans le premier cas et dans le réseau public 3 dans le deuxième cas.  In step F21 of the translational method, the CGN router 10 carries out the necessary translation and then transmits during the step F22 of the translation method the packet P in the tunnel in the first case and in the public network 3 in the second. case.
Le procédé de translation retourne ensuite à l'étape Fl en attente de réception d'un paquet P.  The translation process then returns to the step F1 waiting to receive a packet P.
Grâce aux procédés selon l'invention, il est ainsi possible d'identifier un client à partir d'un paquet intercepté sur le réseau public 3. On détermine la plage de numéros de ports publics à partir du paquet P et ainsi, en association avec l'adresse IPv4 publique, on détermine le client. Lorsque le numéro de port appartient à la plage de débordement associée à l'adresse IPv4 publique, le client est identifié à l'aide de la trace mémorisée dans la zone de mémoire de trace 102. La zone de mémoire de trace 102 est toutefois de taille limitée lorsqu'un dimensionnement correct est choisi pour la plage de numéros de port publics. Des observations montrent que, de manière générale, un terminal est susceptible d'initier au maximum une soixantaine de sessions simultanées. A titre d'exemple non limitatif, une plage comprenant cent numéros de ports publics peut être retenue. Thanks to the methods according to the invention, it is thus possible to identify a client from a packet intercepted on the public network 3. The range of public port numbers is determined from the packet P and thus, in association with the public IPv4 address, the client is determined. When the port number belongs to the overflow range associated with the public IPv4 address, the client is identified using the trace stored in the tracing memory area 102. The tracing memory area 102 is, however, limited size when proper sizing is chosen for the range of public port numbers. Observations show that, in general, a terminal is likely to initiate a maximum of 60 sessions concurrent. By way of non-limiting example, a range comprising one hundred numbers of public ports may be selected.
Dans une variante à ce mode de réalisation, lorsqu'on détermine à l'étape F5 du procédé de translation qu'il n'existe pas de port public libre, la demande d'initiation de la session est rejetée, les étapes F6 et F7 du procédé de translation n'étant pas mises en œuvre dans ce cas. Ceci permet d'éviter d'administrer des plages de débordement et ainsi de prévoir une zone de mémoire de trace 102.  In an alternative to this embodiment, when determining in step F5 of the translation method that there is no free public port, the request for initiation of the session is rejected, the steps F6 and F7 of the translation process not being implemented in this case. This makes it possible to avoid administering overflow ranges and thus to provide a trace memory area 102.
Toujours dans ce cas, c'est-à-dire lorsque qu'il n'existe pas de port public libre et que la demande d'initiation de la session est rejetée, la passerelle 20 reçoit alors dans ce cas un message ICMP lui indiquant qu'il n'y a plus de ports publics disponibles, c'est-à-dire un épuisement de la plage de numéros de ports. Dans ce cas, la passerelle 20 peut mettre de nouveau mettre en œuvre les étapes El à E4 afin d'obtenir une deuxième plage de numéros de ports publics. Dans ce cas, la passerelle 20 construit une deuxième adresse IPv6 prenant en compte cette deuxième plage de numéros de ports publics. Il est ici souligné qu'il est possible dans un réseau de type IPv6 d'avoir plusieurs adresses IPv6.  Still in this case, that is to say when there is no free public port and the request for initiation of the session is rejected, the gateway 20 then receives an ICMP message in this case indicating that there are no more public ports available, that is to say a depletion of the port number range. In this case, the gateway 20 may again implement steps E1 through E4 to obtain a second range of public port numbers. In this case, the gateway 20 builds a second IPv6 address taking into account this second range of public port numbers. It is emphasized here that it is possible in an IPv6 type network to have several IPv6 addresses.
Dans ce mode de réalisation particulier, la plage de numéros de ports publics a été prévue de taille trente deux bits dans l'adresse IPv6 étendue.  In this particular embodiment, the range of public port numbers has been predicted to be thirty-two bits in the extended IPv6 address.
Il est également possible de prévoir des codages de cette plage de numéros de ports publics moins consommateurs, par exemple sur seize bits.  It is also possible to provide codings of this range of public port numbers less consuming, for example on sixteen bits.
Dans un groupe de six bits sur les seize bits, on code une plage de numéros de ports. On peut alors identifier soixante-quatre plages et on obtient alors par plage un nombre de ports de l'ordre de mille.  In a group of six bits out of the sixteen bits, a range of port numbers is coded. We can then identify sixty-four ranges and we obtain then by range a number of ports of the order of one thousand.
Les valeurs sont indiquées par la suite en notation hexadécimale. Une première plage de numéros de port est [0400-043F], c'est-à-dire l'ensemble des valeurs comprises entre 0400 et 043F. La deuxième plage de numéros de port est [0440-047F] et ainsi de suite jusqu'à la dernière plage de numéros de port [FFCO-FFFF]. D'autres formes de constitution des plages de numéros de port sont également possibles, par exemple une distribution séquentielle des numéros de port dans les différentes plages.  The values are given later in hexadecimal notation. A first range of port numbers is [0400-043F], that is, the set of values between 0400 and 043F. The second range of port numbers is [0440-047F] and so on until the last port number range [FFCO-FFFF]. Other forms of constitution of the port number ranges are also possible, for example a sequential distribution of the port numbers in the different ranges.
Toujours à titre d'exemple, on indique dans ce cas la première valeur de la plage de numéros de port, soit 0440 pour [0440-047F]. II est également possible de prendre la dernière valeur, ou toute autre valeur. Il s'agit d'une convention de notation.  Still as an example, in this case the first value of the range of port numbers is indicated, ie 0440 for [0440-047F]. It is also possible to take the last value, or any other value. This is a rating agreement.
En utilisant un codage de la plage de numéros de port sur seize bits, il est alors possible d'inclure également dans l'adresse IPv6 étendue la plage de débordement. Dans ce cas, la passerelle 20 obtient à l'étape E2 du procédé d'établissement la plage de débordement et l'inclut à l'étape E3 du procédé d'établissement dans l'adresse IPv6 étendue. Le routeur CGN 10 obtient alors à partir de l'adresse IPv6 étendue la plage de débordement à utiliser le cas échéant à l'étape F6 du procédé d'allocation. Il est bien entendu que cette plage de débordement peut être allouée à plusieurs clients ou passerelles administrés par le même routeur CGN 10; By using a coding of the sixteen-bit port number range, it is then possible to also include in the extended IPv6 address the overflow range. In this case, the gateway 20 obtains in step E2 of the establishment process the overflow range and includes it in the step E3 of the establishment method in the extended IPv6 address. The router CGN 10 then obtains from the extended IPv6 address the overflow range to be used if necessary at the step F6 of the allocation process. It is understood that this overflow range can be allocated to several clients or gateways administered by the same CGN router 10;
La passerelle 20 selon un mode particulier de réalisation va maintenant être décrite en relation avec la figure 5.  The gateway 20 according to a particular embodiment will now be described in relation to FIG. 5.
Une telle passerelle 20 est agencée pour acheminer des données relatives à au moins une session d'une entité cliente 21, 22 d'un réseau privé 2 par l'intermédiaire d'un tunnel établi dans un réseau intercalaire 1 avec un routeur 10 CGN. A cet effet, la passerelle 20 comprend :  Such a gateway 20 is arranged to convey data relating to at least one session of a client entity 21, 22 of a private network 2 via a tunnel established in an intermediate network 1 with a router CGN. For this purpose, the gateway 20 comprises:
- un module 202 d'émission/réception dans le réseau privé :  a module 202 for transmission / reception in the private network:
- un module 204 d' émission/réception dans le réseau intercalaire ;  a module 204 for transmission / reception in the intermediate network;
- un module 206 de gestion du tunnel dans le réseau intercalaire, agencé pour établir le tunnel et pour encapsuler des paquets de. données reçus en provenance des entités clientes du réseau privé et décapsuler des paquets de données reçus en provenance du routeur CGN ; a module 206 for managing the tunnel in the intermediate network, arranged to establish the tunnel and to encapsulate packets of. data received from client entities of the private network and decapsulate data packets received from the CGN router;
- un module 208 de modification d'une adresse de la passerelle dans le réseau intercalaire, agencé pour inclure dans une partie privée de ladite adresse des informations de translation, celles-ci comprenant une adresse dans un réseau public et une plage de numéros de ports.  a module 208 for modifying an address of the gateway in the intermediate network, arranged to include in a private part of said address translation information, which includes an address in a public network and a range of port numbers; .
Le module 206 est en outre agencé pour identifier la passerelle lors de l'établissement du tunnel à l' aide de l'adresse modifiée.  The module 206 is further arranged to identify the gateway during the establishment of the tunnel using the modified address.
La passerelle 20 peut être configurée de façon statique avec l'adresse dans le réseau public et la plage de numéros de port.  The gateway 20 may be statically configured with the address in the public network and the range of port numbers.
En option, la passerelle 20 comprend en outre un module 210 d'obtention des informations de translation, agencé pour obtenir d'un serveur 11 l'adresse dans le réseau public et la plage de numéros de ports.  Optionally, the gateway 20 further comprises a module 210 for obtaining the translation information, arranged to obtain from a server 11 the address in the public network and the range of port numbers.
Le routeur CGN 10 selon un mode particulier de réalisation va maintenant être décrit en relation avec la figure 6.  The CGN router 10 according to a particular embodiment will now be described in relation to FIG.
Un tel équipement 10 est agencé pour acheminer des données relatives à au moins une session d'une entité cliente 21, 22 d'un réseau privé 2 par l'intermédiaire d'un tunnel établi dans un réseau intercalaire 1 avec une passerelle 20.  Such equipment 10 is arranged to convey data relating to at least one session of a client entity 21, 22 of a private network 2 via a tunnel established in an intermediate network 1 with a gateway 20.
A cet effet, l'équipement de translation comprend :  For this purpose, the translation equipment comprises:
- les tabies 100 de translation, 101 d'adressage présentées précédemment ;  the tabs 100 of translation, 101 of addressing presented previously;
- un module 110 d'émission/réception dans le réseau intercalaire ; a transmission / reception module 110 in the intermediate network;
- un module 1 12 d' émission/réception dans le réseau public ;  a module 1 12 of transmission / reception in the public network;
- un module 1 14 de gestion du tunnel dans le réseau intercalaire, agencé pour établir le tunnel et pour encapsuler des paquets de données à destination de la passerelle et décapsuler des paquets de données reçus en provenance de la passerelle ;  a module 1 14 for managing the tunnel in the intermediate network, arranged to establish the tunnel and to encapsulate data packets destined for the gateway and to decapsulate data packets received from the gateway;
- un module 116 de sélection d'un identifiant de session dans le réseau public : - un module 118 de translation, agencé pour translater dans un paquet de données un identifiant de session dans le réseau privé vers l'identifiant de session sélectionné dans le réseau public et réciproquement, a module 116 for selecting a session identifier in the public network: a translation module 118, arranged to translate in a data packet a session identifier in the private network to the selected session identifier in the public network and vice versa,
- un module 120 d'obtention d'une adresse de la passerelle dans le réseau intercalaire, des informations de translation étant incluses dans une partie privée de cette adresse et comprenant une adresse dans le réseau public et une plage de numéros de ports.  a module 120 for obtaining an address of the gateway in the intermediate network, translation information being included in a private part of this address and comprising an address in the public network and a range of port numbers.
Le module 116 de sélection est en outre agencé pour sélectionner le numéro de port dans la plage de numéros de ports, l'identifiant de session dans le réseau public étant alors constitué de l'adresse dans le réseau public et du numéro de port sélectionné.  The selection module 116 is further arranged to select the port number in the range of port numbers, the session identifier in the public network then consisting of the address in the public network and the selected port number.
Dans une variante, le routeur CGN 10 comprend également la zone mémoire de trace In one variant, the CGN router 10 also includes the trace memory area
102, précédemment décrite. Le module 1 16 de sélection est également agencé pour sélectionner un numéro de port dans une autre plage de numéros de port lorsque l'ensemble des numéros de port de la plage a été alloué et pour mémoriser une trace de la translation dans la zone mémoire de trace 102. 102, previously described. The selection module 1 16 is also arranged to select a port number in another range of port numbers when all the port numbers of the range have been allocated and to store a trace of the translation in the memory area of the port. trace 102.
Les modules 206, 208, 210 d'une passerelle 20 sont agencés pour mettre en œuvre les étapes du procédé d'établissement d'un tunnel précédemment décrit exécutées par la passerelle. II s'agit de préférence de modules logiciels comprenant des instructions logicielles pour faire exécuter les étapes d'établissement d'un tunnel précédemment décrit, mises en œuvre par une passerelle. L'invention concerne donc aussi :  The modules 206, 208, 210 of a gateway 20 are arranged to implement the steps of the previously described tunnel establishment method executed by the gateway. These are preferably software modules comprising software instructions for executing the steps of establishment of a previously described tunnel, implemented by a gateway. The invention therefore also relates to:
- un programme pour passerelle, comprenant des instructions de programme destinées à commander l'exécution des étapes du procédé d'établissement d'un tunnel précédemment décrit qui sont exécutées par ladite passerelle, lorsque ledit programme est exécuté par un processeur de celle-ci ; a gateway program, comprising program instructions for controlling the execution of the steps of the tunneling method previously described which are executed by said gateway, when said program is executed by a processor thereof;
- un support d'enregistrement lisible par une passerelle sur lequel est enregistré le programme pour passerelle.  a recording medium readable by a gateway on which the gateway program is recorded.
Les modules 1 16, 120 d'un équipement de translation 10 ou routeur CGN sont agencés pour mettre en œuvre les étapes du procédé d'allocation d'un identifiant de session précédemment décrit exécutées par l'équipement de translation. Il s'agit de préférence de modules logiciels comprenant des instructions logicielles pour faire exécuter les étapes d'allocation d'un identifiant de session précédemment décrit, mises en œuvre par un équipement de translation. L'invention concerne donc aussi :  The modules 1 16, 120 of a translation equipment 10 or CGN router are arranged to implement the steps of the method of allocation of a previously described session identifier executed by the translation equipment. These are preferably software modules comprising software instructions for executing the allocation steps of a session identifier previously described, implemented by a translation equipment. The invention therefore also relates to:
- un programme pour équipement de translation, comprenant des instructions de programme destinées à commander l'exécution des étapes du procédé d'allocation d'un identifiant de session précédemment décrit qui sont exécutées par ledit équipement de translation, lorsque ledit programme est exécuté par un processeur de celui-ci ; - un support d'enregistrement lisible par un équipement de translation sur lequel est enregistré le programme pour équipement de translation. a program for translation equipment, comprising program instructions intended to control the execution of the steps of the method of allocation of a previously described session identifier which are executed by said translation equipment, when said program is executed by a processor of it; - A recording medium readable by a translation equipment on which is recorded the program for translation equipment.
Les modules logiciels peuvent être stockés dans ou transmis par un support de données. Celui-ci peut être un support matériel de stockage, par exemple un CD-ROM, une disquette magnétique ou un disque dur, ou bien un support de transmission tel qu'un signal électrique, optique ou radio, ou un réseau de télécommunication.  The software modules can be stored in or transmitted by a data carrier. This may be a hardware storage medium, for example a CD-ROM, a magnetic diskette or a hard disk, or a transmission medium such as an electrical signal, optical or radio, or a telecommunications network.
L'invention concerne également un système 15 d'accès à un réseau public pour acheminer des données relatives à au moins une session d'une entité cliente d'un réseau privé, comprenant au moins une passerelle et un équipement de translation, tels que décrits précédemment.  The invention also relates to a system 15 for accessing a public network for conveying data relating to at least one session of a client entity of a private network, comprising at least one gateway and a translation equipment, as described previously.

Claims

REVENDICATIONS
1. Procédé d'établissement d'un tunnel destiné à acheminer des paquets de données relatifs à au moins une session d'une entité cliente (21, 22) d'un réseau privé (2) par l'intermédiaire d'une passerelle (20) reliée à un réseau intercalaire (1), ledit procédé comprenant les étapes suivantes mise en œuvre par la passerelle : A method of establishing a tunnel for routing data packets relating to at least one session of a client entity (21, 22) of a private network (2) via a gateway ( 20) connected to an intermediate network (1), said method comprising the following steps implemented by the gateway:
- une étape (E4) d'établissement d'un tunnel dans le réseau intercalaire entre la passerelle et un équipement (10) de translation du réseau intercalaire, ledit équipement de translation étant apte à effectuer une translation d'un identifiant de session dans le réseau privé vers un identifiant de session dans un réseau public (3) dans un paquet de données et réciproquement, un identifiant de session étant constitué d'une adresse et d'un numéro de port,  a step (E4) for establishing a tunnel in the intermediate network between the gateway and an equipment (10) for translating the intermediate network, said translation equipment being able to perform a translation of a session identifier in the private network to a session identifier in a public network (3) in a data packet and vice versa, a session identifier consisting of an address and a port number,
caractérisé en ce que le procédé comprend en outre : characterized in that the method further comprises:
- une étape (E3) de modification d'une adresse de la passerelle dans le réseau intercalaire par inclusion dans une partie privée de ladite adresse d'informations de translation, lesdites informations de translation comprenant une adresse dans le réseau public et une plage de numéros de ports,  a step (E3) of modifying an address of the gateway in the intermediate network by inclusion in a private part of said translation information address, said translation information comprising an address in the public network and a range of numbers; of ports,
et en ce que, lors de l'établissement du tunnel, la passerelle est identifiée par l'adresse modifiée. and in that, when establishing the tunnel, the gateway is identified by the modified address.
2. Procédé selon la revendication 1, comprenant en outre une étape (E2) d'obtention auprès d'un serveur (1 1) des informations de translation. 2. Method according to claim 1, further comprising a step (E2) of obtaining from a server (1 1) translation information.
3. Procédé selon la revendication 2, dans lequel, sur réception d'un message indiquant un épuisement de la plage de numéros de ports en provenance de l'équipement de translation, la passerelle (20) met de nouveau en œuvre l'étape d'obtention afin d'obtenir d'autres informations de translation. 3. Method according to claim 2, wherein, on receiving a message indicating a depletion of the range of port numbers coming from the translation equipment, the gateway (20) again implements the step d obtaining in order to obtain other translation information.
4. Procédé d'allocation d'un identifiant de session dans un réseau public (3) à une session d'une entité cliente (21 , 22) d'un réseau privé (2), les paquets de données de l'entité cliente transitant, par l'intermédiaire d'un tunnel établi dans un réseau intercalaire (1) entre une passerelle (20) et un équipement (10) de translation, ledit procédé comprenant les étapes suivantes mises en œuvre par ledit équipement de translation : 4. A method for allocating a session identifier in a public network (3) to a session of a client entity (21, 22) of a private network (2), the data packets of the client entity transiting, via a tunnel established in an intermediate network (1) between a bridge (20) and a translation equipment (10), said method comprising the following steps implemented by said translation equipment:
- une étape (Fl) de réception d'un paquet initiant la session par l'intermédiaire du tunnel,  a step (Fl) of receiving a packet initiating the session via the tunnel,
- une étape (F8) de sélection d'un identifiant de session dans le réseau public, un identifiant de session étant constitué d'une adresse et d'un numéro de port, les paquets de données relatifs à la session reçus dans le tunnel étant translatés d'un identifiant de session dans le réseau privé vers l'identifiant de session dans le réseau public sélectionné et réciproquement, caractérisé en ce que le procédé comprend en outre : a step (F8) for selecting a session identifier in the public network, a session identifier consisting of an address and a port number, the data packets relating to the session received in the tunnel being translated from a session identifier in the private network to the session identifier in the selected public network and vice versa, characterized in that the method further comprises:
- une étape (F3) d'obtention d'une adresse de la passerelle dans le réseau intercalaire, des informations de translation étant incluses dans une partie privée de ladite adresse et comprenant une adresse dans le réseau public et une plage de numéros de ports ;  a step (F3) of obtaining an address of the gateway in the intermediate network, translation information being included in a private part of said address and comprising an address in the public network and a range of port numbers;
et, en ce que lors de l'étape de sélection, on sélectionne le numéro de port dans la plage de numéros de ports, l'identifiant de session dans le réseau public étant alors constitué de l'adresse dans le réseau public et du numéro de port sélectionné. and in that during the selection step, the port number is selected in the range of port numbers, the session identifier in the public network then consisting of the address in the public network and the number selected port.
5. Procédé d'allocation selon la revendication 4, dans lequel lorsque l'ensemble des numéros de port de la plage a été alloué, l'initiation de la session est rejetée. The allocation method of claim 4, wherein when the set of port numbers of the range has been allocated, the initiation of the session is rejected.
6. Procédé d'allocation selon la revendication 4, dans lequel lorsque l'ensemble des numéros de port de la plage a été alloué, on sélectionne (F6) un numéro de port dans une autre plage de numéros de port et on mémorise une trace de la translation. The allocation method according to claim 4, wherein when the set of port numbers of the range has been allocated, selecting (F6) a port number in another range of port numbers and storing a trace of the translation.
7. Passerelle (20) agencée pour acheminer des données relatives à au moins une session d'une entité cliente (21, 22) d'un réseau privé par l'intermédiaire d'un tunnel établi dans un réseau intercalaire (1) avec un équipement ( 10) de translation, ledit équipement de translation étant apte à effectuer une translation dans un paquet de données d'un identifiant de session dans le réseau privé vers un identifiant de session dans un réseau public (3) et réciproquement, un identifiant de session étant constitué d'une adresse et d'un numéro de port, ladite passerelle comprenant : A gateway (20) arranged to convey data relating to at least one session of a client entity (21, 22) of a private network through a tunnel established in an interposer network (1) with a translation equipment (10), said translation equipment being able to perform a translation in a data packet from a session identifier in the private network to a session identifier in a public network (3) and vice versa, an identifier of session consisting of an address and a port number, said gateway comprising:
- des moyens (208) de modification d'une adresse dans le réseau intercalaire de la passerelle par inclusion dans une partie privée de ladite adresse d'informations de translation, lesdites informations de translation comprenant une adresse dans le réseau public et une plage de numéros de ports,  means (208) for modifying an address in the intermediate network of the gateway by inclusion in a private part of said translation information address, said translation information including an address in the public network and a range of numbers; of ports,
- des moyens (206) d'établissement du tunnel dans le réseau intercalaire entre la passerelle et l'équipement de translation, dans lesquels la passerelle est identifiée par l'adresse modifiée.  means (206) for establishing the tunnel in the intermediate network between the gateway and the translation equipment, in which the gateway is identified by the modified address.
S. Equipement (10) de translation agencé pour acheminer des données relatives à au moins une session d'une entité cliente (21 , 22) d'un réseau privé (2) par l'intermédiaire d'un tunnel établi dans un réseau intercalaire (1) avec une passerelle (20), ledit équipement de translation comprenant :S. Translation equipment (10) arranged to convey data relating to at least one session of a client entity (21, 22) of a private network (2) via a tunnel established in an intermediate network (1) with a bridge (20), said translation equipment comprising:
- des moyens (1 10) de réception d'un paquet initiant la session par l'intermédiaire du tunnel,means (1 10) for receiving a packet initiating the session via the tunnel,
- des moyens (116) de sélection d'un identifiant de session dans le réseau public, un identifiant de session étant constitué d'une adresse et d'un numéro de port, - des moyens (118) de translation, agencés pour translater dans un paquet de données un identifiant de session dans le réseau privé vers l'identifiant de session sélectionné dans un réseau public (3) et réciproquement, means (116) for selecting a session identifier in the public network, a session identifier consisting of an address and a port number, translation means (118), arranged to translate in a data packet a session identifier in the private network to the selected session identifier in a public network (3) and conversely,
caractérisé en ce que ledit équipement de translation comprend en outre : characterized in that said translation equipment further comprises:
- des moyens (120) d'obtention d'une adresse de la passerelle dans le réseau intercalaire, des informations de translation étant incluses dans une partie privée de ladite adresse et comprenant une adresse dans le réseau public et une plage de numéros de ports ; means (120) for obtaining an address of the gateway in the intermediate network, translation information being included in a private part of said address and comprising an address in the public network and a range of port numbers;
et dans lequel les moyens de sélection sont agencés pour sélectionner le numéro de port dans la plage de numéros de ports, l'identifiant de session dans le réseau public étant alors constitué de l'adresse dans le réseau public et du numéro de port sélectionné. and wherein the selection means is arranged to select the port number in the range of port numbers, the session identifier in the public network then consisting of the address in the public network and the selected port number.
9. Système (15) pour acheminer des données relatives à au moins une session d'une entité cliente d'un réseau privé, ledit système comprenant au moins une passerelle selon la revendication 7 et un équipement de translation selon la revendication 8. System (15) for conveying data relating to at least one session of a client entity of a private network, said system comprising at least one gateway according to claim 7 and a translation equipment according to claim 8.
10. Programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé d'établissement d'un tunnel selon la revendication 1 par une passerelle, lorsque ce programme est exécuté par un processeur. A computer program comprising instructions for implementing the tunneling method of claim 1 by a gateway, when the program is executed by a processor.
11. Programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé d'allocation d'un identifiant de session selon la revendication 4 par un équipement de translation, lorsque ce programme est exécuté par un processeur. 11. Computer program comprising instructions for implementing the method of allocating a session identifier according to claim 4 by a translation device, when the program is executed by a processor.
PCT/FR2010/052548 2009-11-30 2010-11-26 Technique for setting up a tunnel between a gateway and a translation device in a communication network WO2011064511A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0958490A FR2953355A1 (en) 2009-11-30 2009-11-30 TECHNIQUE FOR ESTABLISHING A TUNNEL BETWEEN A GANGWAY AND A TRANSLATION EQUIPMENT
FR0958490 2009-11-30

Publications (1)

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

Family

ID=42315397

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2010/052548 WO2011064511A1 (en) 2009-11-30 2010-11-26 Technique for setting up a tunnel between a gateway and a translation device in a communication network

Country Status (2)

Country Link
FR (1) FR2953355A1 (en)
WO (1) WO2011064511A1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A. DURAND: "Dual-stack lite broadband deployments post IPv4 exhaustion", 26 October 2009 (2009-10-26), pages 1 - 35, XP002592183, Retrieved from the Internet <URL:http://tools.ietf.org/pdf/draft-ietf-softwire-dual-stack-lite-02.pdf> [retrieved on 20100715] *
MYUNG-KI SHIN ET AL: "Ports option support in dual stack transition mechanism (DSTM)", ADVANCED COMMUNICATION TECHNOLOGY, 2004. THE 6TH INTERNATIONAL CONFERE NCE ON PHOENIX PARK, KOREA FEB. 9-11, 2004, PISCATAWAY, NJ, USA,IEEE LNKD- DOI:10.1109/ICACT.2004.1292863, vol. 1, 9 February 2004 (2004-02-09), pages 225 - 228, XP010701165, ISBN: 978-89-5519-119-6 *
MYUNG-KI SHIN ETRI: "Ports Option Support in DSTM; draft-shin-dstm-ports-00.txt", 1 June 2005, IETF STANDARD-WORKING-DRAFT, INTERNET ENGINEERING TASK FORCE, IETF, CH, ISSN: 0000-0004, XP015040123 *

Also Published As

Publication number Publication date
FR2953355A1 (en) 2011-06-03

Similar Documents

Publication Publication Date Title
EP2494747B1 (en) METHODS AND DEVICES FOR ROUTING DATA PACKETS BETWEEN IPv4 AND IPv6 NETWORKS
EP2297927B1 (en) Method for receiving a data packet from an ipv4 domain in an ipv6 domain, and associated device and access equipment
EP2297928B1 (en) Method for receiving a data packet in an ipv6 domain, and associated device and residential gateway
EP3476095B1 (en) Method for multi-path udp communication method between two terminals
EP3739843B1 (en) Udp communication method via multiple paths between two terminals
US9491138B2 (en) Internet protocol (IP) address translation
US8462800B2 (en) Gateway device and port number assignment method
US9049122B2 (en) Bandwidth probing messages
EP2294798B1 (en) Method and related device for routing a data packet in a network
EP2553908B1 (en) Dns server, gateways and methods for managing an identifier of a port range in the transmission of data
Babatunde et al. A comparative review of internet protocol version 4 (ipv4) and internet protocol version 6 (ipv6)
WO2020254766A1 (en) Method and device for obtaining an ip address
Zhai et al. Transition from ipv4 to ipv6: A translation approach
US7356031B1 (en) Inter-v4 realm routing
US20190306116A1 (en) Multiplexing security tunnels
WO2011064511A1 (en) Technique for setting up a tunnel between a gateway and a translation device in a communication network
EP1698102A1 (en) Method and system for multicast broadcasting towards a roaming terminal according to the location thereof
Abdalaziz et al. Analyzing the IPv6 deployment process in Palestine
EP2053833A1 (en) Method of translating data packet headers
FR3023098A1 (en) METHOD AND SYSTEM FOR PROCESSING A REQUEST FOR RESOLUTION OF A NAME OF A SERVER, ISSUED BY A CLIENT APPLICATION ON A COMMUNICATION NETWORK.
WO2017161876A1 (en) Method and device implementing network access
Huang et al. Enhancing Teredo IPv6 tunneling to traverse the symmetric NAT
EP1714467A1 (en) Automatic network number attribution for communication equipment in an ipv6 network
BE1023707B1 (en) MULTI-PATH TCP IN HYBRID ACCESS NETWORKS
FR3018411A1 (en) METHOD AND SYSTEM FOR PROCESSING A DNS QUERY ISSUED BY A NETWORK NODE DURING A DACCE ATTEMPT BY A CLIENT APPLICATION TO A REMOTE SERVER OVER AN IP NETWORK

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10805793

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10805793

Country of ref document: EP

Kind code of ref document: A1