Sidebar

Applications Using Multiple IP Addresses

Articles » Redundant Layer-3-Only Data Center Fabrics » Applications Using Multiple IP Addresses

The optimal approach to any distributed systems challenge is to solve the complex problems at the edge1, and using the network core as a simple transport mechanism.

We could use this approach to build simple layer-3-only transport fabrics, and solve the redudancy issues within the end-hosts:

  • IP subnet assignments closely follow the physical network topology. The size of layer-2 domains is kept to a minimum;
  • The network provides a unique IP address to every endpoint network interface (uplink);
  • Multiple IP addresses assigned to redundantly connected endpoints (hosts/servers) could belong to different subnets;
  • Clients running on redundantly connected endpoints can use multiple IP addresses, potentially establishing multiple sessions (one per interface) with the same server and distributing requests across all the sessions;
  • Service endpoints are available on multiple (server) IP addresses and the clients try to connect to every service endpoint until a successful connection is established.

Redundant client-server application sessions established across multiple subnets

Well-known solutions using this approach include:

  • SCTP transport protocol2 that is unfortunately rarely used3, for example, in SS7 signaling.
  • Multipath TCP4 that allows a client TCP stack to open multiple TCP sessions to the same server and use them concurrently (including load balancing) while giving the appearance of a single TCP session to the application.

Multipath TCP allows the client to use multiple IP addresses, but does not address the problem of service being available on multiple IP addresses5.

  • Multipath I/O in iSCSI implementations that allows the servers to use all uplinks for storage traffic6.

Very few other solutions, applications or products can use the same approach due to challenges faced when implementing this approach on commonly deployed TCP/IP stacks.


  1. Host-to-Network Multihoming Kludges ↩

  2. https://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol ↩

  3. What Went Wrong: SCTP ↩

  4. https://en.wikipedia.org/wiki/Multipath_TCP ↩

  5. iOS Uses Multipath TCP; Does It Matter? ↩

  6. Load Balancing Elephant Storage Flows ↩


More Information

If you’re building a cloud infrastructure, explore the webinars from the Cloud Infrastructure and Software-Defined Data Centers series, in particular the Designing Cloud Infrastructure and Designing Active-Active and Disaster Recovery Data Centers.

If you’re building a data center fabric, start with the Leaf-and-Spine Fabric Architectures and Designs webinar and use the information from Data Center Fabric Architectures webinar when selecting vendors and equipment.

You get all the above webinars with the ipSpace.net subscription.