ECE 453/553 -- Computer Networks --- Spring 2015

The final exam will be held at 10:15am-12:15pm on Tues, May 5 in MK 524.

There will be a review session at 5:00-7:00pm (note change in time) in MK 425 on Study Day, April 27.

    Midterm #1 Study Questions (answers)
    1. Name one networking function that is implemented only at the application layer, one the is implemented only at the transport layer and one that is implemented only at the network layer of the Internet stack.
    2. Explain the fundamental differences between the FTP file transfer protocol and HTTP, the fundamental protocol of the Web.
    3. Explain the Slashdot Effect. Explain how Content Distribution Newtork and Parallel Server Cluters provide different ways to address this issue.
    4. Explain how the problem of freeriding is dealt with in BitTorrent?

    Midterm #2 Study Questions (answers)
    1. Define flow control and congestion control, and explain the difference between them.
    2. Every connection to a single listening socket creates a TCP circuit bound to the same receiving port. How does the receiving OS differentiate between connections from different hosts to the same listening socket? Between connections from the same port but from different applications?
    3. Explain the Additive Increase, Multiplicative Decrease algorithm for TCP windows size. How does it result in a sawtooth that averages 3/4 of the optimal window size?
    4. Give and fully explain one reason why there is no standard reliable transport layer protocol for point-to-multipoint communication.

    Final Exam Study Questions
    1. Explain the difference between Link State and Distance Vector routing protocols.
    2. What is BGP and how is it used to implement inter-AS routing policy?
    3. How does a learning Ethernet switch work?
    4. Explain how controlled flooding to implement broadcast based on a1) sequence numbers and b) center-based tree building works.

Instructor: Micah Beck
Office: Min Kao 433
Office Hours: Wednesday 1:20-2:20pm

    Class Time: 12:20 pm - 1:10 pm MWF
    Classroom: Min Kao Engineering 524

TA: Haoyang Lu

    TA Office Hours: 2 - 5pm Mon
    TA Office: MK 309
    TA email:

TA: Xiangyu Niu

    TA Office Hours: 2 - 5pm Tues
    TA Office: MK 208
    TA email:


    Computer Networking, A Top-Down Approach
    Authors: James F. Kurose, Keith W. Ross
    Edition: 6
    ISBN: 978-0-13-285620-1

    The textbook is available to purchase or rent in hardback, or in Kindle format, readable on a number of different platforms. All reading assignments and homeworks refer to the sixth edition.

Reading Assignments

    Reading Assignment for 1/9/2015 Chapter 1
    Reading Assignment for 1/21/2015 Chapter 2
    Reading Assignment for 2/9/2015 Chapter 3
    Reading Assignment for 3/9/2015 Chapter 4
    Reading Assignment for 4/20/2015 Chapter 5, Sections 5.1 - 5.4

Homework Assignments

All homework solutions are to be submitted through Blackboard.

    #1Homework due 1/28/2015 Ch. 1: P1-4, P9; Ch. 2: P1-P3, P6-P8
    #2Homework due 2/6/2015 Ch. 2: P20, P26, P31, P33, P34
    #3Homework due 3/11/2015 Ch. 3: P2, P5, P13, P14, P15, P22, P25, P28, P37, P43, P44, P47, P55
    #4Homework due 4/20/2015 Ch. 4: P1, P4, P8, P10, P13, P23, P27, P28, P33
    #5Homework not handed in or graded Ch. 5: P3, P14, P15, P16, P17

Annotated Course Syllabus

The couse syllabus and reading will mirror the structure of the book.
  • Chapter 1: Computer Networks and the Internet
    • What is the meaning of a stack of network layers? What is the relationship between adjacent layers (eg. layers 2 and 3)?
    • What is the difference between a nertwork based on connections/circuits and one based on datagrams/packets?
    • What are the strengths and weaknesses of a best effort network vs. one with quality of service guarantees?
  • Chapter 2: Application Layer
    • What is the client/server model of data access used by services such as FTP and HTTP?
    • What is the Slashdot Effect? What are Content Delivery Newtorks? Why are they required to implement high volume Web sites?
    • What is the Domain Name Service and how is it used?
    • What mechanisms are used to ensure end-to-end reliability by users of the File Transfer Protocol? Why is the protocol by itself inadquate?
    • What are the historical and current uses for Peer-to-Peer File Sharing? How is Peer-to-Peer file sharing implemented?
  • Chapter 3: Transport Layer
    • Describe fully the TCP flow control algorithm. Why is flow control necessary?
    • Why is multiplexing on the basis of source IP address and destination port sufficient for UDP but not for TCP?
    • How is reliability implemented in TCP?
    • What is the TCP AIMD window protocol? What is slow start?
    • How can the optimal TCP window size be calculated, given appropriate values for key parameters?
  • Chapter 4: The Network Layer
    • What is the difference between a circuilt- vs. a datagram-based network layer?
    • How does a router implement fast forwarding?
    • What is Dyksra's Algorithm and how is used in Link State routing algorithms?
    • What is Distance Vector routing algorithms?
    • How does Network Address Translation work, and why is it a layering violation?
    • What is the difference between Dense and Sparce PIM multicast routing?
  • Chapter 5: The Link Layer
    • What is the difference in implementation betwteen traditional Ethernet based on RF broadcast and fast switched Ethernet?
    • Why is error correction implemented at Link Layer but not at Network Layer?
    • How does a learning Ethernet switch work?
    • What does Collision Detection accomplish in a CSMA/CD protocol?

Some Net Neutrality Links

Course Requirements and Grading

  • There will be two midterm exams and a final exam.
  • Homework will be assigned on a regular basis.

The final course grade will be calculated as

    10%(H) + 25%(M1') + 25%(M2') + 40%(F)

  • H = homework grade
  • M1' = MAX(final exam grade, midterm 1 grade)
  • M2' = MAX(final exam grade, midterm 2 grade)
  • F = final exam grade

For example, a student who scores 70 on midterm 1, 85 on midterm 2, 84 on the final, and 75 on the homework will have an overall score of

    10%(75) + 25%(MAX(84, 70)) + 25%(MAX(84, 85)) + 40%(84) = 83.35

The intention of this grading scheme is that students have two chances to show their mastery of the material covered in the two midterms: on the midterm and on the cummulative final. The 90% of the course grade that is awarded on the basis of exams is available to every student at the time they take the final.

While it is possible for a student to skip the midterm exams and rely solely on the homework and final for their course grade, students are strongly advised against this approach. Here are some reasons for this advice:

  • Taking the midterm exams is a no-risk proposition: it can only improve a student's final course grade.
  • The midterms are more focused, and so it should be easier to study the material covered deeply and get a good grade.
  • There is less presure on students when taking midterms than during the final exam period.
  • Taking the midterms is the best preparation for the final exam.