Research Tools

Alternative backoff with ECN (ABE) 

  • ABE is a sender-side-only modification to TCP/SCTP that changes the sender's reaction to an ECN congestion signal (to decrease the FlightSize by a smaller amount).  ABE can be deployed incrementally (requiring no flag-day) and offers a compelling reason to deploy and enable ECN across the Internet.
  • ABE's homepage (including papers, IETF Internet Draft(s), kernel patches, etc)  
  • ABE on ICCRG page


Here you can find some useful tools/documentations that I use:


Network Simulation (ns-2):

  • ns-2.29 wireless update patch with AARF support for 802.11b/g by Naeem Khademi
    • This patch provides Adaptive Auto-Rate Fallback (AARF) support for 802.11b (1~11 Mbps) and 802.11g rates (6~54 Mbps). It is an extension of Marco Fiore's wireless update patch with the ability of activating AARF in 802.11b/g which is tested in ns-2.29

  • Uplink performance of TCP Linux in 802.11b/g WLANs with AARF rate adaptation mechanism (simulation code!)
    • This simulation code has been developed to show the impact of MAC frame collisions on the uplink performance of different TCP variants in absence/presence of Adaptive Auto-Rate Fallback (AARF) rate adaptation mechanism. AARF's inability to distinguish the MAC collisions due to contention from noise leads to the performance degradation of upload TCP flows in this scenario.
    • It worth noticing that (downlink?) TCP performance was previously believed to NOT be degraded under ARF/AARF due to the self-clocking mechanism of TCP in wireless networks which keeps the frame collision rate at a very low level (J. Choi et al. (2007)).

  • My ns patch to provide several variants of Least Attained Service (LAS) queue management in ns-2 (tested in ns-2.29). it supports:
    • LAS
    • Threshold-based LAS (TLAS)
    • TLAS with Selective ACK Filtering (TLAS-SAF)

  • My ns stuff page (google site) with lots of useful ns-2 documentations


802.11 test- bed:


  • The MadWifi project (a team of volunteer developers working on Linux kernel drivers for Wireless LAN devices with Atheros chipsets)
  • Kismet (an 802.11 layer2 wireless network detector, sniffer, and intrusion detection system)
  • Netperf (a benchmark that can be used to measure various aspect of networking performance)
  • Iperf (A tool for measuring maximum TCP and UDP bandwidth performance. Iperf reports bandwidth, delay jitter and datagram loss)
  • Tcpreplay (to replay pcap files and inject packets on a specified interface)  
  • Scapy (a packet manipulation tool written in Python) (usage manual
  • Horst (a small, lightweight IEEE802.11 wireless LAN analyzer)
  • Emulab's 802.11a/b/g testbed (a network testbed, giving researchers a wide range of environments in which to develop, debug, and evaluate their systems)


Active Queue Management for low latency:


ECN deployment and evaluation: 


TCP Buffer Sizing and Auto-tuning:

  • BufferBloat (a webspace for addressing chaotic and laggy network performance mainly buffer sizing issues)
  • Web100 (A Linux kernel patch for TCP flow's information and auto-tuning) => continues on Web10g
  • SIFTR (A FreeBSD kernel module that logs statistics on active TCP connections to a file)
  • TBIT (the TCP Behavior Inference Tool)

Analysis of TCP dump files:
  • tcptrace for measuring TCP connections' throughput and goodput, retransmissions, etc (use additional tool of tracesplit => requires libtrace 
  • SPP (Synthetic Packet Pairs) for accurate RTT measurements between two hosts (also works fine for all IP-based traffics, including bi-directional UDP)