[Sidrops] Re: WG Last Call for draft-ietf-sidrops-publication-server-bcp
Tim Bruijnzeels <tbruijnzeels@ripe.net> Wed, 28 May 2025 08:26 UTC
Return-Path: <tbruijnzeels@ripe.net>
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 DB28E2DB8B90 for <sidrops@mail2.ietf.org>; Wed, 28 May 2025 01:26:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=ripe.net
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 1Ztxk-9-0i2m for <sidrops@mail2.ietf.org>; Wed, 28 May 2025 01:26:10 -0700 (PDT)
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) (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 CE1B42DB8B8B for <sidrops@ietf.org>; Wed, 28 May 2025 01:26:10 -0700 (PDT)
Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-6020ff8d54bso6826110a12.2 for <sidrops@ietf.org>; Wed, 28 May 2025 01:26:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ripe.net; s=google1; t=1748420770; x=1749025570; darn=ietf.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=HU5mFL1WSjWgKXQsV0+IfLkHiwxW6qUFUq5wwPnwFvI=; b=B3pGxwSznc96v5ePG2aDLtxZiF98CPDBgR6KfD1WZgBHHpIWN9xHnWnY1MbOczaHc8 p7D2HrQdBHWoAu/fbRqSOuLtkiX5u8GMxEuqvzq9DQniDIy1HiCaqdRx9pTIsq+a7M/x flAfOcgY9EG9qyRer+IaoaqaRPPcGAk9w6S2vw74FT+sh5vaW0ke/TEaci90lIlh/Wc6 QmLME7+lnyRjlU4uBHP7Bw2auj3Kicp3wdPNt5D4TTYbWigaZ9iYgOMLgDRYaLv2VzaD Lxd26tJUGoiZnoYLTCjbQgB2co6ZRJEXphDyLqizGmOuYTfqtBbthZy3JxDX4a6zMxuM H9Rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420770; x=1749025570; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HU5mFL1WSjWgKXQsV0+IfLkHiwxW6qUFUq5wwPnwFvI=; b=B5pfAhOBSMJJz6YTwbiIvsLydUuEvsgG2l9cr4rl7hke6SXbQiqj74IhMuKWR5zDmM H+OVlqJuzCBdtL8Tu/O9hR4gbnJeM/lYT0eFKD3tEgrrWtSZKcu4i2Sy1ZJKHlvfzTKk yhmH/8m/yUDvXi+SzXjSuX/+FlWwltnEZMvAtPh/8rt5OUiVtseh1L+eEc/W1pVJD0u3 Nv/SDK2fmeRIwlN3TKrLZ2refDQLwMT5R8xkrXCE8fA291lcEVWlfvJO2QTLa6YqlWks prXZESFaj01srONJWBlbl0s3iZ+vXq+bS7z3wNHGV0MF1ugNhsSFYYUYA+2XVacwNP6K NogA==
X-Gm-Message-State: AOJu0Yzn3Fb7ujpJzC9fHf8sQptAZMNq+UtGWUcNgcb60+eD4b2qrW5l Yek/QAffWfOWBWJtg0poGJ1MG/2rZbIZJe+3uLImMelxuIBXBoc6YTyKf6aOPka1jv/7Wyg+naz qIyNP
X-Gm-Gg: ASbGncvjUrPxOROPGoG+AamY55poSaqdIiQrSFtVOrr/UPP6uK+E21OH4ndO7KKr6WO HzVkw9K9pktYTE80uem9oCC4pSBSs9q/e3ZT+iIHoCNbrIUMTL3SdirrM8Yyxr7A3mKrUINJmh9 J6vWaKHtTvu4/N0f05K7nZdYtidx3R/T43HOHIIqvxphTHpyaKvE+dt+P4gsr1A6U50sl8uGeVV mjYaQZp2DYenKVTaTP6YZZuGTa96c9hzuX8/eTAEPUgvHArUD2ztD8mosoAp4i2hsLwYK8JQN47 rqCxZKYR4gKFrrQjuLItQnKdNI3yrr7HyK9Wu+ugqWRKyEq2haPQQdr7JY0GMvd5trFNX5vc
X-Google-Smtp-Source: AGHT+IF3yMtTIEOQn+v7QrInhCKk4y6Xaw6n0kYfC5ftfCGVCplt7KeElLJ22cETwfFTWAa/ttdrkg==
X-Received: by 2002:a17:907:7e93:b0:ad5:520a:8e02 with SMTP id a640c23a62f3a-ad85b1de69bmr1339004766b.39.1748420769481; Wed, 28 May 2025 01:26:09 -0700 (PDT)
Received: from smtpclient.apple ([109.37.225.150]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a1b47e8csm67014766b.135.2025.05.28.01.26.08 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 May 2025 01:26:09 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.600.51.1.1\))
From: Tim Bruijnzeels <tbruijnzeels@ripe.net>
In-Reply-To: <CAL9jLaYaPsN4LdY3JFDe1t6z1hH+KGSews9iOvGpqdZMODr85A@mail.gmail.com>
Date: Wed, 28 May 2025 10:25:58 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <F23C0707-5185-413E-8E41-7838E15D678B@ripe.net>
References: <74674002-1C2A-4F7F-90EF-423506421030@gigix.net> <aC2ly6SHgMpWYtxg@feather.sobornost.net> <CAL9jLaYaPsN4LdY3JFDe1t6z1hH+KGSews9iOvGpqdZMODr85A@mail.gmail.com>
To: Christopher Morrow <christopher.morrow@gmail.com>
X-Mailer: Apple Mail (2.3826.600.51.1.1)
Message-ID-Hash: GUMROACM2IWK6RLAHHRVXP22KUX2TC5Q
X-Message-ID-Hash: GUMROACM2IWK6RLAHHRVXP22KUX2TC5Q
X-MailFrom: tbruijnzeels@ripe.net
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/Tk343VMNSXh2o8qSDxaJDVMwQfg>
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>
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 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. 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
- [Sidrops] WG Last Call for draft-ietf-sidrops-pub… Luigi Iannone
- [Sidrops] Re: WG Last Call for draft-ietf-sidrops… Job Snijders
- [Sidrops] Re: WG Last Call for draft-ietf-sidrops… Christopher Morrow
- [Sidrops] Re: WG Last Call for draft-ietf-sidrops… Tim Bruijnzeels
- [Sidrops] Re: WG Last Call for draft-ietf-sidrops… Luigi Iannone
- [Sidrops] Re: WG Last Call for draft-ietf-sidrops… Christopher Morrow
- [Sidrops] Re: WG Last Call for draft-ietf-sidrops… Tim Bruijnzeels
- [Sidrops] Re: WG Last Call for draft-ietf-sidrops… Luigi Iannone