PPP Working Group                                         Richard Shea
INTERNET DRAFT                                            Bay Networks
Category: Internet Draft
Title: draft-ietf-pppext-l2tpdwin-00.txt
Date: June 1998


                         L2TP Dynamic Data Window Adjustment


Status of this Memo

   This document is an Internet-Draft.  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.  Internet-Drafts may be updated, replaced, or obsoleted by
   other documents at any time.  It is not appropriate to use Internet-
   Drafts as reference material or to cite them other than as a
   ``working draft'' or ``work in progress.''

   To learn the current status of any Internet-Draft, please check the
   1id-abstracts.txt listing contained in the Internet-Drafts Shadow
   Directories on ds.internic.net, nic.nordu.net, ftp.nisc.sri.com, or
   munnari.oz.au.

Abstract

   The Layer Two Tunneling Protocol (L2TP) defines the specification
   of congestion window sizes for data sessions.  In addition, an LNS
   is given the capability to turn off sequence number processing for
   a data session, provided the LAC did not include the Sequencing
   Required AVP during session setup.  This document specifies a
   mechanism whereby an L2TP peer can dynamically change the window
   size values being used for a data session, in order to provide the
   flexibility to operate with smaller window sizes when history-bound
   protocols are operating over a session, and larger window sizes
   when no history-bound protocols are operating over a session.

1. Introduction

   In the L2TP protocol sequence numbers are used for preserving
   packet order, detecting packet loss, and congestion control.  An
   affective window size value for congestion control is influenced in


Shea                        expires December 1998             [Page 1]


INTERNET DRAFT                                               June 1998




   opposite directions by two things.  First, in the case where
   protocols with history are being carried, the window size must be
   small enough so that forced packet loss is not excessive in the
   case of a real packet drop where resynchronization is necessary.
   At the same time, the larger the delay between the LAC and LNS, the
   larger the window size should be so that the available bandwidth
   between the LAC and LNS is not underutilized.

   Unfortunately, the L2TP protocol specifies that the window sizes
   for a session are determined when the session is established, at a
   time before it is known whether or not protocol with history will
   be operating over the session.

   It is important for L2TP to provide the flexibility to maximize
   performance for the cases where history-bound protocols are
   operating over a data session for a tunnel which is operating over
   a lossy network or where no history-bound protocols are operating
   over a data session being tunneled over a high-delay path.  Because
   the knowledge of whether history-bound protocols will be operating
   over a data session is not known at the time of session setup, a
   mechanism for dynamically updating the data session window sizes is
   needed.

1.1 Conventions

   The following language conventions are used in the items of
   specification in this document:

      o   MUST, SHALL, or MANDATORY -- This item is an absolute
         requirement of the specification.

      o   SHOULD or RECOMMEND -- This item should generally be followed
         for all but exceptional circumstances.

      o   MAY or OPTIONAL -- This item is truly optional and may be
         followed or ignored according to the needs of the implementor.

1.2 Terminology

   This draft assumes the reader is knowledgable about terms found in
   [1].  In addition, the following terms are used in this document:

   History-Bound Protocol

      Any protocol where secondary information is passed along with
      data in the protocol packets where synchronization of such
      secondary information between the two peers is necessary, and
      where this synchronization takes place across packet


Shea                        expires December 1998             [Page 2]


INTERNET DRAFT                                               June 1998



      boundaries.  This is a typical property of compression and
      sometimes encryption protocols, although most protocols also
      have an operational mode where synchronization across packet
      boundaries is not necessary.

2. Protocol overview

   The current practice for L2TP is for window sizes to be indicated
   at the time of session setup, and for these window sizes to remain
   the same for the life of the session.

   This document describes an operational addition to L2TP to allow
   data session window sizes to change during the life of a data
   session.

   An L2TP implementation SHOULD start the session with a window size
   which is appropriate for maximizing performance assuming that a
   history-bound protocol will not be used during the life of the
   session (this includes the option of no flow control).  Ideally
   this is done with knowledge of the bandwidth and delay
   characteristics of the path between the LAC and LNS.  It is
   RECOMMENDED that the bandwidth and delay for the path between an
   LNS and LAC be configurable.

   When a history-bound protocol is negotiated within the data
   session, the window size MUST be changed to a value which is
   appropriate for maximizing performance for history-bound
   protocols.  If the data session is tunneled over a path which is
   known to be reliable, or PPP reliable mode ([2]) has been
   negotiated for the data session the window size MUST NOT be changed
   due to detected negotiation of a history-bound protocol.  This
   document recommends a window size between 2 and 4 for data sessions
   where a history-bound protocol is operating and reliability is not
   provided by PPP or for the path between the LAC and LNS.

   An implementation MAY start with a window size appropriate for a
   data session where a history-bound protocol is operating, and later
   increase the window size based on history-bound protocols not being
   in operation over the data session.

   An implementation MAY also change the window size to provide larger
   window sizes for some data session and smaller window sizes for
   other data sessions, based on other criteria.  This may be decided,
   for example, based on the authentication credentials for each
   session.

3. Protocol additions

   This document specifies no new AVPs or message types, but does


Shea                        expires December 1998             [Page 3]


INTERNET DRAFT                                               June 1998



   specify the use of an existing AVP in a message that it currently
   is not found in.

   The Receive Window Size AVP is used to communicate the changing of
   window size after a session has been established.  This is done by
   including the Receive Window Size AVP in the Set-Link-Info (SLI)
   message.

   The format for this is given below.

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          L2TP Control Message Header        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Set-Link-Info             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ACCM                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Receive Window Size     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+


   The format of the L2TP control message header, message type AVP,
   and ACCM AVP in the Set-Link-Info message are given in [1].


   Receive Window Size

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |1|0|0|0|0|0|         8         |               0               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              10               |              Size             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Receive Window Size AVP encodes the window size being advertised
   for this call.  Attribute is 10, indicating Receive Window Size,
   and is marked optional for purposes of compatibility with peers who
   do not support this document.  This AVP is optional.  The Size
   value indicates the number of received data packets the sender of
   the SLI will buffer for this call, which is also the maximum number
   of data packets the receiver of the SLI should send before waiting
   for an acknowledgment.

   Upon reception of the SLI with Receive Window Size AVP, the
   receiver of the SLI MUST begin operating under the rules for
   Receive Window Size AVP values received during data session setup.
   The receiver of the Receive Window Size AVP in the SLI SHOULD also
   send their own SLI with Receive Window Size AVP present based on


Shea                        expires December 1998             [Page 4]


INTERNET DRAFT                                               June 1998



   the value that was received.  A Receive Window Size AVP value sent
   in an SLI message prompted by the reception of Receive Window Size
   AVP in an SLI should reflect the same nature of change for the
   local receive window size change as was caused by the change in the
   peer's receive window size.

4. Security Considerations

   Security is not addressed in this document.

References

   [1] A. Valencia, et al, "Layer Two Tunneling Protocol", Work In
       Progress: draft-ietf-pppext-l2tp-11.txt, May 1998

   [2] D. Rand, "PPP Reliable Transmission". RFC 1663


Author's Address

   Richard Shea
   Bay Networks
   125 Nagog Park
   Acton, Massachusetts 01720
   rshea@BayNetworks.com
























Shea                        expires December 1998             [Page 5]

INTERNET DRAFT                                               June 1998