One document matched: draft-soliman-monami6-flow-binding-00.txt
IETF MONAMI6 Working Group H. Soliman
Internet-Draft Qualcomm
Expires: August 31, 2006 N. Montavont
GET/ENST-B
N. Fikouras
K. Kuladinithi
University of Bremen
February 27, 2006
Flow Bindings in Mobile IPv6
draft-soliman-monami6-flow-binding-00.txt
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 August 31, 2006.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document introduces extensions to Mobile IPv6 [1] that allow
nodes to bind a particular flow to a care-of address. These
extensions allow multihomed nodes to take full advantage of the
different properties associated with each of their interfaces.
Soliman, et al. Expires August 31, 2006 [Page 1]
Internet-Draft Flow bind February 2006
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Flow Identification option . . . . . . . . . . . . . . . . . . 5
3. Protocol operations . . . . . . . . . . . . . . . . . . . . . 11
3.1. Default binding . . . . . . . . . . . . . . . . . . . . . 11
3.2. Adding flow bindings . . . . . . . . . . . . . . . . . . . 12
3.3. Replacing flow bindings . . . . . . . . . . . . . . . . . 12
3.4. Deleting flow bindings . . . . . . . . . . . . . . . . . . 12
4. Usage scenario . . . . . . . . . . . . . . . . . . . . . . . . 14
5. Mobile Node operations . . . . . . . . . . . . . . . . . . . . 16
5.1. Conceptual Data Structures . . . . . . . . . . . . . . . . 16
5.2. Establishing Flow Bindings . . . . . . . . . . . . . . . . 16
5.2.1. Sending Flow Identifications to Home Agents and
Correspondent Nodes . . . . . . . . . . . . . . . . . 16
5.2.2. Using Alternate Care-Of Address . . . . . . . . . . . 17
5.2.3. Receiving Binding Acknowledgements . . . . . . . . . . 17
5.2.4. Receiving Binding Refresh Requests . . . . . . . . . . 18
5.3. Packet Processing . . . . . . . . . . . . . . . . . . . . 18
5.4. Movement . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.5. Returning Home . . . . . . . . . . . . . . . . . . . . . . 18
6. Correspondant node operations . . . . . . . . . . . . . . . . 19
6.1. Modification to the binding cache . . . . . . . . . . . . 19
6.2. Return Routability Procedure . . . . . . . . . . . . . . . 19
7. Home Agent operations . . . . . . . . . . . . . . . . . . . . 20
7.1. Modification to the binding cache . . . . . . . . . . . . 20
7.2. Receiving BU without flow identification option . . . . . 21
7.3. Receiving BU with flow identification option(s) . . . . . 21
7.4. Deleting an entry in the binding cache . . . . . . . . . . 22
7.4.1. A binding cache entry expires . . . . . . . . . . . . 22
7.4.2. The mobile node explicitly requests to remove a
binding . . . . . . . . . . . . . . . . . . . . . . . 23
8. Mobility Anchor Point operations . . . . . . . . . . . . . . . 24
9. Security considerations . . . . . . . . . . . . . . . . . . . 25
10. Open discussion - future work . . . . . . . . . . . . . . . . 26
10.1. Usage of the FID . . . . . . . . . . . . . . . . . . . . . 26
10.2. Multiple Care-of addresses . . . . . . . . . . . . . . . . 26
10.3. Network in Motion . . . . . . . . . . . . . . . . . . . . 26
Soliman, et al. Expires August 31, 2006 [Page 2]
Internet-Draft Flow bind February 2006
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 28
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29
Intellectual Property and Copyright Statements . . . . . . . . . . 30
Soliman, et al. Expires August 31, 2006 [Page 3]
Internet-Draft Flow bind February 2006
1. Introduction
Mobile IPv6 allows a mobile node to manage its mobility using the
binding update message, which binds one care-of address to one home
address. The binding update message can be sent to the home agent or
a correspondent node or to a mobility anchor point [2]. The
semantics of the binding update in Mobile IPv6 are limited to address
changes. That is, [1] does not allow a mobile node to bind more than
one address to the home address. Furthermore, the binding
granularity is limited to the address. Therefore, a mobile node
cannot associate one of the connections using the home address with a
different care-of address. In [3] Mobile IPv6 is extended to allow
the binding of more than one care-of address to a home address. This
specification extends Mobile IPv6 to allow it to specify policies
associated with each binding. A policy can contain a request for a
special treatment of a particular flow. Hence, this specification
allows a mobile node to bind a particular flow to a care-of address
without affecting other flows using the same home address.
In this document, a flow is defined as one or more connections that
are identified by a flow identifier. A single connection is
typically identified by the source and destination IP addresses,
transport protocol number and the source and destination port
numbers. Alternatively a flow can be identified in a simpler manner
using the flow label field in the IPv6 header [4] or the Security
Parameter Index (SPI) when [IPsec] is used.
Flow bindings are useful in cases where the MN is connected to
different access technologies with different characteristics. When
using the flow identifier option introduced in this specification, a
mobile node is able to bind one flow to an interface while
maintaining the reception of other flows on another interface.
Requesting the flow binding can be decided based on local policies
within the MN and based on the link characteristics and the types of
applications running at the time.
It should be noted that the flow identification option can be
associated with any binding update, whether it is sent to a
correspondent node, home agent or mobility anchor point. A Similar
mechanism for Mobile IPv4 is described in [5].
Note that this specification is an ongoing work and some parts of the
document are still under discussion.
Soliman, et al. Expires August 31, 2006 [Page 4]
Internet-Draft Flow bind February 2006
2. Flow Identification option
The Flow identification option is included in the binding update and
acknowledgement messages. This option contains information that
allows the receiver of a BU to identify a traffic flow and route it
to a given address. Multiple options may exist within a binding
update message.
The Flow identification option has a flexible format that allows
different fields to appear in the option based on the way the mobile
node chooses to represent the flow. The flags following the option
length field indicate which of the fields used to identify the flow
are present in the option. As a result, there is no fixed format for
the flow identification option. This may result in slight complexity
in the implementation; however, this option will minimise the size of
the option sent, which is particularly important for bandwidth-
limited links.
Soliman, et al. Expires August 31, 2006 [Page 5]
Internet-Draft Flow bind February 2006
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Option Type | Option Len |S|E|F|L|O|W|T|I| Action |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FID | Status |R|H|D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Source Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Destination Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source port | Destination port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Protocol | Flow Label | C. S. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | SPI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+-+-+-+-+
Figure 1: The flow identification option
Option Type
TBD
Option Len
Length of option in 8-octet units
S
When set, this flag indicates the presence of the Source address
field in this option.
Soliman, et al. Expires August 31, 2006 [Page 6]
Internet-Draft Flow bind February 2006
E
When set, this flag indicates the presence of the Destination
address field in this option.
F
When set, this flag indicates the presence of the Source port
field in this option.
L
When set, this flag indicates the presence of the Destination port
field in this option.
O
When set, this flag indicates the presence of the Protocol field
in this option.
W
When set, this flag indicates the presence of the Flow label field
in this option.
T
When set, this flag indicates the presence of the Class of service
field in this option.
I
When set, this flag indicates the presence of the SPI field in
this option.
Action
This field specifies the action that needs to be taken by the
receiver of the binding update containing the flow identification
option.
FID
The Flow Identifier field is a 16-bit unsigned integer that
includes the identifier for the flow binding. This field is used
to refer to an existing binding or to create a new binding.
Soliman, et al. Expires August 31, 2006 [Page 7]
Internet-Draft Flow bind February 2006
R
When set, this flag indicates that the source address associated
with this flow is the address of the node receiving this binding
update and MUST be used to identify the flow.
H
When set, this flag indicates that the destination address
associated with this flow is the address included in the home
address option in the binding update and MUST be used to identify
the flow.
D
When set, this flag indicates the default entry. It indicates
that the source address of the binding update, or the address
included in the alternate Care-of address option, is the default
address that the receiving node MUST use to redirect a flow which
does not map a flow binding.
Status
This field indicates the success or failure of the flow binding
operation for the particular flow in the option. This field is
not relevant to the binding update message as a whole or to other
flow identification options. Values from 0 to 127 indicate
success. Values of 128 and higher indicate failure.
Source Address
This field identifies the source address of the data packet as
seen by the receiver of this binding update. That is, the address
of the correspondent node. An IPv4 address of the correspondent
must be included in the IPv4-mapped IPv6 address format.
Destination Address
This field identifies the destination address of the data packet
as seen by the receiver of the binding update. For a
correspondent node, the destination is the home address of the
mobile node. However, a mobility anchor point would see the
destination address as the regional care-of address of the mobile
node. Hence, the mobile node needs to specify this field as seen
by the receiver of the binding update.
Soliman, et al. Expires August 31, 2006 [Page 8]
Internet-Draft Flow bind February 2006
Source Port
This field identifies the source port number that will be used in
data packets, as seen by the receiver of the binding update.
Destination Port
This field identifies the destination port number that will be
used in data packets as seen by the receiver of the binding
update.
Protocol
A 16-bit unsigned integer representing value of the transport
protocol number associated with the port numbers in data packets.
Flow Label
The Flow label present in the IPv6 header of the data packet seen
by the receiver of the binding update.
C.S. (Class of Service)
The Class of Service field in the data packet as seen by the
receiver of the binding update.
SPI
The Security Parameter Index present in the IPsec header of the
data packet seen by the receiver of the binding update.
The following values are reserved for the Action field in this
option:
0 Add a flow binding
1 Replace a flow binding
2 Discard a flow
255 Remove a flow binding
The following values are reserved for the status field within the
flow movement option:
0 Flow binding successful.
Soliman, et al. Expires August 31, 2006 [Page 9]
Internet-Draft Flow bind February 2006
128 Flow binding rejected, reason unspecified.
129 Flow binding option poorly formed.
130 Administratively prohibited.
131 Flow identification by port numbers is not supported.
132 Flow identification with Class of service field is not supported.
133 Flow identification with Flow label is not supported.
134 Flow identification with SPI is not supported.
135 No default entry for the home address.
136 FID already in use
137 FID not found
It should be noted that per-packet load balancing has negative
impacts on TCP congestion avoidance mechanisms as it is desirable to
maintain order between packets belonging to the same TCP connection.
This behaviour is specified in [6]. Other negative impacts are also
foreseen for other types of real time connections due to the
potential variations in RTT between packets. Hence per-packet load
balancing is not allowed in this extension. However, the MN can
still request per-flow load balancing provided that the entire flow
is moved to the new interface.
Soliman, et al. Expires August 31, 2006 [Page 10]
Internet-Draft Flow bind February 2006
3. Protocol operations
This specification allows mobile nodes to direct flows to a
particular care-of address. This can be done by aggregating many
flows in the flow identification option (e.g. all TCP traffic), or by
uniquely identifying a flow in the flow identification option. The
flow identification option can be sent with one or more parameters.
The first 8 octets of the option MUST be present in all cases, while
the rest of the parameters are optional. For instance, the following
constructions of the option, among others (following the first 8
octets), are all legal:
Option 1: Flow label.
Option 2: SPI
Option 3: Source Port
Option 4: Source Port, Destination Port
Option 5: Source Port, Destination Port, Protocol
Option 6: Source Address, Destination Address, Source Port,
Destination Port
Option 7: Protocol
This section discusses how the mobile node can use the flow
identification option when sending binding updates to the
correspondent node, home agent or mobility anchor point. Addition,
deletion and modification of bindings are all discussed below.
3.1. Default binding
Any distant node which supports the flow identification option MUST
maintain a default binding per home address. A default binding
indicates an association between a home address and a Care-of
address. In addition to the default binding, several bindings may
co-exist within a binding cache for the same home address, each of
them indicating different bindings between flows and Care-of
addresses. When a data flow is intercepted by a home agent or
initiated by a correspondent node, if the said data flow does not
match an existing flow identification option, the care-of address
indicated in the default binding is used as destination address for
the mobile node.
A default care-of address is identified in a flow identification
option with the D flag set to 1. Only the first 8 bytes in the
Soliman, et al. Expires August 31, 2006 [Page 11]
Internet-Draft Flow bind February 2006
options are required. A mobile node MUST first register a default
care-of address before sending any other flow identification options.
When a distant node receives a BU with a flow identification option
without the D flag set, and if this node has not already a default
binding for the same home address in its binding cache, the Binding
Update must be rejected. A BA with the status code 135 MUST be
returned to the mobile node.
3.2. Adding flow bindings
When adding a new flow binding, the mobile node sends the flow
identification option in the binding update. The option MUST include
the first 8 octets, with a unique FID. The FID need only be unique
for the receiver of the binding update, i.e. the same FID can be used
across different receivers of the binding update. The Action field
MUST indicate an Add operation. Adding the flow binding implies
associating a flow with a particular care-of address for the mobile
node. Therefore, the care-of address MUST be present in the packet.
The care-of address is present in the source address of the packet or
the alternate care-of address option.
The mobile node may need to define the flow partially or entirely
based on the source and destination addresses in packets. For
instance, a mobile node may choose to forward all flows from address
A to address B (the latter being one of the addresses that belong to
the mobile node) to a particular care-of address. Alternatively,
more granularity can be added by including port numbers and protocol.
The destination address seen by the sender is usually the home
address, and may be the regional care-of address in the case of [2].
The mobile node can either include the source and destination
addresses in the flow identification option, or refer to those
addresses using the H and R flags in the flow identification option.
The latter method reduces the overall packet size and makes it more
efficient to add a flow.
3.3. Replacing flow bindings
When replacing a flow binding, the mobile node sends the binding
update with the flow identification option. The option includes the
FID for the binding being replaced, as well as the Action field set
to 1, indicating a request to replace the binding. The flow
identification option MUST contain the attributes needed to classify
the flow.
3.4. Deleting flow bindings
When deleting a flow binding, the mobile node sends a binding update
Soliman, et al. Expires August 31, 2006 [Page 12]
Internet-Draft Flow bind February 2006
message with the flow identification option. The Action field MUST
be set to a value of 2, which indicates a request for deleting a flow
binding. Only the first 8 octets in the option are required. This
will provide enough information for the receiver to locate the flow
binding using the FID and remove it.
Soliman, et al. Expires August 31, 2006 [Page 13]
Internet-Draft Flow bind February 2006
4. Usage scenario
In this section, we hihglight a usage case of the flow identification
option to illustrate how to use the option.
Let assume a mobile node which is equipped with two interfaces namely
If1 and If2, both of them connected to a different visited network.
The mobile node configures one global IPv6 address on each interface,
namely CoA1 and CoA2 respectively. The mobile node runs Mobile IPv6
with a home agent located in its home network. We assume that an
existing IPsec security association is set up betweeen the mobile
node and its home agent. We assume that the mobile node wants to
exchange secure data flows over CoA1 and unsecure data flows over
CoA2. To do so, the mobile node may request its home agent to
redirect packets intended to the mobile node's home address to a
different care-of address, depending on the type of the
communication. For example, port number 22 (ssh) and 443 (https) may
be tunneled to CoA1 while other communications may be tunneled to
CoA2. In order to set up these flow bindings, the following messages
are exchanged:
o The mobile node sends a Binding Update through If2, with the
source address set to CoA2. The BU includes a Flow Identification
option which only consists of the 8 first bytes. The D flag
(Default entry) is set to 1.
o When the home agent receives the BU, it first validates the BU as
recommanded in section 10.3 of [1]. If the BU is acecpted, the
home agent processes the Flow Identification option. It then
registers the source address of the BU as the default care-of
address for the given home address and sends back a BA with
exactly the same Flow Identifiaction option (with the status code
= 0).
o Then, the mobile node can send additional BU with Flow
Identifaction options in order to indicate its usage preferences.
In order to redirect source port number 22 and 443 to CoA1, the
mobile node sends a BU through If1, with the source address set to
CoA1, with the following Flow Identification options:
Option 1: The option is 9 bytes in length. Only the flags F
(source port) is set to 1, Action is set to 0 (add), FID is set to
1 and the source port number is set to 22.
Option 2: the option is the same option as above, with the FID =
2, and source port number = 443. If the home agent accepts these
Flow binding options, it will return a BA with a Flow
Identification option with the success flag in the status field.
Soliman, et al. Expires August 31, 2006 [Page 14]
Internet-Draft Flow bind February 2006
o When the home agent receives the last BU which contains two Flow
Identification options, it first checks the validity of the BU as
recommanded in section 10.3 of [1]. If the BU is accepted, the
Flow Identification options are treated. If these options are
accepted by the home agent, the home agent sends back a BA to the
mobile node with the same Flow Identification options (the status
code is kept to 0).
Thereafter, if a data flow is intended to the home address of the
mobile node, the home agent will identify if the source port
number is equal to 22 or 443. If yes, the home agent will tunnel
the data flow to CoA1. If not, the data flow will be forwarded to
CoA2.
Soliman, et al. Expires August 31, 2006 [Page 15]
Internet-Draft Flow bind February 2006
5. Mobile Node operations
5.1. Conceptual Data Structures
Each mobile node is required by [1] to maintain a Binding Udate List
containing a record of Binding Updates sent by the mobile node for
which the lifetime has not expired. The fields of a Binding Update
List entry are presented in detail in [1]. This draft extends the
Binding Update List entry data structure to include Flow
Identifications. A Flow Identification has a flexible format
depending on the fields required to identify a flow or an aggregate
of flows. The different fields that constitute a Flow Identification
option are presented in detail in Section 2.
For the support of the extensions presented in this draft, all
Binding Update List entries MUST maintain a valid FID and a valid
value for at least one of the rest of the fields.
5.2. Establishing Flow Bindings
A mobile node MUST maintain a Default Binding in the Binding Update
List for each home address retained. The Default Binding indicates
the preferred Care-of Address where the mobile node wishes to receive
all flows for which none of the registered flow bindings apply.
Should the Default Binding expire or be removed then all bindings
related to the home address are automatically removed from the
Binding Update List.
5.2.1. Sending Flow Identifications to Home Agents and Correspondent
Nodes
A mobile node may establish a Flow Binding by issuing a Binding
Update (BU) containing a Flow Identifier in its mobility options. If
the mobile node does not already maintain a Default Binding with the
targeted node then the the D flag MUST be enabled. The Flow
Identifier option MUST indicate the FID to be associated with the
registered Flow Binding. A Flow Identifier option is considered
valid when it contains a valid FID and values for at least one of the
rest of its fields indicating the flows to be associated with the
binding. Flow bindings maintained for the same home address may not
contain overlapping policies. Mobile nodes are required to scan
their Binding Update List for overlapping entries prior to requesting
a Flow Binding.
The ACTION field of the Flow Identifier option indicates the action
that the targeted node has to perform to its Bindings Cache List upon
processing the Flow Identifier. A mobile node may request for any of
the following actions:
Soliman, et al. Expires August 31, 2006 [Page 16]
Internet-Draft Flow bind February 2006
o Action = 0: Add flow binding. Create a new Flow Binding with the
indicated FID and include the attached Flow Identifier. A mobile
node may not issue a Flow Identifier with the ACTION field set to
zero for an existing FID.
o Action = 1: Replace a flow binding. This action enables the
mobile node to replace the Filter Identifiers associated with the
Filter Binding indicated by FID. A mobile node may not issue a
Flow Identifier with the ACTION field set to one for a non
existent FID.
o Action = 255: Remove a flow binding. This action enables a mobile
node to remove the Flow Binding indicated by FID from the targeted
node's Binding Cache List. All associated Flow Identifiers are
also removed automatically. A mobile node requesting for the
Default Binding to be removed will cause all other bindings for
its home address to be removed from the Binding Cache List of the
targeted node. A mobile node may not issue a Flow Identifier with
the ACTION field set to 255 for a non existent FID.
5.2.2. Using Alternate Care-Of Address
A mobile node can use an alternate care-of address to issue a Flow
Identifier for a different Flow Binding. For that a mobile node is
required to send a Binding Update including an Alternate Care-of
Address option followed by the Flow Identifier option. The Alternate
Care-of Address option shall indicate the care-of address to be
associated with the Flow Identifier options. The Flow Identifier
options shall contain the FID to be allocated to the Flow Binding.
5.2.3. Receiving Binding Acknowledgements
According to [1] all nodes are required to silently ignore mobility
options not understood while processing Binding Updates. As such a
mobile node receiving a Binding Acknowledgement (BA) in response to
the transmission of a Binding Request MUST determine if the BA
contains a copy of every Flow Identification option included in the
BU. A BA without Filter Identification options would indicate
inabillity on behalf of the source node to support the extensions
presented in this document.
In addition to the Status values presented in [1] the following
Status values are defined:
TBD Flow Binding successfully established. Flow Binding was created
in the Binding Cache List and Flow Identifier was successfully
associated,
Soliman, et al. Expires August 31, 2006 [Page 17]
Internet-Draft Flow bind February 2006
TBD +1 No Default Binding found. Mobile node may not establish a
Flow Binding because it does not maintain a Default Binding.
TBD +2 FID not found. Mobile node has requested an action for a FID
that does not exist.
5.2.4. Receiving Binding Refresh Requests
Upon receiving a Binding Refresh Request the mobile node is required
to act as described in Section 11.7.4 of [1].
5.3. Packet Processing
The extensions presented in this draft affect the manner in which a
mobile node manages bindings in order to influence the point of
delivery of incoming flows. The policies that drive these extensions
are considered beyond the scope of this specification. Similarly,
the mechanisms the affect the mobile node's choice on the return path
are also considered out of scope.
5.4. Movement
As described in Section 11.5.2 of [1], a mobile node MAY use more
than one care-of address at a time. The extensions presented in this
draft are compatible with the multiple care-of addresses facility. A
mobile node may associate a different Flow Identifier with each
available care-of address to register Flow Bindings. Each Flow
Binding is allocated a FID that is unique for each home address
retained by the mobile node. It is noted that, for a given home
address a mobile node may not maintain overlapping Flow Identifiers.
5.5. Returning Home
Whenever a mobile node acquires a point of attachment to the home
network and wishes to abolish all Flow Bindings associated with the
respective home address, it is required to act as described in
Section 11.5.4 of [1]. This will cause the home agent to remove all
Flow Bindings as well as all related Flow Identifiers.
Soliman, et al. Expires August 31, 2006 [Page 18]
Internet-Draft Flow bind February 2006
6. Correspondant node operations
Every Correspondent Node (CN) is required to maintain a Binding Cache
containing records of associations between mobile node home addresses
and care-of addresses (bindings) as they roam away from the home
network. [1] allows mobile nodes to register only a single binding
per home address with every CN.
This specification extends the binding cache structure, and enables
CNs to (1) maintain multiple bindings for a given home address and
(2) to associate multiple Flow Identification options with every
binding, termed as Flow Binding. A flow matching the a Flow
Identification policy would be directed to the Care-of address
indicated by the Flow Binding.
A CN may maintain one ore more Flow Bindings for a mobile node in
their Binding Cache. However, only one of the Flow Bindings is
considered as the Default Bindind. The Default Binding is applicable
for all flows for which no other Flow Binding is applicable.
6.1. Modification to the binding cache
The binding cache structure needs to be extended to include the
fields of the flow identification option described in Section 2.
6.2. Return Routability Procedure
RFC 3775 [1] describes the Return Routability Procedure, a mechanism
that enables the CN to confirm that a mobile node is addressable at
its aclaimed care-of address as well as at its home address. The
Return Routability Procedure dictates that every CN should transmit a
Home Test and Care-of Test messages in response to the receipt of a
Home Test Init and Care-of Test Init messages from a mobile node.
Regarding the extensions described in this document, the exchange of
the Home Test and Home Test Init messages will only be necessary for
the registration of the first Flow Binding for a gieven home address.
Any subsequent Flow Bindings will require only the exchange of the
Care-of Test and Care-of Init messages.
Soliman, et al. Expires August 31, 2006 [Page 19]
Internet-Draft Flow bind February 2006
7. Home Agent operations
A home agent maintains a Binding Cache in order to record
associations between home addresses and care-of addresses of mobile
nodes that are away from the home link. RFC 3775 [1] allows mobile
nodes to register only one care-of address per home address. Thus a
binding cache entry is uniquely identified by the home address.
This specification extends the binding cache structure, and allows
mobile node to (1) register multiple care-of addresses for a given
home address and (2) associate flow binding policies with the
registered care-of addresses. As several entries for the same home
address may co-exist in the binding cache of a home agent, an entry
is uniquely identified by the pair (mobile node's home address, FID).
The home agent MUST maintain a default binding for each home address
as explained in Section 3.1. This default binding associates a home
address with a default (or primary) care-of address of the mobile
node. This entry is used by the home agent when incoming data
packets are intended to a home address and does not match any
registered flow binding policies.
7.1. Modification to the binding cache
The binding cache structure needs to be extended to include the flow
identification fields. In addition to the fields described in
section 9.1 of [1], a binding cache entry MUST contain:
o Flow Binding identifier (FID): identifies an entry in the binding
cache, in association with a home address
o Source address
o Destination address
o Source port number
o Destination port number
o Protocol number
o IPv6 flow label
o Class of Service
o SPI
Soliman, et al. Expires August 31, 2006 [Page 20]
Internet-Draft Flow bind February 2006
7.2. Receiving BU without flow identification option
When the home agent receives a BU without a flow identification
option, it must follow the rules specified in section 10.2 of RFC
3775. If the BU is accepted, the home agent will create, delete or
update an entry in its Binding Cache. Three situations may occur:
o No existing binding for the given home address: the BU is treated
as specified in [1].
o Exising bindings without flow identification option for the given
home address: the BU is treated as specified in [1].
o Existing bindings with flow identification option for the given
home address: all existing bindings associated with the given home
address are deleted and the Care-of address transported in the BU
is uniquely associated with the home address.
7.3. Receiving BU with flow identification option(s)
When the home agent receives a BU which includes at least one Flow
Identification option, it first performs the operation described in
section 10.3.1 of RFC3775. If the BU is accepted, the home agent
checks if the FID of the Flow Identification option is already used
in its binding cache. If yes, the BU should delete or update an
existing entry, otherwise it should add a new entry.
Then the home agent checks if the D flag (Default binding) is set.
If the D flag is not set, the BU is rejected if the home agent has
not an existing entry for the given home address, or if the home
agent has a standard entry for the given home address, without any
flow identification information.
If the D flag is set, different operations may be performed depending
on the status of the home agent's binding cache:
o The home agent's binding cache does not have any entry for the
given home address: the home agent may create a new default entry
in its binding cache depending on the action defined in the Flow
Identification option (see below)
o The home agent's binding cache contains an association between the
given home address and a Care-of address without any information
on flow identification: the home agent may udpate the exisintg
entry with a new default entry in its binding cache depending on
the action defined in the Flow Identification option (see below)
Soliman, et al. Expires August 31, 2006 [Page 21]
Internet-Draft Flow bind February 2006
o The home agent's binding cache contains one or several
associations between the given home address and one or several
Care-of address(es) with flow identification information. The
home agent may update/delete these existing association depending
on the action field of the Flow Identitification option (see
below).
Then the home agent identifies which fields are set in the flow
identification option and which action to take:
o Action = 0: add flow binding. If the FID in the BU is the same as
the FID in an existing binding cache entry for the same home
address, the home agent sends back to the mobile node a BA with a
error code 136 (FID already in use). Otherwise, the home agent
needs to create a new entry in the binding cache with the
associated flow policies.
o Action = 1: Replace a flow binding. If the FID in the BU is not
already identifying an existing entry in the binding cache for the
same home address, the home agent sends back to the mobile node a
BA with error code 137 (FID not found). Otherwise, the home agent
updates the existing entry. This update may update the lifetime
of the binding or to change the CoA if the flow policies are the
same, and/or extend the flow policies.
o Action = 2: TBD
o Action = 255: Remove a flow binding. If the FID in the BU is not
already identifying an existing entry in the binding cache for the
same home address, the home agent sends back to the mobile node a
BA with error code 137 (FID not found). Otherwise, the home agent
removes the corresponding entry in the binding cache.
7.4. Deleting an entry in the binding cache
A home agent might delete an entry in its binding cache for two
reasons: either an entry expires, or the MN explitly requests the
home agent to remove a specific entry. If an entry is going to
expire, the home agent SHOULD send a Binding Refresh Advice.
7.4.1. A binding cache entry expires
If the default entry in the binding cache expires, the home agent
MUST delete all other entries associated with the same home address,
even for different CoAs.
If an entry other than the default entry expires (i.e., with a flow
binding policies), the home agent MUST delete the entry. This does
Soliman, et al. Expires August 31, 2006 [Page 22]
Internet-Draft Flow bind February 2006
not affect other bindings that might be present for the same home
address.
7.4.2. The mobile node explicitly requests to remove a binding
If the home agent receives a valid BU with a flow identification
option where action is set to 255 (Remove), the home agent MUST
remove the corresponding entry. The home agent looks up the entry
corresponding to the FID of the BU. If an entry is found, the entry
is removed from the Binding cache and a BA is sent back to the mobile
node with a success value for the status of the flow identification
option. This operation does not modify any other binding that may
appear with the same home address. If the FID is not present in the
binding cache entry for the corresponding home address, the home
agent MUST send back to the mobile node a BA with error code 137 (FID
not found).
Soliman, et al. Expires August 31, 2006 [Page 23]
Internet-Draft Flow bind February 2006
8. Mobility Anchor Point operations
The MAP operation is very similar to the home agent operation. Flow
bindings sent to the MAP are associated with the regional care-of
address.
When a MAP receives a binding update that includes the flow
identification option, it checks if such option is valid according to
the requirements above. If the option is valid, the MAP installs the
flow binding associated with the flow identified in the option. The
lifetime of the binding is the lifetime of the binding update. Once
the binding is successfully installed, the MAP sends the binding
acknowledgement and includes the flow identification option. Only
the first eight octets are required in the option. The MAP sets the
status field to a value indicating success.
In all cases, a flow identification option SHOULD be included in the
binding acknowledgement to indicate success or failure of the flow
binding installation.
Soliman, et al. Expires August 31, 2006 [Page 24]
Internet-Draft Flow bind February 2006
9. Security considerations
This draft introduces a new option that adds more granularity to the
binding update message. The new option allows the mobile node to
associate some flows to an interface and other flow to another
interface. Since the flow identification option is part of the
mobility header, it uses the same security as the binding update,
whether it is sent to the home agent, correspondent node, or MAP.
However, since the flow identification option can optionally include
an address identifying the mobile node (the destination address
field), it is pertinent for the receiver of the binding update to
ensure that such address (if included) is in fact assigned to the
mobile node. For instance, the home agent must check that the
address included in the flow identification option is assigned to the
mobile node as one of its home addresses.
When sending a binding update to the correspondent node, the message
is authenticated using the two tokens associated with the home and
care-of addresses. Hence, if a new care-of address is being added, a
new care-of address test must be run to produce an appropriate keygen
token [1].
Soliman, et al. Expires August 31, 2006 [Page 25]
Internet-Draft Flow bind February 2006
10. Open discussion - future work
10.1. Usage of the FID
The document [3] defines extensions to Mobile IPv6 to register
multiple Care-of addresses to a single home address. Flags included
in the Binding Update indicate to the receiver how to treat the new
Care-of address: either the Care-of address will be added to the
existing entries, or the new Care-of address will replace an old
Care-of address. In order to differentiate between several bindings
for the same home address, a Flow Identifier (FID) is used. It can
be noted that [3] does not define policies for multiple Care-of
addresses usage.
Considering the registration of flow policies as presented in this
document, it can be considered to use the Flow Identifier as defined
in [3] to select a CoA to register a flow policies. This solution is
currently under discussion.
10.2. Multiple Care-of addresses
Multiple flow identification options may co-exist in BU/BA. However,
all these flow identification options indicate policies for the usage
of a single CoA (either the source address of the BU, or the address
included in the Alternate care-of address sub-option). It could be
considered to propose a method to combine a flow identification
option with a care-of address option in order to transport multiple
Flow Identification options associated with different care-of
addresses in the same BU.
10.3. Network in Motion
NEMO Basic Support proposes extensions to Mobile IPv6 to provide a
continuous access to an entire IPv6 network which is in motion.
Mobility of the entire network is hidden to the mobile network nodes
inside the mobile network by mobile router(s). The Binding Update
message has been extended with a new option to convey a Mobile Node
Prefix to moible routers' home agent(s). Bi-directionnal tunnels are
set up between mobile router(s) and their respective home agent(s).
Packets from / to mobile network nodes are encapsulated to and from
the home network between the home agent and mobile router(s).
A Mobile network can be multihomed for various reasons, including
redundancy, ubiquitous access or to get more aggregated bandwidth[7].
A mobile network is said multihomed when (i) a single mobile router
has several egress interfaces, (ii) when several mobile networks are
operating the same mobile network, (iii) the mobile network is
associated with multiple home agents, or (iv) multiple global
Soliman, et al. Expires August 31, 2006 [Page 26]
Internet-Draft Flow bind February 2006
prefixes are available in the mobile network.
The application of the flow binding option to mobile network will be
studied in the next revsion of this document. In particular,
solution for binding a particular flow to a mobile router's care-of
address, or to a mobile network prefix will be analysed.
Soliman, et al. Expires August 31, 2006 [Page 27]
Internet-Draft Flow bind February 2006
11. Acknowledgements
We would like to thank all authors of initial I-Ds that were merged
together to create this document; in alphabetical order: C.
Castelluccia, K. ElMalki, K. Georgios, , C. Goerg, T. Noel, F.-N.
Pavlidou.
12. References
[1] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in
IPv6", RFC 3775, June 2004.
[2] Soliman, H., Castellucia, C., ElMalki, K., and L. Bellier,
"Hierarchical MIPv6 mobility management", RFC 4140, August 2005.
[3] Wakikawa, R., "Multiple Care-of Addresses Registration",
draft-wakikawa-mobileip-multiplecoa-04 (work in progress),
June 2005.
[4] Deering, S. and R. Hinden, "Internet Protocol Version 6 (IPv6)",
IETF RFC 2460, December 1998.
[5] Zhao, X., Castelluccia, C., and M. Baker, "Flexible Network
Support for Mobile Hosts", Journal ACM MONET, April 2001.
[6] Awduche, D., Malcolm, J., Agogbua, J., O Dell, M., and J.
McManus, "Requirements for Traffic Engineering Over MPLS",
RFC 2702, September 1999.
[7] Ernst, T., "Motivations and Scenarios for Using Multiple
Interfaces and Global Addresses",
draft-ietf-monami6-multihoming-motivations-scenarios (work in
progress), February 2006.
Soliman, et al. Expires August 31, 2006 [Page 28]
Internet-Draft Flow bind February 2006
Authors' Addresses
Hesham Soliman
Qualcomm Flarion
Phone:
Email: H.Soliman@flarion.com
URI:
Nicolas Montavont
Ecole Nationale Superieure des telecommunications de Bretagne
2, rue de la chataigneraie
Cesson Sevigne 35576
France
Phone: (+33) 2 99 12 70 23
Email: nicolas.montavont@enst-bretagne.fr
URI: http://www-r2.u-strasbg.fr/~montavont/
Nikolaus A. Fikouras
University of Bremen
ComNets-ikom,University of Bremen.
Otto-Hahn-Allee NW 1
Bremen, Bremen 28359
Germany
Phone: +49-421-218-8264
Fax: +49-421-218-3601
Email: niko@comnets.uni-bremen.de
URI: http://www.comnets.uni-bremen.de
Koojana Kuladinithi
University of Bremen
ComNets-ikom,University of Bremen.
Otto-Hahn-Allee NW 1
Bremen, Bremen 28359
Germany
Phone: +49-421-218-8264
Fax: +49-421-218-3601
Email: koo@comnets.uni-bremen.de
URI: http://www.comnets.uni-bremen.de/~koo/
Soliman, et al. Expires August 31, 2006 [Page 29]
Internet-Draft Flow bind February 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.
Soliman, et al. Expires August 31, 2006 [Page 30]
| PAFTECH AB 2003-2026 | 2026-04-23 03:44:15 |