routing policy specification language

177
1 Routing Policy Specification Language Ambrose Magee LM Ericsson Ltd. <[email protected]> Tuesday, 28th August, 2001 APNIC-12

Upload: shino

Post on 12-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Routing Policy Specification Language. Ambrose Magee LM Ericsson Ltd. Tuesday, 28th August, 2001 APNIC-12. Introduction. Tutorial not a substitute for reading the RFC documents Target Audience knowledge of Internet Routing - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Routing Policy Specification Language

1

Routing Policy Specification Language

Ambrose Magee

LM Ericsson Ltd.

<[email protected]>

Tuesday, 28th August, 2001 APNIC-12

Page 2: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 2

Introduction

• Tutorial– not a substitute for reading the RFC documents

• Target Audience– knowledge of Internet Routing– familiar with APNIC Whois Database– no need to know Internet Routing Registry

Page 3: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 3

Contents of this tutorial

• The Internet Routing Registry

• Routing Policy Specification Language

– RIPE Database Version 3

• Routing Policy System Security (RPSS)

– security for Internet Routing Registry (IRR)

• RAToolSet & RtConfig

Page 4: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 4

The Internet Routing Registry

• Background• Structure• Why use it ?• BGP configuration from the Internet Routing Registry

Page 5: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 5

The Internet Routing Registry (IRR)

• Established in 1995• http://www.irr.net/• Stability and consistency of routing

– network operators share information

• Both public and private databases• These databases are independent

– but some exchange data– only register your data in one database

Page 6: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 6

Internet Routing Registry

RIPE

RADB CW

ANS Bell.db

ARIN, ArcStar, FGC, Verio, Bconnex,

Telstra, ...

Policy and contact information is shared.

Page 7: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 7

Why use the Internet Routing Registry ?

• When peering– register your routes and filter your peers

• Some transit providers and big ISP’s ask for this• Useful for fixing problems

– contact information

Page 8: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 8

Why use the Internet Routing Registry ?

• BGP->RIP->BGP injection• 128/7 leak• bogon 0/0, 10/8 leaks• Daily, someone is leaking somelse’s prefix.

Page 9: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 9

BGP Configuration from Internet Routing Registry

• Routing Policy specification Language (RPSL)– abstract, high-level policies– policies for each Autonomous System (AS)

• Internet Routing Registry– policies, routes and contact informatiom– benefit from the data and delegation of others

• RtConfig– RAToolSet– generate router configuration files– automates details and tedious aspects

Page 10: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 10

Routing Policy Specification Language

Page 11: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 11

Routing Policy Specification Language

• Background• RPSL Objects• Contact Information• Specifying Policy• Set Objects• Inet-rtr object• Advanced Features

Page 12: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 12

Routing Policy Specification Language

• Object-based language– route, autonomous system, router, contact and set objects

• Defines the syntax, semantics and format of data in IRR• Vendor independent• Extensible

• IETF Proposed Standard (RFC2622)• Based on RIPE-181 (RFC 1786) • Currently, no support for IPv6

Page 13: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 13

Routing Policy Specification Language 2

• RIPE-181 – some policies cannot be specified

• Internet Routing Registry– needed a more powerful language

• RPSL– more expressive than RIPE-181– policies can be expressed at the AS level– policies can be detailed => router configurations

PRDB RIPE-81 RIPE-181 RPSL

Page 14: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 14

Routing Policy Specification Language

• Background• RPSL Objects• Contact Information• Specifying Policy• Set Objects• inet-rtr object• Advanced Features

Page 15: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 15

RPSL Objects

Page 16: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 16

Objects in RPSL

• RPSL is based on objects• Format of RPSL similar to RIPE-181• Objects and Attributes• Attributes and Values• Object Names• Reserved Names

Page 17: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 17

RPSL is based on Objects

• Each object describes an entity in the real world

• Object classes (= object types)

• 12 types of object

• RPS-Sec defines one more (as-block)

Page 18: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 18

RIPE Database Version 3

• Includes most RPSL object classes

• Excludes dictionary object class

• Defines 4 other object classes

Page 19: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 19

RPSL Object

person: Clare Lancers

address: Corrofin

phone: + 123 123 # day time

e-mail: [email protected]

nic-hdl: CL123-TEST

remarks: This is a

test object

changed: [email protected] 20010730

source: TEST

Attribute value

Comment

Attribute name

Continuation

Page 20: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 20

RPSL Objects

• RPSL objects are similar to RIPE-181 objects• Objects

– set of attributes

• Attributes – mandatory or optional– values: single, list, multiple– see the object template

Page 21: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 21

Template of person object

person: [mandatory] [single] [lookup key]address: [mandatory] [multiple] [ ]phone: [mandatory] [multiple] [ ]fax-no: [optional] [multiple] [ ]e-mail: [optional] [multiple] [lookup key]nic-hdl: [mandatory] [single] [primary/look-up key]remarks: [optional] [multiple] [ ]notify: [optional] [multiple] [inverse key]mnt-by: [optional] [multiple] [inverse key]changed: [mandatory] [multiple] [ ]source: [mandatory] [single] [ ]

Page 22: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 22

RPSL Objects

• Class “key” – set of attributes– usually one attribute has the same name as the object’s class – uniquely identify each object

• Class “key” = primary key– must be specified first

Page 23: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 23

Template of person object

person: [mandatory] [single] [lookup key]address: [mandatory] [multiple] [ ]phone: [mandatory] [multiple] [ ]fax-no: [optional] [multiple] [ ]e-mail: [optional] [multiple] [lookup key]nic-hdl: [mandatory] [single] [primary/look-up key]remarks: [optional] [multiple] [ ]notify: [optional] [multiple] [inverse key]mnt-by: [optional] [multiple] [inverse key]changed: [mandatory] [multiple] [ ]source: [mandatory] [single] [ ]

Page 24: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 24

RPSL Object

person: Clare Lancers

address: Corrofin

phone: + 123 123 # day time

e-mail: [email protected]

nic-hdl: CL123-TEST

remarks: This is a

test object

changed: [email protected] 20010730

source: TEST

Attribute value

Comment

Attribute name

Continuation

Page 25: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 25

RPSL vs RIPE-181 objects

• Line continuation possible

– space, tab, ‘+’

• Comments

– begin with ‘#’

– can be anywhere inside an object

– but cannot start at beginning of a line (column 0)

• Objects ends at “\n\n” (blank line)

• The order of attribute-value pairs is significant

Page 26: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 26

RPSL Object

person: Ambrose Mageesource: RIPE # Commentaddress: Ericsson Services Irelandaddress: Dun Laoghaire, Ireland.+phone: +353 1 236 2500e-mail: [email protected]: AM3206-RIPEremarks: This is a test object. And this is a test comment.notify: [email protected]: [email protected] 20010731

Page 27: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 27

Attributes

• Case insensitive• ASCII• Value of an attribute has a type

– <object-name>– <as-number>– <ipv4-address>– <address-prefix>– etc.

• Complete list of attributes in RFC 2622 & RIPE-223

Page 28: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 28

Object Names

• Objects names can have - or _ inside– e.g. RIPE-DBM-MNT

• Can have digits• Case-insensitive• First character: alphabetic • Last character: must be a letter or a digit• Reserved names• Reserved prefixes

Page 29: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 29

Reserved Names

any as-any rs-any peeras

and or not

atomic

from to at action accept announce

except refine

networks into inbound outbound

Page 30: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 30

Reserved Prefixes

Prefix Object type

as- as set

rs- route set

rtrs- router set

fltr- filter set

prng- peering set

Page 31: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 31

Routing Policy Specification Language

• Background• RPSL Objects• Contact Information• Specifying Policy• Set Objects• inet-rtr object• Advanced Features

Page 32: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 32

Contact Information

Page 33: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 33

Contact Information

• person• role• mntner

Page 34: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 34

Person Object

person: Clare Lancers

address: Corrofin

phone: + 123 123 # day time

e-mail: [email protected]

nic-hdl: CL123-TEST

remarks: This is a

test object

mnt-by: TEST-MNT

changed: [email protected] 20010730

source: TEST

Person object information

Auxiliary information

Page 35: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 35

Person Object 2

• Information about technical or administrative contact• The value of the “person” attribute cannot be changed• The nic-handle is the primary key.• In RIPE-181, name && nic-handle was the primary key• The role object is very similar• Auxiliary information is in all object types

Page 36: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 36

Mntner Object Template

mntner: [mandatory] [single] [primary/look-up key]descr: [mandatory] [multiple] [ ]admin-c: [mandatory] [multiple] [inverse key]tech-c: [optional] [multiple] [inverse key]upd-to: [mandatory] [multiple] [inverse key]mnt-nfy: [optional] [multiple] [inverse key]auth: [mandatory] [multiple] [ ]remarks: [optional] [multiple] [ ]notify: [optional] [multiple] [inverse key]mnt-by: [mandatory] [multiple] [inverse key]auth-override: [optional] [single] [ ]referral-by: [mandatory] [single] [inverse key]changed: [mandatory] [multiple] [ ]source: [mandatory] [single] [ ]

Page 37: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 37

Mntner object

mntner: AMRM-TESTdescr: Ambrose's mntner.admin-c: RD132-RIPEtech-c: AMRM1-RIPEupd-to: [email protected]: [email protected]: [email protected]: CRYPT-PW 984rZ0K0mvMjUremarks: This is a test mntner.notify: [email protected]: AMRM-TESTreferral-by: RIPE-DBM-MNTchanged: [email protected] 19980916source: RIPE

Page 38: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 38

Mntner object 2

• New attribute: referral-by– the mntner that created this mntner

• New attribute: auth-override– date after which the mntner can be modified– only the mntner in “referral-by” can do this

Page 39: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 39

“auth” attribute

• NONE• MAIL-FROM

– e.g. MAIL-FROM [email protected]– e.g. MAIL-FROM .*apnic.net

• CRYPT-PW– produced by the UNIX crypt routine– e.g. CRYPT-PW lz1A7/JnfkTI

Page 40: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 40

“auth” attribute 2

• PGPKEY-<PGP Key ID>– e.g. PGPKEY-1290F9D2– RFC 2726– key-cert object

• Be careful using many authentication methods in mntner– logical OR used– avoid using authentication NONE

Page 41: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 41

Routing Policy Specification Language

• Background• RPSL Objects• Contact Information• Specifying Policy• Set Objects• inet-rtr object• Advanced Features

Page 42: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 42

Specifying Routing Policy

Page 43: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 43

Specifying Policy

• Internet Routing

• aut-num object

• route-set object

• as-set object

• AS Path Regular Expression

• Composite Policy Filters

• Specifying Actions

Page 44: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 44

Specifying Policy 2

• Community Based Policies

• Ambiguity Resolution

Page 45: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 45

Internet Routing

Interior routing is metric basedInside ISP-2, shortest exit to ISP-3OSPF, IS-IS, …..

Exterior routing is policy basedCan A use ISP-3 to reach B ?BGP

A BISP-1 ISP-3

ISP-2

Page 46: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 46

Inter-AS Topology

Backbone Providers

Regional ISP

Other ASes

Page 47: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 47

AS Relationships

• Customer-Regional Provider– Provider forwards traffice– advertises customer routes

• Peer-Peer– mutual benefit

• Regional Provider-Backbone Provider– similar to Customer-Regional Provider

• Typical routing policies implement these

Page 48: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 48

Inter-AS RoutingRegional ISP

AS1 AS2 128.9.0.0/16import

export

AS level peering

AS2 originates 128.9.0.0/16

AS2 exports 128.9.0.0/16 to AS1

AS1 imports 128.9.0.0/16 from AS2

Page 49: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 49

BGP Routes: Path Attributes

• Destination address prefixes• AS path• Originator AS• List of communities (flags)• Metrices: med, pref

Page 50: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 50

aut-num Object expresses routing policy

aut-num: AS4591 as-name: UNSPECIFIED descr: Syra.NET import: from AS4590

action pref=1;accept AS4590

export: to AS4590announce AS4591

default: to AS4590action pref=1networks {140.222.0.0/16}

Auxiliary information not shown

Page 51: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 51

aut-num Object Template Attribute Value Type

aut-num <as-number> mandatory, single, class key

as-name <object-name> mandatory, single

member-of list of

<as-set-names> optional, multiple

import import policy optional, multiple

export export policy optional, multiple

default default policy optional, multiple

Page 52: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 52

aut-num Object in RIPE-181 and RPSL

• as-out, interas-out => export• as-in, interas-in => import• default => default

Page 53: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 53

Aut-num Object in RIPE DB Version 3

• It has all the attributes described in RFC 2622• Cross-mnt

– a mntner to be notified

• Cross-nfy– a person or role object to be notified

Page 54: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 54

Policy in RPSL

• Prefix• AS Path• community• prefix-length• Future attributes through its dictionary• Structured Policy• Uses

Page 55: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 55

Prefix based Policy128.9.0.0/16

128.8.0.0/16

aut-num: AS1

export: to AS2

announce {128.9.0.0/16, 128.8.0.0/16}

N.B. Filtering is based on Address-Prefix Set

AS2 AS1

Page 56: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 56

Prefix based Policy 2128.9.0.0/16

128.8.0.0/16

aut-num: AS2

import: fromAS1

accept {128.9.0.0/16, 128.8.0.0/16}

N.B. Filtering is based on Address-Prefix Set

AS2 AS1

Page 57: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 57

import Attribute

• importfrom <peering-1> [action <action-1>]

…..

from <peering-N> [action <action-N>]

accept <filter>

• Set of routes matched by filter– imported from all peers in peerings

• While importing routes at <peering-M>– <action-M> is done

Page 58: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 58

Choosing a Peering

1.1.1.2

aut-num: AS1

import: from AS2 at 2.2.2.2

action pref = 10;

accept AS2

AS1 AS2

2.2.2.2

1.1.1.1

Page 59: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 59

Choosing a Peering 2

aut-num: AS1

import: from AS2 at 2.2.2.2

action pref = 10;

accept AS2

import: from AS2 1.1.1.2 at 1.1.1.1

action pref =5;

accept AS2

N.B. In filter context, AS2 = routes originated by AS2

Page 60: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 60

export Attribute

• exportto <peering-1> [action <action-1>]

…..

to <peering-N> [action <action-N>]

announce <filter>

• Set of routes matched by filter– exported to all peers in peerings

• While exporting routes at <peering-M>– <action-M> is done

Page 61: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 61

default Attribute

• defaultto <peering> [action <action>] [networks <filter>]

• Local AS defaults to the AS in <peering>• <action> == attributes of defaulting• <filter> == policy filter• Router only uses the default policy

– if it received the routes matched by <filter> from this peer

Page 62: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 62

Examples of default

AS1 defaults to AS2 and uses 128.9.0.0/16aut-num: AS1default: to AS2 networks {128.9.0.0/16}

AS1 defaults to AS2 and AS3, but prefers AS2 over AS3aut-num: AS1default: to AS2 action pref=1;default: to AS3 action pref=2;

Page 63: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 63

Routing Protocols

• Default is Exterior Gateway Protocol– BGP

• Valid Protocols– in RPSL dictionary

• Injecting Routes between protocols• Multi-Protocol Routing Protocols

Page 64: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 64

Prefix based Policy128.9.0.0/16

128.8.0.0/16

aut-num: AS1

export: to AS2

announce {128.9.0.0/16, 128.8.0.0/16}

N.B. Filtering is based on Address-Prefix Set

AS2 AS1

Page 65: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 65

Originate more routes ?128.9.0.0/16

128.8.0.0/16 aut-num: AS1 export: to AS2

announce {128.9.0.0/16, 128.8.0.0/16, 128.6.0.0/16}

AS2 AS1 128.6.0.0/16

Page 66: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 66

route-set Objects

route-set: rs-red members: 128.6.0.0/16, 128.8.0.0/16,

128.9.0.0/16 desc: some address prefixes

route-set: rs-yellow members: 128.7.0.0/16, rs-red desc: A route-set that includes rs-red

128.6.0.0/16, 128.8.0.0/16, 128.9.0.0/16 are direct members ofrs-red.

The route-set object replaces the community object fromRIPE-181.

Page 67: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 67

route-set Object Template Attribute Value Typeroute-set <object-name> mandatory, single, class keymembers list of optional, multi-valued

<address-prefix-range> or<route-set-name> or<route-set-name><range-operator> orrs-any

mbrs-by-ref list of optional, multiple-valued<mntner-names> or ANY

Page 68: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 68

Range Operators

• Address-prefix-range– address prefix followed by a range operator

• ^+: inclusive more specifics– 5.0.0.0/8^+

• ^-: exclusive more specifics– 128.9.0.0/16^-

• ^n: length n more specifics– 30.0.0.0/^16

• ^n-m: length n-m more specifics– 30.0.0.0/^24-32

Page 69: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 69

Indirect members of route-set

route-set: RS-ANS-IGP_ONLY desc: ANS IGP aggregates mbrs-by-ref: any

route: 207.25.17.0/24 origin: AS1675 member-of: RS-ANS-IGP_ONLY mnt-by: MNT-ANS

route: 192.157.69.0/24 origin: AS1675 member-of: RS-ANS-IGP_ONLY mnt-by: MNT-ANS

Page 70: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 70

Restricted indirect members of route-set

route-set: RS-ANS-IGP_ONLY desc: ANS IGP aggregates mbrs-by-ref: MNT-ANS, MNT-CENGIZ

route: 207.25.17.0/24 origin: AS1675 member-of: RS-ANS-IGP_ONLY mnt-by: MNT-ANS

route: 192.157.69.0/24 origin: AS1675 member-of: RS-ANS-IGP_ONLY mnt-by: MNT-CURTIS

Page 71: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 71

Direct & indirect members of route-set

route-set: RS-ANS-IGP_ONLY desc: ANS IGP aggregates members: 207.25.17.0/24, 207.25.16.0/24,

207.25.20.0/24 mbrs-by-ref: MNT-ANS

route: 207.25.17.0/24 origin: AS1675 member-of: RS-ANS-IGP_ONLY mnt-by: MNT-ANS

route: 192.157.69.0/24 origin: AS1675 member-of: RS-ANS-IGP_ONLY mnt-by: MNT-ANS

Page 72: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 72

Direct Members

• The member-of attribute of the route object is an extra way to specify the members directly

• If an address-prefix is listed in the members attribute of a route-set, then it is a member of that route set

• The route object corresponding to this address-prefix does not need to contain a member-of attribute referring to this set name.

• Only use the member-of attribute of the route object when using the mbrs-by-ref attribute in the route-set object.

Page 73: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 73

Members of sets in RIPE DB Version 3

• route, aut-num and inet-rtr objects have “member-of” attribute

• This is not enough !!!• The set object has “mbrs-by-ref” and “members”

– if “mbrs-by-ref” is absent, “members” is used

• Database software checks validity of membership– rejects invalid creation or update of object

Page 74: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 74

Example of route-set128.9.0.0/16

128.8.0.0/16 aut-num: AS1 export: to AS2

announce {128.9.0.0/16, 128.8.0.0/16, 128.6.0.0/16}

AS2 AS1 128.6.0.0/16

Page 75: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 75

Routing policy per route-set

route-set: rs-red members: 128.6.0.0/16, 128.8.0.0/16,

128.9.0.0/16

aut-num: AS1 export: to AS2 announce rs-red

aut-num: AS2 import: to AS1 accept rs-red

Page 76: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 76

Example of route-set 2128.9.0.0/16

128.8.0.0/16 aut-num: AS1 export: to AS2

announce rs-red

aut-num: AS2import: from AS1

accept rs-red

AS2 AS1 128.6.0.0/16

Page 77: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 77

Range operators and route-sets

route-set: rs-martians desc: most Ases do not import these routes members: 0.0.0.0/0^32, 127.0.0.0/8^+, 10.0.0.0/8^+, 172.16.0.0/20^+,

192.168.0.0/16^+, 192.0.2.0/24^+,128.0.0.0/16^+, 191.255.0.0/16^+,192.0.0.0/24^+, 223.255.255.0/24^+,224.0.0.0/3^+, 0.0.0.0/0^26-32

Page 78: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 78

route Object Template Attribute Value Typeroute: <address-prefix> mandatory, single, class keyorigin: <as-numbers> mandatory, single, class keymember-of: list of optional, multiple

<route-set-names>inject: aggregation info optional, multiplecomponents: aggregation info optional, singleaggr-bndy: <as-expression> optional, singleaggr-mtd: aggregation info optional, singleexport-comps: <filter> optional, singleholes: list of optional, multiple

<address-prefix>

Page 79: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 79

Route Object in RIPE DB Version 3

• Cross-mnt– mntner(s) to be notifed

• Cross-nfy– person or role to be notified

• No admin-c or tech-c in route object

• RFC-2622: admin-c and tech-c in route object

Page 80: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 80

Route Object 1

• Subset of a route !• The route and origin attributes == class key

route: 128.8.0.0/16

origin: AS1

route: 128.8.0.0/16

origin: AS2

N.B. Two different routes

Page 81: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 81

Route Object 2

route: 193.0.0.0/22

origin: AS3333

mnt-by: RIPE-NCC-MNT

Policy information

N.B. Auxiliary information is not shown

•Route 193.0.0.0/22 is originated by AS3333

Page 82: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 82

Using AS numbers in Policy

route: 128.9.0.0/16 route: 128.8.0.0/16 origin: AS1 origin: AS1 aut-num: AS1 export: to AS2 announce AS1

aut-num: AS2import: from AS1 accept AS1

AS2 AS1

Page 83: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 83

Cumbersome ?

aut-num: AS1 export: to AS2 announce AS1 OR AS3 … AS6

aut-num: AS2 import: from AS1 accept AS1 OR AS3 … AS6

AS2 AS1

AS3 AS4 AS5

AS6

Page 84: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 84

Using as-set objects

as-set: AS1:AS-Customers members: AS1, AS3, AS4, AS5, AS6

aut-num: AS1 export: to AS2 announce AS1 OR AS3 … AS6

aut-num: AS2 import: from AS1 accept AS1 OR AS3 … AS6

AS2 AS1

AS3 AS4 AS5

AS6

Page 85: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 85

as-set Object Template Attribute Value Typeas-set <object-name> mandatory, single, class keymembers list of optional, multiple-valued

<as-numbers> or<as-set-names> oras-any

mbrs-by-ref list of optional, multiple-valued<mntner-names> or ANY

Page 86: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 86

Indirect members of as-set

as-set: as-alkmaar desc: IGP aggregates mbrs-by-ref: any

aut-num: AS3333 member-of: as-alkmaarmnt-by: RIPE-NCC-MNT

aut-num: AS1213 member-of: as-alkmaar mnt-by: AS1213-MNT

Page 87: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 87

Using as-set objects 2

as-set: AS6:AS-Customers members: AS6, AS7, AS8

as-set: AS1:AS-Customers members: AS1, AS3, AS4, AS5, AS6:AS-Customers

AS2 AS1

AS3 AS4 AS5

AS6 AS7

AS8

Page 88: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 88

Using as-set objects 3

aut-num: AS1 export: to AS2 announce AS1:AS-Customers

aut-num: AS2 import: from AS1 accept AS1:AS-Customers

AS2 AS1

AS3 AS4 AS5

AS6 AS7

AS8

Page 89: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 89

More Customers ?

aut-num: AS2 import: from AS1 accept AS1:AS-Customers import: from AS3 accept AS3:AS-Customers import: from AS4 accept AS4:AS-Customers

AS3 AS1

AS4

AS2

Page 90: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 90

PeerAS

as-set: AS2:AS-Customers members: AS1, AS3, AS4 aut-num: AS2 import: from AS2:AS-Customers accept PeerAS:AS-Customers

AS3 AS1

AS4

AS2

Page 91: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 91

PeerAS 2

• Keywoord :PeerAS• Used in import attribute

– instead of the AS number of the peer AS

• Useful when using AS expression

Page 92: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 92

Predefined Set Objects

• RS-ANY, rs-any• AS-ANY, as-any

Page 93: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 93

Route-set context

• AS number: ASX == routes originated by ASX

• as-set: AS-X == routes originated by the AS’es in AS-X

Page 94: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 94

Complex example

Solution ?

AS2 AS1

AS3 AS4 AS5

AS6

AS7

AS8 AS9

Page 95: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 95

AS Path Based

AS paths that start in AS1 and end in AS8:

<^AS1 .* AS8$>

No prefix filters here !!!

AS2 AS1

AS3 AS4 AS5

AS6

AS7

AS8 AS9

Page 96: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 96

AS Path Regular ExpressionsAS1 AS1

as-foo any AS in as-foo

X* 0 or more occurrences of X

X+ 1 or more occurrences of X

X? 0 or 1 occurrence of X

^ beginning of path

$ end of path

X|Y X or Y

XY X followed by Y

Page 97: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 97

AS Path Regular Expressions

• Policy filter– only when the expression is between ‘<‘ and ‘>’

• Regular expressions– the alphabet of AS numbers

• Router can check– BGO: AS_PATH– IDRP: RD_PATH

• Regular Expression Operators

Page 98: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 98

AS Path RE Example

<^AS1+ AS1:AS-Customers* $> matches:AS1AS1 AS3AS1 AS4AS1 AS5 AS6AS1 AS1 AS5 AS5 AS6

AS2 AS1

AS3 AS4 AS5

AS6

AS7

AS8 AS9

Page 99: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 99

AS Path Based import/export

import: from AS1 accept <^AS1 .* AS8>

import: from AS1 accept <^AS1 AS1:AS-Customers*$>

No route prefixes here !!!

AS2 AS1

AS3 AS4 AS5

AS6

AS7

AS8 AS9

Page 100: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 100

Composite Policy Filters

• NOT, AND, OR• AS1 == {128.8.00/16, 128.9.0.0/16}• rs-red == {128.6.0.0/16, 128.9.0.0/16}

• AS1 OR rs-red == {128.6.0.0/16, 128.8.0.0/16, 128.9.0.0/16}

• AS1 AND rs-red == {128.9.0.0/16}• AS1 AND NOT rs-red == {128.8.0.0/16}

Page 101: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 101

Composite Policy Filters 2

• aut-num: AS1 import: from AS1

accept (AS1 OR rs-red) AND NOT {0.0.0.0/0}

• N.B. AS numbers & as-set names == routes

Page 102: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 102

Filter Bad Routes

route-set: RS-MARTIANS desc: most Ases do not import these routes members: 0.0.0.0/0^32, 127.0.0.0/8^+, 10.0.0.0/8^+, 172.16.0.0/20^+,

192.168.0.0/16^+, 192.0.2.0/24^+,128.0.0.0/16^+, 191.255.0.0/16^+,192.0.0.0/24^+, 223.255.255.0/24^+,224.0.0.0/3^+, 0.0.0.0/0^26-32

aut-num: AS1 import: from AS-ANY

accept ANY AND NOT RS-MARTIANS

Page 103: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 103

Prefix Length Based Policy

• aut-num: AS1 import: from any

accept ANY AND NOT {192.168.0.0/16^+}

• N.B. Filter == Address-Prefix Set; Composite Policy

Page 104: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 104

Actions

• Preference & Cost• Community

Page 105: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 105

Preference & Cost

aut-num: AS4 import: from AS1 action pref = 10; accept ANY import: from AS4 action pref = 15; accept ANY

Smaller the number, higher the preference !!!

AS2 AS4

AS1

AS3Slow link

Page 106: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 106

Specifying Actions

• RPSL policy actions– set or modify route attributes– instruct routers to do special operations

• route flap dampening

• Which route attributes ?– RPSL dictionary– dictionary object not implemented in RIPE Database Version 3

Page 107: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 107

Specifying Actions 2

• Syntax of a policy action – x.method(arguments)– x “operator” argument

• Terminated by semicolon ‘;’

• Composite policy actions possible– evaluated left-to-right

Page 108: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 108

Specifying Actions 3

import: from … action XXX; accept …

export: to … action XXX; announce ...

med = 0;

med = igp_cost;

community.append(NO_EXPORT, 10250, 3561:90);

community.delete(NO_EXPORT);

aspath.prepend(AS1, AS1, AS1);

Page 109: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 109

Specifying Actions 4

aut-num: AS4 export: to AS1 announce AS4 export: to AS3 action aspath.prepend(AS4);

announce AS4

Smaller the number, higher the preference !!!

AS2 AS4

AS1

AS3Slow link

Page 110: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 110

Choosing a Peering

1.1.1.2

aut-num: AS1

import: from AS2 accept AS2

AS1 AS2

2.2.2.2

1.1.1.1

Page 111: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 111

Choosing a Peering

1.1.1.2

aut-num: AS1

import: from AS2 at 2.2.2.2

action pref = 10;

accept AS2

AS1 AS2

2.2.2.2

1.1.1.1

Page 112: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 112

Choosing a Peering 2

aut-num: AS1

import: from AS2 at 2.2.2.2

action pref = 10;

accept AS2

import: from AS2 1.1.1.2 at 1.1.1.1

action pref = 5;

accept AS2

Page 113: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 113

Community Based Policy

• AS4 wants AS3561 to prefer AS1 path• AS3561 prefers routes with

– no community– with community 3561:90– with community 3561:80– with community 3561:70

AS2 AS4

AS1

AS3Slow link

Page 114: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 114

AS3561’s Policies

aut-num: AS3561import: from AS-ANY

action pref = 30;accept community(3561:70)

import: from AS-ANYaction pref = 20;accept community(3561:80)

import: from AS-ANYaction pref = 10;accept community(3561:90)

import: from AS-ANYaction pref = 0;accept ANY

Page 115: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 115

AS 4’s Policies

aut-num: AS4 export: to AS1 action community.={3561:90}; to AS3 action community.={3561:80};

announce AS4

AS3561 AS4

AS1

AS3Slow link

Page 116: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 116

Ambiguity Resolution

• Two or more peering expressions– describe the same peering

• Which is used ?

• Specification-order rule– the first peering specification is always used

Page 117: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 117

Ambiguity Resolution 2

aut-num: AS1

import: from AS2 action pref = 2; accept AS4

import from AS2 action pref = 1; accept AS4 OR AS5

AS2 accepts AS4’s routes with pref = 2

AS2 accepts AS5’s routes with pref = 1

Page 118: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 118

Routing Policy Specification Language

• Background• RPSL Objects• Contact Information• Specifying Policy• Set Objects• inet-rtr object• Advanced Features

Page 119: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 119

Set Objects

Page 120: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 120

Set Objects

• Sets of routes, autonomous systems, etc.– route-set– as-set– filter-set– peering-set– rtr-set

• Specify members– directly– indirectly

Page 121: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 121

Set Names

• Example: as-customers• Example: rs-partner

Page 122: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 122

Hierarchical Set Names

• Sequence of set names and AS numbers, separated by “:”

• At least one component must be an actual set name.

• All set name components must be of the same type.

• Authorization

• Mntner of AS1 controls AS1:AS-Customers

• AS1:RS-EXPORT controls AS1:RS-EXPORT:AS2

Page 123: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 123

Filter-Set Objects

filter-set: fltr-red filter: {5.0.0.0/8, 6.0.0.0/8}

fltr-set: fltr-green filter: (AS1 or fltr-red) and <AS2>

<AS2> == AS path filter== matches any route whose AS-pathcontains AS2.

Filter set names: “fltr-“

Page 124: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 124

“filter” attribute

• “filter” attribute defines a policy filter• A policy filter matches routes• Any BGP path attribute can be in the filter

– ANY– Address-Prefix Set– Route Set Name– AS Path Regular Expressions– Composite Policy Filters– Routing Policy Attributes– Filter Set Name

Page 125: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 125

Peering Set Object

• Defines a set of peerings• Peering Set Name: prng-• The peering attribute defines a peering

– used to import or export routes

• No “members” attribute

Page 126: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 126

Peering-Set Objects 2

peering-set: prng-red peering: AS3 at 9.9.9.1

peering-set: prng-green peering: prng-red peering: AS2 at 9.9.9.1

aut-num: AS1 import: from prng-green

accept {128.9.0.0/16}

Page 127: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 127

Rtr-Set Objects

rtr-set: rtrs-red members: rtr1.isp.net, rtr2.isp.net mbrs-by-ref: RED-MNT

rtr-set: rtr-green members: rtr3.isp.net, rtrs-red mbrs-by-ref: ANY

Rtr set names: “rtrs-“

Same rules about “mbrs-by-ref” as before.

Page 128: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 128

rtr-set Object Template

Attribute Value Typertr-set <object-name> mandatory, single, class keymembers list of optional, multi-valued

<inet-rtr-names> or<rtr-set-names> or<ipv4-addresses>

mbrs-by-ref list of optional, multi-valued<mntner-names> or ANY

Page 129: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 129

Routing Policy Specification Language

• Background• RPSL Objects• Contact Information• Specifying Policy• Set Objects• inet-rtr object• Advanced Features

Page 130: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 130

Inet-rtr Object

Page 131: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 131

Inet-rtr Object

inet-rtr: Amsterdam.ripe.net local-as: AS3333 ifaddr: 192.87.4.28 masklen 24 ifaddr: 193.0.0.222 masklen 27 ifaddr: 192.16.183.128 masklen 24 ifaddr: 193.0.15.130 masklen 24 peer: BGP4 192.87.4.19 asno(AS2121) peer: BGP4 192.16.183.64 asno(AS3317)

Auxiliary information omitted

Page 132: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 132

Inet-Rtr Object Template

Attribute Value Typeinet-rtr <dns-name> mandatory, single, class keyalias <dns-name> optional, multi-valuedlocal-as <as-number> mandatory, singleifaddr interface address mandatory, multi-valuedpeer peering information optional, multi-valuedmember-of list of optional, multi-valued

<rtr-set-names>

Page 133: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 133

Inet-rtr Object 2

ifaddr: <ipv4-address> masklen <integer> [action <action>]

The peer attribute:

<protocol><ipv4-address> <options>

|<protocol><inet-rtr-name> <options>

|<protocol><rtr-set-name> <options>

|<protocol><peering-set-name> <options>

<protocol> is usually BGP.

Page 134: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 134

Routing Policy Specification Language

• Background• RPSL Objects• Contact Information• Specifying Policy• Set Objects• inet-rtr object• Advanced Features

Page 135: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 135

Routing Policy System Security

Page 136: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 136

Routing Policy System Security (RPSS)

• Background• as-block• mnt-lower• mnt-routes• referral-by• auth-override

Page 137: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 137

Routing Policy System Security (RPS-Auth)

• RFC-2725• Data integrity and security in the Internet Routing Registry• One new object

– as-block

• Four new attributes– mnt-lower– mnt-routes– referral-by– auth-override

Page 138: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 138

New object in RPS-Auth; as-block

as-block: AS3154 - AS3353descr: RIPE NCC ASN blockremarks: These AS numbers are further assigned by RIPE NCCremarks: to LIRs and end-users in the RIPE NCC regionremarks: Please refer to RIPE Document ripe-185remarks: and RIPE Document ripe-147admin-c: NN32-RIPEtech-c: OPS4-RIPEmnt-by: RIPE-NCC-HM-MNTmnt-lower: RIPE-NCC-HM-MNTchanged: [email protected] 20010423source: RIPE

Page 139: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 139

As-block Object

• Used by Regional Internet Registries• Shows the delegation of a range of AS numbers • Controls the creation of aut-num objects

– mnt-lower attribute

• Also controls creation of more specific as-block objects

Page 140: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 140

New attributes in RPS-Auth

• New attributes increase security• mnt-lower• mnt-routes• referral-by• auth-override

Page 141: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 141

Mnt-lower Attribute

• Used in as-block, aut-num, inetnum, route objects• Points to a mntner object• Controls creation of objects underneath root object• as-block object:

– more specific as-block objects– aut-num objects

• aut-num object– hierarchical name objects

Page 142: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 142

Mnt-lower Attribute 2

• inetnum object– inetnum objects with more specific address prefixes

• route object– route objects with more specific address prefixes

Page 143: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 143

As-block Object again

as-block: AS3154 - AS3353descr: RIPE NCC ASN blockremarks: These AS numbers are further assigned by RIPE NCCremarks: to LIRs and end-users in the RIPE NCC regionremarks: Please refer to RIPE Document ripe-185remarks: and RIPE Document ripe-147admin-c: NN32-RIPEtech-c: OPS4-RIPEmnt-by: RIPE-NCC-HM-MNTmnt-lower: RIPE-NCC-HM-MNTchanged: [email protected] 20010423source: RIPE

Page 144: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 144

RPS-Auth; as-block & mnt-lower

as-block: AS3154 - AS3353descr: RIPE NCC ASN blockmnt-lower: RIPE-NCC-HM-MNT…..

aut-num: AS3333as-name: RIPE –NCC-ASmnt-by: RIPE-NCC-MNT…..

The aut-num object AS3333 can only be createdby RIPE-NCC-HM-MNT. If as-block object has no ‘mnt-lower’ attribute,=> ‘mnt-by’ is used.

Page 145: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 145

Aut-num Object & mnt-lower

aut-num: AS1mnt-by: AS1-NOC-MNTmnt-lower: AS1-SALES-MNT…..

as-set: AS1:AS-Customersmnt-by: AS1-CUSTOMERS-MNT…..

The as-set object AS1:AS-Customers can only be createdby AS1-SALES-MNT. If aut-num object has no ‘mnt-lower’ attribute,=> ‘mnt-by’ of as-set object is used.

Page 146: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 146

Inetnum Object & mnt-lower

inetnum: 193.0.2.0 - 193.0.3.255netname: RIPE-NCCdescr: RIPE Network Coordination Centreremarks: RIPE Meetings and other non-permanent usesmnt-by: RIPE-NCC-MNTmnt-lower: RIPE-NCC-MNT

inetnum: 193.0.3.0 - 193.0.3.255netname: RIPE-NCC

The inetnum object 193.0.3.0 - 193.0.3.255 can only be created bythe mntner in the ‘mnt-lower’ of 193.0.2.0 – 193.0.3.255, i.e.RIPE-NCC-MNT.

Page 147: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 147

Route Object & mnt-lower

route: 193.0.0.0/21desc: RIPE-NCCorigin: AS3333mnt-by: RIPE-NCC-MNTmnt-lower: RIPE-NCC-MNT

route: 193.0.0.0/22desc: RIPE-NCCorigin: AS3333

The route object 193.0.0.0/22 can only be created by themntner RIPE-NCC-MNT. If the route object 193.0.0.0/21 hasno ‘mnt-lower’, then the mntner in ‘mnt-by’ is used. The‘mnt-routes’ or ‘mnt-by’ of AS3333 object is also checked.

Page 148: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 148

Mnt-routes Attribute

• Used in aut-num, inetnum, route objects• Points to a mntner object• Does not allow changes to the object where it appears• Controls creation of route objects • <mnt-name> [ {list of <address-prefix-range>} | ANY • Default is ANY == all more specific routes

Page 149: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 149

Mnt-routes; Summary

• Aut-num object– origin attribute of the route object– mnt-routes– mnt-by

• Route object– exact or less specific match– mnt-routes– mnt-lower– mnt-by

Page 150: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 150

Mnt-routes; Summary 2

• Inetnum object– exact or less specific match– mnt-routes– mnt-lower– mnt-by

Page 151: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 151

Aut-num Object & mnt-routes

aut-num: AS1mnt-by: AS1-OPS-MNTmnt-routes: AS1-ROUTES-MNT

route: 128.8.0.0./16origin: AS1mnt-by: NOC-MNT

A route object 128.8.0.0/16 with origin AS1 can only be created when theauthentication in AS1-ROUTES-MNT and the authentication in NOC-MNT is matched.

This is a new object. It doesnot exist in the database yet.

Page 152: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 152

Inetnum Object & mnt-routes

aut-num: AS1mnt-by: AS1-OPS-MNTmnt-routes: AS1-ROUTES-MNT

inetnum: 128.8.0.0 – 128.8.255.255mnt-by: LIR-MNTmnt-routes: NOC-MNT

A route object 128.8.0.0/16 with origin AS1 can only be createdwhen the authentication in AS1-ROUTES-MNT and theauthentication in NOC-MNT is matched.

This is also true for more specific prefixes, e.g. 128.8.0.0/24.

This object exists already.

Page 153: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 153

Route Object & mnt-routes

aut-num: AS1mnt-by: AS1-OPS-MNTmnt-routes: AS1-ROUTES-MNT

route: 128.8.0.0./16origin: AS1mnt-by: NOC-MNTmnt-routes: SALES-MNT

A route object 128.8.0.0/24 with origin AS1 can only be createdwhen the authentication in AS1-ROUTES-MNT and theauthentication in SALES-MNT is matched.

This object already exists.

Page 154: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 154

Mnt-routes; Summary

• Aut-num object– origin attribute of the route object– mnt-routes– mnt-by

• Route object– exact or less specific match– mnt-routes– mnt-lower– mnt-by

Page 155: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 155

Mnt-routes; Summary 2

• Inetnum object– exact or less specific match– mnt-routes– mnt-lower– mnt-by

Page 156: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 156

Referral-by

• Refers to the mntner that created a mntner object• Is never changed after the mntner object is created• Usually points to database administrator

Page 157: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 157

Auth-override

• Date after which a mntner can be modified• Only the mntner in “referral-by” can do this• Only the mntner in “referral-by” can modify the mntner• auth-override attribute only added if inactive for 60 days• Value must be >= 60 days from current date

Page 158: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 158

Extra Object Types in RIPE Database Version 3

Page 159: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 159

Extra Object Types in RIPE DB Version 3

• Domain– Top Level Domain (TLD) and Reverse Delegations– referral mechanism

• inet6num– IPv6 address space object

• key-cert object– database public key certificate

• limerick– humorous poem, five lines, with rhyming scheme “aabba”

Page 160: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 160

Advanced Features

Page 161: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 161

Advanced Features

• Aggregation• Static Routes• Structured Policy• RAToolSet

– RTConfig

Page 162: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 162

Aggregation

route: 128.8.0.0/15 origin: AS1 components: {128.8.0.0/15^-} aggr-mtd: outbound AS-ANY inject: at 1.1.1.1 action dpa = 100; inject: at 1.1.1.2 action dpa = 110;

Page 163: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 163

Static Routes

route: 128.7.0.0/16 origin: AS1 inject: at 7.7.7.1

action next-hop = 7.7.7.2; cost = 10;upon static

inject: at 7.7.7.1action next-hop = 7.7.7.3; cost = 20;upon static

Page 164: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 164

Structured Policy

• Example: autonomous system, AS1• AS1 prefers routes with

– no community– community 1:20– community 1:10

• AS1 only accepts – AS2 routes from AS2– AS3 and AS4 routes from AS3– the routes of AS5’s customers from AS5

Page 165: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 165

Structured Policy for AS1

import:{from AS-ANY

accept ANY and not RS-MARTIANS;} refine {

from AS-ANY action pref =10;accept community(1:10);

from AS-ANY action pref=20;accept community(1:20);

from AS-ANY action pref=0;accept any;

} refine {from AS2 accept AS2;from AS3 accept AS3 or AS4;from AS5 accept AS5:AS-Customers;

}

Page 166: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 166

Structured Policy for AS3561

import:{from AS-ANY

accept ANY and not RS-MARTIANS;} refine {

from AS-ANY action pref =30;accept community(3561:70);

from AS-ANY action pref=20;accept community(1:20);

from AS-ANY action pref=0;accept any;

} refine {from AS2 accept AS2;from AS3 accept AS3 or AS4;from AS5 accept AS5:AS-Customers;

}

Page 167: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 167

AS3561’s Policies

aut-num: AS3561import: {

from AS-ANY action pref = 30;accept community(3561:70)

from AS-ANY action pref = 20;accept community(3561:80);

} refine {from AS1 accept AS1:AS-Customers;} except {

from AS2 accept AS2;from AS3 accept AS3;

}

AS1:AS-Customers contains AS2 and AS3.

Page 168: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 168

RAToolSet & RtConfig

Page 169: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 169

RAToolSet & RtConfig

• RAToolSet– http://www.isi.edu/ra/RAToolSet/– a set of policy analysis tools– RIPE DB Version 3 supports the query types

• RtConfig– a tool that generates vendor specific router configurations – use the policy data stored in the Internet Routing Registry– supports several formats

Page 170: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 170

Using RtConfig

• Register routing policy in the Internet Routing Regsitry• Create an RtConfig source file

– router configuration file– replace vendor-specific policy configuration commands with

RtConfig commands

• Run RtConfig– source file– Internet Routing Registry– % RtConfig < template > config-file

• Commands beginning with “@RtConfig” are instructions

Page 171: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 171

RAToolSet 2

• Route Object Editor• Autonomous system Object Editor • Other tools

– prtraceroute

Page 172: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 172

Route Object Editor

• Lists routes registered by a provider• Shows discrepancies• Shows holes• Can be used to correct these discrepancies

Page 173: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 173

Route Object Editor (roe) Example

Page 174: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 174

Autonomous system Object Editor (aoe)

Page 175: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 175

Useful Links

• RPSL http://www.isi.edu/ra/rps/training/• IRR http://www.irr.net/• RIPE http://www.ripe.net/

– http://www.ripe.net/rpsl/– http://www.ripe.net/ripe/docs/databaseref-manual.html

• RAToolSet – http://www.isi.edu/ra/RAToolSet

Page 176: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 176

Acknowledgements

• Cengiz Alaettinoglu– Packet Design Inc.– Provided the slides from which many of these slides are derived– But any errors are the responsibility of Ambrose Magee

• RIPE NCC– Joao Luis Silva Damas– Andrei Robachevsky– Engin Guenduez, Shane Kerr, Vesna Manojlovic– Engineering Group

Page 177: Routing Policy Specification Language

Tuesday, 28 August, 2001 ESI/Network Services Solutions 177

Acknowledgements 2

• Ericsson Services Ireland– Network Services Solutions