My apologies if this is an obvious question, I'm a newbie as far as redundant networking goes, and I'm not sure what keywords to Google for. My application scenario is this:
The obvious thing to do in order to get network redundancy is to have two high-speed Ethernet switches, and connect each Linux server to both switches. That way if one of the switches fails, or somebody accidentally cuts through an Ethernet cable, communication can continue via the other cable/switch, and the system will remain fully functional.
My question is, is there a way to make the redundancy 100% transparent to the application software? (By transparent, I mean that the application software shouldn't have to know or care that there is more than one Ethernet port; ideally it would only see an eth0 and not an eth1... and if data stops flowing over one of the two physical Ethernet ports for whatever reason, the application software shouldn't have to detect the fault or do anything special in order to keep working).
Extra bandwidth isn't important for my purposes (one "lane" of gigabit ethernet is fast enough), but simplicity and reliability are.