[mpls] OT (was Re: draft-ietf-mpls-in-udp was RE: gre-in-udp draft (was: RE: [tsvwg] Milestones changed for tsvwg WG))

Curtis Villamizar <curtis@ipv6.occnc.com> Tue, 14 January 2014 17:06 UTC

Return-Path: <curtis@ipv6.occnc.com>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6D00F1AE129; Tue, 14 Jan 2014 09:06:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.44
X-Spam-Level:
X-Spam-Status: No, score=-2.44 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.538, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FV6exKOHUBXZ; Tue, 14 Jan 2014 09:06:37 -0800 (PST)
Received: from maildrop2.v6ds.occnc.com (maildrop2.v6ds.occnc.com [IPv6:2001:470:88e6:3::232]) by ietfa.amsl.com (Postfix) with ESMTP id CDDC21AE0FF; Tue, 14 Jan 2014 09:06:36 -0800 (PST)
Received: from harbor3.ipv6.occnc.com (harbor3.v6ds.occnc.com [IPv6:2001:470:88e6:3::239]) (authenticated bits=128) by maildrop2.v6ds.occnc.com (8.14.7/8.14.7) with ESMTP id s0EH6Fbo099057; Tue, 14 Jan 2014 12:06:15 -0500 (EST) (envelope-from curtis@ipv6.occnc.com)
Message-Id: <201401141706.s0EH6Fbo099057@maildrop2.v6ds.occnc.com>
To: l.wood@surrey.ac.uk
From: Curtis Villamizar <curtis@ipv6.occnc.com>
In-reply-to: Your message of "Sun, 12 Jan 2014 21:22:58 +0000." <290E20B455C66743BE178C5C84F1240847E63346BD@EXMB01CMS.surrey.ac.uk>
Date: Tue, 14 Jan 2014 12:06:15 -0500
Cc: gorry@erg.abdn.ac.uk, mpls@ietf.org, ietf@ietf.org, lisp@ietf.org, david.black@emc.com, randy@psg.com, tsvwg@ietf.org, jnc@mit.edu
Subject: [mpls] OT (was Re: draft-ietf-mpls-in-udp was RE: gre-in-udp draft (was: RE: [tsvwg] Milestones changed for tsvwg WG))
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: curtis@ipv6.occnc.com
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Jan 2014 17:06:40 -0000

Lloyd,

Maybe you should reread the paper too before citing it as evidence.
Check the date on it.  Check the cited causes of errors.

Packet traces from 1998 and 1999 are prehaps not so relevante today,
particularly wrt error rates due to hosts, router memories, and link
error rates.  Look at the cited caused of errors and realize that many
things have changed.

The largest single error in the paper (paerhaps as high as 99.9% of
the errors) was the ACK-of-FIN bug in Windows NT.  They may have fixed
that by now.  Other large causes were host hardware and host software
bugs (sent bad data in the first place).

One fifth of campus errors were caused by two hosts.  This is cited as
a bug in Mac OS on Powermac 8100, fixed at the time of publication.

A lot of host software errors are discussed, where the checksums are
sent bad and therefore will pass any router link FCS.

Sending host hardware errors were thought to be in large part caused
by no data integrity check on host DMA transfers.  I think progress
has been made on that front.  You can check PCIe.  It has a 32bit CRC
per lane in the link layer and retransmits on error.

Router memory errors was thought to play a large role in the non-host
part of the error rate in the paper.  Routers use ECC now.  Going that
far back they didn't always have parity RAM (and sometimes ran parity
disabled to avoid parity error reloads).

VJHC software errors?  Anyone still use VJHC?  Those errors should be
gone.

IP over HDLC over T1 missed a few errors at the link layer in those
days.  That could be true and occurances dependent on the providers.
In the paper that was thought to be a very small contributor.

Both HDLC and PPP had an option for 16 bit or 32 bit FCS.  Often 16
bit was used.  Some HDLC equipment could be and was configured to
count errors and send the packets on their way on the assumption that
it was better to count errors and deliver bad packets rather than
deliver no packet.  Perhaps also to hide packet loss.  Today all of
the link layers in use have 32 bit FCS and count and toss errored
packets.  In most equipment all of the memories have ECC and all of
the buses ECC or FCS if serialized.

It is now 14 years since that paper was published in Signcomm and 16
years since some of the observations.  Things have changed.  Nice bit
of nostangia but that paper may no longer be relevant.

Curtis

reference -
http://conferences.sigcomm.org/sigcomm/2000/conf/paper/sigcomm2000-9-1.pdf

In message <290E20B455C66743BE178C5C84F1240847E63346BD@EXMB01CMS.surrey.ac.uk>
l.wood@surrey.ac.uk writes:
> 
> Curtis
>  
> I suggest reading Stone's work, particularly
> ''When The CRC and TCP Checksum Disagree'
> for discussion of corruption.
>  
> Particularly its conclusions: 'In the internet, that means
> we are sending large volumes of incorrect data without
> anyone noticing'.
>  
> The Layer-2 check is per link, not end-to-end. That matters.
>  
> The MPLS assumption is that it crosses a link with a frame
> checksum. Putting MPLS over UDP breaks that assumption.
>  
> Lloyd Wood
> http://about.me/lloydwood
> ________________________________________
> From: Curtis Villamizar [curtis@ipv6.occnc.com]
> Sent: 12 January 2014 18:09
> To: Wood L  Dr (Electronic Eng)
> Cc: adrian@olddog.co.uk; randy@psg.com; gorry@erg.abdn.ac.uk; mpls@ietf.org; lisp@ietf.org; ietf@ietf.org; david.black@emc.com; jnc@mit.edu; tsvwg@ietf.org
> Subject: Re: [mpls] draft-ietf-mpls-in-udp was RE: gre-in-udp draft (was: RE: [tsvwg] Milestones changed for tsvwg WG)
>  
> In message <290E20B455C66743BE178C5C84F1240847E63346BA@EXMB01CMS.surrey.ac.uk>
> l.wood@surrey.ac.uk writes:
>  
> > On nested checksums, the question is how they are nested; it's a matter
> > of scope. With a bunch of checksums checking only a payload and any
> > inner checksums like Russian Matryoshka dolls, the end-to-end argument
> > tells us that for reliable receipt of the payload, only the innermost checksum
> > matters.
> >
> > But here, we are not solely checking the payload, but information on how to
> > deliver and identify that payload - and while an outer Ethernet CRC is across
> > the last link, the UDP checksum, though weak, provides a check on the IP
> > addresses and UDP ports (via the  pseudoheader check) and MPLS stack
> > from UDP/IP source to UDP/IP destination (and the payload, which is the bit
> > everyone focuses on as the performance hit as redundant and a processing
> > cost when the payload has its own check, and the bit that UDP-Lite can leave out).
> >
> > Nothing else checks that scope. The scope is wider, and affects the network
> > as a whole. Errors in these unchecked fields lead to misdirection and lead to
> > misdelivery. Or pollution of other ports.
> >
> > The MPLS assumption is that it's protected and checked by a strong link CRC like
> > Ethernet, and checked/regenerated by stack processing between hops; here,
> > in a path context, with zero UDP checksums MPLS has no checking at all.
>  
> That UDP would be running over IP over Ethernet or POS or GFP or ...
>  
> There is no layer-2 currently in use that does not have a robust FCS,
> generally a 32 FCS and therefore the MPLS assumption of checking at a
> lower layer is still valid.
>  
> Curtis
>  
>  
> > "consequences for cheap hardware and for software implementations"
> >
> > I'm sorry, when was MPLS cheap?
> >
> > Lloyd Wood
> > http://about.me/lloydwood
> > ________________________________________
> > From: Adrian Farrel [adrian@olddog.co.uk]
> > Sent: 09 January 2014 10:21
> > To: Wood L  Dr (Electronic Eng); randy@psg.com
> > Cc: gorry@erg.abdn.ac.uk; mpls@ietf.org; ietf@ietf.org; david.black@emc.com; tsvwg@ietf.org; jnc@mit.edu; lisp@ietf.org
> > Subject: RE: [mpls] draft-ietf-mpls-in-udp was RE: gre-in-udp draft (was: RE: [tsvwg] Milestones changed for tsvwg WG)
> >
> > Lloyd and Randy,
> >
> > With respect to draft-ietf-mpls-in-udp, this is why we have IETF last calls, so
> > thanks for the comments.
> >
> > We did take the precaution of sending this I-D for an early TSV Directorate
> > review because of the concern about a number of factors and the overlap with
> > tsvwg work, but the review came back "clean". Of course, such a review is just
> > one person, so this conversation is good.
> >
> > Wrt zero checksum, where do you stand on nested checksums? There is some claim
> > that they represent a waste of processing. I am not convinced by that when each
> > layer is using dedicated hardware (that can presumably process checksums at line
> > speed), but I am interested in the consequences for cheap hardware and for
> > software implementations (as have been claimed to be some of the motivations for
> > this work).
> >
> > Other TSV-related issues that surely pop up are:
> > - allocation of ports for foo-in-UDP
> > - congestion control
> >
> > Please note that there are a number of I-Ds that you missed in your broad sweep
> > of "I am opposed". You should probably look at the NVGRE and VXLAN work (which I
> > think is lurking around the NVO3 working group) because that is also looking at
> > UDP encaps of a tunnelling protocol.
> >
> > Thanks,
> > Adrian
> >
> > Health warnings:
> > I am responsible AD for draft-ietf-mpls-in-udp
> > I am a co-author of the gre-in-udp draft.
> >
> > > -----Original Message-----
> > > From: mpls [mailto:mpls-bounces@ietf.org] On Behalf Of l.wood@surrey.ac.uk
> > > Sent: 09 January 2014 08:07
> > > To: randy@psg.com
> > > Cc: gorry@erg.abdn.ac.uk; mpls@ietf.org; ietf@ietf.org; david.black@emc.com;
> > > tsvwg@ietf.org; jnc@mit.edu; lisp@ietf.org
> > > Subject: Re: [mpls] draft-ietf-mpls-in-udp was RE: gre-in-udp draft (was: RE:
> > > [tsvwg] Milestones changed for tsvwg WG)
> > >
> > > Randy,
> > >
> > > okay, let  tsvwg adopt draft-yong-tsvwg-gre-in-udp-encap, and let's get
> > > consensus on  it. And then the authors can adopt that consensus for
> > mpls-in-udp,
> > > which overlaps in authorship...
> > >
> > > thanks,
> > >
> > > Lloyd Wood
> > > http://about.me/lloydwood
> > > ________________________________________
> > > From: Randy Bush [randy@psg.com]
> > > Sent: 09 January 2014 07:51
> > > To: Wood L  Dr (Electronic Eng)
> > > Cc: david.black@emc.com; gorry@erg.abdn.ac.uk; ietf@ietf.org; mpls@ietf.org;
> > > jnc@mit.edu; lisp@ietf.org; tsvwg@ietf.org
> > > Subject: Re: draft-ietf-mpls-in-udp was RE: gre-in-udp draft (was: RE: [tsvwg]
> > > Milestones changed for tsvwg WG)
> > >
> > > > Because they specify zero UDP checksums,
> > > > I oppose publication of draft-ietf-mpls-in-udp in its current form
> > > > I oppose tsvwg adoption of draft-yong-tsvwg-gre-in-udp-encap in its current
> > > form.
> > > > I oppose the IETF lisp documents.
> > >
> > > lloyd,
> > >
> > > i think i understand your position.  but i disagree with preventing wg
> > > adoption of draft-yong-tsvwg-gre-in-udp-encap, mainly because i strongly
> > > see wg adoption as how we get to discuss and work on a document, not as
> > > approval of the document.  as david said, i think we need to discuss it
> > > so we can decide if it should be fixed.  to do so, we have to adopt it.
> > >
> > > randy