Network Working Group M. Beckman Internet Draft: 01 U.S. Department of Defense Category: Standards Track 6 November 2006 IPv6 Header Compression via Addressing Mitigation Protocol (IPv6 AMP) draft-martinbeckman-ietf-ipv6-amp-ipv6hcamp-01.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. 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 obsolete 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. This Internet-Draft will expire on March 18, 2007. Copyright Notice Copyright (C) The IETF Trust (2007). Table of Contents 1. Introduction and Abstract . . . . . . . . . . . . . . . . . . 2 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Compression Mapping Methodology . . . . . . . . . . . . . . . . 2 4. Flow Label Map Table Construct, Use, and Management . . . . . . 5 5. Intellectual Property Statement . . . . . . . . . . .. . . . . 7 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 7 8. Author's Address . . . . . . . . . . . . . . . . . . . . . . . 7 Beckman Standards Track [Page 1] Internet Draft: 01 IPv6 Header Compression AM Protocol (IPv6 AMP) November 2006 1. Introduction and Abstract This document outlines a methodology for IPv6 Header Compression via mapping the source and destination addresses into a flow label value per address pair sessions with a specific traffic class field value to identify the packet as “address-less” compressed header. The resultant headers, sans addresses shrink from 320 bits to 64 bits. This mapping is locally specific to the router port and the connecting hosts/router ports. Specifically written for use on low bandwidth links (less than T1 or 1.544Mbps), IPv6 AMP’s applicability goes to integration of cellular/WiFi appliances and will be critical for tactical uses for military and first responder applications. Comments are solicited and should be addressed to martin.beckman@disa.mil 2. Definitions Home Router (HR) – The router connected to the enterprise network that acts as the default gateway router for a set of hosts or sub-routers connecting via low bandwidth links. The home router controls the assignment of flow label value for the sessions to the Remote Routers and Remote Hosts connecting to it. Local Router (RR) – A router connecting to a home router via a low bandwidth link. Local Host – RH) - A host connecting to a home router via a low bandwidth link. Flow Value Map Table – The table storing the mapping information that relates the address pairs to a specific flow label and router port. 3. Methodology of Mapping Addresses to Flow Label and Session Establishment 3.a. Host Connection to the Network: At the outset, a host joins the network via Autoconfiguration or DHCP for IPv6. At the time the host is assigned a local flow value of 00001 through 7FFFD (1-524,285). This is used for host-to-host header compression within the network as bounded by the router’s /64 assignment. Note: The /64 network mask must be used. As will be seen, the flow value for host-to-host local sessions will be a value equal to the sum of the two local host values. The initialization for compressed session is accomplished in two steps. First the Home Router HR to the Local Host/Local Router sends a packet with a traffic class bits setting of 0111 0011 with the local host’s label setting of 1 through 524,285 in the flow label field along with the link local Address on the local host/router. The local host/router caches this value as it’s local flow label value and sends an acknowledgement with a traffic class bit setting of 0111 0100 with the same local value in the flow label. The Home Router stores this value in the Flow Value Map Table. The Home Router has a local value of all zeroes in the flow label field. Beckman Standards Track [Page 2] Internet Draft: 01 IPv6 Header Compression AM Protocol (IPv6 AMP) November 2006 3.b. Local Host to Remote Host Session: When a local hosts requires a session that requires routing by the home router, the steps are as follows: The initial packet is sent to the host destination with full header and the following settings within the traffic class and flow label fields: Traffic Class: 0111 0001 (Binary) Flow Label: 1111 1111 1111 1111 1111 (Hex: FFFFF) The Local Host sends the packet as a normally routed packet, and sets the Destination and Source Addresses with an available flow label value of 4096 to 1048574 (Hex: 1000 to FFFFE) in the Local Flow Value Map Table and marks the entry “requested”. The Home Router forwards the packet as a normally routed packet, and sets the Destination and Source Addresses with an available flow label value of 4096 to 1048574 (Hex: 1000 to FFFFE) in the Flow Value Map Table and marks the entry “requested”. Once the remote host responds, the packet is received by the home router for forwarding to the local host. The home router sends a complete header with the following settings within the traffic class and flow label fields: Traffic Class: 0111 0010 (Binary) Flow Label: All “0” through 1111 1111 1111 1111 1110 (Hex: 01000 through FFFFE) The local host stores this flow value with the Destination Address. Both the local host and home router mark their entries as active. The local host continues to send; however, this time the Destination and Source Addresses are not includes and the following settings within the traffic class and flow label fields are used: Traffic Class: 0111 0000 (Binary) Flow Label: Assigned Flow Label Value (Hex: 01000 through FFFFE) When the Home Router receives this “address-less” packet it reads the Traffic Class and Flow Label Values first and “maps” the destination and source addresses from the map table into the header and sets the Traffic Class and Flow Label to all zeros. This cycle is repeated when the remote host sends a datagram with a full header to the router. The router recognizes that the compression is turned on at that router port and therefore looks for an entry in the map table. Once found, the addresses are stripped and sends the packet without addresses and the following settings within the traffic class and flow label fields are used: Traffic Class: 0111 0000 (Binary) Flow Label: Assigned Flow Label Value (Hex: 01000 through FFFFE) Beckman Standards Track [Page 3] Internet Draft: 01 IPv6 Header Compression AM Protocol (IPv6 AMP) November 2006 3.c. Remote Host to Local Host Session: The initial packet is sent to the local host from the home router with full header and the following settings within the traffic class and flow label fields: Traffic Class: 0111 0001 (Binary) Flow Label: All “0” through 1111 1111 1111 1111 1110 (Hex: 01000 through FFFFE) The Home Router assigns the flow label value and sends the packet as a normally routed packet to the local host, and sets the Destination and Source Addresses with an available flow label value in the Local Flow Value Map Table and marks the entry “active”. The local host stores this flow value with the Destination Address. Both the local host and home router mark their entries as active. The local host continues to send; however, this time the Destination and Source Addresses are not includes and the following settings within the traffic class and flow label fields are used: Traffic Class: 0111 0000 (Binary) Flow Label: Assigned Flow Label Value (Hex: 01000 through FFFFE) When the Home Router receives this “address-less” packet it reads the Traffic Class and Flow Label Values first and “maps” the destination and source addresses from the map table into the header and sets the Traffic Class and Flow Label to all zeros. This cycle is repeated throughout the session. The router recognizes that the compression is “turned on” at that router port and therefore looks for an entry in the map table. Once found, the addresses are stripped and sends the packet without addresses and the following settings within the traffic class and flow label fields are used: Traffic Class: 0111 0000 (Binary) Flow Label: Assigned Flow Label Value (Hex: 01000 through FFFFE) 3.d. Local Router(s) to Home Router Session: A local router is handled the same as a local host connecting to a home router. In this instance, local hosts connecting to the local router view and act as if that router is their “home router” at that connecting port. There are two methods for coordinating flow labels between the “root” home router and the local home routers acting and home routers for hosts: 1- Free Running and 2- Allocated. 3.d.i. Free Running – In this case each compressed port has it’s own Flow Value Map Table. This is the easiest to establish; however, it is the most processor intensive. 3.d.ii. Allocated – Static Ranges are setup within each local router from complete range available to the home router. This allows for better processing since ranges coming into the area will have the flow label set only at the “root” home router and the flow label allows for expedited routing across the local router acting as a home router to a set of hosts. Beckman Standards Track [Page 4] Internet Draft: 01 IPv6 Header Compression AM Protocol (IPv6 AMP) November 2006 3.e. Local Host to Local Host Session: As IPv6 progresses in use, the need for host-to-host communications within a /64 network will increase for voice and data within the military and first responder areas of operation. Providing for local header compression is essential. The following are the steps involved in stetting up local host-to-host compressed sessions: 3.e.i. The initiating local host sends the first packet with a full header to the destination host within the same network boundary (/64) with the following settings within the traffic class and flow label fields: Traffic Class: 0111 0011 (Binary) Local to Local Request Flow Label: The local host value assigned by the home router (1-524,285) The initiating host adds the destination address to its Flow Value Map Table and marks the session as requested. The Destination Host receives the packet with the full header and sends the next reply packet with the following settings within the traffic class and flow label fields: Traffic Class: 0111 0100 (Binary) Local to Local Acknowledgement Flow Label: The local host value assigned by the home router (3- 1,048,570) The Destination Host adds the values of the two local host flow values and uses the resultant as the Flow Value for the session. This method allows for uniqueness of value within a /64 network with up to 524,285 hosts. The Destination host then adds the initiating host address and the flow label value to its Flow Value Map Table and marks it as active. The initiating host, upon receipt of the acknowledgement add the flow label value to its Flow Value Map Table to the host address and marks the entry as active. The remaining transmission between the two hosts will use the following settings within the traffic class and flow label fields: Traffic Class: 0111 0101 (Binary) Local to Local Traffic Flow Label: The local host values as added by the destination host (3- 1,048,570) 4. Flow Label Map Table Construct, Use, and Management – As session start, so they also end. 4.a. The construct of the Flow Label Map Table has the following requisite information fields: Type – Local or Remote This allows for the same flow label to be used for either local host to host sessions or for local to remote host sessions. This field is required on hosts, but optional on the home router. Flow Label Value – As assigned by the Home Router for remote sessions and by the Local Destination Host for local host-to-host sessions. Required on all local hosts/local routers and home routers. Beckman Standards Track [Page 5] Internet Draft: 01 IPv6 Header Compression AM Protocol (IPv6 AMP) November 2006 Local Address – The Global 128-bit address of the local host associated with the Flow Value. This field is required on home router, but optional on the hosts. Local Port – The Router Port the Local Host is assigned to. Home Router only requirement. Remote Address - The Global 128-bit address of the remote host associated with the Flow Value. Required on all local hosts/local routers and home routers. Remote Port – The Router Port the Remote Host is assigned to. Home Router only requirement. Age – Time in seconds that the entry was used. Required on all local hosts/local routers and home routers. 4.b. The Home router or Local Host when prompted by the traffic class field will look up the value of the flow label, reset the age filed to zero, manipulate the packet as needed, and send the packet. 4.c. The age field is critical since each session is a mapping of a pair of addresses. Multiple data sessions may occur within that session; however, at some point the traffic will stop. Depending upon the requirement, the assigned flow values need to be aged out. Remote Host to Local Hosts should age within 30 seconds to 60 minutes of the last use, while local-to-local sessions may require purging on a less frequent basis. Finally, if all Flow values are in use for remote hosts due to an excessive age requirement, the home router will drop the entry with the largest value in the age field if the value is great than a variable percentage of the maximum age time. If no flows meet this criteria, the traffic will continue; however, the header will not compress. The requesting host will attempt compression at least eight times but not more than sixteen prior to waiting a period (30 seconds to 15 minutes) prior to attempting compression again. The Local Router may have sessions statically mapped to permit an entry to never age. An example would be for Web Proxy Servers remote to the local hosts. Beckman Standards Track [Page 6] Internet Draft: 01 IPv6 Header Compression AM Protocol (IPv6 AMP) November 2006 5. References [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998. 6. Acknowledgments 7. Intellectual Property Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 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." Individual Property Rights By submitting this Internet-Draft, each author represents that any applicable Patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. 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." 8. Author's Address Martin Beckman Defense Information Systems Agency 5275 Leesburg Pike, 7 Skyline Place Falls Church, VA 22041 United States of America Phone: 703-861-6865 // 703-882-0225 Email: martin.beckman@disa.mil Beckman Standards Track [Page 7]