Network Working Group                                             X. Cui
Internet Draft                                                    Huawei
Intended status: Informational                                   X. Chen
Expires: August 2010                                        China Mobile
                                                       February 11, 2010



                   SCTP Association Changeover Guideline
                  draft-cui-tsvwg-assoc-changeover-00.txt


Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and 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 10, 2010.

Copyright Notice

   Copyright (c) 2010 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the BSD License.




Cui, et al.            Expires August 10, 2010                [Page 1]


Internet-Draft    Association Changeover Framework       February 2010




Abstract

   Sigtran specifies association-level reliable transport for signaling
   using SCTP, but in some scenarios a single association failure's
   reliability mechanism is not sufficient to achieve telco reliability.
   This document specifies procedures for an SCTP association changeover
   solution which will enable applications to meet a higher degree of
   availability. Two generic changeover solutions are presented in this
   document. One is implemented inside the SCTP protocol stack and the
   other requires SCTP and ULP to work in collaboration.



Conventions used in this document

   In examples, "C:" and "S:" indicate lines sent by the client and
   server respectively.

   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].


























Cui, et al.            Expires August 10, 2010                [Page 2]


Internet-Draft    Association Changeover Framework       February 2010


Table of Contents


   1. Introduction and Problem Statement.............................4
   2. Terminology....................................................6
   3. SCTP Association Failure Analysis..............................7
      3.1. Communication Loss........................................7
      3.2. Endpoint Terminates Association...........................8
   4. Applicability Consideration for Association Changeover.........8
   5. Generic Requirements for SCTP Association Changeover..........10
   6. New Chunks and Options........................................11
      6.1. Exchange TSN Notify (ETN) Chunk..........................11
      6.2. Exchange TSN Acknowledgement (ETA) Chunk.................14
      6.3. SCTP-Organizing Mode Negotiation Options.................17
   7. Configuration Variables.......................................17
   8. Deployment Scenarios and Solution Approach....................17
      8.1. Association Changeover Initiation........................18
      8.2. ETN Processing...........................................19
      8.3. ETA Processing...........................................20
      8.4. Error Processing.........................................21
      8.5. Association Failure with Cached ETN......................21
   9. Solution Guideline............................................21
      9.1. ULP-Organizing Changeover................................21
      9.2. SCTP-Organizing Changeover...............................21
      9.3. Negotiation for Association Changeover...................22
      9.4. Alternative Association Selection........................22
      9.5. Comparison with RFC4960..................................23
   10. Security Considerations......................................23
   11. IANA Considerations..........................................23
   12. Acknowledgments..............................................24
   13. References...................................................25
      13.1. Normative References....................................25
      13.2. Informative References..................................25
   Authors' Addresses...............................................25















Cui, et al.            Expires August 10, 2010                [Page 3]


Internet-Draft    Association Changeover Framework       February 2010


1. Introduction and Problem Statement

   Sigtran is designed for the transport of signaling in IP based
   network. The goal of Sigtran is to provide reliable transport service
   to application signaling. Most applications expect Sigtran to provide
   a non-duplication and lossless bearer transport. Applications built
   on top of Sigtran do not usually take any additional reliablility
   mechanism in and of themselves. But in fact, a single SCTP
   association cannot meet crucial requirement of some telcom
   environments. As stated in section 3.1 and 3.3 of [I-D.sigtran-
   network-management-ps], a single SCTP association cannot meet the
   requirements of current telecommunication networks. If an application
   uses multiple SCTP associations to compensate for this deficiency,
   the lack of inter-association changeover messages will lead to some
   explicit issues.

   For example, in the following scenario:

      +-------+--------+                     +--------+-------+
      |       | Assoc1 |---------------------| Assoc1 |       |
      |       |--------|                     |--------|       |
      |  eNB  | Assoc2 |---------------------| Assoc2 |  MME  |
      | S1-AP |--------|                     |--------| S1-AP |
      |       | . . .  |---------------------| . . .  |       |
      +-------+--------+                     +--------+-------+


                 Figure 1 S1-AP over SCTP Changeover Issue

   In this example, S1-AP is applied in the S1-MME interface for E-UTRAN
   to access the EPC network and SCTP provides the signaling bearer for
   S1-AP. If we establish multiple associations (Assoc1 and Assoc2) and
   when one of them is interrupted, we would meet some troubles.

   When Assoc1 is interrupted, S1-AP (working as the ULP) may retrieve
   the unsent and unacknowledged signaling messages and retransmit these
   messages to MME over the other association. But as stated in section
   3.1 of [I-D.sigtran-network-management-ps], existing mechanisms can
   not answer this situation.

   A detailed example is the eNodeB initiated E-RAB release procedure,
   which is specified in section 8.2.3.2.2 of [3GPP-TS-36413]. The
   elements of UE ID and E-RAB ID are included in the message. The
   message flow is as follows:





Cui, et al.            Expires August 10, 2010                [Page 4]


Internet-Draft    Association Changeover Framework       February 2010


           eNB                                          MME

    +----------------+                          +----------------+
    |     S1-AP      | E-RAB RELEASE INDICATION |      S1-AP     |
    |----------------|                          |----------------|
    |     SCTP       |------------------------->|       SCTP     |
    +----------------+                          +----------------+


              Figure 2 eNB Initiated E-RAB Release Indication

   If eNB resends all the retrieved messages to MME, MME may receive
   duplicate signaling messages. These duplicated messages go beyond the
   tolerance of MME.

   Considering that the association is interrupted after the S1-AP E-RAB
   RELEASE INDICATION message arrives at MME, the eNB doesn't receive
   the corresponding SACK packet. A few seconds later, the eNB would
   detect the association is lost and resend the unacknowledged messages
   when the interrupted association is reestablished or over the other
   association. But from the standpoint of the MME, after receiving the
   first S1-AP E-RAB RELEASE INDICATION message the MME would release
   the corresponding E-RAB and maybe later allocate the E-RAB for a new
   session for the same UE. If the MME receives the second E-RAB RELEASE
   INDICATION message (i.e., the duplicated one), the MME would wrongly
   release the bearer, which is used by the new session. Because bearer
   resource is only identified by UE ID and E-RAB ID, the MME can not
   distinguish the two messages.

   If the eNB doesn't resend the retrieved messages to the MME, some
   messages would be lost. Considering that the association is
   interrupted before the S1 E-RAB RELEASE INDICATION message arrives at
   MME, the MME would not receive this message and the bearer resource
   would not be released as needed.

   We can find that all signaling transactions without handshake are
   affected by this problem and other signaling transactions with
   handshake may meet similar troubles. For example,










Cui, et al.            Expires August 10, 2010                [Page 5]


Internet-Draft    Association Changeover Framework       February 2010


       Endpoint A                            Endpoint B
     ULP         SCTP                      SCTP        ULP
      |  Request  |                         |           |
      |-----------|      DATA (Request)     |           |
      |           |  ---------------------> |  Request  |
      |           |               SACK      |-----------|
      |           |        (lost) <-------  |  Response |
      |           |       DATA (Response)   |-----------|
      |           |     <-----------------  |           |
      |  Response |                         |           |
      |-----------|                         |           |



                Figure 3 Transaction Acknowledgement Issue

   In this case, ULP of endpoint B receives the ULP Request message and
   responds ULP Response message. But in the IP layer, endpoint A maybe
   receives the DATA chunk containing ULP Response but doesn't receive
   the SACK chunk for the ULP Request chunk. (There is no sequence
   guarantee in the IP layer.) The transaction of ULP is accomplished
   successfully but SCTP still sees the Request message as
   unacknowledged. If endpoint A resends the ULP Request in SCTP layer,
   the confusion would happen in the peer endpoint because of the
   duplicated Request message. If the ULP of endpoint A retrieves the
   unacknowledged messages from SCTP, the SCTP layer will provide this
   unacknowledged message, which is in fact transmitted successfully.
   The ULP also can not recognize this Request message from the finished
   transaction.

   So, the existing sigtran solutions cannot meet the network
   requirements and the SCTP association changeover mechanism SHOULD be
   provided.

2. Terminology

   All the Sigtran related terms used in this document are to be
   interpreted as defined in Stream Control Transmission Protocol
   [RFC4960].

   This document also provides the following context-specific
   explanation to the following terms used in this document. These terms
   are defined in 3GPP specifications.

   eNodeB (eNB)




Cui, et al.            Expires August 10, 2010                [Page 6]


Internet-Draft    Association Changeover Framework       February 2010


   The eNodeB is the radio station of 3GPP's future LTE wireless
   communication standard.

   Evolved Packet Core (EPC)

   EPC is the core network architecture of 3GPP's future LTE wireless
   communication standard.

   E-RAB

   An E-RAB uniquely identifies the concatenation of an S1 Bearer and
   the corresponding Data Radio Bearer.

   E-UTRAN

   E-UTRAN is the Evolved Universal Terrestrial Radio Access Network in
   3GPP standard.

   Mobility Management Entity (MME)

   MME is the key control plane entity within Evolved Packet Core. MME
   functions include Non-Access-Stratum signaling, mobility management,
   Bearer management, etc.

   S1

   Interface between an eNB and an EPC, providing an interconnection
   point between the E-UTRAN and the EPC.

   S1-MME

   The S1-MME is a reference point for the control plane protocol
   between E-UTRAN and MME in 3GPP standard.

3. SCTP Association Failure Analysis

   Many reasons can induce failure of SCTP associations and this
   document is expected to provide robust association changeover
   solutions for most association failures, to avoid message loss and
   duplication.

3.1. Communication Loss

   Communication loss can be detected by SCTP endpoints. The failure
   detection mechanism can use Data and Heartbeat chunks to achieve this
   function. The reason for communication loss may be IP network trouble
   or endpoint issues. Since SCTP uses multihoming, IP network trouble


Cui, et al.            Expires August 10, 2010                [Page 7]


Internet-Draft    Association Changeover Framework       February 2010


   is usually the common bar for all associations. Association
   changeover can only overcome some communication loss cases.

3.2. Endpoint Terminates Association

   Sometimes an endpoint terminates the association by graceful (i.e.,
   shutdown) or ungraceful (i.e., abort) manner. The ungraceful
   termination could bring message loss.

   The following issues may lead to ungraceful association termination.

   o The endpoint host is out of resource. When the endpoint host runs
      into overloading status, it may send ABORT chunk to the peer
      endpoint to terminate this association and offload the traffic.

   o There is a protocol violation i.e., a disturbing packet. When the
      endpoint receives a disturbing packet, such as a DATA chunk
      without user data or a SACK acknowledging an invalid TSN, it will
      send an ABORT chunk to the peer endpoint.

   o Some maintenance mistakes happen. For example, if the administrator
      reconfigures and restarts the association with new addresses when
      the association is in ESTABLISHED state, the peer endpoint would
      send an ABORT chunk to abort the association.

   o User initiates abort in one endpoint. When SCTP layer gets this
      indication it will send an ABORT chunk to the peer endpoint. The
      terminating endpoint may have prepared for the ungraceful
      termination but the peer endpoint does not, the peer endpoint
      needs some repair mechanism.

4. Applicability Consideration for Association Changeover

   This section is intended to present some consideration on the
   applicability of association changeover mechanism. Association
   changeover mechanism is expected to enhance the reliability of
   signaling transport even in some extreme situations, and further to
   improve the performance of signaling network. However, SCTP
   association changeover runs in the SCTP layer or upper layers, so it
   hardly conquers the troubles of IP layer. SCTP association changeover
   is designed for the unexpected troubles of SCTP layer, which are
   introduced in the development practice.

   For example, in the basic scenario where "M3UA+SCTP" protocol stack
   is used, many ASP sites may connect to the SGP site by multiple SCTP
   associations, and "n+k" model is applied in M3UA layer. The network
   architecture is as follows:


Cui, et al.            Expires August 10, 2010                [Page 8]


Internet-Draft    Association Changeover Framework       February 2010


                                 --------------Site C (ASP)
                                /
       +---------+---------+   /
       |         | Assoc x |---   active         +---------+--------+
       |         | Assoc 1 |---------------------| Assoc 1 |        |
       |         |---------|      active         |---------|        |
       |         | Assoc 2 |---------------------| Assoc 2 |        |
       | Site A  |---------|      active         |---------| Site B |
       | (SGP)   | . . .   |---------------------| . . .   | (ASP)  |
       |         |---------|      inactive       |---------|        |
       |         | Assoc k |---------------------| Assoc k |        |
       |         |---------|                     |---------|        |
       |         | . . .   |---------------------| . . .   |        |
       +---------+---------+                     +---------+--------+

                    Figure 4 Association Overload Issue

   In existing devices, associations are usually implemented in
   distributed board/host. For example, in site A, association A1 is in
   board/host A1, association A2 is in board/host A2, etc.. In site B,
   association B1 is in board/host B1, association B2 is in board/host
   B2, and so on. Furthermore, association x of site A is also in
   board/host A1. (This is a very usual case, where multiple
   associations are provided in one board/host). From the standpoint of
   site A, site B and site C may be connected in different board/host
   sets, because it is very unreasonable that requiring same board/host
   and association amount configured for different peer sites.

   In the setup stage, M3UA of Site B uses association B1~Bn (i.e., the
   active ASPs) in load balancing, and M3UA of site A also takes those.
   Note the association set is selected by site B since site B is in ASP
   role and sends ASP UP / ASP ACTIVE messages. And Site C also connects
   to Site A as Site B does.

   Board B1~Bn of Site B are balanced at this time but unfortunately
   that is not true in site A, because there are more traffic in
   board/host A1 (from and to Site C). So board/host A1 may be
   overloaded. This result is because two intercrossed sets lead to a
   non-balanced situation, although each set is balanced. (For example,
   in site A, board #1, #2, #3 and #4 are for Site B, while board #1,
   #5, #6 and #7 are for Site C, board #1 may be overloaded.)

   In this situation (i.e., board/host A1 is overloaded), association A1
   SHOULD send an "Out of Resource" indication to the peer node to
   offload part traffic from board/host A1.




Cui, et al.            Expires August 10, 2010                [Page 9]


Internet-Draft    Association Changeover Framework       February 2010


   If we use rwnd==0 indication (no receiving buffer resource), the
   association of #1 is still established, the corresponding M3UA ASP is
   still active, and the traffic of user part is still partly delivered
   to the association in both sites of A and B. The endpoints will
   buffer the messages more and more (at least in B to A direction),
   until message buffer overflow or association termination. This is not
   the desired result.

   If we use Abort indication (Out of Resource, which means no resource
   of CPU, memory or others), the association of #1 between site A and
   site B is terminated immediately and the corresponding M3UA ASP
   becomes inactive too. Then M3UA layer would activate ASP k (e.g. the
   association which is board/host #8), which is standby, to active
   status. So the active bearer role is transferred from #1 to #k, and
   the traffic is transferred in the same time. As a result, the load of
   board/host A1 is decreased while association #x to site C is still
   active. This provides a dynamic and robust load balancing mechanism
   for site A.

5. Generic Requirements for SCTP Association Changeover

   As analyzed in [I-D.sigtran-network-management-ps], the essential
   requirement is that the endpoint pair can exchange the accurate
   transmission information, so each endpoint can know which messages
   are really not received by the peer endpoint and later the
   unacknowledged messages can be retransmitted to the peer endpoint.

   Two modes of association changeover are considered in this document.
   The first mode is ULP-Organizing mode, the requirements of this mode
   include following:

   o The ULP can retrieve the exactly unsent and unacknowledged messages
      in sequence.

   o The ULP/SCTP can find out the alternative association(s) to
      retransmit the unsent and unacknowledged messages.

   o If more than one alternative associations are available for
      retransmission, only one association can be selected for the
      messages requiring sequence delivery.

   o For the messages that don't require sequence delivery, all the
      available alternative association(s) may be used and load
      balancing may be considered.

   The second mode is SCTP-Organizing mode, the requirements of this
   mode include following:


Cui, et al.            Expires August 10, 2010               [Page 10]


Internet-Draft    Association Changeover Framework       February 2010


   o The ULP need not to retrieve the messages that have been
      transferred to SCTP layer. The ULP may take SCTP layer as an
      entirely reliable transport.

   o The SCTP layer can find out the alternative association(s) to
      retransmit the unsent and unacknowledged messages.

   o The SCTP layer can exchange the acknowledgement information with
      the peer endpoint, retrieve the unsent and acknowledged messages
      from the interrupted association and resend these messages in the
      alternative association(s).

   o If more than one alternative associations are available for
      retransmission, only one association can be selected for the
      messages requiring sequence delivery.

   o For the messages that don't require sequence delivery, all the
      available alternative association(s) may be used and load
      balancing may be considered.

   The ULP and SCTP layer of the endpoint can negotiate the expected
   association changeover mode by existing primitives and the endpoint
   can also negotiate that with the peer endpoint during the association
   initiation.

   An issue in SCTP-Organizing mode needs more consideration. During the
   SCTP layer is implementing the association changeover, the unsent and
   unacknowledged messages (earlier generated by ULP) are retransmitted
   in the alternative association(s), but the interrupted association is
   reestablished and the ULP begin to transmit new messages in the
   association. So there is such a possibility that the ULP messages
   which are transported in the reestablished association arrive at the
   peer endpoint earlier than the ULP messages which are transported in
   the alternative association(s). This mis-sequence delivery problem
   may be avoided if the ULP doesn't begin to transmit ULP messages
   until the association has already completed a period of transport
   test. The details of this case are for further study.

6. New Chunks and Options

6.1. Exchange TSN Notify (ETN) Chunk

   The Exchange TSN Notify chunk is used for the following purposes:

   To notify the sender's data acknowledgement information.




Cui, et al.            Expires August 10, 2010               [Page 11]


Internet-Draft    Association Changeover Framework       February 2010


   To request retransmission of the unsent and unacknowledged messages
   in the SCTP-Organizing mode. The receiver of ETN SHOULD retransmit
   the unsent and unacknowledged messages in the SCTP-Organizing mode.

   To indicate the available alternative association(s) in the SCTP-
   Organizing mode. The receiver of ETN SHOULD retransmit the unsent and
   unacknowledged messages in the association(s) from which the Exchange
   TSN Notify chunk is received.

   The format of Exchange TSN Notify chunk is shown below:

   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 = TBD1 |   Reserved  |R|         Chunk Length          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Address Type = 5/6       |      Address Length = 8/20    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                  Primary Source IP Address                    |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Address Type = 5/6       |      Address Length = 8/20    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |               Primary Destination IP Address                  |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source Port Number        |     Destination Port Number   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Corresponding Verification Tag               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Cumulative TSN Ack                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Reserved              |  Number of Gap Ack Blocks = N |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Gap Ack Block #1 Start       |   Gap Ack Block #1 End        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   /                                                               /
   \                             . . .                             \
   /                                                               /
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Gap Ack Block #N Start      |  Gap Ack Block #N End         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Type (Mandatory): 8 bits (unsigned integer)


Cui, et al.            Expires August 10, 2010               [Page 12]


Internet-Draft    Association Changeover Framework       February 2010


      Set to TBD1 (allocated by IANA). The highest-order 2 bits of TBD1
      SHOULD be '11'. When the receiver receives this chunk but does not
      support it, the receiver SHOULD skip this chunk and continue
      processing, but report in an ERROR chunk using the 'Unrecognized
      Chunk Type' cause of error.

   Chunk Flags (Mandatory): 8 bits (unsigned integer)

      Reserved: 7 bits

      Should be set to all '0's and ignored by the receiver.

      R bit: 1 bit

      The (R)etransmission bit, if set to '1', indicates that the SCTP
      layer of the receiver is requested to retransmit the unsent and
      unacknowledged messages which are belong to the interrupted
      association.

      The value of '0' is used for ULP-Organizing mode and the value of
      '1' is used for SCTP-Organizing mode.

   Chunk Length (Mandatory): 16 bits (unsigned integer)

      This field indicates the length of the Exchange TSN Notify chunk
      in bytes from the beginning of the type field to the end of the
      chunk.  In IPv4 network environment, an Exchange TSN Notify chunk
      without Gap Ack Blocks will have Length set to 36 and an Exchange
      TSN Notify chunk with N Gap Ack Blocks will have Length set to 36
      + N*4. In IPv6 network environment, an Exchange TSN Notify chunk
      without Gap Ack Blocks will have Length set to 60 and an Exchange
      TSN Notify chunk with N Gap Ack Blocks will have Length set to 60
      + N*4.

   Address Type (Mandatory): 16 bits (unsigned integer)

      Set to 5 if the IP address is IPv4 address or set to 6 if the IP
      address is IPv6 address.

   Primary Source IP Address (Mandatory): 32 bits or 128 bits (unsigned
   integer, depending on the address Type)

      Set to the primary source IP address of the interrupted
      association which needs changeover.

   Primary Destination IP Address (Mandatory): 32 bits or 128 bits
   (unsigned integer, depending on the address Type)


Cui, et al.            Expires August 10, 2010               [Page 13]


Internet-Draft    Association Changeover Framework       February 2010


      Set to the primary destination IP address of the interrupted
      association which needs changeover.

   Source Port Number (Mandatory): 16 bits (unsigned integer)

      Set to the source port number of the interrupted association which
      needs changeover.

   Destination Port Number (Mandatory): 16 bits (unsigned integer)

      Set to the destination port number of the interrupted association
      which needs changeover.

   Corresponding Verification Tag (Mandatory): 32 bits (unsigned
   integer)

      Set to the Verification Tag of the interrupted association, which
      is specified in [RFC4960].

   The format and meaning of the Cumulative TSN Ack (Mandatory), Number
   of Gap Ack Blocks (Mandatory) and Gap Ack Block parameters
   (Conditional) are the same as for the Selective Acknowledgement chunk
   defined in section 3.3.4 of [RFC4960]. The exception is that some
   TSNs that were previously acknowledged via SACK Gap Ack Block MAY be
   reneged by the sender of ETN. (See Section 8 for information on
   reneging.)

   Note that both endpoints of the interrupted association may send
   Exchange TSN Notify chunk and may send the packet in different
   alternative association(s). The retransmission of the unacknowledged
   messages in different direction may be retransmitted in different
   association(s).

6.2. Exchange TSN Acknowledgement (ETA) Chunk

   The Exchange TSN Acknowledgement chunk is used for the following
   purposes:

   To acknowledge the corresponding Exchange TSN Notify chunk.

   To notify the ETA sender's data acknowledgement information.

   To request the retransmission of the unsent and unacknowledged
   messages in SCTP-Organizing mode. The receiver of ETA SHOULD
   retransmit the unsent and unacknowledged messages in the SCTP-
   Organizing mode.



Cui, et al.            Expires August 10, 2010               [Page 14]


Internet-Draft    Association Changeover Framework       February 2010


   To indicate the alternative association(s) in the SCTP-Organizing
   mode. The receiver of ETA SHOULD retransmit the unsent and
   unacknowledged messages in the association(s) from which the ETA
   chunk is received.

   The format of Exchange TSN Acknowledgement chunk is shown below:

   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 = TBD2 |    Status   |R|         Chunk Length          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Address Type = 5/6       |      Address Length = 8/20    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                  Primary Source IP Address                    |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Address Type = 5/6       |      Address Length = 8/20    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |               Primary Destination IP Address                  |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Source Port Number        |     Destination Port Number   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Corresponding Verification Tag               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Cumulative TSN Ack                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Reserved              |  Number of Gap Ack Blocks = N |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Gap Ack Block #1 Start       |   Gap Ack Block #1 End        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   /                                                               /
   \                             . . .                             \
   /                                                               /
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Gap Ack Block #N Start      |  Gap Ack Block #N End         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Type (Mandatory): 8 bits (unsigned integer)

      Set to TBD2 (Allocated by IANA). The highest-order 2 bits of TBD2
      SHOULD be '11'. When the receiver receives this chunk but does not
      support it, the receiver SHOULD skip this chunk and continue


Cui, et al.            Expires August 10, 2010               [Page 15]


Internet-Draft    Association Changeover Framework       February 2010


      processing, but report in an ERROR chunk using the 'Unrecognized
      Chunk Type' cause of error.

   Status (Mandatory): 7 bits (unsigned integer)

      A 7-bit unsigned integer indicating the disposition of the TSN
      exchange and association changeover.

      Values of the Status field less than 64 indicate that the
      corresponding Exchange TSN Notify was accepted by the sender.
      Values greater than or equal to 64 indicate that the corresponding
      Exchange TSN Notify was rejected by the sender.

      0000000: Exchange TSN Notify chunk is received.

      0000001: Exchange TSN Notify chunk is received and local data
               acknowledgement information is provided.

      1xxxxxx: Reject acknowledgement.

      Other values: Reserved.

   R bit (Mandatory): 1 bit (unsigned integer)

      The (R)etransmission bit, if set to '1', indicates that the SCTP
      layer of the receiver is requested to retransmit the unsent and
      unacknowledged messages which are belong to the interrupted
      association. The sender of ETA SHOULD set 'R' bit to '1' only when
      the value of Status field of the ETA chunk is 0000001 (in current
      version), that means the endpoint can request the peer's SCTP
      layer retransmission by ETA only when it accepts the peer's ETN
      and provides the data acknowledgement information of itself.

      The value of '0' is used for ULP-Organizing mode and the value of
      '1' is used for SCTP-Organizing mode.

   The format and description of Chunk Length, Address Type, Primary
   Source IP Address, Primary Destination IP Address, Source Port
   Number, Destination Port Number, Corresponding Verification Tag,
   Cumulative TSN Ack, Number of Gap Ack Blocks and Gap Ack Block
   parameters are the same as for the Exchange TSN Notify Chunk
   (section 6.1). The exceptions include:

   Cumulative TSN Ack, Number of Gap Ack Blocks and Gap Ack Block
   parameters are Conditional parameters. These parameters can be
   included in ETA chunk only when the Status value of ETA chunk is
   0000001 (in current version).


Cui, et al.            Expires August 10, 2010               [Page 16]


Internet-Draft    Association Changeover Framework       February 2010


6.3. SCTP-Organizing Mode Negotiation Options

   TBD.



7. Configuration Variables

   Changeover Timer

   The SCTP layer SHOULD start this timer after the association is
   terminated unexpectedly or ungracefully. During this timer is
   running, the SCTP layer SHOULD keep all the parameters about the
   terminated association and all the unsent and unacknowledged
   messages.

   The default value of Changeover Timer is 10 seconds.

8. Deployment Scenarios and Solution Approach

   In this deployment scenario, more than one associations are
   established between the endpoint pair and the SCTP layer is supposed
   to be able to provide local management function (e.g. alternative
   association selection).

      +-------+--------+                     +--------+-------+
      |       | Assoc1 |---------------------| Assoc1 |       |
      |       |--------|                     |--------|       |
      |  ULP  | Assoc2 |---------------------| Assoc2 |  ULP  |
      |       |--------|                     |--------|       |
      |       | . . .  |---------------------| . . .  |       |
      +-------+--------+                     +--------+-------+
















Cui, et al.            Expires August 10, 2010               [Page 17]


Internet-Draft    Association Changeover Framework       February 2010


       Endpoint A         IP network                Endpoint  B
   ULP           SCTP       |                   SCTP           ULP
    |  SEND (data) |        |                    |  SEND (data) |
    |------------->|>       |                    |<-------------|
    |              | \      | data               |              |
    |              |  >-----|------------------->|              |
    | Assoc#1 LOST |        |                    | Assoc#1 LOST |
    |<-------------|        |                    |------------->|
    |             /|        |                    |\             |
    |            / |        |                    | \            |
    |           || |        |                    | ||           |
    |           |\ |   Exchange TSN of #1 in #2  | /|           |
   unacked data | \|<-------|------------------->|/ | unacked data
    |<--------  |  |        |                    |  |  -------->|
    |            \ |        |                    | /            |
    |             \| (reSEND unacknowledged data)|/             |
    |<------------>|<-------|------------------->|<------------>|


           Figure 5 SCTP TSN Exchange and Association Changeover

   The basic purpose of ETN/ETA chunk exchange is restoring the accurate
   data transmission information, so the SCTP layer can update the
   status and provide the right unacknowledged messages to ULP in ULP-
   Organizing mode or resend the messages in SCTP-Organizing mode.

   In SCTP-Organizing mode, the ETN/ETA can additionally request the
   peer endpoint to retransmit the unsent and unacknowledged messages.
   In this case, the SCTP layer may transfer all unsent and
   unacknowledged messages from the interrupted association to the
   alternative association(s) and resend these messages after receiving
   the retransmission request in ETN/ETA chunk. The principle of
   alternative association selection is specified in section 9.4.

8.1. Association Changeover Initiation

   When SCTP layer detects association interruption, SCTP layer sends
   notification to ULP as specified in [RFC4960]. If the association is
   terminated unexpectedly or ungracefully, and there is not any cached
   ETN for the association, the SCTP layer SHOULD simultaneously
   implement the following operations:

   o  SCTP layer starts the Changeover Timer and caches the data
      transmission information of the interrupted association (e.g. Last
      Rcvd TSN and Mapping Array of the association TCB), holds the
      unsent and unacknowledged messages until the unsent and



Cui, et al.            Expires August 10, 2010               [Page 18]


Internet-Draft    Association Changeover Framework       February 2010


      unacknowledged messages are retrieved/retransmitted or the
      Changeover procedure is finished.

   o  SCTP layer releases all the messages buffered in the Receiving
      Queue and Reasm Queue and reneges them as unacknowledged.

   o  SCTP layer chooses alternative association(s) for the interrupted
      association as specified in section 9.4.

   o  SCTP layer broadcasts Exchange TSN Notify chunk to the peer
      endpoint in the selected alternative association(s). The IP
      address, port number and Corresponding Verification Tag of the
      interrupted association MUST be included in the Exchange TSN
      Notify message to identify the corresponding association. The
      cumulative acknowledged TSN and gap acknowledged TSN block are
      included in the message to indicate which DATA chunks have been
      successfully received by the message sender. In ULP-Organizing
      mode the Chunk Flags of ETN SHOULD be set to 00000000 (i.e., 'R'
      bit is set to '0'), and in SCTP-Organizing mode the Chunk Flags of
      ETN SHOULD be set to 00000001 (i.e., 'R' bit is set to '1').

   o  The ETN chunk is control chunk but a separate T3-rtx SHOULD be
      applied. The applied T3-rtx timer is stopped when the
      corresponding ETA or ERROR chunk is received.

   o  When SCTP layer receives the corresponding ETA or ERROR chunk it
      MUST stop the running Changeover Timer.

   o  All the buffered parameters and messages for the interrupted
      association MUST be released when the Changeover procedure is
      finished.

8.2. ETN Processing

   When SCTP layer receives Exchange TSN Notify message and the endpoint
   supports the SCTP Exchange/Changeover function, SCTP layer SHOULD
   implement the following operations:

   o  SCTP layer swaps the Primary Source IP Address and the Primary
      Destination Address included in the received ETN chunk.

   o  SCTP layer swaps the Source Port Number and Destination Port
      Number included in the received ETN chunk.

   o  SCTP layer checks whether the Primary Source IP Address, Primary
      Destination Address, Source Port Number and Destination Port
      Number identify an existing association and whether the


Cui, et al.            Expires August 10, 2010               [Page 19]


Internet-Draft    Association Changeover Framework       February 2010


      Verification Tag matches. If there is no corresponding
      association, the SCTP layer MUST respond a reject ETN and finish
      the changeover procedure.

   o  SCTP layer chooses alternative association(s) for the interrupted
      association as specified in section 9.4. Only the association(s)
      that can meet both remote endpoint (the associations carrying ETN
      chunk) and local endpoint can be selected as the alternative
      association(s).

   o  SCTP layer caches the ETN chunk and checks the status of the
      corresponding association.

       o  If the corresponding association is in ESTABLISHED status, the
         SCTP layer responds ETA chunk with Status value 0000000 for
         each received ETN chunk. No Cumulative TSN Ack, Number of Gap
         Ack Blocks and Gap Ack Block parameters are included in the ETA
         chunk. The 'R' bit of ETA MUST be set to '0' in this case.

       o  If the corresponding association has been recognized as
         interrupted, the SCTP layer SHOULD respond ETA chunk with
         Status value 0000001, and additionally set 'R' bit of the ETA
         chunk to '1' in SCTP-Organizing mode, for each received ETN
         chunk. Cumulative TSN Ack, Number of Gap Ack Blocks and Gap Ack
         Block parameters (if there are Gap Ack Blocks) SHOULD be
         included in the ETA chunk in this case. The receiver of ETN
         SHOULD release the acknowledged messages (both cumulative
         acknowledged and gap acknowledged) in the unacknowledged
         message buffer queue. The receiver of ETN SHOULD immediately
         retransmit the unsent and unacknowledged messages when the 'R'
         bit of the received ETN chunk is set to '1'.

8.3. ETA Processing

   When SCTP layer receives Exchange TSN Acknowledgement message and the
   endpoint supports the SCTP Exchange/Changeover function, SCTP layer
   SHOULD implement the following operations:

   o  SCTP layer checks whether there is corresponding ETN chunk. If
      yes, the SCTP layer MUST release the buffered ETN chunk and stop
      the Changeover Timer. Note the unsent and unacknowledged messages
      that are buffered for the changeover is not released at this time.

   o  If the Status value of received ETA is 0000001, the received ETA
      SHOULD be buffered.




Cui, et al.            Expires August 10, 2010               [Page 20]


Internet-Draft    Association Changeover Framework       February 2010


   o  If the 'R' bit of the received ETA is set to '1', the receiver of
      ETA SHOULD immediately update the unacknowledged message queue of
      the interrupted association and retransmit the unsent and
      unacknowledged messages.

   o  SCTP layer MUST NOT respond any chunk for the received ETA chunk.

8.4. Error Processing

   When the SCTP layer receives ERROR chunk whose Cause Code equal to 6
   and the included Unrecognized Chunk is ETN, the SCTP layer SHOULD
   immediately finish the changeover procedure and release all related
   resource.

8.5. Association Failure with Cached ETN

   When SCTP layer detects association failure and a corresponding ETN
   chunk has been cached, the SCTP layer SHOULD continue the changeover
   operations as the ETN chunk is just received (e.g. responding ETA
   chunk, releasing acknowledged messages and retransmitting the unsent
   and unacknowledged messages in SCTP-Organizing mode). Note in this
   case the Status of ETA SHOULD be set to 0000001 and the
   acknowledgement information SHOULD be included in ETA.



9. Solution Guideline

9.1. ULP-Organizing Changeover

   ULP-Organizing mode is an assuasive changeover solution. The ULP MAY
   negotiate with SCTP layer for this mode or even take the basic
   implementation specified in [RFC4960] and other specifications. The
   ULP SHOULD utilize the retrieve primitives and manage the retrieved
   messages. When one association is interrupted, the ULP SHOULD
   retrieve the unsent and unacknowledged messages as normal
   specifications. The SCTP layer would provide the exactly unsent and
   unacknowledged messages to ULP. The only difference for ULP is that
   there is a little delay during the retrieve procedure. The delay time
   is about one RTT of the alternative association.

9.2. SCTP-Organizing Changeover

   SCTP-Organizing mode is an intense changeover solution. The endpoint
   SHOULD negotiate not only between local inner layers but also with
   the peer endpoint for this mode. When one association is terminated,
   the SCTP layer can exchange the acknowledgement information with the


Cui, et al.            Expires August 10, 2010               [Page 21]


Internet-Draft    Association Changeover Framework       February 2010


   peer endpoint, retrieve the unsent and acknowledged messages from the
   interrupted association and resend these messages in the alternative
   association(s). Local management functionality of SCTP layer is
   needed in this mode. The ULP need not care about the messages have
   been transferred to SCTP layer but SHOULD consider the relative pace
   between ULP and the SCTP layer.

9.3. Negotiation for Association Changeover

   TBD.



9.4. Alternative Association Selection

   When an abnormal association failure is detected, the available
   alternative association(s) may be searched for changeover purpose.
   The alternative association(s) MUST meet the following principle:

   1, The alternative association(s) MUST connect the same endpoint pair
      as the interrupted association. The source IP address and
      destination IP address of the associations MUST be matched.

   2, The alternative association(s) MUST provide service to the same
      ULP process as the interrupted association. Note the endpoint can
      only check locally that the alternative association(s) and
      interrupted association provide service to same ULP process.

   3, The initiator of changeover broadcasts ETN chunk in all of its
      candidate association(s), which means all the association(s)
      delivering ETN are available for the initiator endpoint.

   4, The receiver of ETN selects alternative association(s) as bullet 1
      and 2 of this section among the associations which the ETN chunk
      is delivered in, and additionally respond ETA in the final
      alternative association(s).

   5, The exchange of ETN/ETA can find out the right alternative
      association(s) for both endpoints. Each endpoint can only use the
      association(s) that delivering both ETN and ETA chunk as the
      alternative association(s).

   6, For the messages requiring sequence delivery only one alternative
      association can be selected and for other messages all alternative
      association(s) may be used.




Cui, et al.            Expires August 10, 2010               [Page 22]


Internet-Draft    Association Changeover Framework       February 2010


9.5. Comparison with RFC4960

   This document specifies some enhancement for basic SCTP
   specification. The extensions consist of following:

   The status and buffered outbound messages (in outbound transmission
   queue and retransmission queue) of an abnormal interrupted
   association SHOULD be kept for certain duration.

   The buffered inbound messages (in inbound receiving queue and
   reassembly queue) of an abnormal interrupted association SHOULD be
   released (same to [RFC4960]) and explicitly reneged.

   The SCTP layer SHOULD be able to run a timer for the changeover
   procedure.

   The SCTP layer SHOULD be able to exchange the accurate data
   acknowledgement status by ETN/ETA chunks in changeover procedure.

   The SCTP layer SHOULD be able to select the alternative
   association(s) in changeover procedure.

   In ULP-Organizing mode, when the SCTP layer receives retrieve
   primitives while the ETN is not acknowledged, the SCTP layer SHOULD
   be able to hold the retrieve request and respond after the ETA chunk
   is received.

   In SCTP-Organizing mode, the SCTP layer SHOULD be able to retrieve
   the unsent and unacknowledged messages from the interrupted
   association and resend these messages in the alternative
   association(s).



10. Security Considerations

   Security considerations regarding changeover are needed. The security
   solution SHOULD fulfill the requirements of all involved nodes and
   the signaling traffic.

11. IANA Considerations

   TBD1 and TBD2 are new SCTP chunk type. IANA is requested to assign
   the new type values for these two types of SCTP chunk.





Cui, et al.            Expires August 10, 2010               [Page 23]


Internet-Draft    Association Changeover Framework       February 2010


12. Acknowledgments

   The authors would like to especially thank Randall Stewart for his
   review and valuable comments.












































Cui, et al.            Expires August 10, 2010               [Page 24]


Internet-Draft    Association Changeover Framework       February 2010


13. References

13.1. Normative References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4960] Stewart, R., "Stream Control Transmission Protocol",
             RFC 4960, September 2007.

13.2. Informative References

   [I-D.sigtran-network-management-ps] Xiangsong, C. and X. Chen,
             "Problem Statement for Sigtran Network Management",
             draft-cui-tsvwg-snm-ps-00.txt, (work in progress), January
             2010.

   [3GPP-TS-36413] 3GPP, Evolved Universal Terrestrial Radio Access
             Network (E-UTRAN); S1 Application Protocol (S1AP) (Release
             9), December 2009.

Authors' Addresses

   Xiangsong Cui
   Huawei Technologies
   KuiKe Bld., No.9 Xinxi Rd.,
   Shang-Di Information Industry Base,
   Hai-Dian District, Beijing, P.R. China, 100085

   Email: Xiangsong.Cui@huawei.com


   Xu Chen
   China Mobile
   53A XiBianMennei Ave, XuanWu District, Beijing, China
   Phone: 86 10 15801696688 3163
   Email: chenxu@chinamobile.com











Cui, et al.            Expires August 10, 2010               [Page 25]