Ethernet – Why do we still use Ethernet

ethernetprotocol-theory

There's no doubt the vast majority of Ethernet frames are transporting IP packets. I know there are various other protocols that can be transported over Ethernet as well, but those can be transported over IP as well.

With modern Ethernet networks being full-duplex, Ethernet has effectively turned into a point-to-point interconnect between an endpoint and a switch, which switches the packet based on the MAC destination. L3 switches do the same thing but also perform some IP routing.

Since we use Ethernet mostly only as a means to transport IP, is there any reason to have that extra layer of L2 overhead? Why not just route packets based on the destination IP? I suppose that would be breaking the OSI model, to some extent, in that L2 would cease to exist.

Imagine a link layer technology that was designed only to transport IP, and didn't have any specific L2 functionality or header of its own. Switches and routers would continue to exist like today: switches would be "basic routers" (just like L3 switches are) and mostly only take fixed routes and a default route. Switching flow: is there a route in place for this destination? Stick it in that interface's queue. If not, stick it in the default route's interface's queue.

Is there any compelling argument for keeping things the way they are?

Best Answer

Since we use Ethernet mostly only as a means to transport IP, is there any reason to have that extra layer of L2 overhead?

Naming a few common protocols or features that require L2 overhead such as Ethernet:

  • Spanning-Tree (requires 802.2 LLC)
  • ISIS (requires 802.2 LLC)
  • Vlans
  • ARP (which is not just for ethernet)
  • Choosing between IPv4 and IPv6
  • IEEE 802.11 Wifi (which shares many basic functions with 802.3 Ethernet, but is fundamentally a different protocol)

Ethernet has effectively turned into a point-to-point interconnect between an endpoint and a switch, which switches the packet based on the MAC destination. Is there any compelling argument for keeping things the way they are?

If you say Ethernet is only for addressing and point-to-point connections, you are over-simplifying the protocol. IEEE 802.3 also covers the physical layer: various forms of copper and fiber media, encoding on the wire, error recovery, line conditioning, and so on. If you add all these functions directly on IPv4, you duplicate many of Ethernet's functions and what have you really saved? This also ignores the monumental standardization and engineering effort to build these functions directly into IPv4 and IPv6. My brain hurts to think how this would work at a practical level anyway.

In the end, the argument is economics. The entire planet has engineered servers / switches / operating systems / etc around the assumption of a link-layer between IP and the signal encoding on the wire (or wifi-radio). Ethernet does a lot for us, and it's extremely cheap because it's the de facto interconnect technology for most computers on the planet. Replacing Ethernet is somewhat akin to replacing the US Congress as a governing body. It may not be perfect, but it's inconceivable to do anything else at this point.

Related Topic