This course takes a holistic approach to topics in computer networking; we will cover many aspects of networking in greater depth. You will:
The required textbook for this course is Computer Networking: A Top-Down Approach, by Kurose and Ross. You will be expected to prepare with the assigned readings, which will be from the required textbook, plus additional supplemental readings from industry rags and research papers.
Although we will rely primarily on this textbook for basic readings, we will supplement this reading with various outside readings (articles, research papers, etc.). Some material covered comes from the following textbooks:
Some material will only be covered in lectures.
Students are expected to abide by the Georgia Tech Honor Code. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the office of student affairs. You are to do all assignments yourself, unless explicitly told otherwise. You may discuss the assignments with your classmates, but you may not copy any solution (or part of a solution) from a classmate.
This class is appropriate for undergraduate or graduate students with previous background in networking. CS 3251 is a prerequisite. Some familiarity with both network programming and scripting languages (e.g., Perl, Ruby) will be helpful.
Grading will be based on problem sets, programming assignments, quizzes, and a semester-long project with a presentation and writeup. Participation will count for "fudge factors".
Readings will not be handed out in class. Please print the readings
and read them before class.
Please note that this schedule is tentative and subject to change throughout the course of the term.
Lecture | Date | Topics | Notes/Resources | Preparation |
---|---|---|---|---|
1 | Mon 08/18 | Course Overview and Introduction [ppt] |
||
Trees and Paths | ||||
Wed 08/20 | No Class |
|||
2 | Mon 08/25 | Interconnection and Bridging: Spanning Trees, etc. [ppt] |
KR 5.1, 5.4-5.6 | |
3 | Wed 08/27 | Intradomain Routing [ppt] |
Notes, Example Fiber Maps |
KR 4.5 |
Mon 09/01 | Labor Day |
|||
4 | Wed 09/03 | Intradomain Routing (continued) |
||
5 | Mon 09/08 | Interdomain Routing: Protocols and Economics [ppt] |
Hands-On 1 Out | KR 4.6 |
6 | Wed 09/10 | Multihoming and Multipath Routing [ppt] |
KR 4.3 | |
7 | Mon 09/15 | Router Internals: Switching, Scheduling, Lookup, Progammability [ppt] |
OpenFlow Whitepaper Slides Juniper Open API |
|
8 | Wed 09/17 | Router Internals: Lookup [ppt] |
Lulea Algorithm Hands-on 1 Due |
|
The Protocol Stack | ||||
9 | Mon 09/22 | Physical Layer: Nyquist, Shannon, Coding,etc. [ppt] |
Stallings Ch 3, 5.1-5.3 | KR 1.5 |
10 | Wed 09/24 | Link Layer: Framing, SONET, Ethernet, etc. [ppt] |
ISP Survival Guide pp. 160--170 |
|
11 | Mon 09/29 | Layer 3: IPv4, IPv6, LISP, and Beyond [ppt] |
KR 4.4 | |
12 | Wed 10/01 | Virtual Layers: VLANs, Overlays, etc. |
KR 5.8 | |
13 | Mon 10/06 | Transport: TCP, UDP |
KR 3.3, 3.5 Saltzer | |
14 | Wed 10/08 | Naming: DNS [ppt] |
KR 2.5 | |
Mon 10/13 | Recess |
|||
15 | Wed 10/15 | Bumps in the Wire: DHCP, NAT, Firewalls, and Middleboxes |
Hands-On 2 Out | KR 4.4.2 |
Mon 10/20 | Quiz |
|||
Resource Allocation and Sharing | ||||
16 | Mon 10/27 | Wired Medium Access Control (MAC) |
KR 5.3 | |
17 | Wed 10/29 | TCP: Fairness Models (Kelly, Jain, etc.) |
KR 3.6-3.7 | |
18 | Mon 11/03 | Power |
||
19 | Wed 11/05 | Pricing |
||
20 | Mon 11/10 | Queueing Models, Quality of Service, and Fair Queueing |
KR 4.3, 7.5, 7.6 | |
21 | Wed 11/12 | Rate Limiting and Traffic Shaping |
||
Trends | ||||
22 | Mon 11/17 | Security: Worms, DoS, Spam, and Botnets |
KR 1.6 | |
23 | Mon 11/24 | Monitoring: Packet Sampling, Flow Sampling, Deep Packet Inspection |
||
24 | Wed 11/26 | Applications: Voice, Video, Peer-to-Peer |
||
25 | Mon 12/01 | Programmable Routers and Switches |
||
Wed 12/03 | Quiz 2 |