At this point, we have a couple different modes of operations for our switch
ports.
And we're talking about switch ports, we're talking about a layer two
interfaces.
So we have, for example, access mode, which is going to operate without tags.
So this is an untagged mode of operation.
And if I'm going to not tag something, then I have to tell the switch which V
LAN that's running in.
And so I'd say, hey, you're running in VLAN 10.
And then all traffic into and out of that interface is considered to be part of
that VLAN.
And then, of course, I do have the trunk mode of operation. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And then, of course, I do have the trunk mode of operation.
And this is going to use our VLAN tags.
And ideally, in some way, we're either tagging the native VLAN, or we are not
using a native VLAN or using a dummy VLAN as we talked about.
So these are our primary two options.
The access ports are intended to go to our end hosts.
Because our end hosts, our PCs, our laptops and such, these are not usually
tagging traffic.
I just want to send my traffic.
And I don't want to have to worry about what VLAN ID I'm on. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And I don't want to have to worry about what VLAN ID I'm on.
And so our hosts just send untagged traffic to the network and allow the
network to figure out what VLAN it's a part of.
Meanwhile, trunks are going to be used between switches.
And at that point, I want to make sure that I have configured my interfaces for
trunks so I can carry multiple VLANs.
But here's the question.
Do we want this to be a manual or static configuration?
Because if so, then we need to make sure that we're performing lots of WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Because if so, then we need to make sure that we're performing lots of
configuration.
I have to get onto every single interface and statically map it as trunk or
access.
And I can do that simply by using that switch port trunk command again, this
time with switch port mode.
I guess I said trunk, switch port mode, and then I either say access or I say
trunk.
And that is how I do it, but I have to get onto every single port and make sure WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And that is how I do it, but I have to get onto every single port and make sure
that it's all properly configured.
And I will say that in the real world for the most part, this is what I see.
We typically are getting onto our ports and it's not that hard to figure out
which ports connect to other switches
and make sure they're configured for trunks and everything else is access ports
.
And that's all fine.
But we should know that we do have another option.
We do have this concept of dynamic trunking.
Dynamic trunking is going to allow us to avoid this static world where I have WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Dynamic trunking is going to allow us to avoid this static world where I have
to know which ports are access and which ports are trunk
and just allow the switches to figure it out.
It's kind of a cool idea.
So here's the idea.
If I have switches like this and let's say I've got a bunch of ports downstream
and maybe a port over here to the other switch.
With dynamic trunking enabled, the switch on the left here, we'll call this
switch one, figures out that these ports need to run in access mode. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
switch one, figures out that these ports need to run in access mode.
And this port here in the middle needs to run as trunk.
I'm using quotes mostly just to represent the fact that I didn't have to
manually configure that.
And switch 2 is going to figure out the same thing and say, hey, there's a
switch on the other side here.
We should run this as a trunk and these ports are going to have to run in
access mode because I don't sense another switch out those interfaces.
So it's a way for me to have to avoid getting on to every single switch and
telling it exactly which ports are access and which ports are trunk, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
telling it exactly which ports are access and which ports are trunk,
even though it does get a little bit away from the concept of intentionality
that I brought up earlier.
But it is an option nonetheless.
So how exactly does dynamic trunking work?
Well, it's going to rely on a protocol known as the dynamic trunking protocol
or DDB.
And the idea here is that these two switches are going to be sending DTP
messages out all over the place saying, hey, is there another switch out there
on the other side? WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
on the other side?
Now notice that there is no switch down here on these sides. So if we're
sending DTP messages out and not getting anything back,
then at that point we know that these must be access ports.
Meanwhile, this connection in the middle, we are getting a DTP message back and
we recognize that there's a switch on the other side.
And as long as both sides agree, we can form this into a trunk.
And so it's as simple as sending some messaging back and forth and seeing if
there's a device on the other side that mutually wants to form that trunk. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
there's a device on the other side that mutually wants to form that trunk.
So if I want to use DTP, I'm going to take a look at the switch port mode
command, but I'm going to get another option.
Instead of just access or trunk, I now get a dynamic option as well.
And from here, I can specify two different options.
I can specify desirable and I can specify auto, which honestly doesn't really
tell me much about what's happening here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
tell me much about what's happening here.
I mean, auto means automatic, desirable makes it sound like it wants something,
maybe wants to form a trunk and that's exactly what it is saying.
But let's explore this in a little more detail.
When we're talking about desirable and auto, we're really saying, do I want to
initiate creating a trunk?
So desirable means that I will initiate a trunk and auto simply means that I
will allow a trunk.
Notice that in either case, we will form trunks if we have this dynamic enabled WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Notice that in either case, we will form trunks if we have this dynamic enabled
and there's something on the other side that's initiating.
But here's where it gets interesting.
So if I have a desirable on one side and it matches up to desirable on the
other side, well, we both want a trunk and so we're going to form one.
Meanwhile, if I have desirable and auto on two different sides or vice versa,
either way, well, I've got a side that says I want the trunk.
I've got another side that says I'll allow it and therefore we form trunks. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
I've got another side that says I'll allow it and therefore we form trunks.
Lastly, if I have an auto and an auto, notice we'll both allow a trunk, but
neither of us are going to initiate a trunk.
This means that there will be no trunk formed.
As a result, if I really just want to make sure I form trunks everywhere, I
should probably just configure dynamic desirable on all of my interfaces.
However, if there are interfaces where I don't want to be aggressive, I just
kind of want to allow it, then that's where I would use auto. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
kind of want to allow it, then that's where I would use auto.
Now, when we configure port channels and specifically LACP later, we're going
to find that there's a very similar methodology as far as one side initiating
the other side,
maybe just allowing but not initiating. This is the same kind of concept, but
we'll again, we'll see that when we talk about LACP coming up.
Now, one important note in all of this is that when we first turn on a new
Cisco switch, we can look at the interfaces and the interfaces have a default WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Cisco switch, we can look at the interfaces and the interfaces have a default
configuration.
What is that default configuration, you might ask? Well, believe it or not, it
is actually using DTP.
Even today, where a lot of organizations don't rely on DTP, we don't always
realize that it's actually still running in the background.
So the default is to run in this switch port, well, we'll just cut it down to
say, we're running in auto.
Switch port mode dynamic auto is what our default configurations are. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Switch port mode dynamic auto is what our default configurations are.
And so I can get on there and say, hey, I want to manually configure a trunk
link, but believe it or not, it's still running DTP as overhead.
And so if I want to disable DTP, I do have a command for that, and it is switch
port no negotiate as all one word.
And I know that when I've deployed network configurations, if we're not
intentionally using DTP, which was pretty much never. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
intentionally using DTP, which was pretty much never.
In my, at least in my neck of the woods, I would always include this as part of
my default configuration because, again, intentionality matters, and I don't
want to protocol running if I'm not making use of it.
So if we're not going to use DTP, we should probably consider disabling it. If
we are going to use it, recognize that the default is in auto and we are still
going to have to manually configure all those ports to be running in dynamic
desirable.
[BLANK_AUDIO]