Re: [babel] Mirja Kühlewind's Discuss on draft-ietf-babel-rfc6126bis-12: (with DISCUSS and COMMENT)

"STARK, BARBARA H" <bs7652@att.com> Mon, 06 January 2020 21:54 UTC

Return-Path: <bs7652@att.com>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3651F12007A; Mon, 6 Jan 2020 13:54:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 LVV60eVIGOyz; Mon, 6 Jan 2020 13:54:30 -0800 (PST)
Received: from mx0a-00191d01.pphosted.com (mx0a-00191d01.pphosted.com [67.231.149.140]) (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 47B1E120033; Mon, 6 Jan 2020 13:54:30 -0800 (PST)
Received: from pps.filterd (m0049287.ppops.net [127.0.0.1]) by m0049287.ppops.net-00191d01. (8.16.0.42/8.16.0.42) with SMTP id 006LjHl6032420; Mon, 6 Jan 2020 16:54:29 -0500
Received: from alpi154.enaf.aldc.att.com (sbcsmtp6.sbc.com [144.160.229.23]) by m0049287.ppops.net-00191d01. with ESMTP id 2xccbj9745-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Jan 2020 16:54:28 -0500
Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi154.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id 006LsRAF032019; Mon, 6 Jan 2020 16:54:27 -0500
Received: from zlp30484.vci.att.com (zlp30484.vci.att.com [135.47.91.179]) by alpi154.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id 006LsMOY031912 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 6 Jan 2020 16:54:22 -0500
Received: from zlp30484.vci.att.com (zlp30484.vci.att.com [127.0.0.1]) by zlp30484.vci.att.com (Service) with ESMTP id 20F0C4009E61; Mon, 6 Jan 2020 21:54:22 +0000 (GMT)
Received: from GAALPA1MSGHUBAB.ITServices.sbc.com (unknown [130.8.218.151]) by zlp30484.vci.att.com (Service) with ESMTPS id F3ECD40006FD; Mon, 6 Jan 2020 21:54:21 +0000 (GMT)
Received: from GAALPA1MSGUSRBF.ITServices.sbc.com ([169.254.5.43]) by GAALPA1MSGHUBAB.ITServices.sbc.com ([130.8.218.151]) with mapi id 14.03.0468.000; Mon, 6 Jan 2020 16:54:21 -0500
From: "STARK, BARBARA H" <bs7652@att.com>
To: 'Mirja Kuehlewind' <ietf@kuehlewind.net>
CC: 'Juliusz Chroboczek' <jch@irif.fr>, "'draft-ietf-babel-rfc6126bis@ietf.org'" <draft-ietf-babel-rfc6126bis@ietf.org>, 'Babel at IETF' <babel@ietf.org>, 'Alvaro Retana' <aretana.ietf@gmail.com>, 'The IESG' <iesg@ietf.org>, 'Martin Vigoureux' <martin.vigoureux@nokia.com>
Thread-Topic: [babel] Mirja Kühlewind's Discuss on draft-ietf-babel-rfc6126bis-12: (with DISCUSS and COMMENT)
Thread-Index: AQHVTt06AK6dfyPlI0OMGh0boC4LDab7CkOAgAAcDoCADGkOgIBZvQyAgEsuF4CACGjKPYABOL2AgAmMUoCAAAhngIAAHtAAgB8cSgD//75AEIAAcjQA///5tZA=
Date: Mon, 06 Jan 2020 21:54:20 +0000
Message-ID: <2D09D61DDFA73D4C884805CC7865E6115372AF7D@GAALPA1MSGUSRBF.ITServices.sbc.com>
References: <156517737995.8257.5538554979559246700.idtracker@ietfa.amsl.com> <877e7m8b88.wl-jch@irif.fr> <1A2B2C1B-1536-4E75-A8D7-C5612FB8AEDA@kuehlewind.net> <87imqzu1vc.wl-jch@irif.fr> <0C555879-5AF3-487F-A65D-95918A546783@kuehlewind.net> <87imomknn0.wl-jch@irif.fr> <B3A7583A-B4DE-4CE5-A74D-0D4C22FABD83@kuehlewind.net> <160C625D-866B-40D3-8549-7E714F8F8E9B@kuehlewind.net> <CAPDSy+6c_WxJ+KoT5uJZG=xCMomDgOukLXHdseQ10yL_+MGyiA@mail.gmail.com> <89C41AAF-B019-4872-9AED-278D6FE7EE0E@kuehlewind.net> <87lfra9a2s.wl-jch@irif.fr> <35766A70-6E3D-4216-B559-811F6B3FB46F@kuehlewind.net> <87r212n59b.wl-jch@irif.fr> <63DE7522-7FFF-49F4-9126-A2C4B66596B4@kuehlewind.net> <2D09D61DDFA73D4C884805CC7865E6115372A0DD@GAALPA1MSGUSRBF.ITServices.sbc.com> <FDF8068F-3A71-4FE9-A24F-A2C39B94119B@kuehlewind.net>
In-Reply-To: <FDF8068F-3A71-4FE9-A24F-A2C39B94119B@kuehlewind.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [130.10.105.209]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572 definitions=2020-01-06_07:2020-01-06,2020-01-06 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 adultscore=0 priorityscore=1501 phishscore=0 lowpriorityscore=0 mlxlogscore=999 impostorscore=0 bulkscore=0 mlxscore=0 clxscore=1015 spamscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-1910280000 definitions=main-2001060182
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/jFibHoiYLjlSFn8Upy47qxLpPC8>
Subject: Re: [babel] Mirja Kühlewind's Discuss on draft-ietf-babel-rfc6126bis-12: (with DISCUSS and COMMENT)
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Jan 2020 21:54:33 -0000

Hi Mirja,
Thanks for that. OK, so you don't need them to be configurable or mandatory (which means the WG consensus that they not be configurable is acceptable) and you would be satisfied with "SHOULD". Normative language terminology (RFC 2119) allows for use of "RECOMMENDED" to mean the same as "SHOULD", and "Appendix B: Protocol parameters" currently says (in 2 places) "The following values are recommended ..." 
If this were changed to " The following values are RECOMMENDED ...", would that satisfy your comment?

Juliusz, would that be acceptable to you?
Barbara

> Hi Barbara,
> 
> To me the question of configuration is actually orthogonal.
> 
> I think this sentence you write is the core of the misunderstanding we might
> have:
> > Identifying a single mandatory default would make it difficult for an
> > implementation to handle specific environmental factors.
> 
> The whole point of the word “default” here is that of course you can use
> another value (because otherwise it would not be a parameter but a
> constant). What I’m talking about is the point of time when the code is
> written and I as an implementator have to decide which value to set (for my
> implementation). Having a normatively defined default value doesn’t mean
> that all implementation have to use this value, but if I write the code at a
> point of time where I might not be aware of specific requirements, the
> default values should give me some reasonable idea about something that
> will work “well” in “most” scenarios (which it seems to be case that this set
> actually exists for babel as people tell me that all deployed implementation
> currently use the same value). I’d say it’s common practice these kind of
> default values are specified normatively (with MUSTs or SHOULDs) as part of
> the protocol spec as it gives simply implementor (that don’t know any better)
> a high incentive to use these values (more than some examples values in the
> appendix).
> 
> I guess for a default value it’s doesn’t make a real difference to have a MUST
> or SHOULD because it’s only the default which always implies that you may
> use another value if you know better. However, thinking about
> configuration, I think a MUST default value probably makes more sense
> when then value is configurable because then there is another way to
> change it and a MUST might avoid surprises if used unchanged. If the value is
> not configurable maybe SHOULD makes more sense… again in practice there
> is no difference; none of these mean that another value cannot be used but
> only provide guidance about a safe default.
> 
> Further you could also specify normative min and max values to give an
> implementor or a user (that can configure these values) a better idea about
> which range of values are safe to deploy. The values would be MUST
> requirements if there is a known boundary that will cause the protocol to not
> work anymore (as expected) or could also be SHOULDs just to give a better
> idea of common or reasonable values (maybe together with a discussion
> about bad thinks that can happen if a larger or smaller value is chosen).
> 
> Mirja
> 
> 
> 
> > On 6. Jan 2020, at 16:52, STARK, BARBARA H <bs7652@att.com> wrote:
> >
> >> From: Mirja Kuehlewind
> >>
> >> Hi Juliusz,
> >>
> >> I didn’t talk about pacing in that mail but only about defining
> >> default values for the interval parameters you already have defined in the
> draft.
> >>
> >> If all deployed scenarios use the first set of values and these value
> >> are well applicable for all different scenarios that are defined in
> >> the use case doc, such as “small unmanaged network" as well as in a
> >> "large overlay network”, why don’t you just specify these values as
> >> normatively default value in the spec?
> >>
> >> Mirja
> >
> > Hi Mirja,
> > I've been staying out of this discussion, because I wasn't even close to
> understanding what the requested change was. But this email is providing
> me with more (but still incomplete) clarity.
> > As an author of draft-ietf-babel-information-model, I need to ask more
> detailed questions, because this requested change can impact that draft (and
> the associated YANG data model). Whenever a protocol spec defines a
> "parameter" with a "default", it's important for an information/data model to
> allow for configuration of that parameter (and indicate any default values).
> >
> > In the information model, we currently have the following defined intervals
> (currently being sent by the implementation):
> > - multicast Hello interval (defined per interface)
> > - update interval (defined per interface, used for multicast and
> > unicast)
> > - unicast Hello interval (defined per neighbor)
> >
> > Are you referring to any or all of these intervals? Are there other intervals
> you're concerned about? For example, are you referring to implementation-
> specific values used to derive these intervals?
> > These are the intervals the WG considered most important for deployers to
> have potential knowledge of. However, the WG also determined that
> allowing for configuration of these intervals wasn't needed and wasn't even
> a good idea. So they're read-only. Implementations are expected to
> algorithmically determine appropriate values for these intervals.
> >
> > The rfc6126bis draft expounds on some of the reasoning for this with
> > statements like " For example, a mobile node
> >   that is low on battery may choose to use larger time constants (hello
> >   and update intervals, etc.) than a node that has access to wall
> >   power.  Conversely, a node that detects high levels of mobility may
> >   choose to use smaller time constants.  The ability to build such
> >   heterogeneous networks makes Babel particularly adapted to the
> >   unmanaged and wireless environment."
> >
> > This suggests an implementation may have different defaults built in or
> algorithmically calculated, based not only on link characteristics, but also
> power supply (and potentially other factors). Identifying a single mandatory
> default would make it difficult for an implementation to handle specific
> environmental factors. Identifying multiple mandatory defaults based on
> permutations of environmental factors would be very complex, and might
> omit some important environmental factors (or permutations of factors) that
> an implementor decides to build into a particular implementation.
> >
> > IMO, the WG made the right decision not to allow configuration of these
> intervals (or try to identify parameters to influence calculation of these
> interval values). So I have to agree with Juliusz that (if these are the intervals
> you're talking about) the spec shouldn't identify any default values for them.
> >
> > If I'm misunderstanding the request, please let me know; because I still
> think it will impact the info/data models.
> > Thx,
> > Barbara
> >
> >>
> >>
> >>
> >>> On 17. Dec 2019, at 20:04, Juliusz Chroboczek <jch@irif.fr> wrote:
> >>>
> >>>>> If that is the case, then I request that you state explicitly why
> >>>>> you think that Babel must be held to a much higher standard than
> >>>>> OSPFv3.  If that is not the case, then please clear your discuss.
> >>>
> >>>> In OSPFv3 as far as I can see (and I am really not an expert here)
> >>>> all values that define intervals are in seconds which leads to a
> >>>> minimum value of 1 seconds. This is not the case for babel and
> >>>> therefore we need to be more carful here.
> >>>
> >>> After a change of topology, OSPF executes the procedure described in
> >>> Section 4.5.2 of RFC 5340 (Section 13.3 of RFC 2328).  At this
> >>> point, a potentially unbounded number of LSAs are flooded out every
> >>> active interface (point 5 in Section 13.3 of RFC 2328).  This
> >>> flooding is not regulated by any timer -- all that the protocol says
> >>> is that the LSAs must go out through a certain subset of the router's
> interfaces.
> >>>
> >>> I could be wrong, but I am fairly confident that nothing in RFCs
> >>> 5340 and
> >>> 2328 specifies congestion control, flow control or packet pacing for
> >>> this flooding procedure.  My interpretation is that since OSPF is
> >>> designed to be deployed on local links, congestion caused by OSPF is
> >>> not likely to endanger the Global Internet, and therefore packet
> >>> pacing (if required) is left to the implementation.
> >>>
> >>> I also don't recall any discussion of flow control in Moy's and
> >>> Gredler's books, but they have a lot of pages (especially
> >>> Gredler's), so, again, I could be wrong.
> >>>
> >>> Where you are right, Mirja, is that packet pacing is a very
> >>> difficult problem in OSPF, where incorrectly delaying flooding could
> >>> lead to microloops; since Babel has a loop-avoidance mechanism
> >>> built-in, it can safely perform packet pacing should the need to do
> >>> so be demonstrated in a particular topology.
> >>>
> >>> In summary, while I agree that packet pacing for Babel would be an
> >>> interesting research project, I maintain that by requiring packet
> >>> pacing as a condition for publication as PS, you are requiring an
> >>> unreasonably high standard, certainly a standard that neither OSPF
> >>> nor IS-
> >> IS are held to.
> >>>
> >>>>> Appendix B gives values that are suggested for implementations.
> >>>
> >>>> Yes but it doesn’t discuss for with _deployment_ scenarios these
> >>>> values are suitable.
> >>>
> >>> As far as I am aware, all current production deployments use the
> >>> first set of constants.  The one exception is an experimental
> >>> testbed used for mobility research, that uses the (more aggressive)
> >>> second set of
> >> constants.
> >>>
> >>>> Did you deploy the same parameters in all of the discussed scenarios.
> >>>
> >>> Yes.
> >>>
> >>>> Does it actually makes sense to use the same parameters in a "small
> >>>> unmanaged network" as well as in a "large overlay network"?
> >>>
> >>> Yes.
> >>>
> >>>> Is that network connected to the Internet or not?
> >>>
> >>> Yes, but that's irrelevant -- the Babel traffic is link-local, and
> >>> does not go outside the local routing domain.
> >>>
> >>> -- Juliusz
> >>>
> >>
> >> _______________________________________________
> >> babel mailing list
> >> babel@ietf.org
> >> https://urldefense.proofpoint.com/v2/url?u=https-
> >> 3A__www.ietf.org_mailman_listinfo_babel&d=DwIGaQ&c=LFYZ-
> >> o9_HUMeMTSQicvjIg&r=LoGzhC-8sc8SY8Tq4vrfog&m=lAFvsU0_OPDy-
> >> ZlHIv5uBPdk4vfANIDrA952AjkA108&s=QurFvW6x5-
> >> cd6JNZ65cpchYuXzKb2bfPfMXOfIeCT5g&e=