[Sidrops] Re: WG Last Call for draft-ietf-sidrops-publication-server-bcp

Christopher Morrow <christopher.morrow@gmail.com> Thu, 29 May 2025 19:14 UTC

Return-Path: <christopher.morrow@gmail.com>
X-Original-To: sidrops@mail2.ietf.org
Delivered-To: sidrops@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 8F46B2E73133 for <sidrops@mail2.ietf.org>; Thu, 29 May 2025 12:14:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zrt-YCoVT97v for <sidrops@mail2.ietf.org>; Thu, 29 May 2025 12:14:21 -0700 (PDT)
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id ABDF22E7312A for <sidrops@ietf.org>; Thu, 29 May 2025 12:14:21 -0700 (PDT)
Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2350b1b9129so6237975ad.0 for <sidrops@ietf.org>; Thu, 29 May 2025 12:14:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748546061; x=1749150861; darn=ietf.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=LvcHTuApi2ztQOmqX4LAyoAQaa8UzrRp+gSp1vKX6UY=; b=jzyTX1VkdAU+oz9uaw3oVRmiXJZ3kX7ihJEnJ4H9Q3PfK4SNzZHT+3YB+Q2mFK2pMO faM2wJne1tsQADkOU2pJj7ZEe0fQ5QF9hr6ocA7Aq67EQF420j8T5P8XpUuq5u3A90ns kSfUE4IfU4XKTPYzFcveB75QQFk1dbumZ2EDq/ozoe7Y5Y2veebdCwB5LcwhmfTr4bGW 78g9G2UYP9k2R7o2GiEZscf7KWcI0al8hns4VdLmnums+YtNmLMDdGZTk4quXqzn5PRu iWZcjSq+4AtmRukBm1T8UJWU+2jrc3eoJOk999zqxrSoe0ajxe8fLRwfTv9TmbAKfBki shBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748546061; x=1749150861; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LvcHTuApi2ztQOmqX4LAyoAQaa8UzrRp+gSp1vKX6UY=; b=kk4oGJ2Jw0reM7kN9T7OE+wv5zx/isAJNRe0DVS4aMopjQxiHb4adRmRZXa3WwDUf/ Er8bvU/e4hCvIuw9LQz7vRV1Vv5VKuRrgEYkEGjFZf8SXxXxL8JDiNsMOPhDRbo4/6YL RcX5lbnOCKqkLkmTn71ZSL543v5EIkJqyGHWih1Y1fVMBaNdAt8RJaZFxrYf87H6RXEa 23GUM2nX6K71L9FxdizxVq1rohzBhCi3je4LtbjOXKkQISAEoupKub1huuCU/rfwWRfG A/5NnMLTHCDAVu145fsjUyiZnQtjBBywnGSHhpxGD+DRp1b6iB7sQMV50Lp8BFsgtwlm JSZw==
X-Gm-Message-State: AOJu0YwYj4zZTjrGWLutqwF2ZJbrWvY+zKSRsgs8d2ms2wuLYeB7PAHQ UkdMNnwdms0O+vq5k/game1T2R51ioaB0xu8jRKK89/JH4r4YoE/qiZRel9M2yb0XnGEGhE4j5R APgdtIaGjhkn8d+DwZX51kuzPAs3q10ttiw==
X-Gm-Gg: ASbGncvISXTODbqZacPcseklQoTWt+GzVYqzpknxg5GNq4A1ojdiC+kHk2UQk1vAyQa 5zY/fLnjBKbul0RJqaHIya5c9JsHSN1IbjHX97g00ccHutaU9BufWpACxrh8WW1hpYWql5FCOVC NTIegf7KXAnrkTTunhz4gw3BA48y4uc2SM95r1MGZaPXijlKZQ1a1I4ca9rbAwOmU=
X-Google-Smtp-Source: AGHT+IEkixbhlyjwd1qF23hlQwrT1hws9YMMf2w/5X3Js3ISUJqNXP1awJSzxDEH3kyumL4c08/v3Huv2eaMeloTX+8=
X-Received: by 2002:a17:90b:384c:b0:311:b0ec:135f with SMTP id 98e67ed59e1d1-31241e86773mr966363a91.30.1748546060546; Thu, 29 May 2025 12:14:20 -0700 (PDT)
MIME-Version: 1.0
References: <74674002-1C2A-4F7F-90EF-423506421030@gigix.net> <aC2ly6SHgMpWYtxg@feather.sobornost.net> <CAL9jLaYaPsN4LdY3JFDe1t6z1hH+KGSews9iOvGpqdZMODr85A@mail.gmail.com> <F23C0707-5185-413E-8E41-7838E15D678B@ripe.net>
In-Reply-To: <F23C0707-5185-413E-8E41-7838E15D678B@ripe.net>
From: Christopher Morrow <christopher.morrow@gmail.com>
Date: Thu, 29 May 2025 15:14:09 -0400
X-Gm-Features: AX0GCFt8yBNgx8Bch8rhDvuD_d59FwtD3Oeo_BaO0Yn7Gxk40Fy3BvALrAbyMvc
Message-ID: <CAL9jLaZDOdEcgYD3r6qYFq1yZwfzqioQ0Omik_MQp1e6PLmuOQ@mail.gmail.com>
To: Tim Bruijnzeels <tbruijnzeels@ripe.net>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: XQKP62HPD3U7FDV7BHLDO2O4BBJLQBXM
X-Message-ID-Hash: XQKP62HPD3U7FDV7BHLDO2O4BBJLQBXM
X-MailFrom: christopher.morrow@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-sidrops.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: sidrops@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Sidrops] Re: WG Last Call for draft-ietf-sidrops-publication-server-bcp
List-Id: A list for the SIDR Operations WG <sidrops.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/YI7UGY33_59BdKmpjXE7UB4Aeuo>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidrops>
List-Help: <mailto:sidrops-request@ietf.org?subject=help>
List-Owner: <mailto:sidrops-owner@ietf.org>
List-Post: <mailto:sidrops@ietf.org>
List-Subscribe: <mailto:sidrops-join@ietf.org>
List-Unsubscribe: <mailto:sidrops-leave@ietf.org>

On Wed, May 28, 2025 at 4:26 AM Tim Bruijnzeels <tbruijnzeels@ripe.net> wrote:
>
> Hi Chris, all,
>
> Thank you for your comments! Late comments are better than no comments. This is at
> least partly why we asked for Last Call, becuase this tends to motivate people ;)
>
> In any case, a quick update:
>
> - We incorporated Job's comments and made him co-author (he contributed significant
>   text earlier in the doc lifecycle as well)
> - We incorporated minor improvements in wording by Mike Hollyman
>
> We currently have a PR for the next document revision here:
> https://github.com/timbru/draft-sidrops-publication-server-bcp/pull/33
>

oh neat! I'll go have a read there...

> Of course, that is just transparency. Feel free to comment here on the list. If you
> comment on github we will make sure that the list is informed.
>
> In any case, the current edit buffer does not yet include your comments Chris, but
> we plan to work on this over the coming days.
>
> My proposal to the chairs would be do a new last call on -03 when it's ready, and
> addresses Chris's comments.
>

sounds ok to me, thnx!

> Tim
>
>
>
>
> > On 23 May 2025, at 19:35, Christopher Morrow <christopher.morrow@gmail.com> wrote:
> >
> > owdy sidorops and authors of the subject document... I probably should
> > have made 1-2 of these next comments sooner :(
> > (incidentally I think the document will be useful!)
> >
> > I can also attempt to make a  github PR similar to job's once done
> > typing here.. I think there should be a bit more information /
> > guidance
> > provided to the operators of Publication Services around availability,
> > I think there are scenarios today where publication servers:
> >   * live behind a single ISP
> >       - limited redundancy/reslience to routing anomalies in that
> > provider (or their peers)
> >   * are deployed in a single geographical region (same town)
> >      - same power grid
> >      - same natural-disaster zone
> >   * live behind smaller than expected links
> >      - what is expected? 1 Gbps? 10Gbps?
> >      - link size vs utilization?
> >      - capacity planning concerns exist here - "Can service N
> > concurrent request streams?"
> >   * are a single entity
> >      - pub service is a single computer/server
> >      - inability to scale efficiently as demand rises
> >      - in ability to split services across domains (geographical /
> > network / power / etc)
> >      - prone to hardware enforced outages
> >
> > I think the idea that the RPKI system of publication services can be a
> > loose group of things sprinkled across the internet without a ton
> > of care about resilience of the system, because overall the relying
> > parties can always call back later if a particular Publication Service
> > is not currently available, has helped growth, experience, and
> > experimentation in the system. I don't think the system works well
> > long
> > term ini this model, because more users and more tight coupling to the
> > business of packet forwarding will require closer observation
> > of the RPKI system's artifacts. I think this will drive more thought
> > and effort into resiliency and redundancy, this document seems like
> > a good place to start that conversation. Some has been done in
> > RFC6481[0] for sure, but a slightly more structured and comprehensive
> > discussion would help Publication Service operators align with network
> > operations on requirements/expectations.
> >
> > If we look at the guidance in RFC6481 section 3 there is one pointer to:
> > " *  The publication repository SHOULD be hosted on a highly
> >         available service and high-capacity publication platform."
> >
> > This is a nice start, but does not provide guidance and reasoning for
> > that guidance, really.
> > I think being a bit more explicit about what that means and why it's
> > necessary would be good.
> > I think it's reasonable to build a simple model and drive the advice
> > from that, something like:
> >
> > * 20k ASN participating in the RPKI system
> > * An hourly update cadence for Relying Parties
> > * Average repository size of 1MBytes
> >
> > Missing repository information because of outages between the relying
> > party and the publication service MAY not be critical
> > immediately, but will lead to delays in the system and possibly
> > imapcts on the relying parties as they force age out content
> > and suffer delays in their workload collecting from the globally
> > distributed system. One view is that the delays are expected
> > because this is the internet and over time such outages will occur, so
> > we should be resilient in the total system to this, I think
> > this is the prevailing sentiment today... Some study about lengthy
> > outages and impact to the RPKI  and routing systems would
> > be super informative, I bet.
> >
> > Using wikipedia's 'how much outage is too much' page[1]  and the below
> > information might be handy in deciding how much
> > time can elapse between a Publication Service going offline for a
> > percentage of the Internet and when flags should go up.
> > As a starting stake in the ground I'd suggest 99.9 uptime seems like a
> > great start?
> >
> > When it comes to discussing capabilities and expectations about the
> > Publication Service itself, It would be expected for a
> > Publication Service to be able to service:
> >  * 20000/3600 == 6 full request sets per second
> >     - every ASN has 1 RP talking to every Publication Service every hour
> >     - of course this will probably be at least 2x larger, so round to
> > 10x for growth and ease of math
> >     - assume spherical cow request/repository can accomplish all
> > tasks in 1 connection (and in that 1 second)
> >     - 60 requests * 1MB each second
> >     - produces about 500 mbps sustained traffic for this request rate
> >  * It's possible that RFC9286[2] expectations on nextUpdate existing
> > may cause the relying party clients behave
> >    differently, but that remains to be seen.
> >
> > I think the above would guide a discussion on the point raised in
> > RFC6481, I think adding to that some discussion
> > about resilience and redundancy (which RFC6481 attempts to talk about
> > a bit in Section 2.1 and point 5 of section 3)
> > and how that could improve the ability of the Publication Service to
> > be available would be helpful. I expect that guidance such
> > as:
> >  * maintain at least 2 transit paths to the wider Internet for each deployment
> >    - plan for outages on the local and immediate provider network systems
> >    - plan for outages to your networking systems as maintenance
> > requirements arise
> >  * plan more than one Publication Service deployment, in more than
> > one geographically distinct region(s)
> >    - remove local power/natural-disaster scenarios as much as
> > possible from outage causes
> >    - provide for disaster recovery  capabilities
> >  * move the Publication Service closer to the core of the network if possible
> >    - shorten the connections between relying parties and the service
> >
> > Along with the last set of points would be some guidance about how to
> > (again RFC6481 points a bit at this in section 3) to
> > provide a coherent view of the Publication Service data across
> > multiple relying party accessible endpoints. This should not
> > be hard to accomplish, but certainly some thought and guidance would
> > be handy to help folks move toward that world.
> >
> > I think a review of historic outages to Publication Services would
> > also show where each of the above points would have
> > proven useful to the wider community of relying parties and
> > Publication Services.
> >
> > Sorry, this set of comment(s) got longer than I expected :(
> >
> > -chris
> >
> > 0: https://www.rfc-editor.org/rfc/rfc6481.html#page-8 - 'Resource
> > Certificate Publication Repository Considerations'
> > 1: https://en.wikipedia.org/wiki/High_availability - How much downtime
> > to tolerate?
> > 2: https://www.rfc-editor.org/rfc/rfc9286.html#name-manifest -
> > next-update definition in Manifest
> >
> > On Wed, May 21, 2025 at 6:07 AM Job Snijders <job@sobornost.net> wrote:
> >>
> >> Dear all,
> >>
> >> I am _in favor_ of publishing this publication BCP (no pun intended ;-)
> >> but would like to see a few changes in order to help future RPKI
> >> operators.
> >>
> >> I've submitted the proposed changes through a github pull-request to
> >> save the author team a bit of time.
> >> https://github.com/timbru/draft-sidrops-publication-server-bcp/pull/31
> >>
> >> My comments so far:
> >>
> >> 1/ The Glossary can perhaps be expanded a bit: at the moment it makes
> >> mention of some entities but not all entities that play a role. Maybe
> >> add "Publication Point Operator" and "Relying Party", because
> >> "Publisher" already is there?
> >>
> >> 2/ As for the word "repository"... we are approaching the point where
> >> everything is called a repository. I suggest replacing the phrase "RRDP
> >> Repository" with "RRDP Server" and "Rsync Repository" with "Rsync
> >> Server".
> >>
> >> It is the RRDP _server_ and Rsync _server_ host one or more
> >> 'caRepository'.  Calling the RRDP server endpoint a repository (of
> >> repositories...) may increase confusion.
> >>
> >> 3/ Add to glossary: "rsyncd - Rsync daemon"
> >>
> >> 4/ "Because RPs use cached data" ... this is not a given, not all
> >> RP implementations have implemented the concept of a 'validated cache'
> >> (yet).
> >>
> >> I suggested different wording:
> >>
> >>        RPs are expected to make use of cached data from a previous,
> >>        successful fetch (Section 6 of @!RFC9286). Therefor, short
> >>        outages on the server side don't need to be cause for immediate
> >>        concern, provided the server operator restores access
> >>        availability in a timely fashion (e.g. before objects expire).
> >>
> >> 5/ Section 4.1 sorta buried the lede. I'd like it if the first sentence
> >> can strongly suggest to NOT RUN YOUR OWN. Add a sentence "In general, it
> >> is NOT RECOMMENDED to run your own Publication Server, but to make use
> >> of a publication server provided by the Issuer". Or, s/Issuer/RIR/.
> >> This is a BCP document after all, no need to beat around the bush.
> >>
> >> 6/ "... RPs rejecting CA publication points" I don't think RPs reject
> >> the publication point, RPs simply stop considering connecting to a
> >> publication point because the referal became invalid. Perhaps the
> >> paragraph can be reworded.
> >>
> >>        """
> >>        If the Publication Server is unavailable for some reason, this
> >>        will prevent Publishers from making updated RPKI objects
> >>        available. The most immediate impact of this is that the
> >>        publisher cannot distribute new issuances or revocations of
> >>        ROAs, ASPAs or BGPSec Router Certificates for the duration of
> >>        this outage. Thus, in effect, it cannot signal changes in its
> >>        routing operations. If the outage persists for an extended
> >>        period, then RPKI Manifests, CRLs, and Signed Objects might
> >>        became stale, hampering, for example, BGP Origin Validation
> >>        ([@!RFC6811].
> >>        """
> >> 7/ "content regression has occured due to data loss" maybe just needs to
> >> be "content regression has occured"
> >>
> >> 8/ Section 4.4 "The ROAs may not reflect what the publisher intended."
> >>   perhaps reword to:
> >>   "The published ROAs no longer reflect the CA's intentions." ?
> >>
> >> 9/ The paragraph with "The publisher may not renew their manifest or CRL
> >>   in time" contains a duplication (expiry == stale). Suggestion:
> >>   """
> >>   - The CA might not re-issue their Manifest or CRL in time, because
> >>     they operated under the assumption that the currently published
> >>     Manifest and CRL have not yet became stale.
> >>   """
> >>
> >> 10/ Some commas are missing here: "In addition to this the publishing CA
> >> MAY perform ..." I've submitted suggested rewording through a pull
> >> request.
> >>
> >> 11/ ref update is needed, [I-D.ietf-sidrops-rrdp-same-origin]
> >>
> >> 12/ "publishing in a repository" -> "publishing through a server" ?
> >>
> >> ---------
> >>
> >> I'll review the second half of the document soon!
> >>
> >> Thank you for your work on this document.
> >>
> >> Kind regards,
> >>
> >> Job
> >>
> >>
> >> On Wed, May 21, 2025 at 10:01:14AM +0200, Luigi Iannone wrote:
> >>> Hi All,
> >>>
> >>> the authors of draft-ietf-sidrops-publication-server-bcp requested WG Last Call as they consider that the document is ready to be published.
> >>>
> >>> Abstract:
> >>>  This document describes best current practices for operating an RFC
> >>>   8181 RPKI Publication Server and its rsync (RFC 5781) and RRDP (RFC
> >>>   8182) public repositories.
> >>>
> >>> Details can be found at: https://datatracker.ietf.org/doc/draft-ietf-sidrops-publication-server-bcp/
> >>>
> >>> This email formally opens the two weeks WG Last Call, to be ended June 4, 2025.
> >>>
> >>> Please review this WG document and let the WG know if you agree that it is ready to be handed over to the AD.
> >>>
> >>> If you have objections, please state your reasons why, and explain what it would take to address your concerns.
> >>>
> >>> Thanks in adavance for your feedback.
> >>>
> >>> Luigi & Russ
> >>
> >>> _______________________________________________
> >>> Sidrops mailing list -- sidrops@ietf.org
> >>> To unsubscribe send an email to sidrops-leave@ietf.org
> >>
> >> _______________________________________________
> >> Sidrops mailing list -- sidrops@ietf.org
> >> To unsubscribe send an email to sidrops-leave@ietf.org
> >
> > _______________________________________________
> > Sidrops mailing list -- sidrops@ietf.org
> > To unsubscribe send an email to sidrops-leave@ietf.org
>