A DCCP Module for NS-2

Download

Date

Item

Format Size Comments
24/03/2004 Source code (v. 1.1) (changes) tar.gz 70 KB The patch included are intended to be applied to the original ns-2.26 installation. 
26/02/2004 Source code (v. 1.0) tar.gz 69 KB Includes installation instructions and a sample script. 
Note: The patch has been made and tested on ns-2.26. 

Known installation issues

Date

Description Solution
01/03/2004 The compilation of certain DCCP files included in version 1.0 of the code fails with error message: 

error: default argument given for parameter ...

Add  -fpermissive  to CCOPT in Makefile.in. I.e. line 55 should look like  CCOPT = @V_CCOPT@ -fpermissive
Re-run ./configure before compiling.
This issues is resolved in version 1.1 of the code.

Known bugs

There are currently no known bugs in the DCCP agents. Report bugs or other issues to me, and if I have time, I'll try to correct them.

Supported features

The implementation supports 

  • ns version 2.26 on Solaris, UNIX. (Note! Only tested with ns-2.26 on Solaris. As far as I know it works on Linux as well).
  • Two-way transfers.
  • Variable tracing.

Protocol functionality implemented include 

  • Conformance to the October 2003 drafts.
  • All DCCP packet types except DCCP-Move and DCCP-Sync.
  • Connection initiation and termination.
  • Streamlined feature negotiation with options
    • ChangeL (option 32)
    • ConfirmL (option 33)
    • ChangeR (option 34)
    • ConfirmR (option 35)
  • DCCP options
    • Padding (option 0)
    • Ack vector (option 38-39)
    • Elapsed time (option 46)
  • DCCP features
    • Congestion Control ID (feature 1)
    • ECN capable (feature 2)
    • Ack ratio (feature 3)
    • Use Ack vector (feature 4)
  • Explicit Congestion Notification (ECN) with Nonces.
  • DCCP congestion control where both half-connections use the same CCID.
  • TCP-like congestion control.
  • TFRC congestion control including the CCID specific options and features
    • Loss event rate (option 192)
    • Receive rate (option 194)
    • Use Loss Event Rate (feature 192)

Not supported features

  • Real data in packets.
  • Checksums.
  • Multihoming and mobility; DCCP-Move packet type.
  • Sequence number validity, Identification options or other security measures.
  • Protection against wrapping of sequence numbers.
  • History discounting in TFRC.

Copyright 2004 Nils-Erik Mattsson