The Mysteries of the “Internet” BGP Community
Cisco documentation has always claimed there were four well-known communities (the Internet community being one of them), while the RFC 1997 lists three well-known values. Unfortunately, many people blindly copy the IOS documentation without asking themselves “what the heck is the Internet community”.
It was time to revisit the mystery. I’ve tried applying the Internet community to a network originated by the BGP routing process to see what its value is:
router bgp 65000
network 192.168.1.0 route-map SetInternet
!
route-map SetInternet
set community internet additive
While the router obediently attached the Internet community to the IP prefix, I was no wiser … all show outputs converted the community value into its symbolic name. I had to use Wireshark and analyze the actual routing updates between BGP neighbors to figure out that the Internet community has an illegal value 0:0. Obviously it’s not a well-known community.
Digging through old materials finally gave me the answer I was looking for: sometimes you need a permit all at the end of the ip community-list (like access-lists, the community-lists have an implicit deny all at the end) and someone decided that permit internet makes more sense than the familiar permit any (yes, that’s correct … you use the keyword internet to match any community in the ip community-list).
And just for the sake of completeness, let me conclude with a slide from late 1990s explaining this phenomenon:
Another amazing fact is that you still keep a 10-yrs-old presentation deck on your PC ;-)
May be 20 years later you could become a "I.T. Networking" historian.
I think I still have my Networkers presentation CD from 1995...somewhere...
@Ethan: don't worry, we all make the same mistake :) I wouldn't have spotted it if I hadn't been doing the background research for the BGP course.
thanks Ivan
RFC 1997 actually states its the default community. Which makes sense since by default routes will be advertised as normal.
"" Community A community is a group of destinations which share some common property.
Thanks for the pointer! I agree what you quoted defines the concept of communities, and of course the global routing table belongs to the Internet community. However, the RFC never defines the value for that community (because it cannot have a fixed value).
Using internet instead of all or any in access lists and value 0 for internet when setting community attributes is at least a bit counterintuitive.
I agree the RFC leaves a lot to be desired in making this clear. I think its important to note that this isn't just Cisco's interpretation of the RFC, but Junos documentation as well.
https://www.juniper.net/documentation/en_US/junose15.1/topics/concept/routing-policy-community-list-overview.html