Generally, load balancing is any method for evenly distributing processing or service requests across devices in a network.
We are going to focus on:
Layer-2 Load Balancing (bonding)
Layer-2 load balancing, aka link aggregation, port aggregation, ether channel, or gigabit ether channel port bundling is to bond two or more links into a single, higher-bandwidth logical link. Aggregated links also provide redundancy and fault tolerance if each of the aggregated links follows a different physical path. Link aggregation may be used to improve access to public networks by aggregating modem links or digital lines. Link aggregation may also be used in the enterprise network to build multi-gigabit backbone links between gigabit ethernet switches.The Linux kernel has the Linux bonding driver, which can aggregate multiple links for higher throughput or fault tolerance.
Reference : http://www.loadbalancing.org/