Hi,
As some of you might know I have also done some thinking on analysing the
problems with the current infrastructure, and also have some ideas about
improvements and talked about this at the Vancouver interim. It's way too much
for inline email, so I also took the liberty of writing my ideas down in an
IETF format, that hopefully helps to discuss this in a more structured way:
http://www.ietf.org/internet-drafts/draft-tbruijnzeels-sidr-delta-protocol-00.txt
This too is of course a first draft and intended for discussion..
On Nov 20, 2012, at 9:18 AM, Russ Housley <[email protected]> wrote:
> At the meeting in Atlanta, we heard some very impressive performance numbers
> for the restructured RIPE repository with rsync.
Although the performance has improved dramatically for some RPs now that the
structure is hierarchical, I don't think today's performance is a good
indicator for the future.
We now see:
- Around 50-60 unique IP addresses for RPs connecting every day
- One of these (gw1.antd.nist.gov) is responsible for roughly 9k connections
per day
- Ignoring that one for now the remaining are responsible for around 1.8k
connections per day:
=> about 36 fetches / day for each client, or once every 40 minutes
We have around 4.5k objects in our repository.
In a full deployment scenario we can expect many more relying parties, one for
each ASN seems likely, so that is 40k clients. And while we don't agree yet
what the size of the total repository would be, indications are it's in the
order of 1-2M at least, so roughly 1/5th of that places our repository at
200-400k. There are also indications that more frequent updates are actually
desirable. Say once every 5 minutes vs 40..
In short that's 10^3 times the clients, 10^2 times the objects, and 10 times
the connection frequency.
With those numbers it's very hard to predict exactly what behaviour we will
see, it's very likely non-linear, but if it were, we're talking 10^6 times
today's load.
> While your code is not feature complete, do you have any expectations of
> similar performance?
When measured 1:1 rsync performance is actually pretty good.
As described in my document: One of the major problems I see is that in this
space we're not talking 1:1, but something like 1 server : 40k clients.
> On Nov 19, 2012, at 11:02 PM, Bryan Weber wrote:
>
>> SIDR working group,
>>
>> I humbly submit a proposal for your consideration. It is for an rsync
>> replacement that for now I am calling the 'RPKI Repository Distribution
>> Protocol (RRDP)'. It is intended to replace the use of rsync by the RPKI
>> validators or at least re-open some previous discussion on possible
>> replacements.
>>
>> The primary benefit is that RRDP is a combination of a very limited
>> Distributed Version Control System (DVCS) with a transport agnostic
>> communication protocol. This means that repository changes can be
>> snapshotted and retrieved as an atomic change. This solves the problem of in
>> progress transfers when a new repository generation is kicked off. It also
>> means that different protocols (HTTP/SSL/TLS/etc.) can be used for the
>> actual transport. Finally, it can work with the existing rsync URIs and it
>> can work alongside rsync at the same time. Should the protocol be considered
>> for real adoption this should help to ease in gradual adoption.
>>
I like the idea of the snapshotted atomic changes. But I have problems with a
communication protocol where the server needs to chat with up to 40k RPs. The
CPU and memory usage stats per client may not be the same as with rsync (see
slides interim), but the same fundamental problem remains: you're proposing a
smart server that has to spend cycles talking to too many clients.
As described in my proposal I prefer a protocol that lets RPs work out which
changes to fetch by themselves, and although I too do not want to restrict to
one protocol, I want something that can leverage existing proven http CDN
infrastructure to deliver data to clients.
>> A brief paper that describes the protocol can be found at
>> http://www.cobenian.com/documentation/rrdp.pdf. This is very much a first
>> draft, but I would appreciate any feedback/comments you have and any
>> interest you might have in trying to use this protocol with a real
>> validator. I am all ears to suggestions for improvements. I would especially
>> love to make it more aware of the contents of RPKI manifests.
>>
First of all I want to thank you for thinking about solutions, even if our
ideas may differ somewhat.
I had drafts of my proposal on my machine for a while, presented parts of it in
Vancouver, and have discussed with various people, but I did not send it to
sidr yet. Now that you sent your version, I felt like sharing mine though ;)
>> The beginning of a reference implementation can be found at
>> http://www.github.com/cobenian/rrdp. This is not feature complete and
>> certainly not compliant with the specification at the moment, but it should
>> be in the very near future (a few days to a few weeks).
Tim
_______________________________________________
sidr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/sidr