Advanced Networking: Hiểu sâu về Hạ tầng Mạng
#Người mới bắt đầu (Beginner)
Q1: Địa chỉ IP là gì? Phân biệt IPv4 và IPv6.
Trả lời: IP là địa chỉ định danh thiết bị trên mạng.
- IPv4: 32-bit (ví dụ: 192.168.1.1), giới hạn khoảng 4 tỷ địa chỉ.
- IPv6: 128-bit (ví dụ: 2001:0db8:…), cung cấp số lượng địa chỉ gần như vô hạn.
Q2: DNS (Domain Name System) đóng vai trò gì?
Trả lời: Đóng vai trò “danh bạ điện thoại” của Internet, giúp chuyển đổi tên miền dễ nhớ (google.com) thành địa chỉ IP mà máy tính hiểu được.
Q3: Phân biệt TCP và UDP một cách đơn giản.
Trả lời:
- TCP: Tin cậy, đảm bảo dữ liệu đến đúng và đủ (ví dụ: Web, Email).
- UDP: Tốc độ cao, không đảm bảo dữ liệu (ví dụ: Livestream, Game online).
Q4: Cổng (Port) là gì? Các cổng phổ biến 80, 443, 22.
Trả lời: Là điểm cuối của giao tiếp để phân loại dịch vụ.
- 80: HTTP.
- 443: HTTPS.
- 22: SSH.
Q5: DHCP là dịch vụ gì?
Trả lời: Tự động cấp phát địa chỉ IP cho các thiết bị khi chúng tham gia vào mạng.
#Trung cấp (Intermediate)
Q1: Giải thích quá trình "TCP 3-Way Handshake".
Trả lời:
- Client gửi SYN.
- Server phản hồi SYN-ACK.
- Client gửi lại ACK. Sau 3 bước này, kết nối chính thức được thiết lập.
Q2: DNS Lookup hoạt động như thế nào (Recursive vs Iterative)?
Trả lời:
- Recursive: Bạn hỏi DNS Server, nó đi hỏi tất cả các cấp cho bạn rồi trả về kết quả cuối.
- Iterative: DNS Server trả về địa chỉ của server cấp tiếp theo (ví dụ Root -> .com -> google.com) để bạn tự đi hỏi.
Q3: TTL (Time To Live) trong DNS nghĩa là gì?
Trả lời: Thời gian (tính bằng giây) mà một bản ghi DNS được phép lưu trong bộ nhớ đệm (cache) trước khi phải đi hỏi lại server gốc.
Q4: Bảng định tuyến (Routing Table) là gì?
Trả lời: Là bản đồ chứa các quy tắc để Router biết nên gửi gói tin theo hướng nào (interface nào) để đến được đích.
Q5: Private IP vs Public IP và NAT.
Trả lời:
- Private IP: Dùng trong mạng nội bộ (LAN).
- Public IP: Dùng trên Internet.
- NAT (Network Address Translation): Kỹ thuật giúp nhiều máy dùng Private IP cùng đi ra ngoài Internet qua 1 Public IP duy nhất.
#Nâng cao (Advanced)
Q1: Giải thích quá trình TLS 1.2 Handshake (HTTPS).
Trả lời:
- Client Hello (hỗ trợ thuật toán gì?).
- Server Hello + Certificate (kèm Public Key).
- Client xác thực Certificate, gửi Pre-master secret (mã hóa bằng Public Key server).
- Cả hai tạo Session Key (Symmetric) để mã hóa dữ liệu sau đó.
Q2: TCP Flow Control vs Congestion Control.
Trả lời:
- Flow Control: Ngăn client gửi quá nhanh làm server “ngạt thở” (dùng Window Size).
- Congestion Control: Ngăn toàn bộ mạng bị tắc nghẽn (dùng các thuật toán như Slow Start, Congestion Avoidance).
Q3: Anycast routing là gì và ứng dụng trong CDN?
Trả lời: Nhiều server ở các vị trí địa lý khác nhau cùng dùng chung 1 địa chỉ IP. Mạng sẽ tự động điều hướng gói tin đến server “gần” nhất về mặt network, giúp giảm độ trễ cực lớn cho CDN và DNS.
Q4: BGP (Border Gateway Protocol) là gì?
Trả lời: Là giao thức định tuyến giữa các Hệ thống tự trị (Autonomous Systems - AS) trên Internet. Nó quyết định “đường đi” của dữ liệu giữa các nhà mạng lớn.
Q5: MTU (Maximum Transmission Unit) và lỗi phân mảnh (Fragmentation).
Trả lời: Kích thước tối đa của một gói tin (thường là 1500 bytes). Nếu gói tin lớn hơn MTU của một thiết bị trung gian, nó phải bị xẻ nhỏ (phân mảnh), làm giảm hiệu năng và tăng độ trễ.
#Kiến trúc sư (Architect)
Q1: Thiết kế hệ thống DNS phục vụ 1 tỷ request/ngày với độ trễ < 10ms.
Trả lời: Sử dụng mô hình Anycast IP để phân tán traffic tới hàng trăm Edge nodes. Triển khai nhiều tầng Caching. Sử dụng Load Balancer tầng 4 hiệu năng cao (như DPDK) để xử lý gói tin UDP nhanh nhất có thể.
Q2: Phân tích sự đánh đổi khi sử dụng gRPC over HTTP/2 so với REST over HTTP/1.1.
Trả lời: gRPC: Nhỏ gọn, đa luồng trên 1 kết nối (Multiplexing), nhưng khó debug (binary), không hỗ trợ tốt trình duyệt cũ. REST: Dễ dùng, phổ biến nhưng overhead lớn và bị lỗi Head-of-line blocking trên HTTP/1.1.
Q3: Tầm nhìn: Liệu QUIC (HTTP/3) có giải quyết được hoàn toàn các nhược điểm của TCP?
Trả lời: QUIC chạy trên UDP, giải quyết lỗi Head-of-line blocking ở mức stream, hỗ trợ kết nối mượt mà khi đổi mạng (0-RTT), nhưng đòi hỏi CPU xử lý nặng hơn và có thể bị một số Firewall chặn vì dùng UDP.
#Tình huống thực tế (Practical Scenarios)
S1: API bị lỗi thỉnh thoảng mất kết nối ("Connection reset by peer"). Bạn dùng tool gì để debug mạng?
Xử lý: 1. Dùng tcpdump hoặc Wireshark để bắt gói tin. 2. Kiểm tra xem server có gửi gói RST không. 3. Kiểm tra Firewall/Load Balancer có timeout kết nối quá sớm không.
S2: Website load chậm ở một số khu vực. Làm sao để kiểm tra lỗi định tuyến?
Xử lý: Dùng lệnh mtr (My Traceroute) hoặc traceroute. Nó sẽ chỉ ra gói tin bị chậm hoặc mất tại node (nhà mạng) nào trên đường đi.
#Nên biết
- Mô hình OSI 7 tầng (đặc biệt tầng 3, 4, 7).
- Cách hoạt động của DNS và HTTPS.
- Các lệnh debug mạng: ping, telnet, curl, dig, mtr.
#Lưu ý
- Quên cấu hình bản ghi
AhoặcCNAMEđúng trong DNS. - Không quan tâm tới độ trễ (latency) khi gọi các API ở region khác nhau.
Bài viết liên quan
Tiếp tục hành trình nâng tầm kiến thức của bạn
HTTP & Web Fundamentals: Nền tảng của Internet
Hệ thống hơn 50 câu hỏi chuyên sâu về HTTP/2, HTTP/3, Security Headers, Web Caching và RESTful API.
Bảo mật Web & Ethical Hacking: Tư duy Phòng thủ
Đi sâu vào các lỗ hổng bảo mật web, cách hacker khai thác và các kỹ thuật bảo mật thực chiến để bảo vệ ứng dụng PHP/Laravel.
Advanced Networking: Hiểu sâu về Hạ tầng Mạng
Hệ thống câu hỏi về DNS, TCP/UDP internals, TLS handshake, CDN và các kỹ thuật debug mạng nâng cao.