Nội dung
Danh sách bài học
- 01~10 phút
Module 1 — TCP & UDP Deep Dive: tổng quan
Tầng Transport là nơi backend dev debug nhiều nhất — ECONNRESET, TIME_WAIT, hết port, throughput chậm đều sinh ở đây. Module này đào sâu từng cơ chế.
- 02~22 phút
TCP 3-way handshake — bắt gói thật bằng Wireshark
Trước khi byte dữ liệu đầu tiên rời máy, ba gói SYN / SYN-ACK / ACK đã bay qua lại. Bài này mổ vì sao cần đúng ba bước, sequence number được đồng bộ thế nào, và cách bắt handshake thật để đọc từng cờ.
- 03~22 phút
TCP reliability — sequence, ACK, retransmission
IP là best-effort — gói có thể mất, đảo, trùng. Bài này mổ cơ chế TCP đảm bảo dữ liệu tới đủ đúng thứ tự: sequence number đánh số byte, cumulative ACK, RTO vs fast retransmit, SACK, và head-of-line blocking — pitfall nền tảng của HTTP/2.
- 04~22 phút
Flow control & congestion control — vì sao download tăng tốc dần
Sliding window, window scaling, slow start, congestion avoidance, CUBIC, BBR. Bài này phân biệt rõ hai cơ chế kiểm soát tốc độ của TCP — flow control bảo vệ đầu nhận, congestion control bảo vệ mạng — và giải thích vì sao throughput ramp up dần thay vì tối đa ngay từ đầu.
- 05~20 phút
TIME_WAIT, CLOSE_WAIT & vì sao server hết port
4-way termination tháo từng chiều độc lập, TIME_WAIT giữ port 60 giây để nuốt gói trễ, CLOSE_WAIT là bug ứng dụng không gọi close() — phân biệt hai cái này giúp bạn debug hết port đúng chỗ.
- 06~18 phút
TCP vs UDP — khi nào bỏ độ tin cậy đổi tốc độ
UDP gửi-và-quên, header chỉ 8 byte, không bắt tay — DNS, VoIP, game chọn nó vì trễ chết người hơn mất gói. QUIC xây lại reliability trên UDP để kiểm soát ở user-space.
- 07~20 phút
Connection pooling & keep-alive — vì sao app cần pool
Mỗi kết nối mới tốn 1 RTT TCP + 1 RTT TLS trước byte đầu tiên. HTTP keep-alive tái dùng kết nối; connection pool giữ sẵn rổ kết nối ESTABLISHED. Tune pool size sai — quá nhỏ thì request xếp hàng, quá lớn thì server quá tải.
- 08~22 phút
ECONNREFUSED, ECONNRESET, ETIMEDOUT — đọc đúng nguyên nhân
Bốn lỗi mạng kinh điển, mỗi lỗi ứng với chặng nào hỏng và cách xác định nhanh bằng ss, nc, tcpdump.
- 09~20 phút
MTU & fragmentation — vì sao ping được mà app timeout
MTU, phân mảnh IP, Path MTU Discovery và PMTUD black-hole — khi firewall chặn ICMP khiến gói lớn bị drop âm thầm, ping thông nhưng TLS handshake treo.
- 10~15 phút
Module 1 — Tổng kết & cheat sheet
Recap TCP/UDP deep dive: state machine đầy đủ, bảng so sánh TCP vs UDP, bảng tra lỗi mạng, glossary 20 thuật ngữ, pitfall tổng hợp và self-assessment.