Computer Networks Overview
What is Computer Networks
Computer networks study how computers reliably exchange data with each other. From browsing webpages to messaging apps to distributed systems — all depend on computer networks.
Why Learn Computer Networks
Foundation of all distributed systems. Microservices, cloud computing, distributed databases — all built on networking.
Interview essential. "TCP three-way handshake," "HTTP vs. HTTPS," "DNS resolution" — these appear in virtually every technical interview.
Core subject in CS entrance exams. ~25 points.
Core Knowledge Modules
Network Architecture
- OSI 7-layer model vs. TCP/IP 4-layer model
- Encapsulation and decapsulation
Network Layer
- IP protocol: IPv4, subnetting, CIDR
- Routing algorithms: Distance Vector (RIP), Link State (OSPF), Path Vector (BGP)
Transport Layer
- TCP: Three-way handshake, four-way teardown, sliding window, congestion control
- UDP: Connectionless, unreliable but efficient
Application Layer
- HTTP/HTTPS: Request methods, status codes, headers
- DNS: Domain resolution process
How to Learn
Top-down, starting from what you know. Recommended: Computer Networking: A Top-Down Approach.
Get hands-on with experiments. Use Wireshark to capture packets and see real TCP handshakes and HTTP requests.
Do the Stanford CS144 labs. Implement a TCP/IP protocol stack.
Resources in This Module
| Resource | Type | Description |
|---|---|---|
| Stanford CS144 | Course | Stanford networking course, implement protocol stack |
| Kurose & Ross | Textbook | Computer Networking: A Top-Down Approach |
| USTC Zheng Quan | Course | Chinese lectures, great for systematic study |