Routing with the Border Gateway Protocol (BGP)
Once you have physical connectivity with adequate diversity in place, you can address the first two requirements. In a multihoming environment, you normally detect and react to link failures by running Border Gateway Protocol (BGP) between your routers and those of the ISP.
BGP is frequently assumed to mean complex configurations on expensive, high-end routers in order to handle the huge routing tables required to fully describe the Internet. However, depending on the specific application requirements and the degree of load-balancing desired across all available links, it's frequently practical to implement multihoming using the smallest routers available that are capable of handling the traffic load.
In other words, the decision to implement multihoming doesn't have to be an all-or-nothing choice. There are choices you can make along the way, based on the equipment you have available and the level of connectivity you need to provide. The underlying need for multihoming should also be examined. For many users, adequate availability may be achievable at lower cost by using multiple links to a single, higher-quality ISP. This is particularly appropriate in environments where load balancing is important as well as availability.