So let's begin with our QOS segment profile.
So let's use a little VM over here.
Let's go ahead and grab Mint 10.
We'll make sure it's on the green segment right here
that it has access to the internet.
And before we implement QOS,
I'd like to do a couple of baseline tests regarding this VM.
So here I'll jot down before,
and then we can go afterwards and take a look at the results after,
meaning after we apply the QOS segment profile.
So before, what we would expect to see for the traffic being sent by this VM,
as far as the differentiated services code point or DSCP markings, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
as far as the differentiated services code point or DSCP markings,
they should all be zeros.
So there's six bits that are being used for these markings in the IP header,
and they should all be zeros by default.
And as far as bandwidth is concerned from this VM, getting up to the internet,
there's no restrictions.
So whatever the bandwidth limitations that are currently in place,
either through my service provider or through other congestion in the network,
the bandwidth is going to be up to the max.
Or at least within this environment right here,
whatever this maximum capacity is that can be provided by my little nested NSX
environment right here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
environment right here.
So let's set this up for Mint 10.
So our first order of business is to make sure that Mint 10 is on the right
segment.
This is the vSphere client,
and also to make sure that it's powered on.
So let's take a look real quick.
We'll right click on Mint 10.
We'll click on edit settings,
and it is connected to the green segment 10.
So I don't need to change that.
We'll cancel that, and let's power it up by clicking on the power on icon here.
And now that it's powering up, let's also right click,
and let's open up a remote console.
So here is that little VM it is still booting up. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So here is that little VM it is still booting up.
So for this Mint 10 computer, which is on our green segment,
let's go ahead and open up a browser.
And I've got a shortcut for a speed test at fast.com.
So we'll launch that from the bookmarks there.
And that is now going out to the live internet.
We have somewhere between, I don't know, 400 and 600 megabits per second.
It looks like fantastic.
So that's uninhibited as far as the bandwidth is concerned.
So we go ahead and close that.
And then next, let me open up a command prompt.
And let's do a ping out to 888.
Now the reason I want to do this is because in the background, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Now the reason I want to do this is because in the background,
I'm doing a packet capture, and it's really easy to filter on just IC and P
traffic.
And that way we can take a close look at the markings for those packets
as they're being sent over the green segment.
So we'll go ahead and do that ping, and that ping is working.
So we'll do a control C there.
So next, let's take a look at a packet capture of that traffic
and take a look at the DSCP markings.
So here is the packet capture.
Let me go ahead and do a display filter just for ICMP.
And there is our Mint VM computer at 1010 0183 going out to 888. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And there is our Mint VM computer at 1010 0183 going out to 888.
So everything up to here is just the environment setting the packets using GRE
over to my management computer so we can see them right here.
And then we had the details about what's being sent.
So this is traffic from 1111, et cetera.
That's ES6IA going to our edge node edge one at 3333.
That's the set of line points involved.
Here's our layer four protocol, UDP going to the well-known port
for Geneva of 6081.
And here's our Geneva header information.
And then within that, we have yet another IP header.
So in this IP header right here, the one that's going over the transport
network, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
network,
if we go down here to the differentiated services field right there
and expand that, they are all zeros.
So there's the six bits right there that are being used for DSCP.
So for the transport network journey from ES6IA over to edge one,
all those bits are set to zero.
And if we look down at the IP header that's being carried in that payload,
we'll expand that and scroll down.
You'll notice here that the DSCP information is the same, all zeros, as shown
right here.
So regarding these six bits as part of the DSCP header information, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So regarding these six bits as part of the DSCP header information,
if we line those up, there's all six of them right there.
They have the decimal values of 1, 2, 4, 8, 16 and 32.
So if we specify for our QOS segment profile that we want to modify
the existing DSCP bits, and let's say for example that we set it to 46 in
decimal.
Behind the scenes, what that would do, it would set these bits to 46 minus 32.
There's 14, there'll be a zero there, and then 8 goes into 14, there'll be a 1
there,
so minus the 8. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
so minus the 8.
And that's the remainder of 6 and 4 goes into that one time.
So I'll take that other's 2 left and there'll be 1 here and then there'll be a
0 here.
So what we would expect is if we go in and we specify as part of our QOS
segment profile
that we want to change the DSCP bits to 46,
behind the scenes for each of the packets coming from that VM, or for any VMs
on that segment.
If the QOS profile says that the DSCP to 46, each of the packets coming from
those VMs
is going to have this sequence of ones and zeros.
And again, these sequences of ones and zeros mean pretty much nothing WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And again, these sequences of ones and zeros mean pretty much nothing
to the rest of the network unless the other routers have been trained to take a
peek
at that DSCP value and based on congestion, giving preferential treatment
to traffic with those bits.
Also, it's important to note that if we have traffic on the same ESXi host,
for example, we have ESXi A here and we have, let's say, VM1 here and VM2 right
here,
if there's traffic that the hypervisor is routing itself,
it's not really going to matter what we have in our DSCP bits because this can
be super
passed on the backplane here of the ESXi host. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
passed on the backplane here of the ESXi host.
However, when we need to send traffic to another host like ESXi B,
or we need to send it up to an edge node such as edge one,
when it's going over the tunnel network, at that point, that's when those DSCP
bits will be set
based on our QOS segment profile.
So with that in mind, let's go to the NSX manager, let's create a QOS segment
profile
and apply it to our green segment and then we'll compare and contrast.
So here in the NSX manager, we're going to go to the networking tab
and let's start by going to our segments on the left, we'll click on segments WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and let's start by going to our segments on the left, we'll click on segments
and let's go down to our green segment 10, which is right here
and let's take a look at what's currently in place.
So we expand green segment 10 and then if we go down to segment profiles and
expand that even further,
here are the four default segment profiles that are applied for IP discovery,
spoof guard, Mac discovery and segment security.
However, you'll notice that for QOS, there isn't one by default.
So what we could do is we could go up to profiles right here.
So that's networking segments profiles and then click on the sub tab here for WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So that's networking segments profiles and then click on the sub tab here for
segment profiles
and simply create a new one and then apply that or we could just go back to the
segment itself
and here in the segment, we could edit the details for that segment.
So I'll click on the three dots, we'll click on edit and then for green segment
10,
if we scroll down and take a look at the segment profiles from here, we can go
ahead and simply
create one by clicking on the three dots next to QOS.
And if we had an existing QOS segment profile, we could click on view, but
there isn't one.
So we could go ahead and simply create one right here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So we could go ahead and simply create one right here.
So we'll click on create new, we'll call this our QOS segment profile and I'm
putting on a
leading period just so that when we sort in the output, it'll be at the very
top and easy to find
and for DSCP value, instead of saying just trust what is currently on the
actual IP header
information for the DSCP value, I'm going to say untrusted and then let's go
ahead and change it.
So for priority, I'm going to put 46 in decimal, which in binary for those six
bits
is going to map out to the 101, 110 as we looked at a moment ago. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
is going to map out to the 101, 110 as we looked at a moment ago.
So the priority is referring to the DSCP bits.
And then for the bandwidth reduction, currently our VM was getting close to
like 500 megabits
per second. Let's go ahead and set up some limitations regarding how much
bandwidth that
client is able to use. This would also apply to any other VMs on that segment.
So for ingress, Neagress, let's go ahead and use an average of 10 megabits per
second.
So I'll put 10 for both of those. And then for the peak, let's go ahead and
specify 20
megabits per second for each of those. And then for the burst, in case they
have something
they need to send really quick and we don't want it all to be killed, let's go WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
they need to send really quick and we don't want it all to be killed, let's go
ahead and limit that
to 30. So for the values for inbound and outbound traffic from the VM's
perspective,
we're going to limit it pretty much to an average of 10 megabits per second
with the ability for
short period of time to burst if needed. And what we'll do is we'll click on
save.
So once we click on save here, we're now going to be effectively applying this
QOS policy
to all the VMs on that segment. So we'll click on save, and then we'll scroll
down,
click on close editing, and then just to confirm, we'll expand green segment 10
,
scroll down, and then under segment profiles, we'll expand that just to confirm WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
scroll down, and then under segment profiles, we'll expand that just to confirm
that we have
our QOS segment profile right there, which we do. All right, so now that we
have that QOS
segment profile in place, let's test it out. Let's start off by going back to
that same computer.
This is mint 10. We'll open a browser once again, and we'll go to fast.com once
again.
And this time we should be limited to somewhere around 10 megabits per second
because of the
QOS segment profile that we have associated with the green segment. All right,
so we've been
limited there. And let's also go ahead and do a ping out to Google.com. And I WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
limited there. And let's also go ahead and do a ping out to Google.com. And I
'll capture that
traffic in the background so we can take a look at the change in those DSCP
values in the IP headers.
So back at our client, let's go ahead and do that ping again on his one or two
ICMP packets.
Fantastic. And let's go take a look at those in the packet capture. So here is
that packet
capture. I mean, make that a little bit bigger. And let's go ahead and grab
this first one right
here. That's from our client going out to 888. And so for the part here
regarding saying the
traffic to my computer and using GRE, that's all about wrapping up the traffic WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
traffic to my computer and using GRE, that's all about wrapping up the traffic
and shipping it over
to this management machine that we're sitting at right here. So as we look at
the tunnel traffic
here from ESXIA over to edge one based on the tunnel endpoint addresses. Now if
we take a look
at the DSCP field and we expand that check it out, we have it set effectively
to 46. So here's what
that means. As this packet goes out into the real world and real routers see it
. If those routers
have been trained to pay attention to those markings, they can then based on
their policies,
implement preferential treatment for those packets as they're being forwarded. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
implement preferential treatment for those packets as they're being forwarded.
And most of the time
is trying to prioritize certain types of traffic because it's real time like
voice over IP or
something else that really doesn't work well if there's tons of delay or jitter
. So that information
is the header for the traffic as it went over the tunnel. It's also applied to
the inner header
right here as well. So if we open up the payload here inside the tunnel and we
go down to DSCP
one more time right here and expand it, once again we have those same bits
being set.
And also before I forget I want to go ahead and take off that QOS segment
profile because WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
profile because
in the future, if I'm sending traffic from the green segment, I'm going to
wonder why I'm only
getting 10 megabits per second. So I'm going to go ahead and we'll go back to
our green segment,
click on the three dots, click on edit and scroll down, expand the segment
profiles if it isn't
already. And then for our QOS segment profile, I'll go ahead and from the drop
down, choose none,
click on save and then click on close editing and just for sanity purposes,
let's also just test from our VM once again to make sure we have all the
bandwidth that's available
to it. So we'll go back to fast.com and I'm looking for something over 10 megab WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
to it. So we'll go back to fast.com and I'm looking for something over 10 megab
its. Fantastic.
So that looks like it is no longer being constrained by our QOS segment profile
. Also as one other
note, if we wanted to override for a specific VM, the details regarding QOS,
what we could do is
we could go to this green segment 10, expand it. And then if we scroll to the
right a little bit,
here we have a column for ports slash interface. Let me go ahead and collapse
the left hand side,
gives a little more room here. So that's referring to who's currently connected
. So if we click right
here on this hyperlink for two, it's going to show us that we have two VMs that WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
here on this hyperlink for two, it's going to show us that we have two VMs that
are currently
connected. So here's our mint 10 machine right here. And if we expand that and
scroll down here,
it's showing us if we expand the segment port profiles that it's inheriting the
settings
from the actual segment. So if we wanted to override it, what we could do is we
could go ahead
and click on edit by clicking here in the three dots, clicking on edit
scrolling down,
instead of inheriting it from the parent, we want to go ahead and assign it. So
that's how
you could override which segment port profile they're going to be using. So in
this case,
I don't want to do that for this VM. I don't want to limit it. So I'm going to WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
I don't want to do that for this VM. I don't want to limit it. So I'm going to
say inherit.
In fact, I'm going to click on cancel here. I just wanted to share with you
where you would go to
set the individual overrides regarding a segment profile for a specific VM.
[BLANK_AUDIO]