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
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
Switches vs. Routers
Buffer Sizing for a TCP Sender
Lesson 4: Routing
Link State Routing
IGP vs. iBGP
BGP Route Selection
Multiple Exit Discriminator (MEI)
Interdomain Routing Business Models
Lesson 5: Naming, Addressing & Forwarding
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
Basic Router Architecture
Decision: Crossbar Switching
Switching Algorithm: Maximal Matching
Head of Line Blocking
Scheduling and Fairness
Lesson 5.2: Domain Name System (DNS)
Examples (using "dig")
Lookup IP Address
Lesson 6: Congestion Control & Streaming
AIMD (TCP Congestion Control)
Data Centers & TCP "Incast"
Barrier Synchronization & Idle Time
Multimedia & Streaming
Digitizing Audio & Video
Lesson 7: Rate Limiting and Traffic Shaping
Traffic Classification & Shaping
Leaky Bucket Traffic Shaping
(r, t) Traffic Shaping
Shaping Bursty Traffic Patterns
Effects on Latency
Lesson 8: Content Distribution
The Web and Caching
Content Distribution Networks (CDNs)
Solution to Freeriding: "Choking"
Distributed Hash Tables
Lesson 9: Software Defined Networking
Network Management Overview
Software Defined Networking (SDN)
Control and Data Planes
Different SDN Controllers
Ryu, Floodlight, Nox and Pox
Lesson 10: Traffic Engineering
Traffic Engineering Overview
Interdomain Traffic Engineering
Measuring, Modeling and Controlling Traffic
Link Utilization Function
BGP in Interdomain Traffic Engineering
Data Center Networking
Valiant Load Balance
Jellyfish Data Center Topology
Lesson 11: Network Security
Internet is Insecure
Origin and Path Authentication
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
Lesson 11.3: Denial of Service (DoS) Attacks
TCP 3-Way Handshake
Inferring Denial of Service Activity using Backscatter
Pavan Choudhary completed this course, spending 12 hours a week on it and found the course difficulty to be medium.
computer network is a set of computers connected together for the purpose of sharing resources. The most common resource shared today is connection to the Internet. Other shared resources can include a printer or a file server. The Internet itself can be considered a computer network.
Asad Ali is taking this course right now, spending 14 hours a week on it and found the course difficulty to be very easy.