BGP Design Principles
Learning Objectives
- Understand fundamental BGP design principles
 - Implement proper BGP network architecture
 - Design resilient and scalable BGP networks
 - Apply BGP design best practices
 - Avoid common design pitfalls
 
Core Design Principles
Effective BGP design follows fundamental principles that ensure network stability, scalability, and performance.
Essential Design Principles
1. Hierarchical Design
Implement a hierarchical BGP architecture with clear layers and responsibilities.
- Core layer: Route reflectors and high-capacity routers
 - Distribution layer: Regional aggregation points
 - Access layer: Edge routers and customer connections
 
2. Redundancy and Resilience
Design for high availability with multiple paths and failover mechanisms.
- Multiple BGP speakers per site
 - Diverse physical paths
 - Backup connectivity options
 - Fast convergence mechanisms
 
3. Route Aggregation
Minimize routing table size through proper route aggregation.
- Aggregate routes at network boundaries
 - Use CIDR addressing schemes
 - Implement route summarization
 - Filter unnecessary specifics
 
4. Policy Consistency
Maintain consistent routing policies across the network.
- Standardized route maps
 - Consistent attribute assignments
 - Documented policy decisions
 - Regular policy reviews
 
Network Architecture Patterns
Common BGP network architectures that provide scalability and reliability.
BGP Architecture Models
Hub and Spoke
                    ┌─────────────┐
                    │   Hub       │
                    │ (Core AS)   │
                    └─────────────┘
                           │
            ┌──────────────┼──────────────┐
            │              │              │
      ┌─────────┐    ┌─────────┐    ┌─────────┐
      │ Spoke 1 │    │ Spoke 2 │    │ Spoke 3 │
      │(Site A) │    │(Site B) │    │(Site C) │
      └─────────┘    └─────────┘    └─────────┘
                                        Advantages: Simple design, centralized control, easy policy implementation
Disadvantages: Single point of failure, suboptimal routing
Mesh Topology
      ┌─────────┐         ┌─────────┐
      │ Router A│─────────│Router B │
      │         │         │         │
      └─────────┘         └─────────┘
            │                   │
            │                   │
            │                   │
      ┌─────────┐         ┌─────────┐
      │ Router C│─────────│Router D │
      │         │         │         │
      └─────────┘         └─────────┘
                                        Advantages: High redundancy, optimal routing, no single point of failure
Disadvantages: Complex configuration, scaling challenges
Route Reflector Hierarchy
                    ┌─────────────┐
                    │ Core RR     │
                    │ (Level 1)   │
                    └─────────────┘
                           │
            ┌──────────────┼──────────────┐
            │              │              │
      ┌─────────┐    ┌─────────┐    ┌─────────┐
      │Edge RR-1│    │Edge RR-2│    │Edge RR-3│
      │(Level 2)│    │(Level 2)│    │(Level 2)│
      └─────────┘    └─────────┘    └─────────┘
            │              │              │
        ┌───┴───┐      ┌───┴───┐      ┌───┴───┐
        │Client │      │Client │      │Client │
        │Group 1│      │Group 2│      │Group 3│
        └───────┘      └───────┘      └───────┘
                                        Advantages: Scalable, reduced sessions, hierarchical control
Disadvantages: Complex design, potential suboptimal paths
ISP Design Considerations
Special considerations for ISP and service provider BGP designs.
ISP BGP Architecture
Multi-Tier Architecture
! Core Tier - Route Reflectors
router bgp 65001
 bgp router-id 1.1.1.1
 bgp cluster-id 1.1.1.1
 bgp log-neighbor-changes
 
 ! Aggregation tier RRs as clients
 neighbor 10.2.2.2 remote-as 65001
 neighbor 10.2.2.2 route-reflector-client
 neighbor 10.2.2.2 description "Aggregation-RR-1"
 
 ! Internet peering
 neighbor 203.0.113.1 remote-as 65002
 neighbor 203.0.113.1 description "Tier1-ISP"
 
 ! Apply consistent policies
 address-family ipv4 unicast
  neighbor 10.2.2.2 activate
  neighbor 10.2.2.2 next-hop-self
  neighbor 203.0.113.1 activate
  neighbor 203.0.113.1 route-map PEER-IN in
  neighbor 203.0.113.1 route-map PEER-OUT out
                                    Customer Edge Design
! Edge Router - Customer Connections
router bgp 65001
 bgp router-id 10.3.3.3
 bgp log-neighbor-changes
 
 ! Connection to core
 neighbor 1.1.1.1 remote-as 65001
 neighbor 1.1.1.1 description "Core-RR"
 neighbor 1.1.1.1 update-source loopback 0
 
 ! Customer connections
 neighbor 192.168.1.1 remote-as 65100
 neighbor 192.168.1.1 description "Customer-A"
 neighbor 192.168.1.1 route-map CUSTOMER-IN in
 neighbor 192.168.1.1 route-map CUSTOMER-OUT out
 
 ! Apply customer policies
 address-family ipv4 unicast
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 next-hop-self
  neighbor 192.168.1.1 activate
  neighbor 192.168.1.1 prefix-list CUSTOMER-ROUTES in
  neighbor 192.168.1.1 prefix-list DEFAULT-ONLY out
                                    Enterprise Design Patterns
BGP design considerations for enterprise networks.
Enterprise BGP Models
Dual-Homed Enterprise
! Primary Border Router
router bgp 65001
 bgp router-id 10.1.1.1
 bgp log-neighbor-changes
 bgp deterministic-med
 
 ! Primary ISP connection
 neighbor 203.0.113.1 remote-as 65002
 neighbor 203.0.113.1 description "ISP-A-Primary"
 neighbor 203.0.113.1 password ISP-A-Secret
 
 ! Secondary ISP connection
 neighbor 198.51.100.1 remote-as 65003
 neighbor 198.51.100.1 description "ISP-B-Secondary"
 neighbor 198.51.100.1 password ISP-B-Secret
 
 ! Internal connection
 neighbor 10.1.1.2 remote-as 65001
 neighbor 10.1.1.2 description "Backup-Border"
 neighbor 10.1.1.2 update-source loopback 0
 neighbor 10.1.1.2 next-hop-self
 
 ! Advertise company networks
 network 192.168.0.0 mask 255.255.0.0
 
 ! Traffic engineering
 address-family ipv4 unicast
  neighbor 203.0.113.1 activate
  neighbor 203.0.113.1 route-map PRIMARY-IN in
  neighbor 203.0.113.1 route-map PRIMARY-OUT out
  neighbor 198.51.100.1 activate
  neighbor 198.51.100.1 route-map BACKUP-IN in
  neighbor 198.51.100.1 route-map BACKUP-OUT out
                                    Multi-Site Enterprise
! Headquarters Router
router bgp 65001
 bgp router-id 10.1.1.1
 bgp log-neighbor-changes
 
 ! Internet connection
 neighbor 203.0.113.1 remote-as 65002
 neighbor 203.0.113.1 description "Internet-ISP"
 
 ! Branch office connections
 neighbor 10.2.2.2 remote-as 65001
 neighbor 10.2.2.2 description "Branch-Office-1"
 neighbor 10.2.2.2 update-source loopback 0
 neighbor 10.2.2.2 next-hop-self
 
 neighbor 10.3.3.3 remote-as 65001
 neighbor 10.3.3.3 description "Branch-Office-2"
 neighbor 10.3.3.3 update-source loopback 0
 neighbor 10.3.3.3 next-hop-self
 
 ! Advertise headquarters networks
 network 192.168.1.0 mask 255.255.255.0
 aggregate-address 192.168.0.0 255.255.0.0 summary-only
 
 ! Default route to branches
 address-family ipv4 unicast
  neighbor 10.2.2.2 activate
  neighbor 10.2.2.2 default-originate
  neighbor 10.3.3.3 activate
  neighbor 10.3.3.3 default-originate
                                    Design Documentation
Proper documentation is essential for BGP network design and maintenance.
Essential Documentation
Network Topology Diagram
- Physical topology with all BGP speakers
 - BGP session connections
 - Route reflector hierarchies
 - AS boundaries and numbers
 - IP addressing schemes
 
Routing Policy Document
- Traffic engineering objectives
 - Route filtering policies
 - Attribute manipulation rules
 - Prefix aggregation plans
 - Failover procedures
 
Configuration Templates
- Standard BGP configurations
 - Route map templates
 - Prefix list standards
 - Security configurations
 - Monitoring configurations
 
Change Management
Implement proper change management processes for BGP modifications.
Change Control Process
1. Planning Phase
- Define change objectives
 - Assess impact and risks
 - Develop implementation plan
 - Create rollback procedures
 - Schedule maintenance window
 
2. Testing Phase
- Test in lab environment
 - Validate configuration syntax
 - Verify policy behavior
 - Test failover scenarios
 - Document test results
 
3. Implementation Phase
- Follow implementation plan
 - Monitor BGP sessions
 - Verify route advertisements
 - Check traffic patterns
 - Document changes made
 
4. Verification Phase
- Confirm objectives met
 - Monitor network stability
 - Check performance metrics
 - Update documentation
 - Close change request
 
Common Design Mistakes
Avoid these common BGP design pitfalls that can impact network performance and stability.
Design Pitfalls to Avoid
❌ Single Point of Failure
Problem: Critical BGP speakers without redundancy
Solution: Deploy redundant route reflectors and border routers
❌ Insufficient Route Filtering
Problem: Accepting or advertising unnecessary routes
Solution: Implement comprehensive prefix lists and route maps
❌ Poor AS Path Design
Problem: Suboptimal AS path prepending or manipulation
Solution: Plan AS path engineering based on traffic patterns
❌ Inadequate Monitoring
Problem: Insufficient visibility into BGP operations
Solution: Implement comprehensive BGP monitoring and alerting
❌ Inconsistent Policies
Problem: Different policies across similar devices
Solution: Standardize configurations and use templates
Design Validation
Validate BGP designs through testing and simulation.
Design Validation Techniques
Lab Testing
- Build representative lab topology
 - Test normal operations
 - Simulate failure scenarios
 - Validate convergence times
 - Test policy behavior
 
Simulation Tools
- Network simulation software
 - BGP simulators
 - Traffic generators
 - Convergence analyzers
 - Policy validators
 
Staged Deployment
- Deploy in phases
 - Start with non-critical segments
 - Monitor each phase
 - Validate before proceeding
 - Maintain rollback capability
 
Practice Exercise
BGP Design Assessment
Scenario: Review the following BGP design and identify potential issues and improvements.
Current Design:
- Single BGP router at headquarters
 - One ISP connection (AS 65002)
 - Full BGP table acceptance
 - No route filtering
 - Default route to branches
 
Requirements:
- 99.9% availability
 - Optimized bandwidth usage
 - Security compliance
 - Scalability for growth