Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Using RPSL in Practice Chun Zhang Nov 2, 2000 ECE 697F: Special Topics - Internet Routing.

Similar presentations


Presentation on theme: "1 Using RPSL in Practice Chun Zhang Nov 2, 2000 ECE 697F: Special Topics - Internet Routing."— Presentation transcript:

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 !


Download ppt "1 Using RPSL in Practice Chun Zhang Nov 2, 2000 ECE 697F: Special Topics - Internet Routing."

Similar presentations


Ads by Google