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 ]