Beruflich Dokumente
Kultur Dokumente
It is highly recommended that you save these settings in Putty/SecureCRT as you will be returning to the training
rack multiple times throughout the course.
Logging In
Login: student1
Password: (Please ask or contact the instructor for the current password)
This should bring up a menu to let you access the 24Ks, 22Ks, 14Ks and 8210s.
The menu will let you SSH to the units by typing the correct letter number sequence.
If you do not know which device you should select, ask the instructor which one you have been assigned for the
class.
If you SSH in you should only be prompted for a password, which is sandvine, as the log in will have been initiated
using the sv_admin user.
Once you are at a command prompt on a 14K, 22K or 24K element you will notice that even though you logged in as
sv_admin youre currently in the sv_operator security gruop. Use the sv_enable command to escalate to sv_admin
privileges:
Once you have escalated your privileges to sv_admin, the next thing you should do is change to the directory where
all the work you do in this class will occur:
(hostname:sv_admin)$ cd /usr/local/sandvine/etc
a) Flow.NowDiverted
b) Flow.ApplicationProtocol.IsNew
c) Flow.SessionProtocol
d) Flow.Client.HandshakeRTT
e) Flow.Subscriber.IpAddress
f) Flow.Client.Stream.HTTP.UserAgent
g) Session.IpPrefix
h) Session.Subscriber.Attribute.<AttributeName>
4.2 Define a macro that will return a boolean indicating if a flow is one of the following protocols:
amazonvideo, bbciplayer, cnn, lastfm, netflix, pandoraradio
4.3 Define a macro that will accomplish the same thing as the one in #2, however this time make
it more general so that it will return true if a flow is one of the protocols in the corresponding
application type.
5.1 Identify the direction of traffic being affected in the following cases:
#
# Define attribute name and possible values
#
attribute "tier" type string
#
# Define shapers per tier
#
shaper "gold_down" 100Kbps
shaper "gold_up" 50Kbps
shaper "silver_down" 80Kbps
shaper "silver_up" 20Kbps
shaper "bronze_down" 50Kbps
shaper "bronze_up" 5Kbps
#
# Create policy to define what shapers to use for each service tier.
# Using "per subscriber" shaping, unique by client/server-ip.
#
PolicyGroup {
if client "tier"="gold" then \
shape to client shaper "gold_down" unique by client-ip and \
shape to server shaper "gold_up" unique by client-ip
if server "tier"="gold" then \
shape to server shaper "gold_down" unique by server-ip and \
shape to client shaper "gold_up" unique by server-ip
if client "tier"="silver" then \
shape to client shaper "silver_down" unique by client-ip and \
shape to server shaper "silver_up" unique by client-ip
if server "tier"="silver" then \
shape to server shaper "silver_down" unique by server-ip and \
shape to client shaper "silver_up" unique by server-ip
if client "tier"="bronze" then \
shape to client shaper "bronze_down" unique by client-ip and \
shape to server shaper "bronze_up" unique by client-ip
if server "tier"="bronze" then \
shape to server shaper "bronze_down" unique by server-ip and \
shape to client shaper "bronze_up" unique by server-ip
}
6.1 HappyISP is interested in operational data related to the use of the bittorrent protocol on their
network. Specifically, they are interested in the amount of data that leaves their network via
bittorrent as well as the total duration of all those flows.
6.1.1 Create a measurement to keep track of the total bytes of bittorrent traffic uploaded. Make
sure you can publish this measurement.
6.1.2 Define a generic measurement to keep track of the total duration of all bittorrent flows. Make
sure you can publish this measurement.
6.1.5 Bonus: Rewrite the measurement you defined in 6.1.2 using a sum measurement instead of
a generic measurement.
6.2 HappyISP has 3 service tiers they sell to their customers: bronze, silver and gold. The
marketing department requires data on these service tiers to assess the performance of their
plans. Develop custom measurements and publish them to the SPB so that NDS reports can be
generated to illustrate this data.
6.2.1 Measurements to track the total bytes transmitted and received per service tier.
6.2.2 A measurement to track the number of connections per service tier.
6.2.3 A measurement to track the bytes downloaded per service tier and per protocol.
6.2.4 Publish the measurements you created in 6.2.1, 6.2.2 and 6.2.3. For measurement 6.2.2,
publish the peak connections per service tier.
#
# Define tier attribute
#
attribute "tier" type string
6.3.1 Modify the measurement so that it is per service tier and per protocol category, with the
following categories: peer to peer, web browsing and email, real time entertainment, real time
communications, other.
Rewrite the measurement you create in 6.2.3 so that it is per tier and per protocol category.
6.4 Rewrite the measurement you created in 6.3.1 to use the built-in application types available
through the loadable traffic identification package.
7.1.1 Verify that your use of the MeasurementGroup is correct by putting it in policy.conf along with the
above measurements. The values should match in the output of show policy measurements.
8.1.1 Write a policy statement to insert a value into the table you defined in 8.1.
8.1.2 Write a policy statement to delete the row you added in 8.1.1.
8.2 Define a table that will store one integer that defaults to 0 for each flow where a row in the
table will time out after 60 seconds unless you read or write a value to it.
8.2.1 Write a policy statement to insert a value into the table you defined in 8.2.
8.2.2 Write a policy statement to delete the row you added in 8.2.1.
8.3.1 Use the following policy to figure out what the secret message and secret code are:
string secret_message =
int secret_code = 0
row = Table.t[4.0.0.6]
if true then Concat(secret_message,row.col2) and increment secret_code by row.col1
row = Table.t[4.0.0.0]
if true then Concat(secret_message,row.col2) and increment secret_code by row.col1
row = Table.t[4.0.0.10]
if true then Concat(secret_message,row.col2) and increment secret_code by row.col1
9.1.1 Create the file my_map.txt and put 3 entries in it so that that the map you declared in 9.1
will have something to load and your policy will reload properly.
9.1.2 Execute show policy maps to verify that your map loaded correctly.
9.1.3 Update the file my_map.txt by adding another entry. Refresh the map data only do not
do a full policy reload.
9.1.4 Execute show policy maps again to verify that the new entry is in the map without having
to do a full reload of policy.
10.1.2 You cannot publish a measurement that is over a 1 minute interval. When the timer you
defined in 10.1.1 expires, write the measurement you defined in 10.1 to /var/log/svlog so you can
keep track of it.
10.1.3 Watch /var/log/svlog through the show log command and make sure the values are being
written to it as expected.