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):
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:
- Can you explain the main distinction between TCP and UDP?
- Can you comfortably complete the Python tutorial and write basic programs in Python?
- Do you understand the three way handshake of TCP?
- 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.
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.