Multihoming
From Free net encyclopedia
Multihoming is a technique to increase the reliability of the internet connection for an IP network. As an adjective, it is typically used to describe a customer, rather than an internet service provider (ISP) network.
Contents |
Multihoming variants
There are a couple of ways to multihome, separate from the actual protocols used to do so, amongst which the most important:
- Single Link, Multiple IP Address (Spaces)
- The host has multiple IP addresses (eg 2001:db8::1 and 2001:db8::2), but you only have one physical upstream link. When the single link fails connectivity is down for all addresses.
- Multiple Interfaces, Single IP Address per interface
- The host has multiple interfaces and each interface has one, or more, IP addresses. If one of the links fail that IP Address is unreachable, the other will still work. Hosts that have multiple AAAA or A records enabled can then still be reachable at the penalty of having the client program time out and retry on the broken address. Existing connections can't be taken over by the other interface, as neither TCP nor UDP support this. To remedy this, one could use SCTP which does allow this situation. Unfortunately SCTP is not used very much in practice.
- Multiple Links, Single IP Address (Space)
- This is what in general is meant with Multihoming. With the use of a routing protocol, in most cases BGP, the end-site announces this address space to its upstream links. When one of the links fails, the protocol notices this on both sides and traffic is not sent over the failing link any more. Usually this method is used to multihome a site and not for single hosts.
Multihoming caveats
The following items can cause one to have failing connectivity (SPOF, Single Point of Failures)
- Using only one upstream link, or multiple links from a single provider
- Using only one interface
- Using only one router
Making every item which can fail redundant is necessary to achieve true multihoming.
IPv4 multihoming
In order to be multihomed, a network must have its own public IP address range and an AS number. Then a connection to two (or more) separate ISPs is established. The routing over these connections is normally controlled by a BGP enabled router.
In the case where one outgoing link from the multihomed network fails, outgoing traffic will automatically be routed via one of the remaining links. More importantly, other networks will be notified, through BGP updates of the multihomed network routes, of the need to route incoming traffic via another ISP and link.
A key pitfall in multihoming is that two apparently independent links, from completely different ISPs may actually share a common transmission line and/or edge router. This will form a single point of failure and considerably reduce the reliability benefits from multihoming.
Another problem to look out for is that multihoming too small a network may not be effective since route filtering is very common among BGP users and smaller prefixes may be filtered out. This will make multihoming fail.
IPv6 multihoming
Multihoming in the next-generation IPv6 protocol is not yet standardized, as discussions about the various possible approaches to multihoming are still unresolved.
External links
IPv4 multihoming:
IPv6 multihoming:
- IETF IPv6 multihoming working group
- RFC 3582: Goals for IPv6 Site-Multihoming Architectures
- Internet-Draft: Analysis of IPv6 Multihoming Scenarios