Skip to content

Learning computer networking through projects and readings

Notifications You must be signed in to change notification settings

aos/computer-networking-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Networking Self-Study

Since computer networking is a vast and deep subject, I wanted to at least get a start understanding how it all works under the hood. I also wanted to take a programming approach as it seems like the standard advice is to build projects that implement various RFCs or play around with Wireshark.

  1. Beej's Guide to Networking Programming
  2. Online courses (pick one)
  3. Supplement that with readings, projects, and assignments.

In terms of online courses, the two best are:

Stanford teaches it top-down, starting at the application layer, moving to the physical layer. Wetherall teaches it bottom-up, starting at the physical layer and moving upwards. I have personally been working through Wetherall as I find his teaching style more in line with how I like to learn.

Update (2024-06-08): Unfortunately, both courses have been taken down. I've replaced the links with archived Youtube playlists of the lectures.

Readings

Standard advice says that I should be using Computer Networking: A Top-down Approach. [PDF warning]

Readings:

  • Unit 1: Sections 1.1-1.3; 1.5; 2.1
  • Unit 2: Sections 3.1-3.5
  • Unit 3: pp. 22-31; 640-648
  • Unit 4: pp. 259-265; 269-279
  • Unit 5: pp. 83-114
  • Unit 6: pp. 305-379
  • Unit 7: pp. 433-443
  • Unit 8: pp. 671-693

Assignments & Projects

I will be using the assignments from the following:

I will also be implementing small, commonly used networking programs (ping, traceroute, etc.) as well as any other parts of a network that seem interesting (such as spanning tree protocol).

Misc

I have been recommended the book High Performance Browser Networking multiple times but I have not had time to go through it.

About

Learning computer networking through projects and readings

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published