Udacity: Computer Networking

 with  Nick Feamster
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.

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.


### 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
5 Student
Cost Free Online Course
Provider Udacity
Language English
Hours 6 hours a week
Calendar 12 weeks long

Disclosure: To support our site, Class Central may be compensated by some course providers.

+ Add to My Courses
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

5 reviews for Udacity's Computer Networking

Write a review
5 out of 9 people found the following review useful
3 years ago
profile picture
Asad Ali is taking this course right now, spending 14 hours a week on it and found the course difficulty to be very easy.
Was this review helpful to you? YES | NO
2 out of 4 people found the following review useful
3 years ago
Loganathan Murugesan is taking this course right now.
Was this review helpful to you? YES | NO
0 out of 2 people found the following review useful
2 years ago
Arjun completed this course.
Was this review helpful to you? YES | NO
10 months ago
Theinnaing completed this course.
Was this review helpful to you? YES | NO
0 out of 1 people found the following review useful
2 years ago
Alessandro is taking this course right now.
Was this review helpful to you? YES | NO

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free