Mạng 02/09/2026 9 phút

Cùng một IP đích, đổi prefix một chữ số là nó lật từ 'hàng xóm' thành 'người xa lạ' — tôi hỏi thẳng nhân Linux

Subnet mask, chứ không phải bản thân địa chỉ, mới vẽ ra biên mạng con. Cùng một IP có thể trên-link (ARP thẳng) hay ngoài-link (qua router) tùy prefix. Đo thật bằng ip route get, kèm sự thật: nhân KHÔNG cấm gán .0 và .255 — đó chỉ là quy ước.

Mạng 02/09/2026 9 phút

Vì sao gói đầu tiên tới một máy hàng xóm luôn chậm hơn — và một IP không ai giữ khiến kết nối 'treo' thay vì báo lỗi

Trước khi gửi khung đầu tiên tới một máy cùng mạng con, máy phải dịch IP sang MAC bằng một vòng ARP tốn ~190 micro giây — hỏi to, đáp riêng, rồi cache. Trả một lần cho mỗi hàng xóm. Đo thật bằng tcpdump, kèm vì sao ping một IP trống lại kẹt ở INCOMPLETE.

Mạng 02/09/2026 9 phút

connect() có cảm giác 'kết nối ngay' — bắt gói ra mới thấy nó tốn 3 gói và trọn một RTT trước byte đầu

Mở một kết nối TCP phải trao đổi SYN, SYN-ACK, ACK — ba gói và một vòng khứ hồi trước khi gửi được byte dữ liệu nào. Trên loopback là vài chục micro giây, nhưng qua hai châu lục là 150ms trả cho mỗi kết nối mới. Đo thật bằng tcpdump, kèm vì sao mọi connection pool tồn tại để né đúng cái thuế này.

Mạng 02/09/2026 9 phút

Thêm 10% mất gói: TCP giao đủ 100% nhưng đuôi trễ vọt lên 842ms, UDP giữ trễ thấp mà rơi 9%

Mạng hoàn hảo thì TCP và UDP gần như giống hệt nhau — khác biệt chỉ lộ ra khi mất gói. Dưới 10% loss, TCP mua độ tin cậy bằng đuôi trễ gấp gần 2000 lần UDP; UDP mua trễ thấp đều bằng việc chấp nhận mất. Và cái đo bằng trung vị suýt lừa tôi kết luận ngược. Đo thật bằng netem.

Mạng 02/09/2026 10 phút

'Một máy mở được 65535 kết nối' — tôi đo ra trần thật chỉ 28232, và con số 65535 che mất điều quan trọng

Một máy khách không mở được 65535 kết nối tới một đích — trần thật là kích thước dải cổng tạm (~28232), và nó đếm theo từng bộ bốn nên đổi cổng đích là nhân đôi hạn ngạch. Cộng thêm sự thật khó chịu: một kết nối vừa đóng vẫn ghim cổng hàng chục giây. Đo thật trong container.

Mạng 02/09/2026 10 phút

Đường rơi 10% gói, mà datagram lớn của bạn mất tới 37% — số học tàn nhẫn của phân mảnh IP

Vượt MTU thì gói hoặc bị cắt thành mảnh, hoặc bị chặn thẳng nếu đặt cờ DF (ngưỡng đúng 1472 byte trên MTU 1500). Và mất một mảnh là hỏng cả datagram: 10% mất gói biến thành 37% mất datagram khi cắt 5 mảnh. Đo thật từng byte trong container, kèm cú gắn netem nhầm chỗ.