Advanced Computer Networks Spring 2017

Slack communication!

Email Vojislav (see "Staff" below) to request an invite to this course's Slack team, so you can see announcements, ask questions, participate in discussions, and interact with your classmates and the staff!




This course explores state-of-the-art networking practice in large, complex networked systems through a combination of lectures, independent readings, in-class discussion, and homework exercises. Rather than being a descriptive overview of technologies used in such networks, we shall attempt to uncover the motivations that led to their design, the progress made beyond "textbook networking”, as well as their shortcomings and potential improvements. Our goal is not only to study the state-of-the-art, but also encourage thinking about advancing it.


Course topics include:

  • Networking Principles (naming, end-to-end protocol design, network state management, etc.)
  • Data center architectures (topology, addressing, etc.)
  • Data center network protocols (DCTCP, Infiniband, CEE, etc.)
  • End host architectures (U-Net, RDMA, Netmap, etc.)
  • Server and network virtualization
  • Software defined networking
  • Applications and application traffic


The course consists of lectures, exercises, and a written examination. The end of semester exam will be 2 hours, with no supporting material allowed. The final assessment will be a combination of exercises and examination grades.


Course Hours

  • Lectures: Tue 13-15h, CAB G 51
  • Exercises: Thu 14-16h, ML E12



Lecture Date Topic Materials
L1  21.02  Introduction, Thinking about networks Introduction,
Thinking about networks
L2  28.02  Data centers: apps & traffic  DC apps & traffic
L3  07.03 Data centers: network topology  DC: network topology 
L4  14.03 Data centers: routing   DC: routing
L5  21.03 Software defined networking   SDN
L6 28.03  Transport Protocols   TCP
L7 04.04 Data Center Flow Control   Flow Control 
 L8 11.04  End Host Optimizations   End Host
L9 25.4  Network I/O Virtualization   Virtualization
L10  02.05 Wide-area routing & TE  WAN Routing
L11   09.05 Network function virtualization, Programmable Networks with Synthesis  NFV, Synthesis
L12  16.05 Congestion control, generalized  WAN-Congestion 
 L13 23.05  Content Deliverty Network   CDN



Topic Date Due by Materials
  Introduction, Thinking about networks 22.02. 01.03. a-1 a-1-slides a-1-solutions
 Data centers: applications and traffic  01.03  08.03 a-2  a-2-slides a-2-solutions
Data centers: network topology 09.03 16.03 a-3 a-3-slides a-3-solutions
 Data centers: routing 16.03 23.03  a-4 a-4-slides a-4-solutions
Software defined networking 23.03  30.03 a-5 a-5-slides a-5-solutions
 Transport Protocols  30.03 06.03 a-6 a-6-slides a-6-solutions
Project1: OpenFlow, Mininet & POX Controller   06.04  02.05  a-7
 Project2: RDMA 04.05  23.05 a-8 vm static-content


Reading list

Lecture 2

  • Inside the Social Network’s (Datacenter) Network. A. Roy, et al. [link]
    Facebook's measurement data is available here (requires a Facebook account, unfortunately): [link]
  • Why the Internet only just works. M Handley [link

Lecture 3

  • A Scalable, Commodity Data Center Network Architecture. Mohammad Al-Fares, et al. [link]

Lecture 4

  • Use of BGP for Routing in Large-Scale Data Centers. RFC 7938 [link]
  • The Road to SDN: An Intellectual History of Programmable Networks. N. Feamster, et al. [link]

Lecture 5 

  • P4: Programming Protocol-Independent Packet Processors. P. Bosshart, et al. [link

Lecture 6

  • [madatory] Safe and effective fine-grained TCP retransmissions for datacenter communication. [link]
  • [optional] Better never than late: meeting deadlines in datacenter networks. [link]
  • [optional] Deadline-aware datacenter TCP. [link]
  • [optional] Data Center TCP (DCTCP). [link]
  • [optional] Improving Data Center Performance and Robustness with Multipath TCP. [link]
  • [optional] Design, Implementation and Evaluation of Multipath TCP. [link]
  • [optional] Scaling Memcached at Facebook [link]

Lecture 7

  • Congestion Control for Large-Scale RDMA Deployments [link]
  • [optional] Supercomputer Interconnects [link]
  • [optional] Managing Data Transfers with Orchestra [link]

Lecture 8

  • Design Guidelines for High Performance RDMA Systems [link]
  • [optional] It's time for low latency [link]
  • [optional] TCP Offload is a dumb idea whose time has come [link]
  • [optional][ U-Net: A user-level networking interface for parallel and distributed computing [link]
  • [optional] OpenFabrics Software [link]

Lecture 9

  • I/O Virtualization [link]

Lecture 10

  • Achieving high utilization with software-driven WAN. C. Hong, et al. [link]

Lecture 11

  • VeriFlow: Verifying Network-Wide Invariants in Real Time. A. Khurshid, et al. [link]

Lecture 12

  • TCP ex Machina: Computer-Generated Congestion Control. K. Winstein and H. Balakrishnan. [link]

Lecture 13

  • Background on CDNs (Pages 6-25 only) [link]

Lecture 14

  • Open reading — read any one research paper from SIGCOMM, NSDI, CoNEXT!




  • The schedule for the first grading session is available [link] 11.05.2017.
    Date: Thu 11.05.2017.
    Place: ML E12 (exercise session room)
  • Assignment 7 points [link] (max points: 10)
  • Programing assignments - points [link] (max points 10 + 10)
    Programing assignment grades will be frozen by June 16; if you believe you have been graded incorrectly, please get in touch with the TAs well before that date.