Download presentation
Presentation is loading. Please wait.
1
1 Using RPSL in Practice Chun Zhang Nov 2, 2000 ECE 697F: Special Topics - Internet Routing
2
2 Introduction n Terminology n How to specify routing policies? n How to analyze routing policies?
3
3 Terminology - RPSL n Routing Policy Specification Language RIPE181 - RFC 1786 (March 1995) RPSL - RFC 2280 (June 1999) Specify much wider range routing policy
4
4 Terminology - IRR n Internet Routing Registry n Repository of routing policies
5
5 Terminology - IRR (Cont.) Evolution Of IRR n 1995, Originally 5 databases CA*NET (now Bell Canada) [Canada] RADB, CW, ANS(now UUnet) [US] RIPE [Europe] n Now, more than two dozen databases
6
6 Filters Routes Criteria
7
7 Filters Type n Destination address-prefix –{128.9.0.0/16, 128.8.0.0/16} –AS2 == {128.9.0.0/16, 128.8.0.0/16} –AS-FOO == {AS1, AS2, AS3} AS2 128.9.0.0/16 128.8.0.0/16
8
8 Filters Type n AS Path ?? What does this mean ?? –
9
9 AS Path Regular Expressions n ^ matches empty string at the beginning of AS path n. match any AS number n $ matches the empty string at the end of an AS path n […] matches any element in the AS set
10
10 n Zero or more occurrences A* n One or more occurrences A+ n Zero or one occurrences A? AS Path Regular Expressions AA A
11
11 n Binary concatenation operator: –Example : AB n Binary alternative (or) operator: | –Example : A|B AS Path Regular Expressions A B AB
12
12 Regular Expressions Examples n AS1AS2 Start End A3 A4 A2 End AS1 Start
13
13 Filters Type n Other routes attributes Example : Community attributes Optional transitive attribute of variable length (a list of 4-byte integers) 4-byte integer AS1AS2 AS3 100
14
14 Autonomous system object Aut-num:AS2 as-name:CAT-NET descr:Catatonic State University import:from AS1 accept ANY export:to AS3 announce ANY admin-c:AO36-RIPE tech-c:CO19-RIPE mnt-by:OPS4-RIPE changed:orange@ripe.net source:RIPE
15
15 Specify Policy in RPSL(I) Aut-num:AS2 import:from AS1 accept ANY import:from AS3 accept export:to AS3 announce ANY export:to AS1 announce AS2, AS3 Common Peering Policies AS1AS2AS3 customerpeer
16
16 Specify Policy in RPSL(II) Aut-num:AS2 import:from AS1 accept ANY import:from AS3 accept import:from AS4 accept export:to AS3 announce ANY export:to AS4 announce ANY export:to AS1 announce AS2, AS3, AS4 ISP Customer - Transit Provider Policies AS1AS2AS3 AS2 customerAS2 peer AS4 Another AS2 customer
17
17 Specify Policy in RPSL(II) as-set:AS2:AS-CUSTOMERS members:AS3 AS4 Aut-num:AS2 import:from AS1 accept ANY import:from AS2:AS-CUSTOMERS accept export:to AS2:AS-CUSTOMERS announce ANY export:to AS1 announce AS2 AS2:AS-CUSTOMERS Using as-set object for simplification
18
18 Specify Policy in RPSL(II) Using route-set object for simplification Aut-num:AS2 import:from AS1 accept ANY import:from AS3 accept {7.7.0.0/16^16-19} import:from AS4 accept {7.8.0.0/16^16-18} export:to AS2:AS-CUSTOMERS announce ANY export:to AS1 announce AS2, AS2:AS-CUSTOMERS
19
19 Specify Policy in RPSL(II) Using route-set object for simplification route-set:AS2:RS-ROUTES:AS3 members:{7.7.0.0/16^16-19} route-set:AS2:RS-ROUTES:AS4 members: {7.8.0.0/16^16-18}
20
20 Specify Policy in RPSL(II) Aut-num:AS2 import:from AS1 accept ANY import:from AS3 accept AS2:RS-ROUTES:AS3 import:from AS4 accept AS2:RS-ROUTES:AS4 export:to AS2:AS-CUSTOMERS announce ANY export:to AS1 announce AS2, AS2:AS-CUSTOMERS Using route-set object for simplification
21
21 Specify Policy in RPSL(II) Aut-num:AS2 import:from AS1 accept ANY import:from AS3 accept AS2:RS-ROUTES:PeerAS import:from AS4 accept AS2:RS-ROUTES:PeerAS export:to AS2:AS-CUSTOMERS announce ANY export:to AS1 announce AS2, AS2:AS-CUSTOMERS Using route-set object for simplification
22
22 Specify Policy in RPSL(II) Aut-num:AS2 import:from AS1 accept ANY import:from AS2:AS-CUSTOMERS accept AS2:RS-ROUTES:PeerAS export:to AS2:AS-CUSTOMERS announce ANY export:to AS1 announce AS2, AS2:AS-CUSTOMERS Using route-set object for simplification
23
23 Specify Policy in RPSL(III) aut-num:AS1 import:from AS2 7.7.7.2 at 7.7.7.1 accept Including Interfaces in Peering Definitions AS1AS2 7.7.7.1 7.7.7.2 7.7.7.3
24
24 Specify Policy in RPSL(IV) aut-num:AS1 import:from AS2 7.7.7.2 at 7.7.7.1 action pref=10; from AS2 7.7.7.3 at 7.7.7.1 action pref=20; accept higher the number, lower the preference !!! aut-num:AS2 export:to AS1 7.7.7.1 at 7.7.7.2 action med=10; to AS1 7.7.7.1 at 7.7.7.3 action med=20; announce Describing Simple Backup Connections AS1AS2 7.7.7.1 7.7.7.2 7.7.7.3
25
25 Specify Policy in RPSL(V) aut-num:AS1 import: from AS2 accept (AS2 OR AS4) and import: from AS3 accept (AS3 OR AS4) and import: from AS5 accept AS5 and Multi-home Routing Policies using the community Attribute AS1 AS3 AS2 AS4 I II ??? How AS4 signal AS1 to select path I/II ??? Solution: Using route community attributes
26
26 Specify Policy in RPSL(V) n AS1: I prefer the path where community attribute = C n AS4: Ok! Let me set my favorite path’s community attribute = C n AS1: Yes! Attribute = C I am working as you like! Multi-home Routing Policies using the community Attribute
27
27 AS1: I prefer where community=C Aut-num: AS1 import:from AS2 action pref=10; accept (AS2 OR AS4) AND AND commnuity.contains(1:1) import:from AS2 action pref=0; accept(AS2 OR AS4) AND import:from AS3 action pref=10; accept (AS3 OR AS4) AND AND commnuity.contains(1:1) import:from AS3 action pref=0; accept(AS3 OR AS4) AND
28
28 AS1: I prefer where community=C Aut-num: AS1 import: { from AS-ANY action pref=10; accept community.contains(1:1); from AS-ANY action pref=0; accept ANY; } refine { from AS2 accept (AS2 OR AS4) AND ; from AS3 accept (AS3 OR AS4) AND ; } Using refine for simplification
29
29 AS4: Let me set my favorite Aut-num: AS4 export:to AS2 action community.append(1:1); announce AS4 export:to AS3 announce AS4
30
30 RAToolSet (Version 4) n router Configuration tools (RtConfig) n paths analysis tools (prpath and prtraceroute) n edit, compare,validate and register RPSL objects (roe, aoe and prcheck) Autonomous system Object Editor
31
31 Using RtConfig n Generating router configuration from RPSL n Steps –register policy in an IRR –building a RtConfig source file –create vendor specific router configuration by the source file and policy in IRR (support cisco,juniper, gated, bay/nortel)
32
32 Using RtConfig 128.223.0.0/16 AS3582 AS3701 AS2914 198.32.162.1 198.32.162.2 198.32.162.6
33
33 Sample RtConfig Source File Router bgp 3582 network 128.223.0.0 ! !Start with access-list 100 ! @RtConfig set cisco_access_list_no = 100 !NERO neighbor 192.32.162.2 remote-as 3701 @RtConfig set cisco_map_name = “AS3701-EXPORT” @RtConfig export AS3582 198.32.162.1 AS 3701 198.32.162.2 @RtConfig set cisco_map_name = “AS3701-IMPORT” @RtConfig import AS3582 198.32.162.1 AS3701 198.32.162.2 ! !WNA/VERIO neighbor 198.32.162.6 remote-as 2914 @RtConfig set cisco_map_name = “AS2914-EXPORT” @RtConfig export AS3582 198.32.162.1 AS2914 198.32.162.6 @RtConfig set cisco_map_name = “AS2914-IMPORT” @RtConfig import AS3582 198.32.162.1 AS2914 198.32.162.6
34
34 Router Configuration File router bgp 3582 network 128.223.0.0 ! !NERO neighbor 193.32.162.2 remote-as 3701 no access-list 100 access-list 100 permit ip 128.223.0.0 0.0.0.0 255.255.0.0 0.0.0.0 access-list 100 deny deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 ! no route-map AS3701-EXPORT route-map AS3701-EXPORT permit 1 match ip address 100 ! Router bgp 3582 neighbor 198.32.162.2 route-map AS3701-EXPORT out ! No route-map AS3701-IMPORT route-map AS3701-IMPORT permit 1 set local-preference 1000 ! Router bgp 3582
35
35 Router Configuration File neighbor 198.32.162.2 route-map AS3701-IMPORT in ! !WNA/VERIO neighbor 198.32.162.6 remote-as 2914 ! No route-map AS 2914-EXPORT route-map AS2914-EXPORT permit 1 match ip address 100 ! Router bgp 3582 neighbor 198.32.162.6 route-map AS2914-EXPORT out no ip as-path access-list 100 ip as-path access-list 100 permit ^_2914((_[0_9]+))*_\ (13|22|97|132|175|668|1914|2905|2914|3361|3381|3791|3937|\ 4178|4354|4571|4674|4683|5091|5303|5798|5855|5856|5881|6083\ |6188|6971|7790|7951|8028))?$ ! No route-map AS2914-IMPORT route-map AS2914_IMPORT permit 1 match as-path 100 set local-preference 998
36
36 Thanks !
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.