ArticleslgStudy

science

Multihoming

Multihoming is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Multihoming rather than just read about it. In short: Multihoming is the practice of connecting a host or a computer network to more than one network. This can be done in order to increase reliability or performance.

Key takeaways

  • Multihoming belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Multihoming to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Multihoming from memory before moving on to harder problems.

Reference excerpt

Multihoming is the practice of connecting a host or a computer network to more than one network. This can be done in order to increase reliability or performance. A typical host or end-user network is connected to just one network. Connecting to multiple networks can increase reliability because if one connection fails, packets can still be routed through the remaining connection(s). Connecting to multiple networks can also improve performance because data can be transmitted and received through the multiple connections simultaneously, multiplying throughput and, depending on the destination, it may be possible to select a more efficient route through the choice of outbound network.

Variants 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 When multihoming is used to improve reliability, care must be taken to eliminate any single point of failure (SPOF):

Upstream connectivity: A given network operations center must have multiple upstream links to independent providers. Furthermore, to lessen the possibility of simultaneous damage to all upstream links, the physical location of each of these upstream links should be physically diverse: far enough apart that a piece of machinery (such as a backhoe) won't accidentally sever all connections at the same time. Routers: Routers and switches must be positioned such that no single piece of network hardware controls all network access to a given host. In particular, it is not uncommon to see multiple Internet uplinks all converge on a single edge router. In such a configuration, the loss of that single router disconnects the Internet uplink, despite the fact that multiple ISPs are otherwise in use. Host connectivity: A "reliable" host must be connected to the network over multiple network interfaces, each connected to a separate router or switch. Alternatively, and preferably, the function of a given host could be duplicated across multiple computers, each of which is connected to a different router or switch. Referencing entities: Not only must a host be accessible, but in many cases it must also be "referenced" to be useful. For most servers, this means in particular that the name resolution to that server be functional. For example, if the failure of a single element blocks users from properly resolving the DNS name of that server, then the server is effectively inaccessible, despite its otherwise connected state. By increasing the number of interfaces and links being used and making routing less deterministic, multihoming complicates network administration.

Implementation

IPv4 Classic multihoming is the dominant technique for IPv4. This requires that a network have its own public IP address range and a public AS number. While multihoming with multiple addresses has been implemented for IPv4, it is not generally used, as host implementations do not deal well with multiple addresses per interface which requires the use of "virtual interfaces". It is also possible to implement multihoming for IPv4 using multiple NAT gateways.

IPv6 Classic multihoming can be done in the same way for IPv6 as in IPv4, using Provider Independent Address Space (PI), which can be used to balance traffic across multiple providers. Some regional Internet registries (RIR) such as RIPE have started to allocate /48s from a specific prefix for this purpose. RIPE allocates IPv6 provider-independent address spaces /48 or shorter from 2001:678::/29. Multihoming with multiple addresses has been implemented for IPv6. For outgoing traffic, this requires support on the host, either protocol agnostic (Multipath TCP, SCTP, QUIC, etc.) or specific to IPv6 (e.g. SHIM6).

Other solutions Automated renumbering. If one uplink goes down, all addresses in the network will be renumbered into a new /48 subnet. DNS and firewall records must be updated to redirect traffic to a different /48 subnet. This renumbering will break live TCP and UDP sessions. Locator/Identifier Separation Protocol (LISP)

See also

References

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Multihoming

Start with the simplest possible case. Write down what Multihoming claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Multihoming before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Multihoming ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Multihoming

In research
Multihoming appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Multihoming in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Multihoming is common in secondary-school and first-year university syllabi. It links to neighbouring topics Internet architecture, Multihoming, Routing, so understanding it makes those chapters shorter.
In everyday life
Look for Multihoming outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Multihoming in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Multihoming means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Multihoming out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Multihoming in simple terms?

Multihoming is the practice of connecting a host or a computer network to more than one network. This can be done in order to increase reliability or performance.

Why does Multihoming matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Multihoming?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Multihoming.

Tags

  • Internet architecture
  • Multihoming
  • Routing

Keep exploring