Internet DRAFT - draft-cordell-midcom-span-alt

draft-cordell-midcom-span-alt







Internet Engineering Task Force                                MidCom WG
Internet Draft                                                P. Cordell
draft-cordell-midcom-span-alt-00.txt         Ridgeway Systems & Software
9 October, 2002
Expires: 9 April, 2003

   


              Alternative Solutions for a SPAN Deliverable


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.


Abstract

   This document presents and discusses alternatives to developing a
   custom solution for the pre-midcom SPAN deliverable (SPAN = Simple
   Protocol for Augmenting NATs).  Such alternatives consist of
   protocols or techniques that have already been standardised or will
   soon be standardised.

1. Introduction

   Before embarking on a custom development for the pre-MIDCOM SPAN
   deliverable (SPAN = Simple Protocol for Augmenting NATs), it is worth
   considering what other existing (or soon to be existing) protocols
   might be able to provide an off the shelf solution to the problem.



Cordell                                                          [Page 1]
Internet Draft            SPAN Alternatives                September 2002


   This document discusses the pros and cons of a number of candidate
   protocols.  

   Currently the document draws no conclusions as it is in an early
   state of development. 

2. L2TP - Dial in VPN

   L2TP [L2TP] is typically used to allow remote workers to access an
   enterprise network via a local dial-in POP.  It effectively extends
   IP connectivity out from the enterprise network to the remote worker
   so that they have a logical presence on the enterprise network.

   In a SPAN scenario, a client inside an enterprise would effectively
   'dial-out' to an L2TP network server (LNS) in the shared network by
   acting as a Client LAC.  The L2TP PPP connection would acquire a
   public address, which the client would use to communicate with
   devices outside the NAT.

2.1. Pros

   -     L2TP is already widely deployed.

2.2. Cons

   -     Large overhead.  A typical access link might involve the
         following layers for a media connection: PPP/IP/UDP/RTP.  In
         the case of L2TP, this would be extended to be:
         PPP/IP/(UDP/L2TP/PPP/IP)/UDP/RTP.  This corresponds to roughly
         36 bytes of overhead per packet (UDP-8, L2TP-6/8, PPP-2,
         IP-20).

   -     Allocates an entire IP address to a client rather than
         allocating specific ports.  This is inefficient from an address
         allocation point of view.  If addresses were abundant enough to
         allow for such a solution, chances are a NAT would not be
         required in the first place!

   -     L2TP control channel needs to implement its own reliability
         mechanism complicating implementation within an application.

   -     Would need additions to the L2TP implementation to handle NAT
         binding keep alive.

3. IPsec - VPN

   IPsec [IPSEC] can be used as a VPN solution to connect two enterprise
   networks together over a public network such as the Internet.  The
   information exchanged over the IPsec connection is encrypted, but
   other than that it emulates a physical wire connecting the two
   networks.  Hence, the two ends need to share the same address space,
   and the connection will include all traffic including such things as


Cordell                                                          [Page 2]
Internet Draft            SPAN Alternatives                September 2002


   router adverts and so on.

   In principle an IPsec solution could be used to extend an enterprise
   connection out to a relay in a public network.  This would be acting
   like a bridge out to an island in a shared space.  IPsec would be
   used in tunnel mode and the relay would act in part like a security
   gateway.  The IPsec tunnel would probably tunnel out a private
   address and the relay would NAT this to a shared address.

3.1. Pros

   -     IPsec VPNs are already standardised and widely deployed.

3.2. Cons

   -     IPsec has a number of problems getting through NATs [IPSECNAT]
         in part due to including the packet's source address (either
         directly, or indirectly via pseudo-header checksums) in the
         calculation of the AH & ESP headers.  

   -     IPsec operates below the TCP and UDP layer where ports are
         defined (e.g. the layering is PPP/IP/ESP/IP/UDP).  This makes
         NAPT operation impossible.

   -     Without additional extensive security efforts, IPsec provides
         IP level access, which would allow 'access all areas' type
         operation (including exporting of router adverts between
         realms).  This is undesirable in this case.

   -     Needs to be implemented in the OS (or at least below the
         application layer).  This means that application providers do
         not have control of the deployment of the technology.

   -     Will still need additional protocol mechanisms to be defined in
         order to acquire public addresses on the relay.

   -     Would need additional mechanisms to handle NAT binding keep
         alive.

4. IP Over IP

   IP over IP represents a simple way to tunnel IP through an IP
   network.  

4.1. Pros

   -     Conceptually simple.

4.2. Cons

   -     Would have to define an additional authentication method if the
         Relay needed to control who could access its services.



Cordell                                                          [Page 3]
Internet Draft            SPAN Alternatives                September 2002


   -     Problems working with NAPT as neither UDP nor TCP ports would
         be available at the right layer.

   -     Will still need additional protocol mechanisms to be defined in
         order to acquire public addresses on the relay.

   -     Would need additional mechanisms to handle NAT binding keep
         alive.

   -     Would not be able to do port multiplexing.  Each client would
         have to be allocated a separate IP address, which is
         inefficient.

   -     Requires 'raw' access to the IP stack, which is not available
         to applications on some OSes.  Even if the OS supported raw
         socket access, if TCP was required, this would have to be
         implemented in the application layer, which is undesirable.

   -     Despite its simplicity, it still requires 20 bytes of overhead.

5. RSIP

   RSIP [RSIP] allows a host to acquire an IP address (and optionally
   ports) from a relay located in another realm.  The extra address is
   used by an extension of the OSes IP stack to communicate with the
   remote realm via to tunnel to a gateway located where a NAT device is
   usually located.  Typically the host will operate as if it is
   multi-homed.

5.1. Pros

   -     Already defined as an RFC.

   -     Can allocate a complete address to a device or just a range of
         ports.

5.2. Cons

   -     Needs to be implemented in the OS.  This means that application
         providers do not have control of the deployment of the
         technology.

   -     An RSIP Gateway normally replaces a NAT rather than working
         through one.

   -     Doesn't offer much in the way of authentication.

   -     Applications need to be multi-home aware, and thus applications
         need to be aware of the solution even though it is principally
         an OS based solution.

   -     Has no knowledge of the RTP/RTCP port pair relationship.



Cordell                                                          [Page 4]
Internet Draft            SPAN Alternatives                September 2002


6. IPv4 Version of Teredo

   Teredo [TEREDO] is a proposed IPv6 transition technology.  It allows
   a host to obtain connectivity to an IPv6 network via an IPv4 network.
   The technique requires special Teredo IPv6 addresses, which include
   the IPv4 address at which the host can be contacted on the IPv4
   network. 

6.1. Pros

   -     Synergy with a proposed IPv6 transition technology.

6.2. Cons

   -     IPv6 scheme still under development.

   -     Not clear how an IPv4 version would work as the IPv6 version
         depends on an IPv4 address being part of the (larger) IPv6
         address.

   -     Firewall issues are much the same as for SPAN-A [SPAN-A].

7. Security Considerations

   As most of these solutions will need to traverse a firewall in
   addition to a NAT, security is obviously a major issue.  Most of the
   solutions presented above provide a tunnelling mechanism through
   which just about any traffic may flow.  This obviously makes the job
   of a firewall harder.  More than likely a NAT traversal
   implementation incorporating any of the above techniques will also
   have to include its own firewalling functions in addition to any
   existing firewall.  

   Additionally, many of the tunnelling techniques above are not
   associated with any particular well-known ports, which could make the
   job of the firewall harder (and maybe impossible).  Alternatively,
   using an existing well-known port of one of the above techniques for
   a SPAN type implementation may prevent an administrator being able to
   block SPAN use while still enabling the functionality that the
   technique was originally intended for.  

8. Conclusions

   This document is in an early stage of development and it is too early
   to present conclusions at this pointà

9. References

   [IPSEC]S. Kent & R. Atkinson, "Security Architecture for the Internet
         Protocol," RFC 2401, November 1998. 

   [IPSECNAT]Bernard Aboba, William Dixon, "IPsec-NAT Compatibility


Cordell                                                          [Page 5]
Internet Draft            SPAN Alternatives                September 2002


         Requirements," draft-ietf-ipsec-nat-reqts-02.txt, 18 August
         2002.

   [L2TP]Townsley et al., "Layer Two Tunneling Protocol," RFC 2661,
         August 1999. 

   [RSIP]Borella et al., "Realm Specific IP: Protocol Specification,"
         RFC3103, October 2001.

   [SPAN-A]P. Cordell, "SPAN-A - Candidate A for the Pre-Midcom SPAN
         Protocol," draft-cordell-midcom-span-a-00, June 2002.

   [TEREDO]C. Huitema, "Teredo: Tunneling IPv6 over UDP through NATs,"
         draft-ietf-ngtrans-shipworm-06, February 2002.

10.   Authors' Addresses

   Pete Cordell              
   Ridgeway Systems & Software
   66 Suttons Business Park
   Reading 
   RG6 1AZ
   England
   pcordell@ridgewaysystems.com
   





























Cordell                                                          [Page 6]