0

Background:

Assume I have PC1 communicate with PC2. Another PC3 connects (in serial) between PC1 and PC2 and inspects their network traffic (like a firewall hardware).

If PC3 shut down for some reason (e.g., loss of power supply), the normal communication between PC1 and PC2 will also stop. And I do not want to see this happen.

Question:

I want to add hot swapping feature to PC3. Even if PC3 shut down, the communication channel will hot swap to another good wired channel. Hence, PC1 can still communicates with PC2.

How to add this hot swapping feature to PC3?

1
  • Unfortunately, host/server configurations are off-topic here. You could try to ask this question on Server Fault for a business network, or on Super User for a personal network.
    – Ron Maupin
    Jul 7, 2018 at 20:26

2 Answers 2

2

If you are talking about Ethernet connectivity, certain devices such as IPS and WAN acceleration appliances, are designed to operate in a similar manner. They are fitted with bypass NICs. The NIC has two Ethernet ports and they are designed to sit in-line, between hosts and a gateway or between two gateways. Under normal operation (when the device is powered on), the device bridges the traffic between the two ports and at the same time inspects or manipulates the traffic. If there is a power failure and the device goes down, a relay flips and the NIC fails open, physically connecting the two Ethernet ports together. There is usually a small blip (microseconds) when switchover occurs, but after the switchover, it is as if the two Ethernet cables are physically connected.

There are many vendors for these NICs, one example by Intel is PRO/1000 PT Quad Port Bypass Server Adapter, which has four ports, so you can have two pairs of bypass ports

3
  • the quad port adapter sounds good. "If there is a power failure and the device goes down, a relay flips and the NIC fails open, physically connecting the two Ethernet ports together." is this process physically automatic?
    – TJCLK
    Jul 6, 2018 at 7:40
  • is it compatible to install on normal laptop, or single board computer (e.g., raspberry pi)?
    – TJCLK
    Jul 6, 2018 at 7:42
  • 1
    You would likely need a desktop with PCIe slots. I haven't heard of any USB versions. Yes, the process is automatic, happens whenever the power is lost.
    – user27899
    Jul 6, 2018 at 8:19
1

This kind of problem can be addressed in various ways. Basically, you need to have another connection that is marked as redundant and not used during PC3 availability.

A popular solution is the spanning tree protocol (RSTP or MSTP): both PC1 and PC2 are connected to a switch each and PC3 is connected between these switches. There's an additional, direct connection between the switches.

Per STP, the link across PC3 is configured to have priority (forwarding state) while the direct link is blocked. (PC3 needs to either transparently forward STP frames (BPDUs) or participate actively in STP as the root bridge.) Now, when PC3 goes down the switches detect the failing link and activate the previously blocked link. When PC3 comes up again that link gets priority and the direct link is blocked again.

You could realize a similar concept without the switches but that would require running a second connection between PC1 and PC2 and have them switch over by themselves. I guessed this is not what you want.

It's also possible to use other methods (proxy ARP, virtual IPs with GARP, a layer 3 connection with routing priority, ..) but they are somewhat more complicated.

The approach above assumes a network connection using Ethernet - you didn't clearly indicate what your scenario uses. Why so?

Firstly, this is NESE and we use networking technology. Secondly, a simple, serial link does not have the capability for running multiple connections between two nodes. It's basically a point-to-point physical layer link with nothing else to work with. You'd need to fail over this link using a physical layer approach, ie. using a hardware bypass switch.

Not the answer you're looking for? Browse other questions tagged or ask your own question.