CS3611 (Spring 2022): 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: 下院 207
Online Lecture Information: From March 14th, our lectures will be online until the recent covid outbreak is over. Our online lectures will be held via Tencent meeting with
- Meeting ID: 970742634;
- Password: 3612.
Instructor: Haiming Jin (jinhaiming@sjtu.edu.cn)
Office Hours: By appointment.
Course TA:
- Rong Ding (dingrong@sjtu.edu.cn)
- Yongkui Zhang (zykk-2333@sjtu.edu.cn)
- Office Hours: Wednesday, 7:00-8:00 PM, at SEIEE Building 1-441.
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:
Answer Sheet: 上海交通大学课程考试答题纸(含诚信承诺书和草稿纸)
Rehearsal Exam: June 10th, 2022, 19:30-20:30. Tencent meeting ID: 776-349-130. All students should attend.
TA Office Hour: June 10th, 2022, 20:30-22:30. Tencent meeting ID: 776-349-130. TA only answers questions about homeworks.
Instructor Office Hour: June 11th, 2022, 15:00-17:00. Tencent meeting ID: 794-940-025.
Candidate Topics: topics.
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. 14 |
Course Logistics, Course Overview
Introduction:
What’s Computer Network?
|
Slides: [chap0-overview.pdf],
[chap1-introduction-1.pdf]
Reading:
Kurose&Ross (Chapter 1), Tanenbaum (Chapter 1)
|
2 |
Feb. 21 |
Introduction:
Protocol layers
Service models
Network edge
Access net
|
Slides:
[chap1-introduction-2.pdf]
Reading:
Kurose&Ross (Chapter 1), Tanenbaum (Chapter 1)
|
3 |
Feb. 28 |
Introduction:
Network core
Delay, loss, throughput
Application Layer:
Principles
Web and HTTP
|
Slides:
[chap2-application layer-1.pdf]
Reading:
Kurose&Ross (Chapter 2),
materials for queueing delay
|
4 |
March 7 |
Application Layer:
FTP
Electronic Mail
|
Slides:
[chap2-application layer-2.pdf]
Reading:
Kurose&Ross (Chapter 2)
|
5 |
March 14 |
Application Layer:
DNS
Socket Programming
Transport Layer:
Transport-layer services
Multiplexing and demultiplexing
UDP
|
Slides:
[chap3-transport layer-1.pdf]
Reading:
Kurose&Ross (Chapter 3)
|
6 |
March 21 |
Transport Layer:
Principles of reliable data transfer
|
Slides:
[chap3-transport layer-2.pdf], [Checksum]
Reading:
Kurose&Ross (Chapter 3)
|
7 |
March 28 |
Transport Layer:
TCP
|
Slides:
[chap3-transport layer-3-updated.pdf]
Reading:
Kurose&Ross (Chapter 3)
|
8 |
April 2 |
Transport Layer:
TCP
|
Slides:
The same as above.
Reading:
Kurose&Ross (Chapter 3)
|
9 |
April 11 |
Network Layer (Data Plane):
Overview of network layer
|
Slides:
[chap4-network layer-data plane-1.pdf]
Reading:
Kurose&Ross (Chapter 4)
|
10 |
April 18 |
Network Layer (Data Plane):
What’s inside a router
IP
|
Slides:
[chap4-network layer-data plane-2.pdf]
Reading:
Kurose&Ross (Chapter 4)
|
11 |
April 25 |
Network Layer (Control Plane):
Routing Protocols
Intra-AS Routing
|
Slides:
[chap5-network layer-control plane.pdf]
Reading:
Kurose&Ross (Chapter 5)
|
12 |
May 7 |
Network Layer (Control Plane):
Inter-AS Routing
ICMP
Network Management
|
Slides:
The same as above.
Reading:
Kurose&Ross (Chapter 5)
|
13 |
May 9 |
Link Layer:
Introduction, services
Error detection, correction
|
Slides:
[chap6-link layer-1.pdf]
Reading:
Kurose&Ross (Chapter 6)
|
14 |
May 16 |
Link Layer:
Multiple access protocols
|
Slides:
Same as above.
Reading:
Kurose&Ross (Chapter 6), [CSMA-CA.ppt]
|
15 |
May 23 |
Link Layer:
LANs
Data Center Networking
|
Slides:
[chap6-link layer-2.pdf]
Reading:
Kurose&Ross (Chapter 6)
|
16 |
May 30 |
Mobile and Wireless Networks
Elements of a wireless network
Wireless links, characteristics
IEEE 802.11 wireless LANs
Cellular networks
Final Review
|
Slides:
[chap7-wireless and mobile networks.pdf], [final review.pdf], [web request.ppt]
Reading:
Kurose&Ross (Chapter 7)
|
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:
- Homework 1: Questions-Updated, Solutions-Updated. (Due: 03/13/2022, 11:59 PM).
- Homework 2: Questions, Solutions. (Due: 04/09/2022, 11:59 PM).
- Homework 3: Questions, Solutions. (Due: 04/20/2022, 11:59 PM).
- Homework 4: Questions-Updated , Solutions. (Due: 05/18/2022, 11:59 PM).
- Homework 5: Questions , Solutions. (Due: 05/31/2022, 11:59 PM).
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 3: Socket Programming
- Lab 4: Overlay Network and VXLAN
|