Visual RFC.
ALL RFCs / RFC 1997
Read the RFC ↗

RFC 1997 / START HERE

BGP Communities, before the details

BGP Communities Attribute

BGP means Border Gateway Protocol. Routers use it to exchange routes to destinations. A community is a tag that groups destinations for routing policy; one route can carry several values.

The idea in one picture

  1. Attach route tags

  2. Match local policy

  3. Respect propagation limits

A simplified picture of the idea; the chapters explain the actual mechanisms.

Why it exists

Operators can match a group instead of maintaining a separate rule for every destination. This RFC defines the classic four-octet tags and three well-known propagation limits; later updates clarify policy behavior and malformed attributes.

A familiar example

Imagine a route tagged to stay inside a network’s routing boundary. NO_EXPORT restricts where peers advertise it, while NO_ADVERTISE stops every re-advertisement. These are route-policy tags, not authentication or encryption.

Helpful background

You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.

What you’ll learn next

Begin with chapter one, or choose a topic.

  1. Attach policy tags to routesBGP means Border Gateway Protocol. Its peers exchange routes to destinations. A community groups destinations with a shared property; a route can carry several community values.
  2. Read four-octet values and reserved rangesEach community is a 32-bit value. For the non-reserved range, the first two octets identify an AS and the final two have AS-defined meaning.
  3. Find the export boundaryA BGP confederation groups member ASes behind one external boundary. NO_EXPORT and NO_EXPORT_SUBCONFED stop advertisements at different boundaries. The illustrated peers understand and retain the communities.
  4. Stop every re-advertisement with NO_ADVERTISENO_ADVERTISE has a stricter scope than an export-boundary tag: the received route must not be advertised to any other BGP peer.
  5. Carry component communities into an aggregateAggregation combines more-specific routes into a broader route. RFC 1997 gives a conditional recommendation about the aggregate community set.
  6. Make local policy behavior explicitRFC 1997 allows local modification of communities. Its RFC 8642 update explains why a policy command named set must not be assumed to mean the same thing everywhere.
  7. Handle malformed attributes without inventing trustRFC 7606 updates community error handling. A recognized community attribute with an invalid value length is not the same as an unfamiliar, well-formed tag.
Start with chapter one →

This introduction explains RFC 1997 (1996). Read the original RFC ↗