Test of a DiffServ Premium TCP stream varing the Committed Rate

(A. Pinizzotto)


Test overview

In Test 4 we observed that for a single DiffServ Premium TCP stream with a committed rate of about 163 kbps an "optimal" choice for queues parameters could be:
- Token Bucket size (TBs) = 11000 bytes
- Premium Buffer size (PBs) = 13000 bytes,
and the throughput is about 152 kbps.
We want to investigate if this choice is good also for different values of committed rate.
In this test we evaluated the throughput varing the committed rate (from 8% to 19% of 2048 kbps, PPP link), in two different cases for TBs and PBs values.
The result is that the "optimal values" for TBs and PBs are a function of the committed rate, as expected.


Summary of results:

  1. Testbed description
  2. Results Overview
  3. Results Charts

Section 1. Testbed description

The network layout is the following:

                 ---------    PPP (2048 kbps)      ---------
                |  IBM    |_______________________|  IBM    |
                |  2212   | 76.1             76.2 |  2216   |
                |         |                       |         |
                 ---------                         ---------
                     | 74.1                            | 75.1
                     |                                 |
    ---------------------------------------------------------------------
              | 74.2        fast ethernet                       | 75.2
              |                                                 |
           -------                                           -------
          |       |                                         |       |
          |   A   |                                         |   B   |
           -------                                           -------
Routing: A is the stream source, B is the sink.
DiffServ is configured only on the IBM 2212 router for outgoing traffic from the ppp interface.
Bandwidths assigned to the diffserv premium queue is varied from 8% of PPP int. Bandwidth to 19% (from 163.84 kbps to 389.12 kbps).

Tests are run by generating a single TCP stream and by modifying the committed rate for the premium stream in the "Diff-serv action" used in the "Policy".
Tests are run for two cases:

case A:
TBs = 11000
PBs = 13000

case B:
TBs = 43000
PBs = 45000

The duration of each test is 300 secs.


Configuration, policy, profile and action on the 2212 :


Policies:
----------------------------------------------
Policy Name     = ds_tcp_74.2->75.2             
        State:Priority =Enabled    : 10
        Profile        =tcp_74.2->75.2
        Valid Period   =val_always
        DiffServ Action=ds_prem_N
----------------------------------------------


Profile:
----------------------------------------------
Profile Name    = tcp_74.2->75.2                
        sAddr     =   192.168.74.2 :  sPort=    0 : 65535
        dAddr     =   192.168.75.2 :  dPort=    0 : 65535
        proto     =              6 : 6    
        TOS       =            xFF : x00
        Remote Grp=All Users                     
----------------------------------------------


Diff-serv action:
----------------------------------------------
DiffServ Name   = ds_prem_N                      Type =Permit              
        TOS mask:modify=xF0:xA0
        Queue:BwShare  =Premium    : 10 %
----------------------------------------------

 
Interface diffsev parameters:
-------------------------------------------------------------------------------
                        ---------- Premium -------   --------- Assured --------
Net If     Status  NumQ Bwdth  Wght  OutBuf  MaxQos Bwdth  Wght  OutBuf  MaxQos
Num                       (%)   (%) (bytes)     (%)   (%)   (%) (bytes)     (%)
-------------------------------------------------------------------------------
0   PPP   Enabled     2    20    90   13000      95    80    10   27500      80
-------------------------------------------------------------------------------
The value 10% for the Premium Queue BwShare in the Diff-serv action is varied in the range [8%, 19%].
The value 13000 for Premium OutBuf is set to 45000 for the case B test.


Note: The commands to view and to change the value of the Token Bucket size are:


TALK 4 (debbug environment)
word ds_token_bucket (to view) word ds_token_bucket="value" (to change)
TALK 5 (Monitoring Console)
FEATURE Policy RESET DATABASE


NETPERF and NETSERVE commands used:

TRAFFIC SOURCE
(source host 192.168.74.2)
netperf -p 50070 -H 192.168.75.2 -l 300 -f k
TRAFFIC RECEIVER
(dest host 192.168.75.2)
netserve -p 50070

Section 2. Results Overview

Tests are run in two cases.
Case A is the "optimal choice" for TBs and PBs for a committed rate of 8% of PPP link bandwidth (see IBM Test 4).
Case B is the best reference case; the maximum value possible for PBs is 45000 (on the IBM router); consequently TBs is set to 43000 so the difference between TBs and PBs is maintained constant.
Moreover if the following condition is verified:

          PBs > TBs + [1 packet size]
no buffer drop should occur (for a single premium stream).

Legenda:

Bw%
Percentage of output interface bandwidth (2048 kbps) committed for the premium stream [kbps].

Committed Throughput

Committed throughput for the premium stream [kbps].

Real Throughput
Real throughput for the premium stream, as observed in the tests [kbps].

% Real/Comm. Throughput
Real to Committed throughput ratio [in percentage].

Buffer Drops
Packets dropped by the premium buffer.

Policer Drops
Packets dropped by the policer.


See also the graphs in the following section.





Section 3. Results charts

The case B can be considered as a reference case; in fact the difference between the case B throughput and the committed throughput is independent from the committed throughput (Bw%).

See Legenda in section 2.


Committed and Real Throughput [kbps]


Real/Comm. Throughput Ratio [%]


Policer drops [packets]


[end]