CS 440 Advanced Networking — Fall 2024

News and InformationOverviewCalendarReading, Writing, PresentingProjects

ANNOUNCEMENTS

Remember to check this (and Canvas) regularly!

ADMINISTRATIVE INFORMATION

Fabián E. Bustamante
Seely Mudd, 3rd Floor
+1 847 491-2745
fabianb@cs…

LOCATION AND TIME

Lectures:Tuesdays and Thursdays 11:00-12:20PM | Parkes Hall 215
Professor Office Hours: by appointment

CATALOG DESCRIPTION

The Internet is a continuously evolving, loosely controlled, and highly uncooperative infrastructure of impressive scale and complexity. This seminar is intended to help you understand its evolving design, and some of the forces behind it, through active discussions and investigative projects on state-of-the-art networking research.

COURSE PREREQUISITES

The course assumes a basic understanding of topics in networking, such as packet-switching, routing, socket programming, and congestion control, as covered in CS 340 “Introduction to Computer Networking”

If you have taken a similar course somewhere else, please contact me.

Disability

In compliance with Section 504 of the 1973 Rehabilitation Act and the Americans with Disabilities Act, Northwestern University is committed to providing equal access to all programming. Students with disabilities seeking accommodations are encouraged to contact the office of Services for Students with Disabilities (SSD) at +1 847 467-5530 or ssd@northwestern.edu. SSD is located in the basement of Scott Hall. Additionally, I am available to discuss disability-related needs during office hours or by appointment.

Throughout the quarter you will be reading and discussing recent papers in computer networks while working on two research assignments. Class meetings will be focused on a range of topics, from Internet infrastructure to censorship and privacy, with two assigned readings – a recent publication and an important, background paper in the same space. For the research part of the course, you will gain experience with the research process by reproducing some prior work.

TOPICS

  • Network design principles
  • DNS and CDN
  • TCP and congestion control
  • Internet topology and routing
  • New Internet architectures
  • Software-defined networks
  • Cloud networking
  • New ISPs
  • Wireless and mobile networks
  • Privacy and censorship

COURSE ORGANIZATION

Most class meetings will be centered around one research topic. We will review background or motivating work during the first part of the class, and dedicate the second, and longest, part of the class to the presentation and discussion of a recent publication. You will be responsible for (one to two) conference-style papers presentations throughout the quarter.

What you get out of school depends on what you put on it, that is particularly true of seminars. You should read both background and research papers before coming to class and be prepared to discuss them. As a way of reading enforcer, before each class, you must submit a short critique of the required readings on Canvas (not the background paper).

Beyond reading, presentation, and paper discussions, you will work on two reproducibility assignments throughout the quarter. The first assignment is a small, warm-up project in which you will reproduce an experiment common to many research efforts. For the second assignment, you will work to reproduce a result from a published networking paper. What you get out of school depends on what you put on it, that is particularly true of seminars. You should read both background and research paper before coming to class and be prepared to discuss them. As a way of reading enforcer, before each class you must submit a short critique of the required readings on Canvas (not the background paper).

COMMUNICATION CHANNELS

There are a number of communication channels set up for this class:

  • We will use the course web site and Canvas to post announcements related to the course. You should check this regularly for schedule changes, clarifications and corrections to assignments, and other course-related announcements.
  • We will be using Piazza for all class discussion. The system is highly catered to getting you help fast and efficiently from classmates and the staff. Before emailing us, I encourage you to post your questions there.
  • There is always email for questions that would be inappropriate to post on the newsgroup/discussion-board. When using email to contact the staff please start your subject line with “Adv Net: helpful-comment” to ensure a prompt response.

GRADING

I use a criterion-referenced method to assign your grade; in other words, your grade will be based on how well you do relative to predetermined performance levels, instead of in comparison with the rest of the class.

Total scores (between 0 and 100) will be determined, roughly, as follows:

  • Paper critiques 15%
  • In-class participation 15%
  • Paper presentation 20%
  • Warm-up project 15%
  • Final project 35%
Week Date Topics and Reading Due
1
09/24 Course introduction | Reading papers and writing reviews
Presenter: Fabián
09/26 Network design and architecture Warm-up: Project proposal
2
10/01 The link layer Reproduction – Form a team
10/03 The link layer
3
10/08 The network layer
10/10 Lecture cancelled Warm-up: Final report | Reproduction – Paper selection/project proposal
4
10/15 The network layer
10/17 Reproducibility project proposal presentation
5
10/22 The network layer
10/24 Congestion control
6
10/29 Congestion control
10/31 Transport layer Reproduction – Midpoint report
7
11/05 Transport layer
11/07 DNS
8
11/12 Gaming
11/14 Video and QoE
9
11/19 Video traffic
11/21 Privacy and Censorship
10
11/26 Security Reproduction – Final report
11/28 Thanksgiving
10
12/03 Network design and architecture
12/05 Student presentations
Finals Week 12/6? Reproduction – Project Presentations

READING, WRITING AND PRESENTING PAPERS

READING AND ANSWERING QUESTIONS

We will be reading two or more papers per week. The papers will be first presented to the group by one or more students and then discussed in a round-table manner.

To ensure lively discussions, you will be responsible for reading the assigned papers before each class. As reading enforcer, you will write a short critique of the main assigned paper for each class. The introductory lecture and the associated material covers some useful material.

Today, many of the papers have a video of the author’s conference presentation. Take advantage of this and watch it before attempting to read the paper.

WRITING CRITIQUES

Before each class, you must submit a short critique of the required readings on Canvas (about 18 critiques). Critiques will be accepted until 11:59pm the night before class.

The critique should include a summary of the paper, as well as one to three sentences on the paper’s strengths and weaknesses. The remainder of your critique will focus on one or two key points such as: the paper impact on the field, open questions, missing experiments, relation to previous work, future directions, and ideas or thoughts it provoked. There are prompts on Canvas to help frame your critique. As you read the paper, keep in mind that it is always possible to find flaws in a paper, but it will be far more interesting and rewarding to focus on the paper’s strengths.

PRESENTING

Most class meetings will be centered around a paper presentation and discussion. Each student will be responsible for presenting one or two of the papers in the schedule (so, if you haven’t yet, please email me three ranked options).

Giving a good presentation is hard work. Please make sure to allocate enough time to prepare for yours.

There are some good pointers around that you may want to look at.

In general, your presentation should include the following key sections:

  • Introduction: Context and motivation for the work (why they did this?). Any background that you think the audience needs to understand the paper.
  • Methods: The methods that were used (how they did it?)
  • Results: The results obtained; the work main contributions (what did they find?)
  • Discussion: An interpretation of those results (what does this mean?)
  • Critique and class discussion: Your job as presenter is to not only present the paper, but to primarily lead class discussion of its strengths, weaknesses, and broader implications. To help focus the class discussion, end your presentation with a list of about three major questions/issues worthy of further discussion.

PROJECTS

There will be two reproducibility assignments you will work on throughout the quarter. The first assignment is a small, warm-up project in which you will reproduce an experiment common to many research efforts. For the second assignment you will work to reproduce a result from a published networking paper.

WARM-UP PROJECT

A Comparative Analysis of Government and Top-site Hosting Government The transition from on-premise servers to third-party infrastructure is a widespread trend across numerous sectors. For governments, this shift presents a particularly challenging dilemma. While third-party providers offer specialized content delivery solutions with benefits such as flexibility, scalability, and enhanced security, they also introduce several risks including multi-tenancy, centralization, and a lack of control over data placement.

For the first assignment, you are asked to select a country and compare the adoption of third-party providers between the country’s governments and regional popular sites. Your work you will reuse the methodology and some of the results of an upcoming paper from AquaLab (“Of Choices and Control – A Comparative Analysis of Government Hosting” to be presented at IMC 2024). You will use Google’s Chrome User Experience Report (CrUX) to compile a list of popular websites in the chosen country, use a VPN in the country and scrape resources one level beyond the landing pages. Leveraging the methodology described in the associated paper, you will determine the serving infrastructure and geolocation of the organizations responsible for the infrastructure serving these top sites and the fraction of non-government topsites that use either on-premise or third-party solutions to deliver content.

Your submission should include a description of your experimental setup, graphic representations of your results, and your key findings and observations, including you are asked to compare your findings with the reported hosting strategies for the country’s government sites.

REPRODUCTION PROJECT

For the second assignment you will work as part of a small team to reproduce results from a published paper.

Reproducing research results from a paper will let you gain a detailed, in-depth understanding of an important paper, the research area and underlying concepts, and its key results. It will let you concentrate your energy on the most rewarding part of the research effort, building a prototype or experimental framework and carrying out the experiments, knowing that the problem you are tackling is interesting and can “deliver”.

You will start by selecting a paper, either a classic or a recent one, you are interested in learning more about. We will provide you with a list of conferences and research papers, as examples, you may want to consider for this as well.

After choosing a paper and sketching the idea of your project (what part of the work you want to reproduce and how you may go about it), you may want to contact the original authors, informing them of your intended project and asking for advise and suggestions. We will be happy to help you with this.

As you work through the quarter, you will meet with the staff once a week, to check-in and discuss progress. The final delivery will include a short presentation the class, with the main highlights of the paper and your reproducibility effort, and potentially a public blog post.

This is borrowed from an excellent course initially started by Nick McKeown at Stanford U. You can look at some recent work done in the Stanford class to get an idea of how these projects look like.

DELIVERABLES AND TIMELINES

The deliverables for both assignment will be done via Canvas. For the Warm-Up Assignment, you will submit your proposed experiment during the first week and a final report at the end of the third-week of classes.

For the Reproducibility Assignment, the blogpost and short presentation to the class should cover the main highlights of the paper and your reproducibility effort, including answers to the following questions: Where you able to recreate the experiment? How do your result compare with those of the original paper? Can you explain the discrepancies? If you could not reproduce the work, what was the main challenge you face?

This is the schedule of meetings and deliverables (this is mainly to ensure steady progress):

  • Warm-up – Proposed experiment: Week 1
  • Warm-up – Final report: Week 3
  • Reproduction – Form a team: Week 2
  • Reproduction – Paper selection/project proposal: Week 3
  • Reproduction – Midpoint report: Week 6
  • Reproduction – Final report: Week 9
  • Reproduction – Project presentation: Finals