CS 6250: Computer Networks

Instructional Team

Buzz

Maria Konte
Instructor
Buzz

Johann Lau
Head TA
Buzz

Lorena Montesinos
Head TA
Buzz

Ken Westdorp
Head TA

Overview

This course provides a quick refresh of introductory material, and offers a broad coverage of protocols and algorithms that span across all layers of the Internet protocol stack.

The course begins with an overview of the Internet architecture and its evolution. We do a short refresh of basic algorithms and protocols on the transport layer such as TCP and congestion control. Next, we study intradomain/interdomain routing, peering and networks relationships. Further, we look into router design and functionalities. Next, we study new Software Defined Networking technologies. We explore topics that intersect Network Security and Computer Networks, especially attacks on Internet routing such as BGP hijacking. At the final part of the course we look into multimedia applications and Content Delivery Networks.

The students work on hands-on projects to learn about routing, SDN, BGP hijacking, and Internet measurements. For students who would like to explore more we have designed an additional project that engages with tools for Internet-wide measurements. The students study how large scale events, that are associated with unrest, are reflected as connectivity disruptions for some networks in specific parts of the world.

This course counts towards the following specialization(s):
Computing Systems

Foundational Course
Computing Systems Specialization Elective

Sample Syllabi

Fall 2020 syllabus and schedule (PDF)
Spring 2019 syllabus (PDF)
Spring 2019 schedule (PDF)

Note: Sample syllabi are provided for informational purposes only. For the most up-to-date information, consult the official course documentation.

Before Taking This Class...

Suggested Background Knowledge

This class is appropriate for students with previous background in networking. Some familiarity with both network programming, scripting languages (e.g., Python), and using virtual machines will be helpful.

If you can confidently answer “yes” to these questions, you should be fine:

  1. Can you explain the main distinction between TCP and UDP?
  2. Can you comfortably complete the Python tutorial and write basic programs in Python?
  3. Do you understand the three way handshake of TCP?
  4. Can you get files off of a virtual machine without a mapped directory?
Technical Requirements and Software
  • Browser and connection speed: An up-to-date version of Chrome or Firefox is strongly recommended. We also support Internet Explorer 9 and the desktop versions of Internet Explorer 10 and above (not the metro versions). 2+ Mbps is recommended; the minimum requirement is 0.768 Mbps download speed.
  • Operating system:
    • PC: Windows XP or higher with latest updates installed
    • Mac: OS X 10.6 or higher with latest updates installed
    • Linux: any recent distribution that has the supported browsers installed
  • You must have a computer (laptop or PC) that does NOT have an M1 chip. M1 chips are incompatible with our core course VM where most project development occurs.

Academic Integrity

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code. This course may impose additional academic integrity stipulations; consult the official course documentation for more information.