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 evolution of the Internet architecture and a short refresh of the transport layer algorithms and protocols such as TCP and congestion control. Next, the course will dive into intradomain/interdomain routing, peering and networks relationships with a follow-up into router design and functionalities. After discussing routing and router technologies, the course will continue with Software Defined Networking technologies and discuss topics that intersect Network Security and Computer Networks, for example, attacks on Internet routing such as BGP hijacking. Finally, the course wraps up with a discussion on multimedia applications and Content Delivery Networks.

Throughout the course, students will work on hands-on projects to learn about routing, SDN, BGP hijacking, and Internet measurements. For students who would like to explore more, there is an additional project that engages with tools for Internet-wide measurements. As part of the project, students will study how large-scale events that are associated with unrest are reflected as connectivity disruptions for 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 2022 syllabus and schedule (PDF)
Summer 2022 syllabus and schedule (PDF)
Spring 2022 syllabus and 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.