Sorry, glanced at this and thought it was someone having problems with
tunnel MTU without adjusting TCP MSS.

Nice work, though my preference is to avoid tunnels at all costs :-)




On Mon, Oct 29, 2012 at 12:39 PM, Templin, Fred L
<fred.l.temp...@boeing.com> wrote:
> Hi Ray,
>
> MSS rewriting has been well known and broadly applied for a long
> time now, but only applies to TCP. The subject of MSS rewriting
> comes up all the time in the IETF wg discussions, but has failed
> to reach consensus as a long-term alternative.
>
> Plus, MSS rewriting does no good for tunnels-within-tunnels. If
> the innermost tunnel rewrites MSS to a value that *it* thinks is
> safe there is no guarantee that the packets will fit within any
> outer tunnels that occur further down the line.
>
> What I want to get to is an indefinite tunnel MTU; i.e., admit
> any packet into the tunnel regardless of its size then make any
> necessary adaptations from within the tunnel. That is exactly
> what SEAL does:
>
>  https://datatracker.ietf.org/doc/draft-templin-intarea-seal/
>
> Thanks - Fred
> fred.l.temp...@boeing.com
>
>> -----Original Message-----
>> From: Ray Soucy [mailto:r...@maine.edu]
>> Sent: Monday, October 29, 2012 7:55 AM
>> To: Templin, Fred L
>> Cc: Dobbins, Roland; NANOG list
>> Subject: Re: IP tunnel MTU
>>
>> The core issue here is TCP MSS. PMTUD is a dynamic process for
>> adjusting MSS, but requires that ICMP be permitted to negotiate the
>> connection.  The realistic alternative, in a world that filters all
>> ICMP traffic, is to manually rewrite the MSS.  In IOS this can be
>> achieved via "ip tcp adjust-mss" and on Linux-based systems, netfilter
>> can be used to adjust MSS for example.
>>
>> Keep in mind that the MSS will be smaller than your MTU.
>> Consider the following example:
>>
>>  ip mtu 1480
>>  ip tcp adjust-mss 1440
>>  tunnel mode ipip
>>
>> IP packets have 20 bytes of overhead, leaving 1480 bytes for data.  So
>> for an IP-in-IP tunnel, you'd set your MTU of your tunnel interface to
>> 1480.  Subtract another 20 bytes for the tunneled IP header and 20
>> bytes (typical) for your TCP header and you're left with 1440 bytes
>> for data in a TCP connection.  So in this case we write the MSS as
>> 1440.
>>
>> I use IP-in-IP as an example because it's simple.  GRE tunnels can be
>> a little more complex.  While the GRE header is typically 4 bytes, it
>> can grow up to 16 bytes depending on options used.
>>
>> So for a typical GRE tunnel (4 byte header), you would subtract 20
>> bytes for the IP header and 4 bytes for the GRE header from your base
>> MTU of 1500.  This would mean an MTU of 1476, and a TCP MMS of 1436.
>>
>> Keep in mind that a TCP header can be up to 60 bytes in length, so you
>> may want to go higher than the typical 20 bytes for your MSS if you're
>> seeing problems.
>>
>>
>>
>>
>> On Tue, Oct 23, 2012 at 10:07 AM, Templin, Fred L
>> <fred.l.temp...@boeing.com> wrote:
>> > Hi Roland,
>> >
>> >> -----Original Message-----
>> >> From: Dobbins, Roland [mailto:rdobb...@arbor.net]
>> >> Sent: Monday, October 22, 2012 6:49 PM
>> >> To: NANOG list
>> >> Subject: Re: IP tunnel MTU
>> >>
>> >>
>> >> On Oct 23, 2012, at 5:24 AM, Templin, Fred L wrote:
>> >>
>> >> > Since tunnels always reduce the effective MTU seen by data packets
>> due
>> >> to the encapsulation overhead, the only two ways to accommodate
>> >> > the tunnel MTU is either through the use of path MTU discovery or
>> >> through fragmentation and reassembly.
>> >>
>> >> Actually, you can set your tunnel MTU manually.
>> >>
>> >> For example, the typical MTU folks set for a GRE tunnel is 1476.
>> >
>> > Yes; I was aware of this. But, what I want to get to is
>> > setting the tunnel MTU to infinity.
>> >
>> >> This isn't a new issue; it's been around ever since tunneling
>> technologies
>> >> have been around, and tons have been written on this topic.  Look at
>> your
>> >> various router/switch vendor Web sites, archives of this list and
>> others,
>> >> etc.
>> >
>> > Sure. I've written a fair amount about it too over the span
>> > of the last ten years. What is new is that there is now a
>> > solution near at hand.
>> >
>> >> So, it's been known about, dealt with, and documented for a long time.
>> In
>> >> terms of doing something about it, the answer there is a) to allow the
>> >> requisite ICMP for PMTU-D to work to/through any networks within your
>> span
>> >> of administrative control and b)
>> >
>> > That does you no good if there is some other network further
>> > beyond your span of administrative control that does not allow
>> > the ICMP PTBs through. And, studies have shown this to be the
>> > case in a non-trivial number of instances.
>> >
>> >> b) adjusting your own tunnel MTUs to
>> >> appropriate values based upon experimentation.
>> >
>> > Adjust it down to what? 1280? Then, if your tunnel with the
>> > adjusted MTU enters another tunnel with its own adjusted MTU
>> > there is an MTU underflow that might not get reported if the
>> > ICMP PTB messages are lost. An alternative is to use IP
>> > fragmentation, but recent studies have shown that more and
>> > more operators are unconditionally dropping IPv6 fragments
>> > and IPv4 fragmentation is not an option due to wrapping IDs
>> > at high data rates.
>> >
>> > Nested tunnels-within-tunnels occur in operational scenarios
>> > more and more, and adjusting the MTU for only one tunnel in
>> > the nesting does you no good if there are other tunnels that
>> > adjust their own MTUs.
>> >
>> >> Enterprise endpoint networks are notorious for blocking *all* ICMP (as
>> >> well as TCP/53 DNS) at their edges due to 'security' misinformation
>> >> propagated by Confused Information Systems Security Professionals and
>> >> their ilk.  Be sure that your own network policies aren't part of the
>> >> problem affecting your userbase, as well as anyone else with a need to
>> >> communicate with properties on your network via tunnels.
>> >
>> > Again, all an operator can control is that which is within their
>> > own administrative domain. That does no good for ICMPs that are
>> > lost beyond their administrative domain.
>> >
>> > Thanks - Fred
>> > fred.l.temp...@boeing.com
>> >
>> >> -----------------------------------------------------------------------
>> >> Roland Dobbins <rdobb...@arbor.net> // <http://www.arbornetworks.com>
>> >>
>> >>         Luck is the residue of opportunity and design.
>> >>
>> >>                      -- John Milton
>> >>
>> >
>> >
>>
>>
>>
>> --
>> Ray Patrick Soucy
>> Network Engineer
>> University of Maine System
>>
>> T: 207-561-3526
>> F: 207-561-3531
>>
>> MaineREN, Maine's Research and Education Network
>> www.maineren.net



-- 
Ray Patrick Soucy
Network Engineer
University of Maine System

T: 207-561-3526
F: 207-561-3531

MaineREN, Maine's Research and Education Network
www.maineren.net

Reply via email to