SlideShare a Scribd company logo
Practical Implementation of BGP Community
with Geotags
Muhammad Moinur Rahman
1Asia Alliance Communication Ltd
moin@1asia-ahl.com
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
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
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
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
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
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
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
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.
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
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
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.
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
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.
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.
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
Definitions - Types
•  Type of routes
– 1XYYP – Transit
– 2XYYP – Public Peer
– 3XYYP – Private Peer
– 4XYYP – Customer
– 5XYYP – Internal
Definitions (Contd)
•  Continents
– T0YYP – Asia
– T1YYP – Africa
– T2YYP – Europe
– T3YYP – North America
– T4YYP – South America
– T5YYP – Australia
– T6YYP – Antarctica
Definitions (Contd)
•  Countries
– T001P – Bangladesh
– T002P – Singapore
– T201P – United Kingdom
– T202P – France
– So on ..
Definitions (Contd)
•  PoP
– T0011 – Central NOC
– T0021 – Singapore Global Switch
– T0022 – Singapore Equinix
– T2011 – United Kingdom Telehouse North
– T3011 – United States TelX
– So on ..
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
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

More Related Content

PDF
SGNOG2 - Using communities for multihoming ISP workshop
PPT
BGP Communities: A Guide for Service Provider Networks
PDF
Practical Implementation of Large BGP communities with Geotags and Traffic En...
PDF
Practical Implementation of Large BGP Community with Geotags and Traffic Engi...
PPTX
Introduction to Wide Area Network Routing
PPT
BGP Overview
PPT
Bigbgp (1)
SGNOG2 - Using communities for multihoming ISP workshop
BGP Communities: A Guide for Service Provider Networks
Practical Implementation of Large BGP communities with Geotags and Traffic En...
Practical Implementation of Large BGP Community with Geotags and Traffic Engi...
Introduction to Wide Area Network Routing
BGP Overview
Bigbgp (1)

Similar to Practical Implementation of BGP Community with Geotags (20)

PPT
bgp1 cryptogrphy and network security.ppt
PDF
multihoming_202001tttyuyuyyoiouihh25.pdf
PPT
PPTX
Implementing Internet and MPLS BGP
DOCX
Cisco BGP Exam 642-661 Review Notes
PDF
Computer network (14)
PDF
Bgp fine tuning
PPT
bgp(border gateway protocol)
PDF
U5CSS2 (1).pdf
PDF
T4 Handout3
PPTX
15 coms 525 tcpip - border gateway protocols
PPT
PDF
Troubleshooting BGP
PPT
PDF
How BGP Works
PPT
Bgp For Presentation
PDF
Using MikroTik routers for BGP transit and IX points
bgp1 cryptogrphy and network security.ppt
multihoming_202001tttyuyuyyoiouihh25.pdf
Implementing Internet and MPLS BGP
Cisco BGP Exam 642-661 Review Notes
Computer network (14)
Bgp fine tuning
bgp(border gateway protocol)
U5CSS2 (1).pdf
T4 Handout3
15 coms 525 tcpip - border gateway protocols
Troubleshooting BGP
How BGP Works
Bgp For Presentation
Using MikroTik routers for BGP transit and IX points
Ad

More from Muhammad Moinur Rahman (13)

PDF
FreeBSD is not Linux
PDF
Introduction to Blockchain
PDF
Network tips tricks
PDF
IRR toolset with rpsl
PDF
Importance of sshfp and configuring sshfp for network devices
PDF
BGP communities and geotags
PDF
The FreeBSD - PRIMER
PDF
FreeBSD Portscamp, Kuala Lumpur 2016
PDF
Software defined networking: Primer
PDF
Introduction to SDN
PDF
Rpki with rpki.net tools
PDF
FreeBSD and Hardening Web Server
PDF
Blockchain - The future of internet
FreeBSD is not Linux
Introduction to Blockchain
Network tips tricks
IRR toolset with rpsl
Importance of sshfp and configuring sshfp for network devices
BGP communities and geotags
The FreeBSD - PRIMER
FreeBSD Portscamp, Kuala Lumpur 2016
Software defined networking: Primer
Introduction to SDN
Rpki with rpki.net tools
FreeBSD and Hardening Web Server
Blockchain - The future of internet
Ad

Recently uploaded (20)

PDF
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
PDF
Tenda Login Guide: Access Your Router in 5 Easy Steps
PPT
tcp ip networks nd ip layering assotred slides
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PPTX
Digital Literacy And Online Safety on internet
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PDF
Paper PDF World Game (s) Great Redesign.pdf
PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
PPTX
Introuction about WHO-FIC in ICD-10.pptx
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PPTX
artificial intelligence overview of it and more
PDF
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
PPTX
international classification of diseases ICD-10 review PPT.pptx
PPTX
SAP Ariba Sourcing PPT for learning material
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PPTX
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
PPTX
Introuction about ICD -10 and ICD-11 PPT.pptx
PPTX
Internet___Basics___Styled_ presentation
PDF
Sims 4 Historia para lo sims 4 para jugar
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
Tenda Login Guide: Access Your Router in 5 Easy Steps
tcp ip networks nd ip layering assotred slides
introduction about ICD -10 & ICD-11 ppt.pptx
Digital Literacy And Online Safety on internet
Unit-1 introduction to cyber security discuss about how to secure a system
Paper PDF World Game (s) Great Redesign.pdf
SASE Traffic Flow - ZTNA Connector-1.pdf
Introuction about WHO-FIC in ICD-10.pptx
Slides PPTX World Game (s) Eco Economic Epochs.pptx
artificial intelligence overview of it and more
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
international classification of diseases ICD-10 review PPT.pptx
SAP Ariba Sourcing PPT for learning material
Decoding a Decade: 10 Years of Applied CTI Discipline
RPKI Status Update, presented by Makito Lay at IDNOG 10
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
Introuction about ICD -10 and ICD-11 PPT.pptx
Internet___Basics___Styled_ presentation
Sims 4 Historia para lo sims 4 para jugar

Practical Implementation of BGP Community with Geotags

  • 1. Practical Implementation of BGP Community with Geotags Muhammad Moinur Rahman 1Asia Alliance Communication Ltd moin@1asia-ahl.com
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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.
  • 10. 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
  • 11. 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
  • 12. 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.
  • 13. 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
  • 14. 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.
  • 15. 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.
  • 16. 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
  • 17. Definitions - Types •  Type of routes – 1XYYP – Transit – 2XYYP – Public Peer – 3XYYP – Private Peer – 4XYYP – Customer – 5XYYP – Internal
  • 18. Definitions (Contd) •  Continents – T0YYP – Asia – T1YYP – Africa – T2YYP – Europe – T3YYP – North America – T4YYP – South America – T5YYP – Australia – T6YYP – Antarctica
  • 19. Definitions (Contd) •  Countries – T001P – Bangladesh – T002P – Singapore – T201P – United Kingdom – T202P – France – So on ..
  • 20. Definitions (Contd) •  PoP – T0011 – Central NOC – T0021 – Singapore Global Switch – T0022 – Singapore Equinix – T2011 – United Kingdom Telehouse North – T3011 – United States TelX – So on ..
  • 21. 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
  • 22. 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