Re: [mpls] Last Call: <draft-ietf-mpls-in-udp-04.txt> (Encapsulating MPLS in UDP) to Proposed Standard

Curtis Villamizar <curtis@ipv6.occnc.com> Tue, 14 January 2014 20:54 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 0C8CF1AE1A4; Tue, 14 Jan 2014 12:54:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, CN_BODY_35=0.339, 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 trCvhlGHGOvf; Tue, 14 Jan 2014 12:54:29 -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 6E5071ADF99; Tue, 14 Jan 2014 12:54:29 -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 s0EKsADA001944; Tue, 14 Jan 2014 15:54:11 -0500 (EST) (envelope-from curtis@ipv6.occnc.com)
Message-Id: <201401142054.s0EKsADA001944@maildrop2.v6ds.occnc.com>
To: l.wood@surrey.ac.uk
From: Curtis Villamizar <curtis@ipv6.occnc.com>
In-reply-to: Your message of "Tue, 14 Jan 2014 08:28:05 +0000." <290E20B455C66743BE178C5C84F1240847E63346C3@EXMB01CMS.surrey.ac.uk>
Date: Tue, 14 Jan 2014 15:54:10 -0500
Cc: mpls@ietf.org, lars@netapp.com, ietf@ietf.org
Subject: Re: [mpls] Last Call: <draft-ietf-mpls-in-udp-04.txt> (Encapsulating MPLS in UDP) to Proposed Standard
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 20:54:32 -0000

In message <290E20B455C66743BE178C5C84F1240847E63346C3@EXMB01CMS.surrey.ac.uk>
l.wood@surrey.ac.uk writes:
 
> It stands to reason that if tunnelers can turn off udp checksums
> because their performance is degraded, they can turn off
> congestion control because it will degrade their performance.
>  
> Rest of the internet getting congested and getting
> misdelivered corrupted packets? Really not their problem.
>  
> There are important vendors trying to sell products here,
> and they need performance to do so.
> Get with the program!
>  
> Lloyd Wood
> http://about.me/lloydwood


OK, perhaps if you are running MPLS/UDP/IP over HDLC and the HDLC
configuration is set to count FCS errors but not drop you will still
*really* need the UDP checksum.  Otherwise its isn't going to do much
for you.  Any checksum is really bad for some types of errors such as
chunk reordering and multiple bit errors.

Maybe on HDLC or PPP with 16 bit CRC you may see a low error rate, but
in theory that would be much less than 10^-5 since few multiple bit
errors will be coincidence match the CRC, even for a 16 bit CRC.

I suspect most routers would be able to do the checksum anyway and for
modern links if they come up with a zero error count that's fine.

<ot>

Modern OTN based transport networks use forward error correction FEC
which accounts for a fair amount of overhead and a lot of processing
gates on the receiving end.  The measure of effectiveness of given FEC
is in dB with 10 dB being a reduction of a factor of 10 in bit errors
and typical FEC in the high tens of dB.  The target corrected error
rate is often 10^-15 or one bit error in 24 hours for 10 Gb/s, one bit
error in 2.5 hours for 100 Gb/s.  Any link with corrected bit error
rates approaching 10^-12 is taken out of service.  This is roughly
equivalent to the old ES (errored seconds) and SES (severely errored
seconds) metric where a ES is one second with any bit errors and an
SES is one second with 10 or more errors (I think its 10).  More than
some number of ES or SES and a link is taken down.  The uncorrected
errors are passed through.

A packet may traverse an entire continent with 2-3 such links
separated by regeneration or could stop at a number of routers along
the way.  Typically today the router uses 10GbE or 100GbE (growing
use) which are then passed as a bit stream in the transport network.
At the other end the uncorrected errors from transport are picked up
by Ethernet 32 bit FCS.  Since a 32 bit FCS picks up 100% of single
bit errors and most instances where a small number of bits are in
error, and all but 1 in 2^32 where many bits are in error, few errors
are going to get through.  If GFP is used, the per packet FCS is
checked at each hop and for GFP-T also checked end to end.

A bad local ethernet is more likely to contribute an error (again
better than 1 in 2^32 detection is expected) due to something like a
bad CAT-{5,5e,6} connection or too many sharp turns.  A DSL or DOCSIS
link is also more likely to contribute an error.  With CRC32 on all
links and no bad hardware in between (ie: circa 1990s equipment with
no parity RAM and no correction on DMA, buses, etc) you would expect
on the order of 10^-8 errors (10^-9 per hop, a few errored hops).

For example, two hosts on my home LAN had non-zero tcp checksums.
Each had < 10^-6 packet error rate.  It is hard to tell if this is
host errors at the other end.  The only hosts I have with non-zero are
on the service provider DMZ LAN so that would include any bot attacks,
etc, where sending hosts could be old junk.  Host behind those have
zero UDP and TCP checksum errors.  This seems similar to Stewart's
quick check.

In the T1/T3 days the transport layer just had parity and just counted
parity errors.  Providers in those days were notorious for ignoring ES
and SES counters until the customer complained.  HDLC then had its 16
bit CRC, optional 32 bit.  If an ISP wasn't paying attention to their
HDLC error counters then it was up to the IP end customer to complain
and hope the problem got escallated rather than dropped.

</ot>

As to whether congestion control is in practice needed see
http://www.ietf.org/mail-archive/web/mpls/current/msg11222.html

Its fine to make them both optional and to make congestion control
mechanisms out of scope and the topic of a later document if needed.

Curtis



> ________________________________________
> From: ietf [ietf-bounces@ietf.org] On Behalf Of Joel M. Halpern [jmh@joelhalpern.com]
> Sent: 10 January 2014 15:36
> To: Eggert, Lars; Xuxiaohu
> Cc: mpls@ietf.org; IETF
> Subject: Re: Last Call: <draft-ietf-mpls-in-udp-04.txt> (Encapsulating MPLS in UDP) to Proposed Standard
>  
> Maybe I am completely missing things, but this looks wrong.
> If the MPLS LSP is carrying fixed rate pseudo-wires, adding congestion
> control will make it more likely that the service won't work.  Is that
> really the goal?
>  
> We do not perform congestion control on MPLS LSPs.
> Assuming that a UDP tunnel is carrying just MPLS and was established
> just for MPLS, why would we expect it to behave differently than an MPLS
> LSP running over the exact same path, carrying the exact same traffic?
>  
> Yours,
> Joel
>  
> On 1/10/14 3:47 AM, Eggert, Lars wrote:
> > Hi,
> >
> > that sounds good. What congestion control are you going to be specifying for your tunnel?
> >
> > Lars
> >
> > On 2014-1-10, at 4:46, Xuxiaohu <xuxiaohu@huawei.com> wrote:
> >
> >> Hi Lars,
> >>
> >> Thanks a lot for your comments.
> >>
> >> I wonder whether the following modified text for Congestion Consideration section is OK from your point of view:
> >>
> >> Since the MPLS-in-UDP encapsulation causes MPLS packets to be forwarded through "UDP tunnels", the congestion control guidelines for UDP tunnels as defined in Section 3.1.3 of [RFC5405] SHOULD be followed. Specifically, MPLS can carry a number of different protocols as payloads. When the payload traffic is IP-based and congestion-controlled, the UDP tunnel SHOULD NOT employ its own congestion control mechanism, because congestion losses of tunneled traffic will already trigger an appropriate congestion response at the original senders of the tunneled traffic. When the payload traffic is not known to be IP-based, or is known to be IP-based but not congestion-controlled, the UDP tunnel SHOULD employ an appropriate congestion control mechanism. Furthermore, because UDP tunnels are usually bulk-transfer applications as far as the intermediate routers are concerned, the guidelines as defined in Section 3.1.1 of [RFC5405] SHOULD apply.
> >>
> >> Best regards,
> >> Xiaohu
> >>
> >>> -----ÓʼþÔ­¼þ-----
> >>> ·¢¼þÈË: mpls [mailto:mpls-bounces@ietf.org] ´ú±í Eggert, Lars
> >>> ·¢ËÍʱ¼ä: 2014Äê1ÔÂ8ÈÕ 18:22
> >>> ÊÕ¼þÈË: IETF
> >>> ³­ËÍ: mpls@ietf.org
> >>> Ö÷Ìâ: Re: [mpls] Last Call: <draft-ietf-mpls-in-udp-04.txt> (Encapsulating MPLS
> >>> in UDP) to Proposed Standard
> >>>
> >>> Hi,
> >>>
> >>> On 2014-1-2, at 16:14, The IESG <iesg-secretary@ietf.org> wrote:
> >>>> - 'Encapsulating MPLS in UDP'
> >>>> <draft-ietf-mpls-in-udp-04.txt> as Proposed Standard
> >>>
> >>>
> >>> this document needs to describe how it addresses the issues raised in BCP145
> >>> (RFC5405). It already contains some text about messages sizes and congestion
> >>> considerations, which is great. Unfortunately, the text about congestion
> >>> considerations is not fully in line with RFC5405.
> >>>
> >>> Lars
> >
> _______________________________________________
> mpls mailing list
> mpls@ietf.org
> https://www.ietf.org/mailman/listinfo/mpls