Supplement · Networking

28 câu hỏi kèm đáp án và follow-up

Trả lời theo cấu trúc: semantics → packet/state path → failure → evidence → trade-off.

28 câu hỏi

Mental model, L2/L3

1. Điều gì xảy ra khi gọi https://api.example.com?

Đáp án: DNS resolve; route/neighbor; TCP connect; TLS với SNI/certificate/ALPN; HTTP request qua proxy/LB tới app; response theo return path. Mỗi bước có cache, queue và timeout riêng.

Follow-up: Vẽ điểm NAT/TLS termination và evidence tại mỗi hop.

2. OSI model hữu ích và gây hiểu nhầm khi nào?

Đáp án: Hữu ích để phân lớp giả thuyết; gây hiểu nhầm nếu coi layer là hộp vật lý tuyệt đối vì tunnel, proxy, offload và firewall cắt ngang.

Follow-up: QUIC đặt transport/application semantics ở đâu?

3. Host quyết định gửi trực tiếp hay qua gateway thế nào?

Đáp án: Tra FIB bằng longest-prefix match, policy rules/metric; next hop cùng link cần ARP/NDP. ip route get cho quyết định hiệu lực.

Follow-up: Hai default route khác metric xử lý ra sao?

4. ARP khác DNS thế nào?

Đáp án: DNS ánh tên application sang IP qua hệ phân cấp; ARP ánh next-hop IPv4 sang MAC trong local link. ARP không tìm MAC của remote server qua Internet.

Follow-up: IPv6 thay ARP bằng cơ chế nào?

5. Vì sao asymmetric routing gây lỗi?

Đáp án: IP cho phép hai chiều khác path, nhưng stateful firewall/NAT/rp_filter có thể chỉ biết một chiều; capture một đầu cũng tạo kết luận thiếu.

Follow-up: Thu evidence nào để chứng minh?

6. MTU và PMTUD ảnh hưởng request ra sao?

Đáp án: Packet vượt path MTU cần fragmentation hoặc ICMP Packet Too Big; chặn ICMP có thể tạo black hole chỉ với payload lớn.

Follow-up: MSS clamping chữa triệu chứng ở đâu?

TCP, UDP và capacity

7. TCP đảm bảo gì và không đảm bảo gì?

Đáp án: Reliable, ordered byte stream giữa endpoints khi connection còn sống; không giữ message boundary, không bảo đảm deadline, exactly-once hay application commit.

Follow-up: Response mất sau DB commit thì retry thế nào?

8. Ba bước handshake để làm gì?

Đáp án: Xác nhận reachability hai chiều và đồng bộ initial sequence numbers/options. SYN retransmit chỉ ra handshake chưa hoàn tất, không nói chính xác hop nào drop.

Follow-up: SYN cookies đánh đổi gì?

9. TIME_WAIT có phải lỗi không?

Đáp án: Không; active closer giữ state để hấp thụ segment cũ và retransmit final ACK. Quá nhiều có thể báo connection churn/port pressure.

Follow-up: Pooling và HTTP/2 thay đổi ra sao?

10. SYN backlog khác accept queue?

Đáp án: SYN backlog chứa handshake chưa xong; accept queue chứa established sockets chờ application accept. Counter/capture khác nhau nên phải phân biệt.

Follow-up: Tăng backlog có sửa app bị treo không?

11. Flow control khác congestion control?

Đáp án: Receive window bảo vệ receiver; congestion window bảo vệ network. Effective send window bị giới hạn bởi cả hai.

Follow-up: Zero window và packet loss nhìn khác thế nào?

12. Khi nào chọn UDP?

Đáp án: Khi cần datagram/latency và application chấp nhận loss hoặc tự xây reliability, như DNS/media/QUIC substrate. Phải tự thiết kế timeout, ordering, dedupe.

Follow-up: UDP fragmentation nguy hiểm gì?

13. Connect timeout khác request timeout?

Đáp án: Connect bao TCP establishment; TLS handshake, response headers, read idle và overall deadline là budget khác. Gộp chúng làm mất attribution.

Follow-up: Deadline nên truyền qua service chain thế nào?

NAT, firewall, DNS

14. SNAT và DNAT khác nhau?

Đáp án: SNAT đổi source, thường cho egress; DNAT đổi destination, thường publish service. Conntrack giữ mapping để dịch return traffic.

Follow-up: Hairpin NAT là gì?

15. NAT gateway cạn port biểu hiện thế nào?

Đáp án: New outbound connections timeout/fail trong khi established connections có thể còn tốt; phụ thuộc destination tuple và churn. Đo conntrack/SNAT allocation.

Follow-up: Mitigation ngắn hạn và dài hạn?

16. DROP khác REJECT?

Đáp án: DROP im lặng làm caller chờ timeout; REJECT trả ICMP/RST sớm. Chọn theo threat model và khả năng vận hành, không mặc định drop luôn an toàn hơn.

Follow-up: Tại sao reject giúp internal debugging?

17. DNS recursive và authoritative khác nhau?

Đáp án: Recursive resolver đi tìm/cached answer cho client; authoritative server công bố dữ liệu zone mà nó có thẩm quyền.

Follow-up: Delegation lỗi được thấy ở bước nào?

18. TTL 60 giây có nghĩa sau 60 giây mọi client đổi IP?

Đáp án: Không. Cache được tạo ở thời điểm khác nhau, client có policy riêng và connection cũ vẫn sống. TTL chỉ quy định freshness của DNS RRset cache.

Follow-up: Lập kế hoạch DNS cutover thế nào?

19. NXDOMAIN khác NODATA và SERVFAIL?

Đáp án: NXDOMAIN: tên không tồn tại; NODATA: tên có nhưng không có type hỏi; SERVFAIL: resolver không hoàn thành xử lý/validation. Chúng có retry/cache semantics khác.

Follow-up: Negative caching dựa vào record nào?

20. Vì sao dig đúng nhưng application resolve sai?

Đáp án: Có thể khác resolver, search domain, nsswitch, hosts file, namespace, cache JVM hoặc query A/AAAA. Phải chạy trong cùng context.

Follow-up: Java DNS cache ảnh hưởng rollout thế nào?

TLS, Linux và production

21. SNI và ALPN làm gì?

Đáp án: SNI báo hostname để server chọn certificate/virtual host; ALPN thương lượng application protocol như HTTP/2. Cả hai nằm trong handshake (SNI được mã hóa khi dùng ECH).

Follow-up: Kết nối bằng IP có thể fail TLS vì sao?

22. Certificate hợp lệ cần kiểm tra gì?

Đáp án: Chain tới trust anchor, signature, thời gian, hostname/SAN, key usage/constraints và policy revocation nếu áp dụng.

Follow-up: Chain thiếu intermediate biểu hiện thế nào?

23. TLS termination ở LB tạo rủi ro gì?

Đáp án: Hop LB→app có thể plaintext hoặc verify identity sai; forwarded headers có thể bị spoof; observability phải tách handshake/client và upstream.

Follow-up: Khi nào cần re-encryption hoặc mTLS?

24. Network namespace cô lập gì?

Đáp án: Network devices, routes, rules, firewall, sockets, port namespace và related state. Process vẫn có thể chia sẻ filesystem/cgroup nếu không cô lập riêng.

Follow-up: Veth và bridge kết nối container ra sao?

25. 0.0.0.0:8080127.0.0.1:8080 khác nhau?

Đáp án: Wildcard bind nhận trên mọi local IPv4 address phù hợp policy; loopback bind chỉ reachable trong cùng network namespace qua loopback.

Follow-up: Container publish port thay đổi điều gì?

26. Capture thấy bad TCP checksum có chắc packet hỏng?

Đáp án: Không. TX checksum offload có thể khiến capture trước NIC thấy checksum chưa tính; kiểm tra capture phía nhận hoặc offload metadata.

Follow-up: GRO/TSO ảnh hưởng packet size thế nào?

27. “Ping được nhưng HTTPS không được” nói lên gì?

Đáp án: Chỉ chứng minh ICMP echo path ở thời điểm đó. TCP/443, route theo address family, firewall, TLS/SNI hoặc application vẫn có thể lỗi.

Follow-up: Trình tự test ít xâm lấn?

28. Quy trình xử lý intermittent network latency?

Đáp án: Chốt scope/timeline/tuple; so known-good; vẽ path; correlate DNS/connect/TLS/app timing, socket queues, retransmit/drop và dependency; test prediction; mitigate reversible; verify SLO.

Follow-up: Làm sao tránh retry storm khi incident?

← ProductionLabs →