Internet DRAFT - draft-hwang-rohc-mipv6
draft-hwang-rohc-mipv6
Network Working Group Wang Hui
INTERNET-DRAFT Li Jinsheng
Expires: May 29 2003 Hong Peiling
Infonet Lab,USTC
Nov. 29, 2002
RObust Header Compression (ROHC):
A Compression Profile for Mobile IPv6
<draft-hwang-rohc-mipv6-00.txt>
Status of this memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
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 cite them other than as "work in progress".
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/lid-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This document is a submission of the IETF ROHC WG. Comments should be
directed to the ROHC WG mailing list, rohc@ietf.org.
Abstract
The original RObust Header Compression (ROHC) RFC, RFC 3095, defines
a framework for header compression, along with compression protocols
(profiles) for IP/UDP/RTP, IP/ESP, IP/UDP, and also for uncompressed
packet streams. And another draft [IPPROFILE] posted by Jonsson
deals with the IP only profile. However, no profile was defined for
compression of IP extension headers. But in the coming wireless
applications, mobile IP will play an important role. In mobile IPv4,
there is no difference to the packet's IP header, so we don't have to
make a profile for mobile IPv4; while as to mobile IPv6[MIPV6], there
is difference, since some specific IPv6 extension headers will be
included in almost every packet in the mobile IPv6 packets. The
extension headers will also cost a lot of bandwidth, and we should do
compression over them. This document addresses this issue and
defines a ROHC compression profile for mobile IPv6, which may work as
a complementarity to the profiles defined by RFC3095.
Wang [Page 1]
INTERNET-DRAFT A ROHC Compression Profile for MIPv6 Nov 29, 2002
Table of Contents
1. Introduction..................................................2
2. Terminology...................................................2
3. Changes to packets sent and received within a MN..............3
4. ROHC MIPv6 Compression (Profile 0x????).......................4
4.1 The HAO structure and its compression.....................4
4.2 The type 2 routing header structure and its compression...5
4.3 Initialization............................................5
4.4 Other considerations......................................5
5. Security Considerations.......................................6
6. IANA Considerations...........................................6
7. References....................................................6
8. Author's Address..............................................6
1. Introduction
The original RObust Header Compression (ROHC) RFC [RFC3095] defines
a framework for header compression, along with compression protocols
(profiles) for IP/UDP/RTP, IP/ESP, IP/UDP, and also for uncompressed
packet streams. The ROHC framework is designed to apply to wireless
environment, while in the experiment of deploying the wireless IP
network, we found mobile IP will play a more and more important role.
Mobile IP will bring some changes to the IP header. There is a need
for a ROHC profile to deal with these changes.
In mobile IPv4 [MIPv4], there is no difference to the packet's IP
header, so we don't have to make a profile for mobile IPv4; while as
to mobile IPv6[MIPV6], there is difference, for some specific IPv6
extension headers will be included in almost every packet in the
mobile IPv6 packets. These extension headers will also cost a lot of
bandwidth, and we should do compression over them.
In my experience of implementing mobile IPv6, I made a integration
with the ROHC to enhance the performance. In the integration, I
defined a special 'profile' to deal with the mobile IPv6 extension
headers. And in this document, I will introduce this special
profile, and I hope it would be included into the main ROHC profile
tree after some revisions.
This document addresses this issue and defines a ROHC compression
profile for mobile IPv6, which may work as a complementarity to the
profiles defined by RFC3095.
2. Terminology
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 RFC 2119 [RFC-2119].
The mobile IPv6 related terms are the same as defined in section 3.2
in [MIPv6]. Please refer to it.
Wang [Page 2]
INTERNET-DRAFT A ROHC Compression Profile for MIPv6 Nov 29, 2002
3. Changes to packets sent and received within a MN
[MIPv6] has introduced some new IPv6 protocol, message Types, and
destination option. The detailed description of these changes can
be found in section 6 in [MIPv6]. Here we have a brief review of
these changes.
When the mobile node (MN) is in its home network, there is no
difference and the MN acts as normal Internet node. For packets
sent by a mobile node while it is at home, no special Mobile IPv6
processing is required.
While a mobile node is away from home, it continues to use its home
address, as well as also using one or more care-of addresses. For
packets sent by the mobile node sent while away from home using the
mobile node's home address as the source, special Mobile IPv6
processing of the packet is required. Usually the MN will directly
delivery the packets to its CN. In this case, the MN SHOULD arrange
to supply the home address in a Home Address option, and allowing
the IPv6 header's Source Address field to be set to one of the
mobile node's care-of addresses; the correspondent node will then
use the address supplied in the Home Address option to serve the
function traditionally done by the Source IP address in the IPv6
header. The mobile node's home address is then supplied to higher
protocol layer and applications. The Home Address Option(HAO) is
carried in the Destination Header.
Usually the CN will has a Binding Cache entry for the MN and so
packets sent by a correspondent node to the MN will be sent by the
correspondent node using a type 2 routing header. The packet will
be addressed to mobile node's care-of address, with the final hop in
the routing header directing the packet to the mobile node's home
address; the processing of this last hop of the routing header is
entirely internal to the mobile node, since the care-of address and
home address are both addresses within the mobile node.
Detailed operations on the packets in the above mobile IPv6 node can
be found in [MIPv6]. See from the above discussions, we could tell
that when the MN is away from its home network and plugs to the
foreign network access router, the packets sent and received by the
MN will be modified by the MIPv6 layer, according to [MIPv6], as to
gain the mobility. Here are a brief summarization :
While MN is away from home network, commonly
o packets sent from a MN will be modified to include a 'Home
Address Option'(HAO for short) in the Destination Header.
o packets received by a MN sent from the CN will contain a type 2
routing header.
Wang [Page 3]
INTERNET-DRAFT A ROHC Compression Profile for MIPv6 Nov 29, 2002
Except the above tow kinds of packets, there are other packets
including the mobility header. The Mobility Header is an extension
header used by mobile nodes, correspondent nodes, and home agents in
all messaging related to the creation and management of bindings.
But as to the header compression considerations, these messages act
as signaling message and are only sent in a very low frequency so we
do not need to compress them.
So in the ROHC MIPv6 profile we only compress the HAO and the type 2
routing header.
4. ROHC MIPv6 Compression (Profile 0x????)
From the above analysis, we can see what the ROHC profile would deal
with are the destination header(HAO) and the type 2 routing header.
And the other headers, such as IPv6 basic header, UDP header and RTP
header etc. , will be treated the same as the normal IPv6 packets.
So what we should do is to define a special profile to cope with the
destination header and the type 2 routing header and this special
profile would work as a supplement to the profiles defined in
RFC3095. For example, the 'IPv6/MIPv6/UDP/RTP' will be considered as
'IPv6/UDP/RTP' profile(defined in RFC3095) plus 'MIPv6' profile.
The profile ID is TBD <To be assigned by IANA>.
4.1 The HAO structure and its compression
The Home Address option is carried by the Destination Option
extension header (Next Header value = 60). It is used in a packet
sent by a mobile node while away from home, to inform the recipient
of the mobile node's home address.
The Home Address option is encoded in type-length-value (TLV) format
as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Header Ext Len | Option Type | Option Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Home Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
'Next Header', 8-bit selector, identifies the type of header
immediately following the routing header, which uses the same values
as the IPv6 Next Header field [IPv6]. 'Header Ext Len' is the length
of this Destination Header. 'Option Type' would be '0xC9', and
'Option Length' MUST be set to 16 [MIPv6]. So the four fields are
Wang [Page 4]
INTERNET-DRAFT A ROHC Compression Profile for MIPv6 Nov 29, 2002
all static within a stream packets. The 'Home Address' indicates
the MN's home address, which in a specific UDP or TCP stream is
static too.
So the whole HAO header of one stream would all be static context.
We can compress this header to be 0-bit.
4.2 The type 2 routing header structure and its compression
Mobile IPv6 defines a new routing header variant, the type 2
routing header, to allow the packet to be routed directly from a
correspondent to the mobile node's care-of address. This routing
header type (type 2) is restricted to carry only one IPv6 address,
which is the MN's home address.
The type 2 routing header has the following format:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Hdr Ext Len=2 | Routing Type=2|Segments Left=1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Home Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
'Next Header', 8-bit selector, identifies the type of header
immediately following the routing header, which uses the same values
as the IPv6 Next Header field [IPv6]. For a type 2 routing header,
the values of the 'Hdr Ext Len','Routing Type',and 'Segments Left'
are all fixed value as described in the figure.
So the whole type 2 routing header of one stream would all be static
context. We can compress this header to be 0-bit.
4.3 Initialization
The static context for ROHC MIPv6 compression can be initialized by
adding the mobile IPv6 static field to the static chain in the
existing IR packet of ROHC UDP/RTP profile, where the profile id
should be modified to be 0x????(TBD). In other word, the MIPv6
profile static field should be inserted into the static chain of
original static chain of ROHC IP/UDP/RTP profile. The other parts,
except the MIPv6 fields, should be treated as standard IP/UDP/RTP
profile as defined in RFC3095.
4.4 Other considerations
Since the signaling message will be sent a very low frequency, we
don't need to compress the Mobility Header. We only transfer it
directly.
Wang [Page 5]
INTERNET-DRAFT A ROHC Compression Profile for MIPv6 Nov 29, 2002
5. Security Considerations
The security considerations of [RFC3095] apply equally to this
document, without exceptions or additions.
6. IANA Considerations
ROHC MIPv6 profile identifier 0x???? has been reserved by the IANA
for the profile defined in this document.
[TO BE REMOVED BEFORE PUBLICATION]
A ROHC profile identifier must be reserved by the IANA for the
profile defined in this document. Profile number 0x???? has
previously been saved for this purpose, and should thus be used.
As for previous ROHC profiles, profile numbers 0xnnXX must also be
reserved for future updates of this profile. A suggested
registration in the "RObust Header Compression (ROHC) Profile
Identifiers" name space would then be:
0x???? ROHC MIPv6 [RFCXXXX (this)]
0xnn?? Reserved
[END]
7. References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March 1997.
[RFC3095] Bormann, C., Burmeister, C., Degermark, M., Fukushima,
H., Hannu, H., Jonsson, L-E., Hakenberg, R., Koren, T.,
Le, K., Liu, Z., Martensson, A., Miyazaki, A., Svanbro,
K., Wiebke, T., Yoshimura, T. and H. Zheng, "Robust
Header Compression (ROHC)", RFC 3095, July 2001.
[RFC791] Postel, J., "Internet Protocol", RFC 791, September 1981.
[RFC1883] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 1883, December 1995.
[MIPv6] David B. Johnson, Charles E. Perkins and Jari Arkko,
"Mobility Support in IPv6", IETF draft:
draft-ietf-mobileip-ipv6-19.txt,Oct 2002,working in
progress
[IPPROFILE] L-E. Jonsson,"RObust Header Compression (ROHC):A
Compression Profile for IP",IETF draft: draft-ietf-rohc-
ip-only-00.txt, Oct. 2002, working in progress
8. Author's Address
Wang Hui Tel: +86 551 360 7041
Infonet Lab,EEIS Fax: +86 551 360 1334
University of Sci. & Tech. of China
P.O.Box 4
Hefei,Anhui http://mail.ustc.edu.cn/~whui
China,230027 EMail: whui@mail.ustc.edu.cn
Wang [Page 6]
INTERNET-DRAFT A ROHC Compression Profile for MIPv6 Nov 29, 2002
9. Patents
Infonet Lab USTC is in the process of filing one or more patent
applications that may be relevant to this IETF draft.
Wang [Page 7]