- Lectures:
- Mon 12:30pm – 2:15pm, Basic Med Sci Building G18
- Tue 4:30pm – 5:15pm, MMW LT1
- ESTR4120: Tue 5:30pm - 6:15pm, MMW LT1
- Tutorials:
- Thu 8:30am – 9:15am, MMW LT2
- Thu 12:30pm – 1:15pm, Basic Med Sci Building G18
Member | Role | Office Hours |
---|---|---|
Xu, Hong (Henry) | Prof | Mon 3-5 pm, SHB 914. By appointments only. |
Song, Qingyu | Head TA | Wed 9:30-11:30 am, SHB 117. |
Zhang, Jingze | TA | Tue 2:30-4:30 pm, SHB 117. |
Ding, Wenlong | TA | Wed 1:30 - 3:30 pm, SHB 117. |
The Piazza page for this course is here. All communication about this course is done over Piazza. This includes questions, discussions, announcements, as well as private messages. The self-signup code is "4430 rocks!".
CSCI 4430 takes a top-down approach to explore how networks operate and how network applications work. We study how popular distributed systems such as video streaming, content distribution networks (CDNs), and cloud computing systems work in the application layer. We explore how these applications transfer data between their components and end users over the Internet using transport layer protocols such as TCP and UDP. We go deeper to understand what keeps the transport layer running; specifically, we look at how packets are routed and how routers work. Finally, we dive one more layer down to understand how the link layer transfer packets using Ethernet. In addition to cutting through the layers and covering the basics, we learn about the state-of-the-art topics in networking such as datacenter networks, software-defined networking (SDN), and (time permits) programmable networks.
From a practical point of view, we learn what sockets are and how to use them. And we write code. We write code to implement various protocols, to build client-server applications, video streaming applications, and transport protocols.
The course materials are based upon the following classic textbook of Kurose and Ross. In addition, many materials are also borrowed heavily from Mosharaf Chowdhury's computer networks course with his permission. Credit is given whenever possible to Mosharaf and a lot of other folks, especially for the ESTR lecture notes.
- Computer Networking: A Top-Down Approach, 7th. (or earlier editions), by Jim Kurose and Keith Ross, 2016. ISBN 978-0133594140.
You may also want to check out this online book:
- Computer Networks: A Systems Approach, by Larry Peterson and Bruce Davie.
Assessment item | CSCI Weight | ESTR Weight |
---|---|---|
Assignments | 55% | 55% |
Tutorial Quizzes* | 5% | 0% |
Final Exam | 40% | 40% |
Project | 0% | 5% |
*: To encourage tutorial participation, quiz will be conducted at the tutorials randomly. We will randomly pick 5 tutorials and perform a quiz at the end of the tutorial. Each quiz is worth one mark.
ESTR 4120 follows the same format as CSCI 4430, but with an additional project to be presented in the second half of the semester. The exams and quizzes will be the same as CSCI 4430.
Projects details will be announced in a later time can be found on this page.
Week | Date | Topic(s) | ESTR Topic |
Optional Readings from Textbook |
---|---|---|---|---|
1 | Jan 9-10 | Intro and Overview | Internet | 1.1, 1.3, 1.4 |
2 | Jan 16-17 | Layering; Sockets and HTTP |
HTTP, HTTPS, P2P | 1.5, 2.2, 2.4 |
3 | Jan 30-31 | CDN, DNS | CDN, Anycast | 2.2, 2.4 |
4 | Feb 6-7 | Video, cloud & datacenters, Transport layer |
ABR I, ABR II | 2.6, 3.1, 3.2, 3.3, 3.4 |
5 | Feb 13-14 | Transport layer | RDMA | 3.1, 3.2, 3.3, 3.4 |
6 | Feb 20-21 | TCP basics, Congestion control |
RPC | 3.5, 3.6 |
7 | Feb 27-28 | Congestion control, More on CC | DCTCP | 3.5, 3.6 |
8 | Mar 13-14 | More on CC, Network layer and IP |
NAT, Tunneling | 3.7; 4.1, 4.3.1, 4.3.2, 4.3.5 |
9 | Mar 20-21 | Network layer: IP routers | NFV | 4.2 |
10 | Mar 27-28 | Routing fundamentals, Intra-domain routing |
Security | 5.1, 5.2, 5.3 |
11 | Apr 3, 11 | Inter-domain routing, SDN |
Project presentations | 4.3.3, 5.4 |
12 | Apr 17, 18 | Link layer, Final exam |
Project presentations | 6.1, 6.3, 6.4 |
Course review |
Week | Date | Topic | Assignment | Due |
---|---|---|---|---|
1 | No tutorial | |||
2 | Jan 19 | Socket programming | Assignment 1 | 11:59:59 p.m., Mon, Feb. 13th |
3 | Feb 2 | Performance metrics | ||
4 | Feb 9 | HTTP | ||
5 | Feb 16 | Select programming | Assignment 2 | 11:59:59 p.m., Fri, Mar. 17th |
6 | Feb 23 | HTTP Streaming and TCP | ||
7 | Mar 2 | HTTP Proxy and TCP | ||
8 | Mar 16 | TCP Congestion Control | ||
9 | Mar 23 | UDP Socket programming | Assignment 3 | 11:59:59 p.m., Fir, Apr. 21st |
10 | Mar 30 | WTP Introduction | ||
11 | No tutorial | |||
12 | Apr 13 | IP and Network | ||
13 | Apr 20 | Routing |
- Homework and project:
- No late submission.
- Grace tokens: You have 2 grace tokens, each can be used to give you a 24-hr extension on one assignment. You can apply at most 1 grace token on each assignment at your own discretion. This gives you some flexibility to cope with your own schedule.
- According to the University’s regulation, every assignment must be accompanied by a signed declaration of originality; submissions without it will receive zero mark.
- The declaration form is available here.
- Lecture and tutorial:
- Be on time. Set your mobile device to vibration/silient mode.
- Feel free to ask questions and raise comments during the lecture, but we can only entertain short questions and discussions in-class.
- Longer and deeper discussion and questions can happen in tutorials.
- Follow University's regulations on COVID, including use of masks, hand sanitization, seating with social distance, etc.