Lesson 10 - Traffic Engineering Flashcards
What is traffic engineering?
The process of reconfiguring the network in response to changing traffic loads to achieve some operational goal
* Operator might want to reconfigure the network in response to changing loads to, for example, maintain traffic ratios in a peering relationship, to relieve congestion on certain links, or balance load more evenly across available links in the network
What is a key question that traffic engineering tries to address?
How should routing adapt to traffic?
- In general, it tries to:
* Avoid congested links
* Satisfy application requirements such as delay
Intradomain traffic engineering
how to tune protocols to adjust to traffic flows in a single AS
* Intradomain TE attempts to solve an optimization problem, where the input is a Graph G(R, L) where R is the set of routers, and L is the set of unidirectional links. * Each link l also has a fixed capacity. * Another input is the traffic matrix or the offered traffic load * Mij represents the traffic load from router i to router j. * The output is the set of link weights where wl is the weight on any unidirectional link l in the network topology. * Ultimately, the setting of these link weights should result in a fraction of the traffic from i to j traversing each link l such that those fractions satisfy the network-wide objective function. Defining an objective function is tricky.
Interdomain traffic engineering
adjusting how traffic flows between ASes
How can an operator affect how traffic flows within an AS?
Configuring/adjusting link weights
- In practice, operators set these link weights in a variety of ways:
* Set them inversely proportional to capacity
* Proportional to propagation delay
* Network-wide optimization based on traffic
3 steps of traffic engineering
- Measure: figure out the current traffic loads
- Model: form a model of how configuration affects the underlying paths in the network
- Control: Reconfiguring the network to exert control over how traffic flows through the network
- Each step requires significant heavy lifting to make TE practical and accurate
“What if” model
predicts what would happen under various changes, decide which changes to affect on the network, and then ultimately control the behavior on the network by readjusting link weights
In intradomain routing, some examples of possible objective function goals:
- Minimizing the maximum congested link in the network
- Evenly splitting traffic loads across links
Link utilization
the amount of traffic on the link (Ul) divided by the capacity
* Our objective might be to minimize the sum of this piecewise linear cost function over all the links in the network. * Unfortunately, solving this optimization is still NP-complete, which means there’s no efficient algorithm to find the optimal setting of link weights, even for simple objective functions. * Implication: we have to resort to searching through a large set of combinations of link weight settings to ultimately find a good one. This seems sub-optimal, but the graphs turn out to be small enough in practice such that this approach is still reasonably effective. * In practice: we have other operational realities to worry about: * Minimizing the # of changes to the network: often, changing just 1 or 2 link weights is enough to achieve a good traffic load balance solution * Whatever solution we come up with must be resistant to failure. * Should also be robust to measurement noise. * Limit the frequency of changes we make to the network.
Which of the following are examples of interdomain routing?
- Peering between 2 ISPs
- Peering between a university network and an ISP
- Peering at an internet exchange point
- Routing in a data center
- Routing across multiple data centers
- Peering between 2 ISPs
- Peering between a university network and an ISP
- Peering at an internet exchange point
- Routing across multiple data centers
BGP in interdomain traffic engineering
- Involves the Reconfiguration of the BGP (Border Gateway Protocol) policies or configurations that are running on individual routers in the network
- Changing BGP policies at these edge routers can cause routers inside an AS to direct traffic to or away from certain edge links. We can also change the set of egress links for a particular destination.
An operator might want to use BGP reconfiguration if:
- An edge link is congested
- A link is upgraded
- If there’s some violation of a peering agreement. (e.g. below if AS1 and AS2 have an agreement that they only send a certain amount of traffic load over that link in a particular time window. If the load exceeds that amount, an operator would need to use BGP to shift traffic from one egress link to another
Effective interdomain routing has what 3 goals?
- Predictability
* It should be possible to predict how traffic flows will change in response to changes in the network configuration
* Suppose a downstream neighbor is trying to reach AS at the top of the figure below.
* Note that when the middle AS makes a change, it’s now taking a longer path. This could cause the bottom AS not to route through the middle one at all, affecting the traffic matrix that the middle AS sees.
* One way to avoid this problem and achieve predictable traffic flow changes, is to avoid making changes like this that are globally visible. - Limit influence of neighboring domains
* An AS might try to make a path look longer with AS path prepending. Forcing consistent advertisements can also help with this.
* Consistent adverts
* Limit AS path - Reduce overhead of routing changes
* Achieve goals with changes to as few IP prefixes as possible
* Group related prefixes. Identify routing choices that group routes that have the same AS paths and move groups of prefixes according to these groups that share an AS path. Allows you to move groups of prefixes by making tweaks to local preference values.
* Can also focus on the small fraction of prefixes that carry the majority of the traffic. 10% of origin ASes are responsible for about 82% of outbound traffic. Therefore we can achieve significant gains by focusing on the heavy hitters.
Multipath routing
operator can establish multiple paths in advance.
- This approach applies to both intra- and interdomain routing.
- In intra: set link weights such that multiple paths of equal cost exist between 2 nodes in the graph. This is called Equal Cost Multipath (ECMP).
* Traffic will be split across paths that have equal costs across the network.
* A source router may also be able to change the fraction of traffic that’s sent along each path. It might even be able to do this based on the level of congestion observed along the paths. It would do so by having multiple forwarding table entries with different next-hops for outgoing packets to the same destination.
ECMP
(in intra-domain routing) - Equal Cost Multipath
set link weights such that multiple paths of equal cost exist between 2 nodes in the graph