Skip to content

Upgrade the AQM evaluation suite

This spreadsheet outlines improvement tasks for the ns-3 AQM Evaluation Suite based on the WNS3 2017 paper and current ns-3 capabilities.

Migrate from Waf to CMake Build System (!1)

  • Description: Update AQM evaluation suite build system from Waf to CMake
  • Current Issue: ns-3 has transitioned from Waf to CMake as the primary build system, but the AQM evaluation suite still uses Waf configuration
  • Required Action:
    • Analyze current Waf-based build configuration
    • Create equivalent CMake configuration files (CMakeLists.txt)
    • Update build scripts and compilation instructions
    • Ensure all dependencies and linking work correctly with CMake
    • Update documentation and build instructions
    • Test build process across different platforms (Linux, macOS, Windows)

Update Default Congestion Control (#4 (closed))

  • Description: Update default congestion control from TCP CUBIC back to TCP NewReno for consistency with RFC 7928 recommendations
  • Current Issue: Paper states "TCP NewReno is the default congestion control in ns-3" but latest ns-3 uses CUBIC as default
  • Required Action: Explicitly set TCP NewReno as default in evaluation suite to match RFC 7928 baseline

Migrate to TCP CUBIC for Aggressive Congestion Control (!3)

  • Description: Replace TCP BIC with TCP CUBIC for aggressive congestion control testing
  • Current Issue: Paper uses TCP BIC as CUBIC wasn't available; CUBIC is now supported in ns-3
  • Required Action: Update aggressive sender scenarios to use CUBIC instead of TCP BIC

Enable ECN Support (!4)

  • Description: Add ECN marking support to AQM evaluation scenarios
  • Current Issue: ECN support was under development during paper publication, now available
  • Required Action:
    • Enable ECN marking for supported AQM algorithms (RED, etc.)
    • Add ECN-enabled test scenarios as recommended in RFC 7928
    • Compare performance with and without ECN

Add New AQM Algorithms (!4)

  • Description: Include newer AQM algorithms implemented in ns-3 since 2017
  • Current Issue: Suite only includes RED, ARED, CoDel, PIE from original implementation
  • Required Action:
    • Identify AQM algorithms added to ns-3 post-2017
    • Integrate new algorithms into evaluation framework
    • Ensure compatibility with existing test scenarios

Investigate EvalTimestampTag Replacement (!4)

  • Description: Evaluate if EvalTimestampTag can be replaced with newer ns-3 features
  • Current Issue: Custom timestamp tag may be redundant with newer ns-3 tracing capabilities
  • Required Action:
    • Research current ns-3 queue delay measurement approaches
    • Compare performance and accuracy with existing implementation
    • Migrate if beneficial

Update Topology Parameters

  • Description: Review and update network topology parameters for modern networks
  • Current Issue: Paper notes missing bandwidth/delay values, parameters may be outdated for 2025
  • Required Action:
    • Research current network characteristics (bandwidth, latency)
    • Update dumbbell topology parameters
    • Validate against modern network scenarios

Multi-Bottleneck Topology Support

  • Description: Implement multi-bottleneck topology scenarios
  • Current Issue: RFC 7928 suggests multi-bottleneck but exact parameters not provided
  • Required Action:
    • Design multi-bottleneck topology based on RFC guidelines
    • Implement topology helper classes
    • Create test scenarios for multi-AQM deployment

Web Traffic & VoIP Traffic Support

  • Description: Implement or integrate web traffic and Voice over IP traffic generation capabilities
  • Current Issue: Paper notes web traffic generator was "under review" and "ns-3 currently does not have a model to generate this type of traffic" - investigate current status
  • Required Action:
    • Check if web traffic generator was merged into ns-3
    • If not available, implement basic web traffic patterns
    • Add web traffic scenarios from RFC 7928 Section 7
    • Implement bidirectional interactive voice traffic model
Edited by David Lin