Fault tolerance is a desirable property for several communication networks. In Local Area Networks (LAN), mirroring may be used for providing fault tolerance. In general, LAN mirroring means that data frames sent between a sender and a receiver are sent via multiple physically separate LANs (two or more). The basic idea behind LAN mirroring is that it is highly unlikely that all duplicates of a data frame would disappear. Therefore, the receiver will receive at least one of the data frames. Usually redundant LAN architectures assume that a failure in one LAN is usually isolated from another LAN(s). Thus, a node can communicate with other nodes even if one LAN cannot be used to send data frames to the other nodes.
FIG. 1 describes a simple system architecture for LAN mirroring. FIG. 1 comprises a sender, a receiver and two distinct LANs LAN1, LAN2, which connect the sender and receiver to each other. The sender sends a data frame #X via both LANs to the receiver. Although the main idea behind using LAN mirroring is very simple, there still exist some difficulties that must be taken care of:                The receiver must discard the duplicates, i.e. the receiver must know which frames it must accept and which to reject.        LAN mirroring must be transparent to upper level protocols (e.g. Internet Protocol (IP) and Address Resolution Protocol (ARP)).        
Therefore, the major requirement of the mirroring system is that it must be possible to uniquely identify each sent data frame/message. This is important because each frame should be passed to the application level only once, even if it has been received more than once. On the other hand, when there are no problems on any of the separate LANs, data frames are typically received more than once.