+ All Categories
Home > Internet > Practical Implementation of BGP Community with Geotags

Practical Implementation of BGP Community with Geotags

Date post: 22-Feb-2017
Category:
Upload: bangladesh-network-operators-group
View: 210 times
Download: 1 times
Share this document with a friend
22
Practical Implementation of BGP Community with Geotags Muhammad Moinur Rahman 1Asia Alliance Communication Ltd [email protected]
Transcript
Page 1: Practical Implementation of BGP Community with Geotags

Practical Implementation of BGP Community with Geotags

Muhammad Moinur Rahman 1Asia Alliance Communication Ltd

[email protected]

Page 2: Practical Implementation of BGP Community with Geotags

GeoTAGS •  Geographical Identification Metadata •  A form of GeoSpatial Metadata

–  Applicable to objects that have GeoGraphic Extent –  Or applicable to objects with some position on this

Earth –  Objects like Photo, Audio/Video Files, SMS Messages –  Unlikely but true DNS information (LOC resources)

•  Facebook Check-in or Photos @ –  Adds Geotaggs in our Facebook updates –  Adds Geotaggs in our Facebook Photos

Page 3: Practical Implementation of BGP Community with Geotags

Geotags in BGP Routes

•  A router is a device which intelligently routes packets – Not a Phone – Not a Camera – Not a GPS Device

•  How can we add metatags in a route? – GeoCoding

Page 4: Practical Implementation of BGP Community with Geotags

Geocoding •  A process of enriching description of a

location •  Most frequently a postal address/place with

GeoGraphic co-ordinates – From a Spatial Reference Data

•  Or reverse Geocoding •  Enriching a GeoGraphic Co-ordinate with a

postal address/place – Facebook/Google Plus and other social sites use

reverse Geocoding for our Check-in

Page 5: Practical Implementation of BGP Community with Geotags

BGP routes with location information

•  Routers don’t have a builtin GPS device •  Need a process to manually Geocode it’s

route-origin •  Need to add a tag to the route objects or

group of routes •  Answer : BGP Communities

Page 6: Practical Implementation of BGP Community with Geotags

BGP Communities

•  A BGP attribute (RFC1997) •  A mechanism for coloring or (GEO)tagging

route destinations or a group of route destinations

•  A 4-byte value (RFC1998) •  Two types of communities

– Regular – Extended

Page 7: Practical Implementation of BGP Community with Geotags

BGP Communities(Contd) •  A 32-bit integer isn’t always easy to work with

–  More common convention is to split into two 16-bit values –  Commonly <local-ASN>:value e.g 10102:0 (Sorry no help

for 4 byte ASNs) –  Specially reserved (0:0 – 0:65535 and 65535:0 –

65535:65535) –  First value is intended to define the scope or “target”

•  So you know if this community is “for you” or someone else •  So two networks don’t do conflicting things with the same data

–  Second value is arbitrary data for the targeted network •  Whatever data you’re trying to encode

Page 8: Practical Implementation of BGP Community with Geotags

BGP Community Tags •  Can be added to a particular prefix

–  set community 10102:100 – Set community 10102:90 additive

•  Can be matched by route-map –  ip community-list PEER-ROUTES 10102:6600 –  community-set PEER

10102:31021 end-set

•  Can be deleted from particular prefixes •  Full control over community tags

Page 9: Practical Implementation of BGP Community with Geotags

Cause •  A scalable network needs them for its own use

–  Be able to identify customers, transits, peers, etc –  To perform traffic engineering and export controls –  There is no other truly acceptable implementation

•  But customers love using them as well –  “Power user” customers demand this level of control. –  Having self-supporting customers doesn’t hurt either. –  The more powerful you make your communities, the

more work it will save you in the long run.

Page 10: Practical Implementation of BGP Community with Geotags

Practical consideration •  Most routers parse BGP communities as strings

rather than integers, using Regular Expressions. –  Design your community system with this in mind. –  Think strings and character positions, not numbers. –  For Example, 10102:1234 can easily be parsed as

•  Field #1, Value 1 •  Field #2, Value 23 •  Field #3, Value 4

–  But can’t easily be parsed numerically •  For example as “larger than 1233”.

–  Remember not to exceed 65535 as a 16-bit value. (65536 options) to represent

•  Carried across AS

Page 11: Practical Implementation of BGP Community with Geotags

Types of Implementation •  Practical BGP Communities Implementation can

essentially be classified into two types: •  Informational tags

–  Communities set by and sent from a provider network, to tell their customers (or other interested parties) something about that route.

•  Action tags –  Communities set by and sent from a customer network, to

influence the routing policies of the provider network –  Alter route attributes on demand –  Both globally and within own network –  Control the import/export of routes

Page 12: Practical Implementation of BGP Community with Geotags

Informational tags •  Information communities typically focus on

–  Where the route was learned •  AKA Geographic data (continent, country, region, city, etc in

short geotag) –  How the route was learned

•  AKA Relationship data (transit, peer, customer, internal, etc) –  There is no other good way to pass on this data

•  This data is then used to make policy decisions –  Either by you, your customer, or an unknown third party. –  Exporting this data to the Internet can provide invaluable

assistance to third party networks you may never even know about. This is usually a good thing for everyone.

Page 13: Practical Implementation of BGP Community with Geotags

Ways to encode Information •  Encode simple arbitrary data

– No standards, each network defines its own mapping

•  Which must be published somewhere like ASN description in IRR for others to use

– Ex: Continent (1 = Asia, 2 = Africa, etc) – Ex: Relationship (1 = Transit, 2 = Public Peer, etc)

•  Standards based encoding – Ex: ISO 3166 encodes Country Codes into 2

digits

Page 14: Practical Implementation of BGP Community with Geotags

Providing information •  As always, the exact design decision

depends on specific network and footprint. •  Networks in only a few major cities may want

to focus on enumerating those cities in a short list.

•  Networks in a great number of cities may want to focus on regional aggregation specific to their scope.

•  Plan for the future! – Changing community design after it is already

being used by customers may prove impossible.

Page 15: Practical Implementation of BGP Community with Geotags

Practical Use of Informational Tags

•  Make certain that Informational Tags from your Action Tags can easily be distinguished

•  Ex: Make Informational Tags always 5 characters in length, and action tags to be 4 characters or less.

•  This allow to easily match Info tags: “10102:.{5}” •  Filter communities from neighbors

–  None is allowed to send Informational tags, these should only be set by Service Provider, and these should be stripped from all BGP neighbors (customers, transits, peers, etc).

–  Otherwise there is a massive security problem.

Page 16: Practical Implementation of BGP Community with Geotags

A simple approach towards providing information

•  For example: 10102:TCCCP – T Type of Relationship – C Continent Code – CC Country Code – P POP Code

•  The community 10102:21021 could be parsed as: – Public Peer – Asia – Singapore – Equinix

Page 17: Practical Implementation of BGP Community with Geotags

Definitions - Types

•  Type of routes – 1XYYP – Transit – 2XYYP – Public Peer – 3XYYP – Private Peer – 4XYYP – Customer – 5XYYP – Internal

Page 18: Practical Implementation of BGP Community with Geotags

Definitions (Contd)

•  Continents – T0YYP – Asia – T1YYP – Africa – T2YYP – Europe – T3YYP – North America – T4YYP – South America – T5YYP – Australia – T6YYP – Antarctica

Page 19: Practical Implementation of BGP Community with Geotags

Definitions (Contd)

•  Countries – T001P – Bangladesh – T002P – Singapore – T201P – United Kingdom – T202P – France – So on ..

Page 20: Practical Implementation of BGP Community with Geotags

Definitions (Contd)

•  PoP – T0011 – Central NOC – T0021 – Singapore Global Switch – T0022 – Singapore Equinix – T2011 – United Kingdom Telehouse North – T3011 – United States TelX – So on ..

Page 21: Practical Implementation of BGP Community with Geotags

Let’s start geoconfiguring!! router bgp 10102 neighbor x.x.x.x remote-as 58656 neighbor x.x.x.x description bdHUB @Telx NYC neighbor x.x.x.x route-map as58656-in in neighbor x.x.x.x send-community ! route-map as58656-in permit 10 set community 10102:43011

Page 22: Practical Implementation of BGP Community with Geotags

References 1.  Using Communities for Multihoming (

http://bgp4all.com/ftp/isp-workshops/BGP%20Presentations/09-BGP-Communities.pdf)

2.  BGP Techniques for Internet Service Providers – Philip Smith 3.  BGP Communities: A guide for Service Providers – Richard A.

Steenbergen & Tom Scholl


Recommended