About this Course

This class is offered as CS6250 at Georgia Tech where it is a part of the Online Masters Degree (OMS). 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.

Course Cost
Free
Timeline
Approx. 3 months
Skill Level
Intermediate
Included in Course
  • Icon course 01 3edf6b45629a2e8f1b490e1fb1516899e98b3b30db721466e83b1a1c16e237b1 Rich Learning Content

  • Icon course 04 2edd94a12ef9e5f0ebe04f6c9f6ae2c89e5efba5fd0b703c60f65837f8b54430 Interactive Quizzes

  • Icon course 02 2d90171a3a467a7d4613c7c615f15093d7402c66f2cf9a5ab4bcf11a4958aa33 Taught by Industry Pros

  • Icon course 05 237542f88ede3178ac4845d4bebf431ddd36d9c3c35aedfbd92e148c1c7361c6 Self-Paced Learning

  • Icon course 03 142f0532acf4fa030d680f5cb3babed8007e9ac853d0a3bf731fa30a7869db3a Student Support Community

Join the Path to Greatness

This free course is your first step towards a new career with the Full Stack Web Developer Nanodegree Program.

Free Course

Computer Networking

by Georgia Institute of Technology

Enhance your skill set and boost your hirability through innovative, independent learning.

Icon steps 54aa753742d05d598baf005f2bb1b5bb6339a7d544b84089a1eee6acd5a8543d

Course Leads

  • Nick Feamster
    Nick Feamster

    Instructor

  • Joshua Valdez
    Joshua Valdez

    Instructor

What You Will Learn

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

Prerequisites and Requirements

The ideal preparation for this course would be the successful completion of an undergraduate level Computer Networking course. An understanding of the TCP/IP protocol and the its layer model is recommended. Basic knowledge of python (such as through Intro to Computer Science) is required.

You should be comfortable with the implementation of basic search algorithms and a working knowledge of Linux and virtual machines is recommended.

See the Technology Requirements for using Udacity.

Why Take This Course

Want to build on your Computer Networking knowledge or move into Network Engineering positions such as Systems Admin, Network Admin or Technical Operations (WebOps)? If so, this is the class for you.

Computer Networking takes a hands-on approach to teaching very technical material, using Mininet (a network emulator) to show you how a computer network functions, what factors contribute to its efficiency and how to overcome inherent limitations.

What do I get?
  • Instructor videos
  • Learn by doing exercises
  • Taught by industry professionals
Icon globe e82eae5d45465aba4fbe4bb746905ce55dc3324f310b79c60e4a20089057d347

Udacity 现已提供中文版本! A Udacity tem uma página em português para você! There's a local version of Udacity for you!

前往优达学城中文网站 Ir para a página brasileira Go to Indian Site or continue to Global Site