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)

    1. No trackbacks yet.