One document matched: draft-ietf-sigtran-addip-sctp-01.txt
Differences from draft-ietf-sigtran-addip-sctp-00.txt
Network Working Group R. R. Stewart
INTERNET-DRAFT Cisco Systems
Q. Xie
Motorola
M. Tuexen
Siemens AG
I. Rytina
Ericsson
expires in six months February 23, 2001
SCTP Dynamic Addition of IP addresses
<draft-ietf-sigtran-addip-sctp-01.txt>
Status of This Memo
This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC 2026 [RFC2026]. 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.
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.
Abstract
This document describes an extension to the Stream Control
Transmission Protocol (SCTP) [RFC2960] to provide a method to add or
delete an IP address from an existing association or to request the
peer to change its primary destination address. The benefit of this
extension is for machines with hot pluggable interface cards the
ability to add (and/or delete) IP addresses dynamically without
forcing an SCTP association restart.
TABLE OF CONTENTS
1. Introduction............................................... 2
2. Conventions................................................ 2
3. New Reliable Request/Acknowledgement Parameters............ 2
3.1 New REL-REQ Parameters.................................... 2
3.1.1 Add IP Address.......................................... 3
3.1.2 Delete IP Address....................................... 3
3.1.3 Set Primary IP Address.................................. 4
3.2 New REL-ACK Parameters.................................... 4
3.2.1 Error Cause: Request to Delete Last IP Address.......... 5
3.2.2 Error Cause: Operation Refused due to Resource Shortage. 5
3.2.3 Error Cause: Request to Delete Source IP Address........ 6
3.3 New Error Causes.......................................... 6
3.3.1 Request to delete last IP address....................... 6
4. Procedures................................................. 6
Stewart et.al. [Page 1]
Internet Draft SCTP Dynamic Addition of IP addresses February 2001
4.1 IP address addition and deletion.......................... 6
4.2 Setting of the Primary Address............................ 9
5. Security Considerations.................................... 9
6. IANA considerations........................................10
7. Authors' Addresses.........................................10
8. References.................................................11
1. Introduction
Taking advantage of the extensibility of SCTP, and the generic
method for transmitting reliable SCTP control chunks [RELREQ],
this document introduces a use of the reliable control chunk,
to allow an existing SCTP association to add or delete IP addresses
without the currently required restart of the association.
This enables SCTP to have dynamic IP addresses added and subtracted
for those machines that allow addition/removal of an interface card.
It also provides a method for a endpoint request that its peer set
its primary destination address to an alternate, this can be useful
when an address is about to be deleted. As an example application,
this will provide the same type of services that exist in telephony
signalling, which allow a link set to add an additional link without
interfering with the operation of the link set.
2. Conventions
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL, when
they appear in this document, are to be interpreted as described in
RFC 2119 [RFC2119].
3. New Reliable Request/Acknowledgement Parameters
This section describes the addition of three new REL-REQ Parameters
to allow for the dynamic addition, deletion and setting of the
primary, of IP addresses to an existing SCTP association. The format
of these REL-REQ parameters within the Reliable Request Chunk is
descibed in [REL-REQ]. We also describe a REL-ACK parameter that is
carried to communicate errors or rejections of REL-REQ parameters.
3.1 New REL-REQ Parameters
The three new REL-REQ Parameters added follow the format defined in
[REL-REQ] section 3.1.1. Table 2 describes the three new REL-REQ
Parameters.
REL-REQ Parameter Type Value
-------------------------------------------------
Add IP Address 49153 (0xC001)
Delete IP Address 49154 (0xC002)
Set Primary Address 49159 (0xC007)
Table 1: REL-REQ Parameters
Stewart et.al. [Page 2]
Internet Draft SCTP Dynamic Addition of IP addresses February 2001
3.1.1 Add IP Address
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 = 49153 | Length = Variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Parameter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address Parameter: TLV
This field contains an IPv4 or IPv6 address parameter as described
in 3.3.2.1 of RFC2960. The complete TLV is wrapped within this
parameter. It informs the receiver that the Address specified is to
be added to the existing association. The sender of this request
MUST NOT attempt to add an address type that is not supported by
its peer.
An example TLV adding the IPv4 address 10.1.1.1 to an existing
association would look as follows:
+--------------------------------+
| Type=49153 | Length = 12 |
+--------------------------------+
| Type=5 | Length = 8 |
+----------------+---------------+
| Value=0x0a010101 |
+----------------+---------------+
3.1.2 Delete IP Address
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 = 49154 | Length = Variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Parameter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address Parameter: TLV
This field contains an IPv4 or IPv6 address parameter as described in
3.3.2.1 of [RFC2960]. The complete TLV is wrapped within this
parameter. It informs the receiver that the Address specified is to
be removed from the existing association.
An example TLV deleting the IPv4 address 10.1.1.1 from an existing
association would look as follows:
Stewart et.al. [Page 3]
Internet Draft SCTP Dynamic Addition of IP addresses February 2001
+--------------------------------+
| Type=49154 | Length = 12 |
+--------------------------------+
| Type=5 | Length = 8 |
+----------------+---------------+
| Value=0x0a010101 |
+----------------+---------------+
3.1.3 Set Primary IP Address
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 = 49159 | Length = Variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Parameter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address Parameter: TLV
This field contains an IPv4 or IPv6 address parameter as described in
3.3.2.1 of [RFC2960]. The complete TLV is wrapped within this
parameter. It requests the receiver to mark the specified address
as the primary address to send data to (see section 5.1.2 of
[RFC2960]). The receiver MAY mark this as its primary upon
receiving this request.
An example TLV requesting that the IPv4 address 10.1.1.1 be made the
primary destination addrss would look as follows:
+--------------------------------+
| Type=49159 | Length = 12 |
+--------------------------------+
| Type=5 | Length = 8 |
+----------------+---------------+
| Value=0x0a010101 |
+----------------+---------------+
3.2 New REL-ACK Parameters
Three new Error Causes are added to the SCTP Operational Errors,
primarily for use as part of the REL-REQ Parameter Error in the
REL-ACK (as outlined in [REL-REQ] section 3.1.2).
Cause Code
Value Cause Code
--------- ----------------
11 Request to delete last IP address.
12 Operation Refused due to resource shortage.
13 Request to delete source IP address.
Stewart et.al. [Page 4]
Internet Draft SCTP Dynamic Addition of IP addresses February 2001
3.2.1 Error Cause: Request to Delete Last IP Address
Cause of error
---------------
Request to delete last IP address: The receiver of this error sent a
request to delete the last IP address from its association with its
peer. This error indicates that the request is rejected.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code=11 | Cause Length=var |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\ TLV-Copied-From-REL-REQ /
/ \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
An example of a failed delete in an Error Cause TLV would look as
follows in the response REL-ACK message:
+--------------------------------+
| Type = 0xC005 | Length = 20 |
+--------------------------------+
| Cause=11 | Length = 16 |
+----------------+---------------+
| Type=49154 | Length = 12 |
+----------------+---------------+
| Type=5 | Length = 8 |
+----------------+---------------+
| Value=0x0a010101 |
+----------------+---------------+
3.2.2 Error Cause: Operation Refused due to Resource Shortage
Cause of error
---------------
This error cause is used to report a failure by the receiver to
perform the requested operation due to a lack of resources. The
entire TLV that is refused is copied from the REL-REQ into the error
cause.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code=12 | Cause Length=Var |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\ TLV-Copied-From-REL-REQ /
/ \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
An example of a failed addition in an Error Cause TLV would look as
follows in the response REL-ACK message:
+--------------------------------+
| Type = 0xC005 | Length = 20 |
+--------------------------------+
| Cause=12 | Length = 16 |
+----------------+---------------+
| Type=49153 | Length = 12 |
+--------------------------------+
Stewart et.al. [Page 5]
Internet Draft SCTP Dynamic Addition of IP addresses February 2001
| Type=5 | Length = 8 |
+----------------+---------------+
| Value=0x0a010101 |
+----------------+---------------+
3.2.3 Error Cause: Request to Delete Source IP Address
Cause of error
---------------
Request to delete source IP address: The receiver of this error sent
a request to delete the source IP address of the REL-REQ
message. This error indicates that the request is rejected.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code=13 | Cause Length=VAR |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\ TLV-Copied-From-REL-REQ /
/ \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
An example of a failed delete in an Error Cause TLV would look as
follows in the response REL-ACK message:
+--------------------------------+
| Type = 0xC005 | Length = 20 |
+--------------------------------+
| Cause=13 | Length = 16 |
+----------------+---------------+
| Type=49154 | Length = 12 |
+----------------+---------------+
| Type=5 | Length = 8 |
+----------------+---------------+
| Value=0x0a010101 |
+----------------+---------------+
4. Procedures
This section will lay out the specific procedures for the add/delete
IP address REL-REQ Parameter. The generic procedures for
transmitting reliable SCTP control chunks are covered in [RELREQ].
4.1 IP address addition and deletion
When building TLV parameters for the REL-REQ Chunk messages that
will add or delete IP addresses the following rules should be
applied:
D1) When adding an IP address to an association, the IP address is
NOT considered fully added to the association until the REL-ACK
arrives. This means that until such time as the REL-REQ
containing the add is acknowledged the sender MUST NOT use the
new IP address as a source for ANY SCTP packet.
D2) After the REL-ACK of an IP address add arrives, the endpoint MAY
Stewart et.al. [Page 6]
Internet Draft SCTP Dynamic Addition of IP addresses February 2001
begin using the added IP address as a source address.
D3) If an endpoint receives an Error Cause TLV indicating that the
IP address Add, IP address Deletion, or Set Primary IP Address
REL-REQ parameters was not understood, the endpoint MUST
consider the operation failed and MUST NOT attempt to
send any subsequent Add, Delete or Set Primary requests to
the peer.
D4) When deleting an IP address from an association, the IP address
MUST be considered a valid source address for DATA chunks
until the REL-ACK arrives. This means that any datagrams that
arrive before the REL-ACK destined to the IP address being
deleted MUST be considered part of the current association.
One special consideration is that ABORT chunks arriving destined
to the IP address being deleted MUST be ignored (see Section
4.1 for futher details).
D5) An endpoint MUST NOT delete its last IP address from an
association. In other words if an endpoint is NOT multi-homed it
MUST NOT use the delete IP address. Or if an endpoint sends
multiple requests to delete IP addresses it MUST NOT delete all
of the IP addresses that the peer has listed for the requester.
D6) An endpoint MUST NOT use the source address (of the IP packet
containing the SCTP packet) for a REL-REQ to delete an IP
address from the address being deleted.
D7) If a request is received to delete the last IP address of a peer
endpoint, the receiver MUST send an Error Cause TLV with the
error cause set to the new error code 'Request to delete last IP
address'. The requested delete MUST NOT be performed or acted
upon, other than to send the REL-ACK.
D8) If a request is received to delete an IP address which is also
the source address of the IP packet which contained the REL-REQ
chunk, the receiver MUST reject this request. To reject the
request the receiver MUST send a Error Cause TLV set to the new
error code "Request to Delete Source IP Address" (unless Rule D5
has also been violated, in which case the error code 'Request to
delete last IP address' is sent).
D9) After the REL-ACK of an IP address deletion arrives, the
endpoint MUST NOT use the deleted IP address as a source of any
SCTP packet.
D10) If an endpoint receives an ADD IP address request and does not
have the local resources to add this new address to the
association, it MUST return an Error Cause TLV set to the new
error code "Operation Refused due to Resource Shourtage".
Stewart et.al. [Page 7]
Internet Draft SCTP Dynamic Addition of IP addresses February 2001
D11) If an endpoint receives an 'Out of Resource' error when adding
an IP address to an association, it must either ABORT the
association or not source any packets from this address. In
other words if the endpoint does not ABORT the association, it
must consider the add attempt failed and NOT use this address.
D12) When an endpoint receiving a REL-REQ to add an IP address sends
an 'Out of Resource' in its response, it MUST also fail any
subsequent add or delete requests bundled in the REL-REQ. The
receiver MUST NOT reject an ADD and then accept a subsequent
DELETE of an IP address in the same REL-REQ chunk. In other
words, once a receiver begins failing any ADD or DELETE request,
it must fail all subsequent ADD or DELETE requests contained in
that single REL-REQ.
D13) When an endpoint receives a request to delete an IP address that
is the current primary address, it is an implementation decision
as to how that endpoint chooses the new primary address.
During the time interval between sending out the REL-REQ and
receiving the REL-ACK it MAY be possible to receive DATA chunks out
of order. The following examples illustrate these problems:
Endpoint-A Endpoint-Z
---------- ----------
REL-REQ[Add-IP:X]------------------------------>
/--REL-ACK
/
/--------/---New DATA:
/ / Destination
<-------------------/ / IP:X
/
<--------------------------/
In the above example we see a new IP address (X) being added to
the Endpoint-A. However due to packet re-ordering in the network
a new DATA chunk is sent and arrives at Endpoint-A before
the REL-ACK confirming the add of the address to the association.
A similar problem exists with the deletion of an IP address as
follows:
Endpoint-A Endpoint-Z
---------- ----------
/------------New DATA:
/ Destination
/ IP:X
REL-REQ[DEL-IP:X]---------/---------------->
<-----------------/------------------REL-ACK
/
/
<-------------/
In this example we see a DATA chunk destined to the IP:X (which is
about to be deleted) arriving after the deletion is complete.
Stewart et.al. [Page 8]
Internet Draft SCTP Dynamic Addition of IP addresses February 2001
For the ADD case an endpoint SHOULD consider the newly adding IP
address valid for the association to receive data from during the
interval when awaiting the REL-ACK. The endpoint MUST NOT source data
from this new address until the REL-ACK arrives but it may receive out
of order data as illustrated and MUST NOT treat this data as an OOTB
datagram (please see [RFC2960] section 8.4). It MAY drop the data
silently or it MAY consider it part of the association but it MUST NOT
respond with an ABORT.
For the DELETE case, an endpoint MAY respond to the late arriving DATA
packet as an OOTB datagram or it MAY hold the deleting IP address for a
small period of time as still valid. If it treats the DATA packet as
an OOTB the peer will silently discard the ABORT (since by the time
the ABORT is sent the peer will have removed the IP address from this
association). If the endpoint elects to hold the IP address valid for
a period of time, it MUST NOT hold it valid longer than 2 RTO
intervals for the destination being removed.
Another case worth mentioning is illustrated below:
Endpoint-A Endpoint-Z
---------- ----------
New DATA:------------\
Source IP:X \
\
REL-REQ[DEL-IP:X]-------\------------------>
\ /---------REL-ACK
\ /
\----/-----------> OOTB
(Ignored ----------------------/-------------ABORT
by rule D4) /
<---------------------/
For this case, during the deletion of an IP address, an
Abort MUST be ignored if the destination address of the
Abort message is that of the destination being deleted.
4.2 Setting of the primary address
A sender of this option may elect to send this combined with
a deletion request for an address. A sender MUST only send
a set primary request to an address that is considered
part of the association. In other words a sender MUST NOT
bundle a set primary with an add of a new IP address unless
the add request is to be processed BEFORE the set primary.
The request to set an address as the primary path is an option the
receiver MAY perform. It is considered a hint to the receiver of the
best destination address to use in sending SCTP packets (in the
requestors view). It is possible that the receiver may have other
knowledge that it may act upon and NOT set the specified address as
Stewart et.al. [Page 9]
Internet Draft SCTP Dynamic Addition of IP addresses February 2001
primary. If a request arrives that asks the receiver to set an
address as primary that does not exist, the receiver should NOT
honor the request, leaving its existing primary address unchanged.
5. Security Considerations
The ADD/DELETE of an IP address to an existing association does
provide an additional mechanism by which existing associations can
be hijacked. Where the attacker is able to intercept and or alter
the packets sent and received in an association the use of this
feature MAY increase the ease at which an association may be
overtaken. This threat SHOULD be considered when deploying a version
of SCTP that use this feature. The IP Authentication Header
[RFC2402] SHOULD be used when the threat environment requires
stronger integrity protections, but does not require
confidentiality. It should be noted that in the base SCTP
specification [RFC2960], if an attacker is able to intercept and or
alter packets, even without this feature it is possible to hijack an
existing association, please refer to Section 11 of RFC2960.
6. IANA considerations
Three REL-REQ Parmeter Types and three new SCTP Error Causes are
being defined within this document.
7. Authors' Addresses
Randall R. Stewart Tel: +1-815-477-2127
Cisco Systems, Inc. EMail: rrs@cisco.com
8745 W. Higgins Road, Suite 200
Chicago, Ill 60631
USA
Qiaobing Xie Tel: +1-847-632-3028
Motorola, Inc. EMail: qxie1@email.mot.com
1501 W. Shure Drive, #2309
Arlington Heights, IL 60004
USA
Michael Tuexen Tel: +49-89-722-47210
SIEMENS AG EMail: Michael.Tuexen@icn.siemens.de
Hofmannstr. 51
81359 Munich
Germany
Ian Rytina Tel: +61-3-9301-6164
Ericsson Australia EMail:ian.rytina@ericsson.com
37/360 Elizabeth Street
Melbourne, Victoria 3000
Australia
Stewart et.al. [Page 10]
Internet Draft SCTP Dynamic Addition of IP addresses February 2001
8. References
[RFC2960] R. R. Stewart, Q. Xie, K. Morneault, C. Sharp,
H. J. Schwarzbauer, T. Taylor, I. Rytina, M. Kalla, L. Zhang,
and, V. Paxson, "Stream Control Transmission Protocol," RFC
2960, October 2000.
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision
3", RFC 2026, October 1996.
[RFC2119] Bradner, S. "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2402] S. Kent, R. Atkinson., "IP Authentication Header.", RFC
2402, November 1998.
[RELREQ] "Generic Method for Transmitting Reliable SCTP Control
Chunks", draft-stewart-relreq-sctp-sigtran-00.txt, work in
progress.
This Internet Draft expires in 6 months from February, 2001
Stewart et.al. [Page 11]
| PAFTECH AB 2003-2026 | 2026-04-24 11:10:35 |