BGP Essentials: AS-path prepending

Enterprise networks primarily use BGP with their Internet Service Providers if they want to be multi-homed (connected to more than one ISP). A very common requirement in a multi-homed design is the primary/backup setup where the lower speed (or sometimes lower quality) link should only be used when the primary link fails.

Competent ISPs help their customers reach this goal by using BGP local preference within their network and giving the customers the ability to indicate the desired value of BGP local preference through BGP communities: if the route received directly from the customer has low local preference, all other routes are preferred, resulting in the desired traffic flow that avoids the backup link if at all possible as shown in the next diagram:

Sometimes you are forced to deal with less than ideal ISPs (or the two ISPs you’re using are so far apart in the Internet topology that the BGP local preference solution doesn’t work). In these cases, the only means of influencing BGP route selection in the Internet is the extension of the AS path attribute (routes with shorter AS paths are preferred) with multiple copies of your own AS number: AS-path prepending. AS-path prepending is configured in Cisco IOS with route-map based per-neighbor outbound filter. The actual prepending is specified within the route-map with the set as-path prepend command, as illustrated in the following sample configuration:

router bgp 65001
neighbor 10.1.0.2 remote-as 65200
neighbor 10.1.0.2 description Backup ISP
neighbor 10.1.0.2 route-map prepend out
!
route-map prepend permit 10
set as-path prepend 65001 65001 65001

If you're looking for more in-depth BGP knowledge, try our Configuring BGP on Cisco Routers e-learning solution. If you just need to enhance your hands-on skill, the BGP Remote Lab Bundle is the perfect choice.

8 comments:

Guest said...

very nice! This is what I was looking for

AL IPBB said...

G'day,

May I know what is the signinficance of the "10" in route-map prepend permit 10? Thanks!

Cheers!

VzW Data Engineer said...

Perfectly what I was looking for!

roshko said...

AL IPBB:
This is the sequence for the route map rules.
You can have multiple route map entries with a single name.
route-map blah permit 10
match whatever
set anything
route-map blah permit 20
match otherthings
set otherstuff

and so on..
The lookup stops when a matching rule is found.

cheers

Anonymous said...

Brilliant and striaght to the point!

Khan said...

@Ivan, the config u have shown is to be applied on customers router or ISP router??? and i didnot completely understand about using local preference.. can u pls explain?

Ivan Pepelnjak said...

The config would be applied on the customer router.

UBADIRE said...

Please who knows what prepending on internet is all about? Please i need help on this.

Ivan Pepelnjak, CCIE#1354, is the chief technology advisor for NIL Data Communications. He has been designing and implementing large-scale data communications networks as well as teaching and writing books about advanced technologies since 1990. See his full profile, contact him or follow @ioshints on Twitter.