MCS-377: Networking (Fall 2014)

Overview

We will examine several key challenges of networking, such as application-level interoperability, transport-level congestion control, and network-level routing. For each of these challenges, we will examine the specific response embodied in the current Internet protocol suite and the systems implementing it. However, we will also keep an eye out for the broader possibilities for potential future protocols and systems.

Office hours

I welcome visitors to my office (OHS 306) on a drop-in basis as well as by appointment. You may send me electronic mail at max@gustavus.edu.

World Wide Web

All course materials will be available through my World Wide Web page. The URL for this course is http://gustavus.edu/+max/courses/F2014/MCS-377/. After this syllabus I will give hardcopy handouts only to those students who want them.

Text and readings

The primary text for the course will be Computer Networking: A Top-Down Approach Featuring the Internet, 6th ed., by James F. Kurose and Keith W. Ross, Addison-Wesley, 2012. You will also read some of the professional literature, particularly in context of the student presentations.

Lab Projects

In the course of the semester, you will complete 4 projects. In each case, I will indicate what I expect of you. A project report that meets those expectations is due by class time on the date specified in the course schedule. For each project, there is one day shown in the schedule for us to work together in our usual classroom. However, you will often need to spend additional time on the project outside of class.

Homework assignment policy

You are to select your own homework questions and problems. Each of the six chapters in the textbook ends with review questions and problems. You may submit any of these, preferably by email, though hardcopy is also acceptable. If I indicate that your initial solution is inadequate, you can submit a revised version as many times as are necessary to succeed. For each question or problem you eventually succeed at, you will receive one percentage point toward your course grade up to a maximum of 18%. Thus, your grade will be maximized if you average three successful questions or problems per chapter. Other than that, the restrictions are as follows:

I will return each homework submission to you as quickly as I can but normally with only an indication of whether it is acceptable or needs more work. The reason why I won't write much about the work I turn back to you is because I would like to talk with you face-to-face. If a problem needs more work, you should treat that as an invitation to come talk with me about it. Once you've done the additional work, you may turn the problem in again. If you are using hardcopy, please attach the prior version.

Review questions should always be individual work, but you may work on any of the problems in a group of two or three students. One copy of the solution produced by the team should be turned in with all team members' names on it. I will take this to be your assertion under the Gustavus Honor Code that all team members contributed fairly to the problem solution.

Presentations

At the end of the semester I'll sit back and relax and let students teach the class instead. Each of you will typically do this together with a partner, though I expect to ask one student to fly solo given the odd class size. Each pair of students will have 30 minutes to present one of the papers we read from a conference. The whole class will be expected to read the paper at least casually, but the students leading the class will be expected to have read it more carefully and done whatever it takes to really understand it, which may involve additional background reading, talking with me, etc.

I will provide a list of attributes that good presentations have. For each presentation, each student in the audience will be asked to select two of these attributes that were particular strong points and two that particularly need work. I will summarize this feedback for the presenters. I will also use the same list of attributes to structure my own evaluation of the presentation, which will take place in a face-to-face “debriefing” with the presenters, with the grade generated as a summary of that meeting.

I'm going to ask you to express a preference ranking for the topics and will try to the extent possible to assign people to topics based on that. I suggest you read the abstracts of the papers to help determine your preferences.

  1. An Internet-Wide View of Internet-Wide Scanning

  2. Exit from Hell? Reducing the Impact of Amplification DDoS Attacks

  3. Effective Attacks and Provable Defenses for Website Fingerprinting

  4. Understanding the Dark Side of Domain Parking

  5. On the Practical Exploitability of Dual EC in TLS Implementations

  6. From the Aether to the Ethernet—Attacking the Internet using Broadcast Digital Television

  7. On the Effective Prevention of TLS Man-in-the-Middle Attacks in Web Applications

Tests

There will be two intra-term exams as shown on the schedule and a final exam as scheduled by the registrar.

My default assumption is that students will take the final together. Therefore, I would ask you to please be respectful and quiet, even after completing your exam, so that your fellow students have a good test-taking environment. However, if you prefer to take the exam in a separate room, please contact me in advance and I will try to arrange it.

Tests will be closed-book and mostly closed-notes. You may, however, use a single 8 1/2 by 11 sheet of paper with hand-written notes for reference. (Both sides of the sheet are OK.)

Honor

Students are encouraged to discuss the course, including issues raised by the assignments. However, the solutions to assignments should be individual original work unless otherwise specified. If an assignment makes you realize you don't understand the material, ask a fellow student a question designed to improve your understanding, not one designed to get the assignment done. To do otherwise is to cheat yourself out of understanding, as well as to be intolerably dishonorable.

Any substantive contribution to your solution by another person or taken from a publication or web site should be properly acknowledged in writing. Failure to do so is plagiarism and will necessitate disciplinary action.

The same standards regarding plagiarism apply to team projects as to the work of individuals, except that the author is now the entire team rather than an individual. Anything taken from a source outside the team should be be properly cited.

One additional issue that arises from the team authorship of project reports is that all team members must stand behind all reports bearing their names. All team members have quality assurance responsibility for the entire project. If there is irreconcilable disagreement within the team it is necessary to indicate as much in the report.

You are expected to be familiar with the college academic honesty honor code policy and to comply with that policy. If you have any questions about it, please ask.

Late lab assignments

All lab reports are due at the beginning of class on the day indicated. Late reports will be penalized by one “grade notch” (such as A to A- or A- to B+) for each weekday late or fraction thereof.

If you are too sick to complete an assignment on time, you will not be penalized. Simply write “late due to illness” at the top of the assignment, sign your name and hand it in. Other circumstances will be evaluated on a case-by-case basis.

Grading

I will provide you with a grade on each lab assignment and test, in addition to the mid-term and final grades, so that you may keep track of your performance. As a guideline, the course components will contribute to your final grade in the proportions indicated below:

Style guidelines

All homework and lab reports should be readily readable, and should not presuppose that I already know what you are trying to say. Use full English sentences where appropriate (namely almost everywhere) and clear diagrams, programs, etc. Remember that your goal is to communicate clearly and that the appearance of these technical items plays a role in this communication process. Be sure your assignments are either submitted online or stapled together with your name on them.

Accessibility

Gustavus Adolphus College is committed to ensuring the full participation of all students in its programs. If you have a documented disability (or you think you may have a disability of any nature) and, as a result, need reasonable academic accommodation to participate in class, take tests or benefit from the College's services, then you should speak with the Disability Services Coordinator, for a confidential discussion of your needs and appropriate plans. Course requirements cannot be waived, but reasonable accommodations may be provided based on disability documentation and course outcomes. Accommodations cannot be made retroactively; therefore, to maximize your academic success at Gustavus, please contact Disability Services as early as possible. Disability Services (https://gustavus.edu/advising/disability/) is located in the Academic Support Center.

Support for English learners and multilingual students is available through the Academic Support Center's English Learning Specialist (ELS). The ELS can meet individually with students for tutoring in writing, consulting about academic tasks, and helping students connect with the College's support systems. Please let me know if there is any accommodation in the course that would enable you to more fully show your abilities; for example, I would consider allowing extra time on tests, as well as allowing a dictionary in an otherwise closed-book test. In addition, English learners and multilingual students can seek help from peer tutors in the Writing Center.

Schedule

This is my best guess as to the rate at which we will cover material. However, don't be shocked if I have to pass out one or more revised syllabi.

DateReadingTopicDue
9/21.0–1.4Introduction
9/41.5–2.2Application layer and HTTP
9/92.3–2.4FTP and email
9/112.5–2.6DNS and peer-to-peer
9/162.7–2.8Socket programming
9/18Lab 1: Application layer
9/23Guest presentation and reviewHW rewrites
9/25Intra-term exam 1
9/303.0–3.4.2Transport layer and UDP
10/23.4.3–3.5TCPLab 1
10/7No class (attend Nobel Conference)
10/93.6–3.8TCP congestion control
10/14Lab 2: Transport layer
10/164.0–4.4.2Network layer, routers, and IPv4
10/21No class (reading day)
10/23Review and lab 2HW rewrites
10/28Intra-term exam 2
10/30No classLab 2
11/44.5, 4.6.3Routing and BGP
11/6Lab 3: Network layerPresentation preferences
11/115.0–5.4Link layer and Ethernet
11/135.5–6.2More link layer and wireless
11/186.3–6.9WiFi and cellular mobilityLab 3
11/20Networking tour
11/25Lab 4: Link layer
11/27No class (Thanksgiving)
12/2Papers 1, 2Student presentations (Dustin; Hayden and Adam)
12/4Papers 3, 4Student presentations (Ian and Jennifer; Jake and Tucker)Lab 4
12/9Papers 5, 6Student presentations (Quincy and Caleb; Aaron and Sergio)
12/11Paper 7Student presentation (Nate and Sam) and reviewHW rewrites

Course web site: http://gustavus.edu/+max/courses/F2014/MCS-377/
Instructor: Max Hailperin <max@gustavus.edu>