How can we acheive BGP Load Balacing(not load sharing) to two different ISPs(different ASs) when we have (a single router) and also if we have (two routers) at customer end and our own public AS and IP pool.
>> This is for load sharing only, what I am looking for is true load balancing.
you can attempt to but results are not guarenteed specially on the return path.
you can use something like
router bgp xx
bgp bestpath as-path multipath-relax
maximum paths 2
! the first command is hidden and allows to install two BGP routes with same AS path length and other parameters one coming from ISP1 and one coming from ISP2.
if the edge BGP routers are two you can play on the internal side using multiple static or multiple dynamic default routes on firewalls or core routers and an iBGP session between the two on a separate link is almost necessary.
if client Vlans directly connect to the two edge routers the use of GLBP is enough to achieve load balancing if the number of client devices is not small.
All of above can help in the outbound, towards the internet, direction but little can be done for return path.
You can play with selective AS path prepending in order to advertise different IP prefixes with different AS path lengths to ISP1 and ISP2 in order to try to influence return path, but you cannot get an exact load balancing just the use of both ISPs/links.
Hope to help