Routing Between VLANs & Layer 3 Switches - Practical Networking
Routing Between VLANs & Layer 3 Switches - Practical Networking
Layer 3 Switches
Physical Logical
Despite all four hosts being connected to the same physical switch, the
logical topology makes it clear that the hosts in VLAN 20 are unable to
speak with the hosts in VLAN 30. Notice since there is nothing connecting
the two “virtual” switches, there is no way for Host A to speak to Host C.
Since Host A and Host C are in different VLANs, it is also implied that they
are in different Networks. Each VLAN will typically correspond to its own IP
Network. In this diagram, VLAN 20 contains the 10.0.20.0/24 network,
and VLAN 30 contains the 10.0.30.0/24 network.
If you’ve read the Packet Traveling series, then you know that the device
which facilitates communication between networks is a Router.
A router will perform the routing function necessary for two hosts on
different networks to speak to one another. In the same way, a Router is
what we will need in order for hosts in different VLANs to communicate
with one another.
There are three options available in order to enable routing between the
VLANs:
The remainder of this article will explore these three options and their
configuration.
The Router doesn’t know that it has two connections to the same switch —
nor does it need to. The Router operates like normal when routing packets
between two networks.
In fact, the process of a packet moving from Host A to Host D in this
topology will work exactly as it does in this video. The only difference is
since there is only one physical switch, there will only be one MAC address
table – each entry includes the mapping of switchport to MAC address, as
well as the VLAN ID number that port belongs to.
Each switch port in this diagram is configured as an Access port, we can use
the range command to configure multiple ports as once:
Below you will find various show commands for the Router and the Switch,
these can be used to understand and validate how the environment is
functioning.
A Sub-Interface
allows a single
Physical interface
to be split up into
multiple virtual
sub-interfaces,
each of which
terminate their
own VLAN.
Sub-interfaces to
a Router are
similar to what Trunk ports are to a Switch – one link carrying traffic for
multiple VLANs. Hence, each router Sub-interface must also add a VLAN
tag to all traffic leaving said interface.
Keep in mind, however, that the drawback with all VLANs terminating on a
single Router interface is an increased risk of congestion on the link.
The Sub-interface feature is sometimes referred to as Router on a Stick or
One-armed Router. This is in reference to the single router terminating the
traffic from each VLAN.
Apart from using the Sub-interface distinguisher (eth1/1.20) and using the
encapsulation dot1q <VLAN#> command, the rest of the interface
configuration is exactly the same as any other regular physical interface.
These two values do not have to match, but often they do for the purpose
of technician sanity.
Below you will find various show commands for the Router and the Switch.
These can be used to understand and validate how the environment is
functioning.
Layer 3 Switch
The last option for routing between VLANs does not involve a router at all.
Nor does it involve using a traditional switch.
With regard to VLANs the Multilayer switch is configured mostly the same
way as a regular L2 switch:
MultilayerSwitch(config)# vlan 20
MultilayerSwitch(config-vlan)# name RED
MultilayerSwitch(config)# vlan 30
MultilayerSwitch(config-vlan)# name BLUE
MultilayerSwitch(config)# interface range eth2/0 - 2
MultilayerSwitch(config-if-range)# switchport mode access
MultilayerSwitch(config-if-range)# switchport access vlan 20
MultilayerSwitch(config)# interface range eth3/0 - 2
MultilayerSwitch(config-if-range)# switchport mode access
MultilayerSwitch(config-if-range)# switchport access vlan 30
Then, for each VLAN that you want the Multilayer switch to route for, you
have the option of configuring an IP address within what is known as an
SVI, or a Switched Virtual Interface.
An SVI serves as the L3 termination point for each VLAN – aka, the way in
or out of each VLAN. Another way of looking at it is that the SVI serves as
the interface on the built-in Router of the Multilayer switch, allowing traffic
from one VLAN to reach the built-in Router and be routed to another VLAN
as necessary.
The configuration for an SVI involves two parts. First, enabling IP Routing;
and Second, applying an IP address to the VLAN.
MultilayerSwitch(config)# ip routing
The two configurations above will enable routing between VLAN 20 and
VLAN 30. The hosts in each VLAN can use the IP addresses 10.0.20.1
and 10.0.30.1 as their default gateway (respectively).
When Host A sends a packet to Host B, the packet will be switched within
the same VLAN – no L3 processing will occur.
When Host A sends a packet to Host C, the packet will be sent to the SVI to
be routed to the other VLAN – all regular L3 processing will occur: the TTL
will be decremented and the L2 header will be rewritten.
Note: both sets of tabs and configuration above are from the same device.
For the sake of organization, one set of tabs refer to the L3 functions and
the other refers to the L2 functions.
Summary
This article discussed the three different options for Routing between
VLANs. In each case, the hosts in communication behave exactly the same.
In fact, the hosts have no visibility into how and what they are connected to.
Each strategy above has its own benefits and limitations. Hopefully at this
point you have a good idea of the options available to enable
communication between hosts on different VLANs.
Related Posts:
Route
Precedence -- Classful vs Looking for
How does a Classless vs Reviewers for
Router choose CIDR vs FLSM my Practical TLS
its… vs VLSM CCNA -- Index course
4.5
Article Rating
Subscribe
{}
jacob
7 years ago
Hector
7 years ago
I really liked the detailed diagrams, the config examples and of course, the clear
explanation. An excellent source for beginners in networking. Kudos!
8 Reply
Ed Harmoush Author
Hi Hector, glad you liked the article! Thanks for the kind words.
2 Reply
Jose Carlos
7 years ago
Hi! I’m from Portugal. Congrats for the way you teaching. Very well explained
and easily to understand. Thanks!
0 Reply
Dhiraj
6 years ago
Can single host access multiple vlan using layer 2 switch without router ?
0 Reply
Ed Harmoush Author
Hi Dhiraj. No, it can not. Recall that a single L2 switch with two VLANs is
essentially like two physical switches that are not connected together —
frames from one can not reach the other. If you need to wrap your head
around it further, I would recommend this article.
1 Reply
Prem Karat
Reply to Ed Harmoush 5 years ago
0 Reply
Ed Harmoush Author
The virtual hosts within the hypervisor are still subject to the
same rules as any other hosts regarding VLANs: The vSwitch
will not let two virtual hosts in different VLANs speak to each
other without something performing routing between the two
VLANs.
1 Reply
Jon Pinkley
Reply to Dhiraj 4 years ago
The answer Ed provided is true as long as the host has only a single
interface and is connected to an access port for a single vlan.
0 Reply
Ed Harmoush Author
There are always exceptions =). Yes. A single host with two NIC’s can
have each NIC in a separate VLAN. And of course, if the host is VLAN
aware, you can configure a host’s single interface as a trunk and
therefore become members of multiple VLANs using VLAN tagging.
0 Reply
Ricardo Luiz
6 years ago
0 Reply
Ed Harmoush Author
You’re welcome!
0 Reply
Asi Samson
6 years ago
Well expained, however, just a few questions since I am stuck in this same
scenario. My question is;
How do I route between two different networks, I created subinterfaces in both
routers and I can ping from network 10.0.0.0 to network 192.168.0.2 interface
fa0/0 but I cannot ping the interface (which have subinterfaces) directly
connected to the other LAN which is interface fa0/1. I used router rip, please help
what am I missing in the configurations.
Thank you
Asi
0 Reply
Ed Harmoush Author
Hi Asi,
It is hard to know without seeing the configuration and topology. But I think
your routers don’t know of each other’s networks. This article can explain the
details, but try comparing the show ip route of each router and ensure
they know about each other’s networks.
Beyond that, this is probably not the best place to ask for specific
configuration troubleshooting. Try posting on Reddit’s CCNA or Networking
forums.
0 Reply
ANWAR
6 years ago
GOOOOOOD
0 Reply
ANUJ JAIN
6 years ago
0 Reply
La'Ray Reddin
6 years ago
Thank you kindly. Your method has assisted with really understanding this Vlan
communication environment.
I appreciate you a whole lot.
0 Reply
Vishal
6 years ago
Really nice explanation. I was having some trouble understanding the SVI part.
Could you share an example with MAC addresses of the ports and SVIs and
show how the L2 header changes?
1 Reply
Ed Harmoush Author
Hi Vishal, absolutely!
Host A has the IP address 10.0.20.11 and Host C has the IP address
10.0.30.33. These IP address will be the Source and Destination in the L3
header. Remember, L3 is responsible for end to end delivery, therefore this
header will not change.
That said, when the packet is just leaving Host A, the L2 source will be
0050.7966.6800, and the L2 destination will be aabb.cc80.0200. When the
packet is just leaving SVI 30, the L2 source will be aabb.cc80.0200, and the
L2 destination will be 0050.7966.6803.
L2 will accomplish the hop to hop delivery to move the packet through the
entire path.
Hope this helps.
2 Reply
Vishal
Reply to Ed Harmoush 6 years ago
Thanks Ed.
0 Reply
ting
6 years ago
0 Reply
Brian
6 years ago
0 Reply
Ed Harmoush Author
Those are simply the names of the physical interface ports on the Switch.
0 Reply
Alberto
6 years ago
In Layer 3 Switch
Add “ip routing” for enable the option of routing, this is important for test the
communication of the VLANs.
0 Reply
TJ
Reply to Alberto 6 years ago
0 Reply
Ed Harmoush Author
I’ve updated the article with a note about enabling IP Routing. Thanks for
pointing this out!
0 Reply
TJ
6 years ago
If the switch supports it, you can also simply enable ip routing
https://www.cisco.com/c/en/us/support/docs/lan-switching/inter-vlan-
routing/41860-howto-L3-intervlanrouting.html
0 Reply
Ed Harmoush Author
I’ve updated the article with a note about enabling IP Routing. Thanks for
pointing this out! =)
0 Reply
Mark
6 years ago
0 Reply
anita
6 years ago
wow.. Great article.. I have worked 4 years in networking domain and configured
VLANs too.. But never understood the concept. This is an eyeopener for me.
Thanks a lot for writing such a lovely article 🙂
0 Reply
manorma
6 years ago
0 Reply
rijo
5 years ago
0 Reply
Hi, I’m from Uruguay, very clear, detailed articles, it help me a lot, congrats !!
0 Reply
Jana Uramova
5 years ago
Perfect, just one suggestion: It would be perfect to add also “show cdp neigh
detail” to your article, because it would be very explanatory to see the output on
switch (in the first scenario – router with sub-interfaces), how are IP addresses
visible in the output. Also if L3 switch would have one access switch connected
to it, it would be perfect to see “sh cdp neigh detail” on this access switch, how
are IP addresses visible in the output. If someone know the answer, please post
it :).
There is another problem to discussion, what with the native vlan, and when,
why and where to change configuration for that (router – switch, L3switch –
L2switch).
0 Reply
Ed Harmoush Author
Hi Jana, good point about show cdp neighbor detail . Hopefully after
reading this article though, you can build these topologies yourself in
GNS3/VIRL and find the output yourself =).
As for the Native VLAN, it wouldn’t necessarily tie into which of the three
methods for routing between VLANs you choose. The concept of the Native
VLAN was discussed here.
0 Reply
Peter
5 years ago
Hi Ed,
I must say,you have done brilliant work , but I think there is a small error upper
image logical and physical has to alternate 🙂
0 Reply
Ed Harmoush Author
0 Reply
Gary
5 years ago
0 Reply
Ed Harmoush Author
Hi Gary. Glad you liked the post. Your question is very specific though,
unfortunately this isn’t the right medium for that type of question. I would
recommend the Network Engineering Stack Exchange or the Networking
Sub Reddit.
0 Reply
Rohan
5 years ago
Hi,
Please tell me do i need to enable ip routing cmd in L3 switch to enable routing
between vlan 20&v Vlan 30 ?
0 Reply
Ed Harmoush Author
Reply to Rohan 5 years ago
Hi Rohan. Yes, you do need to enable ip routing. I have updated the article
with a note discussing it. Thanks for pointing this out =)
0 Reply
Pavan Gudi
5 years ago
0 Reply
CodeTron
5 years ago
Thank you
0 Reply
Ivan
4 years ago
Very nice explanation in general. But I got some specific questions. The first is
why do we need a VLAN field in the entry of MAC table when VLAN has been
set up in the switch? Is it only useful for blocking traffic when broadcasting
within a domain? The second is, given a layer 3 switch scenario, if two hosts in
the same VLAN domain, like A and B, would like to communicate with each
other, only the MAC table will be used for forwarding, right? Although they go
through a TCP/IP stack. Thanks : )
0 Reply
Ed Harmoush Author
Consider it as a separate MAC address table for each VLAN. The MAC
addresses in VLAN 10 are not “known” to the users in VLAN 20 (etc).
> if two hosts in the same VLAN domain, like A and B, would like to
communicate with each other, only the MAC table will be used for
forwarding, right?
Yes, correct =). They will operate exactly like the hosts in this article:
https://www.practicalnetworking.net/series/packet-traveling/host-to-host/
https://www.practicalnetworking.net/series/packet-traveling/host-to-host-
through-a-switch/
0 Reply
Ivan
Reply to Ed Harmoush 4 years ago
Thanks for your reply : ) I am still a little bit confused about the first
question. Since users in diff VLANs live in diff IP subnets, they should
be able to judge that they are in diff domains before sending packets.
Hence, in my point of view, the VLAN field seems useless in this
scenario. And the only scenario in which this field would be useful
should be preventing broadcast packets from leaking.
0 Reply
Ed Harmoush Author
0 Reply
Ivan
Reply to Ed Harmoush 4 years ago
0 Reply
Ivan
4 years ago
I have ever seen the configuration file of a layer 3 switch in which some
interfaces are also configured to be sub-interfaces. Does it mean that a layer 3
switch can be in a mixed mode with sub-interface and SVI in use? Thanks = )
0 Reply
Rajesh
4 years ago
Hi Ed,
Great explanation, thanks. Have a quick question. For routing, hosts need to
configure the SVI as default gateway, or we have to enable routing protocol on
SVI and hosts. Would enabling proxy arp remove the need for turning on routing
protocol or configuring default gateway on hosts?.
Host A needs to talk to Host C, it sends out a arp request for host C’s IP address,
can the layer 3 switch jump in and proxy for host C?
Thanks,
Rajesh
0 Reply
Mohamed Moubasher
4 years ago
I just want to say Thank you very much for such efforts, The graphics and
method is amazing, please keep the good work.
0 Reply
poojitha
4 years ago
0 Reply
Ed Harmoush Author
https://www.practicalnetworking.net/series/packet-traveling/osi-
model/#encap-decap
That link shows the three application layers as simply creating a generic
“DATA” payload. Each application populates that payload differently. I don’t
have a write up about FTP, but I did write about the inner workings of HTTP
in this answer on the Network Engineering Stack Exchange:
https://networkengineering.stackexchange.com/a/13464/3675
Hope it helps.
0 Reply
vidath
4 years ago
Thank you so much, this really helped me!!
0 Reply
Ed Harmoush Author
0 Reply
Marco
4 years ago
0 Reply
Ed Harmoush Author
Hi Marco, thank you for the kind words =) I’m so happy you enjoyed the
content!
0 Reply
Prasad PK
4 years ago
What will happen when Host A sends packets (Broadcast) packet who is
20.20.20.20 Will router interface/interfaces receive that packet if yes what will
be details of that packet and frame. will it reply with proxy-arp and connectivity
will work?
0 Reply
Ed Harmoush Author
In both cases, the Router may respond to the ARP request (i.e., do Proxy
ARP). But Proxy ARP shouldn’t be depended on for routing.
https://www.practicalnetworking.net/series/packet-traveling/packet-
traveling/
0 Reply
Saeed Rehman
4 years ago
I am literally blown away how smooth your content flows. It’s really easy to
follow and I’m so glad I’ve found your website. I am learning CCNA from zero
understanding or experience. Slowly going through the CCNA 200 -301 book
and was struggling with understanding Router on a stick and SVIs. I’ve now
understood that they are are two separate options which can be used, but most
importantly I get what the SVIs are used for.
Thank you so so much for setting this website and providing this content.
0 Reply
Ed Harmoush Author
Hey Saeed, thanks for the kind words =) I’m so happy you found my articles
beneficial.
If you’re studying for CCNA, I put a list of all my CCNA related articles here:
https://www.practicalnetworking.net/index/ccna/
Hope it helps!
0 Reply
Mark Symms
3 years ago
Ed, thanks so much for this. I am currently designing my home network around a
refurbished Cisco Catalyst 3750. I want to set up several VLANs but only need
communication between a small subset of that. I am planning on several SSIDs
running to isolate the wireless devices even further (I hate Wi-fi). Anyway, how
do I isolate the communications between VLANs without it bleeding over to
other VLANs? Granted I am very new at this managed switch game.
0 Reply
Redwyvren87
3 years ago
Ed, solid article and used it to great effect to build a few VLANs at home for a lab
setting. Quick question on the topic, if the original purpose of VLANs is to
provide a logical separation between networks (or subnets), why would you
want to perform routing between the VLANs? I can’t find any good real world
examples of a network that has multiple VLANs with routing in between them.
0 Reply
Ed Harmoush Author
So to summarize:
* If you intend for two PC’s to have full communication, put them in the same
VLAN
* If you want two PC’s to have no communication, put them in different
VLANs.
* If you want two PC’s to have limited communication, put them in different
VLAN, but enable Routing between VLANs and filter traffic as necessary on
the Router
Hope it helps.
0 Reply
Sisira Kumara
3 years ago
Hi Ed Harmoush, First of all I want to say my special thanks for your article. It is
clearly described how to build different VLANS in a Cisco switch it self. Using
Cisco packet tracer I practically did it it went well for Multilayer Switches, Layer 3
Switches. I wonder that How I solve this problem in Below layer 3 Switches till
example Cisco 2900 series or 2800 series or 1800 series switches. Your solution
will be highly appreciated. Thank you in advance. Looking forward to hear from
you soon../Sisira
0 Reply
Giuliano
3 years ago
Thank you very much for the detailed explanation, i had a lot of doubts about
vlans and svi, and with this post you made them clear to me. Really thank you so
much <3
0 Reply
Vish
3 years ago
awesome post! Thanks. The layer 3 switch routing answered a question I’ve had
for ages.
Love the diagrams AND the switch/router configs as well. makes it REALLY clear
0 Reply
Spoorthi
3 years ago
I really loved it!. I need not to look for any other 100’s of sites!. Its all in one best
and complete book!. I would say a Bible for me!. Thank you very much!!.
Appreciate your knowledge and wisdom!!.
0 Reply
Ed Harmoush Author
0 Reply
samir fadlallah
3 years ago
Hi,
Thanks for this topic. I always gets confused but when i read is straight forward
and clear… just one question if you enable ip routingo on l3 switch you enable all
vlans communication but is there any command to route just like 2 vlan from 5
vlans actually?
0 Reply
Ed Harmoush Author
You’d have to both enable and Create SVIs to tell the L3 switch to route
between VLANs. So in your example, if you only want two VLANs to Route,
you’d only create those two SVIs. The remaining three VLANs would just act
as regular L2 VLANs.
0 Reply
Jenny
2 years ago
0 Reply
Ed Harmoush Author
You’re welcome.
As a follow up, some Router platforms use the Router’s interface MAC for all
it’s sub-interfaces (which is what occurred above). And other Router
platforms generate a new MAC address for all sub-interfaces.
Jenny
2 years ago
I had the feeling it was router’s own interface , because as a “parent” it could
spawn those sub-interfaces;
But I was doubtful, because the switch apparently could enable somebody else’
interface as a trunk port ( given aabb.cc00.0211 belonged to the router, not the
switch ) ;
1 Reply
Ed Harmoush Author
You’re welcome Jenny. Glad you enjoy this content =). Congrats on finding
the breakthrough “aha” moment you were looking for.
1 Reply
balance
2 years ago
So, how would I configure a fiber ports then if I have a 2921 router and 3560
switch and I want to use fiber to move data between the 2 devices?
1 Reply
jj
2 years ago
awesome and clear. Total newb question..but on the last pic of the show ip
route….why does the subnet change to /32 on th SVI Gateway instead of /24.
Thanks so much!!!
1 Reply
Ed Harmoush Author
Hi JJ. Cisco adds two routes to the Routing Table when you create a L3
interface:
The “C” is the Directly Connected route and represents the actual subnet you
configured. The “L” is the Local interface IP. The router uses this to “route”
incoming packets to this IP address to the Router itself.
This occurs with each illustration’s “show ip route” command output in the
article.
0 Reply
Chris
2 years ago
Hi Ed,
Great article, explained very well. Perhaps an idea for another article or series
might be expanding on inter-vlan routing and RoaS with Firewalls.
I’d be interested in hearing your views and experiences of the speed vs security
trade-off, multiple DMZ type vlans and scenarios of filtering and protecting
backend databases, middle-tier applications, and front end web services. That
may also open a can of worms into “Load Balancers”, “Application Delivery
Controllers” and “Reverse Proxies” too.
0 Reply
Ed Harmoush Author
As for all the other stuff (FWs, LBs, Proxies, etc…) I’ll add those to my ever
growing list of things I”d like to one day create content for =)
In the mean time, feel free to pop into the discord if you want to discuss
anything further: pracnet.net/discord
1 Reply
Jesse
2 years ago
This is a very nice post, easy to understand and clearly. It helps me so much.
Thanks!
0 Reply
Ed Harmoush Author
1 Reply
QTip
2 years ago
0 Reply
Ed Harmoush Author
1 Reply
Scott Sparling
2 years ago
In the MLS scenario, I was looking at the ARP and MAC tables, and found myself
wondering,…when the packet crosses vlans, don’t the SRC and DST MAC
addresses have to be changed when the L2 header is rewritten? And if so, it
seems there aren’t enough MACs known in the CAM table (like, the MACs that
were previously representing the router interfaces are gone, for example) I’m
confused about how this will work, with regard to that. (I’ll take a look at the
hyperlink about L2 stuff that is posted)
0 Reply
Ed Harmoush Author
The virtual router will indeed change the MAC address of the frame as it
passes from packet to packet. (although, some platforms use a single MAC
address for all SVIs).
In the show mac address-table output, I filtered the output to only show
the lines where the hosts were connected. The local MAC addresses (for
local interfaces/SVIs on the switch itself) were removed.
But good catch with your comment =). That is showing you’re putting all the
pieces together! ^_^
0 Reply
Thingal John
2 years ago
Hi, I must say I’m really impressed with your explanation, I read hundreds of
articles to understand vlan but found nothing as detailed and simple as yours.
But I have got a question, consider 3 esxi servers which needs to be connected to
a physical switch through ethernet cables. There are three vlans, each esxi server
is involved in all these three vlans. All three esxi servers and switch are on same
network. How do I configure this in order to be able to ping between esxi
servers?
0 Reply
Ed Harmoush Author
If each ESXI server will host VMs on the three various VLANs, I would simply
connect one cable to each ESXi server and configure it as a trunk port. You
can continue to do Routing on a dedicated Router.
There are of course, 1000s of “what ifs” and oddities which would require
something different. But from a generic stand point I’ll provide the above. If
you want to pick it apart further, feel free to post it on Discord and someone
might be able to help you.
0 Reply
Practical TLS
Understanding Ethernet Wiring
The most thorough SSL and TLS
1.1k views
course
Virtual Local Area Networks
(VLANs)
1k views
CCNA — Index
807 views
Want to learn Networking? Want to learn Subnetting?
Watch this free video series. Watch the best Subnetting
training videos ever recorded.
Then practice Subnetting at:
SubnetIPv4.com
Your E-Mail:
acl arp ASA BGP
Your E-Mail:
Your Name:
CCNA CCNP cisco
Subscribe
Encryption hashing nat
networking openssl ospf
vlans VPN
Thank you for making this possible =)