The present invention relates to a method of establishing multi-homed connections, with a conversion of the communication addresses taking place in the connection path. The invention especially relates to a method of establishing an SCTP connection with a number of paths in networks with Network Address Translation (NAT).
Communication networks, in which communication protocols are used, where what are known as single-homed data connections always lead from precisely one end point to precisely one other end point, are very widespread nowadays. An example of one such communication protocol is the Internet Protocol IP with the protocols TCP and UDP based on it. In these protocols end points are identified by an IP address and a port number.
Frequently, as in the case of the widely-used IP communication networks, additional measures are required to create a reliable connection for end points and other network components connected to the communication network, such as redundant linkage to the communication network. In this case however the basic protocol mechanisms are seldom suitable for efficient administration and use of this redundant coupling, since the basic protocol mechanisms only provide single-homed data connections.
Efforts have been and will be made therefore to create communication protocols which—based on the basic protocols—give applications implemented on end points and other network components the option of defining a number of own communication addresses for a connection. A number of communication addresses can for example be provided in the paths of a number of network cards. If a network components can use for a connection a number of separate (and if nec. remote) communication addresses, this is frequently referred to as multihoming or as multi-homed connections.
An example of such a communication protocol with expanded capabilities for use in IP communication networks is the Session Control Transmission Protocol SCTP, defined in IETF RFC 2960.
A major disadvantage of the multi-homed connections lies in the fact that these can regularly not be established if in the connection path a translation of the communication addresses is undertaken, known for example for IP communication networks as Network Address Translation (NAT) defined in IETF RFC 1631. In general a communication address can typically be translated in IP networks by modifying an IP address or a port number or by changing the two address components. In this case a receiver address and/or a transmitter address can be subject to address translation.
It is thus an object of the invention to specify a method for establishing a multi-homed connection if the communication addresses are being translated in the connection path.
This object is achieved by a method for establishing a multi-homed connection with a number of paths between two components of a communication network. In this case the components feature at least n communication addresses, and in the connection path the communication addresses of at least a first of the components are translated. The method features the following steps:
The translation relationship in such cases is frequently characterized by the fact that a local communication address of a first component is translated into a global communication address. Only the knowledge of this global address enables other components to address this first component. However, to do this, it is not necessary for the other components to know about the complex translation relationship, i.e. the local communication address as well as the global address. For a successful connection setup it is sufficient for the component translating the address e.g. a router, to know the complete translation relationship.
In this case the n translation relationships can each be determined completely or partly for example according to one of the following methods:
The present invention further relates to components of a communication network which have software or hardware means available, to execute the method in accordance with the invention.
A communication protocol, which when used in conjunction with the present invention can be expanded especially advantageously, is the Stream Control Transmission Protocol SCTP.
A particular advantage of the invention is to be seen in the fact that it is possible to also establish multi-homed data connections via address converters, e.g. NAT routers which only support the standardized address conversion methods. In the case of the IP network this means that no changes have to be made at the NAT routers, so that the invention can be applied directly without changing the network infrastructure. Only the end points of SCTP associations must support the method.
The invention can advantageously also be used for dynamic reconfiguration of communication addresses, e.g. IP addresses, without an existing connection having to be interrupted. This can be of advantage for example for physical replacement of network cards, for dynamic address changes or for cordless applications.
The invention is explained below in greater detail in exemplary embodiments with reference to the Figures.
FIGS. 3A-C show in schematic diagrams of the execution sequence for creating the connection from
An SCTP association between the end points A and B is formed by two paths 208A, 208B, with the first path 208A connecting the local address LA1 of the Host A via the first NAT router N1 (206A), the translation relationship LA21 <==> GA1 and the optional WAN 110 with the first address B1 of the Host B. The second path 208B connects the local address LA2 of the Host A via the second NAT router N2 (206B), the translation relationship LA2 <==> GA2 and the optional WAN 110 to the second address B2 of the Host B.
There can be various reasons for the arrangement of the Host A in a separate network with only locally valid IP addresses LA1, LA2. A possible is the scarcity of global IP addresses which makes it necessary to use this resource sparingly and for example design large corporate networks as private networks with private, i.e. only locally valid addresses which are not addressable from the Internet. A further possible reason is security considerations, since in many cases simply designing a network as a private network, where necessary supplemented by NAT routers with firewall functions or separate firewalls, is a significant security benefit.
However it is not possible with the SCTP protocol in accordance with RFC 2960 to establish an SCTP association with two paths 208A, 208B in accordance with
In the example in
In the example in
To enable the connection in accordance with
Where:
LA1: First local address of the Host A
B1: First (global) address of the Host B
LPA1: First local port of the Host A (for LA1)
PB1: First port of the Host B (for B1)
GA1: First global address, LA1 <==> GA1
VTA1: Verification tag of Host A for the first connection
VTB1: Verification tag of host B for the first connection
The verification tags VTA1, VTB1 obtain their meaning later in conjunction with the merging of the two data connections and are explained in greater detail in conjunction with
Where:
LA2: Second local address of the Host A
B2: Second (global) address of the Host B
LPA2: Second local port of the Host A (for LA2)
PB2: second port of the Host B (for B2)
GA2: Second global address, LA2 <==> GA2
VTA2: Verification tag of Host A for the second connection
VTB2: Verification tag of Host B for the second connection
As a result of the step of
The ASCONF chunk is defined as follows (extract from the above IETF Draft):
The ASCONF chunk is assigned an ASCONF ACK chunk which is defined as follows (extract from the above IETF Draft):
The following new parameters are defined (in addition to or instead of the SCTP parameters already provided by the above draft) in order to support or merge connections or associations (Table 1: Parameters for ASCONF chunks; Table 2: Parameters for INIT/INIT-ACK chunks):
New parameter types
As is usual with SCTP there can be provision for an ABORT to be sent by the receiver of an invalid parameter.
The new parameters are explained in greater detail below (parameters shown in accordance with the IETF conventions):
Merge SCTP Endpoint (IP Address+Port)
The 12-byte parameter is used to inform the partner side about the request for a parallel association to be linked in as an additional address.
To clear down an existing path again the Delete IP Address known from the addip draft cannot be used unchanged since no communication address—as was previously the norm—may be linked into the parameter. Instead of this the path to be removed is uniquely identified by the known translation relationship and the transmitter address of the packet which contains the parameter, and for example the following parameters can be used:
To identify the path as primary or preferred the parameter Set Primary Address known from the addip draft can for the same reason not be used unchanged. Instead of this the path to be flagged is uniquely identified by the known translation relationship and the transmitter address of the packet which contains the parameter, and for example the following parameters can be used:
The parameter MERGE ONLY can only be used in an INIT/INIT-ACK chunk to establish a (single-homed) association only for the purposes of determining the address translation relationship. This temporary association should in this case not be used for the transport of data but only run the translation relationship and subsequently be linked to the parallel association:
The merging shown in
The verification tags will be checked at Host B. If the second association 320 has been established as a “Merge Only” type, this criterion can also be checked. A check can also be made as to whether the second association is active.
The checking of the verification tags is for the sake of security here in that this can prevent unauthorized components being linked into the connection.
If the check was successful, Host B ends the second connection 320, e.g. by sending an ABORT chunk via the connection it accepts the address GA2 with associated port GPA2 as the second address (and thereby as the second path) for the first connection 318 which in this way becomes a two-path association 208. Host B signals the successful conclusion of this merge via the first path 208A of the association 208, for example by means of the following ASCONF-ACK chunk:
The result is the association 208 in accordance with the following overview
Subsequently one of the paths 208A, 208B can be defined as the primary path.
It should be pointed out that the protocols, messages, message elements and parameters described here merely reflect one of the many possible implementations of the invention. It is evident that the SCTP chunks and parameters described in detail would have to be adapted accordingly for other protocols to comply with the conventions applicable for these protocols, for example other acknowledgement or security mechanisms. Furthermore, starting from the described exemplary embodiments, it is evident how the teaching of the present invention can be applied for SCTP by using other chunks and parameters.
Number | Date | Country | Kind |
---|---|---|---|
04017217.3 | Jul 2004 | EP | regional |
This application claims priority to the U.S. Provisional application No. 60/589,687, filed Jul. 21, 2005 and to the European application No. 04017217.3. Both applications are incorporated by reference herein in their entirety.
Number | Date | Country | |
---|---|---|---|
60589687 | Jul 2004 | US |