CS 4251: Computer Networking II

Objectives and Overview

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.

Academic Honesty

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".

  • 20% 3 Problem Sets
  • 30% 3 Hands-On Assignments
    (Labs and Programming Assignments)
  • 25% 2 Quizzes (Midterm + Final)
  • 25% 1 Project


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 01/07 Course Overview and Introduction
KR 1 Design
Tree Forming and Path Finding
2 Wed 01/09 Interconnection and Bridging: Spanning Trees, etc.
KR 5.1, 5.4-5.6
3 Mon 01/14 Intradomain Routing
Notes, Example
Fiber Maps
KR 4.5
4 Wed 01/16 Interdomain Routing: Protocols and Economics
Hands-On 1 Out KR 4.6
Mon 01/21 School Holiday
5 Wed 01/23 Interdomain Routing continued
6 Mon 01/28 Multihoming and Multipath Routing
KR 4.3
7 Wed 01/30 Multihoming Continued
8 Mon 02/04 Router Internals: Switching and Scheduling
Hands-on 1 Due
9 Wed 02/06 Router Internals: Lookup
Lulea Algorithm
10 Mon 02/11 Physical Layer: Nyquist, Shannon, Coding,etc.
Stallings Ch 3, 5.1-5.3 KR 1.5
11 Wed 02/13 Link Layer: Framing, SONET, Ethernet, etc.
ISP Survival Guide
pp. 160--170
12 Mon 02/18 Layer 3: IPv4, IPv6, and Beyond
PS 1 Out KR 4.4
13 Wed 02/20 IPv6 Continued
14 Mon 02/25 Virtual Link Layers: VLANs
KR 5.8
15 Wed 02/27 Tunneling: MPLS / End-to-End Principle
KR 3.3, 3.5 Saltzer
16 Mon 03/03 Transport and Naming: TCP, UDP
PS 1 Due KR 2.5
17 Wed 03/05 Naming: DNS and DHTs
KR 4.4.2
18 Mon 03/10 Bumps in the Wire: DHCP, NAT, Firewalls, and Middleboxes
PS 2 Out
Resource Allocation and Sharing
19 Wed 03/12 Wired and Wireless Medium Access Control (MAC)
KR 5.3
Mon 03/17 Spring Break
Wed 03/19 Spring Break
20 Mon 03/24 Quiz Review
Wed 03/26 Quiz
21 Mon 03/31 TCP: Fairness and Throughput Models (Jain, etc.)
KR 3.6-3.7
22 Wed 04/02 Packet Sampling, Packet Inspection
Monitoring, Management, and Security
23 Mon 04/07 Flow Sampling
24 Wed 04/09 Spam and Botnets
KR 1.6
25 Mon 04/14 Control-Plane Security: S-BGP, filtering, etc.
KR 8.6-8.8
26 Wed 04/16 Peer-to-Peer, and Content Overlays
KR 2.2, 2.4
27 Mon 04/21 Distributed Denial of Service: Attacks/Defenses
KR 2.6
28 Wed 04/23 Quiz Review

Home Reading Syllabus validate