Okay, the difference between a layer 3 router,  switch and a multilayer switch seems to confuse alot of networkers, so I decided to write this to briefly explain in a nutshell the main between both.

Before starting to talk about layer 3 switches or multi-layer switches, why not briefly summarize “Switching” as in basic layer 2 switching.

Before switches existed there were devices called bridges, and I will not be explaining or going into much details about what is a bridge, but here is the main differences between a bridge and a switch:

Layer 3 Routing

Okay, now we are getting to the interesting stuff. Basically a Layer 3 Router is a device that uses layer 3 addresses (IP as example) to transmit packets from one network to another. How does it do that ? Well, there are two ways:

Layer 3 Switching:

Okay, so what makes a layer 3 switch different from a switch or from a router? Basically a layer 3 switch is a normal  switch, but it can do a router’s job.

A Layer 3 switch:

Finally, Let’s talk about Multi-layer switches:

A Multilayer switch, is a switch that can perform Basic layer 2, layer 3 and up to layer 7 switching. There is a trick behind that. For a multilayer switch to perform routing function it has to have a route processor, in another words, it must have a router module or a card that collects routing table information, then updates the router’s line modules or cards with that information, this means that it is gonna need an additional piece of hardware.

Multi-layer switches are capable of using Topology based Cisco Express Forwarding or Route cache (flow based) forwarding. This means that it can cache a learned route for a packet and use it later for other packets, a route once switched many concept.

Not all multi-layer switched have the two components (Switch engine and route processor)that successfully does routing. In another words, Every layer 3 switch is a Multi-layer switch (It uses CEF and can cache Information) , however, not every multi-layer switch can become a layer 3 switch  (it needs an additional Module to perform routing functions)