Re: [Pppext] Technical Request about a correct protocol behavior (RFC2661)
James Carlson <carlsonj@workingcode.com> Thu, 18 February 2016 21:48 UTC
Return-Path: <carlsonj@workingcode.com>
X-Original-To: pppext@ietfa.amsl.com
Delivered-To: pppext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 193871B342E for <pppext@ietfa.amsl.com>; Thu, 18 Feb 2016 13:48:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.333
X-Spam-Level:
X-Spam-Status: No, score=-1.333 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.006, URG_BIZ=0.573] autolearn=no
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 prpb3C-lTLre for <pppext@ietfa.amsl.com>; Thu, 18 Feb 2016 13:48:08 -0800 (PST)
Received: from carlson.workingcode.com (carlson.workingcode.com [75.150.68.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 09B8F1B341F for <pppext@ietf.org>; Thu, 18 Feb 2016 13:48:06 -0800 (PST)
Received: from [10.49.72.142] (fw-lex.abinitio.com [65.170.40.234]) (authenticated bits=0) by carlson.workingcode.com (8.14.9/8.14.9/SuSE Linux 0.8) with ESMTP id u1ILm3W9008835 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for <pppext@ietf.org>; Thu, 18 Feb 2016 16:48:04 -0500
To: pppext@ietf.org
References: <8DB67D970E0F5D4AB8FD7C6FEF9D2FA9064BD172FC1A@HE113670.emea1.cds.t-internal.com>
From: James Carlson <carlsonj@workingcode.com>
Message-ID: <56C63C13.4010204@workingcode.com>
Date: Thu, 18 Feb 2016 16:48:03 -0500
User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0
MIME-Version: 1.0
In-Reply-To: <8DB67D970E0F5D4AB8FD7C6FEF9D2FA9064BD172FC1A@HE113670.emea1.cds.t-internal.com>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 7bit
X-DCC-MGTINTERNET-Metrics: carlson 1170; Body=1 Fuz1=1 Fuz2=1
Archived-At: <http://mailarchive.ietf.org/arch/msg/pppext/UbIWgIl9h1BwjT5i4aejXc50leo>
Subject: Re: [Pppext] Technical Request about a correct protocol behavior (RFC2661)
X-BeenThere: pppext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: PPP Extensions <pppext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pppext>, <mailto:pppext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pppext/>
List-Post: <mailto:pppext@ietf.org>
List-Help: <mailto:pppext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pppext>, <mailto:pppext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Feb 2016 21:48:10 -0000
On 02/18/16 08:09, Jewgenij.Bytschkow@t-systems.com wrote: > Dear IETF colleagues, > > we, at Deutsche Telekom Germany, have an urgent technical request > regarding behavior of LAC/LNS during L2TPv2 (RFC2661) protocol > communication. The question is not an errata report. We need only to > verify the MUST behavior of a LAC/LNS implementation on the basis > of the RFC2661. Although design of L2TP was started in the IETF PPPEXT working group, most of the original people involved have moved over to the L2TPEXT working group. You may also wish to consult with them: https://datatracker.ietf.org/wg/l2tpext/charter/ > It is needed to clarify a proper, standard-compliant behavior of > L2TP protocol implementations related to the following use case. > > RFC 2661 (L2TPv2 standard): > > "The Mandatory (M) bit within the Message Type AVP has special > meaning. Rather than an indication as to whether the AVP itself > should be ignored if not recognized, it is an indication as to > whether the control message itself should be ignored. > If the M-bit is not set, then the implementation may ignore an unknown > message type." > > According to the RFC2661 statement quoted above, an unknown non-mandatory (M=0) > control message received from the peer may be ignored. While ignoring that > unknown control message in our use case, the implementation does not send > ZLB-Ack also after several retransmissions of that control message by the peer. Although I agree that the text of the document is somewhat ambiguous, I don't believe that common sense supports reading it that way. L2TP is designed to operate on unreliable media, so simply omitting ZLB ACK sounds quite wrong to me. There would be no way to recover from such an omission. My understanding is that when the Message Type AVP has M=0 and the type is unknown to the receiver, the receiver is expected to skip *processing* of that message -- including all of the AVPs contained in the message, and sending no new message in reply -- but then resume normal handling of the message stream, including any acknowledgement requirements. In other words, a sequence with multiple ignored (non-mandatory) messages might look like this: Peer A Peer B SCCRQ -> Nr: 0, Ns: 0 <- UNKNOWN1 Nr: 1, Ns: 0 ZLB -> Nr: 1, Ns: 1 <- SCCRP Nr: 1, Ns: 1 UNKNOWN2 -> Nr: 2, Ns: 1 SCCN -> Nr: 2, Ns: 2 <- ZLB Nr: 3, Ns: 2 > Questions: > --------- > - If the implementation receives and ignores (without ZLB Acknowledgement) an > unknown non-mandatory (M=0) control message, what should happen with the Nr > counters in the implementation according to the RFC2661? This should not happen. I argue that failing to send a proper ZLB when the transmission queue is empty is an error, and a system that does this is faulty. > - Should the local Nr counter be incremented in the implementation or not? Nr reflects the number of in-order messages received, regardless of whether or not those messages were understood. So, yes. > - Should the peer's (sender's) Ns counter be incremented after several > unacknowledged retransmissions of that control message or not? No, the Ns number is not incremented for retransmissions. See B.2 in the spec. The sender should, in my estimation, retry multiple times and then terminate the connection. Once the sender has determined that the recipient is broken, there's no need to send it any more packets. -- James Carlson 42.703N 71.076W <carlsonj@workingcode.com>
- [Pppext] Technical Request about a correct protoc… Jewgenij.Bytschkow
- Re: [Pppext] Technical Request about a correct pr… James Carlson