MIP6 Working Group                                          Gabor Bajko 
Internet Draft                                                          
Document: <draft-bajko-mip6-rrtfw-01.txt>                 October, 2006 
    
    
                    Firewall friendly RTT for MIPv6 
 
 
   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 April 20, 2007. 
    
   Copyright Notice 
    
      Copyright (C) The Internet Society (2006). 
    
       
  1. Abstract 
    
   Firewalls represent an integral part of today's IP networks, 
   currently based on IPv4 technology. Deployment of IPv6 is under way, 
   and firewall vendors will need to deploy firewalls which will be 
   able to handle IPv6 packets, including its many extensions. Mobile 
   IPv6, standardized in RFC3775, specifies a number of extensions and 
   procedures to IPv6, which do not work when firewalls are on the data 
   communication path [1]. 
    
   This document defines a slightly modified Return Routability Test 
   (RRT) for MIPv6 [2]. The new method is firewall friendly and allows 
   a mobile node to send Binding Update message to its correspondent 
  
                                  1 
                        Firewall friendly RTT for MIPv6  
                             October 2006 
 
 
   node (so that Route Optimization can be applied) and ensures that 
   the CN receives the Binding Update, even when either the mobile 
   node, the CN, or both are located behind firewalls. 
    
2. Conventions used in this document 
    
   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]. 
    
3. Abbreviation used in this document 
    
   This document uses the following abbreviations: 
    
   o CN:        Correspondent Node 
   o CoA:       Care of Address 
   o CoT:       Care-of Test 
   o CoTI:      Care-of Test Init 
   o HA:        Home Agent 
   o HoA:       Home Address 
   o HoT        Home Test 
   o HoTI:      Home Test Init 
   o MN:        Mobile Node 
   o RO:        Route Optimization 
   o RRT:       Return Routability Test 
 
3. Table of Content 
    
   1.   Abstract                                                      1 
   2.   Conventions used in this document                             1 
   3.   Table of Content                                              2 
   4.   Introduction                                                  3 
   5. Enabling basic mobile IPv6 operation through firewalls          4 
   6. Enabling route optimization through firewalls                   4 
   5.   New RRT proposal                                              8 
   5.1  RRT procedures at the MN                                      9 
   5.2  RRT procedures at the CN                                      9 
   5.3  HA processing of CoTI-FW                                      9 
   5.4  CoTI-FW message                                               9 
   5.5  New Mobility Options                                         10 
   6.   Race conditions                                              10 
   7.   Security considerations                                      10 
   8.   Contributors                                                 10 
   9.   References                                                   11 
   10. Author's Addresses                                            12 
    
4. Introduction 
         
     Current firewalls typically create state and filter data traffic 
     based on the five tuple (sourceIP, destIP, Prot, sourcePort, 
  
    MIP6 Working Group    Expiration 08/25/06                        2 
 
                        Firewall friendly RTT for MIPv6  
                             October 2006 
 
 
     destPort). Filtering may be applied either to only incoming 
     traffic or both incoming and outgoing traffic.  
      
     RFC3775 recommends the use of IPsec ESP to protect packets between 
     the MN and its home agent, while today's firewalls, as a default 
     rule, drop ESP packets, thus preventing the use of mobile IPv6. As 
     mobile IPv6 could be regarded as a service offered to the mobile 
     nodes, it is expected that firewalls placed between the access 
     network, where the mobile node acquires its CoA, and the home 
     network, where the mobile node's HA is residing, will relax the 
     filtering rules based on some roaming agreements, thus allowing 
     mobile nodes to register their CoA with the HA and use mobile IP. 
      
     Even though mobile IPv6 signaling between the MN and its HA could 
     be guaranteed using static configurations in the firewalls, there 
     is no way to ensure the same for the signaling between the MN and 
     the CN (for the return routability test purposes). Without 
     applying route optimization the MN and the CN would be forced to 
     communicate through their home agents, and that, based on their 
     topological location, could result in a trombone effect 
     introducing delays. Such additional delays might not be tolerated 
     by interactive applications sensitive to delays. 
      
     In order to ensure a successful deployment of IPv6 and mobile IPv6 
     in current IP networks, it is important to have mechanisms and 
     guidelines in place which help the smooth operation of the 
     protocol in a firewalled environment. 
      
     There are a limited number of possibilities on how to enable 
     mobile IPv6 through firewalls. One proposal, using the NSLP NATFW 
     protocol can be found in [3]. The document proposes that the 
     mobile node running mobile IPv6 uses the NSLP NATFW protocol to 
     open the required pinholes in the firewalls on the path between 
     the MN and the CN, before any and each mobile IPv6 signaling is 
     initiated. The proposal also requires that all the firewalls on 
     the path support the NSLP NATFW protocol.  
      
     The proposal in this document describes an alternative solution 
     for the problem by making some recommendations on firewall 
     configuration and defining an extension to mobile IPv6.  
      
      
5. Enabling basic mobile IPv6 operation through firewalls 
   
    MIP6 Working Group    Expiration 04/20/07                        3 
 
                        Firewall friendly RTT for MIPv6  
                             October 2006 
 
 
     In order to enable the mobile node to use mobile IPv6, it is 
     required to allow a communication path between the MN and its HA. 
     More specifically, the Binding Update, Binding Acknowledgement, 
     Binding error and Binding Refresh Request messages will need to 
     pass through the firewalls on the path unaltered.  
      
     RFC3775 mandates the use of IPsec and recommends the use of ESP 
     for these messages.  
      
     It is thus recommended that firewall administrators create a rule 
     in the firewall to allow ESP protected packets between the MN and 
     its HA to pass through. As these packets might not necessarily be 
     ESP protected, the firewall would need to recognize mobility 
     header packets and create a rule to allow these packets to pass 
     through. One example of such a rule could be to filter on the 
     sourceIP, destIP and next header value of 135. 
      
      
6. Enabling route optimization through firewalls 
      
     In order to enable route optimizations through firewalls, both 
     HoTI and CoTI messages (and the corresponding HoT and CoT) need to 
     successfully pass through. 
     It is assumed that at the time when the MN initiates a route 
     optimization procedure towards the CN, there is already some sort 
     of data communication between the MN and the CN. If the CN is 
     behind firewall and that firewall does have a rule to allow 
     packets from the HoA of the MN  to the address of the CN, then 
     there is a good chance that HoTI would also make it through the 
     firewall. The filtering rule would need to be relaxed to allow in 
     addition MH packets through between the two destinations (HoA of 
     the MN and the address of the CN). 
     If such a rule does not exist in the firewall protecting the CN, 
     then HoTI will be dropped and the return routability test will 
     fail. 
     In order to facilitate the communication between the mobile nodes, 
     firewalls on the data path between an MN and a CN could also 
     create the following pinholes automatically: 
      
     - a pinhole from the address of the CN to the HoA of the MN 
       present in the type 2 Routing Header 
     - - a pinhole from the CoA of the MN to the HoA of the CN present 
       in the Destination Options extension Header 
      
       
  
    MIP6 Working Group    Expiration 04/20/07                        4 
 
                        Firewall friendly RTT for MIPv6  
                             October 2006 
 
 
     If it is only the MN protected by firewalls but the CN is not, 
     then HoTI will successfully arrive to the CN. The firewall 
     protecting the MN would need to allow the corresponding HoT to 
     pass through and reach the MN. For this, the firewall may need to 
     create a rule when forwarding the HoTI. An example of such a rule 
     is to allow packets between the HoA of the MN and the address of 
     the CN with the Next Header value of 135 to pass through. 
      
     Once HoTI is sent out and a HoT response is received, the MN will 
     send a CoTI message from its current CoA. If there is a firewall 
     protecting the CN, that firewall will drop the CoTI message as it 
     is coming from an untrusted source. 
      
      
      
      
     In order to illustrate the problem, let’s assume a communication 
     between an inner node A (protected by the firewall), and an 
     external mobile node B. It is assumed that the Firewall protecting 
     the CN (node A) trusts the HoA of the mobile node B, therefore MH 
     packets like HoTI are allowed to pass through the Firewall without 
     problems. 
     As specified in the Mobile IP [2], the transport and above layers 
     of the ongoing communications should be based on the Home IP 
     address and HoA of node B, and not the local IP address that node 
     B might get while roaming in order to support mobility. 
     The state created in the firewall protecting node A is therefore 
     initially based on the IP address of node A, and the home address 
     of the node B, HoA of node B. 
     If the mobile node B is in its home network, the packets are 
     directly exchanged between the nodes A and B. 
     If the mobile node B is roaming, the session can be maintained 
     thanks to the Home Agent of node B and the reverse tunneling 
     mechanism [2]. Packets forwarded by the Home Agent to node A will 
     have the source IP address indicating the Home IP address of node 
     B and the destination IP address indicating the IP address of node 
     A. Such packets can thus pass the packet filter inspection in the 
     firewall protecting node A. 
     However nodes A and B might be close while node B’s Home agent may 
     be far, resulting in a 'trombone effect' that can create delay and 
     degrade the performance. The Mobile IP specifications have defined 
     the route optimization procedure [2] in order to solve this issue. 
     The mobile node should first execute a Return Routability Test: 
     the Mobile Node B should send a Home Test Init message (HoTI) via 

  
    MIP6 Working Group    Expiration 04/20/07                        5 
 
                        Firewall friendly RTT for MIPv6  
                             October 2006 
 
 
     its Home Agent and a Care of Test Init (CoTI) message directly to 
     its correspondent node A as illustrated in the figure below [1]: 
  
    MIP6 Working Group    Expiration 04/20/07                        6 

                        Firewall friendly RTT for MIPv6  
                             October 2006 
 
 
      
      
                  +----------------+ 
                  |             +----+     HoTI (HoA)  +----+ 
                  |             | FW |<----------------|HA B| 
                  |             +----X                 +----+ 
                  |  +---+         | ^ CoTI – dropped     ^ 
                  |  | A |         | |       by the FW    | 
                  |  +---+         | |                    | HoTI 
                  |                | |                    | 
                  |                | |        CoTI (CoA)+---+ 
                  |                | +------------------| B | 
                  +----------------+                    +---+ 
                  Network protected                External Mobile 
                    by a firewall                        Node 
      
     The Care of Test Init message is more particularly sent from the 
     new CoA, however such packet will not match any entry in the 
     packet filter in the firewall and, the CoTI message will thus be 
     dropped. 
     As a consequence, the RRT cannot be completed and Route 
     optimization cannot be applied due to the presence of a firewall.  
      
     Support for route optimization is not a non-standard set of 
     extensions, but a fundamental part of the protocol. Firewalls 
     however prevent route optimisation to be applied by blocking the 
     Return Routability Test messages. 
      
     The above scenario is one from the problem statements described in 
     [1]. 
      
     One could argue that CoTI could be reverse tunneled in the same 
     way as HoTI, and the problem would be solved. Even though sending 
     CoTI through the HA provides solution for the case when the CN is 
     behind Firewall, the problem would not be solved for the symmetric 
     scenario, when the MN is behind Firewall: if a CoTI is not sent 
     from the CoA of the MN, the Firewall protecting the MN would not 
     open a pinhole for the <MN CoA, CN CoA> address pair, and thus CoT 
     will be dropped, resulting in a failed RRT.  
      
     If CoTI would follow the path of HoTI and CoT would follow the 
     path of HoT, then the Return Routability Test would be successful, 
     without actually testing the direct path between the MN and CN. If 
     Firewalls are on the path of the data between MN and CN, the data 

  
    MIP6 Working Group    Expiration 04/20/07                        7 

                        Firewall friendly RTT for MIPv6  
                             October 2006 
 
 
     packets would be dropped, as corresponding pinholes were not 
     opened. Thus RRT would not reach its purpose.  
         
7. New RTT proposal 
    
   This document proposes an additional procedure for the Return 
   Routability Test to be performed by mobile nodes who wish to 
   communicate with CNs and either or both parties are behind 
   Firewalls. 
    
   A failure in RRT is usually detected in the CN by not receiving a 
   CoTI after HOT was sent out. The MN detects the RRT failure by not 
   receiving a CoT after sending out a CoTI. To solve this problem, 
   this document proposes that when the MN detects the RRT failure, it 
   will send out a new MH message, called CoTI-FW. The CoTI-FW will 
   contain the CoA of the MN in the Mobility Options header field and 
   it will need to be reverse tunneled through the HA. A CN receiving a 
   CoTI-FW will know that a CoTI has been probably dropped by the 
   Firewall. It will send a CoT message to the CoA of the MN in 
   response to the CoTI-FW. Even if the MN is behind Firewall, the 
   initial CoTI opened a pinhole which would allow the CoT response to 
   CoTI-FW to pass through the Firewall and reach the MN. 
    
   Figure 1 illustrates the new RRT procedure (the first three messages 
   are part of the original RRT): 
    
   Mobile node                 Home agent           Correspondent node 
           |                                                     | 
           |  Home Test Init (HoTI)   |                          | 
           |------------------------->|------------------------->| 
           |                          |                          | 
           |  Care-of Test Init (CoTI)                           | 
           |-----------|FW|---------------------->x|FW| dropped  | 
           |                                                     | 
           |                          |  Home Test (HoT)         | 
           |<-------------------------|<-------------------------| 
           |                          |                          | 
           | CoT not sent (as CoTI was not received by CN)<......| 
                                             
   timeout waiting for CoT       
    
           |                                                     | 
           |        CoTI-FW           |                          | 
           |------------------------->|------------------------->| 
           |                             Care-of Test (CoT)      | 
           |<----------|FW|------------------------|FW|----------| 
           |                                                     | 
    
                        Figure 1  The new RRT procedure 
    
  
    MIP6 Working Group    Expiration 04/20/07                        8 
 
                        Firewall friendly RTT for MIPv6  
                             October 2006 
 
 
   A MN SHOULD always perform the herein described procedure when it 
   experiences problems with the original RTT described in [2]. 
    
7.1 RRT procedures at the MN 
    
   A MN MUST NOT send a COTI-FW without sending first a COTI. The MN 
   MUST NOT send a COTI-FW if a CoT response has been received for the 
   CoTI. 
   A MN SHOULD always send a CoTI-FW if it does not receive a CoT 
   response to the previously sent CoTI. The CoTI-FW MUST contain the 
   same care-of init cookie as the one sent out in CoTI. 
   A CoTI-FW MUST contain the MN's CoA in the Mobility Options field. 
    
7.2 RRT procedures at the CN 
    
   Upon receiving a CoTI-FW request, the CN creates a care-of keygen 
   token and uses the current nonce index as the Care-of Nonce Index.  
   It then creates a Care-of Test message and sends it to the care-of 
   address of the mobile node found in the Mobility Options field. 
    
7.3 HA processing of CoTI-FW 
    
   A CoTI-FW message MUST be processed by the HA as any other Mobility 
   Header message, as described in [2]. 
    
7.4 CoTI-FW message 
    
   A mobile node uses the CoTI-FW message to finalize the return 
   routability procedure and request a care-of keygen token from a 
   correspondent node when a CoT response to CoTI has not been 
   received.  The CoTI-FW message uses the MH Type value 22 (to be 
   registered with IANA). 
   A CoTI-FW message MUST include a mobility options carrying the CoA 
   of the MN sending it. 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
    MIP6 Working Group    Expiration 04/20/07                        9 
 
                        Firewall friendly RTT for MIPv6  
                             October 2006 
 
 
7.5 New Mobility Options  
    
   This specification defines a new Mobility Options called 'MN FW-RRT 
   CoA' which has an alignment requirement of 8n+6. Its 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 = 16   |  Length = 16  | 
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
      |                                                               | 
      +                                                               + 
      |                                                               | 
      +                   MN FW-RRT Care-of Address                   + 
      |                                                               | 
      +                                                               + 
      |                                                               | 
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   The MN FW-RRT CoA mobility options is defined to be carried in a 
   CoTI-FW message. 
    
8. Race conditions 
    
   There are a few cases when the CN may receive both CoTI and CoTI-FW 
   messages, e.g. when CoT got delayed and the MN sends a CoTI-FW after 
   sending a CoTI.  
    
   The CN can and SHOULD detect whether CoTI and CoTI-FW were sent from 
   the same CoA or not. If they came from the same CoA, the CN SHOULD 
   NOT respond to both with a CoT, but only to one of them. If CoTI and 
   CoTI-FW came from different CoA, that might be the result of the MN 
   changing CoA (e.g. from a CoA not belonging to the same FW protected 
   network as the CN, to a CoA belonging there) and initiating RRT from 
   both CoA. The CN SHOULD respond to both messages with a CoT. 
    
9. Security considerations 
    
   The proposal herein assumes that future Firewalls supporting MIPv6, 
   will install states for MH packet initiated flows too, in the same 
   way as it is currently done for UDP flows. It is the understanding 
   of the authors, that this does not introduce any additional security 
   threads to the system. 
    
10. Contributors 
    
   Acknowledgements to Franck Le for contributing to this draft. Thanks 
   to Lassi Hippelainen for valuable comments. 
    
    
  
    MIP6 Working Group    Expiration 04/20/07                       10 
 
                        Firewall friendly RTT for MIPv6  
                             October 2006 
 
 
11. References 
    
   [1]  Franck Le, Stefano Faccin, Basavaraj Patil, Hannes Tschofenig, 
      'Mobile IPv6 and Firewalls, Problem statement' IETF Internet 
      draft, May 2005. 
    
   [2]  D. Johnson, C. Perkins, J. Arkko ’Mobility support in IPv6’, 
      RFC3775, June 2004 
    
   [3] http://www.ietf.org/internet-drafts/draft-thiruvengadam-nsis-
      mip6-fw-04.txt, wprk in progress 
    
    
12. Author's Addresses 
    
   Gabor Bajko 
   gabor.bajko@nokia.com 
    
    
   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 
  
    MIP6 Working Group    Expiration 04/20/07                       11 
 
                        Firewall friendly RTT for MIPv6  
                             October 2006 
 
 
   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 (2006).  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.  
 
   
    MIP6 Working Group    Expiration 04/20/07                       12