Saturday, 28 June 2025

BGP Chapter 23 - BGP Route Reflector

BGP Chapter 23 - BGP Route Reflector 

A small Recap of  BGP Split Horizon Rule

Route learned from an iBGP neighbor cannot be forwarded to other iBGP neighbor.

iBGP loop prevention mechanism . 


Solution for this are :-

1) Full Mesh iBGP

2) Route Reflector 

3) Confederation 


In this post we will focus on Route Reflector (RR)

RR – A router that reflects routes between iBGP peers.

Client - A router that peers with the RR.

Non-client -  A normal iBGP peer of the RR.


Route Reflection Behavior

When a RR receives a route






R1

R1_CLIENT#show ip bgp summary

BGP router identifier 121.121.121.121, local AS number 100

BGP table version is 3, main routing table version 3

3 network entries using 432 bytes of memory

3 path entries using 240 bytes of memory

3/2 BGP path/bestpath attribute entries using 408 bytes of memory

1 BGP AS-PATH entries using 24 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 1104 total bytes of memory

BGP activity 3/0 prefixes, 3/0 paths, scan interval 60 secs


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

2.2.2.2         4          100      67      66        3    0    0 00:56:11        2

R1_CLIENT#

R1_CLIENT#show ip bgp

BGP table version is 3, local router ID is 121.121.121.121

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

 *>  100.1.1.0/24     0.0.0.0                  0         32768 i

 *>i 100.2.1.0/24     2.2.2.2                  0    100      0 i

 * i 100.6.1.0/24     6.6.6.6                  0    100      0 200 i

 

R2

R2_RR#show ip bgp summary

BGP router identifier 2.2.2.2, local AS number 100

BGP table version is 7, main routing table version 7

6 network entries using 864 bytes of memory

6 path entries using 480 bytes of memory

3/3 BGP path/bestpath attribute entries using 408 bytes of memory

1 BGP AS-PATH entries using 24 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 1776 total bytes of memory

BGP activity 6/0 prefixes, 6/0 paths, scan interval 60 secs


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

1.1.1.1         4          100      66      67        7    0    0 00:56:11        1

3.3.3.3         4          100      64      65        7    0    0 00:56:07        1

4.4.4.4         4          100      66      66        7    0    0 00:56:13        1

5.5.5.5         4          100      67      68        7    0    0 00:57:38        1

6.6.6.6         4          200      64      66        7    0    0 00:55:59        1

R2_RR#

R2_RR#show ip bgp

BGP table version is 7, local router ID is 2.2.2.2

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

 *>i 100.1.1.0/24     1.1.1.1                  0    100      0 i

 *>  100.2.1.0/24     0.0.0.0                  0         32768 i

 *>i 100.3.1.0/24     3.3.3.3                  0    100      0 i

 *>i 100.4.1.0/24     4.4.4.4                  0    100      0 i

 *>i 100.5.1.0/24     5.5.5.5                  0    100      0 i

 *>  100.6.1.0/24     6.6.6.6                  0             0 200 i

 

 

R3_CLIENT#show ip bgp summary

BGP router identifier 3.3.3.3, local AS number 100

BGP table version is 3, main routing table version 3

3 network entries using 432 bytes of memory

3 path entries using 240 bytes of memory

3/2 BGP path/bestpath attribute entries using 408 bytes of memory

1 BGP AS-PATH entries using 24 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 1104 total bytes of memory

BGP activity 3/0 prefixes, 3/0 paths, scan interval 60 secs


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

2.2.2.2         4          100      65      64        3    0    0 00:56:07        2

R3_CLIENT#

R3_CLIENT#show ip bgp

BGP table version is 3, local router ID is 3.3.3.3

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

 *>i 100.2.1.0/24     2.2.2.2                  0    100      0 i

 *>  100.3.1.0/24     0.0.0.0                  0         32768 i

 * i 100.6.1.0/24     6.6.6.6                  0    100      0 200 i



R4_NON_CLIENT#show ip bgp summary

BGP router identifier 4.4.4.4, local AS number 100

BGP table version is 3, main routing table version 3

3 network entries using 432 bytes of memory

3 path entries using 240 bytes of memory

3/2 BGP path/bestpath attribute entries using 408 bytes of memory

1 BGP AS-PATH entries using 24 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 1104 total bytes of memory

BGP activity 3/0 prefixes, 3/0 paths, scan interval 60 secs


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

2.2.2.2         4          100      66      66        3    0    0 00:56:14        2

R4_NON_CLIENT#

R4_NON_CLIENT#show ip bgp

BGP table version is 3, local router ID is 4.4.4.4

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

 *>i 100.2.1.0/24     2.2.2.2                  0    100      0 i

 *>  100.4.1.0/24     0.0.0.0                  0         32768 i

 * i 100.6.1.0/24     6.6.6.6                  0    100      0 200 i

R4_NON_CLIENT#


R5_NON_CLIENT#show ip bgp summary

BGP router identifier 5.5.5.5, local AS number 100

BGP table version is 3, main routing table version 3

3 network entries using 432 bytes of memory

3 path entries using 240 bytes of memory

3/2 BGP path/bestpath attribute entries using 408 bytes of memory

1 BGP AS-PATH entries using 24 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 1104 total bytes of memory

BGP activity 3/0 prefixes, 3/0 paths, scan interval 60 secs


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

2.2.2.2         4          100      68      67        3    0    0 00:57:38        2

R5_NON_CLIENT#

R5_NON_CLIENT#show ip bgp

BGP table version is 3, local router ID is 5.5.5.5

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

 *>i 100.2.1.0/24     2.2.2.2                  0    100      0 i

 *>  100.5.1.0/24     0.0.0.0                  0         32768 i

 * i 100.6.1.0/24     6.6.6.6                  0    100      0 200 i



R6_eBGP#show ip bgp summary

BGP router identifier 6.6.6.6, local AS number 200

BGP table version is 7, main routing table version 7

6 network entries using 864 bytes of memory

6 path entries using 480 bytes of memory

3/3 BGP path/bestpath attribute entries using 408 bytes of memory

1 BGP AS-PATH entries using 24 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 1776 total bytes of memory

BGP activity 6/0 prefixes, 6/0 paths, scan interval 60 secs


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

2.2.2.2         4          100      66      64        7    0    0 00:55:59        5

R6_eBGP#

R6_eBGP#show ip bgp

BGP table version is 7, local router ID is 6.6.6.6

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

 *>  100.1.1.0/24     2.2.2.2                                0 100 i

 *>  100.2.1.0/24     2.2.2.2                  0             0 100 i

 *>  100.3.1.0/24     2.2.2.2                                0 100 i

 *>  100.4.1.0/24     2.2.2.2                                0 100 i

 *>  100.5.1.0/24     2.2.2.2                                0 100 i

 *>  100.6.1.0/24     0.0.0.0                  0         32768 i 

 

 

Now lets configure 

R2 as RR making R1 and R3 as client 


When we configure iBGP neighbor as route-reflector-client the BGP Session get flapped.


R2_RR(config)#router bgp 100

R2_RR(config-router)#neighbor 1.1.1.1 route-reflector-client 

*Jun 28 12:37:29.943: %BGP-5-ADJCHANGE: neighbor 1.1.1.1 Down RR client config change

*Jun 28 12:37:29.943: %BGP_SESSION-5-ADJCHANGE: neighbor 1.1.1.1 IPv4 Unicast topology base removed from session  RR client config change

*Jun 28 12:37:30.479: %BGP-5-ADJCHANGE: neighbor 1.1.1.1 Up 

R2_RR(config-router)#

R2_RR(config-router)#

R2_RR(config-router)#neighbor 3.3.3.3 route-reflector-client 

R2_RR(config-router)#

*Jun 28 12:37:41.615: %BGP-5-ADJCHANGE: neighbor 3.3.3.3 Down RR client config change

*Jun 28 12:37:41.615: %BGP_SESSION-5-ADJCHANGE: neighbor 3.3.3.3 IPv4 Unicast topology base removed from session  RR client config change

*Jun 28 12:37:42.703: %BGP-5-ADJCHANGE: neighbor 3.3.3.3 Up 

R2_RR(config-router)#^Z

R2_RR#



R1_CLIENT#show ip bgp 

BGP table version is 8, local router ID is 121.121.121.121

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

 *>  100.1.1.0/24     0.0.0.0                  0         32768 i

 *>i 100.2.1.0/24     2.2.2.2                  0    100      0 i

 *>i 100.3.1.0/24     3.3.3.3                  0    100      0 i

 * i 100.4.1.0/24     4.4.4.4                  0    100      0 i

 * i 100.5.1.0/24     5.5.5.5                  0    100      0 i

 * i 100.6.1.0/24     6.6.6.6                  0    100      0 200 i

 

R3_CLIENT>show ip bgp 

BGP table version is 8, local router ID is 3.3.3.3

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

 *>i 100.1.1.0/24     1.1.1.1                  0    100      0 i

 *>i 100.2.1.0/24     2.2.2.2                  0    100      0 i

 *>  100.3.1.0/24     0.0.0.0                  0         32768 i

 * i 100.4.1.0/24     4.4.4.4                  0    100      0 i

 * i 100.5.1.0/24     5.5.5.5                  0    100      0 i

 * i 100.6.1.0/24     6.6.6.6                  0    100      0 200 i

 

R4_NON_CLIENT>show ip bgp 

BGP table version is 3, local router ID is 4.4.4.4

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

 * i 100.1.1.0/24     1.1.1.1                  0    100      0 i

 *>i 100.2.1.0/24     2.2.2.2                  0    100      0 i

 * i 100.3.1.0/24     3.3.3.3                  0    100      0 i

 *>  100.4.1.0/24     0.0.0.0                  0         32768 i

 * i 100.6.1.0/24     6.6.6.6                  0    100      0 200 i


R5_NON_CLIENT#show ip bgp 

BGP table version is 3, local router ID is 5.5.5.5

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

 * i 100.1.1.0/24     1.1.1.1                  0    100      0 i

 *>i 100.2.1.0/24     2.2.2.2                  0    100      0 i

 * i 100.3.1.0/24     3.3.3.3                  0    100      0 i

 *>  100.5.1.0/24     0.0.0.0                  0         32768 i

 * i 100.6.1.0/24     6.6.6.6                  0    100      0 200 i 


Thanks for Reading !!

Network Engineer Stuff







Saturday, 31 May 2025

Troubleshooting Packet Drops in a Switch

When packets are getting dropped on a switch, it can result from various issues across different layers. Here's a structured way to troubleshoot packet drops on a switch:


🔍 Troubleshooting Packet Drops in a Switch


1. Check Interface-Level Counters

Use the following commands (based on switch OS):

  • Cisco IOS:

    show interfaces [interface-id]
    show interfaces counters errors
    show interfaces status err-disabled
    
  • Look for:

    • Input/output errors

    • CRC errors (Layer 1 issue)

    • Collisions (Half-duplex problems)

    • Drops (buffers exhausted)


2. Verify Port Configuration

  • Speed/Duplex mismatch:

    show interfaces [interface-id] status
    show running-config interface [interface-id]
    
    • Ensure both sides of a link have the same speed/duplex settings.

    • Autonegotiation issues can cause excessive drops.


3. Check for Congestion or Buffer Overflows

  • Causes:

    • High traffic load on uplinks

    • Microbursts

    • Insufficient buffer allocation

  • Commands:

    show platform hardware capacity [interface/buffer stats]
    show queueing interface [interface-id]      (on some platforms)
    
  • Solution:

    • Use QoS to prioritize important traffic.

    • Increase buffer sizes (if configurable).

    • Load-balance traffic over multiple links (EtherChannel).


4. Look for Broadcast Storms or Loops

  • Symptoms:

    • High CPU usage

    • Drops on multiple interfaces

    • MAC flaps

  • Commands:

    show mac address-table
    show spanning-tree
    show processes cpu sorted
    
  • Fixes:

    • Enable/verify Spanning Tree Protocol (STP)

    • Enable Storm Control

    • Check for loopback cables or misconnected devices


5. Inspect QoS Policies

  • Misconfigured QoS can lead to packet drops in input/output queues.

  • Commands:

    show policy-map interface [interface-id]
    
  • Check for:

    • Drop counters under QoS class-maps

    • Policing or shaping issues


6. CPU or Control Plane Congestion

  • Some traffic gets punted to CPU (e.g., ARP, STP BPDUs). Excessive control traffic can overwhelm the switch CPU.

  • Commands:

    show processes cpu
    show platform cpu packet statistics
    
  • Fixes:

    • Apply CoPP (Control Plane Policing)

    • Offload traffic processing if possible


7. Hardware Failures or Bugs

  • Bad interfaces, line cards, or known software bugs can also cause unexplained drops.

  • Steps:

    • Check logs: show logging

    • Check for hardware errors: show environment, show module

    • Search vendor bug database (e.g., Cisco Bug Toolkit)


🔧 Summary of Common Causes

Issue Type  Common Symptoms Quick Fix
Duplex mismatch  CRC errors, collisions Match speed/duplex manually
Congestion   Interface drops Use QoS, upgrade link
STP/loops CPU spike, flooding Enable STP, storm control
QoS misconfig Output queue drops Tune policies, verify classes
Hardware/bugs Unexplained drops RMA or firmware upgrade


Friday, 21 March 2025

OSPF Troubleshooting !!!!

Step 1: Verify Basic Connectivity

ping <neighbor IP> → Ensure devices can reach each other.
show interfaces status → Check interface status (UP/Down).
show ip arp → Verify correct MAC resolution.


Step 2: Check OSPF Neighbor Relationship

show ip ospf neighbor → Check if neighbors are in Full state.
debug ip ospf adj → Identify adjacency issues.

🔴 If neighbors are stuck in INIT or EXSTART:

  • Check MTU mismatchshow ip ospf interface
  • Check Hello/Dead timer mismatchshow ip ospf interface
  • Check Network Type mismatch (Broadcast, P2P, etc.)
  • Check Area ID mismatchshow ip ospf interface brief
  • Check for authentication issuesshow running-config | section ospf

Step 3: Validate OSPF Route Advertisements

show ip route ospf → Confirm OSPF routes are present.
show ip ospf database → Verify LSAs are exchanged properly.
debug ip ospf lsa → Check if LSAs are being received.

🔴 If missing routes:

  • Check if the interface is passiveshow ip ospf interface brief
  • Check LSA filtering or stub area restrictions
  • Check for route summarization issues

Step 4: Check OSPF Path Selection & Costs

show ip ospf interface → Verify OSPF cost settings.
show ip ospf database router → Inspect LSA details.
show ip route <destination> → Check the chosen OSPF path.

🔴 If unexpected routes appear:

  • OSPF cost may be too high/low → Adjust with ip ospf cost <value>
  • Check for ECMP issues (Equal-Cost Multipath Routing)

Step 5: Verify External Route Redistribution (If applicable)

show ip ospf database external → Check Type-5 LSAs.
show running-config | section redistribute → Ensure correct redistribution.
debug ip ospf events → Monitor redistribution behavior.

🔴 If external routes are missing:

  • Redistribution misconfigured → redistribute <protocol> subnets
  • ACLs or route-maps filtering OSPF routes
  • NSSA blocking external routes

Step 6: Debug & Monitor Logs

debug ip ospf hello → Analyze Hello packet issues.
debug ip ospf packet → Monitor overall OSPF packet exchange.
show logging → Check for error messages.



NETWORKENGINEERSTUFF

Thursday, 13 March 2025

Juniper Service Provider Certification Track

Juniper Networks offers **Junos Service Provider Certification** tracks under the **Juniper Networks Certification Program (JNCP)**. These certifications validate expertise in service provider routing and switching technologies using Juniper devices.


### **Juniper Service Provider Certification Track**

1. **JNCIA-SP (Associate Level)**

   - **Full Name:** Juniper Networks Certified Associate - Service Provider  

   - **Exam Code:** JN0-363  

   - **Focus Areas:**  

     - Junos fundamentals  

     - Routing and switching basics  

     - Service provider networking concepts  

   - **Target Audience:** Beginners, entry-level networking engineers


2. **JNCIS-SP (Specialist Level)**

   - **Full Name:** Juniper Networks Certified Specialist - Service Provider  

   - **Exam Code:** JN0-364  

   - **Focus Areas:**  

     - Advanced routing protocols (OSPF, IS-IS, BGP)  

     - MPLS, VPNs (L2VPN, L3VPN)  

     - Service provider architectures  

   - **Target Audience:** Professionals with intermediate knowledge in service provider networks


3. **JNCIP-SP (Professional Level)**

   - **Full Name:** Juniper Networks Certified Professional - Service Provider  

   - **Exam Code:** JN0-663  

   - **Focus Areas:**  

     - Advanced MPLS  

     - Layer 2 and Layer 3 VPNs  

     - Traffic engineering, RSVP, and segment routing  

     - BGP scaling and high availability  

   - **Target Audience:** Senior network engineers and architects


4. **JNCIE-SP (Expert Level)**

   - **Full Name:** Juniper Networks Certified Internet Expert - Service Provider  

   - **Exam Code:** JPR-961 (Lab Exam)  

   - **Focus Areas:**  

     - End-to-end service provider network design  

     - Advanced routing and switching scenarios  

     - Hands-on troubleshooting in a lab environment  

   - **Target Audience:** Expert-level professionals aiming for high-level mastery in Juniper service provider networks.