Internet DRAFT - draft-pierrel-hip-sima
draft-pierrel-hip-sima
Network Working Group S. Pierrel
Internet-Draft P. Jokela
Expires: December 21, 2006 J. Melen
Ericsson Research NomadicLab
June 19, 2006
Simultaneous Multi-Access extension to the Host Identity Protocol
draft-pierrel-hip-sima-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 21, 2006.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
A Host Identity Protocol supporting host is able to use multiple
interfaces simultaneously when it implements the Mobility and
Multihoming HIP extensions. The protocol defines currently
simultaneous usage via multiple interfaces only towards different
peer hosts. Simultaneously using multiple interfaces towards one
peer node was not defined due to e.g. potential problems with upper
layer congestion control algorithms. The limitation of that protocol
Pierrel, et al. Expires December 21, 2006 [Page 1]
Internet-Draft HIP-SIMA June 2006
is that it allows only one interface to be used at a time between the
multi-homed host and the peer host. There is no mechanism to
separate the flows between two hosts and to allow them to use
different interfaces independent from each other. This memo presents
a method where two HIP hosts, of which at least one is multi-homed,
can separate different upper layer data flows such as TCP and UDP
between the hosts and allow them to use different interfaces at the
multi-homed host.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terms and Definitions . . . . . . . . . . . . . . . . . . . . 5
2.1. Requirements Terminology . . . . . . . . . . . . . . . . . 5
2.2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 5
3. Multiaccess and Flow Bindings . . . . . . . . . . . . . . . . 6
3.1. Overview of the Message Exchange . . . . . . . . . . . . . 6
3.2. Identifying data flows . . . . . . . . . . . . . . . . . . 7
3.3. Defining Flow Bindings . . . . . . . . . . . . . . . . . . 7
3.4. Using Flow Bindings . . . . . . . . . . . . . . . . . . . 8
3.4.1. Mechanism to be used for sending and receiving
Flow Bindings . . . . . . . . . . . . . . . . . . . . 8
3.4.2. Flow Bindings usage . . . . . . . . . . . . . . . . . 8
3.4.3. Modifying existing Flow Bindings . . . . . . . . . . . 8
3.5. Applications and API . . . . . . . . . . . . . . . . . . . 8
3.6. Sample Flow Binding . . . . . . . . . . . . . . . . . . . 8
4. Flow Binding transfer . . . . . . . . . . . . . . . . . . . . 10
4.1. SIMA_FLOW_BINDING: a new parameter to the UPDATE
message . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.1.1. Flow id option . . . . . . . . . . . . . . . . . . . . 11
4.1.2. Single TCP flow identifier . . . . . . . . . . . . . . 11
4.1.3. Single UDP flow identifier . . . . . . . . . . . . . . 12
4.1.4. Port ranges for UDP and TCP . . . . . . . . . . . . . 12
4.2. Flow Binding lifetime . . . . . . . . . . . . . . . . . . 13
4.3. SIMA_ACK . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4. SIMA_NACK . . . . . . . . . . . . . . . . . . . . . . . . 14
5. Packet Processing . . . . . . . . . . . . . . . . . . . . . . 15
5.1. Creating an UPDATE packet with a Flow Binding Option . . . 15
5.2. Receiving an UPDATE Packet with Flow Binding option . . . 15
5.3. Handling Outgoing Data in a Multi-homed Host . . . . . . . 16
5.4. Incoming Data From a Multi-homed Host . . . . . . . . . . 16
5.5. Outgoing Data Towards a Multi-homed Host . . . . . . . . . 16
5.6. Incoming Data at a Multi-homed Host . . . . . . . . . . . 17
6. Implementation issues . . . . . . . . . . . . . . . . . . . . 18
7. Limitations and future work . . . . . . . . . . . . . . . . . 19
8. Security Considerations . . . . . . . . . . . . . . . . . . . 20
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
Pierrel, et al. Expires December 21, 2006 [Page 2]
Internet-Draft HIP-SIMA June 2006
10. Normative References . . . . . . . . . . . . . . . . . . . . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22
Intellectual Property and Copyright Statements . . . . . . . . . . 23
Pierrel, et al. Expires December 21, 2006 [Page 3]
Internet-Draft HIP-SIMA June 2006
1. Introduction
This memo defines a HIP protocol extension that allows the transfer
of flow binding information between hosts. This allows a multi-homed
host to communicate required flow binding information to the peer
host for separating different flows towards a multi-homed host. In
this specification, UDP and TCP ports are used to separate the flows.
The described procedure allows flexible usage of multiple interfaces
on a multi-homed host between it and a peer HIP node. This
specification does not describe the effect of different access
technology characteristics on the decision making nor it does define
any procedure for such decision making. These issues are out of the
scope of this document.
When a multi-homed host is willing to use simultaneously more than
one interfaces when communicating towards one Correspondent Node
(CN), it must create a set of rules about the usage of the available
network connections. This specification defines a SIMA_FLOW_BINDING
HIP parameter together with TCP and UDP options. By defining new
options, also other information than port numbers can be used for
separating flows at the end-hosts.
Using the described HIP extension, the multi-homed host can
communicate the needed subsection of the rule set to the CN. The CN
uses this information for making decision of the correct ESP Security
Association (and destination IP address) to which the packet is to be
delivered.
This HIP extension utilizes the UPDATE message defined in the Host
Identity Protocol [7] document and relies on the location update
procedure defined in the End-Host Mobility and Multihoming with the
Host Identity Protocol [6] for updating locator information on the
peer host, including reachability verification of new IP addresses.
Pierrel, et al. Expires December 21, 2006 [Page 4]
Internet-Draft HIP-SIMA June 2006
2. Terms and Definitions
2.1. Requirements Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119 [3].
2.2. Definitions
SIMA: SImultaneous Multi-Access
Flow Binding: The rule that describes the preference of the usage of
different interfaces on a multi-homed host.
Link: A communication facility or physical medium that can sustain
data communications between multiple network nodes, such as an
Ethernet (simple or bridged). A link is the layer immediately
below IP. In a layered network stack model, the Link Layer (Layer
2) is normally below the Network (IP) Layer (Layer 3), and above
the Physical Layer (Layer 1) as defined in RFC3753 [5].
Network interface: The point of attachment to a link as defined in
RFC3753 [5].
Receiver: HIP host whom the packet is addressed to.
Sender: HIP host who sends a HIP packet to a receiver
Pierrel, et al. Expires December 21, 2006 [Page 5]
Internet-Draft HIP-SIMA June 2006
3. Multiaccess and Flow Bindings
The Mobility and Multihoming specification [6] describes how a
multihomed HIP host can use its different interfaces when
communicating with peer HIP nodes. The multi-homed host can use
different interfaces simultaneously, but the limitation is that all
connections between the multi-homed host and one peer HIP host must
use always the same interface. It is possible to change the used
interface, but all connections must be transferred to use the new
interface. The reason for this is that different network conditions
can cause unpredictable problems for upper layers, and such
operations have been intentionally left out of the Mobility and
Multihoming specification.
In some cases it is beneficial to allow different flows to use
different interfaces. A multi-homed HIP host can use this to plan
its connection usage based on access related information, such as
cost, speed, and reliability. It can decide to route the control
connection via a slow-speed but reliable network and, at the same
time, letting the data flow to use a high-speed but maybe more
unreliable channel.
The multihoming specification leaves open the selection of the
LOCATOR amongst several and advanced flow bindings of multiaccess.
In this specification we address this issue and define an extension
to the Host Identity Protocol, allowing the transfer of interface
usage rules between hosts. These rules define how data packets are
delivered between two hosts using different paths. In this document,
rules are based on the TCP and UDP port information.
A new Application Programming Interface (API) is defined for
applications so that they can take advantage of the underlying SIMA
system.
3.1. Overview of the Message Exchange
Multi-homed host HIP CN
UPDATE (SIMA_FLOW_BINDING)
-------------------------->
create database entries
UPDATE (SIMA_ACK)
<-------------------------
The picture above describes a basic UPDATE message exchange when the
multi-homed host is sending the rule set information to the peer
host. The UPDATE message handling is done according to the Host
Identity Protocol [7] specification, and corresponding UPDATE
Pierrel, et al. Expires December 21, 2006 [Page 6]
Internet-Draft HIP-SIMA June 2006
acknowledgement messages are not shown in the picture.
It is assumed in this specification that the location update
procedure is performed prior to the Flow Binding information
exchange. It is, however, possible to optimize the message exchange
by allowing the location update message already to contain Flow
Binding information, but it is currently TBD.
3.2. Identifying data flows
The flow bindings consider the data flow on the transport layer.
Every protocol on the transport layer identifies their flow
independently.
Protocols supported in this memo are TCP [2] and UDP [1]. When using
HIP, the data flows of those protocols are identified using hosts'
HIT, protocol and port numbers. For outgoing packets, the host
verifies the destination HIT of the data packet, used protocol and
port numbers. Based on this information, the outgoing Security
Association is selected, after which the data is encrypted and
delivered to the network using the correct interface.
Support for other protocols requires additional specifications.
3.3. Defining Flow Bindings
The multi-homed host uses Flow Binding rules to define the usage of
the local interfaces. These preferences are stored in a flow binding
database. Each entry of this database gives the network interfaces
priorities in binding a flow identity.
A flow is to be bound to a Security Association and each security
association has source and destination address, thus by selecting the
correct security association one is also selecting the interface to
be used.
The peer host must have information about the currently used flow
bindings rules that are in use in the multi-homed host side. This is
required for selecting correct flow to SPI binding for a specific
flow at the peer host. The multi-homed host can have different rules
for different situations, but it transfers to the peer node only
those rules that currently are active. When the network situation
changes at the multi-homed host, requiring flows to be handed over to
use another connection, the multi-homed host creates an UPDATE packet
including a SIMA_FLOW_BINDING option with the changed flow binding
preferences.
Pierrel, et al. Expires December 21, 2006 [Page 7]
Internet-Draft HIP-SIMA June 2006
3.4. Using Flow Bindings
3.4.1. Mechanism to be used for sending and receiving Flow Bindings
When the HIP multi-homed host is willing to use the flow based
separation in communication, it must communicate the set of rules to
the peer host. It creates an UPDATE message with a new
SIMA_FLOW_BINDING parameter, containing information about the
interfaces and locators that it has.
The UPDATE message processing follows the one described in the Host
Identity Protocol [7] specification.
3.4.2. Flow Bindings usage
When the peer HIP host receives the set of rules that the peer host
is willing to use, it stores this information. The information is
used when the host is sending data towards the multihomed host. Each
packet is matched to the rules to find the correct outgoing Security
Association and put to the IPsec processing.
3.4.3. Modifying existing Flow Bindings
During an ongoing communication, the network environment may change
so that new interfaces become available, old interfaces are removed,
or the rule sets are changed by applications. The HIP host generates
a new UPDATE message with the corresponding rule set parameter (and
so on).
Here we must describe how the actual change in the Flow Binding set
is done. So, either we send a whole set every time replacing the old
set, or we send modifications. If we send modifications, we have to
be careful so that things are kept in sync (what if UPDATE packets
are lost etc.).
3.5. Applications and API
TBD.
3.6. Sample Flow Binding
A multi-homed host having two active interfaces (iface1, iface2) and
one inactive (iface3), has defined a set of rules how flows should
use these interfaces. The multi-homed host has sent the UPDATE
message as defined in the mobility management specification [6]. The
peer host is aware about the two interfaces (1 and 2) and the peer
host has Security Associations towards both of these interfaces.
Pierrel, et al. Expires December 21, 2006 [Page 8]
Internet-Draft HIP-SIMA June 2006
The flow binding rule set at the multi-homed host:
+-----------------------------+------------------------+
| Flow (local to remote port) | Preferred Interface |
+-----------------------------+------------------------+
| TCP any to 143 | iface3, iface1, iface2 |
| | |
| TCP any to 22 | iface2, iface1, iface3 |
+-----------------------------+------------------------+
The multi-homed host creates now an UPDATE packet with two
SIMA_FLOW_BINDING parameters. The first of the parameters contains
the incoming SPI value for the interface iface1, and an TCP flow
identifier option with 143 as the Remote Port Number and zero as the
Local Port Number (zero being expended to the range 0-65535 as
described in Section 4.1.4). The second of the SIMA_FLOW_BINDING
parameters contains the incoming SPI value for the SA on interface
iface2, and TCP 22 as the Remote Port. These presented rules match
for outgoing connections from the multi-homed host.
When the peer host receives this set of flow binding rules, it
creates a table that it uses for selecting the proper Security
Association for outgoing data packets towards the multi-homed host.
+----------------------+--------------------+---------------+
| Destination HIT | Flow (local port) | Outgoing SPI |
+----------------------+--------------------+---------------+
| HIT multi-homed host | TCP any to 143 | SPI to iface1 |
| | | |
| HIT multi-homed host | TCP any to 22 | SPI to iface2 |
+----------------------+--------------------+---------------+
When the interface iface3 becomes active, the flow binding rule
defines that the port 143 must use that new interface. First, the
new locator is communicated to the peer host using the mechanism
described in [6] and a new Security Association is created. The
multi-homed host sends an UPDATE with a new SIMA_FLOW_BINDING
parameter. The SPI value in the parameter is the new incoming SPI
for interface iface3. The protocol, local and remote port number are
TCP, 0 and 143 respectively.
The peer host updates the rule for TCP 143 with the new SPI value.
Pierrel, et al. Expires December 21, 2006 [Page 9]
Internet-Draft HIP-SIMA June 2006
4. Flow Binding transfer
4.1. SIMA_FLOW_BINDING: a new parameter to the UPDATE message
The SIMA_FLOW_BINDING parameter contains the SPI and the
corresponding flow identifier(s) to bind to. An UPDATE message MAY
contain multiple SIMA_FLOW_BINDING parameters and multiple flows
bound to the same SPI MAY be included in the same parameter.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SPI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
/ Flow Identifier(s) /
/ +-+-+-+-+-+
| | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type 664
Length length in octets excluding Type and Length
SPI SPI value of the SA to bind the flow(s) to
Reserved zero when sent, ignored when received
Flow identifier Flow(s) to bind to the given SPI as described
below
Since the SIMA_FLOW_BINDING parameter is not critical, the receiver
can safely ignore the parameter if it does not support SIMA. The
abscence of ACK to the sender indicates that the peer doesn't support
SIMA.
Pierrel, et al. Expires December 21, 2006 [Page 10]
Internet-Draft HIP-SIMA June 2006
4.1.1. Flow id option
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol number| Option_Length | Seq_num |Reserved |R|D|O|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Protocol number Protocol number of the flow
Option_Length length in octects of the options, excluding
the option header
Seq_num Sequence Number to identify the Flow Binding
during the update.
Reserved zero when sent, ignored when received
R Range. Used for multiple flows
D Discard. All Flow Bindings existing before
receiving this message MUST be discarded.
O Operation. Ignored if D is set to one.
One if the flow MUST be added to the
Flow Binding system or zero if the flow
MUST be removed from the system
4.1.2. Single TCP flow identifier
The UPDATE mesage already contains HITs of hosts, thus are
disregarded in the flow binding transfer.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol number| Option_Length | Seq_num |Reserved |R|D|O|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Port number | Remote Port number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Protocol number 6
Length 4
Reserved zero when sent, ignored when received
R zero
D Discard. See Flow option header description
O Operation. See Flow option header description
Local port number local port number of the flow
Remote port number remote port number of the flow
Pierrel, et al. Expires December 21, 2006 [Page 11]
Internet-Draft HIP-SIMA June 2006
4.1.3. Single UDP flow identifier
The UPDATE mesage already contains HITs of hosts, thus are
disregarded in the Flow Binding transfer.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol number| Option_Length | Seq_num |Reserved |R|D|O|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Port number | Remote Port number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Protocol number 17
Option_Length 4
Reserved zero when sent, ignored when received
R zero
D Discard. See Flow option header description
O Operation. See Flow option header description
Local port number local port number of the flow
Remote port number remote port number of the flow
4.1.4. Port ranges for UDP and TCP
If the flag R is set to one, the flows are identified as in Figure 6.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol number| Option_Length | Seq_num |Reserved |R|D|O|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Port range begin | Local Port Range end |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Remote Port range begin | Remote Port Range end |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Protocol number 6 (TCP) or 17 (UDP)
Option_Length 8
Reserved zero when sent, ignored when received
R one
D Discard. See Flow option header description
O Operation. See Flow option header description
Local port range begin \ range of the local port numbers
Local port range end /
Remote port range begin \ range of the remote port numbers
Remote port range end /
Pierrel, et al. Expires December 21, 2006 [Page 12]
Internet-Draft HIP-SIMA June 2006
Figure 6: Flow port range
If the flag R is zero, local or remote port number being zero should
be understood as the range 0-65535. This allows to make rules for
flows that are not yet given local or remote port number, thus
defining default rules for certain protocols (See Section 3.6).
4.2. Flow Binding lifetime
The Flow Bindings MUST have the same lifetime as the SA to which they
are bound to and SHOULD be renewed when the SA is updated.
4.3. SIMA_ACK
If the Receiver does not support SIMA, it will ignore the parameter.
In order to inform the sender that the Receiver support SIMA, the
receiver MUST ack the Flow Bindings by sending a SIMA_ACK paramter
including the sequence number of the binding that were accepted.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seq_num | ... | Seq_num | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type 660
Length length in octets excluding Type and Length
Seq_num sequence numbers of ACKed Flow Bindings,
values corresponding to the ones received in
the SIMA_FLOW_BINDING parameter.
The size of the field Seq_num is the same as on Section 4.1.1
Pierrel, et al. Expires December 21, 2006 [Page 13]
Internet-Draft HIP-SIMA June 2006
4.4. SIMA_NACK
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seq_num ... Seq_num | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type 662
Length length in octets excluding Type and Length
Seq_num sequence numbers of NACKed Flow Bindings,
values corresponding to the ones received in
the SIMA_FLOW_BINDING parameter.
If the receiver is multi-homed and receives a Flow Binding that is
against its own ruleset, it MAY NACK the proposed Flow Bindings and
propose a new Flow Binding matching better SAs. Note, that this may
lead to a conflicting situation between two multi-homed hosts.
Pierrel, et al. Expires December 21, 2006 [Page 14]
Internet-Draft HIP-SIMA June 2006
5. Packet Processing
5.1. Creating an UPDATE packet with a Flow Binding Option
When a multihomed host creates a new SA with the peer node due to
mobility or other changes in the interface configuration, it needs to
send the Flow Binding Option to the peer host. The peer needs to
know on which interface the multi-homed host is willing to receive
data using certain flow parameters, e.g. port numbers.
It could be possible to allow the CN to select automatically the used
Security Association for different traffic, but due to possibility
that the network environment change at the multi-homed host and it is
not currently sending any data to the peer node, the peer may end up
with sending data using an undesired destination address. Updating
the rules at the peer node when changes occur, minimizes this
possibility
1. The interface usage rules are defined using application input,
user input, or pre-defined rules.
2. The host creates the UPDATE packet with a SIMA_FLOW_BINDING
parameter. The host sets the sequence number counter value to
the Seq_num field and increases its value by one.
3. If the host needs to send more flow bindings, it can set multiple
SIMA_FLOW_BINDING parameters in the UPDATE message; step 2 is
repeated as many times as needed.
4. Send the packet to the peer host.
5.2. Receiving an UPDATE Packet with Flow Binding option
When a peer host receives an UPDATE packet containing one or more
Flow Binding parameters, it creates a local rule set for the peer
multihomed host.
1. If the incoming UPDATE packet contains a SIMA_FLOW_BINDING
parameter the host verifies that it has all the required
information related to the Security Association referenced using
the SPI value in the SIMA_FLOW_BINDING parameter. (TBD: In
optimized version, it is possible that the UPDATE packet contains
the LOCATOR and ESP_INFO parameters as defined in [6])
2. If the SIMA_FLOW_BINDING parameter was not correctly formed, the
host creates a SIMA_NACK parameter, inserts the sequence
number(s) of the failed SIMA_FLOW_BINDING parameters in the
SIMA_NACK parameter, and sends it to the peer in an UPDATE
Pierrel, et al. Expires December 21, 2006 [Page 15]
Internet-Draft HIP-SIMA June 2006
message. TBD: Delete or maintain existing rules.
3. If the SIMA_FLOW_BINDING parameter was a proper one, the host
checks if a binding for this flow already exists in its table.
If a binding is already present, it MUST be replaced by the new
one, otherwise the host creates a local rule set, containing the
information that was included in the SIMA_FLOW_BINDING parameter;
the SPI value of the outgoing Security Association and port
number(s).
4. The host creates an UPDATE packet with a SIMA_ACK parameter
including the sequence number(s) of each of the SIMA_FLOW_BINDING
parameters that were received in the UPDATE message, and were
correctly formed, and sends it to the multi-homed host as a
response.
5.3. Handling Outgoing Data in a Multi-homed Host
A multihomed host maintains the information table that contains
information about flows towards a peer HIP host.
1. The outgoing data packet arrives at the IPsec handling
2. The host makes a lookup from the table, giving the correct
outgoing interface for that data packet (i.e. the Security
Association)
3. Data packet is handed over to the IPsec handling, and the packet
is handled as defined in the Base and ESP drafts.
5.4. Incoming Data From a Multi-homed Host
When a data packet arrives from a multihomed host, it is an ESP
protected data packet. The data packet is handled at the host like
any other data packet arriving at a HIP host, as specified in [8].
Even if the host sees that the data is coming using a different path
that is specified in the latest received SIMA_FLOW_BINDING, it MUST
NOT change the local set of rules based on that. It MUST continue to
send data according to the received SIMA_FLOW_BINDING.
5.5. Outgoing Data Towards a Multi-homed Host
When the CN is sending data to the multi-homed host, it must look
from the stored rule set the correct Security Association based on
the information in the data packet. In this document this
information is the used TCP or UDP port numbering.
Pierrel, et al. Expires December 21, 2006 [Page 16]
Internet-Draft HIP-SIMA June 2006
Once the host knows the correct outgoing Security Association, the
data packet is handed to the IPsec ESP packet handling, which handles
the packet as specified in [8].
5.6. Incoming Data at a Multi-homed Host
Incoming ESP data is handled as specified in [8] The multi-homed host
MAY verify that the incoming packet came using the correct SA. If it
did not, there may be some problems with the rule information at the
peer host. The multi-homed host MAY send a new UPDATE packet with a
SIMA_FLOW_BINDING parameter. This is, however, an implementation
issue.
Pierrel, et al. Expires December 21, 2006 [Page 17]
Internet-Draft HIP-SIMA June 2006
6. Implementation issues
Pierrel, et al. Expires December 21, 2006 [Page 18]
Internet-Draft HIP-SIMA June 2006
7. Limitations and future work
If both hosts are multi-homed, there may be conflicts in the flow
binding rules. The behaviour of a host in this kind of situation has
to be defined.
Pierrel, et al. Expires December 21, 2006 [Page 19]
Internet-Draft HIP-SIMA June 2006
8. Security Considerations
TBD.
Pierrel, et al. Expires December 21, 2006 [Page 20]
Internet-Draft HIP-SIMA June 2006
9. IANA Considerations
In this specification, a new HIP parameter is introduced. A new
parameter type number is required for the parameter.
+---------------------+-------------+
| New parameter | Type number |
+---------------------+-------------+
| SIMA_ACK | 660 |
| | |
| SIMA_NACK | 662 |
| | |
| SIMA_FLOW_BINDING | 664 |
+---------------------+-------------+
10. Normative References
[1] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
August 1980.
[2] Postel, J., "Transmission Control Protocol", STD 7, RFC 793,
September 1981.
[3] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[4] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer,
H., Taylor, T., Rytina, I., Kalla, M., Zhang, L., and V. Paxson,
"Stream Control Transmission Protocol", RFC 2960, October 2000.
[5] Manner, J. and M. Kojo, "Mobility Related Terminology",
RFC 3753, June 2004.
[6] Nikander, P., "End-Host Mobility and Multihoming with the Host
Identity Protocol", draft-ietf-hip-mm-03 (work in progress),
March 2006.
[7] Moskowitz, R., "Host Identity Protocol", draft-ietf-hip-base-05
(work in progress), March 2006.
[8] Jokela, P., "Using ESP transport format with HIP",
draft-ietf-hip-esp-02 (work in progress), March 2006.
Pierrel, et al. Expires December 21, 2006 [Page 21]
Internet-Draft HIP-SIMA June 2006
Authors' Addresses
Sebastien Pierrel
Ericsson Research NomadicLab
JORVAS FIN-02420
FINLAND
Phone: +358 9 299 1
Email: sebastien.pierrel@nomadiclab.com
Petri Jokela
Ericsson Research NomadicLab
JORVAS FIN-02420
FINLAND
Phone: +358 9 299 1
Email: petri.jokela@nomadiclab.com
Jan M. Melen
Ericsson Research NomadicLab
JORVAS FIN-02420
FINLAND
Phone: +358 9 299 1
Email: jan.melen@nomadiclab.com
Pierrel, et al. Expires December 21, 2006 [Page 22]
Internet-Draft HIP-SIMA June 2006
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Pierrel, et al. Expires December 21, 2006 [Page 23]