Implementation of RIPE-181++
Tony Bates
Mon Oct 3 17:32:42 CET 1994
Okay, I went round this a few times with Marten today and added a load of stuff then took it out again. Please comment on this. Still not sure if this makes sense. Here's the text...I would rather we just made it - ALL polices should be explicitly mention and the sum of interas policiy must equal global as policy. ==Tony. ..... Descriptions of interas policies do not replace the global pol- icy described in as-in, as-out and other policy attributes which should be specified too. If the global policy mentions more routes than the combined local policies then local preferences for these routes are assumed to be equal for all links. ripe-181.txt October, 1994 ^L - 28 - Any route specified in interas-in/out and not specified in as-in/out is assumed not accepted/announced between the ASes concerned. Diag- nostic tools should flag this inconsistency as an error. It should be noted that if an interas-in or interas-out policy is specified then it is mandatory to specify the corresponding global policy in the as-in or as-out line. Please note there is no relevance in the cost associated with as-in and the preferences used in interas-in. The interaction of interas-in/interas-out with as-in/as-out Although stated above, the rules associated with policy described in terms of interas-in and interas-out with respect to as-in and as-out are worthy of clarification for implementation. When using interas-in or interas-out policy descriptions, one must always make sure the set of policies described between two ASes is always equal to or a sub-set of the policy described in the global as-in or as-out policy. When a sub-set is described remember the remaining routes are implicitly shared across all connections. When defining interas based policy one should always ensure that any possible ambiguites are not present by explicitly defining your pol- icy with respect to the global as-in and as-out policy. If we look at a simple example, taking just in-bound announcements to simplify things. If we have the following global policy: aut-num: AS1 as-in: from AS2 10 accept AS100 OR {10.0.0.0/8} Suppose there are three connections (here connections can mean peer sessions or physical connections) between them, known as L1-R1, L2- R2 and L3-R3 respectively. The actual policy of these connections is to accept AS100 equally on these three links and just route 10.0.0.0/8 on L3-R3. Then the interas-in policy should be written as: interas-in: from AS2 L1 R1 (pref=100) accept AS100 interas-in: from AS2 L2 R2 (pref=100) accept AS100 interas-in: from AS2 L3 R3 (pref=100) accept AS100 OR {10.0.0.0/8} Whilst this may at first sight seem obvious, the problem arises when not all connections are mentioned. For example, if we specified only an interas-in line for L3-R3 as below: aut-num: AS1 as-in: from AS2 10 accept AS100 OR {10.0.0.0/8} interas-in: from AS2 L3 R3 (pref=100) accept AS100 OR {10.0.0.0/8} then the policy for the other links according to the rules above ripe-181.txt October, 1994 ^L - 29 - would mean they were equal to the global policy minus the sum of the local policies (i.e. ((AS100 OR {10.0.0.0/0}) / (AS100 OR {10.0.0.0/0})) = empty) which in this case would mean nothing is accepted on conections L1-R1 and L2-R2 which is incorrect. If we for example, we only registered the policy for link L2-R2 (i.e. accept AS100), according to the rules above, the derived pol- icy for both L1-R1 and L3-R3 would be as follows: interas-in: from AS2 L1 R1 (pref=100) accept {10.0.0.0/8} interas-in: from AS2 L3 R3 (pref=100) accept {10.0.0.0/8} This is derived as the set of global policies minus the set of interas-in policies (in this case just accept AS100 as it was the L2-R2 interas-in policy we registered) with equal cost for the remaining connectiosn. This again is clearly incorrect. We strongly recommend that you always mention all policies for all interas connections explicitly, to avoid these possible errors. One should always ensure the set of the interas policies is equal to the global policy. It should also be noted there is no direct realtionship between the cost used in as-in and the preference used in interas-in. -------- Logged at Tue Oct 4 10:20:24 MET 1994 ---------
[ rr-impl Archive ]