Lesson Contents
This packet capture contains a BGP UPDATE that was reflected by a route reflector. A normal iBGP update and a reflected one look almost the same. The difference is two attributes that only a route reflector adds: ORIGINATOR_ID and CLUSTER_LIST.
Those two attributes are how iBGP prevents loops once you stop using a full mesh. The BGP route reflector lesson explains clients, clusters and the reflection rules. 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-route-reflector-update-originator-id-cluster-list.pcapng |
| Packets | 1 |
| Protocol | BGP-4, route reflection (RFC 4456) |
| Transport | TCP 179, from the route reflector 192.168.13.1 to 192.168.13.3 |
| Devices | Cisco IOS routers, route reflector with cluster ID 192.168.13.1 |
| Wireshark filter | bgp.update.path_attribute.originator_id or bgp |
Packet walkthrough
The reflected UPDATE (packet 1)
Border Gateway Protocol - UPDATE Message
Length: 70
Type: UPDATE Message (2)
Withdrawn Routes Length: 0
Total Path Attribute Length: 42
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.13.3
Flags: 0x40, Transitive, Well-known, Complete
Type Code: NEXT_HOP (3)
Length: 4
Next hop: 192.168.13.3
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 - CLUSTER_LIST: 192.168.13.1
Flags: 0x80, Optional, Non-transitive, Complete
Type Code: CLUSTER_LIST (10)
Length: 4
Cluster List: 192.168.13.1
Cluster ID: 192.168.13.1
Path Attribute - ORIGINATOR_ID: 3.3.3.3
Flags: 0x80, Optional, Non-transitive, Complete
Type Code: ORIGINATOR_ID (9)
Length: 4
Originator identifier: 3.3.3.3
Network Layer Reachability Information (NLRI)
3.3.3.3/32
NLRI prefix length: 32
NLRI prefix: 3.3.3.3
There are a few things worth pointing out:
- AS_PATH empty and LOCAL_PREF 100: an iBGP route that was originated inside this AS. Reflection doesn’t add anything to the AS path.
- NEXT_HOP 192.168.13.3 unchanged: a route reflector doesn’t change the next hop of reflected routes.
- ORIGINATOR_ID 3.3.3.3 (type 9): the router ID of the router that put this route into iBGP. The route reflector adds it when it reflects the route. A router that receives an update with its own router ID in this attribute drops it, because it’s looking at its own route coming back.
- CLUSTER_LIST 192.168.13.1 (type 10): the cluster IDs of every route reflector that reflected this route. By default the cluster ID is the route reflector’s router ID. A route reflector that finds its own cluster ID in the list drops the update: that’s the loop check between route reflectors.
- Flags 0x80, optional non-transitive for both attributes: they only have meaning inside the AS. They’re never sent to an eBGP neighbor.