WO1997005727A1 - Network interconnection router, method and device - Google Patents

Network interconnection router, method and device Download PDF

Info

Publication number
WO1997005727A1
WO1997005727A1 PCT/FR1996/001179 FR9601179W WO9705727A1 WO 1997005727 A1 WO1997005727 A1 WO 1997005727A1 FR 9601179 W FR9601179 W FR 9601179W WO 9705727 A1 WO9705727 A1 WO 9705727A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
connection
packet
parameters
ipv
Prior art date
Application number
PCT/FR1996/001179
Other languages
French (fr)
Inventor
Serge Alexandre
Original Assignee
Serge Alexandre
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 Serge Alexandre filed Critical Serge Alexandre
Priority to AU67034/96A priority Critical patent/AU6703496A/en
Publication of WO1997005727A1 publication Critical patent/WO1997005727A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Definitions

  • the field of the invention is that of telecommunication networks implementing internet technology. More specifically, the invention relates to a device and a method for interconnecting two networks, each implementing internet technology, one having private IP addressing and the other standardized IP addressing.
  • TCP / IP Internet technology
  • TCP / IP protocols which are defined as a series of protocols aiming not only to interconnect computers connected by the same physical network, but also to interconnect these different physical networks together to form a single logical network.
  • Ring X.25, single serial cable, ATM, ISDN, Frame Relay, etc.).
  • TCP / IP technology can therefore be used by any large organization wishing to standardize its network resources, conventionally composed of several physical networks, of generally different technologies. It will thus allow users and computer applications to make these seemingly incompatible elements appear as a single network.
  • Internet technology is in fact a unique global network, interconnecting a large number of machines and currently undergoing rapid expansion. An organization can therefore deploy its own network on the basis of internet technology without being connected to the Internet (the global network). If she then wants to connect to it, the task will be made easier since she uses the same technology.
  • IP Internet Protocol in English
  • TCP Transmission Control Protocol in English
  • UDP User Datagram Protocol in English
  • the IP protocol is the basic protocol of internet technology. Its simple function is to transfer a packet of data (i.e. a set of bytes) from one machine to another. To do this, it adds an IP header to the data packet comprising in particular the following three fields: "protocol”, "source IP address” and "destination IP address”.
  • IP packet In practice, the data carried by an IP packet are in fact higher level protocol units (encapsulation principle), such as TCP and UDP.
  • protocol Encapsulation principle
  • the "source IP address” and "destination IP address” fields define the address
  • IP IP of the sending machine and the receiving machine respectively.
  • the addresses are coded on 32 bits.
  • an address defines both the machine and the physical network to which it is connected. It is therefore unique throughout the network.
  • a machine When a packet is transmitted, a machine detects (by comparing the part of the addresses defining the network) if the destination machine is on the same physical network as it itself. In which case, it sends the packet directly. Otherwise, it sends it to a machine capable of forwarding the packet to other physical networks. Such a machine is generally designated by the term "IP router".
  • communications between computer equipment can be classified into two main families, namely communications in non-connected mode and communications in connected mode.
  • connectionless mode In the non-connected mode (called “connectionless” mode, or “datagram” mode by the Anglo-Saxons), the machine A wishing to send data to the machine B constitutes a protocol element including data to be transmitted, as well as the address of machine B.
  • the network takes care of routing this protocol element to the destination machine.
  • UDP In the TCP / IP world, the transfer protocol in unconnected mode is UDP.
  • the connected mode is more complex than the previous one. It introduces the notion of connection, analogous to telephone communication.
  • a connection takes place between two computer equipment and has three phases: establishment: machine A requests the establishment of a connection to machine B and the latter accepts it; transfer: machines A and B exchange data through this connection; release: the connection ends on the initiative of one of the two machines.
  • a connection is an abstract object concerning at least the two end devices. These devices will therefore have to create, manipulate and delete data structures describing the state of the connection.
  • the transfer protocol in connected mode is TCP.
  • TCP the transfer protocol in connected mode
  • IP addressing is standardized, so that each machine, regardless of the network to which it belongs, has a separate IP address. Only the administrative authorities of the Internet network are able to assign a new IP address.
  • private network When an organization deploys its own network (called private network) on the basis of internet technology, without this network being integrated into the global Internet network, it defines a private addressing plan, which is incompatible with the standardized addressing plan of the Internet. If, subsequently, this organization decides to link its private IP addressing network to the Internet, or more generally to any network with standardized IP addressing, it encounters a problem of incompatibility between the private and standardized addressing plans.
  • a first solution as aiming to alleviate this problem consists in reconfiguring the whole of the previously existing private network.
  • a second known solution aimed at overcoming the incompatibility of addressing between two networks to be interconnected consists in interposing between the two networks a device performing address conversion.
  • the private network must therefore be assigned, by the administrator of the standardized IP address domain, a standard connection IP address, which must be assigned to the address conversion device, and a range of addresses.
  • Standard IPs intended to be assigned to the machines making up the network to be connected In this case, a standardized IP address is unequivocally substituted for a private IP address when packets pass through the gateway that constitutes the interconnection device between the two networks.
  • This second known solution offers the advantage, compared to the first, of not requiring a complete renumbering of the private network.
  • it has the same drawback of requiring a range of standardized IP addresses (at least as many standardized addresses as machines making up the private network) in addition to the connection address, as well as that of not ensuring the security of the private network (due to the symmetry of the IP addressing logic).
  • Application gateways constitute a third known solution aiming to overcome the addressing incompatibility between two networks to be interconnected.
  • This third known solution if it is effective in terms of ease of administration and security, has the following drawbacks: an application relay program is necessary for each type of application. The list of supported services is therefore necessarily reduced. And above all, an application gateway will not be able, except software update, to support new Internet services still unknown or experimental to date; the program is not transparent to the user. It must indeed connect to the gateway, and then establish the connection to the desired service. This can be more or less masked by specific protocols between the gateway and the user. However, it is then generally necessary to modify the access tool, which prohibits the use of standard market products.
  • the invention particularly aims to overcome these various drawbacks of the state of the art.
  • one of the objectives of the present invention is to provide an address conversion method between a first network having private IP addressing and a second network having standardized IP addressing, this method not requiring allocation to the private network of a range of standardized IP addresses.
  • the invention also aims to provide such a method which makes it possible to prohibit connections from the standardized addressing network to the private addressing network, so as to ensure the security of the private network.
  • Another object of the invention is to provide such a method which is independent of the type of application and transparent to users of machines on the private network.
  • An additional objective of the invention is to provide an address interconnection device meeting the aforementioned objectives.
  • the general principle of the invention consists in using only one standardized IP address. Seen from the standardized network, all connections from the private network appear to come from this unique address. This allows a great simplification of the administration of the device which implements the method of the invention, as of the administration of the entire private network. In addition, the method of the invention offers the possibility of connection from a simple “dialup-ip” type access.
  • each of said packets comprising a TCP or UDP header comprising in particular a "source port” field and a "destination port” field, said IP header further comprising a "protocol” field transport "indicating the TCP or UDP protocol used, the packets using bidirectional connections, each connection being a logical link between a first end of the first network and a second end of the second network, each first or second end being identified by an IP address , a port and a transport protocol, each connection being identified by a set of parameters ⁇ IPa, Pa, IPb, Pb, proto ⁇ corresponding respectively to the IP address and to the port of the first end, to the IP address and to the port of the second end, and to the common transport protocol at the first and second ends, said first and second address conversion steps include, for each packet, the following steps: reading the fields "source IP address”, “source port”, “destination IP address”, "destination port”, and "transport protocol "of said packet, so as to have a set of parameters corresponding
  • the standardized IP address of the entire private network is shared over time by different connections, each connection being defined by a set of five parameters.
  • the original connection used by this packet is determined, and from a conversion table, a transposed connection is deduced therefrom which the packet must use for the continuation of his journey.
  • a TCP / IP connection is established between two pairs (source IP address / source port) and (destination IP address / destination port).
  • a connection is always established according to a client / server principle. That is to say, an application wishing to communicate with a service will establish communication with the machine supporting this service (which defines the destination IP address). This machine can support different applications, it is the destination port that will allow you to select the desired application.
  • IPv, Pv, proto All the virtual ends (IPv, Pv, proto) have the same standardized IP address: it is the unique address (IPv) of the private network in the standardized network. On the other hand, they are distinguished from each other by the value of the other two parameters, namely the port and the protocol.
  • IPv Internet Protocol
  • Pv proto parameters defining a virtual end
  • IPv being said standardized intermediate and unique IP address, or, at the administrator's choice, an address
  • IP chosen from the range of standard addresses assigned to the site to be connected, and Pv being a predetermined port, and the pair of parameters (IPa, Pa) being found, thanks to the pair of parameters (IPv,
  • IPv Internet Protocol
  • IPv, Pv being a port whose value is calculated dynamically, so that there is no other connection of the conversion table having the same couple (IPv, Pv).
  • the calculation of the Pv parameter is dynamic and can only take place on outgoing connections.
  • IPv, Pv and proto parameters defining a virtual end IPv being said intermediate and unique standardized IP address, and Pv being a predetermined port, and the pair of parameters (IPa, Pa) being found, thanks to the pair of parameters (IPv, Pv), by reading a static correspondence table associating bijectively to each pair of parameters (IPa, Pa) from a predetermined plurality a pair of parameters (IPv, Pv).
  • said step of modifying the packet consists in replacing the content of the fields "source IP address” and "source port” of the packet with the corresponding parameters ip_src 'and p_src' of said set of transposed parameters J t identifying the transposed connection, and, for each incoming packet, said step of modifying the packet consists in replacing the content of the fields "destination IP address" and "destination port” of the packet with the parameters corresponding ip_dst 'and p_dst' of said set of transposed parameters J t identifying the transposed connection.
  • said step of modifying the packet consists in replacing the content of the fields "source IP address” and "source port” of the packet by the parameters ip 2 and p 2 of said combined set of original parameters and transposed J c , and, for each incoming packet, said step of modifying the packet consists in replacing the contents of the "destination IP address" and "destination port” fields of the packet by the ipo and po parameters of said combined set of original parameters and transposed J c .
  • said conversion table is updated dynamically according to a predetermined updating strategy.
  • the memory size of the conversion table can be limited and the step of finding an original connection in the table, if it exists, can be carried out more quickly.
  • Several updating strategies can be envisaged.
  • said predetermined updating strategy consists in leaving each pair of original and transposed connections registered in the conversion table only between a start time and an end time. life of said original connection. In other words, a connection is removed from the conversion table as soon as its lifetime has passed.
  • said instants of start and end of life of the original connection are determined by referring to the state diagram of a TCP session, according to the specification.
  • TCP RRC 793.
  • said instant of start of life of the original connection is determined by the passage, in a given direction, of a request packet, and in that said instant end of life is determined by the passage, in the opposite direction of said given direction, of a response packet.
  • a UDP packet is sent to a particular machine and port and contains a request.
  • a server which analyzes the received packet and returns a response, itself encapsulated in a UDP packet.
  • Some examples of applications of this type Clock server, Name server (DNS) ... This last type of application allows you to find the idea of connection.
  • a connection begins to exist when a UDP packet belonging to no identified connection passes and ends when a response packet goes in the opposite direction.
  • said instant of start of life of the original connection is determined by the passage, in a given direction, of a request packet, and in this that said end of life instant is determined by the passage of a predetermined duration since said start of life instant.
  • connection detection mechanism In order to support a maximum of present and future applications, we can refine this connection detection mechanism by offering a possibility of configuration by the user of what will determine the end of the connection: one or more response packets, or indeed the expiration of a timer armed by the request. Similarly, it is possible to configure the possibility of having several requests through the same connection. All these settings can of course be defined depending on the application (determined by the destination port of the packet initiating the connection).
  • the method comprises a step of filtering outgoing packets as a function of the content of one of the fields belonging to the group comprising the fields "source IP address", "destination IP address” and "port destination”.
  • the invention also relates to a network interconnection device using each uses internet technology, of the type intended to be inserted between a first network having private IP addressing and a second network having standardized IP addressing, said first and second networks carrying packets, each of said packets comprising an IP header comprising in particular a "source IP address” field and a "destination IP address” field, the packets being said to be outgoing if they move from the first to the second network through said device and incoming if not, said device having an address Intermediate and unique standardized IP in said second network, and comprising in particular: first means for converting private IP addresses contained in the "source IP address” fields of the outgoing packets, so that said "source IP address” field of each of said packets outgoing contains, after conversion, said intermediate and unique standardized IP address;
  • each of said packets comprising a TCP or UDP header comprising in particular a "source port” field and a “destination port” field, said IP header further comprising a "transport protocol” field indicating the TCP or UDP protocol used
  • said first and second address conversion means comprise: means for receiving and storing a packet; means for reading a received and stored packet, making it possible to identify an original connection used by said packet, by knowing a set of identification parameters which are the contents of the "source IP address" fields,
  • the invention also relates to a network interconnection IP router, characterized in that it comprises a device having the aforementioned characteristics, said intermediate and unique standardized IP address being the standardized IP address for connecting said IP router to said second network.
  • FIG. 1 illustrates the general principle of the network interconnection method according to the invention
  • Figure 2 shows the known structure of a TCP / IP packet
  • Figure 3 shows the known structure of an IP header
  • Figure 4 shows the known structure of a TCP header
  • - Figure 5 shows the known structure of a UDP header
  • FIG. 6 illustrates a connection transposition as carried out by the method of the invention
  • FIG. 7 presents a flow diagram of a particular embodiment of the method of the invention
  • - Figures 8 and 9 each show in detail one of the steps in the flow diagram of Figure 7;
  • FIG. 1 illustrates the general principle of the network interconnection method according to the invention
  • Figure 3 shows the known structure of an IP header
  • Figure 4 shows the known structure of a TCP header
  • - Figure 5 shows the known structure of a UDP header
  • FIG. 6 illustrates a connection transposition as carried out by the method of the invention
  • FIG. 7 presents a flow diagram of a particular embodiment of the method of the invention
  • FIG. 10 is a simplified block diagram of a network interconnection device according to the invention
  • Figure 11 is an exemplary embodiment of the connection table included in the device of Figure 10
  • FIG. 12 illustrates an example of application of the method and the device of the invention.
  • the invention therefore relates to a method and a device for interconnecting two networks, each using internet technology (or TCP / IP technology). As illustrated in FIG. 1, it involves interconnecting: a first network 1 having private IP addressing; and a second network 2 having standardized IP addressing.
  • the interconnection of the two networks 1, 2 consists in particular of performing an address conversion 3.
  • the second network 2 is for example the global Internet network.
  • the first network 1 having private IP addressing
  • second network 2 having standardized IP addressing.
  • the interconnection of the two networks 1, 2 consists in particular of performing an address conversion 3.
  • the second network 2 is for example the global Internet network.
  • the first network 1 having private IP addressing
  • second network 2 having standardized IP addressing.
  • 1 is for example a local area network whose addressing has been defined outside of the global authority for the allocation of addresses.
  • IP private qualifying the IP addressing of the first network 1 is understood here as the reverse of "standardized.
  • the known internet technology is based on a series of protocols, the most important of which are IP, TCP and UDP.
  • the IP protocol for Internet Protocol in English
  • the TCP protocol for Transmission Control Protocol in English
  • the TCP protocol is based on the IP protocol and aims to ensure communication in connected mode, that is to say to ensure a virtual circuit between two applications located on separate machines. For this, the TCP protocol must ensure the reliability of transmissions, scheduling and flow control.
  • the data flow sent by an application is therefore segmented into packets. To each of these packets is added a TCP header (the structure of which is presented in FIG. 4). Each packet thus completed is then entrusted to the IP protocol which adds its own IP header to it (the structure of which is presented in FIG. 3).
  • the UDP protocol (for User Datagram Protocol in English) is also based on the IP protocol and is intended to ensure communication in non- connected.
  • the choice of UDP protocol corresponds to applications based on low traffic or on exchanges of the "question-answer" type.
  • the UDP protocol adds a header (the structure of which is presented in FIG. 5) to the data to be transmitted. This packet is then entrusted to the IP protocol which adds its own IP header to it.
  • the packets have therefore been constructed according to a principle of successive encapsulations: a TCP or UDP header is added to the data, so as to form a TCP or UDP packet; then we add an IP header to the TCP or UDP packet.
  • Figure 2 shows the known structure of a TCP / IP packet 21. The known structure of a UDP / IP packet is easily deduced from the previous one by replacing the TCP header with a UDP header.
  • the IP header 31 comprises in particular: a "protocol” field 32 defining the protocol used, for example TCP or UDP.
  • protocol for example TCP or UDP.
  • the data carried by an IP packet are in fact higher level protocol units (encapsulation principle); a "source IP address” field 33 and a "destination IP address” field 34 defining the sending IP address and the IP address of the destination machine respectively.
  • the IP protocol allows data to be sent from one machine to another. As these machines are generally multi-application, it is necessary to provide a means of identifying the applications which wish to communicate with each other. This is done by the TCP and UDP protocols, by introducing the concept of "port". Indeed, the TCP 41 and UDP 51 headers, the known structures of which are presented in FIGS. 4 and 5 respectively, include in particular a "source port” field 42, 52 and a "destination port” field 43, 53.
  • the "destination port” field 43, 53 makes it possible to select the desired application from among those supported by the destination machine, that is to say the one whose IP address is defined by the "destination IP address” field 34 of the IP 31 header.
  • the network interconnection method of the invention is based on an analysis of the connections used by the packets. According to the invention, the notion of connection, which generally applies only to the TCP protocol, is generalized so as to also apply to the UDP protocol.
  • the end of the network is called a software entity (for example an application) which can be described by the following three parameters: an IP address, a port and a protocol (TCP or UDP).
  • connection a logical link between two network ends, one being a client and the other server. One end can be part of several different connections. Once initiated, a connection is a communication path allowing bidirectional data exchanges.
  • CAB ⁇ IPa, Pa, IPb, Pb, proto ⁇ .
  • the IPa address is a private address while the IPb address is a standardized address.
  • Outgoing packets are packets moving from the first network 1 to the second network 2, and incoming packets are packets moving in the opposite direction.
  • the general principle of the invention is to modify the packets transmitted between the first and second networks 1, 2, so that: for each outgoing packet, the private IP address contained in the "source IP address” field 33 is replaced by a standardized IP address intermediate and unique, noted IPv (note that the principle defined here is true for outgoing connections. For incoming connections, IPv is not necessarily unique); for each incoming packet, the IPv address contained in the "destination IP address" field is replaced by the appropriate private IP address.
  • Source IP namely IPv.
  • destination IP address namely IPv. Consequently, a single standardized IP address is sufficient to connect the entire first network 1 with private addressing to the second network 2 with standardized addressing.
  • the method of the invention consists in deporting the end
  • a of the CAB connection on a virtual end V is transposed from the CAB connection into a CVB virtual connection.
  • the conversion from CAB to CVB is carried out: - for outgoing packets, by replacing the source parameters IPa and Pa of CAB by the source parameters IPv and Pv of CVB; for incoming packets, by replacing the destination parameters IPv and Pv of CVB by the destination parameters IPa and Pa of CAB -
  • the operation of the method of the invention relies on the maintenance of a conversion table, associating with each connection of origin used its transposed connection.
  • the flowchart of Figure 7 shows all of the processing (70) performed on each packet.
  • the checksums 34, 44, 54 or checksums, in English
  • the packet is discarded (72).
  • the parameters ⁇ ip_src, p_src, ip_dst, p_dst, proto ⁇ are extracted (73) from the packet, so as to identify the original connection C corresponding to these parameters.
  • the packet is modified (77) (see detailed explanation below, in relation to Figure 9), then the package is routed (78). Finally, if the original connection is finished (79), the two entries corresponding to this original connection are removed (710) from the connection table.
  • J 0.2 ⁇ IPb, Pb, IPv, Pv, proto ⁇
  • J t ⁇ 2 ⁇ IPb, Pb, IPa, Pa, proto ⁇ .
  • the second entry is intended to be used when processing return packets.
  • the parameters IPa, Pa, IPb, Pb and proto are read in the fields "source IP address”, "source port”, “destination IP address”, “destination port”, and "transport protocol” of the packet, respectively.
  • IPv, Pv and proto define a virtual end V, IPv being the intermediate and unique standardized IP address.
  • the value of the Pv port is calculated (83) dynamically, so that there is no other connection on the conversion table having the same torque (IPv, Pv).
  • - search (82) for IPa and Pa if the pair (IPv, Pv) is such that there is a remote end A (for example an application given on a remote server of the private network) (81); recording (84) of a first and a second entry associating the following sets of original and transposed parameters: * for said first entry:
  • the second entry is intended to be used when processing return packets.
  • IPv, Pv and proto parameters define a virtual end V, IPv being the intermediate and unique standardized IP address, or, at the administrator's choice, an IP address chosen from the range of standardized addresses assigned to the site to be connected , and Pv being a predetermined port.
  • the pair of parameters (IPa, Pa) is found (82), thanks to the pair of parameters (IPv, Pv), by reading a static correspondence table associating bijectively with each pair of parameters (IPa, Pa) among a predetermined plurality a pair of parameters (IPv, Pv).
  • the incoming connections are rejected in principle.
  • the machines of the private network 1 have access to the available resources, on the standardized network 2, but the machines of the standardized network 2 do not have access to the "resources" of the private network 1 (asymmetry of the principle of address translation).
  • connection release timer is armed (92) (the entries corresponding to this original connection are then released) and created simultaneously (see FIG. 8)). After this arming (92) or if the original connection does not end, the modifications are made.
  • connection transposition is performed at the replacement (93), in the field "source Ip address" of the packet, IPa by IPv, and in the field "source port” of the packet, Pa by Pv.
  • connection transposition is carried out by replacing (94), in the field "destination IP address" of the packet, IPv by IPa, and in the field “destination port” of the packet, Pv by Pa.
  • the packet thus modified undergoes a step 95 of "particular connection processing", consisting in managing the particularities linked to certain application protocols, such as FTP, rep and rch.
  • checksums of the IP and TCP or UDP headers are recalculated (96).
  • two entries are created in the table (one for each packet direction) and the processing, from the reading point of view in the table, is identical for outgoing packets and the packet incoming.
  • J c ⁇ IPa, Pa, IPb, Pb, IPv, Pv, proto ⁇ .
  • the parameters IPa, Pa, IPb, Pb and proto are read in the fields "source IP address”, "source port”, “destination IP address”, “destination port”, and "transport protocol” of the packet, respectively.
  • the parameters IPv, Pv and proto define a virtual end V, IPv being the intermediate and unique standardized IP address and Pv being a port whose value is calculated dynamically.
  • IPb, Pb, IPv, Pv and proto are read in the "source IP address”, "source port”, “destination IP address”, “destination port”, and "transport protocol” fields of the packet, respectively.
  • the IPv, Pv and proto parameters define a virtual end V, IPv being the intermediate and unique standardized IP address, or, at the administrator's choice, an IP address chosen from the range of standardized addresses assigned to the site to be connected , and Pv being a predetermined port.
  • the pair of parameters (IPa, Pa) being found to be statically associated with a predetermined pair of parameters (IPv, Pv).
  • the step of modifying the packet consists in replacing the content of the fields "source IP address” and “source port” of the packet with the parameters ip 2 and p 2 of the combined set of settings original and transposed J c .
  • the packet modification step consists in replacing the content of the fields "destination IP address” and "destination port” of the packet with the parameters ipo and po of the combined set of original parameters and transposed J c .
  • a connection can be: either used, if at least one coherent packet has been exchanged between the two ends and if it cannot be guaranteed that no more coherent packet will pass over this connection ; be free, if no packet has passed between the two ends.
  • connection table used (that is to say on the deletion of the connections which become free again). It is therefore necessary to determine the instants of start and end of life of each connection recorded in the conversion table.
  • these times of beginning and end of life of the connection are for example determined by referring to the state diagram of a TCP session, according to the TCP specification (RFC 793).
  • RRC 793 TCP specification
  • connections whose protocol is UDP one can define the time of beginning of life of the connection by the passage, in a given direction, of a request packet, and the time of end of life of the connection by the passage, in the other direction, of a response packet.
  • the end of life instant is defined by the flow of a predetermined duration from the start of life instant.
  • the moment of end of life of the connection in the UDP case, is a function of different criteria (number of packets, expiration of a predetermined duration, ...), these criteria being of course configurable by type of connection.
  • each packet may include a step of filtering the packets, according to the content of at least one of the following fields:
  • FIG. 12 illustrates an example of application of the method of the invention.
  • the desired application of the invention is carried out: it makes it possible to connect a private site with a site of a standardized network, without modifying the addresses of the private network.
  • the whole forms the connection C ⁇ IPml, Pn, IPm2, 23, TCP ⁇ .
  • the RI network is a private network whose default routes go to the R2 network.
  • the R2 network is not aware of the existence of RI.
  • the method of the invention is implemented in the machine or gateway P. This gateway P is connected to the two networks, at the private address IPrl for RI, at the standardized address IPr2 for R2.
  • connection C cannot function, because the packets circulate well in the direction Ml towards M2, but cannot return towards Ml because the network RI is unknown to the machines located towards the network R2.
  • the gateway P uses the method of the invention, the connection C can be transposed at point V into a connection C2 by replacing the end A with a virtual end VA such that VA is on the network R2 and that C2 transits through the point V.
  • the method also requires that C2 be free, that is to say at point V, we will have taken care to note all the connections which pass there, so as to verify that there is no telnet client with the same Pn port to the same destination (end B). If this were the case, we would transform VA into ⁇ IPr2, Pm, TCP ⁇ , Pm being an unused TCP port of the P gateway.
  • IPr2 IP address
  • Pm IP address
  • TCP for Remote copy
  • RSH for Remote Shell
  • the FTP protocol is defined according to the TCP specification, by RFC 959. This protocol offers the particularity of using a TCP connection per user session for commands and adding another TCP connection to it for the data in the file being transferred. This other connection, for data, is established by the server. Therefore, it appears as an incoming connection for the device implementing the method of the invention, which, by default, refuses this type of connection.
  • One solution is therefore to detect FTP command connections. This is done by examining the destination port which, for this application is set to 21. At each FTP command connection, we will therefore add an entry in the original conversion table. This conversion will be determined by examining the orders transiting on the channel.
  • the FTP client sends a PORT command having as parameter the IP address and the port number on which the connection must be established. These parameters must be translated according to the principle described above: replacement of the private source IP address by the standardized virtual source address (IPV) and of the port by a new substitution port assigned to this use.
  • IPV standardized virtual source address
  • IP_ret defaults to the source address of the command connection and P_ret defaults to 20 (the default value for data connections associated with the FTP protocol).
  • P_ret defaults to 20 (the default value for data connections associated with the FTP protocol).
  • RCP and RSH require that the port source takes a value less than 1024. Indeed, these ports are defined as accessible only to users or "privileged" applications on certain operating systems. The translation method of the invention must in this case detect these protocols (by the port destination of the connection) and then assign a substitution port with a value less than 1024.
  • the invention also relates to an interconnection device implementing the method described above.
  • This device is for example inserted in an IP router, allowing the interconnection of the two networks.
  • the unique standardized IP address for the entire first private network 1 is the connection address of the IP router to the second standardized network 2.
  • the network interconnection device 11 comprises: means (12) for receiving and storing a packet; means (13) for reading a received and stored packet, making it possible to identify an original connection used by said packet, by knowing a set of identification parameters which are the contents of the "IP address" fields source",

Abstract

A method for interconnecting networks which use internet technology, whereby a first network (1) with private IP addressing may be linked with a second network (2) with standard IP addressing. Said first and second networks convey packets that each comprise an IP header including, in particular, a 'source IP address' field and a 'destination IP address' field. The packets are considered as outbound when they are moved from the first network (1) to the second network (2) via the device, and inbound when the reverse is the case. For each outbound packet, the method comprises a first step of converting the private IP address in the 'source IP address' field so that after conversion, said 'source IP address' field contains a single intermediate standard IP address. For each inbound packet, the method further comprises a second step of converting the single intermediate standard IP address in the 'destination IP address' field so that after conversion, said 'destination IP address' field of said inbound packet contains one of the private addresses of the first network.

Description

DISPOSITIF, PROCEDE ET ROUTEUR D ' INTERCONNEXION DE RESEAUX DEVICE, METHOD AND ROUTER FOR INTERCONNECTING NETWORKS
Le domaine de l'invention est celui des réseaux de télécommunication mettant en oeuvre la technologie internet. Plus précisément, l'invention concerne un dispositif et un procédé d'interconnexion de deux réseaux mettant chacun en oeuvre la technologie internet, l'un présentant un adressage IP privé et l'autre un adressage IP normalisé.The field of the invention is that of telecommunication networks implementing internet technology. More specifically, the invention relates to a device and a method for interconnecting two networks, each implementing internet technology, one having private IP addressing and the other standardized IP addressing.
La technologie internet, aussi appelée technologie TCP/IP, est basée sur l'utilisation des protocoles TCP/IP qui se définissent comme une suite de protocoles visant non seulement à interconnecter des calculateurs reliés par un même réseau physique, mais aussi à interconnecter ces différents réseaux physiques entre eux de manière à constituer un réseau logique unique.Internet technology, also called TCP / IP technology, is based on the use of TCP / IP protocols which are defined as a series of protocols aiming not only to interconnect computers connected by the same physical network, but also to interconnect these different physical networks together to form a single logical network.
Une des particularités marquantes de cette suite de protocoles est d'être indépendante du support physique, c'est-à-dire de fonctionner sur (et donc d'interconnecter) toutes les technologies de support présentes et à venir (Ethernet, TokenOne of the outstanding features of this suite of protocols is to be independent of the physical medium, that is to say to operate on (and therefore interconnect) all the present and future support technologies (Ethernet, Token
Ring, X.25, simple câble série, ATM, RNIS, Relais de Trames, etc.).Ring, X.25, single serial cable, ATM, ISDN, Frame Relay, etc.).
La technologie TCP/IP peut donc être employée par toute vaste organisation désirant uniformiser ses ressources réseaux, classiquement composées de plusieurs réseaux physiques, de technologies généralement différentes. Elle va ainsi permettre aux utilisateurs et applications informatiques de faire apparaître ces éléments à priori incompatibles comme un réseau unique.TCP / IP technology can therefore be used by any large organization wishing to standardize its network resources, conventionally composed of several physical networks, of generally different technologies. It will thus allow users and computer applications to make these seemingly incompatible elements appear as a single network.
Il convient de distinguer la "technologie internet" du réseau Internet. Ce dernier est en fait un réseau mondial unique, interconnectant de très nombreuses machines et actuellement en très forte expansion. Une organisation peut donc déployer son propre réseau sur la base de la technologie internet sans être connectée à Internet (le réseau mondial). Si elle souhaite ensuite s'y connecter, la tâche lui sera facilitée puisqu'elle utilise la même technologie.A distinction should be made between "internet technology" and the Internet. The latter is in fact a unique global network, interconnecting a large number of machines and currently undergoing rapid expansion. An organization can therefore deploy its own network on the basis of internet technology without being connected to the Internet (the global network). If she then wants to connect to it, the task will be made easier since she uses the same technology.
Parmi la série de protocoles de transmission de données à laquelle fait référence TPC/IP, les plus importants sont : - IP (pour Internet Protocol en anglo-saxon) ; TCP (pour Transmission Control Protocol en anglo-saxon) ; UDP (pour User Datagram Protocol en anglo-saxon). Le protocole IP est le protocole de base de la technologie internet. Il a pour simple fonction de transférer un paquet de données (c'est-à-dire un ensemble d'octets) d'une machine à l'autre. Pour ce faire, il rajoute au paquet de données un en-tête IP comprenant notamment les trois champs suivants : "protocole", "adresse IP source" et "adresse IP destination".Among the series of data transmission protocols to which TPC / IP refers, the most important are: - IP (for Internet Protocol in English); TCP (for Transmission Control Protocol in English); UDP (for User Datagram Protocol in English). The IP protocol is the basic protocol of internet technology. Its simple function is to transfer a packet of data (i.e. a set of bytes) from one machine to another. To do this, it adds an IP header to the data packet comprising in particular the following three fields: "protocol", "source IP address" and "destination IP address".
En pratique, les données que véhicule un paquet IP sont en fait des unités de protocole d'un niveau supérieur (principe d'encapsulation), tels que TCP et UDP. Le champ "protocole" permet donc de définir ce protocole.In practice, the data carried by an IP packet are in fact higher level protocol units (encapsulation principle), such as TCP and UDP. The "protocol" field therefore makes it possible to define this protocol.
Les champs "adresse IP source" et "adresse IP destination" définissent l'adresseThe "source IP address" and "destination IP address" fields define the address
IP de la machine émettrice et de la machine destinatrice respectivement. Les adresses sont codées sur 32 bits. Dans le monde TCP/IP, une adresse définit à la fois la machine et le réseau physique auquel elle est raccordée. Elle est donc unique dans l'ensemble du réseau.IP of the sending machine and the receiving machine respectively. The addresses are coded on 32 bits. In the TCP / IP world, an address defines both the machine and the physical network to which it is connected. It is therefore unique throughout the network.
Lors de rémission d'un paquet, une machine détecte (en comparant la partie des adresses définissant le réseau) si la machine destinatrice est sur le même réseau physique qu'elle même. Auquel cas, elle envoie directement le paquet. Sinon, elle l'envoie à une machine capable de faire suivre la paquet vers d'autres réseaux physiques. Une telle machine est généralement désignée par le terme de "routeur IP".When a packet is transmitted, a machine detects (by comparing the part of the addresses defining the network) if the destination machine is on the same physical network as it itself. In which case, it sends the packet directly. Otherwise, it sends it to a machine capable of forwarding the packet to other physical networks. Such a machine is generally designated by the term "IP router".
D'une façon générale, les communications entre équipements informatiques peuvent se classer en deux grandes familles, à savoir les communications en mode non- connecté et les communications en mode connecté.In general, communications between computer equipment can be classified into two main families, namely communications in non-connected mode and communications in connected mode.
Dans le mode non-connecté (appelé mode "connectionless", ou mode "datagram" par les anglo-saxons), la machine A désirant envoyer des données à la machine B constitue un élément de protocole incluant des données à transmettre, ainsi que l'adresse de la machine B. Le réseau se charge d'acheminer cet élément de protocole jusqu'à la machine destinatrice. Dans le monde TCP/IP, le protocole de transfert en mode non- connecté est UDP. Le mode connecté est plus complexe que le précédent. Il introduit la notion de connexion, analogue à une communication téléphonique. Une connexion a lieu entre deux équipements informatiques et comporte trois phases : l'établissement : la machine A demande l'établissement d'une connexion vers la machine B et celle-ci l'accepte ; le transfert : les machines A et B échangent des données au travers de cette connexion ; la libération : la connexion se termine sur l'initiative d'une des deux machines. Une connexion est un objet abstrait concernant au moins les deux équipements d'extrémité. Ces équipements vont donc devoir créer, manipuler et effacer des structures de données décrivant l'état de la connexion.In the non-connected mode (called "connectionless" mode, or "datagram" mode by the Anglo-Saxons), the machine A wishing to send data to the machine B constitutes a protocol element including data to be transmitted, as well as the address of machine B. The network takes care of routing this protocol element to the destination machine. In the TCP / IP world, the transfer protocol in unconnected mode is UDP. The connected mode is more complex than the previous one. It introduces the notion of connection, analogous to telephone communication. A connection takes place between two computer equipment and has three phases: establishment: machine A requests the establishment of a connection to machine B and the latter accepts it; transfer: machines A and B exchange data through this connection; release: the connection ends on the initiative of one of the two machines. A connection is an abstract object concerning at least the two end devices. These devices will therefore have to create, manipulate and delete data structures describing the state of the connection.
Dans le monde TCP/IP, le protocole de transfert en mode connecté est TCP. Lorsque l'on désire interconnecter plusieurs réseaux, il convient de s'assurer que le plan d'adressage de chacun des réseaux est compatible avec celui de chacun des autres réseaux.In the TCP / IP world, the transfer protocol in connected mode is TCP. When it is desired to interconnect several networks, it is necessary to ensure that the addressing plan of each of the networks is compatible with that of each of the other networks.
Ainsi, dans le cas du réseau mondial Internet, constitué de plusieurs réseaux interconnectés, l'adressage IP est normalisé, de façon que chaque machine, quel que soit le réseau auquel elle appartient, possède une adresse IP distincte. Les instances administratives du réseau Internet sont seules habilitées à attribuer de nouvelle adresse IP. Quand une organisation déploie son propre réseau (dit réseau privé) sur la base de la technologie internet, sans que ce réseau soit intégré au réseau mondial Internet, elle définit un plan d'adressage privé, qui est incompatible avec le plan d'adressage normalisé du réseau Internet. Si, ultérieurement, cette organisation décide de relier son réseau à adressage IP privé au réseau Internet, ou plus généralement à un réseau quelconque à adressage IP normalisé, elle se heurte à un problème d'incompatibilité entre les plans d'adressage privé et normalisé.Thus, in the case of the global Internet network, consisting of several interconnected networks, IP addressing is standardized, so that each machine, regardless of the network to which it belongs, has a separate IP address. Only the administrative authorities of the Internet network are able to assign a new IP address. When an organization deploys its own network (called private network) on the basis of internet technology, without this network being integrated into the global Internet network, it defines a private addressing plan, which is incompatible with the standardized addressing plan of the Internet. If, subsequently, this organization decides to link its private IP addressing network to the Internet, or more generally to any network with standardized IP addressing, it encounters a problem of incompatibility between the private and standardized addressing plans.
Une première solution comme visant à pallier ce problème consiste à reconfigurer l'ensemble du réseau privé préalablement existant.A first solution as aiming to alleviate this problem consists in reconfiguring the whole of the previously existing private network.
Cette première solution est très difficile à mettre en oeuvre puisque les instances administratives d'un réseau à adressage normalisé attribuent des espaces d'adressage ne comprenant généralement qu'un faible nombre d'entrées. Ainsi, sur le réseau Internet, il est actuellement quasiment impossible d'obtenir des espaces d'adressage supérieurs à 256 entrées. En d'autres termes, il est impossible d'offrir des accès au réseau Internet à des réseaux privés existants comportant plus de 256 machines. Par ailleurs, la logique de l'adressage IP étant symétrique, toute machine du réseau privé se mettant en situation d'accéder au réseau à adressage normalisé devient immédiatement accessible de l'extérieur à travers ce réseau à adressage normalisé. Or, une contrainte de l'administrateur du domaine d'adressage IP privé est généralement de maintenir la sécurité de son réseau. Il souhaite permettre aux machines de son réseau privé d'accéder aux ressources disponibles sur le réseau normalisé. En revanche, il ne souhaite pas que les machines de ce réseau normalisé, donc extérieures, puissent accéder à l'ensemble des ressources de son réseau privé.This first solution is very difficult to implement since the administrative bodies of a standardized addressing network allocate address spaces which are not generally understanding that a small number of entries. Thus, on the Internet, it is currently almost impossible to obtain address spaces greater than 256 entries. In other words, it is impossible to offer Internet access to existing private networks with more than 256 machines. Furthermore, since the logic of IP addressing is symmetrical, any machine on the private network that puts itself in a position to access the network with standardized addressing becomes immediately accessible from the outside through this network with standardized addressing. However, a constraint of the administrator of the private IP addressing domain is generally to maintain the security of his network. It wishes to allow the machines on its private network to access the resources available on the standardized network. On the other hand, it does not want the machines on this standardized network, therefore external, to be able to access all of the resources on its private network.
Une seconde solution connue visant à pallier l'incompatibilité d'adressage entre deux réseaux à interconnecter consiste à interposer entre les deux réseaux un dispositif réalisant une conversion d'adresses. Pour ce faire, le réseau privé doit donc se voir attribuer, par l'administrateur du domaine d'adressage IP normalisé, une adresse IP normalisée de raccordement, qui devra être affectée au dispositif de conversion d'adresse, et une plage d'adresses IP normalisées destinées à être affectées aux machines composant le réseau à raccorder. Dans ce cas, une adresse IP normalisée est substituée de manière univoque à une adresse IP privée lors du passage des paquets au travers de la passerelle que constitue le dispositif d'interconnexion entre les deux réseaux.A second known solution aimed at overcoming the incompatibility of addressing between two networks to be interconnected consists in interposing between the two networks a device performing address conversion. To do this, the private network must therefore be assigned, by the administrator of the standardized IP address domain, a standard connection IP address, which must be assigned to the address conversion device, and a range of addresses. Standard IPs intended to be assigned to the machines making up the network to be connected. In this case, a standardized IP address is unequivocally substituted for a private IP address when packets pass through the gateway that constitutes the interconnection device between the two networks.
Cette seconde solution connue offre l'avantage, par rapport à la première, de ne pas nécessiter une renumérotation complète du réseau privé. En revanche, elle présente le même inconvénient de nécessiter une plage d'adresses IP normalisées (au moins autant d'adresses normalisées que de machines composant le réseau privé) en plus de l'adresse de raccordement, ainsi que celui de ne pas assurer la sécurité du réseau privé (du fait de la symétrie de la logique d'adressage IP).This second known solution offers the advantage, compared to the first, of not requiring a complete renumbering of the private network. On the other hand, it has the same drawback of requiring a range of standardized IP addresses (at least as many standardized addresses as machines making up the private network) in addition to the connection address, as well as that of not ensuring the security of the private network (due to the symmetry of the IP addressing logic).
Les passerelles applicatives constituent une troisième solution connue visant à pallier l'incompatibilité d'adressage entre deux réseaux à interconnecter. Cette troisième solution connue, si elle est performante sur le plan de la facilité d'administration et de la sécurité, présente les inconvénients suivants : un programme de relais applicatif est nécessaire pour chaque type d'application. La liste des services supportés est donc forcément réduite. Et surtout, une passerelle applicative ne pourra pas, sauf mise à jour logicielle, supporter les nouveaux services Internet encore inconnus ou expérimentaux à ce jour ; le programme n'est pas transparent pour l'utilisateur. Il doit en effet se connecter sur la passerelle, et ensuite établir la connexion vers le service désiré. Ceci pouvant être plus ou moins masqué par des protocoles spécifiques entre la passerelle et l'utilisateur. Mais, ensuite il est alors généralement nécessaire de modifier l'outil d'accès, ce qui interdit l'emploi de produits standards du marché. L'invention a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique.Application gateways constitute a third known solution aiming to overcome the addressing incompatibility between two networks to be interconnected. This third known solution, if it is effective in terms of ease of administration and security, has the following drawbacks: an application relay program is necessary for each type of application. The list of supported services is therefore necessarily reduced. And above all, an application gateway will not be able, except software update, to support new Internet services still unknown or experimental to date; the program is not transparent to the user. It must indeed connect to the gateway, and then establish the connection to the desired service. This can be more or less masked by specific protocols between the gateway and the user. However, it is then generally necessary to modify the access tool, which prohibits the use of standard market products. The invention particularly aims to overcome these various drawbacks of the state of the art.
Plus précisément, l'un des objectifs de la présente invention est de fournir un procédé de conversion d'adresse entre un premier réseau présentant un adressage IP privé et un second réseau présentant un adressage IP normalisé, ce procédé ne nécessitant pas l'attribution au réseau privé d'une plage d'adresses IP normalisées. L'invention a également pour objectif de fournir un tel procédé qui permette d'interdire les connexions du réseau à adressage normalisé vers le réseau à adressage privé, de façon à assurer la sécurité du réseau privé.More specifically, one of the objectives of the present invention is to provide an address conversion method between a first network having private IP addressing and a second network having standardized IP addressing, this method not requiring allocation to the private network of a range of standardized IP addresses. The invention also aims to provide such a method which makes it possible to prohibit connections from the standardized addressing network to the private addressing network, so as to ensure the security of the private network.
Un autre objectif de l'invention est de fournir un tel procédé qui soit indépendant du type d'application et transparent pour les utilisateurs des machines du réseau privé. Un objectif complémentaire de l'invention est de fournir un dispositif d'interconnexion d'adresses répondant aux objectifs précités.Another object of the invention is to provide such a method which is independent of the type of application and transparent to users of machines on the private network. An additional objective of the invention is to provide an address interconnection device meeting the aforementioned objectives.
Ces différents objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints selon l'invention à l'aide d'un procédé d'interconnexion de réseaux mettant chacun en oeuvre la technologie internet, du type permettant d'interconnecter un premier réseau présentant un adressage IP privé et un second réseau présentant un adressage IP normalisé, lesdits premier et second réseaux véhiculant des paquets, chacun desdits paquets comportant un en-tête IP comprenant notamment un champ "adresse IP source" et un champ "adresse IP destination", les paquets étant dits sortants s'ils se déplacent du premier vers le second réseau à travers ledit dispositif et entrants dans le cas contraire, ledit procédé comprenant, pour chaque paquet sortant, une première étape de conversion de l'adresse IP privée contenue dans ledit champ "adresse IP source", de façon que ledit champ "adresse IP source" dudit paquet sortant contienne, après conversion, une adresse IP normalisée intermédiaire et unique ; et ledit procédé comprenant, pour chaque paquet entrant, une seconde étape de conversion de l'adresse IP normalisée intermédiaire et unique contenue dans le champThese various objectives, as well as others which will appear subsequently, are achieved according to the invention using a method of interconnection of networks each implementing internet technology, of the type making it possible to interconnect a first network with private IP addressing and a second network with IP addressing standardized, said first and second networks carrying packets, each of said packets comprising an IP header comprising in particular a field "source IP address" and a field "destination IP address", the packets being said to be outgoing if they move from the first to the second network through said device and incoming if not, said method comprising, for each outgoing packet, a first step of converting the private IP address contained in said "source IP address" field, so that said field "source IP address" of said outgoing packet contains, after conversion, an intermediate and unique standardized IP address; and said method comprising, for each incoming packet, a second step of converting the intermediate and unique standardized IP address contained in the field
"adresse IP destination", de façon que ledit champ "adresse IP destination" dudit paquet entrant contienne, après conversion, une des adresses privées du premier réseau."destination IP address", so that said "destination IP address" field of said incoming packet contains, after conversion, one of the private addresses of the first network.
Ainsi, le principe général de l'invention consiste à n'utiliser qu'une seule adresse IP normalisée. Vu du réseau normalisé, toutes les connexions provenant du réseau privé apparaissent comme provenant de cette adresse unique. Ceci permet une grande simplification de l'administration du dispositif qui met en oeuvre le procédé de l'invention, comme de l'administration de l'ensemble du réseau privé. De plus, le procédé de l'invention offre la possibilité de connexion à partir d'un simple accès de type "dialup-ip". Dans un mode de réalisation préférentiel de l'invention, chacun desdits paquets comportant un en-tête TCP ou UDP comprenant notamment un champ "port source" et un champ "port destination", ledit en-tête IP comprenant en outre un champ "protocole de transport" indiquant le protocole TCP ou UDP utilisé, les paquets empruntant des connexions bidirectionnelles, chaque connexion étant un lien logique entre une première extrémité du premier réseau et une seconde extrémité du second réseau, chaque première ou seconde extrémité étant identifiée par une adresse IP, un port et un protocole de transport, chaque connexion étant identifiée par un jeu de paramètres {IPa, Pa, IPb, Pb, proto} correspondant respectivement à l'adresse IP et au port de la première extrémité, à l'adresse IP et au port de la seconde extrémité, et au protocole de transport commun aux première et seconde extrémités, lesdites premières et secondes étapes de conversion d'adresse comprennent, pour chaque paquet, les étapes suivantes : lecture des champs "adresse IP source", "port source", "adresse IP destination", "port destination", et "protocole de transport" dudit paquet, de façon à disposer d'un jeu de paramètres correspondant aux contenus desdits champs lus et permettant d'identifier une connexion d'origine empruntée par ledit paquet ; recherche dans une table de conversion d'une entrée correspondant à ladite connexion d'origine empruntée par le paquet, ladite table de conversion associant une connexion transposée distincte à chaque connexion d'origine ; - s'il n'existe pas d'entrée correspondant à ladite connexion d'origine empruntée par le paquet, création et ajout dans ladite table de conversion d'un nouveau couple (connexion d'origine, connexion transposée) ; modification dudit paquet, de façon à remplacer la connexion d'origine par la connexion transposée qui lui est associée. De cette façon, l'adresse IP normalisée de l'ensemble du réseau privé est partagée dans le temps par différentes connexions, chaque connexion étant définie par un jeu de cinq paramètres. Ainsi, pour chaque paquet (sortant ou entrant) à traiter, on détermine la connexion d'origine utilisée par ce paquet, et à partir d'une table de conversion, on en déduit une connexion transposée que doit utiliser le paquet pour la suite de son trajet. Une connexion TCP/IP s'établit entre deux couples (adresse IP source/port source) et (adresse IP destination/port destination). D'un point de vue plus applicatif, une connexion s'établit toujours suivant un principe client/serveur. C'est-à-dire qu'une application désirant dialoguer avec un service va établir une communication avec la machine supportant ce service (ce qui définit l'adresse IP destination). Cette machine pouvant supporter différentes applications, c'est le port destination qui va permettre de sélectionner l'application souhaitée.Thus, the general principle of the invention consists in using only one standardized IP address. Seen from the standardized network, all connections from the private network appear to come from this unique address. This allows a great simplification of the administration of the device which implements the method of the invention, as of the administration of the entire private network. In addition, the method of the invention offers the possibility of connection from a simple “dialup-ip” type access. In a preferred embodiment of the invention, each of said packets comprising a TCP or UDP header comprising in particular a "source port" field and a "destination port" field, said IP header further comprising a "protocol" field transport "indicating the TCP or UDP protocol used, the packets using bidirectional connections, each connection being a logical link between a first end of the first network and a second end of the second network, each first or second end being identified by an IP address , a port and a transport protocol, each connection being identified by a set of parameters {IPa, Pa, IPb, Pb, proto} corresponding respectively to the IP address and to the port of the first end, to the IP address and to the port of the second end, and to the common transport protocol at the first and second ends, said first and second address conversion steps include, for each packet, the following steps: reading the fields "source IP address", "source port", "destination IP address", "destination port", and "transport protocol "of said packet, so as to have a set of parameters corresponding to the contents of said read fields and making it possible to identify an original connection borrowed by said packet; search in a conversion table for an entry corresponding to said original connection used by the packet, said conversion table associating a separate transposed connection with each original connection; - if there is no entry corresponding to said original connection borrowed by the packet, creation and addition in said conversion table of a new pair (original connection, transposed connection); modification of said packet, so as to replace the original connection with the transposed connection associated with it. In this way, the standardized IP address of the entire private network is shared over time by different connections, each connection being defined by a set of five parameters. Thus, for each packet (outgoing or incoming) to be processed, the original connection used by this packet is determined, and from a conversion table, a transposed connection is deduced therefrom which the packet must use for the continuation of his journey. A TCP / IP connection is established between two pairs (source IP address / source port) and (destination IP address / destination port). From a more application point of view, a connection is always established according to a client / server principle. That is to say, an application wishing to communicate with a service will establish communication with the machine supporting this service (which defines the destination IP address). This machine can support different applications, it is the destination port that will allow you to select the desired application.
Si le paquet est sortant, les deux adresses IP source et destination de la connexion transposée sont des adresses IP normalisées. Si le paquet est entrant, les deux adresses IP source et destination de la connexion d'origine sont des adresses IP normalisées. Dans un premier mode de réalisation avantageux du procédé de l'invention, ladite étape de création et d'ajout dans ladite table de conversion d'un nouveau couple (connexion d'origine, connexion transposée) consiste à créer dans ladite table de conversion une première et une seconde entrée associant chacune un jeu de paramètres d'origine J0 = {ip_src, p_src, ip_dst, p_dst, p_proto} à un jeu de paramètres transposés Jt = {ip_src\ p_src', ip_dst', p_dst', p_proto' }, et, lorsque ladite connexion d'origine est sortante, c'est-à-dire initiée par ladite première extrémité du premier réseau, lesdits jeux de paramètres d'origine et transposés s'écrivent respectivement : pour ladite première entrée : J0,ι = {IPa, Pa, IPb, Pb, proto} et Jtj = {IPv, Pv, IPb, Pb, proto}, pour ladite seconde entrée : J0,2 = {IPb, Pb, IPv, Pv, proto} et Jt>2 = {IPb, Pb, IPa, Pa, proto}, les paramètres IPa, Pa, IPb, Pb et proto étant lus dans les champs respectivement "adresse IP source", "port source", "adresse IP destination", "port destination", et "protocole de transport" dudit paquet, les paramètres IPv, Pv et proto définisant une extrémité virtuelle, IPv étant ladite adresse IP normalisée intermédiaire et unique, et Pv étant un port dont la valeur est calculée en dynamique, de façon qu'il n'existe aucune autre connexion de la table de conversion possédant le même couple (IPv, Pv). Toutes les extrémités virtuelles (IPv, Pv, proto) possèdent une même adresse IP normalisée : c'est l'adresse unique (IPv) du réseau privé dans le réseau normalisé. En revanche, elles se distinguent les unes des autres par la valeur des deux autres paramètres, à savoir le port et le protocole.If the packet is outgoing, the two source and destination IP addresses of the transposed connection are normalized IP addresses. If the packet is incoming, both the source and destination IP addresses of the originating connection are standard IP addresses. In a first advantageous embodiment of the method of the invention, said step of creating and adding to said conversion table a new pair (original connection, transposed connection) consists in creating in said conversion table a first and a second entry each associating a set of original parameters J 0 = {ip_src, p_src, ip_dst, p_dst, p_proto} to a set of transposed parameters J t = {ip_src \ p_src ', ip_dst', p_dst ', p_proto'}, and, when said original connection is outgoing, c 'is to say initiated by said first end of the first network, said sets of original and transposed parameters are written respectively: for said first entry: J 0 , ι = {IPa, Pa, IPb, Pb, proto} and J tj = {IPv, Pv, IPb, Pb, proto}, for said second entry: J 0 , 2 = {IPb, Pb, IPv, Pv, proto} and J t> 2 = {IPb, Pb, IPa, Pa, proto}, the parameters IPa, Pa, IPb, Pb and proto being read in the fields "source IP address", "source port", "destination IP address", "destination port", and "protocol respectively transport "of said packet, the IPv, Pv and proto parameters defining a virtual end, IPv being said intermediate and unique standardized IP address, and Pv being a port whose value is calculated dynamically, so that there is no another connection of the conversion table having the same couple (IPv, Pv). All the virtual ends (IPv, Pv, proto) have the same standardized IP address: it is the unique address (IPv) of the private network in the standardized network. On the other hand, they are distinguished from each other by the value of the other two parameters, namely the port and the protocol.
Préférentiellement, dans ce premier mode de réalisation, lorsque ladite connexion d'origine est entrante, c'est-à-dire initiée par ladite seconde extrémité du second réseau, lesdits jeux de paramètres d'origine et transposés s'écrivent respectivement : pour ladite première entrée : J0;ι = {IPb, Pb, IPv, Pv, proto} et Jtj = {IPb, Pb, IPa, Pa, proto } , pour ladite seconde entrée : J0>2 = {IPa, Pa, IPb, Pb, proto} et Jt>2 = {IPv, Pv, IPb, Pb, proto}, les paramètres IPb, Pb, IPv, Pv et proto étant lus dans les champs respectivementPreferably, in this first embodiment, when said original connection is incoming, that is to say initiated by said second end of the second network, said sets of original and transposed parameters are written respectively: for said first entry: D 0; ι = {IPb, Pb, IPv, Pv, proto} and J t j = {IPb, Pb, IPa, Pa, proto}, for said second entry: J 0> 2 = {IPa, Pa, IPb, Pb, proto } and J t> 2 = {IPv, Pv, IPb, Pb, proto}, the parameters IPb, Pb, IPv, Pv and proto being read in the fields respectively
"adresse IP source", "port source", "adresse IP destination", "port destination", et"source IP address", "source port", "destination IP address", "destination port", and
"protocole de transport" dudit paquet, les paramètres IPv, Pv et proto définisant une extrémité virtuelle, IPv étant ladite adresse IP normalisée intermédiaire et unique, ou bien, au choix de l'administrateur, une adresse"transport protocol" of said packet, the IPv, Pv and proto parameters defining a virtual end, IPv being said standardized intermediate and unique IP address, or, at the administrator's choice, an address
IP choisie dans la plage d'adresses normalisées attribuée au site à connecter, et Pv étant un port prédéterminé, et le couple de paramètres (IPa, Pa) étant trouvé, grâce au couple de paramètres (IPv,IP chosen from the range of standard addresses assigned to the site to be connected, and Pv being a predetermined port, and the pair of parameters (IPa, Pa) being found, thanks to the pair of parameters (IPv,
Pv), par lecture d'une table de correspondance statique associant de façon bijective à chaque couple de paramètres (IPa, Pa) parmi une pluralité prédéterminée un couple de paramètres (IPv, Pv) distinct.Pv), by reading a static correspondence table associating bijectively to each pair of parameters (IPa, Pa) from a predetermined plurality a pair of parameters (IPv, Pv).
Dans un second mode de réalisation avantageux du procédé de l'invention, ladite étape de création et d'ajout dans ladite table de conversion d'un nouveau coupleIn a second advantageous embodiment of the method of the invention, said step of creating and adding to said conversion table a new pair
(connexion d'origine, connexion transposée) consiste à créer dans ladite table de conversion une unique entrée associée à un jeu combiné de paramètres d'origine et transposés Jc = {ip0, po, ipi, pi, ip2, P2, proto}, et, lorsque ladite connexion d'origine est sortante, c'est-à-dire initiée par ladite première extrémité du premier réseau, ledit jeu combiné de paramètres d'origine et transposés s'écrit Jc = {IPa, Pa, IPb, Pb, IPv, Pv, proto}, les paramètres IPa, Pa, IPb, Pb et proto étant lus dans les champs respectivement(original connection, transposed connection) consists in creating a single entry in said conversion table associated with a combined set of original parameters and transposed J c = {ip 0 , po, ipi, pi, ip2, P2, proto }, and, when said original connection is outgoing, that is to say initiated by said first end of the first network, said combined set of original parameters and transposed is written J c = {IPa, Pa, IPb, Pb, IPv, Pv, proto}, the parameters IPa, Pa, IPb, Pb and proto being read in the fields respectively
"adresse IP source", "port source", "adresse IP destination", "port destination", et"source IP address", "source port", "destination IP address", "destination port", and
"protocole de transport" dudit paquet, les paramètres IPv, Pv et proto définisant une extrémité virtuelle, IPv étant ladite adresse"transport protocol" of said packet, the IPv, Pv and proto parameters defining a virtual end, IPv being said address
IP normalisée intermédiaire et unique, et Pv étant un port dont la valeur est calculée en dynamique, de façon qu'il n'existe aucune autre connexion de la table de conversion possédant le même couple (IPv, Pv).Intermediate and unique normalized IP, and Pv being a port whose value is calculated dynamically, so that there is no other connection of the conversion table having the same couple (IPv, Pv).
Le calcul du paramètre Pv est dynamique et ne peut avoir lieu que sur des connexions sortantes.The calculation of the Pv parameter is dynamic and can only take place on outgoing connections.
Préférentiellement, lorsque ladite connexion d'origine est entrante, c'est-à-dire initiée par ladite seconde extrémité du second réseau, ledit jeu combiné de paramètres d'origine et transposés s'écrit Jc = {IPa, Pa, IPb, Pb, IPv, Pv, proto}, les paramètres IPb, Pb, IPv, Pv et proto étant lus dans les champs respectivement "adresse IP source", "port source", "adresse IP destination", "port destination", et "protocole de transport" dudit paquet, ou bien, au choix de l'administrateur, une adresse IP choisie dans la plage d'adresses normalisées attribuée au site à connecter. les paramètres IPv, Pv et proto définisant une extrémité virtuelle, IPv étant ladite adresse IP normalisée intermédiaire et unique, et Pv étant un port prédéterminé, et le couple de paramètres (IPa, Pa) étant trouvé, grâce au couple de paramètres (IPv, Pv), par lecture d'une table de correspondance statique associant de façon bijective à chaque couple de paramètres (IPa, Pa) parmi une pluralité prédéterminée un couple de paramètres (IPv, Pv) distinct.Preferably, when said original connection is incoming, that is to say initiated by said second end of the second network, said combined set of parameters of origin and transposed is written J c = {IPa, Pa, IPb, Pb, IPv, Pv, proto}, the parameters IPb, Pb, IPv, Pv and proto being read in the fields "source IP address" respectively, "source port", "destination IP address", "destination port", and "transport protocol" of said packet, or, at the administrator's choice, an IP address chosen from the range of standard addresses assigned to the site to connect. the IPv, Pv and proto parameters defining a virtual end, IPv being said intermediate and unique standardized IP address, and Pv being a predetermined port, and the pair of parameters (IPa, Pa) being found, thanks to the pair of parameters (IPv, Pv), by reading a static correspondence table associating bijectively to each pair of parameters (IPa, Pa) from a predetermined plurality a pair of parameters (IPv, Pv).
Ainsi, il est possible, pour les connexions entrantes, d'effectuer une conversion "statique", la recherche du couple de paramètres (Ipa, Pa) étant effectuée parmi un ensemble de couple prédéterminé. Avantageusement, dans le cas du premier mode de réalisation, pour chaque paquet sortant, ladite étape de modification du paquet consiste à remplacer le contenu des champs "adresse IP source" et "port source" du paquet par les paramètres correspondants ip_src' et p_src' dudit jeu de paramètres transposés Jt d'identification de la connexion transposée, et, pour chaque paquet entrant, ladite étape de modification du paquet consiste à remplacer le contenu des champs "adresse IP destination" et "port destination" du paquet par les paramètres correspondants ip_dst' et p_dst' dudit jeu de paramètres transposés Jt d'identification de la connexion transposée.Thus, it is possible, for incoming connections, to perform a "static" conversion, the search for the couple of parameters (Ipa, Pa) being carried out from a set of predetermined torque. Advantageously, in the case of the first embodiment, for each outgoing packet, said step of modifying the packet consists in replacing the content of the fields "source IP address" and "source port" of the packet with the corresponding parameters ip_src 'and p_src' of said set of transposed parameters J t identifying the transposed connection, and, for each incoming packet, said step of modifying the packet consists in replacing the content of the fields "destination IP address" and "destination port" of the packet with the parameters corresponding ip_dst 'and p_dst' of said set of transposed parameters J t identifying the transposed connection.
Ainsi, vu de la première extrémité du premier réseau, il existe une connexion entre cette première extrémité et la seconde extrémité du second réseau. En revanche, vu de la seconde extrémité du second réseau, il existe une connexion entre cette seconde extrémité et une extrémité virtuelle du second réseau (et non pas la première extrémité du premier réseau).Thus, seen from the first end of the first network, there is a connection between this first end and the second end of the second network. However, seen from the second end of the second network, there is a connection between this second end and a virtual end of the second network (and not the first end of the first network).
Avantageusement, dans le cas du second mode de réalisation, pour chaque paquet sortant, ladite étape de modification du paquet consiste à remplacer le contenu des champs "adresse IP source" et "port source" du paquet par les paramètres ip2 et p2 dudit jeu combiné de paramètres d'origine et transposés Jc, et, pour chaque paquet entrant, ladite étape de modification du paquet consiste à remplacer le contenu des champs "adresse IP destination" et "port destination" du paquet par les paramètres ipo et po dudit jeu combiné de paramètres d'origine et transposés Jc.Advantageously, in the case of the second embodiment, for each outgoing packet, said step of modifying the packet consists in replacing the content of the fields "source IP address" and "source port" of the packet by the parameters ip 2 and p 2 of said combined set of original parameters and transposed J c , and, for each incoming packet, said step of modifying the packet consists in replacing the contents of the "destination IP address" and "destination port" fields of the packet by the ipo and po parameters of said combined set of original parameters and transposed J c .
Préférentiellement, ladite table de conversion est mise à jour de façon dynamique selon une stratégie prédéterminée de mise à jour. Ainsi, la taille mémoire de la table de conversion peut être limitée et l'étape de recherche d'une connexion d'origine dans la table, si elle existe, peut être effectuée plus rapidement. Plusieurs stratégies de mise à jour peuvent être envisagées.Preferably, said conversion table is updated dynamically according to a predetermined updating strategy. Thus, the memory size of the conversion table can be limited and the step of finding an original connection in the table, if it exists, can be carried out more quickly. Several updating strategies can be envisaged.
Dans un mode de réalisation avantageux de l'invention, ladite stratégie prédéterminée de mise à jour consiste à ne laisser chaque couple de connexions d'origine et transposée inscrit dans la table de conversion qu'entre un instant de début et un instant de fin de vie de ladite connexion d'origine. En d'autres termes, une connexion est ôtée de la table de conversion dès que sa durée de vie s'est écoulée.In an advantageous embodiment of the invention, said predetermined updating strategy consists in leaving each pair of original and transposed connections registered in the conversion table only between a start time and an end time. life of said original connection. In other words, a connection is removed from the conversion table as soon as its lifetime has passed.
De façon avantageuse, dans le cas d'une connexion utilisant le protocole TCP, lesdits instants de début et de fin de vie de la connexion d'origine sont déterminés en se référant au diagramme d'état d'une session TCP, selon la spécification TCP (RFC 793). Avantageusement, dans le cas d'une connexion utilisant le protocole UDP, ledit instant de début de vie de la connexion d'origine est déterminé par le passage, dans un sens donné, d'un paquet de requête, et en ce que ledit instant de fin de vie est déterminé par le passage, dans le sens inverse dudit sens donné, d'un paquet de réponse.Advantageously, in the case of a connection using the TCP protocol, said instants of start and end of life of the original connection are determined by referring to the state diagram of a TCP session, according to the specification. TCP (RFC 793). Advantageously, in the case of a connection using the UDP protocol, said instant of start of life of the original connection is determined by the passage, in a given direction, of a request packet, and in that said instant end of life is determined by the passage, in the opposite direction of said given direction, of a response packet.
Ainsi, même si cela peut sembler contradictoire avec le principe même d'UDP, on introduit selon l'invention une notion de connexion UDP. En effet, le protocole UDP est par principe "non connecté".Thus, even if this may seem contradictory to the very principle of UDP, a notion of UDP connection is introduced according to the invention. In fact, the UDP protocol is in principle "not connected".
En fait, une analyse des applications utilisant le protocole UDP permet de les classer en deux grandes catégories : les applications utilisant la diffusion multiple (broadcast en anglo-saxon).In fact, an analysis of the applications using the UDP protocol makes it possible to classify them into two main categories: applications using multiple broadcasting (broadcast in English).
Ces applications n'ont en général qu'une utilité locale. Elles peuvent donc être supprimées sans inconvénient au niveau d'un dispositif de raccordement inter-réseaux ; les applications du type requête/réponse. Un paquet UDP est émis vers une machine et un port particulier et contient une requête. A la destination se trouve un serveur qui analyse le paquet reçu et renvoie une réponse, elle-même encapsulée dans un paquet UDP. Quelques exemples d'applications de ce type : Serveur d'horloge, Serveur de noms (DNS)... Ce dernier type d'application permet de retrouver l'idée de connexion. Au niveau d'un dispositif de raccordement inter-réseaux, une connexion commence d'exister lorsque passe un paquet UDP n'appartenant à aucune connexion repérée et se termine lorsque passe en sens inverse un paquet de réponse.These applications are generally only of local use. They can therefore be removed without disadvantage at the level of a device for inter-network connection; request / response type applications. A UDP packet is sent to a particular machine and port and contains a request. At the destination is a server which analyzes the received packet and returns a response, itself encapsulated in a UDP packet. Some examples of applications of this type: Clock server, Name server (DNS) ... This last type of application allows you to find the idea of connection. At an inter-network connection device, a connection begins to exist when a UDP packet belonging to no identified connection passes and ends when a response packet goes in the opposite direction.
Comme le principe de l'invention consiste à appliquer une translation d'adresses à chaque connexion, le fait de définir des "connexions UDP" permet de rendre le procédé de l'invention applicable au protocole UDP.As the principle of the invention consists in applying a translation of addresses to each connection, the fact of defining "UDP connections" makes it possible to make the method of the invention applicable to the UDP protocol.
Selon une variante avantageuse, dans le cas d'une connexion utilisant le protocole UDP, ledit instant de début de vie de la connexion d'origine est déterminé par le passage, dans un sens donné, d'un paquet de requête, et en ce que ledit instant de fin de vie est déterminé par l'écoulement d'une durée prédéterminée depuis ledit instant de début de vie.According to an advantageous variant, in the case of a connection using the UDP protocol, said instant of start of life of the original connection is determined by the passage, in a given direction, of a request packet, and in this that said end of life instant is determined by the passage of a predetermined duration since said start of life instant.
Afin de supporter un maximum d'applications présentes et futures, on peut affiner ce mécanisme de détection des connexions en offrant une possibilité de paramétrage par l'utilisateur de ce qui va déterminer la fin de la connexion : un ou plusieurs paquets de réponse, ou bien l'expiration d'une temporisation armée par la requête. De même, il est possible de paramétrer la possibilité d'avoir plusieurs requêtes au travers de la même connexion. Tous ces paramétrages peuvent bien sûr être définissables en fonction de l'application (déterminée par le port destination du paquet initialisant la connexion).In order to support a maximum of present and future applications, we can refine this connection detection mechanism by offering a possibility of configuration by the user of what will determine the end of the connection: one or more response packets, or indeed the expiration of a timer armed by the request. Similarly, it is possible to configure the possibility of having several requests through the same connection. All these settings can of course be defined depending on the application (determined by the destination port of the packet initiating the connection).
Dans un mode de réalisation préférentiel de l'invention, le procédé comprend une étape de filtrage des paquets sortants en fonction du contenu d'un des champs appartenant au groupe comprenant les champs "adresse IP source", "adresse IP destination" et "port destination". L'invention concerne également un dispositif d'interconnexion de réseaux mettant chacun en oeuvre la technologie internet, du type destiné à être inséré entre un premier réseau présentant un adressage IP privé et un second réseau présentant un adressage IP normalisé, lesdits premier et second réseaux véhiculant des paquets, chacun desdits paquets comportant un en-tête IP comprenant notamment un champ "adresse IP source" et un champ "adresse IP destination", les paquets étant dits sortants s'ils se déplacent du premier vers le second réseau à travers ledit dispositif et entrants dans le cas contraire, ledit dispositif possédant une adresse IP normalisée intermédiaire et unique dans ledit second réseau, et comprenant notamment : des premiers moyens de conversion des adresses IP privées contenues dans les champs "adresse IP source" des paquets sortants, de façon que ledit champ "adresse IP source" de chacun desdits paquets sortants contienne, après conversion, ladite adresse IP normalisée intermédiaire et unique ; et des seconds moyens de conversion de l'adresse IP normalisée intermédiaire et unique contenue dans les champs "adresse IP destination" des paquets entrants, de façon que ledit champ "adresse IP destination" de chacun desdits paquets entrants contienne, après conversion, une des adresses privées du premier réseau.In a preferred embodiment of the invention, the method comprises a step of filtering outgoing packets as a function of the content of one of the fields belonging to the group comprising the fields "source IP address", "destination IP address" and "port destination". The invention also relates to a network interconnection device using each uses internet technology, of the type intended to be inserted between a first network having private IP addressing and a second network having standardized IP addressing, said first and second networks carrying packets, each of said packets comprising an IP header comprising in particular a "source IP address" field and a "destination IP address" field, the packets being said to be outgoing if they move from the first to the second network through said device and incoming if not, said device having an address Intermediate and unique standardized IP in said second network, and comprising in particular: first means for converting private IP addresses contained in the "source IP address" fields of the outgoing packets, so that said "source IP address" field of each of said packets outgoing contains, after conversion, said intermediate and unique standardized IP address; and second means for converting the intermediate and unique standardized IP address contained in the "destination IP address" fields of the incoming packets, so that said "destination IP address" field of each of said incoming packets contains, after conversion, one of the private addresses of the first network.
Avantageusement, chacun desdits paquets comportant un en-tête TCP ou UDP comprenant notamment un champ "port source" et un champ "port destination", ledit en¬ tête IP comprenant en outre un champ "protocole de transport" indiquant le protocole TCP ou UDP utilisé, lesdits premiers et seconds moyens de conversion d'adresse comprennent : des moyens de réception et de stockage d'un paquet ; des moyens de lecture d'un paquet reçu et stocké, permettant d'identifier une connexion d'origine empruntée par ledit paquet, par la connaissance d'un jeu de paramètres d'identification qui sont les contenus des champs "adresse IP source",Advantageously, each of said packets comprising a TCP or UDP header comprising in particular a "source port" field and a "destination port" field, said IP header further comprising a "transport protocol" field indicating the TCP or UDP protocol used, said first and second address conversion means comprise: means for receiving and storing a packet; means for reading a received and stored packet, making it possible to identify an original connection used by said packet, by knowing a set of identification parameters which are the contents of the "source IP address" fields,
"adresse IP destination", "port source", "port destination", et "protocole de transport" du paquet reçu et stocké ; au moins une table de conversion, associant une connexion transposée distincte à chaque connexion d'origine, chacune desdites connexion d'origine ou transposée étant identifiée par un jeu distinct de paramètres d'identification ; des moyens de lecture de ladite table de transposition, permettant de lire le jeu de paramètres d'identification de la connexion transposée associée à la connexion d'origine empruntée par le paquet reçu et stocké ; des moyens de modification dudit paquet reçu et stocké permettant de substituer le jeu de paramètres d'identification de la connexion transposée au jeu de paramètres d'identification contenus dans le paquet reçu et stocké, de façon à remplacer la connexion d'origine par la connexion transposée qui lui est associée dans la table de conversion."destination IP address", "source port", "destination port", and "transport protocol" of the received and stored packet; at least one conversion table, associating a separate transposed connection with each original connection, each of said original or transposed connection being identified by a distinct set of identification parameters; means for reading said transposition table, making it possible to read the set of parameters for identifying the transposed connection associated with the original connection borrowed by the received and stored packet; means for modifying said received and stored packet making it possible to substitute the set of identification parameters of the transposed connection for the set of identification parameters contained in the received and stored packet, so as to replace the original connection with the connection associated with it in the conversion table.
L'invention concerne aussi un routeur IP d'interconnexion de réseaux, caractérisé en ce qu'il comprend un dispositif présentant les caractéristiques précitées, ladite adresse IP normalisée intermédiaire et unique étant l'adresse IP normalisée de raccordement dudit routeur IP audit second réseau.The invention also relates to a network interconnection IP router, characterized in that it comprises a device having the aforementioned characteristics, said intermediate and unique standardized IP address being the standardized IP address for connecting said IP router to said second network.
D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donnée à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : - la figure 1 illustre le principe général du procédé d'interconnexion de réseaux selon l'invention ; la figure 2 présente la structure connue d'un paquet TCP/IP ; la figure 3 présente la structure connue d'un en-tête IP ; la figure 4 présente la structure connue d'un en-tête TCP ; - la figure 5 présente la structure connue d'un en-tête UDP ; la figure 6 illustre une transposition de connexion telle que réalisée par le procédé de l'invention ; la figure 7 présente un organigramme d'un mode de réalisation particulier du procédé de l'invention ; - les figures 8 et 9 présentent chacune en détail l'une des étapes de l'organigramme de la figure 7 ; la figure 10 est un schéma synoptique simplifié d'un dispositif d'interconnexion de réseaux selon l'invention ; la figure 11 est un exemple de réalisation de la table de connexion comprise dans le dispositif de la figure 10 ; et la figure 12 illustre un exemple d'application du procédé et du dispositif de l'invention. L'invention concerne donc un procédé et un dispositif d'interconnexion de deux réseaux mettant chacun en oeuvre la technologie internet (ou technologie TCP/IP). Comme illustré sur la figure 1, il s'agit d'interconnecter : un premier réseau 1 présentant un adressage IP privé ; et un second réseau 2 présentant un adressage IP normalisé. L'interconnexion des deux réseaux 1, 2 consiste notamment à effectuer une conversion d'adresse 3. Le second réseau 2 est par exemple le réseau mondial Internet. Le premier réseauOther characteristics and advantages of the invention will appear on reading the following description of a preferred embodiment of the invention, given by way of non-limiting example, and the attached drawings, in which: - Figure 1 illustrates the general principle of the network interconnection method according to the invention; Figure 2 shows the known structure of a TCP / IP packet; Figure 3 shows the known structure of an IP header; Figure 4 shows the known structure of a TCP header; - Figure 5 shows the known structure of a UDP header; FIG. 6 illustrates a connection transposition as carried out by the method of the invention; FIG. 7 presents a flow diagram of a particular embodiment of the method of the invention; - Figures 8 and 9 each show in detail one of the steps in the flow diagram of Figure 7; FIG. 10 is a simplified block diagram of a network interconnection device according to the invention; Figure 11 is an exemplary embodiment of the connection table included in the device of Figure 10; and FIG. 12 illustrates an example of application of the method and the device of the invention. The invention therefore relates to a method and a device for interconnecting two networks, each using internet technology (or TCP / IP technology). As illustrated in FIG. 1, it involves interconnecting: a first network 1 having private IP addressing; and a second network 2 having standardized IP addressing. The interconnection of the two networks 1, 2 consists in particular of performing an address conversion 3. The second network 2 is for example the global Internet network. The first network
1 est par exemple un réseau local d'entreprise dont l'adressage a été défini en dehors de l'autorité globale pour l'attribution des adresses.1 is for example a local area network whose addressing has been defined outside of the global authority for the allocation of addresses.
Le terme "privé" qualifiant l'adressage IP du premier réseau 1 s'entend ici comme l'inverse de "normalisé. La technologie connue internet est basée sur une suite de protocoles dont les plus importants sont IP, TCP et UDP.The term "private" qualifying the IP addressing of the first network 1 is understood here as the reverse of "standardized. The known internet technology is based on a series of protocols, the most important of which are IP, TCP and UDP.
Le protocole IP (pour Internet Protocol en anglo-saxon) est le protocole de base de la technologie internet. Il a pour simple fonction de transférer un paquet de données (c'est-à-dire un ensemble d'octets) d'une machine à une autre. Le protocole TCP (pour Transmission Control Protocol en anglo-saxon) s'appuie sur le protocole IP et a pour objet d'assurer une communication en mode connecté, c'est- à-dire d'assurer un circuit virtuel entre deux applications situées sur des machines distinctes. Pour cela, le protocole TCP doit assurer la fiabilité des transmissions, l'ordonnancement et le contrôle de flux. Le flux de données envoyé par une application est donc segmenté en paquets. A chacun de ces paquets est ajouté un en-tête TCP (dont la structure est présentée sur la figure 4). Chaque paquet ainsi complété est ensuite confié au protocole IP qui y ajoute son propre en-tête IP (dont la structure est présentée sur la figure 3).The IP protocol (for Internet Protocol in English) is the basic protocol of internet technology. Its simple function is to transfer a data packet (i.e. a set of bytes) from one machine to another. The TCP protocol (for Transmission Control Protocol in English) is based on the IP protocol and aims to ensure communication in connected mode, that is to say to ensure a virtual circuit between two applications located on separate machines. For this, the TCP protocol must ensure the reliability of transmissions, scheduling and flow control. The data flow sent by an application is therefore segmented into packets. To each of these packets is added a TCP header (the structure of which is presented in FIG. 4). Each packet thus completed is then entrusted to the IP protocol which adds its own IP header to it (the structure of which is presented in FIG. 3).
Le protocole UDP (pour User Datagram Protocol en anglo-saxon) s'appuie également sur le protocole IP et a pour objet d'assurer une communication en mode non connecté. Le choix du protocole UDP correspond aux applications reposant sur un trafic faible ou sur des échanges du type "question-réponse".The UDP protocol (for User Datagram Protocol in English) is also based on the IP protocol and is intended to ensure communication in non- connected. The choice of UDP protocol corresponds to applications based on low traffic or on exchanges of the "question-answer" type.
Le protocole UDP ajoute un en-tête (dont la structure est présentée sur la figure 5) aux données à transmettre. Ce paquet est ensuite confié au protocole IP qui y ajoute son propre en-tête IP.The UDP protocol adds a header (the structure of which is presented in FIG. 5) to the data to be transmitted. This packet is then entrusted to the IP protocol which adds its own IP header to it.
Les paquets ont donc construits selon un principe d'encapsulations successives : on ajoute aux données un en-tête TCP ou UDP, de façon à former un paquet TCP ou UDP ; puis on ajoute au paquet TCP ou UDP un en-tête IP. La figure 2 présente la structure connue d'un paquet TCP/IP 21. La structure connue d'un paquet UDP/IP se déduit facilement de la précédente par remplacement de l'en-tête TCP par un en-tête UDP.The packets have therefore been constructed according to a principle of successive encapsulations: a TCP or UDP header is added to the data, so as to form a TCP or UDP packet; then we add an IP header to the TCP or UDP packet. Figure 2 shows the known structure of a TCP / IP packet 21. The known structure of a UDP / IP packet is easily deduced from the previous one by replacing the TCP header with a UDP header.
L'en-tête IP 31 dont la structure connue est présentée sur la figure 3, comprend notamment : - un champ "protocole" 32 définissant le protocole utilisé, par exemple TCP ou UDP. En effet, les données que véhicule un paquet IP sont en fait des unités de protocole d'un niveau supérieur (principe d'encapsulation) ; un champ "adresse IP source" 33 et un champ "adresse IP destination" 34 définissant l'adresse IP émettrice et l'adresse IP de la machine destinatrice respectivement.The IP header 31, the known structure of which is presented in FIG. 3, comprises in particular: a "protocol" field 32 defining the protocol used, for example TCP or UDP. In fact, the data carried by an IP packet are in fact higher level protocol units (encapsulation principle); a "source IP address" field 33 and a "destination IP address" field 34 defining the sending IP address and the IP address of the destination machine respectively.
Le protocole IP permet d'envoyer des données d'une machine à une autre. Comme ces machines sont généralement multi-application, il est nécessaire de fournir un moyen d'identifier les applications qui désirent communiquer entre elles. Ceci est fait par les protocoles TCP et UDP, en introduisant le notion de "port". En effet, les en-têtes TCP 41 et UDP 51, dont les structures connues sont présentées sur les figures 4 et 5 respectivement, comprennent notamment un champ "port source" 42, 52 et un champ "port destination" 43, 53.The IP protocol allows data to be sent from one machine to another. As these machines are generally multi-application, it is necessary to provide a means of identifying the applications which wish to communicate with each other. This is done by the TCP and UDP protocols, by introducing the concept of "port". Indeed, the TCP 41 and UDP 51 headers, the known structures of which are presented in FIGS. 4 and 5 respectively, include in particular a "source port" field 42, 52 and a "destination port" field 43, 53.
Le champ "port destination" 43, 53 permet de sélectionner l'application souhaitée parmi celles supportées par la machine destinatrice, c'est-à-dire celle dont l'adresse IP est définie par le champ "adresse IP destination" 34 de l'en-tête IP 31.v Le procédé d'interconnexion de réseaux de l'invention est basé sur une analyse des connexions utilisées par les paquets. Selon l'invention, la notion de connexion, qui s'applique généralement uniquement au protocole TCP, est généralisée de façon à s'appliquer également au protocole UDP. On appelle extrémité de réseau une entité logicielle (par exemple une application) pouvant être décrite par les trois paramètres suivants : une adresse IP, un port et un protocole (TCP ou UDP).The "destination port" field 43, 53 makes it possible to select the desired application from among those supported by the destination machine, that is to say the one whose IP address is defined by the "destination IP address" field 34 of the IP 31 header. v The network interconnection method of the invention is based on an analysis of the connections used by the packets. According to the invention, the notion of connection, which generally applies only to the TCP protocol, is generalized so as to also apply to the UDP protocol. The end of the network is called a software entity (for example an application) which can be described by the following three parameters: an IP address, a port and a protocol (TCP or UDP).
On appelle connexion un lien logique entre deux extrémités de réseau, l'une étant cliente et l'autre serveur. Une extrémité peut faire partie de plusieurs connexions différentes. Une fois initiée, une connexion est un chemin de communication permettant des échanges de données bidirectionnels.We call connection a logical link between two network ends, one being a client and the other server. One end can be part of several different connections. Once initiated, a connection is a communication path allowing bidirectional data exchanges.
La connexion entre les deux extrémités A = {IPa, Pa, proto} et B = {IPb, Pb, proto} peut être désignée, de façon unique par les cinq paramètres suivants : IPa : l'adresse IP de la première extrémité A ; - IPb : l'adresse IP de la seconde extrémité B ;The connection between the two ends A = {IPa, Pa, proto} and B = {IPb, Pb, proto} can be uniquely designated by the following five parameters: IPa: the IP address of the first end A; - IPb: the IP address of the second end B;
Pa : le port de la première extrémité A ; Pb : le port de la seconde extrémité B ; proto : le protocole de la connexion (TCP ou UDP). Par la suite, on note la connexion CAB de la façon suivante : CAB = {IPa, Pa, IPb, Pb, proto} .Pa: the port of the first end A; Pb: the port of the second end B; proto: the connection protocol (TCP or UDP). Thereafter, the CAB connection is noted as follows: CAB = {IPa, Pa, IPb, Pb, proto}.
On considère dans la suite de la description que l'extrémité A = {IPa, Pa, proto} est située dans le premier réseau 1 à adressage IP privé et que l'extrémité B = {IPb, Pb, proto} est située dans le second réseau 2 à adressage IP normalisé. En d'autres termes, l'adresse IPa est une adresse privée alors que l'adresse IPb est une adresse normalisée. On appelle paquets sortants les paquets se déplaçants du premier réseau 1 vers le second réseau 2, et paquets entrants les paquets se déplaçant dans le sens inverse.It is considered in the following description that the end A = {IPa, Pa, proto} is located in the first network 1 with private IP addressing and that the end B = {IPb, Pb, proto} is located in the second network 2 with standardized IP addressing. In other words, the IPa address is a private address while the IPb address is a standardized address. Outgoing packets are packets moving from the first network 1 to the second network 2, and incoming packets are packets moving in the opposite direction.
Le principe général de l'invention est de modifier les paquets transmis entre les premier et second réseaux 1, 2, de façon que : pour chaque paquet sortant, l'adresse IP privée contenue dans le champ "adresse IP source" 33 soit remplacée par une adresse IP normalisée intermédiaire et unique, notée IPv (à noter que le principe défini ici est vrai pour les connexions sortantes. Pour les connexions entrantes, IPv n'est pas forcément unique) ; pour chaque paquet entrant, l'adresse IPv contenue dans le champ "adresse IP destination" soit remplacée par l'adresse IP privée adéquate.The general principle of the invention is to modify the packets transmitted between the first and second networks 1, 2, so that: for each outgoing packet, the private IP address contained in the "source IP address" field 33 is replaced by a standardized IP address intermediate and unique, noted IPv (note that the principle defined here is true for outgoing connections. For incoming connections, IPv is not necessarily unique); for each incoming packet, the IPv address contained in the "destination IP address" field is replaced by the appropriate private IP address.
Ainsi, après modification, tous les paquets sortants possèdent une même adresseSo, after modification, all outgoing packets have the same address
IP source, à savoir IPv. De même, avant modification, tous les paquets entrants possèdent une même adresse IP destination, à savoir IPv. Par conséquent, une seule adresse IP normalisée suffit pour raccorder tout le premier réseau 1 à adressage privé au second réseau 2 à adressage normalisé.Source IP, namely IPv. Similarly, before modification, all incoming packets have the same destination IP address, namely IPv. Consequently, a single standardized IP address is sufficient to connect the entire first network 1 with private addressing to the second network 2 with standardized addressing.
En termes de connexions, le procédé de l'invention consiste à déporter l'extrémitéIn terms of connections, the method of the invention consists in deporting the end
A de la connexion CAB sur une extrémité virtuelle V. En d'autres termes, comme illustré sur la figure 6, on réalise au point V une transposition de la connexion CAB en une connexion virtuelle CVB. La transposition de CAB en CVB est effectuée : - pour les paquets sortants, en remplaçant les paramètres source IPa et Pa de CAB par les paramètres source IPv et Pv de CVB ; pour les paquets entrants, en remplaçant les paramètres destination IPv et Pv de CVB par les paramètres destination IPa et Pa de CAB- Le fonctionnement du procédé de l'invention repose sur le maintien d'une table de conversion, associant à chaque connexion d'origine utilisée sa connexion transposée.A of the CAB connection on a virtual end V. In other words, as illustrated in FIG. 6, point V is transposed from the CAB connection into a CVB virtual connection. The conversion from CAB to CVB is carried out: - for outgoing packets, by replacing the source parameters IPa and Pa of CAB by the source parameters IPv and Pv of CVB; for incoming packets, by replacing the destination parameters IPv and Pv of CVB by the destination parameters IPa and Pa of CAB - The operation of the method of the invention relies on the maintenance of a conversion table, associating with each connection of origin used its transposed connection.
Le fonctionnement d'un mode de réalisation particulier du procédé de l'invention est maintenant présenté en relation avec les organigrammes des figure 7, 8 et 9.The operation of a particular embodiment of the method of the invention is now presented in relation to the flow charts of FIGS. 7, 8 and 9.
L'organigramme de la figure 7 présente l'ensemble du traitement (70) effectué sur chaque paquet. Tout d'abord, on vérifie (71) que les totaux de contrôle 34, 44, 54 (ou checksums, en anglo-saxon) des en-têtes IP et TCP ou UDP (cf figure 3, 4, et 5) sont corrects. S'ils ne le sont pas, le paquet est éliminé (72). Sinon, les paramètres { ip_src, p_src, ip_dst, p_dst, proto} sont extraits (73) du paquet, de façon à identifier la connexion d'origine C correspondant à ces paramètres. On cherche ensuite (74) s'il existe une entrée de la table de conversion correspondant à cette conversion d'origine C. S'ii n'en existe pas, on regarde (75) si le paquet est cohérent et peut-être un début de connexion d'origine. Si c'est le cas, l'enregistrement (76) de cette connexion d'origine et de sa connexion transposée associée est effectué (cf explication détaillée par la suite, en relation avec la figure 8). Si ce n'est pas le cas, le paquet est éliminé (72).The flowchart of Figure 7 shows all of the processing (70) performed on each packet. First, we check (71) that the checksums 34, 44, 54 (or checksums, in English) of the IP and TCP or UDP headers (see Figure 3, 4, and 5) are correct . If they are not, the packet is discarded (72). Otherwise, the parameters {ip_src, p_src, ip_dst, p_dst, proto} are extracted (73) from the packet, so as to identify the original connection C corresponding to these parameters. We then search (74) if there is an entry in the conversion table corresponding to this original conversion C. If it does not exist, we look (75) if the packet is coherent and perhaps the beginning of an original connection. If this is the case, the recording (76) of this original connection and of its associated transposed connection is carried out (cf. detailed explanation below, in relation to FIG. 8). If not, the packet is discarded (72).
Après enregistrement (76) ou si la connexion d'origine était déjà enregistrée (c'est-à-dire s'il existe une entrée correspondante), le paquet est modifié (77) (cf explication détaillée par la suite, en relation avec la figure 9), puis le paquet est acheminé (78). Enfin, si la connexion d'origine est terminée (79), les deux entrées correspondant à cette connexio d'origine sont ôtées (710) de la table des connexions.After registration (76) or if the original connection was already registered (i.e. if there is a corresponding entry), the packet is modified (77) (see detailed explanation below, in relation to Figure 9), then the package is routed (78). Finally, if the original connection is finished (79), the two entries corresponding to this original connection are removed (710) from the connection table.
On explique maintenant en détail, en relation avec la figure 8, l'étape 76 d'enregistrement de la connexion d'origine et de sa connexion transposée associée.We will now explain in detail, in relation to FIG. 8, the step 76 of recording the original connection and its associated transposed connection.
Cette étape (76) consiste à créer dans ladite table de conversion une première et une seconde entrée associant chacune un jeu de paramètres d'origine J0 = {ip_src, p_src, ip_dst, p_dst, p_proto} à un jeu de paramètres transposés Jt = {ip_src\ p_src', ip_dst\ p_dst', p_proto' }.This step (76) consists in creating in said conversion table a first and a second entry each associating a set of original parameters J 0 = {ip_src, p_src, ip_dst, p_dst, p_proto} with a set of transposed parameters J t = {ip_src \ p_src ', ip_dst \ p_dst', p_proto '}.
On distingue deux cas, selon que la connexion d'origine est entrante, c'est-à-dire initiée par une extrémité (A par exemple dans la suite de la description) du premier réseau 1, ou sortante, c'est-à-dire initiée par une extrémité (B par exemple dans la suite de la description) du second réseau 2.There are two cases, depending on whether the original connection is incoming, i.e. initiated by one end (A for example in the following description) of the first network 1, or outgoing, that is to say - say initiated by one end (B for example in the following description) of the second network 2.
Si la connexion d'origine est sortante, par exemple de A vers B, on effectue les étapes suivantes : calcul (83) de IPV et PV pour former CVB ; - enregistrement (84) d'une première et d'une seconde entrées associant les jeux de paramètres d'origine et transposés suivants :If the original connection is outgoing, for example from A to B, the following steps are carried out: calculation (83) of IPV and PV to form C V B; - recording (84) of first and second entries associating the following sets of original and transposed parameters:
* pour ladite première entrée :* for said first entry:
J0,ι = {IPa, Pa, IPb, Pb, proto} et Ju = {IPv, Pv, IPb, Pb, proto},J 0 , ι = {IPa, Pa, IPb, Pb, proto} and J u = {IPv, Pv, IPb, Pb, proto},
* pour ladite seconde entrée : J0,2 = {IPb, Pb, IPv, Pv, proto} et Jtι2 = {IPb, Pb, IPa, Pa, proto}. Ces quatre jeux de paramètres J0>ι , Jt,ι , J0,2 et Jt>2 sont illustrés sur la figure 11 qui présente un mode de réalisation particulier d'une table de conversion utilisée dans la mise en oeuvre du procédé de l'invention.* for said second entry: J 0.2 = {IPb, Pb, IPv, Pv, proto} and J tι2 = {IPb, Pb, IPa, Pa, proto}. These four sets of parameters J 0> ι, J t , ι, J 0 , 2 and J t> 2 are illustrated in FIG. 11 which presents a particular embodiment of a conversion table used in the implementation of the method of the invention.
La seconde entrée est destinée à être utilisée lors du traitement des paquets de retour.The second entry is intended to be used when processing return packets.
Les paramètres IPa, Pa, IPb, Pb et proto sont lus dans les champs respectivement "adresse IP source", "port source", "adresse IP destination", "port destination", et "protocole de transport" du paquet.The parameters IPa, Pa, IPb, Pb and proto are read in the fields "source IP address", "source port", "destination IP address", "destination port", and "transport protocol" of the packet, respectively.
Les paramètres IPv, Pv et proto définissent une extrémité virtuelle V, IPv étant l'adresse IP normalisée intermédiaire et unique. La valeur du port Pv est calculée (83) en dynamiqu, de façon qu'il n'existe aucune autre connexion de la table de conversion possédant le même couple (IPv, Pv).The parameters IPv, Pv and proto define a virtual end V, IPv being the intermediate and unique standardized IP address. The value of the Pv port is calculated (83) dynamically, so that there is no other connection on the conversion table having the same torque (IPv, Pv).
Si la connexion d'origine est entrante, par exemple de B vers V, on effectue les étapes suivantes : - recherche (82) de IPa et Pa, si le couple (IPv, Pv) est tel qu'il existe une extrémité A déportée (par exemple une application donnée sur un serveur déporté du réseau privé) (81) ; enregistrement (84) d'une première et d'une seconde entrées associant les jeux de paramètres d'origine et transposés suivants : * pour ladite première entrée :If the original connection is incoming, for example from B to V, the following steps are carried out: - search (82) for IPa and Pa, if the pair (IPv, Pv) is such that there is a remote end A (for example an application given on a remote server of the private network) (81); recording (84) of a first and a second entry associating the following sets of original and transposed parameters: * for said first entry:
J0,ι = {IPb, Pb, IPv, Pv, proto} et Ju = {IPb, Pb, IPa, Pa, proto}, * pour ladite seconde entrée :J 0 , ι = {IPb, Pb, IPv, Pv, proto} and J u = {IPb, Pb, IPa, Pa, proto}, * for said second entry:
J0;2 = {IPa, Pa, IPb, Pb, proto} et Jt,2 = {IPv, Pv, IPb, Pb, proto}. La seconde entrée est destinée à être utilisée lors du traitement des paquets de retour.J 0; 2 = {IPa, Pa, IPb, Pb, proto} and J t, 2 = {IPv, Pv, IPb, Pb, proto}. The second entry is intended to be used when processing return packets.
Les paramètres IPv, Pv et proto définissent une extrémité virtuelle V, IPv étant l'adresse IP normalisée intermédiaire et unique, ou bien, au choix de l'administrateur, une adresse IP choisie dans la plage d'adresses normalisées attribuée au site à connecter, et Pv étant un port prédéterminé. Le couple de paramètres (IPa, Pa) est trouvé (82), grâce au couple de paramètres (IPv, Pv), par lecture d'une table de correspondance statique associant de façon bijective à chaque couple de paramètres (IPa, Pa) parmi une pluralité prédéterminée un couple de paramètres (IPv, Pv) distinct.The IPv, Pv and proto parameters define a virtual end V, IPv being the intermediate and unique standardized IP address, or, at the administrator's choice, an IP address chosen from the range of standardized addresses assigned to the site to be connected , and Pv being a predetermined port. The pair of parameters (IPa, Pa) is found (82), thanks to the pair of parameters (IPv, Pv), by reading a static correspondence table associating bijectively with each pair of parameters (IPa, Pa) among a predetermined plurality a pair of parameters (IPv, Pv).
Il est à noter que dans une mode de réalisation simplifié du procédé de l'invention, les connexions entrantes sont rejetées par principe. Ainsi, grâce au connexions sortantes, les machines du réseau privé 1 ont accès aux ressources disponibles, sur le réseau normalisé 2, mais les machines du réseau normalisé 2 n'ont pas accès aux "ressources" du réseau privé 1 (dissymétrie du principe de translation d'adresse). On explique maintenant en détail, en relation avec la figure 9, l'étape 77 de modification du paquet.It should be noted that in a simplified embodiment of the method of the invention, the incoming connections are rejected in principle. Thus, thanks to the outgoing connections, the machines of the private network 1 have access to the available resources, on the standardized network 2, but the machines of the standardized network 2 do not have access to the "resources" of the private network 1 (asymmetry of the principle of address translation). We will now explain in detail, in relation to FIG. 9, the step 77 of modifying the packet.
On examine (91) le protocole de a connexion d'origine, de façon à savoir si celle- ci se termine. Si elle se termine, on arme (92) un temporisateur de libération de connexion (on libère alors les entrées correspondant à cette connexion d'origine) et crées simultanément (cf figure 8)). Après cet armement (92) ou si la connexion d'origine ne se termine pas, on effectue les modifications.We examine (91) the original connection protocol, so as to know if it ends. If it ends, a connection release timer is armed (92) (the entries corresponding to this original connection are then released) and created simultaneously (see FIG. 8)). After this arming (92) or if the original connection does not end, the modifications are made.
Pour effectuer ces modifications, on distingue deux cas, selon que le paquet est sortant ou entrant.To make these modifications, there are two cases, depending on whether the packet is outgoing or incoming.
Si le paquet est sortant, la transposition de connexion est réalisée au remplaçant (93), dans le champ "adresse Ip source" du paquet, IPa par IPv, et dans le champ "port source" du paquet, Pa par Pv.If the packet is outgoing, the connection transposition is performed at the replacement (93), in the field "source Ip address" of the packet, IPa by IPv, and in the field "source port" of the packet, Pa by Pv.
Si le paquet est entrant, la transposition de connexion est réalisée en remplaçant (94), dans le champ "adresse IP destination" du paquet , IPv par IPa, et dans le champ "port destination" du paquet, Pv par Pa. Le paquet ainsi modifié subit une étape 95 de "traitement particulier connexion", consistant à gérer les particularités liées à certains protocoles applicatifs, comme FTP, rep et rch. Ces particularités et leur traitement sont définies plus loin dans ce document.If the packet is incoming, the connection transposition is carried out by replacing (94), in the field "destination IP address" of the packet, IPv by IPa, and in the field "destination port" of the packet, Pv by Pa. The packet thus modified undergoes a step 95 of "particular connection processing", consisting in managing the particularities linked to certain application protocols, such as FTP, rep and rch. These features and their treatment are defined later in this document.
Enfin, les totaux de contrôle (checksums) des en-têtes IP et TCP ou UDP sont recalculés (96). Dans le premier mode de réalisation du procédé de l'invention présenté ci-dessus, pour chaque couple (connexion d'origine, connexion transposée), on crée deux entrées dans la table (une pour chaque sens de paquet) et le traitement, du point de vue lecture dans la table, est identique pour les paquets sortants et la paquets entrants.Finally, the checksums of the IP and TCP or UDP headers are recalculated (96). In the first embodiment of the method of the invention presented above, for each pair (original connection, transposed connection), two entries are created in the table (one for each packet direction) and the processing, from the reading point of view in the table, is identical for outgoing packets and the packet incoming.
On présente maintenant un second mode de réalisation du procédé de l'invention, dans lequel, pour chaque couple (connexion d'origine, connexion transposée), on crée une seule entrée dans la table et le traitement, du point de vue lecture dans la table, est différent selon que les paquets sont sortants ou entrants.We now present a second embodiment of the method of the invention, in which, for each pair (original connection, transposed connection), a single entry is created in the table and the processing, from the reading point of view in the table, is different depending on whether the packets are outgoing or incoming.
Dans ce second mode de réalisation, l'étape de création et d'ajout dans ladite table de conversion d'un nouveau couple (connexion d'origine, connexion transposée) consiste à créer dans la table de conversion une unique entrée associée à un jeu combiné de paramètres d'origine et transposés Jc = {ipo, po, ipi, pi, ip2. P2> proto} .In this second embodiment, the step of creating and adding to said conversion table a new pair (original connection, transposed connection) consists in creating in the conversion table a single entry associated with a game. combined of original parameters and transposed J c = {ipo, po, ipi, pi, ip 2 . P 2> proto}.
Lorsque ladite connexion d'origine est sortante, le jeu combiné de paramètres d'origine et transposés s'écrit Jc = {IPa, Pa, IPb, Pb, IPv, Pv, proto}. Les paramètres IPa, Pa, IPb, Pb et proto sont lus dans les champs respectivement "adresse IP source", "port source", "adresse IP destination", "port destination", et "protocole de transport" du paquet. Les paramètres IPv, Pv et proto définissent une extrémité virtuelle V, IPv étant l'adresse IP normalisée intermédiaire et unique et Pv étant un port dont la valeur est calculée en dynamique.When said original connection is outgoing, the combined set of original parameters and transposed is written J c = {IPa, Pa, IPb, Pb, IPv, Pv, proto}. The parameters IPa, Pa, IPb, Pb and proto are read in the fields "source IP address", "source port", "destination IP address", "destination port", and "transport protocol" of the packet, respectively. The parameters IPv, Pv and proto define a virtual end V, IPv being the intermediate and unique standardized IP address and Pv being a port whose value is calculated dynamically.
Lorsque la connexion d'origine est entrante, le jeu combiné de paramètres d'origine et transposés s'écrit Jc = {IPa, Pa, IPb, Pb, IPv, Pv, proto}. Les paramètresWhen the original connection is incoming, the combined set of original and transposed parameters is written J c = {IPa, Pa, IPb, Pb, IPv, Pv, proto}. The settings
IPb, Pb, IPv, Pv et proto sont lus dans les champs respectivement "adresse IP source", "port source", "adresse IP destination", "port destination", et "protocole de transport" du paquet. Les paramètres IPv, Pv et proto définissent une extrémité virtuelle V, IPv étant l'adresse IP normalisée intermédiaire et unique, ou bien, au choix de l'administrateur, une adresse IP choisie dans la plage d'adresses normalisées attribuée au site à connecter, et Pv étant un port prédéterminé. Le couple de paramètres (IPa, Pa) étant trouvé associé de façon statique à un couple prédéterminé de paramètres (IPv, Pv) distinct.IPb, Pb, IPv, Pv and proto are read in the "source IP address", "source port", "destination IP address", "destination port", and "transport protocol" fields of the packet, respectively. The IPv, Pv and proto parameters define a virtual end V, IPv being the intermediate and unique standardized IP address, or, at the administrator's choice, an IP address chosen from the range of standardized addresses assigned to the site to be connected , and Pv being a predetermined port. The pair of parameters (IPa, Pa) being found to be statically associated with a predetermined pair of parameters (IPv, Pv).
Dans ce second mode de réalisation, pour chaque paquet sortant, l'étape de modification du paquet consiste à remplacer le contenu des champs "adresse IP source" et "port source" du paquet par les paramètres ip2 et p2 du jeu combiné de paramètres d'origine et transposés Jc. Pour chaque paquet entrant, l'étape de modification du paquet consiste à remplacer le contenu des champs "adresse IP destination" et "port destination" du paquet par les paramètres ipo et po du jeu combiné de paramètres d'origine et transposés Jc. D'une façon générale, une connexion peut être : soit utilisée, si au moins un paquet cohérent a été échangé entre les deux extrémités et si l'on ne peut pas assurer qu'il ne passera plus d'autre paquet cohérent pour cette connexion ; soit libre, si aucun paquet n'a transité entre les deux extrémités. Le fonctionnement des deux modes de réalisation du procédé de l'invention présentés ci-dessus repose sur le maintien d'une table des connexions utilisée (c'est-à- dire sur la suppression des connexions qui redeviennent libres). Il faut donc déterminer les instants de début et de fin de vie de chaque connexion enregistrée dans la table de conversion. Pour les connexions dont le protocole est TCP, ces instants de début et de fin de vie de la connexion sont par exemple déterminés en se référant au diagramme d'état d'une session TCP, selon la spécification TCP (RFC 793). On se basera notamment sur le champ "drapeaux" de l'en-tête TCP et particulièrement sur les bits SYN pour le début de la connexion et FIN pour la fin de celle-ci. On pourra prévoir aussi un temporisateur de sécurité, armé par le passage d'un paquet avec le bit FIN et supprimant la connexion au bout d'un certain temps d'inactivité, ceci pour résoudre le cas d'une déconnexion initiée, mais non parvenue à terme, cas possible, par exemple, avec une extrémité devenue inactive, donc incapable de participer à la clôture de la connexion.In this second embodiment, for each outgoing packet, the step of modifying the packet consists in replacing the content of the fields "source IP address" and "source port" of the packet with the parameters ip 2 and p 2 of the combined set of settings original and transposed J c . For each incoming packet, the packet modification step consists in replacing the content of the fields "destination IP address" and "destination port" of the packet with the parameters ipo and po of the combined set of original parameters and transposed J c . In general, a connection can be: either used, if at least one coherent packet has been exchanged between the two ends and if it cannot be guaranteed that no more coherent packet will pass over this connection ; be free, if no packet has passed between the two ends. The operation of the two embodiments of the method of the invention presented above is based on the maintenance of a connection table used (that is to say on the deletion of the connections which become free again). It is therefore necessary to determine the instants of start and end of life of each connection recorded in the conversion table. For connections whose protocol is TCP, these times of beginning and end of life of the connection are for example determined by referring to the state diagram of a TCP session, according to the TCP specification (RFC 793). We will base ourselves in particular on the "flags" field of the TCP header and in particular on the SYN bits for the start of the connection and FIN for the end of the connection. We can also provide a security timer, armed by the passage of a packet with the FIN bit and removing the connection after a certain period of inactivity, this to resolve the case of a disconnection initiated, but not reached eventually, possible case, for example, with one end become inactive, therefore unable to participate in the closure of the connection.
Pour les connexions dont le protocole est UDP, on peut définir l'instant de début de vie de la connexion par le passage, dans un sens donné, d'un paquet de requête, et l'instant de fin de vie de la connexion par le passage, dans l'autre sens, d'un paquet de réponse.For connections whose protocol is UDP, one can define the time of beginning of life of the connection by the passage, in a given direction, of a request packet, and the time of end of life of the connection by the passage, in the other direction, of a response packet.
Selon une variante, on définit l'instant de fin de vie par écoulement d'une durée prédéterminée depuis l'instant de début de vie. On peut imaginer d'autres variantes selon lesquelles l'instant de fin de vie de la connexion, dans le cas UDP, est fonction de différents critères (nombre de paquets, expiration d'une durée prédéterminée,...), ces critères étant bien sûr paramétrables par type de connexion.According to a variant, the end of life instant is defined by the flow of a predetermined duration from the start of life instant. We can imagine other variants according to which the moment of end of life of the connection, in the UDP case, is a function of different criteria (number of packets, expiration of a predetermined duration, ...), these criteria being of course configurable by type of connection.
Dans un mode de réalisation particulier, on peut s'affranchir de la nécessité de déterminer le début et la fin de connexion en utilisant le principe suivant : une connexion est créée lorsque apparaît un nouveau paquet n'appartenant à aucune connexion existante ; on maintient constamment une variable définissant l'heure du dernier paquet ayant transité sur cette connexion ; - la fin de la connexion n'étant pas détectée, celle-ci restera dans la table alors qu'elle n'a plus d'existence ; le numéro de port garantissant l'unicité étant codé sur 2 octets, soit 65535 valeurs possibles, la table va théoriquement arriver à saturation lorsque 65535 connexions auront été effectuées, - on procédera alors à la suppression de la table de l'entrée correspondant à la connexion dont la variable notant l'heure du dernier paquet est la plus ancienne. En pratique, afin de limiter l'occupation mémoire, on procédera à cette suppression à partir d'un nombre de connexions simultanées défini par l'administrateur du système.In a particular embodiment, one can overcome the need to determine the start and end of connection using the following principle: a connection is created when a new packet appears which does not belong to any existing connection; a variable is constantly maintained defining the time of the last packet having passed on this connection; - the end of the connection not being detected, it will remain in the table when it no longer exists; the port number guaranteeing uniqueness being coded on 2 bytes, i.e. 65,535 possible values, the table will theoretically reach saturation when 65,535 connections have been made, - we will then proceed to delete the table from the entry corresponding to the connection whose variable noting the time of the last packet is the oldest. In practice, in order to limit the memory occupation, this will be done from a number of simultaneous connections defined by the system administrator.
Optionnellement, le traitement de chaque paquet peut comprendre une étape de filtrage des paquets, en fonction du contenu d'au moins un des champs suivants :Optionally, the processing of each packet may include a step of filtering the packets, according to the content of at least one of the following fields:
"adresse IP source", "adresse IP destination" et "port destination". Ainsi, on peut limiter le nombre de station du réseau privé 1 ayant accès au réseau normalisé 2, ou bien limiter cet accès à certaines applications."source IP address", "destination IP address" and "destination port". Thus, one can limit the number of stations in the private network 1 having access to the standardized network 2, or else limit this access to certain applications.
La figure 12 illustre un exemple d'application du procédé de l'invention.FIG. 12 illustrates an example of application of the method of the invention.
Si on considère que l'extrémité A est sur un réseau privé RI, que l'extrémité B est sur un réseau "normalisé" R2, par exemple Internet, et que le point V est sur un canal de passage incontournable entre les deux réseaux RI et R2, on réalise l'application recherchée de l'invention : on rend possible une connexion d'un site privé avec un site d'un réseau normalisé, sans modifier les adresses du réseau privé.If we consider that the A end is on a private RI network, that the B end is on a "normalized" R2 network, for example the Internet, and that the V point is on an essential passage channel between the two RI networks and R2, the desired application of the invention is carried out: it makes it possible to connect a private site with a site of a standardized network, without modifying the addresses of the private network.
En référence à la figure 12, l'extrémité A est par exemple un client telnet sur la machine Ml : A ={IPml, Pn, TCP}; où IPml est l'adresse IP de la machine Ml, Pn est un port client déterminé de la machine Ml, et TCP est le protocole TCP. L'extrémité B est par exemple un serveur telnet de la machine M2 : B = {IPm2, 23, TCP} ; 23 étant le port connu TCP du serveur telnet. Le tout forme la connexion C ={IPml, Pn, IPm2, 23, TCP} .With reference to FIG. 12, the end A is for example a telnet client on the machine Ml: A = {IPml, Pn, TCP}; where IPml is the IP address of the machine Ml, Pn is a determined client port of the machine Ml, and TCP is the TCP protocol. The end B is for example a telnet server of the machine M2: B = {IPm2, 23, TCP}; 23 being the known TCP port of the telnet server. The whole forms the connection C = {IPml, Pn, IPm2, 23, TCP}.
Le réseau RI est un réseau privé dont les routes par défaut vont vers le réseau R2. Le réseau R2 ne connaît pas l'existence de RI. Le procédé de l'invention est mis en oeuvre dans la machine ou passerelle P. Cette passerelle P est connectée aux deux réseaux, à l'adresse privée IPrl pour RI, à l'adresse normalisée IPr2 pour R2.The RI network is a private network whose default routes go to the R2 network. The R2 network is not aware of the existence of RI. The method of the invention is implemented in the machine or gateway P. This gateway P is connected to the two networks, at the private address IPrl for RI, at the standardized address IPr2 for R2.
Dans ces conditions, la connexion C ne peut fonctionner, car les paquets circulent bien dans le sens Ml vers M2, mais ne peuvent pas revenir vers Ml car le réseau RI est inconnu des machines situées vers le réseau R2. Si la passerelle P exploite le procédé de l'invention, on peut transposer au point V la connexion C en une connexion C2 en remplaçant l'extrémité A par une extrémité virtuelle VA telle que VA soit sur le réseau R2 et que C2 transite par le point V. Pour satisfaire cette condition, la solution est de substituer IPml par IPr2 dans les paquets transitant par la passerelle P. Donc on peut transposer C en C2 = {IPr2, Pn, IPm2, 23, TCP}. Le procédé requiert également que C2 soit libre, c'est-à-dire qu'au point V, on aura pris soin de noter toutes les connexions qui y transitent, de façon à vérifier qu'il n'y ait pas de client telnet avec le même port Pn vers la même destination (extrémité B). Si cela était le cas, on transformerait VA en {IPr2, Pm, TCP}, Pm étant un port TCP inutilisé de la passerelle P. La translation des adresses et des ports dans les paquets IP est généralement transparente pour les applications TCP/IP. Seules trois applications particulières nécessitent un traitement spécifique, à savoir FTP (pour File Transfer Protocol en anglo- saxon), RCP (pour Remote copy (Transfert de fichiers) en anglo-saxon) et RSH (pour Remote Shell (Exécution à distance) en anglo-saxon). L'application FTP permet le transfert de fichier d'une machine à une autre. Le protocole FTP est défini selon la spécification TCP, par le RFC 959. Ce protocole offre la particularité d'utiliser par session utilisateur une connexion TCP pour les commandes et d'y ajouter une autre connexion TCP pour les données du fichier en cours de transfert. Cette autre connexion, pour les données, est établie par le serveur. Donc, elle apparaît comme connexion entrante pour le dispositif mettant en oeuvre le procédé de l'invention, qui, par défaut, refuse ce type de connexion.Under these conditions, connection C cannot function, because the packets circulate well in the direction Ml towards M2, but cannot return towards Ml because the network RI is unknown to the machines located towards the network R2. If the gateway P uses the method of the invention, the connection C can be transposed at point V into a connection C2 by replacing the end A with a virtual end VA such that VA is on the network R2 and that C2 transits through the point V. To satisfy this condition, the solution is to substitute IPml for IPr2 in the packets passing through gateway P. So we can transpose C into C2 = {IPr2, Pn, IPm2, 23, TCP}. The method also requires that C2 be free, that is to say at point V, we will have taken care to note all the connections which pass there, so as to verify that there is no telnet client with the same Pn port to the same destination (end B). If this were the case, we would transform VA into {IPr2, Pm, TCP}, Pm being an unused TCP port of the P gateway. The translation of addresses and ports in IP packets is generally transparent for TCP / IP applications. Only three specific applications require specific processing, namely FTP (for File Transfer Protocol in English), RCP (for Remote copy (File transfer) in English) and RSH (for Remote Shell) Anglo-Saxon). The FTP application allows file transfer from one machine to another. The FTP protocol is defined according to the TCP specification, by RFC 959. This protocol offers the particularity of using a TCP connection per user session for commands and adding another TCP connection to it for the data in the file being transferred. This other connection, for data, is established by the server. Therefore, it appears as an incoming connection for the device implementing the method of the invention, which, by default, refuses this type of connection.
Une solution est donc de détecter les connexions de commande FTP. Ce qui se fait en examinant le port destination qui, pour cette application est fixé à 21. A chaque connexion de commande FTP, on va donc adjoindre une entrée dans la table de conversion d'origine. Cette conversion va être déterminée en examinant les commandes transitant sur le canal. Le client FTP envoie une commande PORT ayant pour paramètre l'adresse IP et le numéro de port sur lequel doit être établie la connexion. Ces paramètres doivent être translatés suivant le principe décrit précédemment : remplacement de l'adresse IP source privée par l'adresse source virtuelle normalisée (IPV) et du port par un nouveau port de substitution attribué à cet usage.One solution is therefore to detect FTP command connections. This is done by examining the destination port which, for this application is set to 21. At each FTP command connection, we will therefore add an entry in the original conversion table. This conversion will be determined by examining the orders transiting on the channel. The FTP client sends a PORT command having as parameter the IP address and the port number on which the connection must be established. These parameters must be translated according to the principle described above: replacement of the private source IP address by the standardized virtual source address (IPV) and of the port by a new substitution port assigned to this use.
La commande : "PORT IP_ret, P_ret" où : - IP_ret est l'adresse IP de la connexion en retour ; etThe command: "PORT IP_ret, P_ret" where: - IP_ret is the IP address of the return connection; and
P_ret le Port de la connexion en retour, va être translaté en : "PORT IPv, Pv"/ où : - IPv est l'adresse source virtuelle, etP_ret the Port of the return connection, will be translated to: "PORT IPv, Pv" / where: - IPv is the virtual source address, and
Pv est le port source virtuelle attribué de manière à garantir l'unicité de la connexion. Cette commande va créer une entrée dans la table de conversion effectuant la substitution {IP_ret, P_ret} <=> {IPv, Pv}.Pv is the virtual source port assigned to guarantee the uniqueness of the connection. This command will create an entry in the conversion table performing the substitution {IP_ret, P_ret} <=> {IPv, Pv}.
La durée de vie de cette entrée est liée à celle de la connexion de commande FTP. Si aucune commande PORT n'est envoyée sur le canal de commande, alors IP_ret prend par défaut l'adresse source de la connexion de commande et P_ret prend par défaut la valeur 20 (valeur par défaut des connexions de données associées au protocole FTP). Par ailleurs, pour des raisons de sécurité, RCP et RSH imposent que le port source prenne une valeur inférieure à 1024. En effet, ces ports sont définis comme accessibles uniquement aux utilisateurs ou applications "privilégiés" sur certains systèmes d'exploitation. Le procédé de translation de l'invention doit dans ce cas détecter ces protocoles (par le port destination de la connexion) et attribuer alors un port de substitution d'une valeur inférieure à 1024.The lifetime of this input is linked to that of the FTP command connection. If no PORT command is sent on the command channel, then IP_ret defaults to the source address of the command connection and P_ret defaults to 20 (the default value for data connections associated with the FTP protocol). Furthermore, for security reasons, RCP and RSH require that the port source takes a value less than 1024. Indeed, these ports are defined as accessible only to users or "privileged" applications on certain operating systems. The translation method of the invention must in this case detect these protocols (by the port destination of the connection) and then assign a substitution port with a value less than 1024.
L'invention concerne également un dispositif d'interconnexion mettant en oeuvre le procédé décrit précédemment. Ce dispositif est par exemple inséré dasn un routeur IP, permettant l'interconnexion des deux réseaux. Dans ce cas, l'adresse IP normalisée unique pour tout le premier réseau privé 1 est l'adresse de raccordement du routeur IP au second réseau normalisé 2.The invention also relates to an interconnection device implementing the method described above. This device is for example inserted in an IP router, allowing the interconnection of the two networks. In this case, the unique standardized IP address for the entire first private network 1 is the connection address of the IP router to the second standardized network 2.
En référence à la figure 10, dans un mode de réalisation particulier, le dispositif d'interconnexion de réseaux 11 comprend : des moyens (12) de réception et de stockage d'un paquet ; des moyens (13) de lecture d'un paquet reçu et stocké, permettant d'identifier une connexion d'origine empruntée par ledit paquet, par la connaissance d'un jeu de paramètres d'identification qui sont les contenus des champs "adresse IP source",With reference to FIG. 10, in a particular embodiment, the network interconnection device 11 comprises: means (12) for receiving and storing a packet; means (13) for reading a received and stored packet, making it possible to identify an original connection used by said packet, by knowing a set of identification parameters which are the contents of the "IP address" fields source",
"adresse IP destination", "port source", "port destination", et "protocole de transport" du paquet reçu et stocké ; au moins une table de conversion (14), associant une connexion transposée distincte à chaque connexion d'origine, chacune desdites connexion d'origine ou transposée étant identifiée par un jeu distinct de paramètres d'identification ; des moyens (13) de lecture de ladite table de transposition, permettant de lire le jeu de paramètres d'identification de la connexion transposée associée à la connexion d'origine empruntée par le paquet reçu et stocké ; - des moyens (15) de modification dudit paquet reçu et stocké permettant de substituer le jeu de paramètres d'identification de la connexion transposée au jeu de paramètres d'identification contenus dans le paquet reçu et stocké, de façon à remplacer la connexion d'origine par la connexion transposée qui lui est associée dans la table de conversion (14). "destination IP address", "source port", "destination port", and "transport protocol" of the received and stored packet; at least one conversion table (14), associating a separate transposed connection with each original connection, each of said original or transposed connection being identified by a distinct set of identification parameters; means (13) for reading said transposition table, making it possible to read the set of parameters for identifying the transposed connection associated with the original connection borrowed by the received and stored packet; - Means (15) for modifying said received and stored packet making it possible to substitute the set of identification parameters of the transposed connection for the set of identification parameters contained in the received and stored packet, so as to replace the connection of origin by the transposed connection associated with it in the conversion table (14).

Claims

REVENDICATIONS
1 . Procédé d'interconnexion de réseaux mettant chacun en oeuvre la technologie internet, du type permettant d'interconnecter un premier réseau (1) présentant un adressage IP privé et un second réseau (2) présentant un adressage IP normalisé, lesdits premier et second réseaux véhiculant des paquets, chacun desdits paquets comportant un en-tête IP (31) comprenant notamment un champ "adresse IP source" (33) et un champ "adresse IP destination" (34), les paquets étant dits sortants s'ils se déplacent du premier vers le second réseau à travers ledit dispositif et sortants dans le cas contraire, J0;j = {IPb, Pb, IPv, Pv, proto} et Jt>1 = {IPb, Pb, IPa, Pa, proto}, caractérisé en ce que ledit procédé comprend, pour chaque paquet sortant, une première étape de conversion de l'adresse IP privée contenue dans ledit champ "adresse IP source" (33), de façon que ledit champ "adresse IP source" dudit paquet sortant contienne, après conversion, une adresse IP normalisée intermédiaire et unique (IPv) ; et en ce que ledit procédé comprend, pour chaque paquet entrant, une seconde étape de conversion de l'adresse IP normalisée intermédiaire et unique (IPv) contenue dans le champ "adresse IP destination" (34), de façon que ledit champ "adresse IP destination" dudit paquet entrant contienne, après conversion, une des adresses privées du premier réseau. 1. Method of interconnection of networks each implementing internet technology, of the type allowing interconnection of a first network (1) having private IP addressing and a second network (2) having standardized IP addressing, said first and second networks carrying packets, each of said packets comprising an IP header (31) comprising in particular a "source IP address" field (33) and a "destination IP address" field (34), the packets being said to be outgoing if they move from the first to the second network through said device and outgoing if not, J 0; j = {IPb, Pb, IPv, Pv, proto} and J t> 1 = {IPb, Pb, IPa, Pa, proto}, characterized in that said method comprises, for each outgoing packet, a first step of converting the private IP address contained in said "source IP address" field (33), so that said "source IP address" field of said outgoing packet contains, after conversion, an intermediate and unique standardized IP address (IPv); and in that said method comprises, for each incoming packet, a second step of converting the intermediate and unique standardized IP address (IPv) contained in the "destination IP address" field (34), so that said "address Destination IP "of said incoming packet contains, after conversion, one of the private addresses of the first network.
2 . Procédé selon la revendication 1 , chacun desdits paquets comportant un en-tête TCP (41) ou UDP (51) comprenant notamment un champ "port source" (42 ; 52) et un champ "port destination" (43 ; 53), ledit en-tête IP (31) comprenant en outre un champ "protocole de transport" (32) indiquant le protocole TCP ou UDP utilisé, les paquets empruntant des connexions bidirectionnelles, chaque connexion étant un lien logique entre une première extrémité (A) du premier réseau (1) et une seconde extrémité (B) du second réseau (2), chaque première ou seconde extrémité étant identifiée par une adresse2. The method of claim 1, each of said packets comprising a TCP (41) or UDP header (51) comprising in particular a "source port" field (42; 52) and a "destination port" field (43; 53), said method IP header (31) further comprising a "transport protocol" field (32) indicating the TCP or UDP protocol used, the packets using bidirectional connections, each connection being a logical link between a first end (A) of the first network (1) and a second end (B) of the second network (2), each first or second end being identified by an address
IP (IPa, IPb), un port (Pa, Pb) et un protocole de transport (proto), chaque connexion (CAB) étant identifiée par un jeu de paramètres {IPa, Pa, IPb, Pb, proto} correspondant respectivement à l'adresse IP et au port de la première extrémité (A), à l'adresse IP et au port de la seconde extrémité (B), et au protocole de transport commun aux première et seconde extrémités, caractérisé en ce que lesdites premières et secondes étapes de conversion d'adresse comprennent, pour chaque paquet, les étapes suivantes : lecture (73) des champs "adresse IP source", "port source", "adresse IP destination", "port destination", et "protocole de transport" dudit paquet, de façon à disposer d'un jeu de paramètres correspondant aux contenus desdits champs lus et permettant d'identifier une connexion d'origine empruntée par ledit paquet ; recherche (74) dans une table de conversion (14) d'une entrée correspondant à ladite connexion d'origine empruntée par le paquet, ladite table de conversion associant une connexion transposée distincte à chaque connexion d'origine ; - s'il n'existe pas d'entrée correspondant à ladite connexion d'origine empruntée par le paquet, création et ajout (76) dans ladite table de conversion d'un nouveau couple (connexion d'origine, connexion transposée) ; modification (77) dudit paquet, de façon à remplacer la connexion d'origine par la connexion transposée qui lui est associée. IP (IPa, IPb), a port (Pa, Pb) and a transport protocol (proto), each connection (CAB) being identified by a set of parameters {IPa, Pa, IPb, Pb, proto} corresponding respectively to l IP address and port of the first end (A), IP address and port of the second end (B), and the common transport protocol at the first and second ends, characterized in that said first and second address conversion steps comprise, for each packet, the following steps: reading (73) of the fields "source IP address", "source port", "destination IP address", "destination port ", and" transport protocol "of said packet, so as to have a set of parameters corresponding to the contents of said read fields and making it possible to identify an original connection borrowed by said packet; searching (74) in a conversion table (14) for an entry corresponding to said original connection used by the packet, said conversion table associating a separate transposed connection with each original connection; - If there is no entry corresponding to said original connection borrowed by the packet, creation and addition (76) in said conversion table of a new pair (original connection, transposed connection); modification (77) of said packet, so as to replace the original connection with the transposed connection associated with it.
3 . Procédé selon la revendication 2, caractérisé en ce que ladite étape (76) de création et d'ajout dans ladite table de conversion d'un nouveau couple (connexion d'origine, connexion transposée) consiste à créer dans ladite table de conversion une première et une seconde entrée associant chacune un jeu de paramètres d'origine J0 = {ip_src, p_src, ip_dst, p_dst, p_proto} à un jeu de paramètres transposés Jt = {ip_src\ p_src', ip_dst', p_dst', p_proto' }, et en ce que, lorsque ladite connexion d'origine est sortante, c'est-à-dire initiée par ladite première extrémité (A) du premier réseau (1), lesdits jeux de paramètres d'origine et transposés s'écrivent respectivement : pour ladite première entrée : J0,ι = {IPa, Pa, IPb, Pb, proto} et Jι = {IPv, Pv, IPb, Pb, proto}, pour ladite seconde entrée : J0,2 = {IPb, Pb, IPv, Pv, proto} et Jt,2 = {IPb, Pb, IPa, Pa, proto}, les paramètres IPa, Pa, IPb, Pb et proto étant lus dans les champs respectivement "adresse IP source", "port source", "adresse IP destination", "port destination", et "protocole de transport" dudit paquet, les paramètres IPv, Pv et proto définisant une extrémité virtuelle (V), IPv étant ladite adresse IP normalisée intermédiaire et unique et Pv étant un port dont la valeur est calculée en dynamique (83), de façon qu'il n'existe aucune autre connexion de la table de conversion possédant le même couple (IPv, Pv). 3. Method according to claim 2, characterized in that said step (76) of creating and adding to said conversion table a new pair (original connection, transposed connection) consists in creating in said conversion table a first and a second entry each associating a set of original parameters J 0 = {ip_src, p_src, ip_dst, p_dst, p_proto} with a set of transposed parameters J t = {ip_src \ p_src ', ip_dst', p_dst ', p_proto' }, and in that, when said original connection is outgoing, that is to say initiated by said first end (A) of the first network (1), said sets of original and transposed parameters are written respectively: for said first entry: J 0 , ι = {IPa, Pa, IPb, Pb, proto} and J ι = {IPv, Pv, IPb, Pb, proto}, for said second entry: J 0 , 2 = {IPb, Pb, IPv, Pv, proto} and J t, 2 = {IPb, Pb, IPa, Pa, proto}, the parameters IPa, Pa, IPb, Pb and proto being read in the fields respectively " source IP address "," source port "," destination IP address "," destination port ", and" transport protocol "of said packet, the IPv, Pv and proto parameters defining a virtual end (V), IPv being said intermediate and unique standardized IP address and Pv being a port whose value is calculated dynamically (83), so that there is no other connection of the conversion table with the same torque (IPv, Pv).
4 . Procédé selon la revendication 3, caractérisé en ce que, lorsque ladite connexion d'origine est entrante, c'est-à-dire initiée par ladite seconde extrémité (B) du second réseau (2), lesdits jeux de paramètres d'origine et transposés s'écrivent respectivement : pour ladite première entrée : J0,ι = {IPb, Pb, IPv, Pv, proto} et Jt>) = {IPb, Pb,4. Method according to claim 3, characterized in that, when said original connection is incoming, that is to say initiated by said second end (B) of the second network (2), said sets of original parameters and transposed are written respectively: for said first entry: J 0 , ι = {IPb, Pb, IPv, Pv, proto} and J t> ) = {IPb, Pb,
IPa, Pa, proto}, - pour ladite seconde entrée : Jo 2 = {IPa, Pa, IPb, Pb, proto} et Jt<2 = {IPv, Pv,IPa, Pa, proto}, - for said second entry: J o 2 = {IPa, Pa, IPb, Pb, proto} and J t <2 = {IPv, Pv,
IPb, Pb, proto}, les paramètres IPb, Pb, IPv, Pv et proto étant lus dans les champs respectivementIPb, Pb, proto}, the parameters IPb, Pb, IPv, Pv and proto being read in the fields respectively
"adresse IP source", "port source", "adresse IP destination", "port destination", et"source IP address", "source port", "destination IP address", "destination port", and
"protocole de transport" dudit paquet, les paramètres IPv, Pv et proto définisant une extrémité virtuelle (V), IPv appartenant au groupe comprenant ladite adresse IP normalisée intermédiaire et unique, et une adresse IP choisie dans la plage d'adresses normalisées attribuée au site à connecter, et Pv étant un port prédéterminé, et le couple de paramètres (IPa, Pa) étant trouvé (82), grâce au couple de paramètres (IPv, Pv), par lecture d'une table de correspondance statique associant de façon bijective à chaque couple de paramètres (IPa, Pa) parmi une pluralité prédéterminée un couple de paramètres (IPv, Pv) distinct."transport protocol" of said packet, the IPv, Pv and proto parameters defining a virtual end (V), IPv belonging to the group comprising said intermediate and unique standardized IP address, and an IP address chosen from the range of standardized addresses allocated to the site to be connected, and Pv being a predetermined port, and the pair of parameters (IPa, Pa) being found (82), thanks to the pair of parameters (IPv, Pv), by reading a static correspondence table associating bijective to each pair of parameters (IPa, Pa) among a predetermined plurality a pair of parameters (IPv, Pv) distinct.
5 . Procédé selon la revendication 2, caractérisé en ce que ladite étape (76) de création et d'ajout dans ladite table de conversion d'un nouveau couple (connexion d'origine, connexion transposée) consiste à créer dans ladite table de conversion une unique entrée associée à un jeu combiné de paramètres d'origine et transposés Jc = {ipo, po, ipi, Pi ,5. Method according to claim 2, characterized in that said step (76) of creating and adding to said conversion table a new pair (original connection, transposed connection) consists in creating in said conversion table a single input associated with a combined set of original parameters and transposed J c = {ipo, po, ipi, Pi,
ÏP2. P2> proto}, et en ce que, lorsque ladite connexion d'origine est sortante, c'est-à-dire initiée par ladite première extrémité (A) du premier réseau (1), ledit jeu combiné de paramètres d'origine et transposés s'écrit Jc = {IPa, Pa, IPb, Pb, IPv, Pv, proto}, les paramètres IPa, Pa, IPb, Pb et proto étant lus dans les champs respectivement "adresse IP source", "port source", "adresse IP destination", "port destination", et "protocole de transport" dudit paquet, les paramètres IPv, Pv et proto définisant une extrémité virtuelle (V), IPv étant ladite adresse IP normalisée intermédiaire et unique, et Pv étant un port dont la valeur est calculée en dynamique (83), de façon qu'il n'existe aucune autre connexion de la table de conversion possédant le même couple (IPv, Pv).ÏP2. P2> proto}, and in that, when said original connection is outgoing, that is to say initiated by said first end (A) of the first network (1), said combined set of original parameters and transposed is written J c = {IPa, Pa, IPb, Pb, IPv, Pv, proto}, the parameters IPa, Pa, IPb, Pb and proto being read in the fields respectively "source IP address", "source port", "destination IP address", "destination port", and "transport protocol" of said packet, the parameters IPv, Pv and proto defining a virtual end (V), IPv being said intermediate and unique standardized IP address, and Pv being a port whose value is calculated dynamically (83), so that there is no other connection of the conversion table with the same couple (IPv, Pv).
6 . Procédé selon la revendication 5, caractérisé en ce que, lorsque ladite connexion d'origine est entrante, c'est-à-dire initiée par ladite seconde extrémité (B) du second réseau (2), ledit jeu combiné de paramètres d'origine et transposés s'écrit Jc = {IPa, Pa,6. Method according to claim 5, characterized in that, when said original connection is incoming, that is to say initiated by said second end (B) of the second network (2), said combined set of original parameters and transposed is written J c = {IPa, Pa,
IPb, Pb, IPv, Pv, proto}, les paramètres IPb, Pb, IPv, Pv et proto étant lus dans les champs respectivementIPb, Pb, IPv, Pv, proto}, the parameters IPb, Pb, IPv, Pv and proto being read in the fields respectively
"adresse IP source", "port source", "adresse IP destination", "port destination", et"source IP address", "source port", "destination IP address", "destination port", and
"protocole de transport" dudit paquet, les paramètres IPv, Pv et proto définisant une extrémité virtuelle (V), IPv appartenant au groupe comprenant ladite adresse IP normalisée intermédiaire et unique, et une adresse IP choisie dans la plage d'adresses normalisées attribuée au site à connecter, et Pv étant un port prédéterminé, et le couple de paramètres (IPa, Pa) étant trouvé (82), grâce au couple de paramètres (IPv, Pv), par lecture d'une table de correspondance statique associant de façon bijective à chaque couple de paramètres (IPa, Pa) parmi une pluralité prédéterminée un couple de paramètres (IPv, Pv) distinct."transport protocol" of said packet, the IPv, Pv and proto parameters defining a virtual end (V), IPv belonging to the group comprising said intermediate and unique standardized IP address, and an IP address chosen from the range of standardized addresses allocated to the site to be connected, and Pv being a predetermined port, and the pair of parameters (IPa, Pa) being found (82), thanks to the pair of parameters (IPv, Pv), by reading a static correspondence table associating bijective to each pair of parameters (IPa, Pa) among a predetermined plurality a pair of parameters (IPv, Pv) distinct.
7 . Procédé selon l'une quelconque des revendications 3 et 4, caractérisé en ce que, pour chaque paquet sortant, ladite étape (77) de modification du paquet consiste à remplacer (93) le contenu des champs "adresse IP source" et "port source" du paquet par les paramètres correspondants ip_src' et p_src' dudit jeu de paramètres transposés Jt d'identification de la connexion transposée, et en ce que, pour chaque paquet entrant, ladite étape (77) de modification du paquet consiste à remplacer (94) le contenu des champs "adresse IP destination" et "port destination" du paquet par les paramètres correspondants ip_dst' et p_dst' dudit jeu de paramètres transposés Jt d'identification de la connexion transposée. 7. Method according to either of Claims 3 and 4, characterized in that, for each outgoing packet, said step (77) of modifying the packet consists in replacing (93) the content of the fields "source IP address" and "source port "of the packet by the corresponding parameters ip_src 'and p_src' of said set of transposed parameters J t identifying the transposed connection, and in that, for each incoming packet, said step (77) of modifying the packet consists in replacing ( 94) the contents of the "destination IP address" and "destination port" fields of the packet by the corresponding parameters ip_dst 'and p_dst' of said set of transposed parameters J t identification of the transposed connection.
8 . Procédé selon l'une quelconque des revendications 5 et 6, caractérisé en ce que, pour chaque paquet sortant, ladite étape de modification du paquet consiste à remplacer le contenu des champs "adresse IP source" et "port source" du paquet par les paramètres ip2 et p2 dudit jeu combiné de paramètres d'origine et transposés Jc, et en ce que, pour chaque paquet entrant, ladite étape de modification du paquet consiste à remplacer le contenu des champs "adresse IP destination" et "port destination" du paquet par les paramètres ipo et po dudit jeu combiné de paramètres d'origine et transposés Jc. 8. Method according to either of Claims 5 and 6, characterized in that, for each outgoing packet, said packet modification step consists in replacing the content of the "source IP address" and "source port" fields of the packet with the parameters ip 2 and p 2 of said combined set of original parameters and transposed J c , and in that, for each incoming packet, said packet modification step consists in replacing the content of the fields "destination IP address" and "destination port "of the packet by the parameters ipo and po of said combined set of original parameters and transposed J c .
9 . Procédé selon l'une quelconque des revendications 2 à 8, caractérisé en ce que ladite table de conversion (14) est mise à jour de façon dynamique selon une stratégie prédéterminée de mise à jour.9. Method according to any one of claims 2 to 8, characterized in that said conversion table (14) is updated dynamically according to a predetermined updating strategy.
10. Procédé selon la revendication 9, caractérisé en ce que ladite stratégie prédéterminée de mise à jour consiste à ne laisser chaque couple (110, 111) de connexions d'origine et transposée inscrit dans la table de conversion qu'entre un instant de début et un instant de fin de vie de ladite connexion d'origine.10. Method according to claim 9, characterized in that said predetermined updating strategy consists in leaving each pair (110, 111) of original and transposed connections registered in the conversion table only between a start time and an end of life instant of said original connection.
1 1. Procédé selon la revendication 10, caractérisé en ce que, dans le cas d'une connexion utilisant le protocole TCP, lesdits instants de début et de fin de vie de la connexion d'origine sont déterminés en se référant au diagramme d'état d'une session TCP, selon la spécification TCP (RFC 793).1 1. Method according to claim 10, characterized in that, in the case of a connection using the TCP protocol, said instants of start and end of life of the original connection are determined by referring to the diagram state of a TCP session, according to the TCP specification (RFC 793).
12. Procédé selon l'une quelconque des revendications 10 et 11, caractérisé en ce que, dans le cas d'une connexion utilisant le protocole UDP, ledit instant de début de vie de la connexion d'origine est déterminé par le passage, dans un sens donné, d'un paquet de requête, et en ce que ledit instant de fin de vie est déterminé par le passage, dans le sens inverse dudit sens donné, d'un paquet de réponse.12. Method according to any one of claims 10 and 11, characterized in that, in the case of a connection using the UDP protocol, said instant of start of life of the original connection is determined by the passage, in a given direction, of a request packet, and in that said end of life instant is determined by the passage, in the opposite direction of said given direction, of a response packet.
13. Procédé selon l'une quelconque des revendications 10 et 11, caractérisé en ce que, dans le cas d'une connexion utilisant le protocole UDP, ledit instant de début de vie de la connexion d'origine est déterminé par le passage, dans un sens donné, d'un paquet de requête, et en ce que ledit instant de fin de vie est déterminé par l'écoulement d'une durée prédéterminée depuis ledit instant de début de vie. 13. Method according to any one of claims 10 and 11, characterized in that, in the case of a connection using the UDP protocol, said instant of start of life of the original connection is determined by the passage, in a given direction, of a request packet, and in that said end of life instant is determined by the flow of a predetermined duration since said start of life instant.
14. Procédé selon la revendication 9, caractérisé en ce que ladite stratégie prédéterminée de mise à jour consiste à : créer une connexion lorsqu' apparaît un nouveau paquet n'appartenant à aucune connexion existante ; - maintenir constamment une variable définissant l'heure du dernier paquet ayant transité sur cette connexion ; lorsque la table contient un nombre prédéterminé de connexions simultanées, supprimer de la table l'entrée correspondant à la connexion dont la variable notant l'heure du dernier paquet est la plus ancienne. 14. Method according to claim 9, characterized in that said predetermined update strategy consists in: creating a connection when a new packet appears which does not belong to any existing connection; - constantly maintain a variable defining the time of the last packet having passed on this connection; when the table contains a predetermined number of simultaneous connections, delete from the table the entry corresponding to the connection whose variable noting the time of the last packet is the oldest.
15. Procédé selon l'une quelconque des revendications 2 à 14, caractérisé en ce qu'il comprend une étape de filtrage des paquets sortants en fonction du contenu d'un des champs appartenant au groupe comprenant les champs "adresse IP source", "adresse IP destination" et "port destination".15. Method according to any one of claims 2 to 14, characterized in that it comprises a step of filtering outgoing packets as a function of the content of one of the fields belonging to the group comprising the fields "source IP address", " destination IP address "and" destination port ".
16. Dispositif d'interconnexion de réseaux mettant chacun en oeuvre la technologie internet, du type destiné à être inséré entre un premier réseau (1) présentant un adressage16. Network interconnection device each implementing internet technology, of the type intended to be inserted between a first network (1) having an addressing
IP privé et un second réseau (2) présentant un adressage IP normalisé, lesdits premier et second réseaux véhiculant des paquets, chacun desdits paquets comportant un en-tête IP (31) comprenant notamment un champ "adresse IP source" (33) et un champ "adresse IP destination" (34), les paquets étant dits sortants s'ils se déplacent du premier vers le second réseau à travers ledit dispositif et sortants dans le cas contraire, caractérisé en ce que ledit dispositif (11) possède une adresse IP normalisée intermédiaire et unique (IPv) dans ledit second réseau, et en ce qu'il comprend notamment : des premiers moyens de conversion des adresses IP privées contenues dans les champs "adresse IP source" des paquets sortants, de façon que ledit champ "adresse IP source" de chacun desdits paquets sortants contienne, après conversion, ladite adresse IP normalisée intermédiaire et unique (IPv) ; et des seconds moyens de conversion de l'adresse IP normalisée intermédiaire et unique (IPv) contenue dans les champs "adresse IP destination" des paquets entrants, de façon que ledit champ "adresse IP destination" de chacun desdits paquets entrants contienne, après conversion, une des adresses privées du premier réseau. Private IP and a second network (2) having standardized IP addressing, said first and second networks carrying packets, each of said packets comprising an IP header (31) notably comprising a "source IP address" field (33) and a "destination IP address" field (34), the packets being said to be outgoing if they move from the first to the second network through said device and outgoing if not, characterized in that said device (11) has an IP address standardized and unique (IPv) standard in said second network, and in that it comprises in particular: first means for converting private IP addresses contained in the "source IP address" fields of outgoing packets, so that said "address Source IP "of each of said outgoing packets contains, after conversion, said intermediate and unique standardized IP address (IPv); and second means for converting the intermediate and unique standardized IP address (IPv) contained in the "destination IP address" fields of the incoming packets, so that said "destination IP address" field of each of said incoming packets contains, after conversion, one of the private addresses of the first network.
17. Dispositif selon la revendication 16, chacun desdits paquets comportant un en-tête TCP (41) ou UDP (51) comprenant notamment un champ "port source" (42 ; 52) et un champ "port destination" (43 ; 53), ledit en-tête IP (31) comprenant en outre un champ "protocole de transport" (32) indiquant le protocole TCP ou UDP utilisé, caractérisé en ce que lesdits premiers et seconds moyens de conversion d'adresse comprennent : des moyens (12) de réception et de stockage d'un paquet ; des moyens (13) de lecture d'un paquet reçu et stocké, permettant d'identifier une connexion d'origine empruntée par ledit paquet, par la connaissance d'un jeu de paramètres d'identification qui sont les contenus des champs "adresse IP source", "adresse IP destination", "port source", "port destination", et "protocole de transport" du paquet reçu et stocké ; au moins une table de conversion (14), associant une connexion transposée distincte à chaque connexion d'origine, chacune desdites connexion d'origine ou transposée étant identifiée par un jeu distinct de paramètres d'identification ; des moyens (13) de lecture de ladite table de transposition, permettant de lire le jeu de paramètres d'identification de la connexion transposée associée à la connexion d'origine empruntée par le paquet reçu et stocké ; - des moyens (15) de modification dudit paquet reçu et stocké permettant de substituer le jeu de paramètres d'identification de la connexion transposée au jeu de paramètres d'identification contenus dans le paquet reçu et stocké, de façon à remplacer la connexion d'origine par la connexion transposée qui lui est associée dans la table de conversion. 18 o Routeur IP d'interconnexion de réseaux, caractérisé en ce qu'il comprend un dispositif (11) selon l'une quelconque des revendications 16 et 17, ladite adresse IP normalisée intermédiaire et unique (IPv) étant l'adresse IP normalisée de raccordement dudit routeur IP audit second réseau (2). 17. Device according to claim 16, each of said packets comprising a TCP (41) or UDP (51) header comprising in particular a "source port" field (42; 52) and a "destination port" field (43; 53) , said IP header (31) further comprising a "transport protocol" field (32) indicating the TCP or UDP protocol used, characterized in that said first and second address conversion means comprise: means (12 ) receiving and storing a package; means (13) for reading a received and stored packet, making it possible to identify an original connection used by said packet, by knowing a set of identification parameters which are the contents of the "IP address" fields source "," destination IP address "," source port "," destination port ", and" transport protocol "of the received and stored packet; at least one conversion table (14), associating a separate transposed connection with each original connection, each of said original or transposed connection being identified by a distinct set of identification parameters; means (13) for reading said transposition table, making it possible to read the set of parameters for identifying the transposed connection associated with the original connection borrowed by the received and stored packet; - Means (15) for modifying said received and stored packet making it possible to substitute the set of identification parameters of the transposed connection for the set of identification parameters contained in the received and stored packet, so as to replace the connection of origin by the transposed connection associated with it in the conversion table. 18 o Network interconnection IP router, characterized in that it comprises a device (11) according to any one of claims 16 and 17, said intermediate and unique standardized IP address (IPv) being the standardized IP address of connection of said IP router to said second network (2).
PCT/FR1996/001179 1995-07-27 1996-07-25 Network interconnection router, method and device WO1997005727A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU67034/96A AU6703496A (en) 1995-07-27 1996-07-25 Network interconnection router, method and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR95/09392 1995-07-27
FR9509392A FR2737372B1 (en) 1995-07-27 1995-07-27 DEVICE AND METHOD FOR INTERCONNECTING NETWORKS, IP ROUTER COMPRISING SUCH A DEVICE

Publications (1)

Publication Number Publication Date
WO1997005727A1 true WO1997005727A1 (en) 1997-02-13

Family

ID=9481632

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1996/001179 WO1997005727A1 (en) 1995-07-27 1996-07-25 Network interconnection router, method and device

Country Status (3)

Country Link
AU (1) AU6703496A (en)
FR (1) FR2737372B1 (en)
WO (1) WO1997005727A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL1007709C2 (en) * 1997-12-05 1999-06-08 Herman Elderson Method and device for converting Internet Protocol addresses.
GB2332837A (en) * 1997-12-05 1999-06-30 Distrib Syst Res Inst Integrated information communications system
GB2356327A (en) * 1997-12-05 2001-05-16 Distrib Systems Res Inst The Integrated communication system using Internet Protocol and satellite transmission
US6317775B1 (en) 1995-11-03 2001-11-13 Cisco Technology, Inc. System for distributing load over multiple servers at an internet site
US6324177B1 (en) 1997-05-02 2001-11-27 Cisco Technology Method and apparatus for managing connections based on a client IP address
US6445704B1 (en) 1997-05-02 2002-09-03 Cisco Technology, Inc. Method and apparatus for virtualizing a locally initiated outbound connection from a connection manager
US6603763B1 (en) * 1997-04-28 2003-08-05 Nec Corporation System and method for communicating between a mobile station and a network using address assignment
US6632158B1 (en) 1997-03-12 2003-10-14 Neurocom International, Inc. Monitoring of training programs
EP1400264A1 (en) * 2002-09-10 2004-03-24 TECHNOGYM S.p.A. Exercise machine with internet connection means
US6717949B1 (en) 1998-08-31 2004-04-06 International Business Machines Corporation System and method for IP network address translation using selective masquerade
US7039008B1 (en) 1997-05-02 2006-05-02 Cisco Technology, Inc. Method and apparatus for maintaining connection state between a connection manager and a failover device
US7127376B2 (en) 2003-09-23 2006-10-24 Neurocom International, Inc. Method and apparatus for reducing errors in screening-test administration

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10257098A (en) * 1997-03-07 1998-09-25 Sony Corp Communication route controller, communication route control method and communication route control unit

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
C.A.SUNSHINE: "NETWORK INTERCONNECTION AND GATEWAYS", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATION, vol. 8, no. 1, January 1990 (1990-01-01), NEW YORK, US, pages 4 - 11, XP000133530 *
L.SVOBODOVA ET AL: "HETEROGENEITY AND OSI", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATION, vol. 8, no. 1, January 1990 (1990-01-01), NEW YORK, US, pages 67 - 79, XP000133533 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730190B2 (en) 1995-11-03 2010-06-01 Cisco Technology, Inc. System for distributing load over multiple servers at an internet site
US6317775B1 (en) 1995-11-03 2001-11-13 Cisco Technology, Inc. System for distributing load over multiple servers at an internet site
US6632158B1 (en) 1997-03-12 2003-10-14 Neurocom International, Inc. Monitoring of training programs
US6603763B1 (en) * 1997-04-28 2003-08-05 Nec Corporation System and method for communicating between a mobile station and a network using address assignment
US6445704B1 (en) 1997-05-02 2002-09-03 Cisco Technology, Inc. Method and apparatus for virtualizing a locally initiated outbound connection from a connection manager
US7039008B1 (en) 1997-05-02 2006-05-02 Cisco Technology, Inc. Method and apparatus for maintaining connection state between a connection manager and a failover device
US6324177B1 (en) 1997-05-02 2001-11-27 Cisco Technology Method and apparatus for managing connections based on a client IP address
US6618366B1 (en) 1997-12-05 2003-09-09 The Distribution Systems Research Institute Integrated information communication system
GB2332837A (en) * 1997-12-05 1999-06-30 Distrib Syst Res Inst Integrated information communications system
GB2356327B (en) * 1997-12-05 2002-06-26 Distrib Systems Res Inst The Integrated information communication system
NL1007709C2 (en) * 1997-12-05 1999-06-08 Herman Elderson Method and device for converting Internet Protocol addresses.
GB2356327A (en) * 1997-12-05 2001-05-16 Distrib Systems Res Inst The Integrated communication system using Internet Protocol and satellite transmission
US8208452B2 (en) 1997-12-05 2012-06-26 The Distribution Systems Research Institute Integrated information communication system
US7787428B2 (en) 1997-12-05 2010-08-31 The Distribution Systems Research Institute Integrated information communication system
GB2332837B (en) * 1997-12-05 2002-07-03 Distrib Systems Res Inst The Integrated information communication system
WO1999030467A1 (en) * 1997-12-05 1999-06-17 Herman Elderson Method and device for converting internet protocol addresses
US7266115B2 (en) 1997-12-05 2007-09-04 The Distribution Systems Research Institute Integrated information communication system
US7266114B2 (en) 1997-12-05 2007-09-04 The Distribution Systems Research Institute Integrated information communication system
US6717949B1 (en) 1998-08-31 2004-04-06 International Business Machines Corporation System and method for IP network address translation using selective masquerade
US7479092B2 (en) 2002-09-10 2009-01-20 Technogym S.P.A. Exercise machine
EP1400264A1 (en) * 2002-09-10 2004-03-24 TECHNOGYM S.p.A. Exercise machine with internet connection means
US7127376B2 (en) 2003-09-23 2006-10-24 Neurocom International, Inc. Method and apparatus for reducing errors in screening-test administration

Also Published As

Publication number Publication date
AU6703496A (en) 1997-02-26
FR2737372B1 (en) 1997-09-12
FR2737372A1 (en) 1997-01-31

Similar Documents

Publication Publication Date Title
EP1507384B1 (en) Method of masking the processing of an access request to a server and corresponding system
FR2853187A1 (en) SYSTEM FOR ALL NETWORK APPLICATIONS TO OPERATE TRANSPARENTLY THROUGH A NETWORK ADDRESS TRANSLATION DEVICE
FR2923969A1 (en) METHOD FOR MANAGING FRAMES IN A GLOBAL COMMUNICATION NETWORK, COMPUTER PROGRAM PRODUCT, CORRESPONDING STORAGE MEDIUM AND TUNNEL HEAD
EP1276298A1 (en) Method for addressing mobile terminals
EP3503508B1 (en) Method for processing requests and proxy server
WO2006114383A1 (en) Method for establishing a multi-link access between a local network and a remote network, and corresponding appliance
WO1997005727A1 (en) Network interconnection router, method and device
FR2860369A1 (en) Communications network digital stream packet access control having detector comparing interface digital packet header/following identification generating network management system destination
FR2930100A1 (en) METHOD OF ESTABLISHING A COMMUNICATION PATH IN AN EXTENSIVE COMMUNICATION NETWORK, TUNNEL HEADS, COMPUTER PROGRAM PRODUCT AND CORRESPONDING STORAGE MEDIUM
EP2294798B1 (en) Method and related device for routing a data packet in a network
CA2283124C (en) Communication method in a set of systems via an internet type network
US20080104688A1 (en) System and method for blocking anonymous proxy traffic
EP1192797B1 (en) Payphone management system
WO2007003818A1 (en) Method for filtering through multi-protocol coupling based on dns protocol
EP1453279A1 (en) Sorting addresses in a domain name server
EP2266279B1 (en) Multimedia content sharing via audio-video communication
EP3235217B1 (en) Method for data exchange between web browsers, and routing device, terminal, computer program and storage medium therefor
EP2579545B1 (en) Method of assigning a public network address to equipment with a private network address
FR2809560A1 (en) Secure communications architecture having server mode allowing permanent internet IP address between connected units software implanted with protocol layers offering communications layers executing cyphering step
EP1432213B1 (en) Mediation platform and message transport network
FR2843847A1 (en) Data transmission system for Telnet manageable device e.g. router, has processing device with proxy unit to complete Telnet connection with Telnet device upon receiving request from help desk workstation to gain access to device
EP3070911A1 (en) Method for controlling access to a private network
EP1762051A1 (en) Method for managing an interconnection between telecommunication networks and device therefor
FR2836613A1 (en) Network management systems for transferring data, has traffic engineering tool that obtains information about load capacity of gateways and dynamic update command for sending gateway address to server
EP4024820A1 (en) Method for configuring a secured interface between a transport network and one of a plurality of elementary networks federated through the transport network; associated interface

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AT AU AZ BB BG BR BY CA CH CN CU CZ CZ DE DE DK DK EE EE ES FI FI GB GE HU IL IS JP KE KG KP KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK TJ TM TR TT UA UG US UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA