There are several different ways to perform multihoming.
Host multihoming A single host may be connected to multiple networks. For example, a mobile phone might be simultaneously connected to a
WiFi network and a
4G network, and a desktop computer might be connected to both a home network and a
VPN. A multihomed host is assigned multiple addresses, one per connected network.
Classic multihoming In classic multihoming, a network is connected to multiple providers and uses its own range of addresses (typically from a
Provider Independent (PI) range). The network's edge routers communicate with the providers using a
dynamic routing protocol, typically
BGP, which announces the network's address range to all providers. If one of the links fails, the dynamic routing protocol recognizes the failure within seconds or minutes and reconfigures its
routing tables to use the remaining links, transparently to the hosts. This means that existing TCP and UDP sessions are typically maintained through such cut-overs. Classic multihoming is costly, since it requires the use of address space that is accepted by all providers, a public
Autonomous System (AS) number, and a dynamic routing protocol. Since multihomed address space cannot be aggregated, it may contribute to the
growth of the global routing table.
Multihoming with multiple addresses In this approach, the network is connected to multiple providers, and assigned multiple address ranges, one for each provider. Hosts are assigned multiple addresses, one for each provider. Multihoming with multiple addresses is cheaper than classic multihoming, and can be used without any cooperation from the providers (e.g. in a home network) but requires additional technology in order to perform routing: • for incoming traffic, hosts must be associated with multiple A or AAAA
DNS records so that they are reachable through all providers; • for outgoing traffic, a technique such as
source-specific routing must be used to route packets through the correct provider, and reasonable source address selection policies must be implemented by hosts. == Caveats ==