By default, BGP updates are sent on a neighbor-to-neighbor basis and the result is more CPU resources being used, also by
implementing non-default settings for example performing filtering using prefix
lists, route maps, or filter lists to those neighbors, even more, CPU resources are consumed.
When many neighbors
are having similar configuration parameters. Cisco IOS allows us to create a logical group of those similar neighbors into a BGP peer group then you apply your
non-default BGP configuration to those parameters to each neighbor
individually. Actually, a single router can have multiple peer groups, each
representing a separate set of parameters. As a result, fewer CPU resources are required. Remember router still sends out individual BGP updates to each of its
neighbors. It does require based on BGP characteristics establishing a TCP
session with each neighbor.
In short: a BGP peer group means applying the same policies to multiple neighbors. It's useful when many neighbors have the same configuration parameter. updates are generated once per peer group.
let's see the configurations.
Topology:
Goal:
- configure the topology as per the diagram and its interfaces.
- configure EIGRP 100 on all the routers to ensure the reachability between the loopbacks.
- configure loopback 0 to establish peering, and configure peer group name cisco.
- configure authentication and make sure all the peer should use the same password. (in our topology we use internetworks)
- configure BGP version 4 and advertise LAN interfaces only.
R1#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 10.1.1.1 YES manual up up
Serial3/0 1.1.1.1 YES manual up up
Serial3/3 4.1.1.2 YES manual up up
Loopback0 11.0.0.1 YES manual up up
Loopback1 11.0.1.1 YES manual up up
Loopback2 11.0.2.1 YES manual up up
Loopback3 11.0.3.1 YES manual up up
R2#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 20.1.1.1 YES manual up up
Serial3/0 1.1.1.2 YES manual up up
Serial3/1 2.1.1.1 YES manual up up
Loopback0 12.0.0.1 YES manual up up
Loopback1 12.0.1.1 YES manual up up
Loopback2 12.0.2.1 YES manual up up
Loopback3 12.0.3.1 YES manual up up
R3#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 30.1.1.1 YES manual up up
Serial3/1 2.1.1.2 YES manual up up
Serial3/2 3.1.1.1 YES manual up up
Loopback0 13.0.0.1 YES manual up up
Loopback1 13.0.1.1 YES manual up up
Loopback2 13.0.2.1 YES manual up up
Loopback3 13.0.3.1 YES manual up up
R4#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 40.1.1.1 YES manual up up
Serial3/2 3.1.1.2 YES manual up up
Serial3/3 4.1.1.1 YES manual up up
Loopback0 14.0.0.1 YES manual up up
Loopback1 14.0.1.1 YES manual up up
Loopback2 14.0.2.1 YES manual up up
Loopback3 14.0.3.1 YES manual up up
R1(config)#router eigrp 100
R1(config-router)#network 10.0.0.0
R1(config-router)#network 1.0.0.0
R1(config-router)#network 4.0.0.0
R1(config-router)#network 11.0.0.0
R1(config-router)#no auto-summary
R1(config-router)#end
R2(config)#router eigrp 100
R2(config-router)#network 20.0.0.0
R2(config-router)#network 2.0.0.0
R2(config-router)#network 1.0.0.0
R2(config-router)#network 12.0.0.0
R2(config-router)#no auto-summary
R2(config-router)#end
R3(config)#router eigrp 100
R3(config-router)#network 13.0.0.0
R3(config-router)#network 2.0.0.0
R3(config-router)#network 3.0.0.0
R3(config-router)#network 30.0.0.0
R3(config-router)#no auto-summary
R3(config-router)#end
R4(config)#router eigrp 100
R4(config-router)#network 4.0.0.0
R4(config-router)#network 4.0.0.0
R4(config-router)#network 40.0.0.0
R4(config-router)#network 14.0.0.0
R4(config-router)#network 3.0.0.0
R4(config-router)#end
R1(config)#router bgp 501
R1(config-router)#neighbor cisco peer-group
R1(config-router)#neighbor cisco remote-as 501
R1(config-router)#neighbor cisco update-source loopback 0
R1(config-router)#neighbor cisco version 4
R1(config-router)#neighbor cisco password internetworks
R1(config-router)#neighbor 12.0.0.1 peer-group cisco
R1(config-router)#neighbor 13.0.0.1 peer-group cisco
R1(config-router)#neighbor 14.0.0.1 peer-group cisco
R1(config-router)#network 10.0.0.0
R1(config-router)#no auto-summary
R1(config-router)#no synchronization
R1(config-router)#end
R2(config)#router bgp 501
R2(config-router)#neighbor cisco peer-group
R2(config-router)#neighbor cisco remote-as 501
R2(config-router)#neighbor cisco update-source loopback 0
R2(config-router)#neighbor cisco version 4
R2(config-router)#neighbor cisco password internetworks
R2(config-router)#neighbor 11.0.0.1 peer-group cisco
R2(config-router)#neighbor 13.0.0.1 peer-group cisco
R2(config-router)#neighbor 14.0.0.1 peer-group cisco
R2(config-router)#network 20.0.0.0
R2(config-router)#no auto-summary
R2(config-router)#no synchronization
R2(config-router)#end
R3(config)#router bgp 501
R3(config-router)#neighbor cisco peer-group
R3(config-router)#neighbor cisco remote-as 501
R3(config-router)#neighbor cisco update-source loopback 0
R3(config-router)#neighbor cisco version 4
R3(config-router)#neighbor cisco password internetworks
R3(config-router)#neighbor 12.0.0.1 peer-group cisco
R3(config-router)#neighbor 11.0.0.1 peer-group cisco
R3(config-router)#neighbor 14.0.0.1 peer-group cisco
R3(config-router)#network 30.0.0.0
R3(config-router)#no auto-summary
R3(config-router)#no synchronization
R3(config-router)#end
R4(config)#router bgp 501
R4(config-router)#neighbor cisco peer-group
R4(config-router)#neighbor cisco remote-as 501
R4(config-router)#neighbor cisco update-source loopback 0
R4(config-router)#neighbor cisco version 4
R4(config-router)#neighbor cisco password internetworks
R4(config-router)#neighbor 12.0.0.1 peer-group cisco
R4(config-router)#neighbor 13.0.0.1 peer-group cisco
R4(config-router)#neighbor 11.0.0.1 peer-group cisco
R4(config-router)#network 40.0.0.0
R4(config-router)#no auto-summary
R4(config-router)#no synchronization
R4(config-router)#end
R1#show ip bgp summary
BGP router identifier 11.0.3.1, local AS number 501
BGP table version is 7, main routing table version 7
4 network entries using 576 bytes of memory
4 path entries using 320 bytes of memory
2/2 BGP path/bestpath attribute entries using 272 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1168 total bytes of memory
BGP activity 5/1 prefixes, 5/1 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
12.0.0.1 4 501 7 7 7 0 0 00:00:44 1
13.0.0.1 4 501 17 20 7 0 0 00:10:02 1
14.0.0.1 4 501 9 9 7 0 0 00:02:37 1
R2#show ip bgp summary
BGP router identifier 12.0.3.1, local AS number 501
BGP table version is 9, main routing table version 9
4 network entries using 576 bytes of memory
4 path entries using 320 bytes of memory
2/2 BGP path/bestpath attribute entries using 272 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1168 total bytes of memory
BGP activity 4/0 prefixes, 6/2 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
11.0.0.1 4 501 8 8 9 0 0 00:01:23 1
13.0.0.1 4 501 8 8 9 0 0 00:01:26 1
14.0.0.1 4 501 8 6 9 0 0 00:01:32 1
R3#show ip bgp summary
BGP router identifier 13.0.3.1, local AS number 501
BGP table version is 7, main routing table version 7
4 network entries using 576 bytes of memory
4 path entries using 320 bytes of memory
2/2 BGP path/bestpath attribute entries using 272 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1168 total bytes of memory
BGP activity 5/1 prefixes, 5/1 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
11.0.0.1 4 501 21 19 7 0 0 00:11:15 1
12.0.0.1 4 501 9 9 7 0 0 00:02:00 1
14.0.0.1 4 501 9 11 7 0 0 00:03:56 1
R4#show ip bgp summary
BGP router identifier 14.0.3.1, local AS number 501
BGP table version is 5, main routing table version 5
4 network entries using 576 bytes of memory
4 path entries using 320 bytes of memory
2/2 BGP path/bestpath attribute entries using 272 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1168 total bytes of memory
BGP activity 4/0 prefixes, 4/0 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
11.0.0.1 4 501 11 12 5 0 0 00:04:24 1
12.0.0.1 4 501 7 9 5 0 0 00:02:40 1
13.0.0.1 4 501 11 9 5 0 0 00:04:29 1
R1#show ip bgp
BGP table version is 7, local router ID is 11.0.3.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.0.0.0 0.0.0.0 0 32768 i
r>i 20.0.0.0 12.0.0.1 0 100 0 i
r>i 30.0.0.0 13.0.0.1 0 100 0 i
r>i 40.0.0.0 14.0.0.1 0 100 0 i
R3#show ip bgp
BGP table version is 7, local router ID is 13.0.3.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
r>i 10.0.0.0 11.0.0.1 0 100 0 i
r>i 20.0.0.0 12.0.0.1 0 100 0 i
*> 30.0.0.0 0.0.0.0 0 32768 i
r>i 40.0.0.0 14.0.0.1 0 100 0 i