MORE INFORMATION
Consider the following configuration of a Windows-based computer:
- A working computer that has Windows installed.
- Two network adapters connected to the same physical network (or hub).
- TCP/IP installed as the network protocol.
- Adapter addresses on the same subnetwork 192.168.0.1 and 192.168.0.2.
- Assume a client on the network uses the address 192.168.0.119.
When you use this configuration, you may expect the two
adapters on the same network and protocol subnetwork to perform some kind
of load balancing. By definition of the Ethernet network topology, only one
adapter may communicate on the network at the same time. Therefore, both
adapters cannot be transmitting at the same time and must wait if another
device on the network is transmitting. Additionally, broadcast messages
must be handled by each adapter as they are both listening on the same
network. If anything, this configuration requires more overhead, not taking
into consideration any protocol-related issues. This configuration is not a
good method to provide a redundant network adapter for the same network.
Assume that the server needs to send a packet using the TCP/IP protocol to
a client with the address 192.168.0.119. This address is on the local
subnet, so use of a gateway is not required to reach the client. The
protocol stack uses the first route it finds in the local routing table.
This is typically the first adapter installed, which, in this case, is
192.168.0.1. If the transmission fails, subsequent retries may use the same
adapter according to the entry found in the routing table.
If the network cable for the 192.168.0.1 adapter fails, this does not
necessarily cause the routing table to be updated with the removal of the
route. Therefore, the second adapter still may not be used.
Another consideration is that some network applications bind to specific
adapters in the system. If a network application were to bind to the second
adapter specifically, application-related traffic received from clients on
the first adapter may be ignored by the application. This may be a result
of NetBIOS name registration on the network. Additionally, if the adapter
fails to which the application is bound, the application may fail if it
does not decide to use the other adapter. Depending on the application, the
other adapter may or may not be used.
In most instances, unless applications specifically demand, this type of
configuration is not beneficial. Some manufacturers make fault-tolerant
network adapters to guard against a single point of failure. These adapters
enable two adapters to be placed in the same server, but only enable use of
one adapter at a time. If the primary adapter fails, the driver deactivates
the first card and activates the second with the same address
configuration. The end result is a fairly seamless transition to the
alternate adapter. This is the preferred method to guard against a single
network adapter as a single point of failure.
Microsoft Cluster Server
Microsoft Cluster Server (MSCS) does not make use of additional adapters on
the same network and relies on existing features of the TCP/IP protocol. In
the event of adapter failure, the software does not automatically try to
register IP Address Resource addresses on the other adapter. If you want to
avoid a single network adapter as a single point of failure, consider use
of a fault-tolerant network adapter set as mentioned previously in this
article.
The preceding information applies to the broadcast route. For the route to the subnet, it uses the highest numerical IP address within the subnet.
For example, assume two adapters with IP addresses 192.168.0.1 and 192.168.0.2, where 192.168.0.1 was installed first. This creates the following routes:
192.168.0.0 255.255.255.0 192.168.0.1 192.168.0.1
192.168.0.0 255.255.255.0 192.168.0.2 192.168.0.2
192.255.255.255 255.255.255.255 192.168.0.1 192.168.0.1
255.255.255.255 255.255.255.255 192.168.0.1 192.168.0.1