DEV Community

Roy Keene
Roy Keene

Posted on • Originally published at rkeene.org

1 1

Network Load Balancing with CLUSTERIP

Load-balancer Less Load Balancing

There's not a lot of information on CLUSTERIP on the Internet for some reason. It's an implementation of an older technique, made easier by an IPTables target extension.


The way CLUSTERIP works is fairly simple.

  1. Every member of the cluster is attached to the same [broadcast domain];
  2. Every member of the cluster is configured with the same multicast MAC address;
  3. Each member of the cluster then filters out incoming packets they don't think they should handle:
    1. In an exclusive manner with respect to other nodes (i.e., no other member of the cluster will handle the packet);
    2. And in an inclusive manner with respect to packets (i.e., when all the nodes of the cluster are up every packet will get handled by a node); also
    3. Using the following criteria normally:
      1. Based on source IP; or
      2. Based on source IP and source port; or
      3. Based on source IP and source port and dest port
    4. If a node is down, another node can notice and assume responsibility for its share of the incoming packets
  4. Outgoing packets are sent with the source IP and MAC address of the cluster, but the destination IP of the target and destination MAC address of the next-hop router (gateway)

From the above description, the major weakness of CLUSTERIP is shown. Incoming packets are replicated N times (for every member of the cluster), thus CLUSTERIP (when used alone, other higher layer techniques can sometimes mitigate this) cannot be used to load-balance incoming traffic bandwidth effectively. Outgoing traffic is unaffected and will be split as evenly as the load-balancing scheme permits.

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more