Recent disruptions to two undersea internet cables in the Baltic Sea have yet again...
3.12.8 Providers and Peers configuration
Providers can be added and modified via “Configuration → Providers”.
3.12.8.1 Providers configuration #
-
General settings: #
→ Provider name (peer.X.shortname)
→ Router (peer.X.bgp_peer)
→ Provider description (peer.X.description)
→ Provider’s routing domain (peer.X.rd)
→ Maximum load per interface (peer.X.limit_load)
→ Flow agents (peer.X.flow_agents)
→ Circuit issues detection (peer.X.circuit.control) indicating how IRP should react to excessive persistent loss over a particular provider.
→ Use of BMP data (BMP monitoring station settings)
-
IPv4 / IPv6 settings: #
→ IPv4 / IPv6 diagnostic hops (peer.X.ipv4.diag_hop, peer.X.ipv6.diag_hop)
→ Probing IPv4 / IPv6 address (peer.X.ipv4.master_probing, peer.X.ipv6.master_probing)
→ Remote provider ASN (peer.X.ipv4.next_hop_as), used by the AS-Path restoration algorithm (bgpd.as_path)
→ Router next-hop address (peer.X.ipv4.next_hop), that sets the next-hop value for injected routes related to this provider
→ Provider’s alternative IPv4 address for PBR tests (peer.X.ipv4_pbr_check)
-
Commit Control configuration: #
→ Provider cost per Mbps (peer.X.cost)
→ Provider 95th percentile (peer.X.95th)
→ Provider inbound 95th percentile (peer.X.95th.in)
→ Provider 95th calculation mode for inbound traffic
→ Provider billing day (peer.X.95th.bill_day)
→ Commit Control status for this provider (peer.X.cc_disable)
→ CC provider precedence – used for Commit Control and grouping (peer.X.precedence)
→ Centile value (peer.X.95th.centile)
→ Performance/Cost improvements within provider group toggle in case the peer load balancing is configured, (peer.X.improve_in_group, peer.X.precedence)
-
SNMP-related settings: #
-
External Monitor settings: #
→ External monitor status toggles for IPv4 / IPv6 (peer.X.mon.ipv4.external.state, peer.X.mon.ipv6.external.state)
→ ICMP/UDP ping monitored IPv4 / IPv6 addresses (peer.X.ipv4.mon, peer.X.ipv6.mon)
-
Internal Monitor settings: #
→ Internal monitor status toggles for IPv4 / IPv6 (peer.X.mon.ipv4.internal.state, peer.X.mon.ipv6.internal.state)
→ BGP session monitoring IPv4 / IPv6 addresses (peer.X.mon.ipv4.bgp_peer, peer.X.mon.ipv6.bgp_peer)
→ BGP MIBs for IPv4 / IPv6 (peer.X.mon.ipv4.internal.mode, peer.X.mon.ipv6.internal.mode)
→ SNMP host for BGP Internal Monitor (peer.X.mon.snmp)
- SNMP v3 uses additional parameters depending on security services used for monitoring:
-
Inbound: #
→ Base community for inbound improvements (peer.X.inbound.community_base)Inbound optimization improvements advertise larger or smaller counts of prepends to be announced to different providers. IRP instances use BGP session to communicate to routers and relies on BGP communities to communicate the improvements. Each provider is assigned a base community which represents zero prepends. Additional prepends are represented by incrementing accordingly the right-side part of the provider’s community.
-
Flowspec: #
→ IPv4 / IPv6 Redirect community (peer.X.flowspec.ipv4.redirect_community and peer.X.flowspec.ipv6.redirect_community)
-
Blackholing: #
→ Blackholing Routers
→ Blackholing community
3.12.8.2 Internet Exchanges configuration #
- Once the Exchange is setup via GMI, an IRP instance will retrieve the routing table on the router in order to setup Exchange peering partners. IRP will require access to the router in order to do so.
- Probing IPs for Exchanges no longer require one IP address per peering partner since this number might be impractically big. Instead a combination of probing IP and DSCP value is used to configure the PBRs. A single probing IP in conjunction with DSCP can cover up to 64 peering partners. A sufficient number of probing IPs will be required in order to cover all peering partners on your exchange.
- Once the Exchange is configured, the IRP instance will need to reset its BGP session towards the router interconnecting with the Exchange in order to retrieve the required routing table information about all peering partners. Once the BGP session is restarted IRP instance will start fetching Exchange routing tables.
- Peering partner autoconfiguration function is available. It retrieves the list of Next Hops (peering partners) on the Exchange with the corresponding list of prefixes individual peers accept.
- Use the Autoconfiguration feature to create an initial configuration for an IRP instance. Review Exchange peering partners before starting the Exchange. Consider enabling periodic auto re-configurations for selected IX in order to update periodically the value of BGP session monitoring IPv4 address from the Exchange and to add new peering partners.
Refer global.exchanges.auto_config_interval and peer.X.auto_config.
- Once the Exchange is configured correctly, you will need to apply the PBR rules on the router(s). There is a functionality to generate PBR rules for different router vendors. You will need to review the generated ruleset and apply it on the router manually.
- It is possible that the Autoconfiguration feature on the Exchange has been run with incomplete routing tables or that new peering partners have been connected. This is especially true for very big Exchanges. In this case it is possible that some peering partners are neither in IRP nor router configurations. When such a case is detected, a warning about newly discovered peering partners gets raised. At this stage you will need to both re-autoconfigure IRP instance and extract the PBRs for the router.
- After its creation and up to its complete configuration the Exchange is kept in a Stopped state. When both IRP and the Router PBRs are configured, particular IRP instance is ready to start optimizing Exchange traffic too. Keep in mind that starting the Exchange will require a BGP session restart.
3.12.8.3 Switching a provider from one router to another #
- Suspend the provider using GMI Frontend “Providers and Peers” particular IRP configuration section. IRP instance withdraws all existing and stops new improvements towards shutdown provider(s)
- You can remove traffic from the provider (by denying incoming/outgoing announces in the BGP configuration) and then physically re-cable the provider from one router to another. Then configure BGP session towards the provider on new router
- The PBR rule for the provider should be configured on new router (move provider’s PBR settings from the old router to the new one)
- Change IRP box local PBR rules if any
- Check if PBR works properly using traceroute tool
- Modify (/etc/noction/irp.conf) assigned router for the provider (refer to peer.X.bgp_peer)
- Modify (/etc/noction/irp.conf) SNMP interface/IP/community for the provider (refer to SNMP Host, peer.X.snmp.interfaces, peer.X.mon.snmp)
- Reload Bgpd configuration (affected BGP sessions could be reset)
- Re-activate the provider using GMI Frontend “Providers and Peers” IRP instance of choice configuration section
- Check IRP BGP Internal and External monitor states. They must be UP.