Programmable Ethernet Switches and Their Applications

Srikant Sharma
State University of New York, Stony Brook


Abstract

Simplicity, cost effectiveness, scalability, and the economies of scale make Ethernet a popular choice for (a) Local Area Networks (LAN), as well as for (b) Storage Area Networks (SAN), and increasingly (c) Metropolitan-Area Networks (MAN). Applications of Ethernet in SAN and MAN arena elevate it from a LAN technology to a ubiquitous networking technology. With the expanded applicability of Ethernet there are certain adaptability issues which prompt rethinking of some of its architectural features. The Spanning-Tree based switching mechanism, which is considered to be very efficient at avoiding switching loops in LAN environment, is a performance bottleneck in Metro network context. Absence of explicit switching path selection mechanism prohibits traffic engineering in metro networks. Prolonged spanning tree reconstruction periods after failures make Ethernet unsuitable to be deployed to support critical applications. Lack of usage regulation mechanism leads to insufficient isolation between different users resulting in QoS related problems. Modern Ethernet switches support many advanced features beyond route learning and packet forwarding such as VLAN tagging; rate limiting; and status monitoring, which can be controlled through programmable interfaces. Conventionally, these features are mostly used to statically configure Ethernet switches. In this talk we discuss how these features can be used as dynamic control mechanisms in the context of metro and cluster networks to: Maximize physical network link resources by enabling MPLS like traffic engineering, Minimize failure recovery time, and Enforce QoS requirements. With these advanced programmatic configurable control mechanisms, standard Ethernet switches can be used as effective building blocks for metropolitan-area Ethernet networks (MEN), storage-area networks (SAN), and computation cluster interconnects. We discuss how a comprehensive resource management system can be devised using these mechanisms which can result in high performance and fault tolerant metro Ethernet, Storage, and Cluster networks.