Lesson Contents
This packet capture contains a BGP UPDATE with the well-known NO_ADVERTISE community. The route is 2.2.2.2/32, sent over iBGP from 192.168.23.2 to 192.168.23.3. The community tells the receiving router: use this route yourself, but don’t advertise it to any BGP neighbor, internal or external.
In the packet, a community is just a 32-bit value in the COMMUNITIES attribute. The BGP community no-advertise lesson shows the configuration and the result, and BGP communities explained covers the other well-known communities. More captures are in the Packet Capture Library.
Want to open this capture in Wireshark yourself? The pcap file is free with a NetworkLessons account. Your free account also unlocks all our free lessons and every capture in the Packet Capture Library.
Create a free account to download the pcap
Already have an account? Log in and the download button appears here.
Capture overview
| File | bgp-update-community-no-advertise.pcapng |
| Packets | 1 |
| Protocol | BGP-4, COMMUNITIES attribute (RFC 1997) |
| Transport | TCP 179, iBGP from 192.168.23.2 to 192.168.23.3 |
| Devices | Cisco IOS routers |
| Wireshark filter | bgp.update.path_attribute.community_wellknown == 0xffffff02 or bgp |
Packet walkthrough
The UPDATE (packet 1)
Border Gateway Protocol - UPDATE Message
Length: 63
Type: UPDATE Message (2)
Withdrawn Routes Length: 0
Total Path Attribute Length: 35
Path attributes
Path Attribute - ORIGIN: IGP
Flags: 0x40, Transitive, Well-known, Complete
Type Code: ORIGIN (1)
Length: 1
Origin: IGP (0)
Path Attribute - AS_PATH: empty
Flags: 0x40, Transitive, Well-known, Complete
Type Code: AS_PATH (2)
Length: 0
Path Attribute - NEXT_HOP: 192.168.23.2
Flags: 0x40, Transitive, Well-known, Complete
Type Code: NEXT_HOP (3)
Length: 4
Next hop: 192.168.23.2
Path Attribute - MULTI_EXIT_DISC: 0
Flags: 0x80, Optional, Non-transitive, Complete
Type Code: MULTI_EXIT_DISC (4)
Length: 4
Multiple exit discriminator: 0
Path Attribute - LOCAL_PREF: 100
Flags: 0x40, Transitive, Well-known, Complete
Type Code: LOCAL_PREF (5)
Length: 4
Local preference: 100
Path Attribute - COMMUNITIES: NO_ADVERTISE
Flags: 0xc0, Optional, Transitive, Complete
Type Code: COMMUNITIES (8)
Length: 4
Communities: NO_ADVERTISE
Community Well-known: NO_ADVERTISE (0xffffff02)
Network Layer Reachability Information (NLRI)
2.2.2.2/32
NLRI prefix length: 32
NLRI prefix: 2.2.2.2
What do we see here?
- COMMUNITIES, type code 8: one attribute that can hold many 4-byte communities. This one holds a single value.
- Flags 0xc0: optional transitive: routers that don’t care about communities still pass them on.
- NO_ADVERTISE = 0xFFFFFF02: well-known communities use the reserved range 0xFFFF0000-0xFFFFFFFF. 0xFFFFFF01 is NO_EXPORT (don’t send to eBGP neighbors), 0xFFFFFF02 is NO_ADVERTISE (don’t send to any neighbor), 0xFFFFFF03 is NO_EXPORT_SUBCONFED. Normal communities like 65000:100 are just the AS in the first 16 bits and a value in the last 16.
- LOCAL_PREF and an empty AS_PATH: an iBGP update. 192.168.23.3 installs 2.2.2.2/32, but it won’t include it in its updates to any other neighbor.
- On Cisco IOS, communities are only sent when
neighbor ... send-communityis configured. Without it, this attribute wouldn’t be in the packet at all.