Effective Inter-domain Traffic Engineering has three goals.
One is predictability. In other words, it
should be possible to predict how traffic
flows will change in response to changes in
the network configuration. Another goal is to,
limit the influence of neighbouring domains. In particular,
we'd like to use BGP policies and
changes to those policies that. Limit how neighbouring
ASes might change their behaviour in response to
changes to the PGP configuration that we make
in our own network. And finally, we'd like
to reduce the overhead of routing changes by
achieving our traffic engineering goals with changes to
as few IP prefixes as possible. To understand
the factors that confound predictability Let's look at
how the inter-domain routing choices of a particular
autonomous system, can wreak havoc, on predictability. Let's
suppose that a downstream neighbor, is trying to reach,
the autonomous system at the top of this
figure. The AS here might wish to relieve congestion,
on a particular peering link. To do so,
this AS, might now send traffic to that destination
out a different set of atonimous systems. But once
this AS makes that change, note that it's choosing
a longer AS path. Now taking a path
of three half's rather than two. In response,
the down stream neighbor might decide not to
send its traffic for that destination Through this
attonomous system at all. Thus affecting the traffic
matrix that this AS sees. So, all the
work that went in to optimizing the traffic load balance for this AS is for not,
because the change that it made, effectively
changed the offered traffic loads and hence
the traffic matrix. One way to avoid
this type of problem, and achieve predictable traffic
flow changes. Is to avoid making changes
like this that are globally visible. In particular,
note that this change caused a change in the AS path link of the advertisement
to this particular destination, from two to
three. Thus, other neighbors, such as the downstream
neighbor here. Might decide to use an alternate
path as a result of that globally visible
routing change. By avoiding these types of
globally visible changes, we can achieve predicitability. Another
way to achieve effective inter-domain traffic engineering is
to limit the influence of neighbors. For example,
an autonomous system might try to make a path look longer with AS path
prepending. If we consider treating paths that
have almost the same AS path length as
a common group, we can achieve additional flexibility. Additionally, if we
enforce a constraint that our neighbors should advertise consistent BGP
route advertisements, over multiple appearing links, should multiple
appearing links exists? That gives us additional flexibility,
to send traffic over different e-egress points to the
same autonomous system. Enforcing egress points to the same
autonomous system. Enforcing consistent advertisments turns out to be
difficult in practice, but it is doable. To
reduce the overhead of routing changes. We can group
related prefixes. Rather than exploring all combinations of prefixes
to move a particular volume of traffic. We can
identify routing choices that group routes that have
the same AS paths and we can move
groups of prefixes according to these groups of
prefixes that share an AS path. This allows us
to move groups of prefixes by making tweaks
to local preference on. Regular expressions on AS
path. We can also focus on the small
fraction of prefixes that carry the majority of traffic.
Ten percent of origin AS is responsible
for about 82 percent of outbound traffic,
therefore we can achieve significant gains in
rebalancing traffic in the network by focusing on
the heavy hitters. In summary, to achieve
predictability, we effect changes that are not globally
visible. To limit the influence of neighbors,
we enforce consistent advertisments and limit the influence
of a s pass length. And to reduce
the overhead of routing changes, we group pre fixed
according to those that have common AS paths.
And, move traffic, in terms of groups of prefixes.