The emergence of distributed multimedia applications places stringent timing constraints on the underlying network. Despite the growth of ATM networks over the last decade, the need for large-scale changes in existing network infrastructures has inhibited their deployment in local area networks, which continue to be dominated by Ethernet networks. Over the years Ethernet has grown in speed and shared-segment Ethernet networks are giving way to scalable switched Ethernet networks. While Ethernet networks are adequate for best effort applications, lack of prioritization and the probabilistic nature of the Ethernet MAC protocol hinders the delivery of performance guarantees to real-time applications. In this paper, we present our experiences with the implementation of a real-time Ethernet switch called EtheReal. EtheReal provides three innovations for real-time traffic over switched Ethernet networks. First, EtheReal delivers connection oriented hard bandwidth guarantees without requiring any changes to the end host operating system and network hardware/software. For ease of deployment by commercial vendors, EtheReal is implemented in software over Ethernet switches, with no special hardware requirements. QoS support is contained within two modules, switches and end-host user level libraries that expose a socket like API to real time applications. Secondly, EtheReal provides automatic fault detection and recovery mechanisms that operate within the constraints of a real-time network. Finally EtheReal supports server-side push applications - such as video servers and video/audio conferencing - with a guaranteed bandwidth link-layer multicast scheme. Performance results from the implementation show that EtheReal switches deliver bandwidth guarantees to real time-applications within 0.6% of the contracted value, even in the presence of interfering best-effort traffic between the same pair of communicating hosts. The EtheReal fault recovery mechanism operates within 32ms (even in large networks similar to1000 switches) - nearly 1000 times faster than the 30 seconds required by the IEEE 802.1D algorithm. The evaluation of EtheReal's implementation is complemented by an emulation study that verifies the correctness and scalability of the fault detection and recovery mechanisms.