Subject: Re: [Capwap] Issue 5: Proposed text for Benefits of Using UDP-Lite?

From: "Pat Calhoun (pacalhou)" <[email-masked]>
Date: Fri, 16 Nov 2007 15:36:24 -0800

This issue is marked closed as no comments have been received since
posting 
the proposed text on 10/12/07. It is fixed in
draft-ietf-capwap-protocol-
specification-08.txt

PatC 

-----Original Message-----
From: Pat Calhoun (pacalhou) 
Sent: Friday, October 12, 2007 11:32 AM
To: [email-masked]
Subject: [Capwap] Issue 5: Proposed text for Benefits of Using UDP-Lite?

All,

Please find the proposed text for the IPv6/UDP-Lite issue below.

<proposed text>
3.  CAPWAP Transport

   Communication between a WTP and an AC is established using the
   standard UDP client/server model.  The CAPWAP protocol supports both
   UDP and UDP-Lite [11] transport protocols.  When run over IPv4, UDP
   is used for the CAPWAP control and data channels.

   When run over IPv6, the CAPWAP control channel always uses UDP, while
   the CAPWAP data channel may use either UDP or UDP-Lite.  UDP-Lite is
   the default transport protocol for the CAPWAP data channel.  However,
   if a middlebox or IPv4 to IPv6 gateway has been discovered, UDP is
   used for the CAPWAP data channel.

   This section describes how the CAPWAP protocol is carried over IP and
   UDP/UDP-Lite transport protocols.  The CAPWAP Transport Protocol
   message element Section 4.6.12 describes the rules to use in
   determing which transport protocol is to be used.

3.1.  UDP Transport

   One of the CAPWAP protocol requirements is to allow a WTP to reside
   behind a middlebox, firewall and/or Network Address Translation (NAT)
   device.  Since a CAPWAP session is initiated by the WTP (client) to
   the well-known UDP port of the AC (server), the use of UDP is a
   logical choice.  The UDP checksum field in CAPWAP packets MUST be set
   to zero.

   CAPWAP protocol control packets sent from the WTP to the AC use the
   CAPWAP control channel, as defined in Section 1.4.  The CAPWAP
   control port at the AC is the well known UDP port [to be IANA
   assigned].  The CAPWAP control port at the WTP can be any port
   selected by the WTP.

   CAPWAP protocol data packets sent from the WTP to the AC use the
   CAPWAP data channel, as defined in Section 1.4.  The CAPWAP data port
   at the AC is the well known UDP port [to be IANA assigned].  The
   CAPWAP data port at the WTP can be any port selected by the WTP.

3.2.  UDP-Lite Transport

   When CAPWAP is run over IPv6, UDP-Lite is the default transport
   protocol, which reduces the checksum processing required for each
   packet (compared to the use of UDP over IPv6 [13]).  When UDP-Lite is
   used, the checksum field MUST have a coverage of 8 [11].

   UDP-Lite uses the same port assignments as UDP.
[...]

4.6.  CAPWAP Protocol Message Elements
[...]

   CAPWAP Message Element                            Type Value
[...]

   CAPWAP Transport Protocol                            TBD
   CAPWAP Local IPV4 Address                            TBD
   CAPWAP Local IPV6 Address                            TBD
[...]

4.6.12.  CAPWAP Transport Protocol

   When CAPWAP is run over IPv6, the UDP-Lite or UDP transports MAY be
   used (see Section 3).  The CAPWAP IPv6 Transport Protocol message
   element is used by either the WTP or the AC to signal which transport
   protocol is to be used for the CAPWAP data channel.

   Upon receiving the Join Request, the AC MAY set the CAPWAP Transport
   Protocol to UDP-Lite in the Configuration Status Request or Image
   Data Request message if the CAPWAP message was received over IPv6,
   and the CAPWAP Local IPv6 Address message element (see
   Section 4.6.14) is present and the address matches the packet's
   source IP address.

   Upon receiving the Configuration Status Request or Image Data Request
   message, the WTP MAY set the CAPWAP Transport Protocol to UDP-Lite in
   the Configuration Status Response or Image Data Response message if
   the message was received over IPv6, and the CAPWAP Local IPv6 Address
   message element (see Section 4.6.14) is present and the address
   matches the packet's source IP address.

   For any other condition, the CAPWAP Transport Protocol MUST be set to
   UDP.

      0
      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     |   Transport   |
     +-+-+-+-+-+-+-+-+

   Type:   TBD for CAPWAP Transport Protocol

   Length:   1

   Transport:   The transport to use for the CAPWAP data channel.

      1 -  UDP-Lite The UDP-Lite transport protocol is to be used for
         the CAPWAP data channel.  Note that this option is illegal is
         either the WTP or the AC uses IPv4.

      2 -  UDP The UDP transport protocol is to be used for the CAPWAP
         data channel.

4.6.13.  CAPWAP Local IPv4 Address

   The CAPWAP Local IPv4 Address message element is sent by either the
   WTP or the AC in the Join Request, Configuration Status Request or
   Image Data Request message in order to communicate the IP Address of
   the transmitter.  The receiver uses this to determine whether a
   middlebox exists between the two peers, by comparing the source IP
   address of the packet against the value of the message element.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           IP Address                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   TBD for CAPWAP Local IPv4 Address

   Length:   4

   IP Address:   The IP Address of the sender.

4.6.14.  CAPWAP Local IPv6 Address

   The CAPWAP Local IPv6 Address message element is sent by either the
   WTP or the AC in the Discovery Response or Join Request in order to
   communicate the IP Address of the transmitter.  The receiver uses
   this to determine whether a middlebox exists between the two peers,
   by comparing the source IP address of the packet against the value of
   the message element.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           IP Address                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           IP Address                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           IP Address                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           IP Address                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:   TBD for CAPWAP Local IPv6 Address

   Length:   16

   IP Address:   The IP Address of the sender.
[...]

11.  NAT Considerations

   There are three specific situations in which a NAT deployment may be
   used in conjunction with a CAPWAP-enabled deployment.  The first
   consists of a configuration in which a single WTP is behind a NAT
   system.  Since all communication is initiated by the WTP, and all
   communication is performed over IP using two UDP ports, the protocol
   easily traverses NAT systems in this configuration.

   In the second case, two or more WTPs are deployed behind the same NAT
   system.  Here, the AC would receive multiple connection requests from
   the same IP address, and cannot differentiate the originating WTP of
   the connection requests.  The CAPWAP Data Check state, which
   establishes the data plane connection and communicates the Data
   Keepalive, includes the Session Identifier message element, which is
   used to bind the control and data plane.  Use of the Session
   Identifier message element enables the AC to match the control and
   data plane flows from multiple WTPs behind the same NAT system
   (multiple WTPs sharing the same IP address).

   In the third configuration, the AC is deployed behind a NAT.  Two
   issues exist in this situation.  First, an AC communicates its
   interfaces and corresponding WTP load using the CAPWAP Control IPv4
   Address and CAPWAP Control IPv6 Address message elements.  This
   message element is mandatory, but contains invalid information if a
   middlebox is present between the AC and WTP.  The WTP MUST NOT
   utilize the information in these message elements if it detects a NAT
   (as described in the CAPWAP Transport Protocol message element).
   Note this would disable the load balancing capabilities of the CAPWAP
   protocol.  Alternatively, the AC could have a configured NAT'ed
   address, which it would include in either of the two control address
   message elements.

   The CAPWAP protocol allows for all of the AC identities supporting a
   group of WTPs to be communicated through the AC List message element.
   This feature MUST be ignored by the WTP when it detects the AC is
   behind a middlebox.

   The CAPWAP protocol allows an AC to configure a static IP address on
   a WTP using the WTP Static IP Address Information message element.
   This message element SHOULD NOT be used in NAT'ed environments,
   unless the administrator is familiar with the internal IP addressing
   scheme within the WTP's private network, and does not rely on the
   public address seen by the AC.

   When a WTP detects the duplicate address condition, it generates a
   message to the AC, which includes the Duplicate IP Address message
   element.  The IP Address embedded within this message element is
   different from the public IP address seen by the AC.
_________________________________________________________________
To unsubscribe or modify your subscription options, please visit:
http://lists.frascone.com/mailman/listinfo/capwap

Archives: http://lists.frascone.com/pipermail/capwap
_________________________________________________________________
To unsubscribe or modify your subscription options, please visit:
http://lists.frascone.com/mailman/listinfo/capwap

Archives: http://lists.frascone.com/pipermail/capwap