Internet DRAFT - draft-nomadv6-mobileip-filters

draft-nomadv6-mobileip-filters



   MIP6 Working Group                                    K. Kuladinithi 
   INTERNET DRAFT                                        N. A. Fikouras 
   Expires: March 2006                                         C. Goerg 
                                                          ComNets-ikom, 
                                                            Uni. Bremen 
                                                     Koltsidas Georgios 
                                                  Fotini-Niovi Pavlidou 
                                                Aristotle University of 
                                                           Thessaloniki 
                                                               Oct 2005 
                                      
                                      
                Filters for Mobile IPv6 Bindings (NOMADv6) 
                   draft-nomadv6-mobileip-filters-03.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 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 December 10, 2005. 
    
   Copyright Notice 
    
    Copyright (C) The Internet Society (2005). 
    
   Abstract 
    
   Filters for Mobile IPv6 Bindings (NOMADv6) introduces a set of 
   extensions for MIPv6 protocol that allows for intelligent use of 
   multiple points of attachment simultaneously, on a mobile node.  It 
   specifies a set of rules (filters) communicated to binding agents 
   using binding updates. In turn, binding agents use this information 
   to determine whether and where to route flows associated with the 
   mobile node. In this manner, it is possible for a mobile node to 
   NOMADv6              Expires November 2004                       1 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
   distribute flows or packets of a flow among its available points of 
   attachment or to request that such flow is dropped before traversing 
   the Internet fabric, with or without notification to their source. 
   These extensions mirror a similar extension defined for Mobile IPv4 
   (NOMADv4) but has been extended to cater to the behavior of IPv6. 
   NOMADv6                Expires March 2006                         2 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
    
   Table of Contents 
    
   1.Introduction                                                4 
   2 Terminology                                                 4 
   3.Comparison with Filters for Mobile IPv4 (NOMADv4 vs NOMADv6)6 
   4 NOMADv6 Protocol Overview                                   6 
   4.1 Protocol Description                                      6 
   4.1.1 Multiple network interface support and N bit            6 
   4.1.2 Sending Filtering Rules                                 7 
   4.1.3 Processing at the Filtering Agent                       8 
   4.1.4 Lifetime of a Filter                                    9 
   4.1.6 Filters that split flows between different home addresses 9 
   4.1.7 De-registration when a single PoA is at the home network 9 
   4.2 Model of Operation                                         9 
   5 Backword compatibility with basic Mobile IPv6               12 
   6 Associating Filters with Bindings                           12 
   6.1 Mobile Node Considerations                                12 
   6.1.1 Creating a new mobility binding with Filters            13 
   6.1.2 Replacing a Filter of a mobility binding by Index       13 
   6.1.3 Adding new Filters to an existing mobility binding      13 
   6.1.4 Sharing a Filter between mobility binding               13 
   6.1.5 Renewing a mobility binding with Filters                13 
   6.1.6 Deleting a defined Filter/s for a mobility binding      14 
   6.1.7 Deleting all Filters for a mobility binding             14 
   6.1.8 Transferring a Filter between mobility bindings         14 
   6.2 Filtering Agent Considerations                            14 
   7 NOMADv6 Extensions to MIPv6 Binding Messages                15 
   7.1 Filter Module Extensions                                  16 
   7.1.1 Traffic Class Filter Extension                          16 
   7.1.2 Flow Label Filter Extension                             16 
   7.1.3 Protocol Extension                                      17 
   7.1.4 Source Address Extension                                18 
   7.1.5 Source Network Extension                                18 
   7.1.6 Source Port Extension                                   19 
   7.1.7 Source Port Range Extension                             19 
   7.1.8 Destination Port Extension                              20 
   7.1.9 Destination Port Range Extension                        20 
   7.1.10 Free-Form Extension                                    21 
   7.2 Filter Control Extension                                  22 
   7.3 Filter Deletion Extension                                 23 
   7.4 Filter Acknowledgement Extension                          23 
   8. Security considerations                                    24 
   References                                                    24 
   Authors' Addresses                                            25 
   Intellectual Property Statement                               26 
    
    
    
    
    
    
    
    
   NOMADv6                Expires March 2006                         3 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
1.Introduction 
    
   This document extends Mobile IPv6 protocol, introducing a set of 
   rules (called filters) that are transmitted with binding updates by a 
   mobile node. When receiving the binding update with filters, a 
   binding agent (Mobile IPv6 entities that can maintain bindings, HA, 
   CN, MAP) forwards flows matching filters defined by a mobile node to 
   the point of attachment associated with the respective filter. In 
   this manner it is made possible for mobile nodes to use multiple 
   active points of attachment simultaneously and efficiently.  
     
   This draft defines a series of different filter modules that can be 
   used independently or combined to form complex filters. Such filters 
   are relayed to binding agents during binding updates and are included 
   in signaling as mobility options. Binding agents capable of 
   maintaining filters are called filtering agents. All filters 
   contained in a binding update are associated with the point of 
   attachment (care-of-address) indicated in the binding update. In this 
   manner, filtering agents become aware of the relationship between 
   certain flows and specific bindings.  
    
   Flows intercepted by, or originating from a Filtering Agent (HA, CN, 
   MAP) will be filtered and individual flows will be forwarded to the 
   are-of address indicated by the respective binding. This enables 
   mobile nodes to distribute flows or to distribute packets of a single 
   flow, among their available points of attachment. 
    
   Mobile IPv6 does not provide the facilities for a mobile node to 
   register multiple care-of-addresses for a single home IP address. 
   This functionality is important for the considerations presented in 
   this document. This draft introduces the `N´ bit to the binding 
   update message.  This bit, when set, informs the filtering agent to 
   hold multiple simultaneous binding for the given home address of the 
   mobile node and then manipulate the IP traffic based on the filtering 
   rules sent as mobility options. The benefits and goals of using 
   multiple points of attachment simultaneously are explained in [9], 
   [10] and [11], highlighting the benefits with real life scenarios.  
    
   The operation of filtering for Mobile IPv6 is intended to mirror the 
   operation of filtering for Mobile IPv4 [2], with changes necessary to 
   provide a similar behavior. The considerations presented in this 
   document are collectively referred to as the NOMADv6 Extensions. 
    
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 [1]. 
    
   This document uses the following terms: 
    
   Destination Option  
            As defined in [3] 
    
   Domain   A collection of networks sharing a common network 
   NOMADv6                Expires March 2006                         4 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
            administration. 
    
   Home link 
            As defined in [3]. 
    
   Foreign link 
        As defined in [3]. 
    
   Home Agent (HA) 
            As defined in [3]. 
    
   Correspondent Node (CN) 
             As defined in [3]. 
    
   Mobile Node (MN) 
            As defined in [3]. 
    
   Mobility Anchor Point (MAP) 
            As defined in [4]. 
    
   Care-Of-Address 
            As defined in [3]. 
    
   Mobility Binding 
            As defined in [2]. 
    
   Binding Agent (BA) 
            Any Mobile IP entity (HA,CN,MAP) that can maintain 
            mobility bindings. 
    
   Binding Update 
            Mobile IP signaling with the purpose of establishing or  
            updating a mobility binding. 
    
   Binding Acknowledgement 
           A Binding Acknowledgement is used to acknowledge receipt of 
           a Binding Update, if an acknowledgement was requested in the 
           Binding Update, the binding update was sent to a home agent, 
           or an error occurred. 
    
   Filtering Agent (FLA) 
            Any binding agent that can maintain filters for mobility 
            bindings in its binding cache, such as the HA, CN or MAP.  
             
   Filter Module (FLM) 
            A single filtering criteria that specifies the condition  
            to check for filtering data. 
    
   Filter (FL) 
            A collection of filter modules.  Each filter module is  
            interpreted as having an AND relationship with the other  
            filter modules inside the filter. The relationship between  
            filters of a mobile node, is OR. 
    
   Filtering Update (FLU) 
   NOMADv6                Expires March 2006                         5 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
            Mobile IPv6 signaling (binding update) with the purpose of  
            establishing a new mobility binding that contains one or  
            more Filter extensions as mobility options. Each Filtering  
            Update should include the N bit ON on the binding update  
            mobility header. 
    
   Filtering Acknowledgement (FLAC) 
             Mobile IPv6 signaling (binding acknowledgment) for      
             returning the result of a Filtering Update. 
    
   Default Filter (DF) 
            A special Filter applicable for all flows not matching any  
            other Filter. Is either defined by mobile node or  
            automatically allocated from Filtering Agents to the  
            lowest defined Index of 0. 
    
   Idle Mobility Binding (IMB) 
            A mobility binding without Filters. 
    
 
3.Comparison with Filters for Mobile IPv4 (NOMADv4 vs NOMADv6) 
    
   a. In MIPv6, there are no dedicated FAs, GFAs, or RFAs. The roles of 
   these entities have been taken over by the particular routers, which 
   are located along the path which a packet traverses from the HA to 
   the MN or CN to MN. These special routers are called MAPs. Therefore, 
   in an MIPv6 environment, MN destined packet filtering SHOULD be done 
   by an HA, CN or an MAP. 
    
   b. Mobile IPv6 route optimization can be deployed on a global scale 
   between all mobile nodes and correspondent nodes. Therefore, CNs are 
   considered along with Has as filtering agents. 
    
   d. MIPv6 lacks support for multiple simultaneous bindings that are 
   available in MIPv4 [6]. The filtering concept described in this draft 
   requires that all filtering agents are able to cater for simultaneous 
   bindings. For this a new ‘N’ bit is introduced to the binding update 
   mobility header for the support of simultaneous bindings in NOMADv6. 
    
   e. Sub types of the Filter extensions are defined on the first byte 
   of the Data field in NOMADv6. NOMADv4 uses standard short and long 
   TLV format as defined in [6] for including sub types. 
    
    
4 NOMADv6 Protocol Overview 
    
   This section provides an overview of how filters for MIPv6 bindings 
   can be realized. 
    
4.1 Protocol Description 
    
 4.1.1 Multiple network interface support and N bit 
    
   Filters for Mobile IPv6 is applicable only in the context of a mobile 
   node maintaining multiple points of attachment to one or more 
   NOMADv6                Expires March 2006                         6 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
   Internet administrative domains. NOMADv6 does not make any 
   assumptions on the number of permanent home IP addresses maintained 
   by a mobile node or the number of home agents related with each of 
   the home IP addresses. In that case, a point of attachment can be 
   associated with one or more home IP addresses and consequently reused 
   in different bindings with different binding agents.  
    
   The NOMADv6 reserves a bit in the Message Data field of the binding 
   update message, called the ‘N’ bit, for the purpose of introducing 
   simultaneous bindings support. Upon receiving a binding update with 
   the ‘N’ bit set, a filtering agent MUST issue a new binding for the 
   mobile node home IP address indicated in the binding update without 
   affecting any of the existing mobility bindings.  
    
   The format of the Message Data field in the binding update message is 
   as follows [3]:  
    
                                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
                                  |Sequence #                     | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  |A|H|L||K|N|     Reserved       |           Lifetime            | 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   N    When set, the binding agent MUST act based on the functions 
        described in section 4.1.3 and add a new entry to the binding 
        cache without deleting any existing entries for the mobile 
        node´s home address which is specified in the home address 
        destination option. 
    
 4.1.2 Sending Filtering Rules 
    
   Mobile nodes that wish to associate Filters with an acquired care-of 
   address are required to issue a binding update including a list of 
   Filters that indicate which flows are associated with the registered 
   care-of-address. Such signaling is termed as Filtering Updates. A 
   Filter is consisted of one or more Filter Modules and is terminated 
   by a Filter Control Extension. A Filter Module may contain several 
   predicates. There is an OR relationship between predicates of a 
   Filter Module. Moreover, there is an AND relationship between Filter 
   Modules of the same Filter. Consequently, in order for a flow to 
   match a Filter, it is required to qualify for all of the Filter 
   Modules contained in the Filter.  
    
   With the help of the Filter Control Extension, the Filter´s purpose    
   can be defined. It contains the Filter´s Index, and a Weight field. 
   The Index identifies uniquely, a Filter for a given mobile node while 
   the Weight field indicates the relative amount of traffic for which 
   the filter is applicable. If the Weight field is set to zero, then 
   all matching flows will be dropped without notification to their 
   source.  
    
   A mobile node may define more than one Filter for a specific mobility 
   binding. The declaration of these Filters may take place during one 
   or more Filtering Updates. In the case of shared Filters, packets of 
   matching flows will get distributed between multiple points of 
   NOMADv6                Expires March 2006                         7 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
   attachment with respect to the Weight value of each filter. A mobile 
   node may share a Filter between mobility bindings by issuing a 
   Filtering Request from each respective point of attachment. The first 
   one will contain the full Filter (Filter Body + Filter Control 
   Extension) while all subsequent Filtering Requests will contain only 
   a Filter Control Extension indicating the Index number of the Filter 
   to be shared.  
    
   Flows that fail to match any of the defined Filters are handled as 
   defined by the Filter with the lowest possible Index, termed  
   as Default Filter. A mobile node may define some of the attributes  
   of the Default Filter such as the associated mobility binding and  
   its Weight field by issuing a Filtering Request. Otherwise, these  
   will be configured by each Filtering Agent (see section 4.1.3).  
    
   When a mobile node needs to delete filters, it sends the binding 
   update containing a single Filter Control Extension. The index of the 
   filter to be deleted should be sent in the index field. If a mobile 
   node wishes to delete all filters, index should be set to 255. 
    
   All the filtering rules which have to be set in the mobility options 
   of a binding update will be described in section 7.1. The rules by 
   which a mobile node decides on the set of Filters are considered 
   beyond the scope of this document. The extensions presented in this 
   document do not affect in any way the mobile node´s choice on the 
   point of attachment to be used when returning traffic.  
    
    
 4.1.3 Processing at the Filtering Agent 
    
   Filtering Updates will be processed by one or more Filtering Agents.   
   A Filtering Agent can be any Mobile IPv6 entity that can maintain 
   mobility bindings with Filters, like a HA, CN or MAP.    
    
   Flows that fail to match any of the defined Filters are handled as  
   defined by the Default Filter. If a mobile node fails to promptly   
   define a Default Filter or if the associated mobility binding expires 
   then a new one will automatically be configured by each involved 
   Filtering Agent to the lowest possible Index of 0.  
    
   Different Filtering Agents may apply different Default Filter 
   definitions; however it is recommended that the Default Filter be   
   associated with the mobility binding with the longest outstanding   
   lifetime with the Weight field set to 1.  
    
   A mobile node may issue Filters corresponding to flows that do not    
   yet exist. When such a flow is initiated it will be handled by the    
   Filtering Agents as indicated by the respective Filter.  
    
   A Filtering Acknowledgement contains one or more extensions to the 
   binding acknowledgment indicating the Index of a Filter along with a 
   Code signifying the result of the respective Filtering Update. The 
   Code is used to relay success or the reason of rejection to the 
   mobile node. 
    
   NOMADv6                Expires March 2006                         8 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
   Upon receiving a binding update with the ‘N’ bit not set, a Filtering 
   Agent should replace all existing bindings in its binding cache with 
   the one indicated by the binding update and remove all associated 
   bindings. From that point on the Filtering Agent is required to act 
   as per [3] and ignore the considerations presented in this document. 
   A mobility binding in that state is termed as an Idle Mobility 
   Binding.  
    
 4.1.4 Lifetime of a Filter 
    
   A Filter remains valid for the lifetime of the corresponding mobility 
   binding. If the lifetime of a binding expires or it is cancelled by 
   the registration of another mobility binding then all associated 
   Filters are deleted from the binding cache.  
    
   When renewing mobility binding, a mobile node is not required to 
   include any reference to any requested Filters. A mobile node SHOULD 
   set the ‘N’ bit on in its Binding Update and then the Filtering Agent 
   SHOULD refresh the lifetime of the binding and all filters, related 
   to the home address sent on the Destination option of the Binding 
   Update.  
    
 4.1.6 Filters that split flows between different home addresses. 
    
   A mobile node that maintains multiple home IP addresses can share 
   multiple points of attachment between them. That is, having 
   established a binding for a certain home IP address and a specific 
   point of attachment does not restrict the use of the same point of 
   attachment with an other home IP address even when home IP addresses 
   share the same home agent. 
    
   A MN with more than one points of attachment, MAY have different home 
   addresses (multi-homed mobile node) for each of those points of 
   attachment. These addresses MAY be registered with different HAs or 
   with the same HA. In this situation, if MN wishes to split its flows 
   coming to one point of attachment (A) to another (B), MN MUST send a 
   Filtering Update via A, including an alternate CoA mobility option 
   with the CoA of the point of attachment B. The HA of the point of 
   attachment A, upon receival of this binding update, MUST tunnel the 
   matching flows to the CoA of the point of attachment B. (Refer Fig. 
   1) 
    
 4.1.7 De-registration when a single PoA is at the home network 
  
   When a mobile node is connected to its home network by one of its 
   points of attachment, the mobile node MUST de-register all the other 
   bindings that belong to the same home IP address. In this way, mobile 
   node SHOULD delete all filters associated with the specific 
   binding(s) and revert to operations as defined in [3]. 
    
4.2 Model of Operation 
    
   Filters for Mobile IPv6 Bindings has two modes of operation that can  
   be seamlessly combined but for the sake of simplicity are covered in    
   this section separately. The first model of operation concerns the  
   NOMADv6                Expires March 2006                         9 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
   management of whole flows while the second model addresses the 
   distribution of the individual packets of flows between points of 
   attachment. 
    
   The distribution of multiple flows is illustrated in figure 1. It 
   shows a mobile node that maintains multiple access interfaces 
   simultaneously. Each interface provides a point of attachment through 
   a foreign network (FN-A, FN-B and FN-C). The extensions presented do 
   not provide any restriction as to how many points of attachment a 
   mobile node may maintain or how many home agents it can be attached 
   to. For example, the mobile node in figure 1 has two separate points 
   of attachment through FN-A and FN-B, communicating with CN-1 and CN-2 
   via HA-1. In addition, the mobile node maintains another point of 
   attachment through FN-C, corresponding with CN3 via HA2. MN uses one 
   home address (HoA-1) for two interfaces, while the other interface is 
   connected to the HA2 via HoA-2.  
    
   In figure 1, the mobile node maintains five communication sessions 
   with correspondent nodes of CN1, CN2 and CN3. Flows associated with 
   CN1 are denoted by 'a' and CN2 are denoted by 'b' & ‘c’ while the 
   respective flows for CN3 are denoted by’d’ and 'e'.  
    
   When MN requires to transfer flows `a´ & `b´ (Filter1) to the 
   interface connected to the FN-A, while receiving all the other flows 
   (Default filter) over FN-B, MN sends a new binding as defined in 
   4.1.2 with the ‘N’ bit set.  
       
   When MN requires transferring flow `d´ to the interface connected to 
   FN-B, MN sends a binding update with HoA-2 and CoA-C, together with 
   CoA-B in the Alternate care-of-address mobility option and with the 
   required filtering extensions (see section 4.1.6). This causes the 
   addition of a new binding entry (HOA-2:CoA-B:Filter1) at HA2. This 
   will not result in any deletion of existing binding entries (HoA-
   2:CoA-C will remain). HA2, will now intercept all flows (d & e), but 
   will tunnel flow `d´ through FN-B, while flow `e´ or any other flows 
   continues through FN-C. 
    
    
   NOMADv6                Expires March 2006                        10 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
    
   +-------+            +-------+                             +-------+ 
   |  CN1  |            | CN2   |                             | CN3   | 
   +-------+            +-------+                             +-------+ 
      |a                    b|                                   |d 
      |a    c b c b c b c b c|                                   |e 
      |a   b -----------------                                   |d 
      |a   c|                                                    |e 
    +--------+                                                   |d 
    |  HA1   |HoA-1:CoA-A:Filter1(a,b)                           |e 
    |        |HoA-1:CoA-B:Default(c)                             |d 
    +--------+                                                   |e 
      |b   c|                                                    |d 
      |a   c|                                                +--------+ 
      |b   c|                          HoA-2:CoA-B:Filter1(d)|  HA2   | 
      |a   c|                          HoA-2:CoA-C:Default(e)|        | 
      |b   c|                                                +--------+ 
      |a   c|            +-------------+                       |d  e|  
      |b   c|            |             |                       |d  e| 
      |a   c ------------|    FN-B     |----------------------- d  e| 
      |b    c c c c c c c|             | d d d d d d d d d d d d   e| 
      |a                 +-------------+                           e| 
      |b                      c|                                   e| 
      |a                      d|                                   e| 
      |b                      c|                                   e| 
      |a                      d|HoA-1                              e| 
    +------------+          +--------+                    +------------+ 
    |            |a b a b a |   MN   | e e e e e e e e e e|            | 
    |   FN-A     |----------|        |--------------------|    FN-C    | 
    |            |     HoA-1+--------+HoA-2               |            | 
    +------------+                                        +------------+ 
    
   Figure 1: A mobile node with three points of attachment in  
   different foreign networks (CoA-A, CoA-B & CoA-C) with 2 home 
   addresses (HoA-1 & HoA-2). Incoming flows are redirected by the 
   respective filtering agents (HA1, HA2) to different care-of-
   addresses, based on the filtering rules. 
    
   In the example presented in figure 1, the HA1 & HA2 act as the 
   filtering agents. But, any Mobile IPv6 binding agent (HA, MAP, CN) 
   can act as filtering agents. To return traffic, a mobile node may 
   choose any of the available points of attachment. 
    
   Figure 2, illustrates the second model of operation. It shows the 
   mobile node that maintains two points of attachment in visited domain 
   A and B, while maintaining one active flow from CN1, denoted with 
   ‘a’. In this example, MN maintains two bindings with the CN1 for 
   visiting domain A and B. NOMADv6 extensions are applied to share a 
   Filter (Flow ‘a’) over point of attachment A and B. However, 
   distribution of single flow could lead to performance degradation 
   when using standard TCP applications. But, for the applications that 
   could be reorder the out of sequence packets at the receiver, this 
   mechanism performs well.  
    
    
   NOMADv6                Expires March 2006                        11 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
    
                                          +-------------------------+         
                                          |        Public           |         
                                          |       Network           |         
                +---------------------+   |                         |                
                |  Visited Domain  A  |   |                         |                 
                |                     |   |                         |     
        a  a  a |a  a  a  a  a  a  a  a  a| a  a  a  a  a  a a  a   |      
         ------------------------------------------------------- a  |      
       a|       |                     |   |                      |  |        
        |       +---------------------+   |                      |a |     
     +------+                             |                      |aaaaaa+------+   
     |  MN  |   +---------------------+   |                       ------|  CN1 |   
     +------+   |                     |   |                      |  |   +------+  
       |a       | a         a         a   |     a           a    |  |     
        ---------------------------------------------------------   |     
                |                     |   |                         |             
                |  Visited Domain  B  |   |                         |       
                +---------------------+   +-------------------------+     
        
      Figure 2: A mobile node with multiple points of attachment in  
                different visited domains. A single incoming flow is   
                distributed by the respective Filtering Agents (HA,CN or   
                MAP) to a different care-of address. 
    
    
5 Backword compatibility with basic Mobile IPv6 
    
   If the binding update does not have the ‘N’ bit set, the processing 
   of the BU is same as [3]. But if the binding agent has already 
   registered multiple care-of addresses for the same home address, the 
   binding agent MUST overwrite all the bindings for the home address 
   specified in the destination option. Binding updates without the ‘N’ 
   bit set are considered as idle mobility bindings. In order to 
   preserve backward compatibility with the basic protocol [3], it is 
   stated in section 4.1.3 that a Filtering Agent maintaining only idle 
   Mobility Bindings for a mobile is required to act as per [3] and to 
   ignore the behavior presented in this document.  
    
    
6 Associating Filters with Bindings 
    
   This section gives a detailed description of the steps taken by a 
   mobile node that wishes to associate filters with its bindings. 
   Furthermore, it presents how a filtering agent reacts to the receipt 
   of a binding update containing a list of filters. 
    
6.1 Mobile Node Considerations 
    
   A mobile node that acquires a care-of address within a visited domain 
   may issue a binding update containing a list of Filters. All included 
   Filters will be associated with the registered care-of address at all 
   Filtering Agents (HA,CN,MAP). A mobile node that maintains multiple 
   points of attachment may request for simultaneous mobility bindings 
   by setting the ‘N’ bit in its binding Updates. However, each of the 
   NOMADv6                Expires March 2006                        12 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
   binding updates must contain its own list of filters. Should the 
   binding update be rejected then the mobile node will receive a 
   Filtering Acknowledgement with a binding acknowledgement Extension 
   indicating the Index of the Filter that was rejected along with the 
   reason for rejection.  
    
   It is important for a mobile node to keep a record of the Filters    
   and their corresponding Index numbers per home address.  
    
   For the management of Filters eight scenarios are identified. These  
   are presented along with the actions to be undertaken by the mobile  
   node.  
    
 6.1.1 Creating a new mobility binding with Filters  
    
   In order to create a new mobility binding with associated Filters,  
   the mobile node MUST issue a binding update including one or more  
   full Filter definitions (one or more Filter modules with Filter  
   Control Extension) as mobility options, attached to the binding 
   update mobility header. Each of the Filters MUST be allocated a 
   different Index number. 
    
   The destination of the Filtering Update is identified as described  
   in [3].  
    
 6.1.2 Replacing a Filter of a mobility binding by Index  
        
   In order for a mobile node to replace an existing Filter, it is   
   required to issue a binding update with a full definition of the    
   new Filter. The Filter Control Extension of the Filter must indicate  
   the Index of the Filter to be replaced. The Weight value of the new 
   Filter MAY be different from the Weight of the previous Filter 
   definition.  
    
 6.1.3 Adding new Filters to an existing mobility binding  
        
   In order for a mobile node to add new Filters to an existing mobility 
   binding, it is required to act as if creating a new mobility binding 
   with Filters. It is necessary for the new Filter to adopt an 
   unallocated Index number otherwise it would be replacing an existing  
   Filter with that Index.  
    
 6.1.4 Sharing a Filter between mobility binding 
  
   A mobile node may share a Filter between mobility bindings by    
   issuing a binding update from each respective point of   attachment. 
   The first one will contain the full Filter (Filter Body + Filter 
   Control Extension) while all subsequent Filtering Requests    will 
   contain only a Filter Control Extension indicating the Index    
   number of the Filter to be shared. 
    
 6.1.5 Renewing a mobility binding with Filters  
    
   Periodically, a mobile node is required to renew its mobility 
   bindings in order to extend their lifetime. Renewing a mobility   
   NOMADv6                Expires March 2006                        13 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
   binding may occur as described in [3]. The mobile node sets the ‘N’ 
   bit, when sending a binding update in order to renew all filters 
   allocated for the home address defined in the destination option.    
    
 6.1.6 Deleting a defined Filter/s for a mobility binding  
    
   In order for a mobile node to delete an existing Filter for a    
   mobility binding, it is required to issue a binding update from  
   any care-of address. The binding update must include a Filter 
   Deletion Extensions indicating the Index of each Filter to be 
   deleted. 
    
 6.1.7 Deleting all Filters for a mobility binding  
    
   In order for a mobile node to delete all existing Filters for a    
   mobility binding, it is required to issue a binding update from  
   any care-of address. The binding update must include a Filter 
   Deletion Extensions with the Index field set to zero. 
    
 6.1.8 Transferring a Filter between mobility bindings  
    
   It is required to act as if creating a new mobility binding with 
   Filters and send out a binding update from the point of attachment to 
   which it wants to transfer the Filter to the other. The Filtering 
   Update must attach the Alternate Care-of-Address mobility option and 
   must contain the full Filter. Alternate care-of-address option 
   contains the care-of-address of the point of attachment, which the 
   filter should be transferred. In this way, the transferring of 
   filters are possible irrespective of the same or different home 
   addresses used for each of attachment.  
    
   The Weight field of the Filter Control Extension indicates the 
   relative amount of traffic for which a Filter is applicable. If the 
   Weight field is set to zero then all matching flows will be dropped 
   without notification to their source. For any other value of Weight, 
   matching flows will get forwarded to the point of attachment 
   indicated by the corresponding mobility binding. In the case of 
   shared Filters, packets of matching flows will get distributed 
   between multiple points of attachment with respect to the Weight 
   value of each Filter. 
    
6.2 Filtering Agent Considerations 
    
   This section contains considerations for Filtering Agents. These are 
   Mobile IPv6 entities that can maintain mobility bindings such as HAs, 
   CNs or MAPs when hierarchical Mobile IPv6 is supported.  
      
   Should the Filtering Agent fail to apply any of the Filters then for 
   each such Filter a Filter Acknowledgement Extension must be included 
   in the Filtering Acknowledgement indicating the Index of the rejected 
   Filter along with the reason of rejection. If authentication of the 
   Filtering Update fails, then none of the Filters MUST be applied.  
    
   NOMADv6                Expires March 2006                        14 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
   Should the Filtering Agent succeed in applying the Filters, then the 
   Filtering Acknowledgement indicating the index of the success MUST be 
   sent, only if `A´ bit is set on the Binding Update. 
    
   When a Filtering Agent intercepts a packet for a mobile node for   
   which it maintains a mobility binding, it is required to identify   
   whether the packet matches any of the Filters associated with the    
   mobility binding. If so, the packet is handled as described by the 
   Weight value of the corresponding Filter. If no matching Filter is 
   found then the packet is handled as indicated by the Default Filter.  
    
   When a mobility binding expires or is deregistered by a mobile node  
   then all associated Filters are deleted with it. Whenever a Filtering 
   Agent received a Filtering Update without setting the N bit (i.e. 
   Binding Update), it is required to overwrite all the bindings set for 
   the home address and keep the binding for the new care-of-address, 
   sent. This binding is called the Idle Mobility Binding and it is 
   required to ignore the behavior described in this document and to act 
   as per [3]. 
    
    
7 NOMADv6 Extensions to MIPv6 Binding Messages 
    
   In this section, the new Mobile IPv6 extensions required to support 
   the Filters for Mobile IPv6 bindings are specified. 
    
   All filtering extensions are sent as mobility options of the binding 
   update or binding acknowledgment mobility header as defined in [3]. 
   The filtering extensions are encoded using a type-length-value (TLV) 
   format in the mobility options.  
    
   A complete mobility header, once filter extensions are attached 
   SHOULD be an integer multiple of 8 octets long.  
    
   Filter extensions can be categorized into 4 types, 
    
        o Filter Module Extensions 
        o Filter Control Extension 
        o Filter Deletion Extension 
        o Filter Acknowledgement Extension 
    
   The Filter Module Extensions specify the different filtering rules 
   that the mobile node wishes to inform the Filtering Agent. There are 
   10 such filter extensions.  These extensions are always attached to 
   the Binding Update mobility header as mobility option/s. To form a 
   valid Filter, at least one of the filter module extensions must be 
   included. The Filter Control Extension must appear once in every 
   Filter following all Filter Modules. Filter control extension may 
   appear more than once in a binding update interleaving with Filter 
   declarations.  
    
   Filter Modules of the same type may not appear in a Filter more than  
   once. A Filter Module may include one or more predicates. There is an 
   OR relationship between Filter Module predicates. That is, in order 
   for a flow to match a Filter Module, it is required to qualify for 
   NOMADv6                Expires March 2006                        15 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
   any of the predicates in it. In addition, there is an AND 
   relationship between Filter Modules of a Filter. As such, in order  
   for a flow to match a Filter, it is required to qualify for all its  
   Filter Modules. 
    
   In Filter Modules, the first byte of the data is allocated to define 
   the types of the Filter Modules. The left most bit of the Sub-Type 
   field is used to determine whether the rules included in the Filter 
   Module are positive or negative. In the first case, a flow is 
   required to match exactly the predicates included in the Filter 
   Module while in the second the inverted (NOT) rule is applied. 
    
   The Filter Deletion extension is an extension sent to the Filtering 
   Agent by the mobile node to deleted filter/s. This extension is 
   attached to Binding Update mobility header. The Filter 
   Acknowledgement extension is an extension sent to the mobile node by 
   the Filtering Agent to inform of success or any failure of filter 
   accommodation. This extension is attached to Binding Acknowledgement 
   mobility header. 
    
7.1 Filter Module Extensions 
    
 7.1.1 Traffic Class Filter Extension. 
    
   Specifies the extension required to filter IPv6 packets, based on the 
   value placed on the Traffic Class field of a packet. This has an 
   alignment requirement of 2n. The format is 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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |Option Type    | Option Length |I| Sub-Type  |Traffic Class    | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   Option Type          The type which describes a collection of NOMADv6 
                        extensions (To be defined) 
    
   Option Length        N+1, where N is the number of Traffic Class  
                        entries. 
    
   I                    Invert. A left most bit of the Sub-Type field is  
                        used to invert each predicate of the Filter  
                        Module. Due to this bit, two different Sub-Type  
                        values are given. 
    
   Sub-Type             0 for given Module, 128 for inverted Module  
    
   Traffic Class        Values, related to different classes or  
                        priorities of IPv6 packets.[7]  
    
 7.1.2 Flow Label Filter Extension  
    
   Specifies the extension required to filter IPv6 packets based on the 
   value placed on the Flow Label field of a IPv6 packet. This has an 
   alignment requirement of 4n+1. The format is as follows. 
   NOMADv6                Expires March 2006                        16 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
    
    
    
    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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |             |    Option Type| Option Length |I| Sub-Type      | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |      Reserved         |            Flow Label                 | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
    
   Option Type          The type which describes a collection of NOMADv6  
                        extensions (To be defined) 
    
   Option Length        4N+1, where N is the number of Flow Label  
                        entries.  Each Flow Label entry is assumed to  
                        take 4 bytes (including the Reserved bits)  
    
   I                    Invert. A left most bit of the Sub-Type field is  
                        used to invert each predicate of the Filter  
                        Module. Due to this bit, two different Sub-Type  
                        values are given.   
    
   Sub-Type             1 for given Module, 129 for inverted Module  
    
   Flow Label           Any value which is labelled on this field of a  
                        IPv6 packet. Refer [7] for what and how flow  
                        label is in IPv6. 
    
 7.1.3 Protocol Extension 
    
   Specifies one or more protocol to be filtered. This has an alignment 
   requirement of 2n. The format is 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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |Option Type    | Option Length |I|  Sub-Type   |  Protocol     | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   Option Type          The type which describes a collection of NOMADv6  
                        extensions (To be defined) 
    
   Option Length        N+1, where N is the number of Protocol entries.  
    
   I                    Invert. A left most bit of the Sub-Type field is  
                        used to invert each predicate of the Filter  
                        Module. Due to this bit, two different Sub-Type  
                        values are given.   
    
   Sub-Type             2 for given Module, 130 for inverted Module  
    
   Protocol             Identifies the next level protocol used in the  
                        data portion of the IPv6 datagram. The values  
   NOMADv6                Expires March 2006                        17 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
                        for various protocols are specified in [7]  
    
 7.1.4 Source Address Extension 
    
   Specifies one or more source addresses to be filtered. This has an 
   alignment requirement of 8n+5. The format is 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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |               |    Option Type| Option Length |I|  Sub-Type   | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               | 
   +                                                               + 
   |                                                               | 
   +                       Source Address                          + 
   |                                                               | 
   +                                                               + 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   Option Type          The type which describes a collection of NOMADv6  
                        extensions (To be defined) 
    
   Option Length        16N+1, where N is the number of source  
                        addresses. 
    
   I                    Invert. A left most bit of the Sub-Type field is  
                        used to invert each predicate of the Filter  
                        Module. Due to this bit, two different Sub-Type  
                        values are given. 
    
   Sub-Type             3 for given Module, 131 for inverted Module  
    
   Source Address       Identifies the source address/es to be filtered.  
    
 7.1.5 Source Network Extension 
    
   Specifies one or more source network/s to be filtered. This has an 
   alignment requirement of 8n+4. The format is 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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |Option Type    | Option Length |I| Sub-Type    | Network Prefix| 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |           Network Address                                     | 
   +                                                               + 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   Option Type          The type which describes a collection of NOMADv6  
                        extensions (To be defined) 
    
   Option Length        9N+1, where N is number networks. 
   NOMADv6                Expires March 2006                        18 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
    
   I                    Invert. A left most bit of the Sub-Type field is  
                        used to invert each predicate of the Filter  
                        Module. Due to this bit, two different Sub-Type  
                        values are given. 
    
   Sub-Type             4 for given Module, 132 for inverted Module  
    
   Network Prefix       Identifies the network prefix to be filtered. 
    
   Network Address      Identifies the first 64 bits of the Source  
                        network address.  
    
 7.1.6 Source Port Extension 
    
   Specifies one or more source ports to be filtered. This has an 
   alignment requirement of 2n+3. The format is 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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                   |Option Type    |           | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |Option Length  |I| Sub-Type    |  Source Port Number           | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
    
   Option Type          The type which describes a collection of NOMADv6  
                        extensions (To be defined) 
    
   Option Length        2N+1, where N is number of port entries. 
    
   I                    Invert. A left most bit of the Sub-Type field is  
                        used to invert each predicate of the Filter  
                        Module. Due to this bit, two different Sub-Type  
                        values are given.   
    
   Sub-Type             5 for given Module, 133 for inverted Module  
    
   Source Port          Identifies the Source Port Number/s to be  
                        filtered. 
    
 7.1.7 Source Port Range Extension 
    
   Specifies one or more source ports to be filtered. This has an 
   alignment requirement of 2n+1. The format is 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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |               |    Option Type| Option Length |I|  Sub-Type   | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   | Source Port Number Min        | Source Port Number Max        | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   NOMADv6                Expires March 2006                        19 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
   Option Type          The type which describes a collection of NOMADv6  
                        extensions (To be defined) 
    
   Option Length        4N+1, where N is number of port range entries. 
    
   I                    Invert. A left most bit of the Sub-Type field is  
                        used to invert each predicate of the Filter  
                        Module. Due to this bit, two different Sub-Type  
                        values are given.   
    
   Sub-Type             6 for given Module, 134 for inverted Module  
    
   Port Number Min      Identifies the start point of a range of port  
                        numbers. 
    
   Port Number Max      Identifies the end point of a range of port  
                        numbers. 
    
 7.1.8 Destination Port Extension 
    
   Specifies one or more destination ports to be filtered. This has an 
   alignment requirement of 2n+3. The format is 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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                               |Option Type    | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |Option Length  |I| Sub-Type    |  Destination Port Number      | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
    
   Option Type          The type which describes a collection of NOMADv6  
                        extensions (To be defined) 
    
   Option Length        2N+1, where N is number of port entries. 
    
   I                    Invert. A left most bit of the Sub-Type field is  
                        used to invert each predicate of the Filter  
                        Module. Due to this bit, two different Sub-Type  
                        values are given. 
    
   Sub-Type             7 for given Module, 135 for inverted Module  
    
   Destination Port     Identifies the destination Port Number/s to be  
                        filtered. 
    
 7.1.9 Destination Port Range Extension 
    
   Specifies one or more destination ports to be filtered. This has an 
   alignment requirement of 2n+1. The format is as follows. 
    
    
    
    
   NOMADv6                Expires March 2006                        20 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
    
    
    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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |               |    Option Type| Option Length|I|  Sub-Type   | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   | Destination Port Number Min   | Destination Port Number Max   | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   Option Type          The type which describes a collection of NOMADv6  
                        extensions (To be defined) 
    
   Option Length        4N+1, where N is number of port range entries. 
    
   I                    Invert. A left most bit of the Sub-Type field is  
                        used to invert each predicate of the Filter  
                        Module. Due to this bit, two different Sub-Type  
                        values are given. 
    
   Sub-Type             8 for given Module, 136 for inverted Module  
    
   Port Number Min      Identifies the start point of a range of port  
                        numbers. 
    
   Port Number Max      Identifies the end point of a range of port  
                        numbers. 
    
 7.1.10 Free-Form Extension 
    
   Specifies the value of an area anywhere within a packet. The 
   alignment requirement is based on the number of bytes on Value field. 
   The format is 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  
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
   |     Type      | Length        |I|  Sub-Type   |  Reserved     |  
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
   |             Offset            |              Value               
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
                                      ....  
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
   |                              Mask                                
                                  .... 
    
   Option Type          The type which describes a collection of NOMADv6  
                        extensions (To be defined) 
    
   Option Length        Is variable, depends on the length of the Value  
                        and Mask. 
    
   I                    Invert. A left most bit of the Sub-Type field is  
                        used to invert each predicate of the Filter  
                        Module. Due to this bit, two different Sub-Type  
   NOMADv6                Expires March 2006                        21 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
                        values are given. 
    
   Sub-Type             9 for given Module, 137 for inverted Module  
    
   Offset               Indicates the starting octet location within an  
                        IPv6 packet to use to mask with the Mask and  
                        check with Value. 
    
   Value                Indicates the value to be checked, once masked. 
    
   Mask                 Indicates the value to use as the mask to mask  
                        the octets starting from the offset. 
    
    
   The area indicated by the offset and for a length equivalent to that 
   of Mask is compared against Mask with the bitwise operator AND. The  
   result of this operation is compared against Value. A match would  
   indicate that the packet qualifies the filter. 
                        
   Value and Mask fields MUST have exactly the same size. However, the 
   length of the Value and Mask may vary with every free-form filter. 
   For the sizes of Value and Mask the following condition holds: 
    
     Value = Mask = (Length - 4) / 2 
    
7.2 Filter Control Extension 
    
   Specifies a filter´s unique identifier, called the index along with 
   the Filter´s Target.  
        
     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  
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
    |     Type      |    Length   |    Sub-Type     |     Index     |  
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
    |     Weight    |  
    +-+-+-+-+-+-+-+-+  
        
   Option Type          The type which describes a collection of NOMADv6  
                        extensions (To be defined). 
    
   Option Length        3 
    
   Sub-Type             125 
        
   Index                Filter’s index number  
        
   Weight               Relative amount of traffic for which forwarding   
                        Filter is applicable    
    
    
    
    
    
    
   NOMADv6                Expires March 2006                        22 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
    
7.3 Filter Deletion Extension 
     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  
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
    |     Type      |    Length   |    Sub-Type     |     Index     |  
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
    
   Type                 The type, which describes a collection of  
                        extensions having a common data type. (To Be  
                        Defined). 
    
   Sub-Type             126  
        
   Length               N, where N is the number of Index entries  
        
   Index                A Filter’s index number 
    
7.4 Filter Acknowledgement Extension 
    
   Specifies the format of an acknowledgement extension which is sent 
   with the binding acknowledgement mobility header to inform the MN 
   about the status of Filters processed at the Filtering Agent. This 
   has an alignment requirement of 2n+3. The format is 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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                               |Option Type    |  
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |Option Len     |   Sub-Type    | Code          |   index       | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   Option Type          The type which describes a collection of NOMADv6  
                        extensions (To be defined) 
    
   Option Length        3 
        
   Sub-Type             127.  
    
   Index                Filter´s index number 
    
   Code                 Values to indicate the status of the Filter  
                        accommodation  
        
   The following section specifies the values to use within the Code 
   field of the Filter Acknowledgement Extension are defined: 
    
   Successful Filtering Update Codes:  
    
            Code Name                Value     
            ----------------------   -----     
            REQUEST ACCEPTED         TBD  
    
    
   NOMADv6                Expires March 2006                        23 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
    
   Failed Filtering Update Codes:  
    
            Error Name               Value     
            ----------------------   -----    
            TOO MANY FILTERS         TBD  
            INVALID FILTER SYNTAX    TBD  
            UNKNOWN FILTER           TBD  
            CAN NOT DROP MIP SIG     TBD  
        
   The Error Code “CAN NOT DROP MIP SIG” is used when the mobile node  
   issues a Filtering Update requesting the drop of flows corresponding 
   to Mobile IPv6 signalling such as Router Advertisements, Binding 
   Update, Binding Refresh Request, Binding Acknowledgement or Binding 
   Error. 
    
8. Security considerations 
    
   Since the filter extensions defined in this document only concern the 
   messaging between the home agent (or correspondent node with route 
   optimization) and the MN, all security mechanisms that are defined in 
   [3] is considered sufficient to protect the integrity and 
   authenticity of filter extensions that are attached with Binding 
   Update and Binding acknowledgement messages. 
    
References 
    
   [1]  S. Bradner. Key words for use in RFCs to Indicate Requirement  
        Levels. RFC 2119, IETF, March 1997. 
   [2]  N.A. Fikouras, A. Udugama, K. Kuladinithi, C. Goerg, W. Zirwas.  
        Filters for Mobile IP Bindings (NOMAD).draft-nomad-mobileip- 
        filters-05.txt, IETF, October 2003. 
   [3]  Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in 
        IPv6", RFC 3775, June 2004. 
   [4]  H. Soliman, C. Castelluccia, K. Malki, L. Bellier. Hierarchical 
        MIPv6 Mobility management. Draft-ietf-mobileip-hmipv6-06.txt, 
        IETF, July 2002.  
   [5]  K. Malki, H. Soliman. Simultaneous Binding for Mobile Ipv6 Fast  
        Handoffs. draft-emalki-mobileip-bicasting-v6-06.txt, IETF, July 
        2005. 
   [6]  C. Perkins, IP Mobility Support for IPv4. RFC 3220, January 
        2002. 
   [7]  S. Deering, R. Hinden. Internet Protocol Version 6 
        Specification, RFC 2460, December 1998. 
   [8]  J. Reynolds and J. Postel. Assigned Numbers. Request for 
        Comments 1700, STD 2, IETF, October 1994. 
   [9]  T. Ernst, N. Montavont, R. Wakikawa, C. Ng, E. Paik,  
        K. Kuladinithi and T. Noel, "Goals and Benefits of 
        Multihoming,"  IETF http://www.ietf.org/internet-drafts/draft-
        ernst-generic-goals-and-benefits-01.txt, February 2005  
   [10] N. Fikouras, K. Kuladinithi, C. Goerg and C. Bormann, "Mobile  
        IPv4 Flow Mobility", draft-nomad-mip4-flow-mobility-pb-00.txt  
        (work in progress), Feb 2004. 
   [11] N. Montavont, R. Wakikawa, T. Ernst, C. Ng and K. Kuladinithi   
        "Analysis of Multihoming in Mobile IPv6",  
   NOMADv6                Expires March 2006                        24 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
        http://www.ietf.org/internet-drafts/draft-montavont-mobileip- 
        multihoming-pb-statement-04.txt, June 2005. 
    
 
   A. Changes from Previous Versions  
        
      The following updates and changes were made in this version of the  
      Filters for Mobile IPv6 Bindings draft, compared to earlier  
      versions.  
        
   A.1. Updates from version 00 
    
   Removed the Target field from the Filter Control Extension  
    
   Introduced the Weight field in the Filter Control Extension.  
    
   Introduced the Filter Deletion Extension 
    
   Introduced shared Filters based on the Index field. 
    
   Extended the section 4.2 to explain the distribution of packets of a 
   flow. 
    
   A.2. Updates from version 01 
    
   Clarified what happens if one interface is attached to the home 
   network (section 4.1.7) 
    
   Added references to the problem statement drafts of multi-homing 
   goals and benefits in the introduction 
    
   Added the security section 
    
   A.3. Updates from version 02 
    
   Added copyright statement as defined in RFC 3667 
    
   Added new reference of 11 and updated references of 5, 3 & 9 
    
   Remove the following statement from the section 4.1.6 
   “If the filtering agent is a CN instead of a HA, then packets will be 
   delivered to the CoA of the point of attachment B using a Type 2 
   Routing Header as stated in [3]”. This does not go with return 
   routerbility procedure that is defined in [3] 
    
    
Authors' Addresses 
    
   Koojana Kuladinithi 
   Department of Communication Networks (ComNets) 
   Center for Information and Communication Technology (ikom) 
   University of Bremen          
   D-28219 Bremen, Germany 
   Tel:  +49-421-218-8264 
   Email:  koo@comnets.uni-bremen.de 
   NOMADv6                Expires March 2006                        25 
   Internet Draft     Filters for Mobile IPv6 Bindings        Oct 2005 
    
   Niko A. Fikouras 
   Aristotle University of Thessaloniki 
   Dept. of Electrical and Computer Engineering 
   Telecommunications Division 
   Panepistimioupolis 
   P.O.Box 54124 
   Thessaloniki 
   Greece 
   Tel.: +302310256491 
   Fax.: +302310270724 
   Email: niko@ieee.org 
    
   Carmelita Goerg 
   Department of Communication Networks (ComNets) 
   Center for Information and Communication Technology (ikom) 
   University of Bremen          
   28219, Bremen, Germany 
   Tel:  +49-421-218-2277        
   Email:  cg@comnets.uni-bremen.de 
    
   Koltsidas Georgios  
   Aristotle University of Thessaloniki 
   Dept. of Electrical and Computer Engineering 
   Telecommunications Division 
   Panepistimioupolis 
   P.O.Box 54124 
   Thessaloniki 
   Greece 
   Tel.: +302310994192 
   Email: fractgkb@auth.gr  
    
   Fotini-Niovi Pavlidou 
   Aristotle University of Thessaloniki 
   Dept. of Electrical and Computer Engineering 
   Telecommunications Division 
   Panepistimioupolis 
   P.O.Box 54124 
   Thessaloniki 
   Greece 
   Tel.: +302310996285 
   Email: niovi@auth.gr 
    
Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Disclaimer of Validity

   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 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.

Copyright Statement

   Copyright (C) The Internet Society (2005).  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.

Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.
   NOMADv6                Expires March 2006                        27