Subject: Re: IP distribution across multiple NICs
To: Andrew Gillham <firstname.lastname@example.org>
From: John Franklin <email@example.com>
Date: 01/10/2001 12:07:40
On Wed, Jan 10, 2001 at 11:03:20AM -0500, Andrew Gillham wrote:
> Actually he is looking for _outbound_ loadbalancing, not inbound.
> If you have three interfaces, and a default route pointing out fxp0,
> won't all responses that are not local go via this interface anyway?
> (e.g. NetBSD doesn't always reply via the ingress interface)
While I don't think you were thinking this, it did spark in me an
interesting idea. We are able to hide several physical hard drives
behind an abstraction of a drive to make the several drives look like
one big drive. RAID.
Can we do the same with network interfaces? Can we lash several network
interfaces behind an abstraction of one to create an effectively larger
pipe? Call it RAIDNet or something.
Disk RAID is trivial do to because it's a closed system: there's the
abstraction, the drives behind it, and nothing beyond that. I've seen
similar things done with connectivity, but they also keep the system
closed: "shotgun" modems that use two phone lines to talk between each
other, or bonded T-1 lines where there are CSU/DSUs on either end
configured to handle it.
But this would be different. It's releasing packets with the same IP
from three different NICs each with their own MAC to an unsuspecting
network. For the outbound it shouldn't matter since the packets are
addressed to go to a particular unique MAC on the wire (the gateway),
and a unique IP for the long haul. There aren't any big-picture
routing issues since the several MACs might all be behind the same
switch and serviced by a single router who would advertise the
It's the return packets that could cause a problem. Return packets
are set for an IP on the long haul, so that wouldn't be an issue. But,
the last network segment where the last gateway has to come up with a
MAC address either by doing an ARP or looking it up in a table of
previously seen mappings.
How would layer-3 switches with their tables of MAC<->IP mappings or
routers or other hosts on that network handle it? It doesn't really
matter with which MAC other systems address packets since they would be
mapped to the abstracted network interface, but could it cause
switches/routers/gateways/hosts to crash? Would they interpret it as
two hosts fighting for an IP, consider it an error and drop packets to
If you're looking to do this to increase your outbound throughput, it
would be reasonable to have the abstraction reply to ARP requests with
only one MAC, but accept an inbound packet on any NIC. It's the smart
routers that I'm not sure would accept constantly changing MACs for an
ICBM: 35°48'19"N 78°46'39"W