| ![]() | |||||||||
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
1 of 20
(RPS) Routing Policy System
Working Group
Chairs:
Cengiz Alaettinoglu Daniel Karrenberg
<cengiz@isi.edu> <Daniel.Karrenberg@ripe.net>
Mailing List: rps@isi.edu
To subscribe: rps-request@isi.edu
Ftp archive: ftp://ftp.isi.edu/rps
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
2 of 20
Autonomous System Path Expression Extension
to Ripe-181
Cengiz Alaettinoglu
Jessica Yu
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
3 of 20
Autonomous System Objects
and Import Policies
aut-num: AS1
as-name: foo
as-in: from AS2 1 accept {128.8.0.0/16}
as-in: from AS3 2 accept {128.8.0.0/16}
128.8/16
AS1
AS2
AS3
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
4 of 20
Autonomous System Objects
and Export Policies
aut-num: AS2
as-name: bar
as-out: to AS1 announce {128.8.0.0/16}
as-out: to AS3 announce {128.8.0.0/16}
128.8/16
AS1
AS2
AS3
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
5 of 20
Route Objects
Originating AS, Communities in Policy
route: 128.8.0.0/16 descr: University of Maryland origin: AS86 comm-list: COMM_NSFNET
route: 192.101.80.0/24 descr: WVWC origin: AS86
as-in: from AS2 1 accept AS86 as-out: to AS3 announce COMM_NSFNET
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
6 of 20
AS-Macro Objects
as-macro: AS-ANSLA
descr: List of ANS LA ASes
as-list: AS1322 AS1671 AS2930
as-in: from AS2 1 accept AS-ANSLA
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
7 of 20
Logical Combination
as-in: from AS2 1 accept
AS-ANSLA AND NOT AS1322 OR {128.8.0.0/16}
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
8 of 20
Multiple Interconnections
aut-num: AS1 as-in: from AS2 1 accept {128.8.0.0/16} interas-in: from AS2 l1 r1 (pref=1) accept {128.8.0.0/16} interas-in: from AS2 l2 r2 (pref=2) accept {128.8.0.0/16} interas-out: to AS2 ...
AS2AS1 128.8/16 l1 r1
l2 r2
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
9 of 20
AS Path Expressions in Policy
Many providers have AS path based policies:
as-in: ... accept AS1 is not in the AS path
as-out: ... announce AS1 is the first AS in the AS path
Need AS Path Expressions!
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
10 of 20
AS Path Regular Expressions
ASn ?ASn? . any AS number [AS1 AS2 AS4-AS6] AS1, AS2, AS4, AS5, AS6 [^AS1 AS2 AS4-AS6] AS3, AS7, AS8, ... ^ beginning of an AS path $ end of an AS path exp* exp+ exp? 0 or more, 1 or more, 0 or 1 exp1 exp2 catenation exp1 | exp2 alternative ()
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
11 of 20
AS Path Expression
< AS-Path-Regular-Expression >
matches routes whose AS paths are matched
by the AS-Path-Regular-Expression
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
12 of 20
AS Path Expressions in Policy
aut-num: AS1
as-in: from AS2 1 accept NOT <AS1>
as-in: from AS2 1 accept <^AS1$>
as-out: to AS2 announce <^[AS1 AS3 AS4 AS5]>
Existing tools will break!
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
13 of 20
Extended Attributes
Original attributes:
as-in
as-out
interas-in
interas-out
Extended attributes:
extended-as-in
extended-as-out
extended-interas-in
extended-interas-out
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
14 of 20
Valid Policies: Original Attributes Only
as-in: from AS2 1 accept AS86 as-out: to AS3 announce COMM_NSFNET
old tools: will work
new tools: will work
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
15 of 20
Valid Policies: Extended Attributes Only
extended-as-in: from AS2 1 accept <AS8$> extended-as-out: to AS3 announce <^[AS1-AS9]>
old tools: will assume default policy ?NOT ANY?
new tools: will work
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
16 of 20
Valid Policies: Mixing Rule
on a per peer basis
if policies are mixed
for *-in policies
for each extended-as-in specify as-in
for each extended-interas-in specify interas-in
for *-out policies
for each extended-as-out specify as-out
for each extended-interas-out specify interas-out
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
17 of 20
Tools and Mixed Policies
Old tools: use original attributes only
New tools: on import
use extended attributes if exist
use original attributes otherwise
on export
use extended attributes if exist
use original attributes otherwise
Eventually all tools will be upgraded!
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
18 of 20
Valid Examples
aut-num: AS1 as-in: from AS2 1 accept ANY as-out: to AS2 announce NOT AS10 extended-as-in: from AS2 1 accept NOT <AS5> extended-as-out: to AS2 announce NOT <AS1.* AS5.* AS10>
aut-num: AS1 as-in: from AS2 1 accept AS2 as-out: to AS2 announce AS1 extended-as-out: to AS2 announce <^[AS3 AS4 AS5]> OR AS1
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
19 of 20
Invalid Example
aut-num: AS1 as-in: from AS2 1 accept ANY extended-as-in: from AS2 1 accept ANY extended-as-out: to AS2 announce NOT <AS1 . * AS5.* AS10>
There should be an as-out attribute.
USC / Information Sciences Institute Cengiz Alaettinoglu, IETF July ?95
20 of 20
Conclusions
AS path expressions can now be specified
To avoid breaking tools:
extended-as-in
improved-extended-as-in
super-improved-extended-as-in
yet-another-super-improved-extended-as-in
Extensibility should be part of RPSL!