One document matched: draft-tsirtsis-mext-binary-filters-00.xml


<?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type='text/xsl' href='../xml2rfc-1.34pre3/rfc2629.xslt' ?>
    <?rfc toc="yes" ?>
    <?rfc symrefs="yes" ?>
    <?rfc sortrefs="yes"?>
    <?rfc iprnotified="no" ?>
    <?rfc strict="yes" ?>
<!DOCTYPE rfc SYSTEM "../xml2rfc-1.34pre3/rfc2629.dtd" [
    <!ENTITY rfc2119 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
    <!ENTITY fb PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-mext-flow-binding-01.xml'>

      ]>
<rfc category="std" docName="draft-tsirtsis-mext-binary-filters-00.txt"
    ipr="trust200811">
    <front>
        <title>Definition of Binary Filter Description</title>
        <author initials="G." surname="Tsirtsis" fullname="George Tsirtsis">
            <organization>Qualcomm</organization>
            <address>
                <email>tsirtsis@gmail.com</email>
            </address>
        </author>
        <author initials="G." surname="Giarreta" fullname="Gerardo Giarreta">
            <organization>Qualcomm</organization>
            <address>
                <email>gerardog@qualcomm.com</email>
            </address>
        </author>
        <author fullname="Hesham Soliman" initials="H." surname="Soliman">
            <organization>Elevate Technologies</organization>
            <address>
                <email>hesham@elevatemobile.com</email>
            </address>
        </author>
        <author initials="N.M" surname="Montavont" fullname="Nicolas Montavont">
            <organization abbrev="IT/TB"> Institut Telecom / Telecom Bretagne</organization>
            <address>
                <postal>
                    <street>2, rue de la chataigneraie</street>
                    <city>Cesson Sevigne</city>
                    <code>35576</code>
                    <country>France</country>
                </postal>
                <phone>(+33) 2 99 12 70 23</phone>
                <email>nicolas.montavont@telecom-bretagne.eu</email>
                <uri>http://www.rennes.enst-bretagne.fr/~nmontavo//</uri>
            </address>
        </author>
        <date month="May" year="2009"/>
        <abstract>
            <t>This document defines binary formats for IPv4 and IPv6 flow
                descriptors to be used in conjuction with flow bindings for
                Mobile IPv6.</t>
        </abstract>
    </front>
    <middle>
        <section title="Requirements notation">
            <t>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 <xref target="RFC2119"/>.</t>
        </section>
        <section title="Introduction">
            <t>This document defines binary formats for IPv4 and IPv6 flow
                description sub-options as defined in <xref
                    target="I-D.ietf-mext-flow-binding"/>.</t>
            <t>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.</t>
        </section>
        <section title="Flow Description Sub-Options">
            <t>
                <xref target="I-D.ietf-mext-flow-binding"/> defines the format
                for the Flow description sub-option.</t>
            <t>The following values of the sub-option Type field, are reserved
                in this specification for binary flow descriptions</t>
            <t>
                <list>
                    <t>TBD IPv4 Binary Flow Description</t>
                    <t>TBD IPv6 Binary Flow Description</t>
                </list>
            </t>
            <section title="IPv4 Binary Flow Description">
                <t> If the Type field of the Flow Description sub-option
                    indicates an IPv4 Flow then the Filter Descriptor is:</t>
                <figure anchor="FRv4" title="IPv4 Filter Descriptor">
                    <artwork>
   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 ...    
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  </artwork>
                </figure>
                <t>Flags (A-L)</t>
                <t>
                    <list>
                        <t> Each flag indicates whether the corresponding field
                            is present in the message</t>
                    </list>
                </t>
                <t> (A)TOS - Type of Service</t>
                <t>
                    <list>
                        <t> The TOS field in the data packet as seen by the home
                            agent.</t>
                    </list>
                </t>
                <t> (B)Protocol</t>
                <t>
                    <list>
                        <t> An 8-bit unsigned integer representing the value of
                            the transport protocol number associated with the
                            port numbers in data packets.</t>
                    </list>
                </t>
                <t> (C)Source Address</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t>(D)Destination Address</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t>(E)Source Prefix Length</t>
                <t>
                    <list>
                        <t> This field includes the prefix length for the source
                            address. This field can only be included if the
                            Source Address field is included.</t>
                    </list>
                </t>
                <t>(F)Destination Prefix Length</t>
                <t>
                    <list>
                        <t> This field includes the prefix length for the
                            destination address. If The Destination Address
                            field is included then it refers to that field.</t>
                    </list>
                </t>
                <t>(G)Source Port - Low</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t>(H)Source Port - High</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t>(I)Destination Port - Low</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t>(K)Destination Port - High</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t> (L)SPI - Security Parameter Index</t>
                <t>
                    <list>
                        <t> The SPI field in the data packet as seen by the home
                            agent.</t>
                    </list>
                </t>
                <t> (R)Reserved</t>
                <t>
                    <list>
                        <t> Reserved for future use.</t>
                    </list>
                </t>
                <t> (NxPs) 'N' Number of Pointers</t>
                <t>
                    <list>
                        <t>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 <xref target="point"/>
                        </t>
                    </list>
                </t>
                <figure anchor="point" title="Pointer">
                    <artwork>
   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 ...
  +-+-+-+-+-+-+-+-+-+
    </artwork>
                </figure>
                <t>Offset</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t>Length</t>
                <t>
                    <list>
                        <t> The Length field identifies the total length of the
                            Pointer including the Offset, Length and Value
                            fields. </t>
                    </list>
                </t>
                <t>Value</t>
                <t>
                    <list>
                        <t> 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).</t>
                    </list>
                </t>
            </section>
            <section title="IPv6 Binary Flow Description">
                <t> If the Type field of the Flow Identification extension
                    indicates an IPv6 Flow then the Filter Rule Descriptor is:</t>
                <figure anchor="FRv6" title="IPv6 Filter Rule Descriptor">
                    <artwork>
   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 ...
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                    </artwork>
                </figure>
                <t>Flags (A-M)</t>
                <t>
                    <list>
                        <t> Each flag indicates whether the corresponding field
                            is present in the message</t>
                    </list>
                </t>
                <t>CS - Class of Service</t>
                <t>
                    <list>
                        <t> The CS field in the data packet as seen by the home
                            agent.</t>
                    </list>
                </t>
                <t> (B)Protocol</t>
                <t>
                    <list>
                        <t> An 8-bit unsigned integer representing value of the
                            transport protocol number associated with the port
                            numbers in data packets.</t>
                    </list>
                </t>
                <t> (C)Source Address</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t>(D)Destination Address</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t>(E)Source Prefix Length</t>
                <t>
                    <list>
                        <t> This field includes the prefix for the source
                            address. This field can only be included if the
                            Source Address field is included .</t>
                    </list>
                </t>
                <t>(F)Destination Prefix Length</t>
                <t>
                    <list>
                        <t> This field includes the prefix for the destination
                            address. If the Destination Address field is
                            included then it refers to that field.</t>
                    </list>
                </t>
                <t>(G)Source Port - Low</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t>(H)Source Port - High</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t>(I)Destination Port - Low</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t>(K)Destination Port - High</t>
                <t>
                    <list>
                        <t> 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.</t>
                    </list>
                </t>
                <t> (L)SPI - Security Parameter Index</t>
                <t>
                    <list>
                        <t> The SPI field in the data packet as seen by the home
                            agent.</t>
                    </list>
                </t>
                <t> (M)Flow Label</t>
                <t>
                    <list>
                        <t> The Flow Label field in the data packet as seen by
                            the home agent.</t>
                    </list>
                </t>
                <t> (NxPs) 'N' Number of Pointers</t>
                <t>
                    <list>
                        <t>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 <xref target="point"/>
                        </t>
                    </list>
                </t>
            </section>
        </section>
        <section title="Security Considerations">
            <t>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 <xref
                    target="I-D.ietf-mext-flow-binding"/>. The authors have not
                identified any security concenrs pertaining to this draft beyond
                what is already identified in <xref
                    target="I-D.ietf-mext-flow-binding"/>. </t>
        </section>
        <section title="IANA Considerations">
            <t>TBD</t>
        </section>
        <section title="Aknowledgements">
            <t>TBD</t>
        </section>
    </middle>
    <back>
        <references title="Normative References"> &rfc2119;
        &fb;</references>
    </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 02:55:59