Overview and Goals:

This is an undergrad/graduate level course in computer networking. The emphasis will be on the basic performance and engineering tradeoffs in the design and implementation of computer networks, with a focus on the Internet. The second half of the course includes several classic and recent research papers, which cover some important problems in networking.

The goal is for students to learn not only how the Internet works  today, but also the rationale behind its design and how it is likely to evolve in the future. The class includes multiple hands-on programming assignments/written assignments and an open ended project. 

Topics to be covered include: networked applications (e.g., web, p2p), reliability, congestion and flow control, routing, addressing, naming, wireless, and new Internet architectures.

 

Course Logistics and Policies

Staff:

Fahad Dogar, Instructor (fahad@cs.tufts.edu)

TAs: TBD

 

Reference Book: Computer Networking: A Top Down Approach by Kurose and Ross (6th or more recent edition) 

 

Grade Distribution (tentative): Roughly divided between exams (40%), assignments/projects (40%) and class participation (20%). 

 

 

STUDENT ACCESSIBILITY SERVICES (SAS)

If you have a disability that requires reasonable accommodations, please contact the Student Accessibility Services office at Accessibility@tufts.edu or 617-627-4539 to make an appointment with an SAS representative to determine appropriate accommodations. Please be aware that accommodations cannot be enacted retroactively, making timeliness a critical aspect for their provision.

 

Schedule (From Spring 2020 - will be updated for the current offering)

 

 

 

Tentative Schedule with relevant reference readings from the book (Kurose and Ross, 6th edition)

 

1/15 - Introduction (Chapter 1.1, 1.2, 1.3)

1/22 - Introduction (Chapter 1.4 and 1.5) 

1/27 - Applications - Overview and Socket API (Chapter 2.1 and 2.7). Also see the following slides from CMU.  -- Assignment 1 Out

1/29 - Applications - Web (Chapter 2.2)

2/3 - Applications - DNS (Chapter 2.4)  

2/5 - Applications - P2P (Chapter 2.6)

2/10-- Exam 1

2/12 - Transport - Reliability (Chapter 3.4) 

2/19 - Transport -- Overview + UDP (Chapter 3.1, 3.2, and 3.3) 

2/20  - Transport - TCP (Chapter 3.5) 

2/24 - Transport - Congestion Control (Chapter 3.6 and 3.7) -- 

2/26 - Network Layer - IP (Chapter 4.1, 4.2, 4.3, 4.4)  

3/2 - Routing - BGP (Chapter 4.6) and OSPF (Chapter 4.5) 

3/4 -   Link Layer (Chapter 5.1, 5.2, 5.3, 5.4)

3/9 -  Exam 2

3/11 - PHY + wireless (Chapter 6.1 and 6.3 + slides from CMU for PHY layer discussion: http://www.cs.cmu.edu/~dga/15-441/F08/lectures/05-physical.pdf

Spring Break

3/23-  Security (Chapter 8.1, 8.2, 8.6) 

3/25 - Advance Topics: Modern web (HTTP 2.0, QUIC, CDN) + SDN

3/30 - Advance Topics: Modern web (HTTP 2.0, QUIC, CDN) + SDN

 

 

Research papers to follow..

How to read a paper? 

4/6 -  Improving Battery life (Catnap). Paper

4/8 - Making the most of the broadcast nature of wireless (Network Coding). Paper.  

4/13  -  DoS/DDoS -- Paper1: ddospaper.pdfPaper 2

4/15 - TCP in the modern world. Paper.  

4/22 -  TCP inside data centers. DCTCP. Paper.

4/27 - Future Internet Architecture. Paper -- 

Later

4/29 - Class Time: Final Project Demos/Presentations

5/4 (3:30pm): Final Exam