ROHC WG Yousuf Saifullah INTERNET-DRAFT Marc Greis Date: October 2002 Khiem Le Expires: April 2002 Zhigang Liu Nokia Research Center ROHC-TCP Early Compression in GPRS Networks 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 to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This information document gives an example of early compression mechanism from the GPRS networks. It shows a utilization of the early compression enabler enhancements proposed for ROHC-TCP. It does not show an exhaustive use of all the options of the enabler, but rather shows a use of the basic enabler function. Saifullah, Greis, Le, Liu [Page i] INTERNET-DRAFT ROHC-TCP Early Compression October 2002 1. Introduction The ROHC compression schemes typically require transfer of full header from the compressor to the decompressor with the initialization packets [1]. Early compression improves gain for the TCP/IP header compression by providing header compression from the very first packet [3]. It uses an out-of-band mechanism, called early compression mechanism, to populate certain header fields in the ROHC-TCP decompressor context. These fields are called early fields. As the early fields are already available for the decompressor, hence they are not required to be sent using the ROHC-TCP protocol. ROHC-TCP sends reduced header fields by excluding the early fields in the initialization packets. In this way, it provides header compression from the very first TCP packet. The changes in ROHC-TCP for the early compression enabler are defined in [3]. This document describes an example of early compression mechanism, which utilizes the early compression enabler. The example mechanism is described by considering only downlink traffic (i.e. data sent to Mobile Node), which has the ROHC-TCP compressor in the GPRS network and the decompressor in the MN. The Packet Data Protocol (PDP) Context Activation and Radio Access Bearer (RAB) Establishment procedures of the GPRS networks [4] are considered as the early compression mechanism. The PDP Context Activation procedure exchanges some parameters between an MN and the GPRS network which are also part of the TCP/IP header. This document describes how PDP Context Activation and RAB Establishment inter-works with ROHC-TCP to provide early compression. 2. Terminology This draft uses terminologies from [1] and [2]. The following contains only new terminologies. They are introduced in [3], but are repeated here for quick reference. Early Compression Mechanism An out-of-band mechanism that populates certain header fields to the decompressor side for Early Compression. An out-of-band mechanism can be any mechanism other than the current TCP connection. It could be an old TCP connection. The mechanism is not part of the ROHC-TCP protocol. Saifullah, Greis, Le, Liu [Page 1] INTERNET-DRAFT ROHC-TCP Early Compression October 2002 Early Compression Enabler The enhancements in the ROHC-TCP protocol to enable an early compression mechanism are called the Early Compression Enabler. Early Compression Early Compression provides header compression starting with the IR packets. It uses an Early Compression Mechanism to populate some of the header fields to the decompressor side, before TCP connection. It enables the mechanism in ROHC-TCP using Early Compression Enabler. Early Fields The header fields that are transferred using an early compression mechanism are called the Early Fields. They are not sent in the IR packets during the ROHC-TCP initialization. Early Compression/Decompression Entity Early Compression recovers the early fields from an entity on the compressor side called Early Compression Entity and from an entity on the decompressor side called Early Decompression Entity. 3. Background This section provides a brief background on the GPRS network, PDP Context Activation, RAB Establishment and location of ROHC-TCP. Figure 1 illustrates the relevant GPRS nodes for the early compression. It has Gateway GPRS Support Node (GGSN), Serving GPRS Support Node (SGSN), and Radio Access Network (RAN) between MN and the external IPv4/v6 network. GGSN acts as a gateway to the GPRS network for the external IP networks. SGSN keeps track of the location of an MN. RAN is used by an MN to access the fixed network. The details of the GPRS network can be found in [4]. <-------GPRS Network-----> +--+ +---+ +----+ +----+ ************ +---+ |MN| ...|RAN|---|SGSN|---|GGSN|----*IPv4/v6 NW*----|REP| +--+ +---+ +----+ +----+ ************ +---+ Figure 1: Simplified GPRS Network Saifullah, Greis, Le, Liu [Page 2] INTERNET-DRAFT ROHC-TCP Early Compression October 2002 The MN performs the PDP Context Activation procedure in the GPRS network before any data connection with the Remote End Point (REP). The procedure establishes an association by creating a PDP context at the MS, SGSN and GGSN. The PDP context contains information for transporting the IP packets inside the GPRS network, i.e. from external IP networks to the MN and vice versa. When the packets arrive from the external IP network for the MN, the GGSN uses the PDP context to deliver the packets to the SGSN. The SGSN establishes RAB between itself and the MN. It delivers the received packets to the MN using the RAB. MN RAN SGSN GGSN ------ ------- -------- -------- Act PDP Context Request ----------------------------> Create PDP Context Request --------------> Create PDP Context Response <-------------- Act PDP Context Response <----------------------------- Figure 2: PDP Context Activation Procedure MN RAN SGSN ------ ------- -------- RAB Assign Request <------------- RB Setup Request <--------------- RB Setup Complete ----------------> RAB Assignment Response -------------> Figure 3: RAB Setup Procedure For downlink traffic, the ROHC-TCP compressor and decompressor are inside the RAN and MN respectively. The early compression entity is in the SGSN and the early decompression entity is in the MN. Saifullah, Greis, Le, Liu [Page 3] INTERNET-DRAFT ROHC-TCP Early Compression October 2002 4. Early Compression Mechanism Description 4.1. Exchange of Early Fields The PDP Context Activation procedure exchanges signaling messages between MS, SGSN and GGSN in both directions, as shown in Figure 2. The messages carry PDP Type and PDP Address parameters, among other parameters. The PDP Type carries IP version number for IP protocols, i.e. IPv4 or IPv6. The PDP Address carries IP address of the MN. For downlink traffic, the PDP Address is the destination IP address. Thus, IP version, and destination IP address become the early fields. The PDP context activation procedure makes the early fields for downlink traffic available in the MN (early decompression entity) and SGSN (early compression entity). 4.2. Indication of Early Compression to ROHC-TCP When the packets arrive for the MN, the SGSN initiates a RAB setup procedure with the RAN and the MN. In the RAB setup procedure, the SGSN (early compression entity) informs the RAN (ROHC-TCP Compressor) about the early compression and the early fields. On the other side, the MN has both the early decompression entity and ROHC-TCP decompressor functionalities. It internally informs the ROHC-TCP Decompressor about the early compression and makes the early field available for the decompression context. 4.3. Invocation of ROHC-TCP Early Compression Enabler The ROHC-TCP compressor invokes early compression with the first TCP data packet. It stores the header fields, excluding early fields, in the compression context. It sends an IR packet in the following format: Saifullah, Greis, Le, Liu [Page 4] INTERNET-DRAFT ROHC-TCP Early Compression October 2002 0 1 2 3 4 5 6 7 --- --- --- --- --- --- --- --- : Add-CID octet : if for small CIDs and (CID != 0) +---+---+---+---+---+---+---+---+ | 1 1 1 1 1 1 0 | x | IR type octet +---+---+---+---+---+---+---+---+ : : / 0-2 octets of CID / 1-2 octets if for large CIDs : : +---+---+---+---+---+---+---+---+ | Profile | 1 octet +---+---+---+---+---+---+---+---+ | CRC | 1 octet +---+---+---+---+---+---+---+---+ | | / profile specific information / variable length | | +---+---+---+---+---+---+---+---+ Bit x: It is zero, since this example does not have any early compression option. Profile: It has profile type for "Early Compression Enabler". CRC: It is calculated over all the fields before CRC and the original TCP/IP header. Profile Specific Information: It contains the header fields excluding the early fields. The ROHC-TCP decompressor recognizes early compression enabler profile in the IR packet. It verifies the header by using CRC. After passing CRC check, it builds the decompression context from the profile specific information and the early fields. 5. Summary This document shows an early compression mechanism that can compress the IR packets. The example shows that the IP Version, and Destination Address fields can be removed from the IR packets. This can be done by utilizing existing GPRS procedures. The example mechanism provides a saving of 16.5 bytes for the IPv6 header. Saifullah, Greis, Le, Liu [Page 5] INTERNET-DRAFT ROHC-TCP Early Compression October 2002 6. Security Considerations This is an informative draft and does not add any security considerations for ROHC-TCP. 7. Intellectual Property Right Notice On IPR related issues, Nokia refers to its statement on patent licensing. Please see http://www.ietf.org/ietf/IPR/Nokia. Saifullah, Greis, Le, Liu [Page 6] INTERNET-DRAFT ROHC-TCP Early Compression October 2002 8. References [1] C. Bormann (ed.), et al., "Robust Header Compression (ROHC)", RFC 3095, July 2001 [2] Qian Zhang, et al., "TCP/IP Header Compression for ROHC (ROHC-TCP)", draft-ietf-rohc-tcp-02.txt, (work in progress) July 2002 [3] Yousuf Saifullah, Khiem Le, Zhigang Liu, "ROHC-TCP Early Compression", (work in progress) draft-saifullah-rohc- tcp-early-compression-00.txt, Oct 2002 [4] 3GPP Technical Specifications 23.060, "General Packet Radio Services - Stage 2", version 4.3.0, January 2002 Saifullah, Greis, Le, Liu [Page 7] INTERNET-DRAFT ROHC-TCP Early Compression October 2002 9. Authors' Addresses Yousuf Saifullah Nokia Research Center 6000 Connection Drive Irving, TX 75039 USA Phone: +1 972 894-6966 E-mail: yousuf.saifullah@nokia.com Marc Greis Nokia Research Center 6000 Connection Drive Irving, TX 75039 USA Phone: +1 972 374-0629 E-mail: marc.greis@nokia.com Khiem Le Nokia Corporation 6000 Connection Drive Irving, TX 75039 USA Phone: +1 972-894-4882 E-Mail: khiem.le@nokia.com Zhigang C. Liu Nokia Research Center 6000 Connection Drive Irving, TX 75039 USA Phone: +1 972-894-5935 E-Mail: zhigang.c.liu@nokia.com Saifullah, Greis, Le, Liu [Page 8] INTERNET-DRAFT ROHC-TCP Early Compression October 2002 Table of Contents Status of This Memo . . . . . . . . . . . . . . . . . . . . . . . i Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . i 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 1 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 1 3. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4. Early Compression Mechanism Description . . . . . . . . . . . 4 4.1. Exchange of Early Fields . . . . . . . . . . . . . . . . 4 4.2. Indication of Early Compression to ROHC-TCP . . . . . . . 4 4.3. Invocation of ROHC-TCP Early Compression Enabler . . . . 4 5. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 7. Intellectual Property Right Notice . . . . . . . . . . . . . . 6 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 9. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 8 Saifullah, Greis, Le, Liu [Page ix]