BGP Communities From Omnibus Jump to: navigation, search BGP Communities BGP Communities are 32-bit values which are attached to a BGP route, to convey additional information about the route itself. In common usage, this is split into two 16-bit values using a colon (:), where the first half is used to define the ASN that the community "belongs to", and the second half is used to pass information. We classify the BGP Communities used by nLayer into two main types, Informational Tags (aka communities we send to customers) and Action Tags (aka communities customers send to us). Contents [hide] * 1 Informational Tags o 1.1 Relationships o 1.2 Continents/Subcontinents o 1.3 Regions + 1.3.1 North America + 1.3.2 Europe + 1.3.3 Asia o 1.4 City Codes * 2 Action Tags o 2.1 Import/Export Action Communities + 2.1.1 ASN Codes + 2.1.2 Action Codes + 2.1.3 Examples o 2.2 Route Preference Control Communities o 2.3 Other Actions Informational Tags Informational Tags are set by us, and are used to pass on information to the customer about where and how a particular route was learned, as well as for our internal routing policies. There should never be more than one Informational Tag on a route, and it is set when the route is first learned by our network. Information Tags are always used in the following format. Any BGP community which is 4436: followed by 5 digits can be assumed to be an Informational Tag, and these communities can not be passed to us from any other network. 4436:TCRPP T The type of relationship that the route was learned through C The continent where the route was learned R The region where the route was learned PP The POP location (city code) [edit] Relationships * 1 Transit * 2 Public Peer * 3 Private Peer * 4 Customer * 5 Internal [edit] Continents/Subcontinents * 1 North America * 2 Europe * 3 Asia * 4 Australia * 5 South America * 6 Africa * 7 Middle East [edit] Regions The Region attribute is a virtual 3x3 grid overlayed on top of the continent in the following structure: .-----------. | 1 | 2 | 3 | |-----------| | 4 | 5 | 6 | |-----------| | 7 | 8 | 9 | `-----------' * 1 North-West * 2 North * 3 North-East * 4 West * 5 Central * 6 East * 7 South-West * 8 South * 9 South-East [edit] North America * 1 Seattle * 2 Chicago * 3 New York, Boston, Montreal * 4 San Francisco, Palo Alto, San Jose * 5 Kansas City, Denver * 6 Ashburn, Washington DC * 7 Los Angeles, Phoenix * 8 Dallas, Houston * 9 Atlanta, Miami [edit] Europe * 1 United Kingdom * 2 Netherlands, Germany * 3 Poland, Western Russia * 4 France * 5 Northern Italy * 6 Romania * 7 Spain, Portugal * 8 Southern Italy * 9 Greece [edit] Asia * 1 Afghanistan, Pakistan * 2 China * 3 Korea, Japan * 4 ? * 5 India, Vietnam * 6 Hong Kong, Taiwan, Philippines * 7 ? * 8 Indonesia, Malaysia * 9 Papua New Guinea [edit] City Codes * 11 IAD - Ashburn VA US * 12 NYC - New York NY US * 13 SJC - San Jose CA US * 14 PAO - Palo Alto CA US * 15 SFO - San Francisco CA US * 16 ORD - Chicago IL US * 17 DFW - Dallas TX US * 18 LAX - Los Angeles CA US * 19 EWR - Newark NJ US * 20 AMS - Amsterdam NL * 21 TKO - Tokyo JP * 22 LHR - London UK * 23 ATL - Atlanta GA US * 24 PHX - Phoenix AZ US * 25 MTL - Montreal QC CA * 26 TOR - Toronto ON CA * 27 IAH - Houston TX US * 28 SEA - Seattle WA US * 29 DEN - Denver CO US * 30 MIA - Miami FL US [edit] Action Tags Action Tags are (optionally) set by the customer to provide instructions for special handling of a prefix, such as where it should be exported, attributes which should be changed by us, and other actions such as Null Routing. Customers may send as many Action Tags as they would like. Action Tags can be classified into three main types, Import/Export Actions which use location-specific tags, Preference Action tags which set BGP Local-Preference inside the nLayer network, and Other Actions. Import/Export Action Communities These communities define specific import/export behaviors, and contain location codes to specify which BGP sessions the actions should be applied to. The second half of the Community will always be 4 digits long, and will have the following structure: ASN:A0CR -or- ASN:A1PP ASN The Autonomous System Number to affect A The export action to perform C Continental code (or 0 for all continents) R Regional code (or 0 for all regions) PP POP Location code (city code) [edit] ASN Codes * 4436 Apply to all neighboring ASNs * #### Apply to specific ASN #### * 65001 Apply to all Transits * 65002 Apply to all Peers * 65003 Apply to all Customers [edit] Action Codes * 1 Prepend AS-PATH with 4436 on export * 2 Prepend AS-PATH with 4436 4436 on export * 3 Prepend AS-PATH with 4436 4436 4436 on export * 4 Prepend AS-PATH with 4436 4436 4436 4436 on export * 5 Force exported MED value to 0 * 6 Do Not Export * 8 Do Not Import (applied at IBGP reflection layer) * 9 Override Do Not Export (action 6) tag [edit] Examples 4436:1000 Prepend 1x globally 4436:2010 Prepend 2x in North America 4436:3111 Prepend 3x in Ashburn 1299:6000 No-export to Telia/AS1299 globally 65001:6020 No-export to Transits in Europe [edit] Route Preference Control Communities These communities set the BGP local-preference values assigned to customer prefixes at import time. * 4436:50 Set local preference to 50 (backup only) * 4436:100 Set local preference to 100 (transit preference) * 4436:150 Set local preference to 150 (between transit and peer) * 4436:200 Set local preference to 200 (peer preference) * 4436:250 Set local preference to 250 (between peer and customer) * 4436:300 Set local preference to 300 (customer preference) * 4436:350 Set local preference to 350 (above default customer) [edit] Other Actions * 4436:666 Null route all traffic to this prefix globally * 4436:999 Do not export out of the current region