Communities in RIPE-81++
Dale S. Johnson
Wed Sep 14 19:23:28 CEST 1994
Marten, Tony, Thanks for the pointers to "Authorization and Notification of Changes..." and "RIPE Database Transition Plan". The transition plan is nicely detailed, and I really like the authorization options you've built in. I'll follow up with more minor comments about the texts, but I've got one big confusion about what is happening with the Communities (especially the "guarded attribute" processing for Communities). Here's my best reading so far: - Community objects continue to exist, and have the benefit of the new Maintainer support (including authorization checking) - Community files continue to exist in nearly their current format. The entries in the Community file need to be changed to refer to the prefix/length notation of Routes rather than the dotted quad IPs of Inetnums, and need to be converted to refer to what is actually registered as Routes (e.g. to reflect the level of aggregation registered by the Route objects). - The process will still exist where all the Community designations in the Inetnum or Route objects are deleted each night, and are replaced by new Community designations generated from the contents of the Community guardian files. Users can still submit new Inetnum/Route objects specifying Communities that they do not actually belong to; these are corrected only during nightly processing (though the new text specifies that a message will be sent immediately to the Community maintainer). Have I got this right? If so, I have the following comments about the text in the papers: > [Transition] 3.1 Guarded Attributes: > > As explained in [4], the current procedure for guarded attributes > is that guardians maintain files on the NCC database machine, from > which guarded attributes are added to objects to ["in"?] the database. > Although this has worked reasonably well for over a year, it can > be solved with a more general authentication and notification scheme. > This scheme is explained in [2]. ... Would it be more accurate to replace "it can be solved" with "the authentication portion of guarded attribute handling can be solved..."? As is, the text sounds like you're throwing out the whole idea of guardian files. > The introduction of the "route" objects in the RIPE database (see > below) removes the necessity of guarded attributes in their current > form. The primary reason for having guarded attributes (authenticity > guarantees becaue of their operational impact) can be solved by the > general authentication scheme. It seems to me this is true for the "Origin"/"Aut-Sys" guarded attributes, since they can now be contained in a Route object that is entirely owned (at least usually) by the same group that owns the AS. But it is not true at all for Communities. Communities still need to be owned by separate maintainers, and the Community designations spread over all of the Route objects need to be controlled by people other than the owners of the Route objects. This is not affected by the new general authentication scheme. > [Transition] 5.1.3 After B2 > > Change > Guardian file mechanism is no longer needed and disabled Huh? "...is disabled for Inetnum Aut-Sys attribute" ? > [Authorization] Special Rules in the Routing Registry > > ... However in order to support the necesary routing coordination, special > rules apply to the Route object: Whenever a Route object is created or > deleted or the Comm-list attribute changes, the guardians of all > communities and ASes referenced by the old and new objects will be > notified in addition to the normal notifications. This rule ensures > that community maintainers have retroactive control over community > membership and that ASes get notified if someone else adds a route > originated by them. This "retroactive control" consists of: 1) RIPE software will automatically delete unauthorized COMM designations overnight. 2) They could call the person and who added themselves to the COMMunity and ask them to remove the designation. 3) They could decide that the addition is ok, and add the new route to their Guardian file, thereby approving the change. Is this correct? ---------------------- As we build a "PRConfig" capable of producing GateD files for AS690 from the Routing Registry, we need the ability to store multiple AS:Metric designators for 40K+ nets. (Essentially the information that was contained in the old nsf-in attribute, though the new solution needs to scalable to multiple networks). The option of embedding 100K+ network numbers (40K * 2.3) directly in AS-in and AS-out lines doesn't sound appealing or readable. We've played with the option of using 300+ Community files with names like "COMM_AS690_1:200", though that also seems awkward. My message last week suggested a tiny change to the Community Guardian file description ("consider everything after the first blank to be a comment") that we could use with a DB_SELECTOR designation to store this informaion in a *single* Community file that would be owned by the AS generating the configs. The features we need are: 1) Maximally conformant with RIPE-81++ (and related documents) 2) Minimally unreadable (e.g. no 40K+ -token AS-in lines) 3) All information is part of the Global Routing Registry. (If it isn't, then we haven't really registered our policy globally, and it would not be possible for anyone to build tools (like prtraceroute) that could really tell if packets were taking the right paths or not). [4) Preferably, a security system that does not allow any user to register himself as part of your routing base for up to 24 hours, at his will.] As I understand it, the guardian files themselves are not part of the "Public Database": if you ftp ripe.db you do not get them, and they are not available via whois. Instead, you get that same information registered as "COMM" tokens spread over all of the Inetnum or Route objects. This is a nice solution for the "Public Database" problem, except for the overnight delay in having that information security- checked and updated. There are some reasonably easy ways to fix the technical limitations here (at least for the interactive servers), such as indexing the community guardian files and generating the COMM lists for each route whenever the Route is queried. (Laurent has code much like this working now in alc, and Rick has the same functionality built into a modified RIPE whoisd). (ftp access of the whole database would still require periodic generation, however). There could also be some very clean implementations of output for this, as well. If communities are used as is, each Route object will be tagged with multiple Community tags: comm-list: COMM_AS690_1:1800 COMM_AS690_2:1879 With an expanded Community guardian file (for use with DBSelector), there could be a designated format for this in the Route object, e.g.: comm-list: COMM_AS690( 1:800 2:1879 ... ) comm-list: COMM_AS999( xxxx ) ... (This becomes design of the "experimental" DB_SELECTOR...) ---------------------- I've strayed a bit here from just the text of the draft documents. We are in the process of building such a family of configuration generation tools now (can we coordinate with you on this?), and we very soon will have to decide on a representation for storing and using these massive net lists within a RIPE-81++ registry. This depends partly on understanding the coming code (Rick expects to be porting Marten's release as soon as it is out), and partly on finding ways that can be made to work within the current architecture. Any suggestions for us? :-) --Dale -------- Logged at Wed Sep 14 23:07:38 MET DST 1994 ---------
[ rr-impl Archive ]