BGP Tutorial for ISP customers – BGP community string from ISP

Most of the decent size of ISP provides BGP community string for their customer. By using icon_BGP.pngBGP community string, you can control our announcement globally and it instantly affects your inbound traffic. In these days, modifying backbone routing policy in ISP is common. They don’t want to loose their customer’s traffic, so they apply BGP attribute to customer’s announcement to avoid those traffic is leaving their backbone.

 

 

 

Customer might believe they have faster backbone than other service provider.
Yes, not true. That is just cheap trick. Don’t forget sucking traffic by cheap trick make more chance to congestion link in somewhere.

I always encourage customer to use BGP community string to control your BGP announcement and make a balancing inbound traffic if you have more than two ISP links.

ISP are mainly using Local preference which is only validate within AS. It won’t transfer between ASs. If you are not using BGP community string that the ISP provided, you cannot see expected inbound traffic on your path. Remember, local-pref is realistically highest attribute.

 

Applying BGP Community string with sample configuration

1. Get the latest BGP community string from your ISP/upstream provider or check new.CiscoNET.com web site.

2. Pick the best BGP community string for your traffic shaping plan (mainly incoming traffic). Most of ISPs are providing BGP community string with local preference and AS prepending option. Cannot tell which one is better than the other. It will
depend on your global traffic shaping plan.

3. Follow the below commands ( Cisco only )
The below Sample configuration will tag the 10.0.0.0/24 route with [ISP AS]:120 or [ISP AS]:3 and will not tag any other routes.

Cisco_Router#config t
Cisco_Router(config)#ip bgp-community new-format
Cisco_Router(config)#access-list 10 permit 10.0.0.0 0.0.0.255
Cisco_Router(config)#access-list 10 deny any

Cisco_Router(config)#route-map [to-ISP] permit 10
Cisco_Router(config-route-map)#match ip address 10
Cisco_Router(config-route-map)#set community [ISP AS]:120 <—- using Local Preference

or

Cisco_Router (config-route-map)#set community [ISP AS]:3 <——- using AS prepending
Cisco_Router (config-route-map)#route-map [to-ISP] permit 20
Cisco_Router (config-route-map)#exit

Cisco_Router (config)#router bgp [xxxx] <——————————- xxxx = customer’s ASN
Cisco_Router (config-router)#neighbor x.x.x.x send-community
Cisco_Router (config-router)#neighbor x.x.x.x route-map [to-ISP] out
Cisco_Router (config-router)#exit
Cisco_Router (config)#exit
Cisco_Router #copy running-config startup-config

4. And then, go to www.routeserver.org and pick one of route server on the map to see your announcement. If you are using AS prepending option, you will see your AS prepends on route servers. Sometime you might not see your route with particular ISP path.
In most of case it might not be any routing problem, just the route path was dropped at somewhere by BGP best path selection scheme. Try Oregon route server, if you can see your route. The Oregon route server is providing many possible and available paths between BGP
speakers and neighbors. If you don’t see your route on there? check other route servers and also check your BGP configuration. You might need to contact your upstream provider to check what they are learning BGP route from you.


If you have any questions, please use our forum page at forum.showipbgp.com.

Author: Chris Yoon

IT professional