DiffServ4NS

March 12th, 2009

Requirements

  • NS2 2.29
  • Features

    • marking: possibility to define mark rules based on source node, destination node, transport protocol type and application type
    • new schedulers: WFQ, WF2Q+, SCFQ, SFQ, LLQ
    • new policy: possibility to define a DSCP based rate limiter
    • new monitoring possibilities:
      • For UDP-based traffic
        • Average, instantaneous, minimum and frequency distributed OWD
        • Average, instantaneous, minimum and frequency distributed IPDV
      • For TCP-based traffic
        • TCP Goodput on a DSCP basis
        • TCP Round-Trip Time on a DSCP basis, both instantaneous value and frequency distribution
        • TCP Window Size on a DSCP basis, both instantaneous value and frequency distribution
      • per-hop parameters:
        • Instantaneous and average queue length on a queue basis or on a queue and drop precedence level basis
        • Maximum burstiness for queue 0
        • Departure rate on a queue basis or on a queue and drop level precedence basis
        • Received packets, transmitted packets, dropped packets due to droppers and dropped packets due to buffer overflow, all on a DSCP basis and for both absolute and percentage values

    Download and Install

    Support

    Use this forum for support/feedback

    Example

    This example script shows how to configure a DiffServ router interface and how to gather several monitoring parameters. I strongly suggest you to read my master thesis and check related scripts and results.

    Requirements

    1. NS2 2.29
    2. DiffServ4NS
    3. gnuplot

    Topology

    DiffServ4NS - Example - Topology

    QoS Traffic Model for E1->C outgoing interface

    service allocated BW Marking rules Metering and dropping
    Premium 300 kbit/s S0->D0 (DSCP=46) Token Bucket + Drop out-profile
    Gold 1 Mbit/s Telnet (DSCP=10)
    FTP (DSCP=12)
    TSW2CM+RIO-C
    Best Effort 700 Kbit/s Everything else (DSCP=0) Token Bucket + Drop out-profile

    Script

    The example script is included in the DiffServ4NS distribution (see example-2)

    Results

    Using PQ scheduler

    PQ::Premium Service: One-Way DelayPQ::Premium Service: IP Delay VariationPQ::Instantaneous Queue LenghtPQ::Instantaenous Virtual Queue Lenght for Gold ServicePQ::TCP Goodput for Telnet and FTP aggregatesPQ::Packet Loss for Telnet and FTP aggregates due to policyingPQ::Service RatePQ::Class Rate

    Using LLQ scheduler

    PQ for queue 0 and SFQ for the others

    LLQ::Premium Service: One-Way DelayLLQ::Premium Service: IP Delay VariationLLQ::Instantaneous Queue LenghtLLQ::Instantaenous Virtual Queue Lenght for Gold ServiceLLQ::TCP Goodput for Telnet and FTP aggregatesLLQ::Packet Loss for Telnet and FTP aggregates due to policyingLLQ::Service RateLLQ::Class Rate

    Using SCFQ scheduler

    SCFQ::Premium Service: One-Way DelaySCFQ::Premium Service: IP Delay VariationSCFQ::Instantaneous Queue LenghtSCFQ::Instantaenous Virtual Queue Lenght for Gold ServiceSCFQ::TCP Goodput for Telnet and FTP aggregatesSCFQ::Packet Loss for Telnet and FTP aggregates due to policyingSCFQ::Service RateSCFQ::Class Rate

    1. kanon
      January 6th, 2009 at 16:22 | #1

      Do you have any document with how to install it step-by-step?

    2. Sergio
      January 15th, 2009 at 18:15 | #2

      yes, there is a README file with all the instructions:
      http://diffserv4ns.svn.sourceforge.net/viewvc/diffserv4ns/README

    3. FAISAL
      March 4th, 2009 at 05:40 | #3

      hi
      i m a student and doing project in IPv6 based QoS in overlay networks.will this file help me can i simulate file on ns2.

    4. Janet
      March 9th, 2009 at 06:33 | #4

      Is this version compatible to ns2.31? seems not?

      BTW the link to the thesis is broken.

    5. Sergio
      March 12th, 2009 at 10:14 | #5

      @faisal: sorry, I have no experience with overlay networks and IPv6 in N2
      @Janet: it was tested for ns2.29, I’m not aware of porting into ns2.31 (you may want to ask to the ns-users mailing list)

    6. Donato
      April 14th, 2009 at 10:45 | #6

      Ciao,
      segendo le istruzioni indicate, mi sono imbattuto nel seguente errore:
      “configure: error: -: invalid option; use –help to show usage
      tcl8.3.2 configuration failed! Exiting …
      Tcl is not part of the ns project. Please see http://www.Scriptics.com
      to see if they have a fix for your platform.”
      Cercando su internet ho provato le diverse soluzioni proposte, ma nessuna porta a un risultato positivo.
      Non è che il problema potrebbe sorgere dalla non compatibilità con il SO???
      io uso Ubuntu 8.04 LTS DesktopEdition (64-bit) ..
      Ciao.

    7. Ashraf
      January 9th, 2010 at 14:53 | #7

      Hi Mr Sergio
      I want to use these schedulers for wireless nodes especially adhoc network
      this patch can works on wireless
      sorry for this question but I am at critical states and any small information can help me

    8. serge
      May 22nd, 2010 at 10:23 | #8

      Hi Mr Sergio

      I work in this moment on my project of end of study about the Evaluation of QoS on the level of access IP/MPLS and I need your assistance for a script tcl Diffserv-MPLS.Please to give me something.
      Thank you in advance.
      very urgent (as soon as possible!)

    1. No trackbacks yet.

    Bad Behavior has blocked 253 access attempts in the last 7 days.