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]