Module 3.3-ODC112029 BGP Multi-Homed ISSUE1
Module 3.3-ODC112029 BGP Multi-Homed ISSUE1
The network is multi-homed if it has more than one exit point to the outside world.
For example, the network can be multi-homed to a single provider or multiple
providers.
The purpose of multi-homed is to provide the reliability or achieve the load balancing
via redundant links.
Load balancing allows a router to distribute the incoming traffic or outgoing traffic
among multiple paths. Multiple paths can be learnt through either static route or
dynamic routing protocol such as RIP, OSPF and so on.
By default, BGP allow only a single best path and does not perform load balancing.
This lesson will introduce the methods how to perform load balancing in different
scenarios using BGP.
Multi-homed Stub Network for a single border router can provide the redundancy by
protecting not only failure of a single link but also protect failure of a single ISP router.
When implement this kind of design solution, BGP can be used to provide an effective
control for load balancing that might be implemented.
Private autonomous system number can be assigned to the customer network for the
single upstream service provider solution as shown in the diagram above. The service
provider will send a default route to customer via BGP. The customer does not require
to obtain a public unique registered autonomous system number that is visible in the
Internet from IRR. The upstream service provider will remove the private autonomous
system number from the received update information.
The use of BGP in this design solution allows the enterprise to have a better control
the incoming and outgoing traffic flow. It is very useful when both of the links have
different link bandwidth. This is because route selection policy can be used for
proportionally traffic load balancing according to the bandwidth of the link.
The use of single enterprise border router might result in single point of failure.
This single point of failure can be avoided by adding one or more enterprise border
routers. Each of the enterprise border routers is connecting to one or several links of
the upstream service provider. This kind of solution still connecting to single upstream
service provider.
The enterprise is still allowed to use the private autonomous system number in this
design. The advantage of using private autonomous system number is that the
enterprise does not require to obtain a new public autonomous system number.
The use of BGP provides additional support for enterprise to define the route policies
for incoming and outgoing traffic. In addition to the EBGP session with upstream
service provider, the enterprise needs to establish full mesh IBGP sessions between
all the border routers and all the layer 3 devices that might provide the cross-over to
border routers. This is to ensure that the traffic will not be sent to the devices that do
not have routing information about the intended destination.
The enterprise network should distribute the default route from each of the border
router. The default route can be advertised only when the uplink is connected and
activated. This is to prevent the traffic from going to the border router along the default
route in the case where the uplink of the border router fail. This kind of conditional
advertisement can be achieved by the static default route pointing to the interface, or
by importing the default static route received from BGP to IGP. In this context, the
conditional advertisement here is not referred to the BGP conditional advertisement
feature. Other route information received from the upstream service provider should
not be imported to any of the IGP process running on the border router.
In this design, the border routers need to establish the EBGP peer relationship with
the routers of their upstream service provider. Besides, the full IBGP sessions are
established between all the border routers and any of the layer 3 devices that might
provide cross-over to the border routers. The received routing information might
include only the default route, or even the complete routing table. In this case, the
routing information received is the same as that of single router.
The most common load balancing mechanism involves the use of partial route
selection information. This means that the enterprise network requests some of the
routing information from its upstream service provider and use it together with the
default route, or request the full routing table and modify the inbound or outbound
filtering policies for reasonable load balancing. Finally, the implementation method is
depend on the objective of the enterprise. The easiest method is to use one of the link
as the primary connection while the other links are solely used for backup purpose.
The most difficult task is to achieve load balancing evenly among multiple paths.
A single EBGP session is established between 2 routers. The EBGP session above
use loopback address instead of the physical address as the source. Each of the
directly connected physical interfaces is configured with a static route pointing to the
remote loopback address. This solution resolves the next hop IP address and the
iterated route of next hop IP address is used to achieve load balancing.
Please note that we must manually modify the TTL value of the EBGP. Its value must
be equal or greater than 2. Else, the BGP session cannot be established.
EBGP multi-path provides another solution for traffic load balancing on multi-path
links. An EBGP session is established for each link between 2 routers. These EBGP
sessions are directly bound to the physical interface addresses. The result is that both
of the routers receive multiple path information with one link represent one path
information. EBGP multi-path allows all paths to be installed on the router up to
maximum 8 paths.
The local AS65102 can reach the upstream AS100 via 2 different links. One of the link
is configured as the primary link ( the link in red color is primary link) and its
responsibility is to transmit all the traffic. Another link is configured as the backup link
(the link in grey color is backup link). When the primary link fails, all the traffic will be
switched over to the backup link.
As shown in the diagram above, both primary and backup links advertise the route
200.100.0.0/24. However, the MED value of the route 200.100.0.0/24 is increased
through the routing policy on the backup link. Next, the route 200.100.0.0/24 with
higher MED value is advertised to the external neighbor in the outbound direction.
On the other hand, the local preference value of all the received IP prefix on inbound
direction of the backup link is decreased through routing policy. By doing so, the
incoming and outgoing traffic can be distributed on the primary link.
The private autonomous system number can be used within the local AS65102.
AS 100 will remove the private AS number when it advertises the route to the external
neighbor. However, the private AS number still visible inside AS 100.
This solution uses multiple local routers to provide multiple links that connect to the
upstream autonomous system. In the diagram above, 2 of the routers connect to the
upstream AS100 through EBGP peer respectively. Both of the links implement load
balancing for the inbound and outbound traffic of local network 200.100.0.0/24
Both of the local routers advertise the route 200.100.0.0/24 as normal. At the same
time, the /24 route is subnetted into two /25 prefixes. Then, the /25 prefixes are
advertised to the upstream AS100 through one of the routers. Please take note that
the /25 prefixes may not be installed in the IP routing table of the device.
Therefore, we need to add a static route on advertising router: ip route-static
200.100.0.0 25 null 0. This is done to ensure the /25 prefixes can be advertised to the
external peer successfully.
The purpose of performing the subnetting is to allow the upstream equipments match
the routes as detailed as possible and implement the load balancing base on the
inbound traffic. We can further subnet the /25 prefix if the perfect load balancing can
not be achieved by using the /25 prefixes. This action can be continue until the perfect
load balancing which is close to 50/50 is achieved.
How to implement the load balancing for outbound traffic? We can receive only the
partial routing information which are desired by using route policy. The load balancing
can be achieved by configuring route policy base on different destination IP address.
In this kind of design, the EBGP peer relationship is established between the border
routers of the enterprise and their upstream ISP. In addition, the full mesh IBGP
session is established between all the border routers and all the layer 3 equipments
that might provide the cross-over to the border routers. The received routing
information might include only the default route, or even the complete routing table. In
this case, the received routing information is the same as that of single router.
The most common load balancing mechanism involves the use of partial route
selection information. This means that the enterprise network requests some of the
routing information from its upstream service provider and use it together with the
default route, or request the complete routing table and modify the inbound or
outbound filtering policies for reasonable load balancing. Finally, the implementation
method is depend on the objective of the enterprise. The easiest method is to use one
of the link as the primary connection while the other links are solely used for backup
purpose. The most difficult task is to achieve load balancing evenly among multiple
paths.
As shown in the diagram above, AS102 advertise the route 200.100.0.0/24 on both up
link as normal. But the backup link also advertise the route which extended the length
of the AS-Path. Therefore, the inbound traffic enter to enterprise through the master
link. At the same time, the backup can provide redundancy.
As shown in the diagram above, AS102 advertise the route 200.100.0.0/24 on both up
link as normal. At the same time, one /24 prefix split up into two /25 prefix.
One of /25 prefix will be advertised to one side as well as one of /25 prefix will be
advertised to the other side. After the routes have been advertised to different ISPs,
the traffic utilization rate on the links are monitored. If the traffic flows on one of the
links is still obviously heavier compare to another link, then we can extend the AS-
Path length on the link that has higher utilization rate.
2. How to implement inbound traffic load balancing for multi-homed to different ISPs?
A: For multi-homed to different ISPs, the inbound traffic load balancing can be
achieved by increasing the length of the AS_PATH. It is recommended that the length
of the AS_PATH should be increased by one each time. This is because we can
control the traffic flow each time the length of the AS_PATH is increased by one.
Therefore, we should observe the traffic flow and increase it gradually.