Well one of the ways that we can tag our packets is by leveraging class of
service which is a layer two mechanism. What do we mean by layer two? Well it's
layer two because it's going to go inside of the Ethernet header and this is
going
to be especially useful for layer two devices. So if we think about layer two
switches that can't look beyond the Ethernet header well then we need a way
for those devices to classify traffic and so it will rely on the class of WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
for those devices to classify traffic and so it will rely on the class of
service tag. Now class of service is defined by 802.1p which is part of 802.1q.
802.1q should sound a little bit familiar because this is Ethernet
trunking. So recall how trunking works. We have an Ethernet header so this is
the
Ethernet header and yeah the rest of the frame is over here this is where the WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Ethernet header and yeah the rest of the frame is over here this is where the
UTCP and the IP headers are and the payload and all of the things but inside
the Ethernet header this is going to be 14 bytes by default. 12 of those bytes
are for the address so it's the majority of them source and destination address
6 bytes each and then over here we just have two bytes of flags for a type and
length. But we see that we don't actually have a spot for a VLAN tag so where
does
the VLAN tag come from? Well we actually insert an additional four bytes in WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
the VLAN tag come from? Well we actually insert an additional four bytes in
here
and these four bytes are going to be where we have a bunch of extra bits and
we use a lot of these for the VLAN ID. The VLAN ID consumes 12 bits and keep in
mind that four bytes we get 32 bits and so 12 of those bits are consumed by the
VLAN ID. We've got a bunch of other aspects and elements to this header but
what we're going to find is that we actually end up having an additional WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
what we're going to find is that we actually end up having an additional
three bytes in here that are going to be used for class of service. Pretty cool
.
So we get three bits that can be used to help us tag our packets. So that's the
breakdown from a bits and bytes perspective but we just said something
very very important and that is that this class of service tag is inserted
into the 802.1 queue header. Well if it's only going into this header that gets WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
into the 802.1 queue header. Well if it's only going into this header that gets
inserted on trunks that has some pretty important implications. First and
foremost
this is only going to work on trunk links only because a non-trunk doesn't
carry
this additional header. If we want the additional header to get those four
bytes well we have to be talking about a trunk link at that point and that's
what's going to get us the COS bits. The other important thing in all of this WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
what's going to get us the COS bits. The other important thing in all of this
is
notice this is also ethernet only. Now in our modern day world we see a lot of
ethernet. There's not nearly as much non-ethronet anymore but keep in mind
that this is going to impact us if we're talking about win links like T1s and E
1s
or T3s and E3s. If we have any kind of other mechanism that removes the ether
net
frame, the ethernet header then we are going to lose those bits. And so we have WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
frame, the ethernet header then we are going to lose those bits. And so we have
to be very careful about using COS because in the end COS is not considered
to be an end-to-end mechanism. And the reason it's not considered to be end-to-
end
is because if either of these aspects aren't true we're going to lose the COS
tag. So how do we get an end-to-end tag? Well we're going to talk about the tag
option we have in the IP header coming up. But again COS remains important WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
option we have in the IP header coming up. But again COS remains important
because
of these elements. First of all layer two devices are going to heavily rely on
COS if it exists. Some layer two devices can't even look into the IP header to
look at those layer three tags. The other element to consider is the fact that
we
use COS in layer two heavy environments. For example the data center. The data
center in Cisco Nexus switches are going to be heavily reliant on COS because WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
center in Cisco Nexus switches are going to be heavily reliant on COS because
their primary purpose is to process a lot. And I mean a lot of layer two
traffic.
And so in layer two heavy environments COS is still going to come into play. So
yeah a lot of our networks are going to rely more on IP tags especially DSCP.
But COS continues to be relevant even in the modern network because of these
reasons. So what kinds of values can we have with COS? Well again COS is three WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
reasons. So what kinds of values can we have with COS? Well again COS is three
bits which means that we have a range of zero through seven. So what this
typically looks like is that six and seven are going to be reserved. And these
are reserved for network traffic. Typically what we see is packets like
OSPF and EIGRP. Hello messages those kinds of things might use a COS of six
between devices. COS is of seven usually is only used internally to WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
between devices. COS is of seven usually is only used internally to
devices. So packets frames from one internal process to another might be
tagged with a seven because those are probably pretty important. Usually we
see the priority level increasing meaning that the higher the number the
more important that traffic is. So as we've already mentioned a tag of five at
least in the last video I was using that tag of five intentionally because COS
of
tie COS of five is typically tagged that way for voice over IP traffic. And we WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
tie COS of five is typically tagged that way for voice over IP traffic. And we
will a lot of times see that for is reserved for video as well. Now again if
we're in the data center we're going to find that three is usually used for
fiber channel over ethernet traffic. If you're not focused on data center
technologies you don't need to worry too much about that. But that's an
interesting element because we also see three used in the network side of
things
for voice over IP control channels. And then from there we might see WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
for voice over IP control channels. And then from there we might see
something like two reserved for bulk traffic and one for what we call scavenger
traffic. That is the traffic that we are supposed to care the least about in
our
network. And then zero we flag this for being best effort. Yes we still want to
deliver service and allow traffic to get through our network if it's tagged
with
zero. Our internet streaming might be zero or we've got all kinds of different WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
zero. Our internet streaming might be zero or we've got all kinds of different
traffic types that might be tagged with zero. And that's fine we still want
that
traffic to get through and to have a decent experience level. But these other
traffic types especially real-time applications like voice and video they
must have reservations on the network and it has to be prioritized over best
effort. But that's not to say best effort can be drowned out and so as we talk
more and more about quality of service we're going to find that we will still WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
more and more about quality of service we're going to find that we will still
have traffic reservations for best effort. And by the way best effort having a
tag
of zero this is the default setting for most network interfaces. So unless we
explicitly say we want to tag it with something else we can expect our
traffic to be tagged with zero.