BGP routing policies in ISP networks
Abstract
the key points in a paper discussing the evolution of the Internet and the necessity for routing policies due to operational, economic, and political considerations. It highlights how BGP, initially a straightforward protocol, had to adapt to accommodate these policies, resulting in increased complexity. The abstract emphasizes the challenges posed by this complexity and stresses the importance of understanding the goals and policies of network operators. The paper's objectives include illuminating operator goals, detailing the evolution of BGP, and explaining the implementation of common policies using BGP. Additionally, the abstract notes that the paper also covers ongoing efforts to address issues related to routing policies.

Introduction
This passage discusses the evolution of Internet routing, highlighting the transition from simplicity to complexity driven by ISPs. It introduces BGP as the key routing protocol, emphasizing its transformation into a complex system due to incremental modifications. Challenges include security, misconfigurations, and policy conflicts.
Addressing BGP issues requires ISP coordination, focusing on decision processes. Understanding ISP policies is crucial for comprehending BGP, resolving issues, and using measurement data effectively.
ISP policies are categorized into four areas: business relationships, traffic engineering, scalability, and security.
Ongoing research in BGP policies is mentioned, indicating the field's evolution, with an upcoming overview of BGP routing.

BGP routing in a single ASTop of Form

The Internet comprises numerous Autonomous Systems (ASes), with BGP serving as the routing protocol for exchanging information between them. ISPs typically manage one AS, while enterprises may operate their ASes for routing flexibility. ISPs often have complex routing policies due to various factors. BGP sessions occur between border routers, which distribute routing information within ASes. Routers in an AS run an Interior Gateway Protocol (IGP) and construct forwarding tables based on BGP and IGP data. BGP is incremental, path-vector, and advertises routes at the prefix level. ISPs implement routing policies by modifying route attributes.

Selecting a route at a router
the BGP decision process and the significance of route attributes in shaping route selection. Key points include:
Impact of Route Attributes: BGP routers within ISPs have multiple route options to reach a destination. Additional attributes were introduced to give operators greater control over route selection beyond simply choosing the shortest path.
BGP Decision Process: The BGP decision process consists of an ordered list of attributes that routers use to compare routes. Routes are evaluated sequentially, with the router selecting the route with the most favorable attribute when discrepancies arise. The chosen route is then used for forwarding packets.
Attribute Ordering: The ordered attributes in BGP provide operators with the ability to influence different stages of the decision process. For instance, attributes like Local Preference (LocalPref) can prioritize longer AS paths over shorter ones. The Multi-Exit Discriminator (MED) allows ASes with multiple links to indicate which link should be preferred. The strict ordering of attributes simplifies policy implementation and enhances configuration predictability.
Attribute Location: Route attributes can be set by policy at various locations: locally within the AS, at the neighbor level for specific peering links, or remain unalterable, as some attributes are protocol-defined.


mechanisms in the context of the Border Gateway Protocol (BGP):
Preference: BGP routes are chosen based on preference, which can be controlled by modifying route attributes in BGP advertisements. Attributes can be adjusted during import (local preference) or export (neighbor preference).
Filtering: Filtering is used to exclude certain routes from consideration and control who receives them. It can be applied before (inbound) or after (outbound) preference by instructing routers to ignore advertisements with specific attribute values or ranges.
Tagging with Communities: Tagging routes with community attributes allows operators to associate additional information with routes. This is useful for coordinating decisions among routers within an AS or sharing context across AS boundaries. Community attributes are highly versatile but lack standardization, potentially leading to misconfigurations.
Configuration: ISPs implement routing policies through router configurations, consisting of preference, filtering, and tagging rules. These rules are applied for each session with a neighboring BGP-speaking router. Route-maps, a common primitive, define conditions for invoking actions (e.g., modifying attributes or filtering routes) based on criteria like prefix values or AS path matches.
These mechanisms are crucial for managing and optimizing BGP routing in complex network environments, such as the global Internet.



Business relationships
Internet Service Providers (ISPs) manage their relationships and policies within the Border Gateway Protocol (BGP) by influencing the decision-making process and controlling route exports:
Influencing the Decision Process (LocalPrefs): ISPs often use LocalPref values to influence BGP's route selection process. They assign non-overlapping ranges of LocalPref values to different types of peering relationships, such as customers, peers, providers, and backup links. For example, customer-learned routes might have higher LocalPref values than routes from peers or providers. This helps ISPs optimize traffic routing to align with their business agreements and financial incentives.
Controlling Route Export (Community Attribute): ISPs control the export of BGP routes based on their business relationships. They use the community attribute to tag routes with information about the session's business context, such as whether it was learned from a peer. By appending this community attribute, they preserve information about the route's origin. ISPs can then configure export policies to filter routes based on these community attributes. For instance, they may choose not to export routes learned from one provider or peer to another to avoid transiting traffic without economic incentive.
These strategies allow ISPs to effectively manage their BGP routing to reflect their agreements and relationships with neighboring ISPs, optimize traffic flow, and maintain a balance of power in peering arrangements.


Traffic engineering

common traffic engineering goals for Internet Service Providers (ISPs) within the Border Gateway Protocol (BGP). These goals involve controlling the flow of outbound and inbound traffic to achieve specific performance criteria:
Outbound Traffic Control:
ISPs use techniques like modifying the LocalPref attribute in BGP to influence outbound traffic routing.
Strategies include early-exit routing to send traffic to the closest exit point, reducing congestion, and load balancing across multiple links.
Achieving precise load balancing can be challenging, often requiring manual adjustments or the use of automated tools.
Inbound Traffic Control:
ISPs may need to manage inbound traffic to alleviate internal congestion.
This can involve influencing route selection in remote ISPs, which can be challenging due to BGP's design limitations.
Techniques like modifying the Multi-Exit Discriminator (MED) attribute or AS-path prepending are used to control how much traffic an ISP receives from each of its peering links.
AS-path prepending artificially inflates the AS-path length, making certain routes less preferred, and is used to shift traffic between links to different neighbors.
the concept of remote control in the context of ISP network management within the Border Gateway Protocol (BGP). Key points include:
Remote Control for Routing Policies: ISPs may need to remotely manage the configuration of routers to implement specific routing policies. For instance, an ISP may want inbound traffic to be routed through a particular path, even if the default routing logic would prefer another path.
Use of Community Attributes: Remote control is achieved by configuring routers to map certain community attributes to specific routing preferences, such as LocalPref values. This allows ISPs to influence routing decisions on their neighbors' routers.
Flexibility and Use Cases: Remote control provides more flexibility than other mechanisms like Multi-Exit Discriminator (MED) because it can influence various aspects of routing decisions, including route filtering and AS path prepending. It can also affect routes with different next-hop ASes, unlike MED, which is specific to routes with the same next-hop AS.
Challenges and Potential for Misconfiguration: The use of community attributes for remote control introduces the potential for misconfiguration, especially when ISPs have differing interpretations of the same attribute. Careful router configuration and documentation are crucial to avoid unintended consequences.
Smart Routing Tools: While small ASes may use "smart routing" tools for load balancing over multiple upstream providers, these tools are generally not suitable for ISPs. They can lead to BGP routing changes that affect other ASes and may not consider the impact on traffic flow within the ISP's network.



Scalability

Limiting Routing Table Size:
ISPs aim to limit the size of their routing tables to avoid router crashes, especially for routers with limited memory capacity.
Strategies include filtering long prefixes, setting per-session prefix limits, and using default routing for smaller ISPs.
Protection from Other ISPs:
ISPs protect themselves from excessive advertisements from neighbors by filtering long prefixes, imposing prefix limits, and using default routing when feasible.
Protecting Other ISPs:
ISPs can reduce the number of prefixes they advertise by using route aggregation.
The effectiveness of aggregation may require knowledge of the neighbor's connectivity, as aggregating routes can impact traffic flow.
Examples illustrate scenarios where aggregating routes is either unnecessary or requires careful configuration to ensure traffic flows optimally.



Limit the number of routing changes (by suppressing routes that flap):
Benefits and Trade-offs: Flap damping improves routing stability but can potentially reduce route availability. ISPs can adjust the penalty threshold to balance stability and availability according to their network requirements.
Selective Damping: ISPs can choose to apply flap damping less aggressively or disable it for specific prefixes, such as routes to critical DNS servers or routes from customers with high availability needs.
Prefix-Length-Based Damping: ISPs may also fine-tune flap damping by applying it more aggressively to longer prefixes, as changes in shorter prefixes can have a more significant impact on reachability.



Security
1. Discarding Invalid Routes (Import Filtering):
ISPs perform sanity checks on BGP updates to ensure their validity before propagating them internally.
Checks include filtering routes to special-use or private addresses, verifying AS path contents, and preventing the propagation of advertisements for prefixes that customers do not own.
2. Protecting Routing Policy Integrity (Rewriting Attributes):
To prevent neighboring ASes from influencing routing decisions in violation of peering agreements, ISPs configure import policies to delete or overwrite attributes as needed.
This prevents situations where a neighbor manipulates routing attributes to route traffic inefficiently.
3. Securing Network Infrastructure (Export Filtering):
ISPs use export policies to filter BGP advertisements for destinations that should not be externally reachable, protecting internal resources and services.
Filters may include protecting router interfaces and network-management software hosts.
4. Blocking Denial-of-Service Attacks (Filtering and Damping):
To defend against denial-of-service attacks, ISPs configure BGP sessions with limits on the maximum number of prefixes and may filter excessively long prefixes.
Import policies can be adjusted to discard advertisements or disable BGP sessions in response to excessive BGP update messages.
Blackhole routes are used to drop traffic destined for victim addresses during denial-of-service attacks, preventing further harm to the network.
Known spammers' address blocks can also be blackholed to block spam traffic effectively.
These defensive measures help ISPs maintain the integrity of their routing, protect their network infrastructure, and mitigate the impact of malicious or faulty BGP updates and denial-of-service attacks.



Looking forward

Configuration Checking: BGP's complexity can lead to misconfigurations and policy interdependence issues, causing problems like persistent route oscillations. Configuration checking tools and modeling tools have been developed to prevent these issues by verifying consistency criteria, predicting configuration changes' impact, and introducing coordination mechanisms to ensure consistent policy selection across ISPs.
Language Design: Routing Policy Specification Language (RPSL) is a mature but somewhat low-level language used to describe ISP policies. There's ongoing research into designing higher-level router configuration languages that simplify policy configuration, enforce consistency properties, and prevent certain misconfigurations. The goal is to create a more effective and user-friendly language for specifying BGP policies.
New Architectures: Researchers have proposed new routing architectures to address BGP's limitations and improve scalability and convergence. Examples include HLP, which aims to optimize routing based on common policies, and the Routing Control Platform (RCP), which centralizes routing decisions and policy application to simplify configuration and reduce the risk of misconfiguration.


Conclusion 

Although BGP policies can be highly complex, there are a number of common design patterns that are typically used by ISPs. In this article we discussed several common patterns and how they can be realized using BGP policy mechanisms. We believe that by recognizing these patterns exist we can more efficiently develop tools that directly support them, such as analysis tools that check correctness, languages that preclude errors, or architectures that are designed for common case.write latex code for this pargarph