Module 3 — Port, Socket & DNS: tổng quan
Gói tin tới đúng máy rồi, làm sao vào đúng ứng dụng, và IP lấy từ tên miền thế nào? Port, socket, 5-tuple và DNS khép lại tier Foundations.
TL;DR: Module 2 đưa gói tin tới đúng máy (IP). Module 3 trả lời hai mảnh còn lại để khép nền tảng: (1) tới máy rồi thì vào đúng ứng dụng nào, nhờ port, socket và 5-tuple định danh từng kết nối; (2) làm sao có IP từ một tên miền, nhờ DNS (cây phân cấp root → TLD → authoritative, query flow, record types, debug bằng dig). Hết module này bạn hiểu localhost:8080 thực sự là gì, vì sao một server phục vụ được hàng nghìn client trên cùng một cổng, và trace được một DNS query từ đầu tới cuối.
Vì sao module này tồn tại
Bạn đã biết gói tin tìm tới đúng máy thế nào. Nhưng một máy chạy nhiều dịch vụ cùng lúc — web (443), SSH (22), database (5432). Tới đúng máy chưa đủ; phải vào đúng tiến trình, việc của port và socket.
Và toàn bộ Module 2 giả định "ta đã có IP đích". Nhưng bạn gõ google.com, không phải 142.250.x.x. Mảnh ghép biến tên thành IP là DNS — chặng đầu tiên trong bản đồ 5 chặng của Module 1, giờ đào sâu.
Hai chủ đề này khép lại tier Foundations: sau module này bạn có đủ bản đồ để bước vào course TCP/HTTP/TLS.
Bản đồ module

Sau module này bạn sẽ
- Explain được socket, port và 5-tuple dưới góc hệ điều hành — vì sao một server lắng nghe một cổng mà phục vụ được nhiều client cùng lúc.
- Trace được một DNS query từ trình duyệt qua recursive resolver tới root → TLD → authoritative server và quay về.
- Diagnose được lỗi phân giải tên miền bằng
dig/nslookup, đọc các loại record và lỗi NXDOMAIN/SERVFAIL.
Lộ trình module
- Port & socket:
localhost:8080là gì, socket dưới góc OS, 5-tuple, vì sao một cổng phục vụ nhiều client,EADDRINUSE. - DNS — phân giải tên miền: cây tên miền phân cấp, recursive vs authoritative, query flow, TTL & cache.
- DNS record & debug: A/AAAA/CNAME/MX/TXT/NS,
dig/nslookup, đọc lỗi NXDOMAIN/SERVFAIL,resolv.conf&/etc/hosts.
Yêu cầu trước khi bắt đầu
- Đã xong Module 1 (mô hình 4 tầng, port ở tầng Transport) và Module 2 (IP, routing; DNS trả IP cho routing dùng).
- Biết dùng terminal; các bài có
ss,lsof,dig,nslookup.
Time budget
| Bài | Thời lượng |
|---|---|
| Tổng quan (bài này) | ~5 phút |
| Port & socket | ~10 phút |
| DNS — phân giải tên miền | ~10 phút |
| DNS record & debug | ~9 phút |
| Tổng kết & cheat sheet | ~6 phút |
| Tổng module | ~40 phút |
Cách học module này hiệu quả
- Tự soi máy mình.
ss -tlnp(cổng đang lắng nghe),dig google.com,cat /etc/resolv.conf— đối chiếu lý thuyết với máy thật. - Nối với module trước. Port là tầng Transport (Module 1); DNS trả về IP để routing (Module 2) hoạt động. Mọi thứ ráp lại thành bản đồ 5 chặng.
- Chạm vạch đích. Hết module này bạn chạm vạch đích Foundations: tự kiểm tra bằng câu "tôi giải thích được trọn vẹn điều gì xảy ra khi gõ google.com chưa?".
Bài tiếp theo: Port & socket — localhost:8080 thực sự là gì
Bài này có giúp bạn hiểu bản chất không?
Bài này đáng gửi cho bạn học cùng?
Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.
Module 2 — Tổng kết & cheat sheet
Bài tiếpPort & socket — localhost:8080 thực sự là gì
Thảo luận & góp ý
Hỏi đáp về bài này