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