### Lesson 1: Introduction - Computer Networking Overview - What This Class is Not About ### Lesson 2: Architecture & Principles - A Brief History of the Internet - Architectural Design Principles - Packet Switching - File Transfer - End to End Argument Violations ### Lesson 3: Switching - Switching and Bridging - Bootstrapping: Networking Two Hosts - ARP: Address Resolution Protocol - Interconnecting LANs with Hubs - Switches: Traffic Isolation - Spanning Tree - Switches vs. Routers - Buffer Sizing for a TCP Sender ### Lesson 4: Routing - Internet Routing - Intra-AS Topology - Distance-Vector Routing - Link State Routing - Interdomain Routing - IGP vs. iBGP - BGP Route Selection - Multiple Exit Discriminator (MEI) - Interdomain Routing Business Models ### Lesson 5: Naming, Addressing & Forwarding - IP Addressing - Pre-1994: “Classful” Addressing - IP Address Allocation - Classless Interdomain Routing (CIDR) - Multihoming Frustrates Aggregation - Address Lookup Using Tries - Memory Efficiency and Fast Lookup - Alternatives to LPM with Tries - NAT and IPv6 - Network Address Translation (NAT) ### Lesson 5.1: Router Design Basics - Router Design - Basic Router Architecture - Decision: Crossbar Switching - Switching Algorithm: Maximal Matching - Head of Line Blocking - Scheduling and Fairness - Max-Min Fairness ### Lesson 5.2: Domain Name System (DNS) - Record Types - Examples (using “dig”) - Lookup IP Address ### Lesson 6: Congestion Control & Streaming - Congestion Control - AIMD (TCP Congestion Control) - Data Centers & TCP “Incast” - Barrier Synchronization & Idle Time - Multimedia & Streaming - Digitizing Audio & Video - Streaming Video - Skype ### Lesson 7: Rate Limiting and Traffic Shaping - Traffic Classification & Shaping - Source Classification - Leaky Bucket Traffic Shaping - (r, t) Traffic Shaping - Shaping Bursty Traffic Patterns - Power Boost - Effects on Latency - Buffer Bloat - Packet Monitoring ### Lesson 8: Content Distribution - The Web and Caching - HTTP Requests - Persistent Connections - Content Distribution Networks (CDNs) - Server Selection - Content Routing - Bit Torrent - Solution to Freeriding: “Choking” - Distributed Hash Tables - Consistent Hashing ### Lesson 9: Software Defined Networking - Network Management Overview - Software Defined Networking (SDN) - Control and Data Planes - Different SDN Controllers - NOX: Overview - Ryu, Floodlight, Nox and Pox - Customizing Control ### Lesson 10: Traffic Engineering - Traffic Engineering Overview - Interdomain Traffic Engineering - Measuring, Modeling and Controlling Traffic - Link Utilization Function - BGP in Interdomain Traffic Engineering - Multipath Routing - Data Center Networking - Valiant Load Balance - Jellyfish Data Center Topology ### Lesson 11: Network Security - Internet is Insecure - Resource Exhaustion - Routing Security - Origin and Path Authentication - DNS Security - DNS Cache Poisoning ### Lesson 11.1: Internet Worms - Viruses and Internet Worms - Internet Worm Lifecyle - First Worm: “Morris” Worm - Worm Outbreaks in Detail - Modeling Fast-Spreading Worms ### Lesson 11.2: Spam - Spam - IP Blacklisting ### Lesson 11.3: Denial of Service (DoS) Attacks - TCP 3-Way Handshake - Inferring Denial of Service Activity using Backscatter - Automated DoS Attack Mitigation - MTPCP
This class is offered as CS6250 at Georgia Tech where it is a part of the [Online Masters Degree (OMS)](http://www.omscs.gatech.edu/). Taking this course here will not earn credit towards the OMS degree. This course covers advanced topics in Computer Networking such as Software-Defined Networking (SDN), Data Center Networking and Content Distribution. The course is divided into three parts: Part 1 is about the implementation, design principles and goals of a Computer Network and touches upon the various routing algorithms used in CN (such as link-state and distance vector). Part 2 talks about resource control and content distribution in Networking Applications. It covers Congestion Control and Traffic Shaping. Part 3 deals with the operations and management of computer networks encompassing SDN's (Software Defined Networks), Traffic Engineering and Network Security.