Internet Engineering Task Force                      Farid Adrangi 
   INTERNET DRAFT                                       Prakash Iyer 
   <draft-adrangi-mobileip-natvpn-traversal-00>         Intel Corp. 
   Date:    November 13 2001 
   Expires: May 2002 
    
    
                Mobile IPv4 Traversal Across Firewalls 
    
    
   Status of this Memo 
    
        This document is an Internet-Draft and is in full conformance 
        with all provisions of Section 10 of RFC2026. 
         
        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. 
         
        To view the entire list of current Internet-Drafts, please 
        check the "1id-abstracts.txt" listing contained in the 
        Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), 
        ftp.nordu.net (Northern Europe), ftp.nis.garr.it (Southern 
        Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East 
        Coast), or ftp.isi.edu (US West Coast). 
         
   Abstract 
         
        IEEE 802.11 a/b WLAN networks are being widely deployed in 
        Enterprise Intranets (in most cases outside the DMZ) and public 
        areas such as airports, coffee shops, convention centers and 
        shopping malls. This combined with the availability of multi-
        mode networked devices and applications that can take advantage 
        of continuous mobility and constant reachability, is driving 
        the need for Mobile IPv4 across these networks. Many of these 
        WLAN networks employ NAT to translate between non-routable and 
        routable IP addresses. To access protected Enterprise networks, 
        an IPsec-based VPN solution is preferred in conjunction with 
        Mobile IP. This draft proposes a solution framework that 
        enables efficient, seamless operation of Mobile IPv4 when 
        combined with an IPsec-based VPN and supporting NAT traversal 

  
Expires May 2002@                                             [Page 1] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        when needed. The solution has no link layer dependencies and 
        can be applied to other 802.3-compatible wired and wireless 
        physical media as well. 
    
    
   Table Of Contents 
   1. Introduction....................................................3 
   2. Terminology.....................................................4 
   3. Acronyms........................................................4 
   4. An Overview of the MIP Proxy....................................5 
   4.1. Surrogate MN Functionality....................................5 
   4.1.1. Registration Request Process................................6 
   4.1.2. MN Functions Not Performed By The MIP Proxy.................6 
   4.2. Surrogate HA Functionality....................................7 
   4.2.1. Registration Request Process................................7 
   4.2.2. Registration Reply Process..................................7 
   4.2.3. HA Functions Not Performed By The MIP Proxy.................8 
   4.4. Discovering the MNÆs actual HA by the MIP Proxy...............8 
   4.5.  Parameter Registration Request Extension....................9 
   4.6. Deploying a MIP Proxy.........................................9 
   4.7. Discovering a MIP Proxy.......................................9 
   4.8. MIP Proxy Redundancy..........................................9 
   5. MIPv4 Traversal Through NAT Gateways...........................10 
   5.1.  NAT Traversal Problem Statement.............................10 
   5.2. Assumptions and Applicability................................10 
   5.3.  Using the MIP Proxy for NAT Traversal......................11 
   5.3.1.  When does a MN register with the MIP Proxy................11 
   5.3.2. MIPv4 registration protocol between MN and its actual HA...12 
   5.3.2.1. MIPv4 Data Traffic between MN and a correspondent host...12 
   5.3.2.3. MIPv4 Registration Request Packet Flow From MN to HA.....13 
   5.3.2.4. MIPv4 Registration Reply Packet Flow From HA to MN.......13 
   5.3.3. MIPv4 data traffic from MN to CN...........................14 
   5.3.4. MIPv4 data traffic from CN to MN...........................14 
   5.4. Summary of changes on MIPv4 components required by this 
   solution..........................................................15 
   5.4.1. Required Changes to a MN...................................15 
   5.4.2. Required Configuration for the MIP Proxy...................16 
   5.5. Performance Implications of MIP Proxy assisted NAT Traversal.16 
   5.6. Implications of Twice NAT between the MN and MIP Proxy.......16 
   6. MIPv4 Traversal Through IPsec VPN Gateways.....................16 
   6.1. IPsec VPN Traversal Problem Statement........................17 
   6.2. Integration of MIPv4 and IPsec...............................17 
   6.3. Assumptions and Applicability................................17 
   6.4. Solution Considerations......................................18 
   6.4.1. Fast Handoffs..............................................18 
   6.4.2. Preserve Existing VPN Infrastructure.......................18 
   6.4.3. Preserve Existing DMZ Traversal Policies...................18 
   6.5. Deploying the MIP Proxy to support VPN Traversal.............18 
   6.5.1. Mobile IPv4 Registration...................................19 
   6.5.1.1. MIPv4 Registration Request Packet Flow from MN to HA.....19 
   6.5.1.2. MIPv4 Registration Reply Packet Flow from HA to MN.......20 
   6.5.1.3. DMZ Configuration Requirements for MIPv4 Registration 
   Packets...........................................................20 
  
Adrangi, Iyer              Expires Nov 2002                   [Page 2] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
   6.5.2. Mobile IPv4 Data Processing................................20 
   6.5.2.1. MIPv4 Data Traffic from MN to CN.........................21 
   6.5.2.2. MIPv4 Data Traffic from CN to MN.........................22 
   6.5.3. Support For Route Optimization.............................24 
   6.6. Key Management and SA Preservation...........................24 
   6.7. DMZ and VPN Gateway Configuration Requirements...............24 
   6.8. Supporting Other IPsec-based VPN Configurations..............25 
   6.9. Considerations for Integrating the MIP Proxy and VPN Gateway.25 
   6.10. Association Between VPN Inner and MN Home IP Address........25 
   7. Using the MIP Proxy for combined NAT and VPN Traversal.........25 
   7.1. MIPv4 Registration Message Flow..............................25 
   7.1.1. MIPv4 Registration Requests................................25 
   7.1.2. MIPv4 Registration Replies.................................26 
   7.2. MIPv4 Data Flow..............................................27 
   7.2.1. Data Flow from the MN to the CN............................27 
   7.2.2. Data Flow from the CN to the MN............................27 
   8. MIP Proxy Considerations.......................................28 
   8.1. Handling Simultaneous Mobility Bindings......................28 
   8.2. Handling Mobile IP NAI Extension.............................29 
   8.3. Dynamic HA Assignment........................................29 
   9. Security Implications..........................................29 
   10. Acknowledgements..............................................29 
   11. Patents.......................................................30 
   12. References....................................................30 
    
   1. Introduction  
         
        IEEE 802.11 a/b WLAN networks are being widely deployed in 
        Enterprise Intranets (in most cases outside the corporate 
        DeMilitarized Zone - DMZ) and public areas such as airports, 
        coffee shops, convention centers and shopping malls. This 
        combined with the availability of multi-mode networked devices 
        (supporting radio interfaces such as GPRS, 802.11 and 802.3) 
        and applications that can take advantage of continuous mobility 
        and constant reachability, is driving the need for Mobile IPv4 
        across these networks. Many of the wireless networks employ NAT 
        to translate between non-routable and routable IP addresses. 
        Also, as many of these mobile users are likely to require 
        continuous and secure connectivity to their ôhomeö Enterprise 
        networks, integrating Mobile IP with an IPsec-based VPN is 
        critical. The solution must be clearly efficient, enabling fast 
        handovers across IP subnets to support real-time applications 
        and must support NAT traversal when needed.  
         
        The solution proposed in this draft introduces a logical 
        component called the MIP Proxy to enable seamless Mobile IPv4 
        functionality across NAT and VPN gateways / routers, without 
        requiring any changes to these middle boxes. In the context of 
        VPNs, the solution aims specifically at extending the use of 
        deployed IPsec-based VPN gateways, a feature that is much 
        desired by corporate IT departments. 
         

  
Adrangi, Iyer              Expires Nov 2002                   [Page 3] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        While much of the discussion in this draft is focused on 
        deploying the MIP Proxy in conjunction with an IPsec-based VPN 
        gateway in a DMZ, the MIP Proxy can also be deployed in the 
        public Internet or in a service provider network to support NAT 
        traversal without requiring any changes to deployed Home Agents 
        (HA) or to enable load balancing across multiple HAs with 
        dynamic home address assignment support. 
         
        The important sections of this draft are organized as follows: 
        Section 4 describes the MIP proxy. 
        Section 5 discusses the use of MIP Proxy for seamless traversal 
        through NAT gateways.  
        Section 6 discusses the integration of MIP Proxy with VPN 
        gateways for IPsec support with Mobile IPv4.  
         
        Note that support for NAT and VPN traversal can be deployed 
        independently or in combination depending on specific network 
        configurations, as discussed in section 7. Finally, section 8 
        discusses miscellaneous topics related to the MIP Proxy. 
    
   2. Terminology 
    
        Administrative Domain:  
        In the context of this draft an administrative domain is the 
        entity that specifies security parameters for Mobile IP 
        registration extensions for one or more Home Agents and their 
        corresponding mobile nodes. The administrative domain also 
        manages policies that govern negotiation of security 
        associations for VPN sessions that terminate or initiate at the 
        edge of the network under its jurisdiction.  
 
        Actual Home Agent:  
        It is the mobile nodeÆs real home agent, as defined by 
        [RFC2002].  
         
        NAT-Router: 
        It is an IPv4 Router with NAT functionality. 
 
        The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL 
        NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and 
        "OPTIONAL" in this draft are to be interpreted as described in 
        [RFC2119]. 
         
   3. Acronyms 
    
        GRE: Generic Routing Encapsulation 
        ISP: Internet Service provider 
        MIPv4: Mobile IP for IPv4 
        MIPv6: Mobile IP for IPv6 
        NAT: Network Address Translation 
         
        MN-Perm: Permanent home address of the MN 
        MN-COA: Co-located care-of address of the MN 
  
Adrangi, Iyer              Expires Nov 2002                   [Page 4] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        MIPP-Priv: MIP Proxy interface address on the private (HA) side 
        MIPP-Pub: MIP Proxy interface address on the public (Internet) 
        side 
        NATGW-Priv: NAT gatewayÆs IP address on the private (LAN) side 
        NATGW-Pub: NAT gatewayÆs IP address on the public (WAN) side 
        IP-D: IP Destination Address 
        IP-S: IP source Address 
        VPNGW-Pub: VPN Gateway Public/External IP Address 
        VPNGW-Priv: VPN Gateway Private/Intranet IP Address 
    
   4. An Overview of the MIP Proxy  
 
        The MIP Proxy is a functional entity that is introduced in the 
        path between a MN and itÆs corresponding HA as depicted in the 
        figure below. The MIP Proxy serves two primary functions: that 
        of a surrogate MN and a surrogate HA to essentially ôstitchö an 
        end-to-end connection between a MN and itÆs HA. A single MIP 
        Proxy can serve multiple MNs and HAs and can consequently be 
        associated with multiple home subnets. The MIP Proxy does not 
        replace any existing HAs. The MIP Proxy MUST belong to the same 
        administrative domain as any of its associated home agents and 
        their corresponding mobile nodes. It MUST share SAs for various 
        MIPv4 registration extensions with its associated HA(s). 
 
                   +----+ 
                   | MN |------                               +----+ 
                   +----+     |                            |--| HA | 
                    à         |                            |  +----+   
                   +----+     |      +----------+          |  +----+ 
                   | MN |------------| MIP Proxy|----------|--| HA | 
                   +----+     |      +----------+          |  +----+      
                    à         |                            |  +----+ 
                   +----+     |                            |--| HA | 
                   | MN |-----                                +----+ 
                   +----+ 
    
                Figure 4.0 û MIP Proxy serving multiple MNs and HAs 
    
        A MIP Proxy MAY be extended to support traversal through middle 
        boxes other than NAT and VPN gateways. However, this draft only 
        focuses on requirements for NAT and VPN gateways.  
         
        The MIP Proxy will nominally run on a dual-homed host. However, 
        it MAY be possible to instantiate the MIP Proxy on a singly 
        homed host, however in this document we assume that the MIP 
        Proxy is instantiated on a dual-homed host. The MIP Proxy MAY 
        be implemented as a standalone device or combined with other 
        functional entities such as a VPN gateway.  
 
   4.1. Surrogate MN Functionality 
         
        One of the primary functions of the MIP Proxy is to serve as a 
        MNÆs surrogate when it roams into a foreign network outside the 
  
Adrangi, Iyer              Expires Nov 2002                   [Page 5] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        intranet protected by the DMZ. The following sections describe 
        the MIP ProxyÆs feature requirements as a MNÆs surrogate. 
 
   4.1.1. Registration Request Process 
         
        The MIP Proxy MUST relay all Registration Requests received 
        from a MN to its actual HA, with the exception specified in 
        section 4.2.1.  Here, relaying means that the MIP Proxy creates 
        a new Registration Request on the behalf of the MN and sends it 
        to the MNÆs actual HA. In doing so, the MIP proxy MUST be 
        compliant with [RFC2002], and it MUST adhere to the following 
        in creating the new Registration Request:  
 
        - The new Registration Request header MUST have the same æBÆ, 
        æMÆ, æGÆ, rsv bit values included in the Registration Request 
        received from the MN. 
         
        - The æDÆ and æTÆ bits in the new Registration Request MUST be 
        set. 
         
        - The new Registration Request MUST NOT set the æSÆ bit.  
         
        - The new Registration Request header MUST have the same 
        lifetime value included in the registration request received 
        from the MN. 
         
        - The new Registration Request header MUST have the same 
        identification value included in the Registration Request 
        received from the MN. 
         
        - The new Registration Request header MUST have the same Home 
        Address value included in the Registration Request received 
        from the MN.  
         
        - The new Registration Request headerÆs home agent field MUST 
        be set to the MNÆs actual home agent address. 
         
        - The new Registration Request headerÆs care-of address field 
        MUST be set to MIPP-Priv. 
         
        - The new Registration Request MUST contain all Registration 
        extensions included in the Registration Request received from 
        the MN, with the exception of the ones specific to the MN and 
        the MIP Proxy protocol negotiation and the authentication 
        extension protecting the registration message between the MN 
        and the MIP Proxy. 
         
        - The new Registration Request MUST include the MN-HA 
        authentication extension. 
         
   4.1.2. MN Functions Not Performed By The MIP Proxy 
 

  
Adrangi, Iyer              Expires Nov 2002                   [Page 6] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
       The MIP proxy MUST NOT perform the following functions, as 
       specified by [RFC2002]: 
        
       - It MUST NOT respond to agent solicitations or functions 
       pertaining to agent discovery 
       - It MUST NOT implement any move detection mechanisms 
       - The MIP Proxy MUST not manage registration lifetimes and MUST 
       NOT reinitiate a registration request with the actual HA prior 
       to its expiration. 
         
   4.2. Surrogate HA Functionality 
         
        The other primary function of the MIP Proxy is to serve as a 
        surrogate HA to a MN when it roams into a foreign network 
        outside the intranet protected by a DMZ.  The following 
        sections describe the MIP proxyÆs features as a surrogate HA. 
 
   4.2.1. Registration Request Process 
 
        Upon receipt of a Registration Request from a MN, the MIP proxy 
        MUST apply the same validity checks as a HA would, as specified 
        by [RFC2002]. In addition, the MIP proxy MUST check for the 
        following: 
         
        - The æTÆ bit MUST be set in the Registration Request received 
        from a MN. 
         
        - The MIP proxy MUST check for the existence and validity of 
        the Registration Request extension(s) required by the MIP proxy 
        from a MN.   
         
        If malformed Registration Requests are detected, the MIP proxy 
        MUST return a Registration Reply to the MN with an appropriate 
        error code, one from the list specified in [RFC2002] to be used 
        by HAs. 
 
   4.2.2. Registration Reply Process 
    
        The MIP proxy MUST relay received Registration Replies to 
        appropriate MNs.  The MIP proxy MUST update its record of 
        mobility bindings associated with a MN, before relaying the 
        registration reply to the MN.   
 
        In processing a registration reply, the MIP proxy MUST be 
        compliant with [RFC2002]. And, it MUST adhere to the following 
        in creating the new Registration Reply: 
 
        - The new Registration Reply header MUST have the same Home 
        Address value as in the Registration Reply received from the 
        MNÆs actual HA. 
         
        - The new Registration Reply headerÆs Home Agent Address field 
        MUST be set to MIPP-Pub.  
  
Adrangi, Iyer              Expires Nov 2002                   [Page 7] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
         
        - The new Registration Reply header MUST have the same 
        identification value as the Registration Reply received from 
        the MNÆs actual HA. 
         
        - The new Registration Reply MUST contain all non-
        authentication extensions included in the Registration Reply 
        received from the MNÆs actual HA. 
         
        - The new Registration Reply MUST include the ôMN-HAö 
        authentication extension or the ôMN-FAö authentication 
        extension as appropriate.  
    
   4.2.3. HA Functions Not Performed By The MIP Proxy 
 
        The MIP Proxy MUST NOT perform the following HA functions, as 
        defined in [RFC2002]: 
         
        - It MUST NOT generate agent advertisements 
        - It MUST NOT send gratuitous ARPs 
        - It MUST NOT perform Proxy ARP 
        - It MUST NOT support Route Optimization [ROUTE-OPT] 
         
   4.3. Registration Binding Table 
         
        The MIP Proxy MUST maintain a mobility binding list similar to 
        the one specified in [RFC2002] for a HA, in order to forward 
        the registration replies and subsequent MIPv4 data traffic.   
         
        The MIP Proxy MUST also use the same methods defined in 
        [RFC2002] for deleting or retiring the entries in its mobility-
        binding list(s). 
    
   4.4. Discovering the MNÆs actual HA by the MIP Proxy 
         
        As the MN registers with the actual HA via the MIP Proxy, the 
        MIP Proxy needs a mechanism to determine the IP address of the 
        actual HA. Some possible mechanisms include: 
         
        - The MN MAY indicate the IP address of the actual HA via the 
        Parameter Registration Extension, which is described in section 
        4.5.   
         
        - The MIP Proxy MAY be statically configured with all HA 
        addresses that it supports.   
         
        - The MIP proxy MAY implement a dynamic method to discover the 
        MNÆs actual address.   
    
        In the absence of the Parameter Registration Extension and not 
        being able to discover the HA by using any of the methods 
        listed above or methods not described in this draft, the MIP 

  
Adrangi, Iyer              Expires Nov 2002                   [Page 8] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        Proxy MUST reject the Registration Request with an error code 
        of 136, ôunknown home agent addressö. 
    
   4.5. Parameter Registration Request Extension 
    
        The figure below shows the format of the Parameter Registration 
        Extension that MAY be used in the registration request by a MN 
        to specify the MNÆs actual HA IP address to the MIP Proxy. 
         
         
    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     |Reserved       | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |                    Home Agent Address                         | 
    +-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
                 
                Type : To be assigned by IANA (skippable) 
               Length :  
                    Indicates the length (in bytes) of the data fields 
                    within the extension, excluding the Type and Length 
                    bytes. 
                Sub-Type: To be assigned by IANA 
                Reserved: For future use. 
                Home Agent Address: IP address of the MNÆs actual HA 
 
   4.6. Deploying a MIP Proxy 
         
        A MIP Proxy MAY be deployed in a public network serving 
        multiple HAs in that network as conceptually depicted in Figure 
        4 above. It MUST be deployed in a DMZ to support authenticated 
        firewall traversal for MIPv4 packets traversing the DMZ from a 
        MN with an intervening NAT gateway in its foreign network. It 
        MUST be deployed in parallel with an IPsec-compatible VPN 
        gateway or functionally integrated with a VPN gateway in a DMZ. 
        Trivially, a subset of the MIP Proxy functionality MAY be co-
        located with a HA if appropriate. 
         
        The MIP Proxy MAY be located in the same or a different subnet 
        from any of its associated HAs. 
 
   4.7. Discovering a MIP Proxy 
         
        A MN MUST be statically configured with the MIPP-Pub address of 
        the MIP Proxy. Dynamic discovery of the MIP ProxyÆs public IP 
        address is outside the scope of this draft.  
    
   4.8. MIP Proxy Redundancy 
         
        A MIP Proxy redundancy protocol is desirable to effect high 
        availability in public and Enterprise deployments. Details of 
        such a protocol are beyond the current scope of this draft. 
    
  
Adrangi, Iyer              Expires Nov 2002                   [Page 9] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
   5. MIPv4 Traversal Through NAT Gateways 
    
   5.1.  NAT Traversal Problem Statement 
         
        When a MN roams from its home network (which may or may not be 
        in a routable IP address space) to a foreign network behind a 
        NAT gateway, it acquires a non-routable care-of address (most 
        likely through [DHCP]). The acquired non-routable care-of 
        address is passed to the HA through a registration request.  
        This causes the MN to lose its connectivity to its home 
        network, since the HA will not be able to forward the MNÆs 
        packets to the non-routable care-of address. The scenario is 
        depicted in Figure 5.1 below. 
 
 
         +-------------------+              +-------------------------+ 
         |  Foreign network  |              | Home Network            | 
         |  +----+           |    +-----+   |                         | 
         |  | MN |           |----| NAT |---|  +----+   +----+  +---+ | 
         |  +----+           |    +-----+   |  | MN |   | HA |  |CN | |               
         |                   |              |  +----+   +----+  +---+ | 
         +-------------------+              |                         |               
                                            |           +---+         | 
                                            |           | FA|         | 
                                            |           +---+         | 
                                            +-------------------------+ 
                Figure 5.1 û MN has moved from its home network to a 
                foreign network 
         
        Even if we overcome this problem somehow by using the NAT 
        gatewayÆs public routable address in the care-of address field 
        of the registration request, the NAT gateway will not always be 
        able to demultiplex inbound MIPv4 data traffic properly. 
        Consider two MNs behind the NAT gateway registered with the 
        same HA. The inbound IP-in-IP tunneled MIPv4 packets from the 
        HA to the two MNs will have the source and destination IP 
        address û making it difficult for the NAT gateway to route the 
        packets to the appropriate MN.  
         
        The implications on Minimal IP [RFC2004] and GRE encapsulation 
        [RFC1701] modes of MIPv4 are similar to IP-in-IP tunneling. 
         
   5.2. Assumptions and Applicability 
         
        The solution proposed in the draft is targeted toward network 
        environments where the following considerations are valid.  
         
        - The NAT gateway MUST support NAPT. 
        - The NATÆed network MUST provide DHCP services to the foreign 
        subnet or a mobile node MUST be capable of self-assigning or 
        acquiring by other means, a non-routable care-of address and 
        related information (such as the Default Gateway and Subnet 
        Mask) when it roams behind the NAT gateway. 
  
Adrangi, Iyer              Expires Nov 2002                  [Page 10] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        - The NATÆed network MAY NOT include a FA. 
        - The NATÆed network MAY NOT be in the same administrative 
        domain as the MN, MIP Proxy and actual HA. 
        - The NATÆed network MUST be configured with the IP addresses 
        reserved for private Internets by IANA ([RFC1918], [LOCAL-
        LINK]). 
        - The actual HA is not directly reachable and as such SHOULD 
        NOT be modified. 
        - MNÆs home network MUST be in a routable IP address domain. 
        This address domain MAY be behind a firewall/DMZ. 
        - A FA MAY NOT be available in the ISP access or core network.  
        - The security implications of the solution SHOULD NOT be worse 
        than direct communication with the actual HA. 
    
        Applicability in other network environments has not been 
        verified; however it is not explicitly precluded. Furthermore, 
        the proposed solution MAY be used in combination with other NAT 
        traversal solutions as appropriate.  
         
        If the MNÆs home network is in a non-routable IP address 
        domain, an appropriate solution (outside the scope of this 
        draft) MUST be deployed to make the home network accessible 
        from an external public or private network. 
         
   5.3. Using the MIP Proxy for NAT Traversal 
         
        The MIP Proxy relays registration request and reply messages as 
        described in earlier sections. Registration messages are 
        carried over UDP port 434 and as such as friendly to NAT. 
         
        However, all subsequent MIPv4 data traffic between the MN and 
        the MIP Proxy SHOULD be encapsulated in a UDP tunnel, in order 
        to assist the NAT gateway in demultiplexing return inbound 
        MIPv4 traffic using traditional NAT/NAPT mechanisms.  
 
        The protocol details for Mobile IP NAT traversal are described 
        in an IETF draft [MIP-NAT].  This draft specifies a protocol 
        between the MN and its HA in order to enable and maintain the 
        MN connectivity while visiting in a private network behind a 
        NAT.  When this protocol is used between a MN and the MIP 
        Proxy, the MN SHOULD relay its actual HA address to the MIP 
        proxy via the Parameter Registration Extension defined in 
        section 4.5. However, if in this deployment scenario none of 
        the HA changes specified in [MIP-NAT] are required. The 
        following sections describe the adaptation of [MIP-NAT] to 
        scenarios where the actual HA is behind a DMZ.  
    
   5.3.1.  When does a MN register with the MIP Proxy  
         
        A mobile node MUST register with the MIP Proxy when it roams to 
        a foreign network behind a NAT gateway and needs to register 
        with its HA behind a DMZ. Mechanisms to detect the presence of
        a NAT gateway are beyond the scope of this draft.  
  
Adrangi, Iyer              Expires Nov 2002                  [Page 11] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
 
   5.3.2. MIPv4 registration protocol between MN and its actual HA  
         
        Once the MN obtains a co-located address and realizes that it 
        is connected behind a NAT gateway, it generates a Registration 
        Request for the MIP Proxy.  The normal flow of MIPv4 
        registration messages between a MN and its HA are altered as 
        depicted in the figure below.   
 
    
                MN              NAT Gateway     MIP Proxy         HA 
                |Reg.Request    |               |                 | 
                |-------------->|Reg. Request   |                 | 
                |               |-------------> |New Reg. Request | 
                |               |               |------------->   |   
                |               |               |Reg. Reply       | 
                |               |New Reg. Reply |<-------------   | 
                |New Reg. Reply |<------------- |                 | 
                |<------------- |               |                 | 
 
                Figure 5.3.2 û Mobile IP registration between MN and HA 
    
   5.3.2.1. MIPv4 Data Traffic between MN and a correspondent host 
         
        To support multiple, simultaneous MIPv4 data sessions from MNs 
        behind a NAT gateway to a home network via the same HA behind a 
        DMZ, a UDP tunnel MUST be established between the MN and MIP 
        Proxy. The UDP establishment method and protocol are as 
        described in the [MIP-NAT] draft.  However, the UDP tunnel is 
        terminated at the MIP Proxy instead of the MNÆs actual HA.  In 
        the reverse direction, the data traffic MUST be tunneled from 
        the MIP Proxy to the MN. The MIP Proxy MAY forward MIPv4 data 
        packets with or without reverse tunneling. 
    
        MN              NAT Gateway     MIP Proxy       HA      CH 
        |IP/UDP/IP      |               |               |       | 
        |-------------->|IP/UDP/IP      |               |       | 
        |Traffic        |-------------> |IP/IP          | 
        |               |Traffic        |-------------> | IP    | 
        |               |               |               |------>| 
        |               |               |               |Traffic| 
        |               |               | IP            |       | 
        |               |               |---------------------->| 
        |               |               |               | IP    | 
        |               |               | IP/IP Traffic |< ---- | 
        |               | IP/UDP/IP     |< -----------  |Traffic| 
        |               |< ------------ |                       | 
        | IP/UDP/IP     | Traffic       |               |       | 
        |< ------------ |               |               |       | 
        | Traffic       |               |               |       |
         
 
        Figure 5.3.2 û Mobile IP Data Traffic between MN and CH 
  
Adrangi, Iyer              Expires Nov 2002                  [Page 12] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
    
   5.3.2.3. MIPv4 Registration Request Packet Flow From MN to HA 
         
        The MN sends the Registration Request to the MIP Proxy. The 
        intervening NAT gateway modifies the source IP address (and 
        possibly the UDP source port).  
         
        From MN to the MIP Proxy: 
 
        +--------------------------------------------------+ 
        |IP-S = MN-COA    | Permanent Address = MN-Perm    | 
        |IP-D = MIPP-Pub  | Home Agent = MIPP-Pub          | 
        |                 | Care-of Address = MN-COA       | 
        |                 |     . . .                      | 
        +--------------------------------------------------+ 
         
        The NAT gateway modifies the source IP address, and possibly 
        UDP source port number.  
 
        +--------------------------------------------------+ 
        |IP-S = NATGW-Pub | Permanent Address = MN-Perm    | 
        |IP-D = MIPP-Pub  | Home Agent = MIPP-Pub          | 
        |                 | Care-of Address = MN-COA       | 
        |                 |     . . .                      | 
        +--------------------------------------------------+ 
         
        The MIP Proxy terminates and authenticates the Registration 
        Request received from the MN. It then modifies the registration 
        request payload and forwards a new registration request to the 
        HA associated with the MN. The MIP Proxy MUST set the Home 
        Agent and Care-of Address fields of the registration request to 
        the MNÆs actual HA (learned from the Parameter Registration 
        Extension) and the MIP ProxyÆs private address respectively. 
        The packet format is shown below. 
         
        +--------------------------------------------------+ 
        |IP-S = MIPP-Priv | Permanent Address = MN-Perm    | 
        |IP-D = HA        | Home Agent = HA                | 
        |                 | Care-of Address = MIPP-Priv    | 
        |                 |    . . .                       | 
        +--------------------------------------------------+ 
    
   5.3.2.4. MIPv4 Registration Reply Packet Flow From HA to MN 
         
        If the actual HA were to accept the registration request, the 
        reply flow sequence will be as follows: 
    
        From the HA to the MIP Proxy:  
        +------------------------------------------+ 
        |IP-S = HA        | Home Agent = HA        | 
        |IP-D = MIPP-Priv |     . . .              | 
        +------------------------------------------+ 
         
  
Adrangi, Iyer              Expires Nov 2002                  [Page 13] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        From the MIP Proxy to the NAT 
        +------------------------------------------+ 
        |IP-S = MIPP-Pub  | Home Agent = MIPP-Pub  | 
        |IP-D = NAT-Pub   |  . . .                 | 
        +------------------------------------------+ 
         
        From the NAT to the MN: 
        +------------------------------------------+ 
        |IP-S = MIPP-Pub  | Home Agent = MIPP-Pub  | 
        |IP-D = MN-COA    | . . .                  | 
        +------------------------------------------+ 
                 
   5.3.3. MIPv4 data traffic from MN to CN 
         
        The normal flow of MIPv4 data flow between a MN and a HA are 
        altered as depicted in figure 5.3.2.   
 
        All MIPv4 data traffic between the MN and MIP Proxy will be 
        encapsulated in a UDP tunnel.  The MIP Proxy will strip off the 
        outer IP and UDP headers, and re-encapsulate the detunneled 
        packet in an IP header (from MIPP-Pub to MN or from MIPP-Priv 
        to HA as the case may be) before forwarding it to the MN or HA 
        respectively. The following figures illustrate the traffic flow 
        from the MN to the MIP Proxy, and the MIP Proxy to the actual 
        HA. 
         
        MIPv4 data packet flow from the MN to the MIP Proxy: 
         
        +-------------------------------------------------------+ 
        |IP-S=MN-COA   |UDP Src Port# |IP Src = MN-Perm | Data  | 
        |IP-D=MIPP-Pub |UDP Dest Port#|IP Dest = CN     |       | 
        +-------------------------------------------------------+ 
         
        The intermediate NAT gateway will apply address and port 
        mapping on the packet, and forward the packet, as follows:  
 
        +-------------------------------------------------------+ 
        |IP-S=NAT-Pub  |UDP Src Port# |IP Src = MN-Perm |Data   | 
        |IP-D=MIPP-Pub |UDP Dest Port#|IP Dest = CN     |       | 
        +-------------------------------------------------------+ 
 
        MIPv4 data packet flow from the MIP Proxy to CN is as follows: 
         
        +------------------------------------------------+ 
        | IP-S = MIPP-Pri   |IP Src = MN-Perm |Data      | 
        | IP-D = HA         |IP Dest = CN     |          | 
        +------------------------------------------------+ 
 
   5.3.4. MIPv4 data traffic from CN to MN 
 
        MIPv4 data traffic will be tunneled from the actual HA to the 
        MIP Proxy in an IP-in-IP tunnel is illustrated in the figure 
        above. The solution MAY be extended to apply to other MIPv4 
  
Adrangi, Iyer              Expires Nov 2002                  [Page 14] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        encapsulation modes as well.  The MIP Proxy strips off the 
        outer IP header, and forwards the inner IP packet to the MN in 
        a UDP tunnel.  
         
        The following figures illustrate the traffic flow from the CN 
        to the MN (via the actual HA and the MIP Proxy).  
         
        The data packets from the CN will be sent to the MNÆs permanent 
        address, MN-Perm. 
         
        +-----------------------------+ 
        | IP-S = CN          |Data    | 
        | IP-D = MN-Perm     |        | 
         +-----------------------------+ 
    
        The MNÆs actual HA will intercept the data packet, and forward 
        it to its current care-of address (i.e., MIP Proxy) as follows: 
         
        +----------------------------------------------+ 
        | IP-S = HA         |IP Src = MN-Perm |Data    | 
        | IP-D = MIPP-Priv  |IP Dest = CN     |        | 
        +----------------------------------------------+ 
    
        From the MIP Proxy to the NAT gateway:   
        +---------------------------------------------------------+ 
        |IP-S = MIPP-Pub   |UDP Src Port# |IP Src = MN-Perm |Data | 
        |IP-D = NAT-Pub    |UDP Dest Port#|IP Dest = CN     |     | 
        +---------------------------------------------------------+ 
         
        The NAT gateway unapplies the address and port mapping on the 
        packet, and forwards the packet, as follows: 
         
        From the NAT gateway to the MN: 
        +----------------------------------------------------------+ 
        | IP-S = MIPP-Pub   |UDP Src Port# |IP Src = MN-Perm |Data | 
        | IP-D = MN-COA     |UDP Dest Port#|IP Dest = CN     |     | 
        +----------------------------------------------------------+ 
    
   5.4. Summary of changes on MIPv4 components required by this 
   solution 
    
        This solution requires changes on the mobile node, and of 
        course an addition of a new component, the MIP Proxy. 
    
   5.4.1. Required Changes to a MN 
    
        - The MN MUST be statically configured with MIPP-Pub. A 
        mechanism for MIP Proxy discovery MAY be defined in future. 
        - The MN MUST be able to determine if it has roamed to a 
        private address space behind a NAT gateway.   
        - The MN SHOULD implement the Parameter Registration Extension 
        as specified in this draft. 

  
Adrangi, Iyer              Expires Nov 2002                  [Page 15] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        - The MN MUST implement the protocol specified in the [MIP-NAT] 
        draft. 
 
   5.4.2. Required Configuration for the MIP Proxy 
    
        - The MIP Proxy MUST be configured with all of the SAs of a MN 
        and a HA that it represents as a surrogate.   
        - The MIP Proxy SHOULD be configured with static IP addresses 
        to avoid periodic reconfiguration on MNs. 
    
   5.5. Performance Implications of MIP Proxy assisted NAT Traversal 
         
        The MIP Proxy introduces very minimal overhead to support NAT 
        traversal. Specifically, an 8-byte UDP header is added to the 
        MIPv4 data traffic from the MN to the MIP Proxy and vice versa.   
    
   5.6. Implications of Twice NAT between the MN and MIP Proxy 
        The proposed solution WILL work even if Twice NAT is 
        encountered in the path between the MN and the MIP proxy. 
    
   6. MIPv4 Traversal Through IPsec VPN Gateways  
    
        A MN whose home network is in a routable IP address space 
        behind a VPN gateway could roam to an external public or 
        private address space. An example would be a user who roams 
        from within a Corporate Intranet to an external wired or 
        wireless hot spot. In this case, the MNÆs HA is located in the 
        Corporate Intranet behind the firewall/DMZ complex, as 
        illustrated in the figure below. 
         
        It is desirable in this scenario to connect back to the 
        Intranet via a VPN and stay connected even as the user roams 
        from one external IP subnet to another. The integration of 
        MIPv4 and IPsec has not been standardized and several issues 
        have to be overcome to support seamless end-to-end IPsec with 
        MIPv4. This draft describes a solution based on the use of the 
        MIP Proxy to enable seamless traversal across IPsec-based VPNs. 
 
+----------------+  +-----+    +------+       +-----+ +---------------+   
|Foreign network |  |     |  ->|VPN-GW|<----  |     | |Home network   | 
|+----+   +----+ |  |Outer|  | +------+    |  |Inner| | +----+ +----+ | 
|| MN |   | FA | |  |FW   |  |             |  |FW   | | |HA  | | CN | | 
|+----+   +----+ |  |     |  | +---------+ |  |     | | +----+ +----+ |                                    
|                |  |     |  ->|MIP Proxy|<-  |     | |               | 
+----------------+  +-----+    +---------+    +-----+ | +----+        |                                       
                       ^                         ^    | | MN |        | 
                       |----- Firewall/DMZ ----- |    | +----+        | 
                                                      +---------------+ 
        Figure 6.0 û MN moves from its home network to a foreign 
        network outside the DMZ 
  
Adrangi, Iyer              Expires Nov 2002                  [Page 16] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
   
   6.1. IPsec VPN Traversal Problem Statement 
         
        With respect to Figure 6.0 above, the problem can be summarized 
        in the following 2 scenarios: 
         
        Scenario 1: The MN could roam into a foreign subnet without a 
        FA and obtain a COA at its point of attachment (via DHCP or 
        other means). In an end-to-end security model, an IPsec tunnel 
        that terminates at the VPN gateway in the DMZ MUST protect the 
        IP traffic originating at the MN. If the IPsec tunnel is 
        associated with the COA, the tunnel SA MUST be refreshed after 
        each subnet handoff which could have some performance 
        implications on real-time applications. 
         
        Scenario 2: The MN could roam into a foreign subnet with a FA. 
        If the MN were to associate a VPN tunnel with its COA, the FA 
        (which is likely in a different administrative domain) cannot 
        parse the IPsec and will not be able to setup SAs with the MNÆs 
        VPN gateway and will consequently be not able to relay MIPv4 
        packets between the MN and the VPN gateway.   
    
   6.2. Integration of MIPv4 and IPsec 
         
        Clearly there are several schemes to apply IPsec to MIPv4 
        packets. [MIPv4-SEC-GUIDE] describes different segments where 
        IPsec could be applied to MIPv4 packets. This draft is based on 
        the premise that the most likely acceptable scenario is the one 
        in which IPsec is applied end-to-end.  
    
   6.3. Assumptions and Applicability 
         
        The solution is derived based on the following assumptions and 
        applicability criteria: 
         
        - An end-to-end IPsec tunnel mode MUST be applied to MIPv4 data 
        flows; i.e. between the MN and the VPN gateway at the edge of 
        its home network. 
        - MIPv4 registration packets MAY NOT require IPsec tunnel as 
        they are authenticated and integrity protected. However, they 
        MUST be terminated inside the DMZ to enable authenticated 
        firewall traversal. 
        - FA-assisted routing and MN co-located modes of operation MUST 
        be supported. 
  
Adrangi, Iyer              Expires Nov 2002                  [Page 17] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        - The MN MUST be configured with the MIP Proxy and the VPN 
        gatewayÆs external IP addresses, and route the MIPv4 traffic 
        through the MIP Proxy when it is outside the corporate 
        intranet. 
        - The MN SHOULD be able to determine if it has roamed outside 
        the corporate network by some method (e.g., by comparing its 
        current COA against address blocks used by the corporate 
        intranet). 
        - The MN MUST be able to determine when it should exercise its 
        key exchange protocol to establish the IPsec tunnel SA to the 
        VPN gateway. 
    
   6.4. Solution Considerations 
         
        In addition to enabling the use of end-to-end IPsec with MIPv4, 
        the use of the MIP Proxy in the DMZ enables a solution that can 
        meet the following criteria: 
         
   6.4.1. Fast Handoffs 
         
        To support fast handoffs across IP subnets, it is imperative to 
        keep the key management overhead down to a minimum. In this 
        draft, we propose a mechanism whereby the IPsec tunnel SA can 
        be bound to the invariant permanent IP address of the MN. Doing 
        so, enables the reuse of the SA across IP subnet handoffs and 
        also minimizes the protocol handshake between the VPN gateway, 
        actual HA and the MIP Proxy. 
    
   6.4.2. Preserve Existing VPN Infrastructure 
         
        This implies the following:  
        - Preserves the investment in existing VPN gateways  
        - Requires no software upgrades to VPN gateways to explicitly 
        support MIPv4 users 
        - Preserves IPsec VPN security requirements that are not 
        inferior to what is already provided to existing ônomadic 
        computingö remote access users û i.e. for confidentiality, 
        primary and secondary authentication, message integrity, 
        protection against replay attacks and related security services 
    
   6.4.3. Preserve Existing DMZ Traversal Policies 
         
        Most Corporate DMZ policies recommend authenticated firewall 
        traversal for protocols that traverse the DMZ. Placing devices 
        outside the outer DMZ firewall to assist with DMZ traversal 
        exposes the device to hackers and is generally not an 
        acceptable solution. IT departments prefer that solutions 
        adhere to and can be accommodated with existing or compliant 
        DMZ ACLs. 
    
   6.5. Deploying the MIP Proxy to support VPN Traversal 
         

  
Adrangi, Iyer              Expires Nov 2002                  [Page 18] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        As shown in Figure 6.0, the MIP Proxy is deployed in parallel 
        to an existing VPN gateway in the DMZ to support MIPv4. 
    
   6.5.1. Mobile IPv4 Registration 
         
        The MN sends MIPv4 registration requests directly to the MIP 
        Proxy. The MIP Proxy terminates and authenticates the 
        registration requests. It then generates a new registration 
        request and forwards it to the corresponding HA. The 
        registration request SHOULD include the Parameter Registration 
        Extension (see section 4.5) to notify the MIP Proxy about the 
        MNÆs actual HA.  The registration replies from the HA will also 
        go through the MIP Proxy bypassing the VPN gateway. Note that 
        the MN and the MIP Proxy MUST share the SA for the MN-HA 
        authentication extension. 
         
        This solution also works if the MN were to use a FA in the 
        foreign network.  
        A rail-road diagram illustrating the MIPv4 registration process 
        is shown below.  
    
                MN              MIP Proxy       HA 
                |Reg. Request   |               | 
                |-------------> |               | 
                |               |Reg. Request   | 
                |               |-------------> | 
                |               |Reg. Reply     | 
                |               |<------------- | 
                |Reg. Reply     |               | 
                |<--------------|               | 
    
                Figure 6.5.1 û Mobile IP registration protocol between  
                               MN and HA 
     
   6.5.1.1. MIPv4 Registration Request Packet Flow from MN to HA 
         
        This draft illustrates the sequence from MN to HA via a FA û it 
        can be easily extended to describe the flow for a co-located 
        COA mode MN. 
    
        From the MN to a FA: 
                +--------------------------------------------------+ 
                |IP-S = MN-Perm   | Permanent Address = MN-Perm    | 
                |IP-D = FA_COA    | Home Agent = MIPP-Pub          | 
                |                 | Care-of Address = FA COA       | 
                |                 |     . . .                      | 
                +--------------------------------------------------+ 
    
        From the FA to the MIP Proxy: 
                +--------------------------------------------------+ 
                |IP-S = FA COA    | Permanent Address = MN-Perm    | 
                |IP-D = MIPP-Pub  | Home Agent = MIPP-Pub          | 
                |                 | Care-of Address = FA COA       | 
  
Adrangi, Iyer              Expires Nov 2002                  [Page 19] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
                |                 |     . . .                      | 
                +--------------------------------------------------+ 
        From the MIP Proxy to the actual HA: 
                +--------------------------------------------------+ 
                |IP-S = MIPP-Priv | Permanent Address = MN-Perm    | 
                |IP-D = HA        | Home Agent = HA                | 
                |                 | Care-of Address = MIPP-Priv    | 
                |                 |                                | 
                +--------------------------------------------------+ 
    
   6.5.1.2. MIPv4 Registration Reply Packet Flow from HA to MN 
         
        If the actual HA were to accept the registration request, the 
        reply flow sequence will be as follows: 
         
        From the HA to the MIP Proxy:  
                +--------------------------------------+ 
                |IP-S = HA         | Home Agent = HA   | 
                |IP-D = MIPP-Priv  |                   | 
                +--------------------------------------+ 
         
        From the MIP Proxy to the FA: 
                +-----------------------------------------------+ 
                |IP-S = MIPP-Pub  | Home Agent = MIPP-Pub       | 
                |IP-D = FA        |   . . .                     | 
                +-----------------------------------------------+ 
         
        From the FA to the MN: 
                +-----------------------------------------------+ 
                |IP-S =  FA       | Home Agent = MIPP-Pub       | 
                |IP-D = MN-Perm   |  . . .                      | 
                +-----------------------------------------------+ 
    
   6.5.1.3. DMZ Configuration Requirements for MIPv4 Registration 
   Packets 
         
        The DMZ Access Control Lists (ACL) MUST be setup for the 
   following: 
        - Inbound UDP registration packets (destination port = 434 and 
        destination address = MIPP-Pub) MUST be permitted. 
        - The DMZ inner firewall MUST permit the forwarding of 
        registration request and reply packets from the MIP Proxy to 
        one or more HAs. 
    
   6.5.2. Mobile IPv4 Data Processing 
         
        The following railroad diagram illustrates the sequence of 
        steps to establish secured MIPv4 traffic between a MN and a CN. 
        The process initially occurs in 3 sequential steps: MIPv4 
        registration, IPsec tunnel SA establishment and MIPv4 data 
        forwarding. Registration and SA refreshes may subsequently 
        occur independent of each other. 
         
  
Adrangi, Iyer              Expires Nov 2002                  [Page 20] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        MIPv4 Registration û see Figure 6.5.1 
        Note that the VPN gateway is not involved in the MIPv4 
        Registration process. 
         
        IPsec Tunnel SA Establishment: 
                MN                                VPN Gateway 
                |                                       | 
                |IKE Phase 1 (ISAKMP SA) <---------->   | 
                |                                       | 
                |IKE Phase 2 (Tunnel SA) <---------->   | 
                |                                       | 
                 
        Note that the MIP proxy is not involved in the Tunnel SA 
        establishment and will not be involved in SA refreshes. 
         
        The data forwarding is described in the following 2 sub-
        sections. 
                 
   6.5.2.1. MIPv4 Data Traffic from MN to CN 
         
        The MN generates an IP packet from the MN-Perm interface and 
        destined to the CN. This packet is encapsulated in an IPsec-ESP 
        tunnel from MN-Perm to VPNGW-Pub. The packet in turn is 
        encapsulated in an IP header from MN COA to the MIP Proxy. The 
        MIP Proxy strips off the outermost IP header and forwards the 
        inner IP packet (which is from the MNÆs permanent address to 
        the VPN gateway) to the VPN gateway.  The VPN gateway in turn 
        processes the IPsec VPN tunnel, strips off the IP and ESP 
        headers and forwards the inner most IP packet to the 
        destination CN. The railroad diagram depicts the packet flow 
        sequence, followed by a description of packets as they traverse 
        the network. 
         
        MN      FA      MIP Proxy       VPN Gateway     HA       CN 
        |       |          |                |           |         | 
        | ----> |          |                |           |         | 
        |       | ----->   |                |           |         | 
        |       |          | ------------>  |           |         | 
        |       |          |                | ----------------->  | 
         
         
        From the MN to MIP Proxy: IP-IP-ESP-IP-TCP/UDP-Data 
        From MIP Proxy to VPN:    IP-ESP-IP 
        From VPN Gateway to CN:   IP 
    
        The packet flow from the MN to the CN is described below. The 
        analysis assumes than the MN employs reverse tunneling to the 
        HA (which is the MIP Proxy in this case) and that packets are 
        routed via a FA. 
         
        From the MN to the FA: 
        +-------------------------------------------------------------+ 
        |IP-S=MN-Perm |IP-S=MN-Perm  |IPsec-ESP |IP-S=MN-Perm| Data   | 
  
Adrangi, Iyer              Expires Nov 2002                  [Page 21] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        |IP-D=MIPP-Pub|IP-D=VPNGW-Pub|MN-Perm to|IP-D=CN     |        | 
        |             |              |VPNGW-Pub |            |        | 
        +-------------------------------------------------------------+ 
        In this case, the layer-2 destination address is set to the MAC 
        address of the FA. 
         
        From the FA to the MIP Proxy: 
        +-------------------------------------------------------------+ 
        |IP-S=FA COA  |IP-S=MN-Perm  |IPsec-ESP |IP-S=MN-Perm| Data   | 
        |IP-D=MIPP-Pub|IP-D=VPNGW-Pub|MN-Perm to|IP-D=CN     |        | 
        |             |              |VPNGW-Pub |            |        | 
        +-------------------------------------------------------------+ 
        Clearly, the FA does not need to know the IPsec tunnel SA to 
        process the packet.  
         
        From the MIP Proxy to the VPN gateway: 
        The MIP Proxy strips off the outermost IP header and forwards 
        the packet to the VPN gatewayÆs outer interface using the 
        layer-2 address corresponding to VPNGW-Pub. 
        +-----------------------------------------------+ 
        |IP-S=MN-Perm  |IPsec-ESP |IP-S=MN-Perm| Data   | 
        |IP-D=VPNGW-Pub|MN-Perm to|IP-D=CN     |        | 
        |              |VPNGW-Pub |            |        | 
        +-----------------------------------------------+ 
         
        From the VPN gateway to the CN: 
        The VPN gateway completes IPsec tunnel processing on the 
        packet, strips off the outermost IP and ESP headers and 
        forwards the encapsulated IP datagram to the CN. 
        +---------------------+ 
        |IP-S=MN-Perm| Data   | 
        |IP-D=CN     |        | 
        +---------------------+ 
    
   6.5.2.2. MIPv4 Data Traffic from CN to MN 
         
        The outbound MIPv4 data traffic destined to the MNÆs co-located 
        address is always tunneled to the MIP Proxy (which appears as a 
        surrogate MN to the actual HA). The MIP Proxy forwards the 
        inner IP packet (with MN-Perm as the destination address) to 
        the VPN gateway. The VPN gateway applies the IPsec ESP tunnel 
        SA on the packet. The VPN gateway forwards the packet back to 
        the MIP Proxy on its MIPP-Pub interface û this is accomplished 
        by a routing table update on the VPN gateway. The MIP Proxy in 
        turn tunnels the IPsecÆed packet to the MNÆs COA.  The railroad 
        diagram depicts the packet flow sequence, followed by a 
        description of packets as they traverse the network. 
         
        MN      FA      MIP Proxy               VPN Gateway     HA CN 
        |       |          |                |           |         | 
        |       |          |                |           | <------ | 
        |       |          | <------------------------- |         | 
        |       |          | ----------->   |           |         | 
  
Adrangi, Iyer              Expires Nov 2002                  [Page 22] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        |       |          | <-----------   |           |         | 
        |       | <------  |                |           |         | 
        | <---  |          |                |           |         | 
         
         
        From the HA to the MIP Proxy:   IP-IP 
        From the MIP Proxy to the VPN gateway:  IP 
        From the VPN gateway to the MIP Proxy:  IP-ESP-IP 
        From the MIP Proxy to the MN:   IP-IP-ESP-IP    
         
        The packet flow from the CN to the MN is described below.  
        From the CN to the actual HA: 
        +---------------------+ 
        |IP-S=CN     | Data   | 
        |IP-D=MN-Perm|        | 
        +---------------------+ 
        The CN sets the layer-2 destination address to that of the 
        actual HA. 
         
        From the actual HA to the MIP Proxy: 
        +------------------------------------+ 
        |IP-S=HA       |IP-S=CN     | Data   | 
        |IP-D=MIPP-Priv|IP-D=MN-Perm|        | 
        +------------------------------------+ 
         
        From the MIP Proxy to the VPN gateway: 
        The MIP Proxy strips off the outermost IP header and forwards 
        the packet to the VPNGW-Priv interface using the corresponding 
        layer-2 address. 
        +---------------------+ 
        |IP-S=CN     | Data   | 
        |IP-D=MN-Perm|        | 
        +---------------------+ 
         
        From the VPN gateway to the MIP Proxy: 
        The VPN gateway applies an IPsec ESP tunnel SA to the IP packet 
        and forwards it back to the MIP Proxy on the MIPP-Pub interface 
        based on its routing table. 
        +-------------------------------------------------+ 
        |IP-S=VPNGW-Pub|IPsec-ESP   |IP-S=CN     | Data   | 
        |IP-D=MN-Perm  |VPNGW-Pub to|IP-D=MN-Perm|        | 
        |              |MN-Perm     |            |        | 
        +-------------------------------------------------+ 
 
        From the MIP Proxy to the FA: 
        The MIP Proxy adds an outer encapsulating IP header to the FA 
        COA. 
        +--------------------------------------------------------+ 
        |IP-S=MIPP-Pub|IP-S=VPNGW-Pub|IPsec-ESP   |IP-S=CN | Data| 
        |IP-D=FA COA  |IP-D=MN-Perm  |VPNGW-Pub to|IP-D=   |     | 
        |             |              |MN-Perm     | MN-Perm|     |     
        +--------------------------------------------------------+ 
         
  
Adrangi, Iyer              Expires Nov 2002                  [Page 23] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
         
         
         
         
         
         
         
        From the FA to the MN: 
        The FA strips off the outermost IP header and forwards the 
        packet to the MN. 
        +-------------------------------------------------+ 
        |IP-S=VPNGW-Pub|IPsec-ESP   |IP-S=CN     | Data   | 
        |IP-D=MN-Perm  |VPNGW-Pub to|IP-D=MN-Perm|        | 
        |              |MN-Perm     |            |        | 
        +-------------------------------------------------+ 
    
        The MN terminates the IPsec tunnel and processes the MIPv4 data 
   as always. 
    
   6.5.3. Support For Route Optimization 
         
        The MIP Proxy MUST NOT support Route Optimization [ROUTE-OPT].  
        However, Route Optimization between the correspondent node and 
        the mobile nodeÆs actual HA MAY be implemented. 
    
   6.6. Key Management and SA Preservation 
         
        The scheme described in the previous section binds the IPsec 
        tunnel SA to the normally invariant permanent IP address of the 
        MN. This implies that the tunnel SA can be preserved even when 
        the MN changes its co-located COA or connects via a FA in a 
        different IP subnet. The SA however must be refreshed prior to 
        its lifetime expiration. Also, many VPN gateway implementations 
        support some keep-alive mechanism to detect the presence of a 
        VPN client and ôretireö the SA if the VPN client is not 
        detected for a period of time. If a MN loses link connectivity 
        for a period extending the keep-alive timeout interval, it MUST 
        reestablish the tunnel SA, regardless of whether it reconnects 
        to the same IP subnet or not. 
         
        The scheme also preserves any secondary authentication 
        mechanisms that may be in the place to authenticate a remote 
        access user. 
    
   6.7. DMZ and VPN Gateway Configuration Requirements 
         
        The solution described in this section makes the following 
        assumptions on the configurability of the VPN gateway and the 
        DMZ ACLs: 
        - It MUST be possible to configure the VPN gatewayÆs routing 
        table to deliver the outbound IPsecÆed MIPv4 packets destined 
        to MN-Perm to the MIP ProxyÆs MIP-Pub interface, if MIP Proxy 
        is not co-located with the VPN gateway. 
  
Adrangi, Iyer              Expires Nov 2002                  [Page 24] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        - The outer firewall MUST allow inbound tunneled IP packets 
        destined to the MIP Proxy 
        - The MIP Proxy MUST be able to forward packets (destined to 
        MN) to VPN gateway via layer 2 mechanism.  This implies that 
        the MIP Proxy and VPN Gateway MUST be on the same subnet. 
    
   6.8. Supporting Other IPsec-based VPN Configurations 
         
        The scheme currently described in this draft assumes a native 
        IPsec VPN scheme extended to support secondary authentication 
        schemes. However the solution should apply to L2TP over IPsec 
        transport [RFC3193] and ESP-in-UDP VPN [ESPInUDP] 
        configurations as well.  
    
   6.9. Considerations for Integrating the MIP Proxy and VPN Gateway 
         
        The MIP Proxy as described in this draft is a logical 
        functional component and as such can be deployed in the DMZ in 
        one of 2 possible ways: 
        - As a standalone device in parallel with the VPN gateway as 
        depicted in Figure 6.0. This decouples support for MIPv4 users 
        from any software or hardware upgrades to the VPN gateway 
        itself and also enables multi-vendor interoperability. The 
        scheme however adds some overhead to the end-to-end 
        communication path between a MN and a CN and requires minimal 
        support from the VPN gateway software (i.e. a mechanism to make 
        routing table updates). 
        - Integrated as a software component with the VPN gateway. This 
        clearly reduces the communication overhead but tightly couples 
        support for MIPv4 users with any software upgrades to the VPN 
        gateway itself. 
         
   6.10. Association Between VPN Inner and MN Home IP Address 
    
                 TO support continuous mobility and constant reachability, the 
        tunnel inner IP address assigned to a MN MUST be the same as 
        the home IP address.  
    
   7. Using the MIP Proxy for combined NAT and VPN Traversal 
         
        The discussion in the draft would be incomplete without 
        describing a scenario in which a MN roams into a foreign NATÆed 
        network and has to connect back to itÆs home network which is 
        behind a DMZ. Many Enterprises are deploying wireless LANs as a 
        private NATÆed network outside their DMZ û users that roam into 
        such a network will be forced to VPN back into their Intranet. 
        Such a scenario can be supported with the MIP Proxy enabling 
        simultaneous NAT and VPN traversal. The network configuration 
        would be a combination of Figures X and Y. The analysis assumes 
        that there is no FA in the NATÆed network. 
    
   7.1. MIPv4 Registration Message Flow 
   7.1.1. MIPv4 Registration Requests    
  
Adrangi, Iyer              Expires Nov 2002                  [Page 25] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        From the MN to the NAT gateway: 
                +-----------------------------------------------+ 
                |IP-S=MN-Perm   | Permanent Address = MN-Perm   | 
                |IP-D=MIPP-Pub  | Home Agent = MIPP-Pub         | 
                |               | Care-of Address = NATGW-Pub   | 
                |               |   . . .                       | 
                +-----------------------------------------------+ 
        Please see the discussion in section 5 for possible mechanisms 
        for a MN to determine the NAT gatewayÆs external (public) 
        routable IP address.     
    
        From the NAT gateway to the MIP Proxy: 
        The NAT gateway performs source address and source UDP port 
        translation before forwarding the packet to the MIP Proxy. 
    
 
                +-----------------------------------------------+ 
                |IP-S=NATGW-Pub | Permanent Address = MN-Perm   | 
                |IP-D=MIPP-Pub  | Home Agent = MIPP-Pub         | 
                |               | Care-of Address = NATGW-Pub   | 
                |               |     . . .                     | 
                +-----------------------------------------------+ 
    
        From the MIP Proxy to the actual HA: 
        The MIP Proxy terminates and authenticates the registration 
        request (as described in previous sections). It then creates a 
        new registration request and forwards it to the actual HA. 
         
                +-----------------------------------------------+ 
                |IP-S=MIPP_Priv | Permanent Address = MN-Perm   | 
                |IP-D=HA        | Home Agent = HA               | 
                |               | Care-of Address = MIPP-Priv   | 
                |               |     . . .                     | 
                +-----------------------------------------------+ 
    
   7.1.2. MIPv4 Registration Replies 
        From the actual HA to the MIP Proxy: 
    
                +-------------------------------------+ 
                |IP-S=HA        | Home Agent = HA     | 
                |IP-D=MIPP-Priv | . . .               | 
                +-------------------------------------+ 
    
        From the MIP Proxy to the NAT gateway: 
                +--------------------------------------+ 
                |IP-S=MIPP-Pub  | Home Agent = MIPP-Pub| 
                |IP-D=NATGW-Pub |  . . .               | 
                +--------------------------------------+ 
    
        From the NAT gateway to the MN: 
                +----------------------------------------+ 
                |IP-S=NATGW-Priv | Home Agent = MIPP-Pub | 
                |IP-D=MN COA     |      . . .            | 
  
Adrangi, Iyer              Expires Nov 2002                  [Page 26] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
                +----------------------------------------+ 
    
   7.2. MIPv4 Data Flow 
         
        Reverse tunneling is assumed in the packet flow descriptions 
        that follow. 
    
   7.2.1. Data Flow from the MN to the CN 
         
        From MN to the NAT gateway: 
        +--------------------------------------------------------+ 
        |IP-S=    | UDP|IP-S=     |IPsec-ESP |IP-S=MN-Perm| Data | 
        | MN-Priv |    |MN-Perm   |          |            |      | 
        |IP-D=    |    |IP-D=     |MN-Perm to|IP-D=CN     |      |  
        |MIPP-Pub |    |VPNGW-Pub | VPNGW-Pub|            |      | 
        +--------------------------------------------------------+ 
    
        From the NAT gateway to the MIP Proxy: 
        +----------------------------------------------------------+ 
        |IP-S=     | UDP |IP-S=     |IPsec-ESP |IP-S=MN-Perm| Data |  
        |NATGW-Pub |     | MN-Perm  |          |            |      | 
        |IP-D=     |     |IP-D=     |MN-Perm to|IP-D=CN     |      |   
        |MIPP-Pub  |     |VPNGW-Pub |VPNGW-Pub |            |      |    
        +----------------------------------------------------------+ 
 
        From the MIP Proxy to the VPN gateway: 
        +-----------------------------------------------+ 
        |IP-S=MN-Perm  |IPsec-ESP |IP-S=MN-Perm| Data   | 
        |IP-D=VPNGW-Pub|MN-Perm to|IP-D=CN     |        | 
        |              |VPNGW-Pub |            |        | 
        +-----------------------------------------------+ 
    
        From the VPN gateway to the CN: 
        +---------------------+ 
        |IP-S=MN-Perm| Data   | 
        |IP-D=CN     |        | 
        +---------------------+ 
     
   7.2.2. Data Flow from the CN to the MN 
         
        From the CN to the actual HA: 
        +---------------------+ 
        |IP-S=CN     | Data   |
        |IP-D=MN-Perm|        | 
        +---------------------+ 
    
        From the actual HA to the MIP Proxy: 
        +------------------------------------+ 
        |IP-S=HA       |IP-S=CN     | Data   | 
        |IP-D=MIPP-Priv|IP-D=MN-Perm|        | 
        +------------------------------------+ 
    
        From the MIP proxy to the VPN gateway: 
  
Adrangi, Iyer              Expires Nov 2002                  [Page 27] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        The MIP proxy strips off the outer IP header and forwards the 
        packet on the layer-2 address for VPNGW-Priv. 
        +---------------------+ 
        |IP-S=CN     | Data   | 
        |IP-D=MN-Perm|        | 
        +---------------------+ 
    
        From the VPN gateway to the MIP Proxy: 
        +-------------------------------------------------+ 
        |IP-S=VPNGW-Pub|IPsec-ESP   |IP-S=CN     | Data   | 
        |IP-D=MN-Perm  |VPNGW-Pub to|IP-D=MN-Perm|        | 
        |              |MN-Perm     |            |        | 
        +-------------------------------------------------+ 
    
        From the MIP Proxy to the NAT gateway: 
        +----------------------------------------------------------+ 
        |IP-S=    | UDP |IP-S=VPNGW-Pub|IPsec-ESP   |IP-S=CN| Data | 
        |MIPP-Pub |     |              |            |       |      |        
        |IP-D=    |     |IP-D=NM-Perm  |VPNGW-Pub to|IP-D=  |      | 
        |NATGW-Pub|     |              |            |MN-Perm|      | 
        |         |     |              |MN-Perm     |       |      | 
        +----------------------------------------------------------+ 
    
        From the NAT gateway to MN: 
        +------------------------------------------------------------+ 
        |IP-S=     | UDP |IP-S=      |IPsec-ESP   |IP-S=CN     |Data | 
        |NATGW-Priv|     |VPNGW-Pub  |            |            |     |  
        |IP-D=     |     |IP-D=      |VPNGW-Pub to|IP-D=MN-Perm|     | 
        |MN-Priv   |     |NM-Perm    | MN-Perm    |            |     |    
        |          |     |           |            |            |     | 
        +------------------------------------------------------------+ 
    
   8. MIP Proxy Considerations 
    
   8.1. Handling Simultaneous Mobility Bindings 
 
        The MIP proxy MUST support simultaneous mobility bindings, 
        regardless of if a MNÆs actual HA supports this feature or not. 
         
        When a Registration Request with an æSÆ bit set (i.e. 
        simultaneous binding requested by a MN) is received, the MIP 
        proxy MUST relay the Registration Request as described in 
        section 4.0, but it MUST set the lifetime value in the relayed 
        Registration Request to the maximum of the remaining lifetime 
        values of all existing mobility bindings for this MN and the 
        lifetime value of the new Registration Request received from 
        the MN.  Any subsequent Registration Request refreshes received 
        for any of the existing simultaneous mobility bindings MUST 
        follow the same rule with respect to setting the lifetime value 
        in the Registration Request to be relayed to the MNÆs actual 
        home agent.  
         

  
Adrangi, Iyer              Expires Nov 2002                  [Page 28] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
        When the Registration Reply is received from the MNÆs actual 
        HA, the lifetime value in the mobility bindings list for this 
        MN MUST be set to the lesser value of the accepted lifetime 
        (reflected in the Registration Reply) and the existing lifetime 
        (the request lifetime through the Registration Request) in the 
        mobility bindings list of the MIP proxy.   
    
   8.2. Handling Mobile IP NAI Extension 
    
        The MIP proxy MUST support the Mobile IP NAI extension, defined 
        by [RFC2290].  If the Home Address field is zero in the 
        Registration Request received from a MN, the MIP proxy MUST 
        record the NAI in its mobility bindings list for this MN. If 
        the MIP Proxy receives a Registration Request with a value of 
        zero in the Home Address field and no NAI extension, it MUST 
        return a Registration Reply with an error code indicating 
        MISSING_NAI, as defined in [RFC2290].  
         
        If the Registration Reply from the MNÆs actual HA does not 
        include the Mobile Node NAI extension, the MIP proxy MUST relay 
        the Registration Reply with an error code indicating 
        MISSING_NAI, as defined in [RFC2290].  If the Registration 
        Reply from the MNÆs actual HA includes a zero Home Address, the 
        MIP proxy MUST relay the Registration Reply with an error code 
        indicating MISSING_HOME_AGENT, as defined in [RFC2290]. 
    
   8.3. Dynamic HA Assignment 
    
        The MIP proxy can support dynamic HA assignment in conjunction 
        with dynamic home address assignment for a MN. If the MN sends 
        a Registration Request with the Home Agent field set to zero in 
        the Parameter Registration Request Extension and includes a 
        valid NAI extension, the MIP Proxy can dynamically assign a HA 
        from a pool of HA IP addresses. The selection of a HA is beyond 
        the scope of this draft. The selected HA MUST support the NAI 
        extension in the Registration Request. However, this scheme is 
        NOT intended to support dynamic HA handovers. 
    
   9. Security Implications 
    
        The MIP Proxy is a functional entity that MUST be implemented 
        on a secure device especially if it is deployed in the DMZ. The 
        MIP Proxy is assumed to belong to the same (security) 
        administrative domain as the MN and the actual HA. The protocol 
        extensions specified in the draft do not introduce any new 
        vulnerabilities to the mobile IP protocol.   
    
   10. Acknowledgements 
    
        The authors would like to thank Mike Andrews, Changwen Liu and 
        Ranjit Narjala of Intel Corporation for their review and 
        feedback on this draft. 
    
  
Adrangi, Iyer              Expires Nov 2002                  [Page 29] 

Internet Draft  draft-adrangi-mobileip-natvpn-traversal-00    Nov 2001 
 
 
   11. Patents 
    
        Intel Corporation is in the process of filing one or more 
        patent applications that may be relevant to this IETF draft. 
    
   12. References 
        [RFC2002] RFC 2002 û IP mobility support 
        [RFC3024] RFC 3024 û Reverse tunneling for mobile IP 
        [RFC2004] RFC 2004 û Minimal encapsulation within IP  
        [RFC1701] RFC 1701 û Generic Routing encapsulation 
        [RFC2119] RFC 2119 - Key words for use in RFCs to Indicate 
        Requirement Levels 
        [RFC1918] RFC 1918 û Address Allocation for Private Internets 
        [DHCP] RFC 2131 û Dynamic Host Configuration Protocol 
        [MIPv4-SEC-GUIDE] <draft-bpatil-mobileip-sec-guide-01.txt> - 
        Requirements / Implementation Guidelines for Mobile IP using IP 
        Security 
        [LOCAL-LINK] û <draft-ietf-zeroconf-ipv4-linklocal-03> - 
        Dynamic Configuration of Iv4 Link-Local Addresses  
        [ROUTE-OPT] û <draft-ietf-mobileip-optim-10.txt> - Route 
        Optimization in Mobile IP 
        [MIP-NAT] û <draft-levkowetz-vaarala-mobileip-nat-traversal-
        00.txt> - Mobile IP NAT/NAPT Traversal using UDP Tunneling  
        [RFC3193] RFC 3193 û Securing L2TP with IPsec 
        [ESPInUDP] - <draft-ietf-ipsec-udp-encaps-00> - UDP 
        Encapsulation of IPsec Packets  
        [RFC 2290] - Mobile-IPv4 Configuration Option for PPP IPCP 
         
   Authors: 
    
   Farid Adrangi 
   Intel Corporation 
   2111 N.E. 25th Avenue 
   Hillsboro, OR 97124 
   USA 
    
   Phone: 503-712-1791  
   Email: farid.adrangi@intel.com 
    
   Prakash Iyer     
   Intel Corporation 
   2111 N.E. 25th Avenue 
   Hillsboro, OR 97124 
   USA 
    
   Phone: 503-264-1815 
   Email: prakash.iyer@intel.com 






  
Adrangi, Iyer              Expires Nov 2002                  [Page 30]