CS 3251: Computer Networking I

Summary and Objectives

Communications networks are fundamental to our everyday lives. Whether for enabling global scale commerce or connecting long lost friends, these systems have created an unparalleled age of information. Accordingly, knowledge of such systems is critical for all scientists and engineers. This course provides an overview of networking technologies. Students satisfactorily completing this course will gain the skills necessary to analyze and design networking systems and protocols. The course will begin with the application layer, looking at design patterns present in common application layer protocols. We then move down the network stack, considering topics such as reliable transmission and congestion control at the transport layer, routing at the network layer, and multiple access protocols at the link layer. After this discussion, the latter portion of the course will include wireless and mobile networks, queuing fundamentals, security, Quality of Service (QoS), and network management.

Textbooks

There is one mandatory textbook for this course: James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach, 5th ed, ISBN: 0-136-07967-5.

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.

Grading

Grading will be based on three problem sets, two quizzes, and a semester-long project with a presentation and writeup. Participation will count for "fudge factors".

Please try your best to turn in homework assignments and projects on time. Each student is allowed a total of 4 "late days". Once you use up the quota, no late homework assingment or project will be accepted. The smallest granuality of time is a day, which means if a homework assignment or project is late for an hour, it is considered as being late for a day.

Schedule

Papers will not be handed out in class. Please read them before class.
For your convenience, here is a complete reading list. Please note that this schedule is tentative and subject to change throughout the course of the term.

Lecture Date Topics Notes/Resources Preparation
Computer Networks and the Internet
1 Tue 01/12 Introduction and Course Overview
2 Thu 01/14 Networking Design Principles
3 Tue 01/19 Network Programming (sockets)
2.7
The Link Layer and Local Area Networks
4 Thu 01/21 Addressing and Forwarding
5.4-5.6
5 Tue 01/26 Error Detection, MAC
5.2-5.3
The Network Layer
6 Thu 01/28 IP Packet Switching
4.1-4.3
7 Tue 02/02 IP Addressing and Forwarding
4.4
8 Thu 02/04 Intradomain Routing
4.5
9 Tue 02/09 Interdomain Routing
4.6
10 Thu 02/11 Internet Economics and Peering
11 Tue 02/16 Broadcast and Multicast
4.7
The Transport Layer
12 Thu 02/18 Connectionless Transport
3.3
13 Tue 02/23 Connection-Oriented Transport: TCP
3.4-3.5
14 Thu 02/25 Resource Management and Congestion Control
3.6-3.7
15 Tue 03/02 TBD
Services
16 Thu 03/04 Naming: DNS
2.5
17 Tue 03/09 Bootstrapping: DHCP and BOOTP
18 Thu 03/11 TBD
19 Tue 03/16 Midterm Review
Thu 03/18 Midterm
Tue 03/23 Spring Break
Thu 03/25 Spring Break
Applications
20 Tue 03/30 HTTP and the Web
2.1-2.3
21 Thu 04/01 Overlay Networks
22 Tue 04/06 Peer-to-Peer
2.6
23 Thu 04/08 Quiz Redux
24 Tue 04/13 Streaming
7.1-7.3
Security
25 Thu 04/15 Network Security Overview
8.1-8.2
26 Tue 04/20 Routing Security
Wireless
27 Thu 04/22 802.11 and Mobility
6.1-6.3
28 Tue 04/27 Disruption-Tolerant Networks
Thu 04/29 Final Exam

Home Reading Syllabus validate