CS3611 (Spring 2023): Computer Networks


Course Description:

This course will introduce students to the key concepts underlying wired and wireless networking with a focus on the discussion of the layered architecture of the network protocol. A variety of case studies will be drawn from the Internet, combined with several practical programming exercises. At the end of the semester, students are expected to understand, several concepts, including the Internet architecture, HTTP, DNS, P2P, Sockets, TCP/IP, BGP, Routing protocols, wireless and sensor networking, WiFi, cellular and satellite networks, security, etc., with the ability to analyze and design protocols and algorithms in networking systems.



Lecture Time: Monday, 12:55-15:40 (Week 1-16)

Location: 上院 115

Instructor: Haiming Jin (jinhaiming@sjtu.edu.cn)

Office Hours: By appointment.

Course TA:
  • Rong Ding (dingrong@sjtu.edu.cn)
  • Xiaocheng Wang (curryjam_cg@sjtu.edu.cn)
  • Yichen Zhu (zyc_ieee@sjtu.edu.cn)
  • Office Hours: Wednesday, 7:00-8:00 PM, at Software Building No. 1, Room 1319.
Textbook: References:
  • Andrew S. Tanenbaum, “Computer Networks”, Prentice Hall.
  • Larry L. Peterson and Bruce S. Davie, “Computer Networks: A Systems Approach”, Morgan Kaufmann.
  • Douglas E. Comer, “Computer Networks and Internets”, Prentice Hall.
  • William Stallings, “Data and Computer Communication”, Prentice Hall.
Final Exam:
  • Time: 15:40-17:40, June 5, 2023.
  • Location: 东下院203, 东下院204, 东下院205.
  • Requirements: Closed book with one-page (front and back) cheat sheet in A4 paper. Your answers could be either in Chinese or English.
  • Office Hour: May 31, 6:30-8:00 PM, at Software Building No. 1, Room 1319.
  • TA Office Hour: June 2, 4:00-6:00 PM, online (Tencent Meeting: 100-498-614). TA only answers questions about homeworks.
  • Candidate Topics: topics.
  • Question formats: The final exam has 26 multiple-choice questions with each of them worth 2 points. There may be more than one correct choice for each question. Please select all choices that apply. You will only get the score, if you select exactly the correct choices. Apart from the multiple-choice questions, the final exam has 9 calculation questions, which only involve minor calculation load.
  • Review guidlines: Please pay attention to our slides and homework questions.


Grading (tentative):
  • Homework and quizzes: 40%.
  • Lab assignments: 30%.
  • Final exam: 30% (The final exam covers all materials taught over the semester).

Note: This schedule is tentative and subject to change over time due to unforeseen events. Please check it regularly.

# Date Topics Slides & Notes
1 Feb. 13 Course Logistics, Course Overview
Introduction:
What’s Computer Network?
Slides: [chap0-overview.pdf], [chap1-introduction-1-updated.pdf]
Reading: Kurose&Ross (Chapter 1), Tanenbaum (Chapter 1)
2 Feb. 20 Introduction:
Protocol layers
Service models
Network edge
Access net
Slides: [chap1-introduction-2.pdf]
Reading: Kurose&Ross (Chapter 1), Tanenbaum (Chapter 1), materials for queueing delay
3 Feb. 27 Introduction:
Network core
Delay, loss, throughput
Application Layer:
Principles
Slides: [chap2-application layer-1.pdf]
Reading: Kurose&Ross (Chapter 2)
4 March 6 Application Layer:
Web and HTTP
FTP
Electronic mail
Slides: [chap2-application layer-2-updated.pdf]
Reading: Kurose&Ross (Chapter 2)
5 March 13 Application Layer:
DNS
Transport Layer:
Transport-layer services
Multiplexing and demultiplexing
UDP
Slides: [chap3-transport layer-1.pdf], [checksum.pptx]
Reading: Kurose&Ross (Chapter 2), Kurose&Ross (Chapter 3)
6 March 20 Transport Layer:
Reliable data transfer
Slides: [chap3-transport layer-2-updated.pdf]
Reading: Kurose&Ross (Chapter 3)
7 March 27 Transport Layer:
TCP
Slides: [chap3-transport layer-3.pdf]
Reading: Kurose&Ross (Chapter 3)
8 April 3 Transport Layer:
TCP
Slides: Same as above.
Reading: Kurose&Ross (Chapter 3)
9 April 10 Network Layer (Data Plane):
Overview of network layer
What’s inside a router
Slides: [chap4-network layer-data plane-1.pdf],[chap4-network layer-data plane-2.pdf]
Reading: Kurose&Ross (Chapter 4)
10 April 17 Network Layer (Data Plane):
IP
Network Layer (Control Plane):
Routing protocols
Slides: [chap5-network layer-control plane.pdf]
Reading: Kurose&Ross (Chapter 5)
11 April 24 Network Layer (Control Plane):
Routing protocols
Intra-AS routing
Inter-AS routing
Slides: Same as above.
Reading: Kurose&Ross (Chapter 5), Lecture 18 (Policy Routing) of EECS489, UMICH, Policy Routing Paper
12 May 6 Network Layer (Control Plane):
ICMP
Network management
Link Layer:
Introduction
Error detection, correction
Slides: [chap6-link layer-1-updated.pdf]
Reading: Kurose&Ross (Chapter 5), Kurose&Ross (Chapter 6)
13 May 8 Link Layer:
Multiple access protocols
Slides: Same as above.
Reading: Kurose&Ross (Chapter 6)
14 May 15 Link Layer:
LAN
Slides: [chap6-link layer-2.pdf]
Reading: Kurose&Ross (Chapter 6)
15 May 22 Mobile and Wireless Networks:
Wireless links, characteristics
IEEE 802.11 wireless LANs
Cellular internet access
Addressing and routing to mobile users
Slides: [chap7-wireless and mobile networks.pdf]
Reading: Kurose&Ross (Chapter 7)
16 May 29 Mobile and Wireless Networks:
Addressing and routing to mobile users
Final Review
Wireless Sensing
Slides: [final review.pdf]
Reading: Kurose&Ross (Chapter 7), FMCW mmWave Radar Tutorial

In this semester, we will have a series of homeworks, which will help you better understand the concepts and protocols discussed during the lectures.

Instructions:
  • You are expected to carry out the homeworks by yourself.
  • For each homework, you are expected to submit a pdf file containing your answers to all questions via Canvas.
  • Your answer file should be written in English, otherwise it will not be graded.
  • Your answer file should be named as "StudentName_StudentID_HomeworkIndex.pdf". For example, HaimingJin_5080309195_Homework1.pdf for Homework 1.
Assignments:

In this semester, you are expected to carry out several lab assignments to obtain hands-on experience on computer networks. Specifically, the labs will offer you the opportunity to getting familiar with Wireshark, Mininet, socket programming, NFS, gRPC, etc.

Instructions:
  • You are expected to carry out the labs by yourself.
  • You will not need to go to an actual lab room for the labs, as they could be finished using your own PCs.
  • For each lab, you are expected to submit a report and the corresponding code via Canvas.
  • Your report should be a pdf file written in English, otherwise it will not be graded.
  • Your report should be named as "StudentName_StudentID_LabIndex.pdf". For example, HaimingJin_5080309195_Lab1.pdf for Lab 1. If there are multiple files (e.g., report and code) to be submitted for the same lab, please put all your files in a .zip file named as "StudentName_StudentID_LabIndex.zip".
  • Each lab assignment normally contains a tutorial and several questions. The tutorial will instruct you to set up the basic environment and install the tools necessary for the lab. In your report for each lab, you are expected to provide answers to all questions by using the installed tools or writing additional codes as required.
Assignments:
  • Lab 1: Set Up Environment and Test Basic Softwares
  • Lab 2: Play with Mininet