Test with multiple UDP streams on IBM DiffServ

(A.Pinizzotto)


We tested the IBM DiffServ feature with one or more simultaneous UDP streams matching different queues on the router:
Test overview
  1. Testbed description
  2. Results overview
  3. Router snapshot

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.
All of the 3 traffic sources send packets at a rate of 2048 kbps, including the overhead. This is generted by a stram of 246 packets/sec, with packets of 1000 (udp data) + 20 (udp header) + 20 (ip header)
DiffServ is configured only on the IBM 2212 router for outgoing traffic from the ppp interface.
Bandwidths assigned to the diffserv queues are:

We run 7 different tests:

  1. Only Best Effort
  2. Only Assured
  3. Only Premium
  4. Best Effort + Assured
  5. Best effort + Premium
  6. Assured + Premium
  7. Best Effort + Assured + Premium
Tests lasted for 30 sec.


Definitions on IBM router:


Policies:
----------------------------------------------
Policy Name     = ds_udp_74.2->75.2:10          
        State:Priority =Enabled    : 10
        Profile        =udp_74.2->75.2:10
        Valid Period   =val_always
        DiffServ Action=ds1_prem8
        
Policy Name     = ds_udp_74.2->75.2:20          
        State:Priority =Enabled    : 10
        Profile        =udp_74.2->75.2:20
        Valid Period   =val_always
        DiffServ Action=ds_ass40
----------------------------------------------


Profiles:
----------------------------------------------
Profile Name    = udp_74.2->75.2:10             
        sAddr     =   192.168.74.2 :  sPort=    0 : 65535
        dAddr     =   192.168.75.2 :  dPort=60010 : 60010
        proto     =             17 : 17   
        TOS       =            xFF : x00
        Remote Grp=All Users                     
        
Profile Name    = udp_74.2->75.2:20             
        sAddr     =   192.168.74.2 :  sPort=    0 : 65535
        dAddr     =   192.168.75.2 :  dPort=60020 : 60020
        proto     =             17 : 17   
        TOS       =            xFF : x00
        Remote Grp=All Users  
----------------------------------------------


Diff-serv actions:
----------------------------------------------
DiffServ Name   = ds1_prem8                      Type =Permit              
        TOS mask:modify=xFF:x01
        Queue:BwShare  =Premium    : 8 %
        
DiffServ Name   = ds_ass40                       Type =Permit              
        TOS mask:modify=xFF:x04
        Queue:BwShare  =Assured    : 40 %
----------------------------------------------


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    5500      95    80    10   27500      80
-------------------------------------------------------------------------------


MGEN and DREC commands used:

TRAFFIC SOURCE
(source host 192.168.74.2)
--script--
mgen -i ge0 -b 192.168.75.2:60000 -s 1000 -r 246 -p 60000 -d 30 &
mgen -i ge0 -b 192.168.75.2:60010 -s 1000 -r 246 -p 60010 -d 30 &
mgen -i ge0 -b 192.168.75.2:60020 -s 1000 -r 246 -p 60020 -d 30 &
----------
(depending on the particular test we used one or more of these lines.)
TRAFFIC RECEIVER
3 different windows:
(dest host 192.168.75.2)

drec -b 192.168.74.2 -i ge0 -p 60000 logfile_0
mcalc logfile_0

drec -b 192.168.74.2 -i ge0 -p 60010 logfile_1
mcalc logfile_1

drec -b 192.168.74.2 -i ge0 -p 60020 logfile_2
mcalc logfile_2


Section 2. Results overview

All of the traffic sources send packets at a bit rate of 2048 kbps, including header overhead. In this table throughputs are in kbps and don't include the header overhead (MCALC result).

----------------------------------------------------------------------------------------
 test |        streams            |     BE     |  Assured   |  Premium   ||    Total    | 
      |                           | throughput | throughput | throughput ||  throughput |
----------------------------------------------------------------------------------------
  1   | BE                        |  1967.754  |    ----    |    ----    ||  1967.754   | 
----------------------------------------------------------------------------------------
  2   | Assured                   |    ----    |  1968.010  |    ----    ||  1968.010   | 
----------------------------------------------------------------------------------------
  3   | Premium                   |    ----    |   ----     |   159.858  ||   159.858   | 
----------------------------------------------------------------------------------------
  4   | BE + Assured              |   649.833  |  1367.020  |    ----    ||  2016.853   | 
----------------------------------------------------------------------------------------
  5   | BE + Premium              |  1852.470  |   ----     |   159.837  ||  2012.307   | 
----------------------------------------------------------------------------------------
  6   | Assured + Premium         |   ----     |  1852.014  |   159.837  ||  2011.851   |
----------------------------------------------------------------------------------------
  7   | BE + Assured + Premium    |   617.807  |  1236.945  |   159.858  ||  2014.610   | 
----------------------------------------------------------------------------------------

Section 3. Details on results

In this section details are reported about the packets managed by the diffserv process on the IBM router. The command to obtain it is:

talk 5 -> feature ds -> list stream 4 0
Output Legenda:

Id           stream identificator number

t            stream type

         D   DiffServ stream
         B   Best Effort stream
         C   network control stream

I/o q        Queue type
   
         q1  Premium queue
         q2  Assured/BE queue

allo/cur(K)  Total buffer space (in Kbytes) allocated by this stream

tot pkt      Total packets received for transmission by this stream

tot Kby      Total kilobytes received for transmission by this stream

pkt snt      Total packets sent by this stream

Kby snt      Total kilobytes sent by this stream

ovr snt      Number of packets sent using shared buffers

buf drp      Number of packets dropped from this stream because no
             buffer space was available

policed      Number of packets dropped by the policer on the premium 
             queue

TEST 1) Only Best Effort
Streams from net 4 to net 0:
 Id   t I/o q  allo/cur(K)  tot pkt  tot Kby  pkt snt  Kby snt  ovr snt  buf drp policed
 ---- - -----  -----------  -------  -------  -------  -------  -------  ------- -------
(ds_udp_74.2->75.2:20)
 87   D   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   0.0/   0.0                          0        0        0        0        0

(ds_udp_74.2->75.2:10)
 86   D   in    0.0/   0.0        0        0        0        0        0        0
         o-q1   0.0/   0.0                          0        0        0        0        0

(-)
 11   B   in    0.0/   0.0     7381     7617     7381     7617     7381        0
         o-q2   2.8/   0.0                       7381     7617     7129        0        0

(-)
 4    C   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   1.4/   0.0                          0        0        0        0        0


TEST 2) Only Assured
Streams from net 4 to net 0:
 Id   t I/o q  allo/cur(K)  tot pkt  tot Kby  pkt snt  Kby snt  ovr snt  buf drp policed
 ---- - -----  -----------  -------  -------  -------  -------  -------  ------- -------
(ds_udp_74.2->75.2:20)
 87   D   in   13.8/   0.0     7381     7617     7381     7617      205        0
         o-q2  13.8/   0.0                       7381     7617      205        0        0

(ds_udp_74.2->75.2:10)
 86   D   in    0.0/   0.0        0        0        0        0        0        0
         o-q1   0.0/   0.0                          0        0        0        0        0

(-)
 11   B   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   2.8/   0.0                          0        0        0        0        0

(-)
 4    C   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   1.4/   0.0                          0        0        0        0        0


TEST 3) Only Premium

Streams from net 4 to net 0:
 Id   t I/o q  allo/cur(K)  tot pkt  tot Kby  pkt snt  Kby snt  ovr snt  buf drp policed
 ---- - -----  -----------  -------  -------  -------  -------  -------  ------- -------
(ds_udp_74.2->75.2:20)
 87   D   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   0.0/   0.0                          0        0        0        0        0

(ds_udp_74.2->75.2:10)
 86   D   in    0.0/   0.0     7381     7617      599      618       21        0
         o-q1   0.0/   0.0                        599      618       21        0     6782

(-)
 11   B   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   2.8/   0.0                          0        0        0        0        0

(-)
 4    C   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   1.4/   0.0                          0        0        0        0        0



TEST 4) Best Effort + Assured

Streams from net 4 to net 0:
 Id   t I/o q  allo/cur(K)  tot pkt  tot Kby  pkt snt  Kby snt  ovr snt  buf drp policed
 ---- - -----  -----------  -------  -------  -------  -------  -------  ------- -------
(ds_udp_74.2->75.2:20)
 87   D   in   13.8/   0.0     7381     7617     5133     5297     3373        0
         o-q2  13.8/   0.0                       5133     5297     3373     2248        0

(ds_udp_74.2->75.2:10)
 86   D   in    0.0/   0.0        0        0        0        0        0        0
         o-q1   0.0/   0.0                          0        0        0        0        0

(-)
 11   B   in    0.0/   0.0     7381     7617     2441     2519     2441        0
         o-q2   2.8/   0.0                       2441     2519     2439     4940        0

(-)
 4    C   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   1.4/   0.0                          0        0        0        0        0


TEST 5) Best Effort + Premium

Streams from net 4 to net 0:
 Id   t I/o q  allo/cur(K)  tot pkt  tot Kby  pkt snt  Kby snt  ovr snt  buf drp policed
 ---- - -----  -----------  -------  -------  -------  -------  -------  ------- -------
(ds_udp_74.2->75.2:20)
 87   D   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   0.0/   0.0                          0        0        0        0        0

(ds_udp_74.2->75.2:10)
 86   D   in    8.0/   0.0     7381     7617      599      618        5        0
         o-q1   8.0/   0.0                        599      618        5        0     6782

(-)
 11   B   in    0.0/   0.0     7381     7617     6954     7176     6954        0
         o-q2   2.8/   0.0                       6954     7176     6952      427        0

(-)
 4    C   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   1.4/   0.0                          0        0        0        0        0


TEST 6) Assured + Premium

Streams from net 4 to net 0:
 Id   t I/o q  allo/cur(K)  tot pkt  tot Kby  pkt snt  Kby snt  ovr snt  buf drp policed
 ---- - -----  -----------  -------  -------  -------  -------  -------  ------- -------
(ds_udp_74.2->75.2:20)
 87   D   in   13.8/   0.0     7381     7617     6955     7177     6845        0
         o-q2  13.8/   0.0                       6955     7177     6845      426        0

(ds_udp_74.2->75.2:10)
 86   D   in    8.0/   0.0     7381     7617      599      618       12        0
         o-q1   8.0/   0.0                        599      618       12        0     6782

(-)
 11   B   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   2.8/   0.0                          0        0        0        0        0

(-)
 4    C   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   1.4/   0.0                          0        0        0        0        0


TEST 7) Best Effort + Assured + Premium

Streams from net 4 to net 0:
 Id   t I/o q  allo/cur(K)  tot pkt  tot Kby  pkt snt  Kby snt  ovr snt  buf drp policed
 ---- - -----  -----------  -------  -------  -------  -------  -------  ------- -------
(ds_udp_74.2->75.2:20)
 87   D   in   13.8/   0.0     7381     7617     4647     4795     3324        0
         o-q2  13.8/   0.0                       4647     4795     3324     2734        0

(ds_udp_74.2->75.2:10)
 86   D   in    8.0/   0.0     7381     7617      599      618       12        0
         o-q1   8.0/   0.0                        599      618       12        0     6782

(-)
 11   B   in    0.0/   0.0     7381     7617     2321     2395     2321        0
         o-q2   2.8/   0.0                       2321     2395     2319     5060        0

(-)
 4    C   in    0.0/   0.0        0        0        0        0        0        0
         o-q2   1.4/   0.0                          0        0        0        0        0

[end]