Brian,

Two comments:

1) In your first example, the use of the term "registration" indicates that we might have some confusion on the semantics of a ROA. We envision that certificates will be issued in conjunction with the registration of IP resources (e.g. The RIR issues a certicate to the LIR when the LIR obtains resources from the RIR). ROAs are not intended to reflect registration but are merely a statement by the holder of IP resources (i.e. the party to whom the resources are registered) that a particular AS is permitted to originate routes to particular IP prefixes. If this was not your understanding, then I'd like your help in finding places in the ROA document where wording can changed to make these semantics clear. (If this was your understanding, then I apologize for mis-understanding your example.)

In any case, I personally believe that the SIDR Resource PKI is an inefficient way for the RIRs to enforce policy upon the LIRs. So I'm personally not inclined to make changes in an attempt to make the R-PKI suitable for that purpose. With regards to your second example, if the LIR wants to prohibit a an end-user from announcing prefixes through another provider (hole punching), then I think the right answer is for the LIR NOT to issue a certificate to the end-user (this prevents the end-user from issuing ROAs that grant permissions to other providers) and instead to issue an appropriate ROA for the aggregate prefix (which persumably names the LIR's own AS number).

2) With regards to format, there was discussion in March in Philidelphia which led to the addition of the max-length field. At that time, the question was raised as to whether there should also be a min-length field and at the time there seemed to be no operator requirement for such a field. In particular, to justify a min-length field one would need a use-case where a registered holder of IP resources wishes to give an AS permission to advertise many long prefixes, but expressly forbid the AS from advertising the aggregate prefix. Such a use-case seems unlikely because in most cases advertising the aggregate prefix does no harm (and indeed will be ignored in the presence of advertisements for longer prefixes) although I could be missing something.

- Matt Lepinski

Brian Dickson wrote:

Geoff Huston wrote:
WG Chair hat _OFF_

On 07/10/2008, at 10:41 AM, Brian Dickson wrote:

Rather than having:

  IP_address / length le maxLength (length <= maxLength <=
address-family-max-length)

this would be

  IP_address / length ge minLength le maxLength (length <= minLength
<= maxLength <= address-family-max-length)

Its isomorphic in one sense isn't it? The described representation
lists the prefixes in the maximally permitted aggregate format and by
the optional MaxLength parameter which specifies the finest level of
more specifics that could be originated from this ROA. Your suggested
representation allows a  number of aggregatable prefixes to be
aggregated as a described prefix, as long as they share a common
minLength value.

_personally_ I'm unsure that this alternate representation would offer
any superior flexibility in the representation of ROAs.

I'm not sure if any or all of these kinds of use cases are appropriate,
but if any of them are, they may serve to demonstrate the compactness
achievable with this representation.

Examples:
RIR->LIR, RIR has certain specific policies it wishes to enforce
regarding LIR assignments to end-users -- anything bigger than /X
requires justification (i.e. approval) and registration (i.e. ROA).
Either RIR has to create a large swath of ROAs, each of size /X, or it
can create one ROA with minLength=X. (In this example, maxLength is
irrelevant and presumed identical.)
Exceptions are needed, of course, for /Y (Y < X), but each of these can
be done with separate ROAs.
Even as a worst case scenario, no *more* ROAs are needed than in the
original case.
In a best case scenario, many orders of magnitude quantity of ROAs need
never be created, and RIR's policies are enforced directly via ROAs.

LIR->PA customers, LIR wants to aggregate but also wants to ensure no
customers are able to punch holes in the PA space.
LIR restricts the minLength to something not globally routable (e.g. /25
in IPv4, /49 in IPv6).
This ties the customer to the LIR, by preventing PA blocks being
announced via third parties (hole punching).
One ROA can be assigned, whether the amount of space is small or large.
Internal aggregation by the PA customer is limited, of course, but that
is the intention of the LIR.

There may be other cases that I'm missing, but which others may see,
based on the above examples.
Things related to IPv6 nibble boundaries (for ip6.arpa reasons) but
where the current use is only a portion of the larger (reserved) block;
ROAs with differing minLength can be created as the customer grows,
providing a viable path with no "flag day" needed.

It is certainly no worse than the previous representation, as it is
strictly a superset.

The main question, IMHO, is, does it add sufficient value to justify
making the change?
(I think it's the only question, actually.)

Brian
_______________________________________________
sidr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/sidr



_______________________________________________
sidr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/sidr

Reply via email to