TOC 
Network Working GroupG. Tsirtsis
Internet-DraftG. Giarreta
Intended status: Standards TrackQualcomm
Expires: November 2, 2009H. Soliman
 Elevate Technologies
 N. Montavont
 IT/TB
 May 01, 2009


Definition of Binary Filter Description
draft-tsirtsis-mext-binary-filters-00.txt

Status of this Memo

This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and 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.”

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 November 2, 2009.

Copyright Notice

Copyright (c) 2009 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 in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document.

Abstract

This document defines binary formats for IPv4 and IPv6 flow descriptors to be used in conjuction with flow bindings for Mobile IPv6.



Table of Contents

1.  Requirements notation
2.  Introduction
3.  Flow Description Sub-Options
    3.1.  IPv4 Binary Flow Description
    3.2.  IPv6 Binary Flow Description
4.  Security Considerations
5.  IANA Considerations
6.  Aknowledgements
7.  Normative References
§  Authors' Addresses




 TOC 

1.  Requirements notation

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 [RFC2119] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).



 TOC 

2.  Introduction

This document defines binary formats for IPv4 and IPv6 flow description sub-options as defined in [I‑D.ietf‑mext‑flow‑binding] (Soliman, H., Montavont, N., Fikouras, N., and K. Kuladinithi, “Flow Bindings in Mobile IPv6 and Nemo Basic Support,” February 2009.).

The binary flow descriptors defined here, allow efficient flow identification based on well known field in IPv4, IPv6, and transport layer headers, as well as flexible identification of random fields based on pointers that can identify fields of varied length and location in the IP packet. In that sense, although the format is binary, and thus very efficient in terms of overhead, it is also very flexible.



 TOC 

3.  Flow Description Sub-Options

[I‑D.ietf‑mext‑flow‑binding] (Soliman, H., Montavont, N., Fikouras, N., and K. Kuladinithi, “Flow Bindings in Mobile IPv6 and Nemo Basic Support,” February 2009.) defines the format for the Flow description sub-option.

The following values of the sub-option Type field, are reserved in this specification for binary flow descriptions

TBD IPv4 Binary Flow Description

TBD IPv6 Binary Flow Description



 TOC 

3.1.  IPv4 Binary Flow Description

If the Type field of the Flow Description sub-option indicates an IPv4 Flow then the Filter Descriptor is:



   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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |A|B|C|D|E|F|G|H|I|K|L|R|  NxPs |   (A)TOS      | (B)Protocol   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    (C)Source Address                          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                 (D)Destination Address                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |(E)S. PrefLeng |(F)D. PrefLeng |   (G)Source port - Low        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (H)Source port - High       |      (I)Dst port - Low        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (K)Dst port - High          |          (L)SPI               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |          (L)SPI               |       N number of Pointers ...
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 Figure 1: IPv4 Filter Descriptor 

Flags (A-L)

Each flag indicates whether the corresponding field is present in the message

(A)TOS - Type of Service

The TOS field in the data packet as seen by the home agent.

(B)Protocol

An 8-bit unsigned integer representing the value of the transport protocol number associated with the port numbers in data packets.

(C)Source Address

This field identifies the source address of data packets as seen by the home agent that is, the 32-bit IPv4 address of the correspondent node.

(D)Destination Address

This field identifies the destination address of data packets as seen by the home agent. When included this field must one of the registered home addresses of the mobile node. It is a 32-bit IPv4 address.

(E)Source Prefix Length

This field includes the prefix length for the source address. This field can only be included if the Source Address field is included.

(F)Destination Prefix Length

This field includes the prefix length for the destination address. If The Destination Address field is included then it refers to that field.

(G)Source Port - Low

This field identifies the lowest source port number within a range of port numbers that will be used in data packets, as seen by the home agent.

(H)Source Port - High

This field identifies the highest source port number within a range of port numbers that will be used in data packets, as seen by the home agent. If a single port is indicated then this field SHOULD NOT be included. If it is included it SHOULD be set to the value of the Source Port – Low field.

(I)Destination Port - Low

This field identifies the lowest destination port number within a range of port numbers that will be used in data packets as seen by the home agent.

(K)Destination Port - High

This field identifies the highest destination port number within a range of port numbers that will be used in data packets as seen by the home agent. If a single port is indicated then this field SHOULD NOT be included. If it is included it SHOULD be set to the value of the Dst Port – Low field.

(L)SPI - Security Parameter Index

The SPI field in the data packet as seen by the home agent.

(R)Reserved

Reserved for future use.

(NxPs) 'N' Number of Pointers

This 3 bit field indicates an integer number identifying 'N' number of pointers included at the end of the flow descriptor. Each pointer has the format shown at Figure 2 (Pointer)



   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
                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                  |           Offset              |    Length     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |      Value ...
  +-+-+-+-+-+-+-+-+-+
 Figure 2: Pointer 

Offset

The Offset field identifies an integer number of bytes from the beginning of the IP header. It points to the beginning of the field of interest in the packet.

Length

The Length field identifies the total length of the Pointer including the Offset, Length and Value fields.

Value

The variable length Value field identifies the value to be matched at the point identified by this Pointer. The length if the Value field is the length identified by the Length field minus 3 bytes (for Offset and Length fields).



 TOC 

3.2.  IPv6 Binary Flow Description

If the Type field of the Flow Identification extension indicates an IPv6 Flow then the Filter Rule Descriptor is:



   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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |A|B|C|D|E|F|G|H|I|K|L|M|  NxPs |   (A)CS       | (B)Protocol   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  +                                                               +
  |                                                               |
  +                    (C)Source Address                          +
  |                                                               |
  +                                                               +
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  +                                                               +
  |                                                               |
  +                 (D)Destination Address                        +
  |                                                               |
  +                                                               +
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |(E)S. PrefLeng |(F)D. PrefLeng |   (G)Source port - Low        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (H)Source port - High       |      (I)Dst port - Low        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (K)Dst port - High          |          (L)SPI               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |          (L)SPI               |     (M)Flow Label             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | (M)Flow Label |             'N' Number of Pointers ...
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 Figure 3: IPv6 Filter Rule Descriptor 

Flags (A-M)

Each flag indicates whether the corresponding field is present in the message

CS - Class of Service

The CS field in the data packet as seen by the home agent.

(B)Protocol

An 8-bit unsigned integer representing value of the transport protocol number associated with the port numbers in data packets.

(C)Source Address

This field identifies the source address of data packets as seen by the home agent. That is, the address of the correspondent node and it is a 128-bit IPv6 address.

(D)Destination Address

This field identifies the destination address of the data packet as seen by the home agent. When included this field must be set to either one of the registered home addresses of the mobile node or to an address that falls under one of the mobile's home network prefixes. The value of this fild is 128-bit IPv6 address.

(E)Source Prefix Length

This field includes the prefix for the source address. This field can only be included if the Source Address field is included .

(F)Destination Prefix Length

This field includes the prefix for the destination address. If the Destination Address field is included then it refers to that field.

(G)Source Port - Low

This field identifies the lowest source port number within a range of port numbers that will be used in data packets, as seen by the home agent.

(H)Source Port - High

This field identifies the highest source port number within a range of port numbers that will be used in data packets, as seen by the home agent. If a single port is indicated then this field SHOULD NOT be included. If it is included it SHOULD be set to the value of the Source Port – Low field.

(I)Destination Port - Low

This field identifies the lowest destination port number within a range of port numbers that will be used in data packets as seen by the home agent.

(K)Destination Port - High

This field identifies the highest destination port number within a range of port numbers that will be used in data packets as seen by the home agent. If a single port is indicated then this field SHOULD NOT be included. If it is included it SHOULD be set to the value of the Dst Port – Low field.

(L)SPI - Security Parameter Index

The SPI field in the data packet as seen by the home agent.

(M)Flow Label

The Flow Label field in the data packet as seen by the home agent.

(NxPs) 'N' Number of Pointers

This 3 bit field indicates an integer number identifying 'N' number of pointers included at the end of the flow descriptor. Each pointer has the format shown at Figure 2 (Pointer)



 TOC 

4.  Security Considerations

This draft simply defines a format for a flow descriptor. This foramt is to be used as part of a flow description sub-option defined in the flow bindings [I‑D.ietf‑mext‑flow‑binding] (Soliman, H., Montavont, N., Fikouras, N., and K. Kuladinithi, “Flow Bindings in Mobile IPv6 and Nemo Basic Support,” February 2009.). The authors have not identified any security concenrs pertaining to this draft beyond what is already identified in [I‑D.ietf‑mext‑flow‑binding] (Soliman, H., Montavont, N., Fikouras, N., and K. Kuladinithi, “Flow Bindings in Mobile IPv6 and Nemo Basic Support,” February 2009.).



 TOC 

5.  IANA Considerations

TBD



 TOC 

6.  Aknowledgements

TBD



 TOC 

7. Normative References

[I-D.ietf-mext-flow-binding] Soliman, H., Montavont, N., Fikouras, N., and K. Kuladinithi, “Flow Bindings in Mobile IPv6 and Nemo Basic Support,” draft-ietf-mext-flow-binding-01 (work in progress), February 2009 (TXT).
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).


 TOC 

Authors' Addresses

  George Tsirtsis
  Qualcomm
Email:  tsirtsis@gmail.com
  
  Gerardo Giarreta
  Qualcomm
Email:  gerardog@qualcomm.com
  
  Hesham Soliman
  Elevate Technologies
Email:  hesham@elevatemobile.com
  
  Nicolas Montavont
  Institut Telecom / Telecom Bretagne
  2, rue de la chataigneraie
  Cesson Sevigne 35576
  France
Phone:  (+33) 2 99 12 70 23
Email:  nicolas.montavont@telecom-bretagne.eu
URI:  http://www.rennes.enst-bretagne.fr/~nmontavo//