+

WO1997005727A1 - Dispositif, procede et routeur d'interconnexion de reseaux - Google Patents

Dispositif, procede et routeur d'interconnexion de reseaux 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
English (en)
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/fr

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",

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

L'invention concerne un procédé d'interconnexion de réseaux mettant chacun en ÷uvre 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 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 (1) vers le second (2) réseau à travers ledit dispositif et sortants dans le cas contraire. Le procédé de l'invention comprend, 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. Le procédé de l'invention comprend également, pour chaque paquet entrant, une seconde étape de conversion de l'adresse IP normalisée intermédiaire et unique contenue dans le champ '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.

Description

DISPOSITIF, PROCEDE ET ROUTEUR D ' INTERCONNEXION DE RESEAUX
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é.
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.
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, Token
Ring, X.25, simple câble série, ATM, RNIS, Relais de Trames, 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.
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.
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".
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.
Les champs "adresse IP source" et "adresse IP destination" définissent l'adresse
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.
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".
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é.
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.
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.
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é.
Une première solution comme visant à pallier ce problème consiste à reconfigurer l'ensemble du réseau privé préalablement existant.
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é.
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.
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).
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.
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é.
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.
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 champ
"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.
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.
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.
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 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, 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é, 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.
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 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 = {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
"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).
Le calcul du paramètre Pv est dynamique et ne peut avoir lieu que sur des connexions sortantes.
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.
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.
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).
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.
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.
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.
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.
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é".
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).
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.
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.
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.
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).
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.
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",
"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.
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.
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éseau
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.
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.
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).
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".
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.
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.
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.
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.
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).
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.
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 ;
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} .
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.
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.
Ainsi, après modification, tous les paquets sortants possèdent une même adresse
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é.
En termes de connexions, le procédé de l'invention consiste à déporter l'extrémité
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.
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.
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).
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.
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.
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' }.
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.
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 :
* pour ladite première entrée :
J0,ι = {IPa, Pa, IPb, Pb, proto} et Ju = {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.
La seconde entrée est destinée à être utilisée lors du traitement des paquets de retour.
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. 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).
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 :
J0,ι = {IPb, Pb, IPv, Pv, proto} et Ju = {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}. La seconde entrée est destinée à être utilisée lors du traitement des paquets de retour.
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.
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.
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.
Pour effectuer ces modifications, on distingue deux cas, selon que le paquet est sortant ou entrant.
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.
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.
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.
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.
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} .
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.
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ètres
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.
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.
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.
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.
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.
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 :
"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.
La figure 12 illustre un exemple d'application du procédé de l'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é.
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} .
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.
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.
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.
La commande : "PORT IP_ret, P_ret" où : - IP_ret est l'adresse IP de la connexion en retour ; et
P_ret le Port de la connexion en retour, va être translaté en : "PORT IPv, Pv"/ où : - IPv est l'adresse source virtuelle, et
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}.
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.
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.
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",
"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).

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.
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 adresse
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.
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).
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,
IPa, Pa, proto}, - pour ladite seconde entrée : Jo 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 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 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.
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 ,
Ï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).
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,
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, 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.
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.
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.
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.
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.
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).
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.
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.
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.
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".
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 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, 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.
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).
PCT/FR1996/001179 1995-07-27 1996-07-25 Dispositif, procede et routeur d'interconnexion de reseaux WO1997005727A1 (fr)

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
FR9509392A FR2737372B1 (fr) 1995-07-27 1995-07-27 Dispositif et procede d'interconnexion de reseaux, routeur ip comprenant un tel dispositif
FR95/09392 1995-07-27

Publications (1)

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

Family

ID=9481632

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1996/001179 WO1997005727A1 (fr) 1995-07-27 1996-07-25 Dispositif, procede et routeur d'interconnexion de reseaux

Country Status (3)

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

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL1007709C2 (nl) * 1997-12-05 1999-06-08 Herman Elderson Werkwijze en inrichting voor het omzetten van Internet Protocol adressen.
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 (fr) * 2002-09-10 2004-03-24 TECHNOGYM S.p.A. Machine d'exercice physique avec dispositif de connexion à internet
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 (ja) * 1997-03-07 1998-09-25 Sony Corp 通信経路制御装置及び通信経路制御方法、並びに通信経路制御ユニット

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 (nl) * 1997-12-05 1999-06-08 Herman Elderson Werkwijze en inrichting voor het omzetten van Internet Protocol adressen.
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 (fr) * 1997-12-05 1999-06-17 Herman Elderson Procede et dispositif permettant de convertir des adresses de protocole internet (ip)
US7266114B2 (en) 1997-12-05 2007-09-04 The Distribution Systems Research Institute Integrated information communication system
US7266115B2 (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 (fr) * 2002-09-10 2004-03-24 TECHNOGYM S.p.A. Machine d'exercice physique avec dispositif de connexion à internet
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
FR2737372A1 (fr) 1997-01-31
FR2737372B1 (fr) 1997-09-12
AU6703496A (en) 1997-02-26

Similar Documents

Publication Publication Date Title
EP1507384B1 (fr) Procédé de masquage des traitements applicatifs d&#39;une requete d&#39;accès à un serveur et système de masquage correspondant
EP1875675B1 (fr) Procédé d&#39;établissement d&#39;un accès multi-liens entre un réseau local et un réseau distant et modem multi-liens correspondant
EP3503508B1 (fr) Procédé de traitement de requêtes et serveur proxy
FR2853187A1 (fr) Systeme permettant a toute application reseau de fonctionner de facon transparente a travers un dispositif de traduction d&#39;adresse de reseau
FR2923969A1 (fr) Procede de gestion de trames dans un reseau global de communication, produit programme d&#39;ordinateur, moyen de stockage et tete de tunnel correspondants
EP1276298A1 (fr) Procédé d&#39;adressage d&#39;un terminal mobile
WO1997005727A1 (fr) Dispositif, procede et routeur d&#39;interconnexion de reseaux
FR2860369A1 (fr) Localisation de points d&#39;entree de flux dans un reseau de communications
FR2930100A1 (fr) Procede d&#39;etablissement d&#39;un chemin de communication dans un reseau etendu de communication, tetes de tunnel,produit programme d&#39;ordinateur et moyen de stockage correspondants
EP2294798B1 (fr) Procede de routage d&#39;un paquet de donnees dans un reseau et dispositif associe
CA2283124C (fr) Procede de communication dans un ensemble de systemes distribues via un reseau du type internet
EP1192797B1 (fr) Gestion de telephones publics
WO2007003818A1 (fr) Procede de filtrage par couplage multi-protocolaire sur la base du protocole dns.
EP2266279B1 (fr) Partage de contenu multi supports a partir d&#39;une communication audio-video
EP3235217B1 (fr) Procédé d&#39;échanges de données entre deux navigateurs internet, équipement de routage, terminal, programme d&#39;ordinateur et support d&#39;informations corespondants
EP2579545B1 (fr) Méthode d&#39;attribution d&#39;une adresse réseau publique à un équipement disposant d&#39;une adresse réseau privée
FR2809560A1 (fr) Procede et architecture de systeme de communication securise entre deux entites connectees a un reseau de type internet, comprenant un segment de transmissions sans fil
EP1432213B1 (fr) Plate-forme de médiation et réseau de transport de messages
FR2843847A1 (fr) Systeme permettant d&#39;etablir une connexion telnet avec un dispositif eloigne depourvu de modem
EP3070911A1 (fr) Procédé de contrôle d&#39;accès à un réseau privé
WO2023111432A1 (fr) Mécanismes de communication avec un service accessible via un réseau de télécommunication prenant en compte la mobilité des services, des utilisateurs et des équipements
EP4024820A1 (fr) Procédé de configuration d&#39;une interface sécurisée entre un réseau de transport et un réseau élémentaire d&#39;une pluralité de réseaux élémentaires fédérés à travers le réseau de transport; interface associée
EP1762051A1 (fr) Procede de gestion d&#39;une interconnexion entre reseaux de telecommunication et dispositif mettant en oeuvre ce procede
WO2002089446A2 (fr) Dispositif et procede de traitement de donnees, et serveur comportant ce dispositif
FR2847099A1 (fr) Architecture pour la securisation du trafic de signalisation dans un reseau de telecommunication et pour l&#39;optimisation des resources de traitement de la signalisation

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

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载