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.
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
- Nick Feamster - Nick Feamster is an associate professor in the College of Computing at Georgia Tech. He received his Ph.D. in Computer Science from MIT in 2005. His research focuses on many aspects of computer networking and networked systems, including the design, measurement, and analysis of network routing protocols, network operations and security, and anonymous communication systems. In 2008, he received the Presidential Early Career Award for Scientists and Engineers (PECASE) for his contributions to cybersecurity, notably spam filtering. His honors include the Technology Review 35 "Top Young Innovators Under 35" award, a Sloan Research Fellowship, the NSF CAREER award, the IBM Faculty Fellowship, and award papers at SIGCOMM 2006, NSDI 2005, and Usenix Security 2002 and 2001.
Udacity est une entreprise fondé par Sebastian Thrun, David Stavens, et Mike Sokolsky offrant cours en ligne ouvert et massif.
Selon Thrun, l'origine du nom Udacity vient de la volonté de l'entreprise d'être "audacieux pour vous, l'étudiant ". Bien que Udacity se concentrait à l'origine sur une offre de cours universitaires, la plateforme se concentre désormais plus sur de formations destinés aux professionnels.
The course was excellent, thanks