ECE6110 - CAD For Computer Networks


Dr. George F. Riley
Office: Klaus 3360
Office hours: TBD

Course Summary

ECE6110 is a graduate course which introduces students to the concepts used in simulations of computer networks. We will cover a wide range of issues in computer network simulation, and try to understand both how to create simulations and how to interpret results. We use a number of network simulation tools, including ns3, and/or GTNetS, for out of class projects. At the completion of the semester, students will have a detailed understanding of computer network simulation and how to apply it networking research.

Teaching Philosophy

Teaching is interactive! Students are strongly encouraged to participate in class and offer opinions on the issues being discussed. I encourage (and expect) you to participate actively in the learning process. In particular, I welcome your comments and questions as we cover material in class. One-way lectures quickly becoming boring, both for you and for me. Also, I have found that students often learn more from other students comments than from the instructor! By asking lots of questions, your understanding of the material will be deepened significantly, and the course will be much more fun! From time to time there will be readings for a class session; these will be posted on the class web page below in a downloadable format. Students are expected to download and read the assigned readings before class.

Computing Resources

We have a newly installed linux-based computing cluster known as the deepthought cluster. This platform is the recommended platform for completing all of theThis platform is the recommended platform for completing all of the class projects, although you are free to use your personal laptops or desktops, as long as they have linux and appropriate libraries. The link above describes the deepthought cluster and how to access it.


There is no textbook for this class. We will use research papers as required for our reading and discussion.

Course Outline

The list of topics to be covered is tentative, but expected to include the following:

Network Simulation Basics

  • Creating topologies
  • Defining data flows
  • Defining queuing disciplines
  • Trace file analysis methods
  • Using network animation

    Introduction to Simulation

  • Discrete Event Simulation (DES)
  • Simulating Networks with DES
  • Modeling Network Elements
  • Levels of abstratction

    Parallel and Distributed Simulation

  • Conservative vs. Optimistic Simulation Methods
  • Time Management in Conservative Simulation
  • Event Distribution Methods

    Overview of Network Simulation Tools

  • GTNetS
  • ns3
  • Opnet
  • ns2
  • SSF
  • GloMoSim

    Using Parallel/Distributed NS3

  • Defining the topology
  • Initiating multi-process simulations

    Measuring Network Performance via Simulation

  • Performance Metrics
  • Goodput, Throughput, Loss, Delay, Jitter, etc.
  • Factors Affecting Performance
  • Predicting Affect of Changes

    The Transmission Control Protocol (TCP)

  • Modeling TCP
  • Existing TCP Variations
  • Factors Affecting TCP Performance
  • New TCP variations
  • Congestion Avoidance in TCP
  • Using TCP over satellite links
  • Using simulation to measure TCP performance


  • Multicast group management
  • Source based trees vs. Core based trees
  • Modeling multicast in network simulations
  • Measuring multicast routing protocol overhead

    Simulating Routing Prototocols

  • Routing in Network Simulators
  • Modeling EIGRP and BGP

    Active Queue Management (AQM) and queueing Disciplines

  • DropTail, RED, Priority, WFQ, SCFQ, others
  • Implementation of active queues in network simulators
  • Measuring the affect of AQM

    Streaming Video/Audio Models

  • Creating a MPEG video model
  • Measuring MPEG performance
  • Performance tradeoffs in streaming applications

    Modeling Web Browsing

  • Using request/response distribution models
  • Using page distribution models
  • Measuring HTTP Performance

    Getting Help

    There will be one teaching assistant for this course. He will do all grading of out of class projects and should be your first point of contact when you have questions about assignments or grading.
  • Teaching Assistant: Rahul Kayala
  • Office hours: Wednesdan and Friday 11-2pm. Office hours in meeting area across from Klaus 3360.


    Project 1 10%
    Project 2 10%
    Project 3 20%
    Midterm 20%
    Final Project 30%
    Class Participation 10%
    Total 100%


      Day    Month     Date     Description     Handout     Due Date  
    MonJan11   Introduction to Network Simulation 

    WedJan13   Introduction to Network Simulation (continued) 

    WedJan20   Download ns-3-24.1 
    MonJan25   ns-3 examples continued 

      Using SSH for deepthought    SSH-handout.pdf 

      Lab 1 TCP Performance Assigned    P1.pdf 
    WedJan27   TCP Congestion Avoidance Paper    VanJacobsonCongestionAvoidance.pdf 
    MonFeb1   TCP Congestion Control RFC    rfc2581.pdf 

      Lab1 Expected Results    tcpTahoeSingleFlow.csv 

      Lab1 Expected Results    tcpTahoeTenFlows.csv 

      Lab1 Expected Results    tcpRenoSingleFlow.csv 

      Lab1 Expected Results    tcpRenoTenFlows.csv 
    WedFeb3   TCP Variations    TCPflavors.pdf 

      Random Early Detection Queuing    Floyd-Red.pdf 
    MonFeb8   Tuning RED for Web Traffic    TuningRedLong.pdf 
    WedFeb10   NIx-Vector Routing    RileyStatelessRouting.pdf 

      Bruce Mah HTTP Study    MahHttp.pdf 




















    Contact Information:
    School of Electrical and Computer Computing
    Georgia Institute of Technology
    Atlanta, GA 30332-0250

    Last Modified: January 11, 2016