Network Diagram

Course Information

CS 4516: Advanced Computer Networks
Time: D-Term 2016, Mondays and Thursdays, 1:00pm to 2:50pm
Location: Kaven Hall 116

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 2013-14 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: Fuller Labs 236
Office Hours: Tuesdays, 10am-11am; Fridays, 9am-10am
     Exceptions:
          Friday, March 17: Office hours will be 3pm-4pm instead of 9am-10am.
          Tuesday, March 21: Office hours will be 2pm-3pm instead of 10am-11am.

Teaching Assistant: Daniel Moghimi
Office: Fuller Zoo Lab or Fuller Labs A22 (check both locations)
Office Hours: Tuesdays, 2pm-5pm; Thursdays, 9am-12:00pm

Teaching Assistant: Oleksandr Narykov
Office: Fuller Zoo Lab or Fuller Labs A22 (check both locations)
Office Hours: Mondays, 3pm-6pm; Wednesdays, 10am-1:00pm

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. 13, 2017Clark (10 pages)Class: Objectives, Overview, Course Project, The Design of the Internet
2Thursday, Mar. 16, 2017Clark (10 pages)Class: The Design of the Internet
3Monday, Mar. 20, 2017Hinden (11 pages)Class: IPv6 Transition
 Monday, Mar. 20, 2017Due: Project: Phase 1
4Thursday, Mar. 23, 2017McKeown et al. (6 pages)Class: Software-Defined Networking
5Monday, Mar. 27, 2017Shue et al. (7 pages)Class: Network Capabilities
6Thursday, Mar. 30, 2017Francis et al. (12 pages)Class: Internet Architecture: IPNL
 Saturday, Apr. 1, 2017Due: Project: Phase 2
7Monday, Apr. 3, 2017Yu et al. (6 pages)Class: Virtual LANs and Deployment
8Thursday, Apr. 6, 2017Stoica et al. (12 pages)Class: Guest Lecture: Peer-to-Peer and Distributed Hash Tables
9Monday, Apr. 10, 2017Kent et al. (11 pages)Class: Interdomain Routing
 Wednesday, Apr. 12, 2017Due: Project: Phase 3
10Thursday, Apr. 13, 2017Spring et al. (13 pages)Class: Measuring ISP Topologies
11Tuesday, Apr. 18, 2017*Shue et al. (9 pages)Class: Networked Host Geolocation
12Monday, Apr. 24, 2017Greenberg et al. (6 pages)Class: Data Center Networking
13Thursday, Apr. 27, 2017Floyd et al. (22 pages)Class: Congestion Control at Routers
 Sunday, Apr. 30, 2017Due: Project: Phase 4
14Monday, May 1, 2017Xiao et al. (6 pages)Class: MPLS, Traffic Engineering

* Note: The WPI undergraduate calendar treats Tuesday, Apr. 18, 2017 as a Thursday.

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:

  • Quizzes (45%): There will be a 10-15 minute quiz at the beginning of each class (except for the first day). The two lowest quiz scores will automatically be dropped, allowing for absences (including internship interviews, travel for WPI events or sports, or similarly legitimate purposes), illnesses, or simply "bad days." The quizes will be short, typically only four questions long. The first three questions will cover material from reading due before class and will be more factual (and simplistic) in nature. The fourth question will be more application-oriented, requiring students to apply concepts from prior class discussions to new challenges. Students may not access reference materials, the Internet, or communicate with others during the quiz, electronically or otherwise, during the quiz period, even after a student has completed his or her own quiz. Students may not use a phone or other handheld electronic devices at any point during the quiz.
     
  • Projects (45%): The course will have a multi-part course project divided by phases. These phases may not have equal weight, but combined will represent a significant portion of the course grade.
     
  • Participation and Professionalism (10%): Students are expected to be engage in class discussion, answer questions from the instructor, and ask questions when needed. Students must regularly attend classes and scheduled meetings with the teaching staff. Disregard for course policies or unprofessional conduct with other students or the teaching staff will be penalized. This grading component is a signed value, allowing students to earn a negative score for abusive behavior.

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.

As part of the course project, students will connect to an isolated network in the the Fuller Zoo Lab via Ethernet. Students will be expected to run a virtual machine (VM) locally that connects to a series of remote systems in that network. Students without laptops capable of supporting such efforts may need to contact the ATC to borrow a laptop for the projects.

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.

Status Reports

On Fridays each week, each student team is expected to post a status report in the class discussion board. The post should be made as a new topic with the subject line: "Team [TEAM_NUMBER]: Status Report [REPORT_NUMBER]". The teaching staff may reply to the group with feedback on the status report. Teams may post publicly, allowing other students to view the post to compare progress, or may post privately to the teaching staff. The status report should indicate whether all members of the group are contributing equally or not.

These reports are to help the students keep on track with the project by regularly checking in with the teaching staff and having a natural procedure for raising questions. They posts need not be long, but they should describe the group's activities, progress, and any problems encountered. This will allow the teaching staff to assist and provide advice in a timely fashion.

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 1, 2017.

Student Disabilities

If you need course adaptations or accommodations because of a disability, or if you have medical information that you need to share with the instructor, please make an appointment with the instructor as soon as possible. If you have not already done so, students with disabilities who believe that they may need accommodations in this class are encouraged to contact the Office of Disability Services (ODS) as soon as possible to ensure that such accommodations are implemented in a timely fashion. This office is located in the West St. House (157 West St) and their phone number is 508.831.4908.

Academic Integrity

The WPI Academic Integrity Policy describes types of academic dishonesty and requirements in documentation. We take these matters seriously. In the case of academic dishonesty, the instructor is required to report the incident to the Dean of Student Affairs. The instructor's 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.