BGP can be set up for your connection if you are dual homed to Sprint, or multi-homed to another provider. This document is intended to provide enough information for you to evaluate your options in setting up your BGP session.
BASIC REQUIREMENTS
- You must be multi-homed to run BGP
- You must have an AS number from ARIN, RIPE or APNIC
- You must have IOS 10.3 or higher to run BGP and we do not turn up new BGP sessions with anything less than version 10.3
- You must be capable of configuring your BGP session. Sprint does not provide assistance in configuring customer routers for BGP.
- You should NOT configure unfiltered redistribution from your interior routing protocol into BGP.
- Explicit distribute-list or network statements should be used to prevent injections of invalid routes into global tables.
- You should NOT redistribe routes from BGP into your interior routing protocols, as it corrupts as-path information.
- You should configure filters that prevent leakage of routing information from your other service providers to us and vice versa. Filters should be inclusive, rather than exclusive i.e. they should list customer ASs instead of excluding other provider’s ASs).
- IP blocks for several specific routes should be aggregated into larger routes as much as possible.
- Networks listed in configuration should be sane (i.e. no networks assigned to other customers, subnets should never be announced outside, etc).
RESTRICTIONS
- Sprint will not run EBGP Multi-hop except for load balancing purposes between the loopback addresses of the Customer and Sprint routers that share multiple serial connections.
- Sprint reserves the right to aggregate any announcement for a network smaller than /19 when advertising to external peers such as AT&T, UUnet etc.
- Customers will not be permitted to use ‘*’ wildcards in their requested route filters.
WHAT TO EXPECT
NEW CIRCUIT INSTALLATION:
At the time of circuit installation, inform the installation engineer that you want to configure BGP, and be prepared to complete the BGP request form.
CONVERSION FROM STATIC ROUTING:
- Complete the BGP request form.
- Sprint will configure their side of the line and copy the customer with the BGP configuration changes. (Your static routes will not be removed at this time)
- Once Sprint is finished configuring its portion, you are responsible for initiating or clearing the BGP session.
- Once you are satisfied that the session is up and running, you should notify the Sprintlink Support Team to remove your old static routes. Please use the Comments section of the BGP request form to contact the Sprintlink Support Team.
MODIFICATIONS:
Any time you need to modify your BGP filter, you must complete the BGP request form. Sprint will take action on all requests within 36 hours of receipt of the request. Please use the Comments section of the BGP request form for any questions that you may have.
WHAT YOU CAN CONTROL
AS-PATH PREPENDS
Sprint allows customers to use AS-path prepending to adjust route preference on the network. Such prepending will be received and passed on properly without notifiying Sprint of your change in announcments.
Additionally, Sprint will prepend AS1239 to eBGP sessions with certain autonomous systems depending on a received BGP community. Currently, the following ASes are supported: 1668, 209, 2914, 3300, 3356, 3549, 3561, 4635, 701, 7018, 702 and 8220.
BGP Community String
|
Resulting AS Path to ASXXX
|
---|---|
65000:XXX
|
Do not advertise to ASXXX
|
65001:XXX
|
1239 (default) …
|
65002:XXX
|
1239 1239 …
|
65003:XXX
|
1239 1239 1239 …
|
65004:XXX
|
1239 1239 1239 1239 …
|
BGP Community String
|
Resulting AS Path to ASXXX in Asia
|
---|---|
65070:XXX
|
Do not advertise to ASXXX
|
65071:XXX
|
1239 (default) …
|
65072:XXX
|
1239 1239 …
|
65073:XXX
|
1239 1239 1239 …
|
65074:XXX
|
1239 1239 1239 1239 …
|
BGP Community String
|
Resulting AS Path to ASXXX in Europe
|
---|---|
65050:XXX
|
Do not advertise to ASXXX
|
65051:XXX
|
1239 (default) …
|
65052:XXX
|
1239 1239 …
|
65053:XXX
|
1239 1239 1239 …
|
65054:XXX
|
1239 1239 1239 1239 …
|
BGP Community String
|
Resulting AS Path to ASXXX in North America
|
---|---|
65010:XXX
|
Do not advertise to ASXXX
|
65011:XXX
|
1239 (default) …
|
65012:XXX
|
1239 1239 …
|
65013:XXX
|
1239 1239 1239 …
|
65014:XXX
|
1239 1239 1239 1239 …
|
BGP Community String
|
Resulting AS Path to all supported ASes
|
---|---|
65000:0
|
Do not advertise
|
65001:0
|
1239 (default) …
|
65002:0
|
1239 1239 …
|
65003:0
|
1239 1239 1239 …
|
65004:0
|
1239 1239 1239 1239 …
|
BGP Community String
|
Resulting AS Path to all supported ASes in Asia
|
---|---|
65070:0
|
Do not advertise
|
65071:0
|
1239 (default) …
|
65072:0
|
1239 1239 …
|
65073:0
|
1239 1239 1239 …
|
65074:0
|
1239 1239 1239 1239 …
|
BGP Community String
|
Resulting AS Path to all supported ASes in Europe
|
---|---|
65050:0
|
Do not advertise
|
65051:0
|
1239 (default) …
|
65052:0
|
1239 1239 …
|
65053:0
|
1239 1239 1239 …
|
65054:0
|
1239 1239 1239 1239 …
|
BGP Community String
|
Resulting AS Path to all supported ASes
in North America |
---|---|
65010:0
|
Do not advertise
|
65011:0
|
1239 (default) …
|
65012:0
|
1239 1239 …
|
65013:0
|
1239 1239 1239 …
|
65014:0
|
1239 1239 1239 1239 …
|
LOCAL PREFERENCE
You can control the local preference for your announcements on the Sprint router using a BGP community string which you may pass to Sprint in your BGP session. The following table lists the BGP community strings and the corresponding local preference that Sprint will set in the network. Remember that BGP community strings are not exported by default, so be sure to add whatever export command is necessary for your router.
BGP Community String
|
Resulting Local Pref |
1239:70 | 70 |
1239:80 | 80 |
1239:90 | 90 |
1239:100 | 100 |
1239:110 | 110 |
MED (Multi Exit Discriminator)
Sprint accepts MEDs from all customers to adjust route preference on the network.
NO-EXPORT
Sprint will accept the well-known community "no-export".
TRANSIT TO NON-TRANSIT
Sprint allows transit customers to tag routes to be non-transit by sending BGP community String "1239:600". A non-transit route will not be advertised as a Sprint customer route. This route will still be advertised to customers who receive the full Internet routing table, but will not be advertised to eBGP peers who only wish to receive Sprint customer routes.
REMOTE TRIGGERED BLACKHOLE
- Customer must be using a prefix style filter with Sprint. Wildcards will not be allowed in the filter.
- Customer must have MD5 passwords enabled on the BGP session(s) with Sprint.
- The route will only be nullrouted on the directly peering router. If the customer has multiple connections with Sprint, the tagged prefix must be announced though each peering session.
- This policy is subject to change and the capability may be globally revoked if operational issues are found that affect the stability of Sprint’s network.
- Sprint is not responsible for any misconfiguration on the customer equipment which results in unintended traffic loss.
Applying BGP Community string with sample configuration
1. Get the latest BGP community string from your ISP/upstream provider or check www.ShowipBGP.com web site.
2. Pick the best BGP community string for your traffic shaping plan (mainly incoming traffic).
Most of ISPs are providing 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.
router#config t
router(config)#ip bgp-community new-format
router(config)#access-list 10 permit 10.0.0.0 0.0.0.255
router(config)#access-list 10 deny any
router(config)#route-map [to-ISP] permit 10
router(config-route-map)#match ip address 10
router(config-route-map)#set community [ISP AS]:120 <—- using Local Preference
or
router(config-route-map)#set community [ISP AS]:3 <——- using AS prepending
router(config-route-map)#route-map [to-ISP] permit 20
router(config-route-map)#exit
router(config)#router bgp [xxxx] <——————————- xxxx = customer’s ASN
router(config-router)#neighbor x.x.x.x send-community
router(config-router)#neighbor x.x.x.x route-map [to-ISP] out
router(config-router)#exit
router(config)#exit
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.