Internet DRAFT - draft-cao-lwip-tcp-hc

draft-cao-lwip-tcp-hc






Working Group                                                     Z. Cao
Internet-Draft                                                    D. Liu
Intended status: Informational                                   H. Deng
Expires: March 18, 2011                                     China Mobile
                                                      September 14, 2010


         TCP Header Compression in Low Power and Lossy Networks
                        draft-cao-lwip-tcp-hc-00

Abstract

   The document specifies a TCP compression header for low-power and
   lossy networks.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

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

   This Internet-Draft will expire on March 18, 2011.

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 Simplified BSD License.





Cao, et al.              Expires March 18, 2011                 [Page 1]

Internet-Draft                   TCP HC                   September 2010


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Encoding of TCP Header . . . . . . . . . . . . . . . . . . . .  4
   3.  An Example . . . . . . . . . . . . . . . . . . . . . . . . . .  6
   4.  Security Considerations  . . . . . . . . . . . . . . . . . . .  7
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  8
   6.  Normative References . . . . . . . . . . . . . . . . . . . . .  9
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10










































Cao, et al.              Expires March 18, 2011                 [Page 2]

Internet-Draft                   TCP HC                   September 2010


1.  Introduction

   The LOWPAN_HC1 algorithm in [RFC4944] defines the common compressed
   header encoding for IPv6 packets.  The "Next Header" encoding bits,
   i.e., bit 5 and 6 in Figure 1, denotes the way the following header
   type is either UDP, ICMP or TCP.  And the HC2 encoding bit (bit 7)
   denotes if there is more header compression bits followed.


     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | HC1 encoding  |     Non-Compressed fields follow...
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


         Figure 1: LOWPAN_HC1 (common compressed header encoding)

   The LOWPAN_IPHC algorithm in [I-D.6LOWPAN-IPHC] also defines the
   general compression header for next header following the IPv6 header.
   Now the encoding format for the IPv6 extension headers and UDP header
   compression are defined, but the TCP header compression format is not
   defined yet in both LOWPAN_HC1 and LOWPAN_IPHC algorithm.  However,
   Zigbee Smart Energy Profile 2.0 [Zigbee-SE] requires that all devices
   shall support TCP on its transport layer.  To support the
   applications based on TCP, it is important to specify a TCP
   compression header for the low-power devices.  This document is
   dedicated to this task.
























Cao, et al.              Expires March 18, 2011                 [Page 3]

Internet-Draft                   TCP HC                   September 2010


2.  Encoding of TCP Header

   Bits 5 and 6 of the LOWPAN_HC1 allows compressing the Next Header
   field in the IPv6 header (for UDP, TCP, and ICMP).  This section
   explains how the TCP header itself may be compressed.  The HC2
   encoding in this section is the HC_TCP encoding, and it only applies
   if bits 5 and 6 in HC1 are both set to "1" indicating that the
   protocol following the IPv6 header is TCP.  The HC_TCP encoding is
   defined in Figure 2

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |HC_TCP encoding|     Fields carried in-line follow...
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Figure 2: TCP Compression Header Encoding

   The HC_TCP encoding for TCP is shown as below (starting with bit-0
   and ending at bit-7).

      TCP Source Port (bit 0)

       0:  TCP source port is not compressed, but carried in-line.

       1:  TCP source port is compressed to 4 bits.  The actual 16-bit
         source port is obtained by calculating: P + short_port value.
         The value of P is the number 61616 (0xF0B0).  The short_port is
         expressed as a 4-bit value which is carried "in-line"

      TCP Destination Port (bit 1)

       0:  TCP destination port is not compressed, but carried in-line.

       1:  TCP destination port is compressed to 4 bits.  The actual 16-
         bit destination port is obtained by calculating: P+short_port
         value.  The value of P is the number 61616 (0xF0B0).  The
         short_port is expressed as a 4-bit value which is carried "in-
         line"

      TCP Sequence Number (bit 2)

       0:  TCP Sequence Number is not compressed, and the full length
         32-bit Seq.No is carried in-line.

       1:  TCP Sequence Number is compressed to 4 bits, and the short
         sequence number is carried in-line.





Cao, et al.              Expires March 18, 2011                 [Page 4]

Internet-Draft                   TCP HC                   September 2010


      TCP ACK Sequence Number (bit 3)

       0:  TCP ACK Sequence Number is not compressed, and the full
         length 32-bit sequence is carried in-line.

       1:  TCP ACK Sequence Number is compressed to 4 bits, and the
         short sequence number is carried in-line.

      TCP Header Length(bit 4)

       0:  TCP Header Length is not compressed, and the full length
         4-bit header length value is carried in-line.

       1:  TCP Header length is omitted, and actually the stack do not
         need to know the exact length of the header.

      TCP Window Size (bit 5)

       0:  TCP window size is not compressed, and the full length 16-bit
         window size is carried in-line.

       1:  TCP window size is compressed to 4-bit, and the short window
         size is carried in-line.

      Reserved (bit 6)

      Reserved (bit 7)
























Cao, et al.              Expires March 18, 2011                 [Page 5]

Internet-Draft                   TCP HC                   September 2010


3.  An Example

   If the HC_TCP encoding equals to "11111111", the TCP header will be
   compressed into 8 bytes as in Figure 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |sport  |dport  | Seq#  | Ack#  |   |   UAPRSF  |Window|        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Checksum            |         Urgent Pointer        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Figure 3: TCP Compressed Header






































Cao, et al.              Expires March 18, 2011                 [Page 6]

Internet-Draft                   TCP HC                   September 2010


4.  Security Considerations

   TBD.
















































Cao, et al.              Expires March 18, 2011                 [Page 7]

Internet-Draft                   TCP HC                   September 2010


5.  IANA Considerations

   This document does not require any IANA actions.
















































Cao, et al.              Expires March 18, 2011                 [Page 8]

Internet-Draft                   TCP HC                   September 2010


6.  Normative References

   [I-D.6LOWPAN-IPHC]
              Hui, J. and P. Thubert, "Compression Format for IPv6
              Datagrams in 6LoWPAN Networks",
              draft-ietf-6lowpan-hc-06.txt (work in progress), Oct 2009.

   [RFC4944]  Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler,
              "Transmission of IPv6 Packets over IEEE 802.15.4
              Networks", RFC 4944, September 2007.

   [Zigbee-SE]
              "Zigbee Smart Energy Profile 2.0 Technical Requirements
              Document", Dec 2009.





































Cao, et al.              Expires March 18, 2011                 [Page 9]

Internet-Draft                   TCP HC                   September 2010


Authors' Addresses

   Zhen Cao
   China Mobile
   Unit2, 28 Xuanwumenxi Ave,Xuanwu District
   Beijing 100053
   China

   Email: zehn.cao@gmail.com


   Dapeng Liu
   China Mobile
   Unit2, 28 Xuanwumenxi Ave,Xuanwu District
   Beijing 100053
   China

   Email: liudapeng@chinamobile.com


   Hui Deng
   China Mobile
   Unit2, 28 Xuanwumenxi Ave,Xuanwu District
   Beijing 100053
   China

   Email: denghui@chinamobile.com
























Cao, et al.              Expires March 18, 2011                [Page 10]