Enhancing ethernet's reliability and scalability.

Ethernet is pervasive. This is due in part to its ease of use. Equipment can be added to an Ethernet network with little or no manual configuration. Furthermore, Ethernet is self-healing in the event of equipment failure or removal. Unfortunately, it suffers from significant reliability and scalability problems. Ethernet's distributed forwarding topology computation protocol—the Rapid Spanning Tree Protocol (RSTP)—is known to suffer from a classic count-to-infinity problem. However, the cause and implications of this problem are neither documented nor understood. In this dissertation, we identify the exact conditions under which the count-to-infinity problem manifests itself, and we characterize its effect on forwarding topology convergence. Also, we have discovered that a forwarding loop can form during count to infinity, and we provide a detailed explanation. In addition to count to infinity induced forwarding loops, Ethernet is known to suffer from other types of forwarding loops. A forwarding loop can cause packet loss and duplication, which in some cases may persist indefinitely. To address these reliability problems, we propose two solutions. First, we introduce the EtherFuse, a new device that can be inserted into an existing Ethernet. In the event of failures, the EtherFuse speeds the reconfiguration of the spanning tree and suppresses packet duplication. EtherFuse is backward compatible and requires no change to the existing hardware, software, or protocols. We describe a prototype EtherFuse implementation and experimentally demonstrate its effectiveness. Specifically, we characterize how quickly it responds to network failures, its ability to reduce packet loss and duplication, and its benefits on the end-to-end performance of common applications. Second, we propose a simple yet effective modification to the standard RSTP protocol called RSTP with Epochs. This solution guarantees that the forwarding topology converges in at most one round-trip time across the network and eliminates the possibility of a count-to-infinity induced forwarding loops. In addition to the reliability problems, Ethernet also faces scalability challenges due to broadcast traffic. We studied and characterized broadcast traffic in Ethernet networks using real traces. In these traces, we found that broadcast is mainly used in Ethernet for service and resource discovery. For example, the Address Resolution Protocol (ARP) uses broadcast to discover a MAC address that corresponds to a network layer address. To avoid broadcast requests for service and resource discovery, we propose that the network caches this information, then serves those requests from the cache. To this end, we introduce a new device, the EtherProxy* that uses caching to suppress broadcast traffic. EtherProxy is backward compatible and requires no changes to existing hardware, software, or protocols. Moreover, it requires no configuration. In our evaluation, we used real and synthetic workloads. The synthetic workloads try to simulate broadcast traffic in very large Ethernet networks. They are constructed with the aid of our characterization of broadcast traffic in real traces. Using both workloads, we experimentally demonstrate the effectiveness of the EtherProxy. *Not to be confused with Proxy ARP [40]