Network Diagram

Course Information

CS 4516: Advanced Computer Networks
Time: D-Term 2022, Mondays and Thursdays, 11:00am to 12:50pm
Location: Fuller Labs, Perreault Hall - Lower Section

Course Catalog Description

This course provides an in-depth look into computer networks. While repeating some of the areas from CS 3516, the goal is to go deeper into computer networks topics. This in-depth treatment in topics such as routing, congestion control, wireless layer protocols and physical signaling considerations will require the use of basic queuing theory and probability to provide a more formal treatment of computer networks performance. Other topics covered include: LAN and WLAN technologies, mobile wireless networks, sensor networks, optical networks, network security, intrusion detection and network management. Students will be expected to do more sophisticated network programming than seen in CS 3516 and will conduct laboratory activities involving measuring the performance of modern networking applications running on both wired networks and infrastructure wireless networks. Undergraduate credit may not be earned both for this course and for CS 513. Recommended background: CS 3013, CS 3516, and knowledge of probability. The course assumes a familiarity with operating systems including Unix or Linux, and significant experience with C/C++. This course will be offered in 2016-17, and in alternating years thereafter.

Recommended Background and Resources

This course will require students to have a background equivalent to having taken CS 3516 and a couple courses involving C/C++ programming. Students without this background are strongly encouraged to contact the course instructor.

Students without a laptop computer may find themselves at a disadvantage in the course. Ideally, students should have a laptop capable of hosting one or more virtual machines and with an integrated or external Ethernet interface.

Teaching Staff

Course Instructor: Craig Shue
Email: please post via the class discussion board
Office: Zoom (use the "Zoom Link" option under the "Lessons" menu in InstructAssist)
Office Hours: Mondays, 9am-10am and Thursdays, 3pm-4pm

Teaching Assistant: Shuwen Liu
Office: Zoom (use the "Zoom Link" option under the "Lessons" menu in InstructAssist)
Office Hours: Tuesdays and Thursdays, 9am-11am

Lecture Schedule and Readings

This course will not use a textbook and will instead use research papers and other publicly available sources for assigned readings. Please note that research papers tend to be formatted densely and may take longer to read. Students without a prior background in networking may have substantial difficulties with the readings.

Students may obtain a copy of the papers assigned for this course via a posted compressed file archive or through the WPI library.

ClassDateRequired ReadingDescription
1Monday, Mar. 14, 2022Clark (10 pages)Class: Objectives, Overview, Course Project, The Design of the Internet
2Thursday, Mar. 17, 2022Clark (10 pages)Class: The Design of the Internet
3Monday, Mar. 21, 2022Hinden (11 pages)Class: IPv6 Transition
 Monday, Mar. 21, 2022Due: Project - Part 1
4Thursday, Mar. 24, 2022McKeown et al. (6 pages)Class: Software-Defined Networking
5Monday, Mar. 28, 2022Shue et al. (7 pages)Class: DNS Capabilities
6Thursday, Mar. 31, 2022Francis et al. (12 pages)Class: Internet Architecture: IPNL
7Monday, Apr. 4, 2022Yu et al. (6 pages)Class: Virtual LANs and Deployment
 Monday, Apr. 4, 2022Due: Project - Part 2
8Thursday, Apr. 7, 2022Stoica et al. (12 pages)Class: Peer-to-Peer and Distributed Hash Tables
9Monday, Apr. 11, 2022Kent et al. (11 pages)Class: Interdomain Routing
10Thursday, Apr. 14, 2022Spring et al. (13 pages)Class: Measuring ISP Topologies
 Monday, Apr. 18, 2022Due: Project - Part 3
11Thursday, Apr. 21, 2022Shue et al. (9 pages)Class: Networked Host Geolocation
12Monday, Apr. 25, 2022Greenberg et al. (6 pages)Class: Data Center Networking
13Thursday, Apr. 28, 2022Floyd et al. (22 pages)Class: Congestion Control at Routers
14Monday, May 2, 2022Xiao et al. (6 pages)Class: MPLS, Traffic Engineering
 Monday, May 2, 2022Due: Project - Part 4

Course Policies and Procedures

The following represent the official policies and procedures for the course. Please review this information and discuss any questions with the professor as soon as possible.

Textbooks

Required: None.

Optional:

InstructAssist

The university-wide myWPI system is insufficient for the course's needs. Instead, we will be using InstructAssist, a custom-built course management tool created by the instructor. This system will be used for posting grades, submitting projects, obtaining slides, scheduling project demonstrations, and posting partner evaluations. It is available at https://ia.wpi.edu/cs4516/. InstructAssist uses a WPI SSL certificate for authenticity and encryption to protect student records.

Official Communication

Class discussion, class hand-outs, posts on the class forum, emails to the student's WPI email account, and the course Web pages are avenues for official course communication. Students are responsible for any information distributed through any of these venues.

Class Email and Forum

Students must check their WPI email daily. The instructor and TAs will use email to send urgent information to the class. Classmates collaborating on teams may also use email to coordinate efforts, so checking email periodically will be essential for timely responses.

Students should post all questions about the course on the class discussion board. The teaching staff will use the discussion board to keep track of assistance requests. Further, posts on the discussion board will be available to all students by default, allowing everyone to learn from these questions.

By default, all students will be subscribed to receive email copies of the classwide announcements sent by the teaching staff. Students may unsubscribe from non-urgent postings by adjusting their profile settings. Students are responsible for all announcements, even if they elect not to receive email copies.

If a question is of a more personal or private nature, students can choose to create a new discussion topic and select the "Visible by Invitation Only" topic privacy option. Any communication in that topic will be visible only to the Instructor, the TAs, the student creating the topic, and any individuals the student explicitly invites to the topic. This approach will allow students to have a private discussion with the staff while still allowing the staff to keep track of unresolved issues and address them in a timely fashion.

Course Grading

The course projects and in-class quizzes form the basis for 90% of the course grade. The remaining 10% of the course grade will be attributed to in class participation and professionalism associated with the course. Details on each of these components are as follows:

Course Term Project

The course will have a single term project which is composed of multiple phases and deliverables that build on each other. As in professional practice, students should take care to create a stable foundation for the project early in the term. Solutions to early phases will not be provided and students will not be allowed to adopt another team's code base to address failures in their own.

The term project will require students to demonstrate mastery of several computer networking facets. All projects must include a significant programming component. Projects that simply combine existing tools in novel ways will not be considered acceptable for credit.

Course Participation and Professionalism

During lectures, students are to be focused on the course. Students should not use materials or electronic devices that would inhibit their attention to the course lecture and discussion. Laptops may only be used for note-taking or quiz-taking purposes; transmission capabilities on these devices must be disabled when taking notes and only an appropriate note-taking application may be used in class. Mobile devices, such as phones or PDAs, are not to be used in class. Significant penalities may be assessed for repeated infractions.

Students must treat each other and the teaching staff with respect at all times. Disagreement, debates, and criticism of ideas are healthy aspects of academic environments; however, students should avoid demeaning language or comments which can be taken personally. The ability to handle conflict professionally and work with a variety of people is an acquired skill, yet is increasingly important in technical careers.

Late Submission

Deliverables for the course project may be submitted late, but with a 10% penalty for each day the assignment is late (with the first day starting at 1 second late). However, no submissions will be graded if they are supplied after 4pm on May 2, 2022.

Student Accessibility Services

Students with approved academic accommodations should plan to submit their accommodation letters through the Office of Accessibility Services Student Portal. Should you have any questions about how accommodations can be implemented in this particular course, please contact me as soon as possible. Students who are not currently registered with the Office of Accessibility Services (OAS) but who would like to find out more information regarding requesting accommodations and what that entails should plan to contact them via email: AccessibilityServices@wpi.edu and/or via phone: (508) 831-4908.

Academic Integrity

The WPI Academic Integrity Policy describes types of academic dishonesty and requirements in documentation. In the case of academic dishonesty, I am required to report the incident to the Dean of Student Affairs. Further, my penalty for academic dishonesty is to assign a NR grade for the course.

In this class, students may not look at any previous versions of a course assignment or project, regardless of how it is posted. If a student accidentally discovers such a posting, they must report it to the instructor immediately, avoid the resource in the future, and delete any copies that are cached on their computer.

Students are likewise forbidden from facilitating other students, current or future, in plaigarism or cheating. Students may not distribute their code publicly on the Internet, or in other means, during the term or even after the class has concluded. Students may share their code with potential employers or other individuals privately, so long as the code would not become available to other WPI students.