as-in/out interas-in/out recommendation
Cengiz Alaettinoglu
Wed Oct 5 19:52:11 CET 1994
I think it is clear that the interaction of as-in/out and
interas-in/out policies is still ambiguous even though all the efforts
made in the last couple of weeks.
I think there is no simple fix without changing the interaction.
Here is a solution which is in the middle of the solutions proposed by
different people (marten, tony's original, mine, elise's).
Interas-in does not replace as-in.
If an as specifies interas-in,
it also has to specify as-in.
When an as specifies interas-in policy,
this interas-in policy is only valid and entered to the dbase
if it is a subset of the as-in policy.
If there is a L1-R1 connection between two ASs
and there is an interas-in policy for this connection,
only the interas-in policy apply to this connection.
If there is a L1-R1 connection between two ASs
and there is NO interas-in policy for this connection,
as-in policies apply to this connection.
That is, NO IMPLICIT SHARING OF REMAINING ROUTES.
Example 1:
aut-num: AS1
as-in: from AS2 10 accept AS100 OR {10.0.0.0/8}
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}
derived policies:
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}
Example 2:
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 {10.0.0.0/8}
derived policies:
interas-in: from AS2 L1 R1 (pref=10) accept AS100 OR {10.0.0.0/8}
interas-in: from AS2 L2 R2 (pref=10) accept AS100 OR {10.0.0.0/8}
interas-in: from AS2 L3 R3 (pref=100) accept {10.0.0.0/8}
Example 3:
aut-num: AS1
as-in: from AS2 10 accept AS100 OR {10.0.0.0/8}
interas-in: from AS2 L1 R1 (pref=100) accept AS100
interas-in: from AS2 L2 R2 (pref=100) accept AS100
derived policies:
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=10) accept AS100 OR {10.0.0.0/8}
ADVANTAGES:
It is simple.
It is not ambiguous.
If a policy is explicitly stated for a connection it is used as it is.
DISADVANTAGES:
An AS may have to specify more interas-in policies to specify the same policy.
Example 3 above can be done using 1 interas-in line using the implicit sharing.
Why is it simple? This is the code:
$_ = $polpeers{"$as%$br%i%$peeras%$peerbr"} ||
$polpeers{"$as%%i%$peeras%"} ||
"0 NOT ANY";
Very simple, if there is an interas policy use it, if not use the
as-in policy, if not use "NOT ANY".
Can someone provide code for the interaction in the document? I can
not because I beleive the interaction in the document is
ambiguous. Even with some assumptions on the ambiguities, I bet the
code will turn out more complicated.
Regards.
Cengiz
--
Cengiz Alaettinoglu Information Sciences Institute
cengiz at isi.edu University of Southern California
-------- Logged at Wed Oct 5 20:11:02 MET 1994 ---------
[ rr-impl Archive ]