|
Load balancing deals with the capability to
divide data traffic over multiple connections. A common misconception
about balancing is that it means an equal distribution of the load.
Perfectly equal distribution of traffic is elusive enough, even in
situations where traffic flows in a network that is under a single
administration. Given the multiple players that traffic has to touch,
equal distribution of the traffic is difficult to achieve in most
scenarios. Load balancing tries to achieve a traffic distribution pattern
that will best utilize the multiple links that are providing redundancy.
To achieve this requires a good understanding of what traffic you are
trying to balance, incoming or outgoing.
It is important not to think about a
traffic stream as a single entity. Traffic is two separate entities,
inbound and outbound. With respect to an AS, inbound traffic is received
from other ASs, whereas outbound traffic is sent to other ASs.
Suppose that you are connected to two ISPs
and traffic is overloading your link to ISP1. Your question should be:
What traffic-inbound or outbound? Are you receiving all your traffic from
ISP1, or are you sending all your traffic toward ISP1?
The patterns of inbound and outbound
traffic go hand in hand with the way you advertise your routes and the way
you learn routes from other ASs. Inbound traffic is affected by how the AS
advertises its networks to the outside world, whereas outbound traffic is
affected by the routing updates coming in from outside ASs. Make sure that
you fully understand this behavior, because it will be the basis of all
future discussions. From now on, whenever we talk about taking steps to
affect inbound traffic, we are really talking about applying attributes to
outbound routing announcements because how our routes are learned by
others affects how traffic is routed inbound. Similarly, whenever we talk
about taking steps to affect outbound traffic, we are talking about
applying attributes to inbound routing announcements, because how our
network learns routes affects how outbound traffic is routed.
The figure illustrates how inbound and
outbound traffic behaves. As you can see, the path for outbound traffic to
reach NetA depends on where NetA is learned. Because NetA is received from
both San Francisco and New York, your outbound traffic toward NetA can go
via San Francisco or New York.
On the other hand, the path for inbound
traffic to reach your local networks, NetB and NetC, depends on how you
advertise these networks. If you advertise NetC over the New York link
only, then incoming traffic toward NetC will take the New York link.
Similarly, if you advertise NetB over the San Francisco link only, traffic
toward NetB will take the San Francisco link.
|