Independent submission                                     M. Richardson
Internet-Draft                                                       SSW
Expires: January 15, 2005                                  July 17, 2004


    An interim solution to the Path MTU discovery problem for IPsec
                                gateways
                 draft-richardson-ipsec-fragment-01.txt

Status of this Memo

   By submitting this Internet-Draft, I certify that any applicable
   patent or other IPR claims of which I am aware have been disclosed,
   and any of which I become aware will be disclosed, in accordance with
   RFC 3667.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at http://
   www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on January 15, 2005.

Copyright Notice

   Copyright (C) The Internet Society (2004). All Rights Reserved.

Abstract

   Path MTU discovery depends upon proper respect for the Don't Fragment
   (DF) bit. IPsec gateways often present an Maximum Transmission Unit
   (MTU) constraint, and therefore must send ICMP Fragment Needed
   messages when the DF bit is set. This document proposes to ignore it
   in certain cases.








Richardson              Expires January 15, 2005                [Page 1]


Internet-Draft               opportunistic                     July 2004


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Heuristic  . . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.1 Step 0 - selection . . . . . . . . . . . . . . . . . . . . . .  4
   2.2 Step 1 - tracking  . . . . . . . . . . . . . . . . . . . . . .  4
   2.3 Step 2 - size check  . . . . . . . . . . . . . . . . . . . . .  4
   2.4 Step 3 - error throttling  . . . . . . . . . . . . . . . . . .  4
   2.5 Step 4 - send  . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Example  . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
       Normative references . . . . . . . . . . . . . . . . . . . . .  6
       Author's Address . . . . . . . . . . . . . . . . . . . . . . .  6
       Intellectual Property and Copyright Statements . . . . . . . .  7






































Richardson              Expires January 15, 2005                [Page 2]


Internet-Draft               opportunistic                     July 2004


1. Introduction

   Path MTU discovery [1] depends upon proper respect for the Don't
   Fragment (DF) bit. IPsec gateways often present an Maximum
   Transmission Unit (MTU) constraint, and therefore must send ICMP
   Fragment Needed messages when the DF bit is set.

   At the same time, increasing numbers of firewalls and networks are
   misconfigured, and drop all ICMP messages. For road-warriors that
   operate on an extruded IP address (i.e. one from behind their
   security gateway, and route all traffic through the corporate
   firewall), they find that they can not reach certain sites. When full
   size datagrams arrive at the VPN gateway with the DF bit set (such as
   from a web server's response), they are too big to enter the tunnel.
   An ICMP is sent (rate limited) and the oversize datagram is
   discarded. The ICMP is filtered out, and the sender never reduces its
   segment size. The result is that the web site stalls. Ironically,
   this occurs more often for more efficient web servers, as they tend
   to fill the datagram more regularly.

   Although the site in question is misconfigured, the IPsec system is
   blamed, since the site "works fine" when the IPsec tunnel is removed.
   The result is that many IPsec security gateway vendors are resorting
   to ignoring the DF bit, and fragmenting the datagram anyway (either
   before encapsulation, or fragmenting the resulting ESP packet).

   To complicate the situation, the PMTUD WG, has recognized the
   proliferation of missconfigured systems wrt ICMP, and is proposing a
   new method of determining the MTU.  The new method does not rely on
   ICMPs, but rather on the non-delivery of occasional larger probes.
   The only requirement that the new method places on lower layers is
   that they reliably discard probes that are larger than the path MTU.
   With this new method, devices that do not honor the DF bit are at
   risk of invoking needless fragmentation.

   Further, for high speed networks, that employ larger TCP windows, the
   result of the fragmentation can cause TCP segments to become
   corrupted.  {ref please}

   This document proposes a heuristic for IPsec security gateways to
   observe such that they will interop with the both the current PMTU
   methods (given that ICMP is broken) and new mechanisms.









Richardson              Expires January 15, 2005                [Page 3]


Internet-Draft               opportunistic                     July 2004


2. Heuristic

   Summary: If the system is keeping per flow state, preferentially
   error packets that suddenly reach a new high-water mark for each
   particular flow, because they arelikely to be probes, or classic
   PMTUD.

   For systems that have per-flow [Host to Host] (Ed. per-microflow -
   5-tuple?) tracking, step 1 is included. Otherwise, it is skipped.

2.1 Step 0 - selection

   Is the datagram is too big for the tunnel, and has the DF bit set? If
   not, encapsulate as normal.

2.2 Step 1 - tracking

   Keep track of the largest datagram size received. When there is a new
   high water mark, do standard ICMP Need Fragment processing. If this
   is the first time the datagram was too big, then goto step 4. If not,
   then drop datagram.

2.3 Step 2 - size check

   Is the amount that the packet is too big exactly due to the tunnel
   overhead? (In particular, this would never apply when the media on
   both sides is dissimilar). If not, do standard ICMP processing, and
   drop the datagram.

2.4 Step 3 - error throttling

   Does error rate limiting permit an ICMP error message be sent at this
   time? (rate limited to about 1 packet per second) If so, then do
   standard ICMP Need Fragment processing, and drop the datagram.

2.5 Step 4 - send

   Fragment the datagram prior to encapsulation. Divide the datagram
   into two equal pieces and encapsulate each one seperately. No attempt
   to send an ICMP is made.











Richardson              Expires January 15, 2005                [Page 4]


Internet-Draft               opportunistic                     July 2004


3. Example

   A 1500 packet to which a 20 byte IP and 28 byte ESP header is added,
   trying to fit on a 1500 byte network is fragmented anyway.

   A 9000 byte packet with a 20 byte IP and 28 byte ESP header trying to
   fit on a 1500 byte network is dropped.












































Richardson              Expires January 15, 2005                [Page 5]


Internet-Draft               opportunistic                     July 2004


Normative references

   [1]  Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191,
        November 1990.


Author's Address

   Michael C. Richardson
   Sandelman Software Works
   470 Dawson Avenue
   Ottawa, ON  K1Z 5V7
   CA

   EMail: mcr@sandelman.ottawa.on.ca
   URI:   http://www.sandelman.ottawa.on.ca/



































Richardson              Expires January 15, 2005                [Page 6]


Internet-Draft               opportunistic                     July 2004


Intellectual Property Statement

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

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

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


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2004). This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Richardson              Expires January 15, 2005                [Page 7]