Skip to the content.

(2024/2025) Network Computing

These notes are an unofficial resource and shouldn’t replace the course material or any other book on network computing. It is not made for commercial purposes. I’ve made the following notes to help me improve my knowledge and maybe it can be helpful for everyone.

As I have highlighted, a student should choose the teacher’s material or a book on the topic. These notes can only be a helpful material.

(expandable) The notes are taken from the books and other resources required for the course.

You can view/download the PDF here. In the notes folder, you can also see the source code.

In the CHANGELOG file you can see the changes made to each version of the PDF file. The versioning can be helpful if you want to understand if there are any new features/fixes in the file.

For any issue, use the appropriate section.

Course Syllabus

According to the official course syllabus:

Main lectures topics:

  1. Basics
    • Introduction to datacenter networks and their challenges
    • Topologies
    • Traffic characterization
  2. Network programmability
    • Software-Defined Networking
    • OpenFlow
    • Switch programmability
  3. Data structures for high-speed networking
    • Ternary Content Addressable Memories
    • Hash tables
    • Bloom Filters
    • Counting Bloom Filters
    • Invertible Bloom Filters
    • Count-Min Sketches
  4. Datacenter Monitoring
    • Packet mirroring
    • Monitoring at scale
    • Inband Network Telemetry
    • Advanced Netflow
  5. Datacenter control
    • Layer 3 load balancing
    • Layer 4 load balancing
    • Congestion control
  6. End-Host Networking
    • Programmable NICs
    • Kernel networking
    • New protocols for fast end-host networking