WEBVTT

1
00:00.000 --> 00:02.600
All right, let's address shaping.

2
00:02.600 --> 00:08.880
We know that we might have an upstream device maybe managed by our ISP and they

3
00:08.880 --> 00:09.280
are running

4
00:09.280 --> 00:10.480
policing.

5
00:10.480 --> 00:14.120
All the configuration we just looked at is what they have deployed.

6
00:14.120 --> 00:18.560
And so we've got this 600 megabit per second connection.

7
00:18.560 --> 00:22.760
We don't want them to drop a single packet because if they drop a packet, they

8
00:22.760 --> 00:23.120
could

9
00:23.120 --> 00:24.680
drop a really important one.

10
00:24.680 --> 00:28.240
They're not paying attention in most cases to different tags.

11
00:28.240 --> 00:33.770
Meanwhile, we could stay in control and decide what packets to drop, making
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

11
00:28.240 --> 00:33.770
Meanwhile, we could stay in control and decide what packets to drop, making

12
00:33.770 --> 00:34.680
sure that all

13
00:34.680 --> 00:37.720
of our voice EF packets go through.

14
00:37.720 --> 00:44.070
And then maybe we even have control over AF 43 and dropping that before AF 41

15
00:44.070 --> 00:44.800
traffic

16
00:44.800 --> 00:50.320
within a queue and we could make sure that we're dropping the SCP zeros.

17
00:50.320 --> 00:54.750
We have full control over what we're doing if we're the ones who are dropping

18
00:54.750 --> 00:55.240
it.

19
00:55.240 --> 00:57.120
But it's not just about dropping it.

20
00:57.120 --> 01:00.760
I mean, our traffic is looking like this sometimes.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

20
00:57.120 --> 01:00.760
I mean, our traffic is looking like this sometimes.

21
01:00.760 --> 01:05.660
And so we don't necessarily want to send traffic out that if we chop off the

22
01:05.660 --> 01:06.200
top part

23
01:06.200 --> 01:10.330
of this that we're actually are losing packets here, the police are would drop

24
01:10.330 --> 01:11.160
those packets

25
01:11.160 --> 01:15.730
when we have a gap coming up right here, where if we were to smooth this chart

26
01:15.730 --> 01:16.360
out a little

27
01:16.360 --> 01:23.960
bit and maybe we could actually buffer the packets as well and send them out in

28
01:23.960 --> 01:24.520
a way

29
01:24.520 --> 01:28.400
that will make it so that they don't get dropped by the police.

30
01:28.400 --> 01:32.760
So instead of sending our packets like this, we actually know our threshold.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

30
01:28.400 --> 01:32.760
So instead of sending our packets like this, we actually know our threshold.

31
01:32.760 --> 01:37.650
So we hold those packets in the buffer and then we send them out over the

32
01:37.650 --> 01:39.800
course of time,

33
01:39.800 --> 01:43.260
meaning that yeah, we're delaying them just a little bit, but better to delay

34
01:43.260 --> 01:43.880
them a little

35
01:43.880 --> 01:48.100
bit than to end up dropping them as long as we have space in our queues to do

36
01:48.100 --> 01:48.560
so.

37
01:48.560 --> 01:51.400
Well, then we might as well do that.

38
01:51.400 --> 01:55.040
Now the way we're going to do this is by using the shape command.

39
01:55.040 --> 02:00.640
And specifically, the command is shape average followed by a rate.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

39
01:55.040 --> 02:00.640
And specifically, the command is shape average followed by a rate.

40
02:00.640 --> 02:04.320
And typically, this is how we end up configuring our shaping.

41
02:04.320 --> 02:10.800
However, we do have the ability to add sort of the BC type of parameter as well

42
02:10.800 --> 02:11.320
as be

43
02:11.320 --> 02:13.360
but they're not called this.

44
02:13.360 --> 02:17.770
So we'll see what those look like here on the CLI coming up as much as possible

45
02:17.770 --> 02:18.040
.

46
02:18.040 --> 02:21.600
We really want to try to match the policing policy.

47
02:21.600 --> 02:25.400
And so we might need to ask some questions of the ISP of how they're doing

48
02:25.400 --> 02:26.080
things.

49
02:26.080 --> 02:29.750
But for the most part, if we understand this is a 600 megabit per second

50
02:29.750 --> 02:30.520
connection and
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

50
02:29.750 --> 02:30.520
connection and

51
02:30.520 --> 02:34.560
we can figure that in our rate here on this one gig link, then that's going to

52
02:34.560 --> 02:34.960
do us a

53
02:34.960 --> 02:36.560
lot of good.

54
02:36.560 --> 02:40.600
Now another question from a config perspective we might have is thinking along

55
02:40.600 --> 02:41.160
the lines

56
02:41.160 --> 02:44.040
of my class maps inside my policy map.

57
02:44.040 --> 02:48.120
So I've got a policy map here and I just mentioned all of these tags.

58
02:48.120 --> 02:49.680
So I've got a bunch of different cues.

59
02:49.680 --> 02:53.880
Let's say I have one, two, three, four different cues here.

60
02:53.880 --> 02:57.800
And I know that overall I've got 600 megabits per second.

61
02:57.800 --> 02:59.960
But how do I shape all of these down?

62
02:59.960 --> 03:02.360
I mean, do I give 150 to each one?
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

62
02:59.960 --> 03:02.360
I mean, do I give 150 to each one?

63
03:02.360 --> 03:04.880
Do I try to balance this out?

64
03:04.880 --> 03:09.090
And the reality is that for the most part, that's not actually what we end up

65
03:09.090 --> 03:09.680
doing.

66
03:09.680 --> 03:18.080
The shaping methodology we typically use involves nested policy maps.

67
03:18.080 --> 03:23.380
Meaning that I'm going to create this policy map and then I'm going to apply it

68
03:23.380 --> 03:24.000
inside

69
03:24.000 --> 03:30.720
of a different policy map specifically with class default.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

69
03:24.000 --> 03:30.720
of a different policy map specifically with class default.

70
03:30.720 --> 03:36.920
So I get into class default here and I can actually apply this entire cueing

71
03:36.920 --> 03:37.880
structure

72
03:37.880 --> 03:41.560
within the class default of this other policy map.

73
03:41.560 --> 03:47.080
So I apply my policy map and then I enter my shape command here.

74
03:47.080 --> 03:51.280
And that ensures that all of this traffic abides by the shaping.

75
03:51.280 --> 03:56.270
So that's probably a little bit beyond the scope of the conversation within

76
03:56.270 --> 03:56.840
this exam

77
03:56.840 --> 03:57.840
in this course.

78
03:57.840 --> 04:00.920
But it's good to know in the real world how this ends up coming together.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

78
03:57.840 --> 04:00.920
But it's good to know in the real world how this ends up coming together.

79
04:00.920 --> 04:05.710
And it allows me to shape all of these cues down to a single rate rather than

80
04:05.710 --> 04:06.640
trying to

81
04:06.640 --> 04:12.800
manage the amount of traffic allowed within each individual cue.

82
04:12.800 --> 04:14.560
So let's pull this up in the lab.

83
04:14.560 --> 04:18.640
We're going to create a new policy map called shaper.

84
04:18.640 --> 04:24.240
I'm going to get onto my class default cue here.

85
04:24.240 --> 04:29.090
And when I run my shape command here, run a question mark and we see that I've

86
04:29.090 --> 04:29.640
got that

87
04:29.640 --> 04:32.720
shape average command.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

87
04:29.640 --> 04:32.720
shape average command.

88
04:32.720 --> 04:36.570
I'm going to do my question mark again, I see my ability to add a bit right

89
04:36.570 --> 04:37.080
here.

90
04:37.080 --> 04:39.520
So I'll just do the 80,000.

91
04:39.520 --> 04:42.640
Again, we've got the ability to add K and M and G.

92
04:42.640 --> 04:46.280
But so I could just do 80 K, I suppose here, it'd be the same thing.

93
04:46.280 --> 04:50.040
When I hit question mark, we see this concept of bits per interval.

94
04:50.040 --> 04:53.160
So notice, first of all, this is bits, not bytes.

95
04:53.160 --> 04:58.260
So if I wanted to match up like a 5,000 byte, you know, type of BC kind of

96
04:58.260 --> 04:59.400
conversation,

97
04:59.400 --> 05:03.440
well, 5,000 bytes is actually 40,000 bits.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

97
04:59.400 --> 05:03.440
well, 5,000 bytes is actually 40,000 bits.

98
05:03.440 --> 05:06.800
So I could do like 40 K here, question mark.

99
05:06.800 --> 05:13.800
And again, my excess bits, that would be my be so I could do 40 K again.

100
05:13.800 --> 05:16.000
And then at that point, we'd hit enter.

101
05:16.000 --> 05:19.280
Now we mentioned that we can apply a policy map here.

102
05:19.280 --> 05:20.280
Well, yeah, look at this.

103
05:20.280 --> 05:22.520
We've got the service policy command.

104
05:22.520 --> 05:28.200
So if I have another set of cues, I could do service policy here.

105
05:28.200 --> 05:31.500
And we're going to find I don't actually have to specify input or output
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

105
05:28.200 --> 05:31.500
And we're going to find I don't actually have to specify input or output

106
05:31.500 --> 05:32.480
because it's just

107
05:32.480 --> 05:35.440
going to match whatever it ends up going to on the interface.

108
05:35.440 --> 05:38.440
It's just part of this queuing structure.

109
05:38.440 --> 05:42.720
I'm building my cues inside of the class default queue here.

110
05:42.720 --> 05:48.040
And so I would say, you know, whatever my policy map name is here, hit enter,

111
05:48.040 --> 05:48.600
it's going

112
05:48.600 --> 05:50.680
to say that it's not configured because we don't have it.

113
05:50.680 --> 05:55.790
But that is how we'd go about applying one policy into a shape or policy, which

114
05:55.790 --> 05:56.240
shapes

115
05:56.240 --> 06:03.720
the entirety of that link down to a particular, a particular rate.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

115
05:56.240 --> 06:03.720
the entirety of that link down to a particular, a particular rate.

116
06:03.720 --> 06:08.590
So now if I get onto an interface interface gig zero zero, I believe we already

117
06:08.590 --> 06:09.520
have.

118
06:09.520 --> 06:12.400
Yeah, we've got a policy map applied here.

119
06:12.400 --> 06:18.360
So I'm going to say, actually, I'm going to say no, no service policy input,

120
06:18.360 --> 06:19.000
police

121
06:19.000 --> 06:20.200
her.

122
06:20.200 --> 06:23.400
And then I'm going to say service policy.

123
06:23.400 --> 06:24.400
Now check this out.

124
06:24.400 --> 06:28.800
I'm going to say input, let's say I want to shape inbound.

125
06:28.800 --> 06:32.000
Well, we said shaping is an outbound concept.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

125
06:28.800 --> 06:32.000
Well, we said shaping is an outbound concept.

126
06:32.000 --> 06:36.760
But hey, policing was an inbound concept and we could apply it both ways.

127
06:36.760 --> 06:40.080
Shaping is not like that shaping must be applied outbound.

128
06:40.080 --> 06:43.040
And so we see here that Cisco doesn't allow us to even do that.

129
06:43.040 --> 06:46.320
Whereas with police, we can technically police outbound.

130
06:46.320 --> 06:48.600
We just usually use a shaper instead.

131
06:48.600 --> 06:52.060
So if we don't want to do shaping and we just want to do policing outbound,

132
06:52.060 --> 06:52.680
great.

133
06:52.680 --> 06:55.330
But if we're trying to shape inbound, if we think about the whole nature of

134
06:55.330 --> 06:56.320
shaping,

135
06:56.320 --> 07:01.170
there's not a whole lot of value in shaping inbound, we're trying to with what
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

135
06:56.320 --> 07:01.170
there's not a whole lot of value in shaping inbound, we're trying to with what

136
07:01.170 --> 07:01.440
we're

137
07:01.440 --> 07:03.120
trying to accomplish with a shaper.

138
07:03.120 --> 07:05.400
I mean, Cisco doesn't even support it.

139
07:05.400 --> 07:07.120
So we're not going to worry about that.

140
07:07.120 --> 07:14.120
We're just going to say service policy output shaper.

141
07:14.120 --> 07:21.790
And then as always show policy map interface to see that we have target shape

142
07:21.790 --> 07:22.480
rate of

143
07:22.480 --> 07:23.800
8,000 here.

144
07:23.800 --> 07:28.040
And you'll notice that the BC and the BE actually did get entered in again.

145
07:28.040 --> 07:29.040
It's with bits.

146
07:29.040 --> 07:33.210
I don't know why they change it up, but they do it with bits on the shaping
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

146
07:29.040 --> 07:33.210
I don't know why they change it up, but they do it with bits on the shaping

147
07:33.210 --> 07:33.920
versus bytes

148
07:33.920 --> 07:34.720
on the policing.
