Bắt tay TCP ba bước
Mở một kết nối TCP tốn ba gói và một vòng khứ hồi trước khi gửi được byte đầu tiên. Đo thật chuỗi SYN, SYN-ACK, ACK bằng tcpdump.
Mở một kết nối TCP tốn ba gói và một vòng khứ hồi trước khi gửi được byte đầu tiên. Đo thật chuỗi SYN, SYN-ACK, ACK bằng tcpdump.
Dưới mất gói 10%, TCP giao đủ 100% nhưng đuôi trễ vọt lên 200-800 ms vì phát lại; UDP giữ trễ thấp đều nhưng rơi ~10%. Đo thật bằng netem.
send() nuốt được khoảng 1,5 lần tổng hai đệm socket rồi mới chặn, dù người nhận không đọc byte nào. Đó là kiểm soát luồng của TCP — đo thật.
Một máy khách không mở được 65535 kết nối tới một cổng — trần thật là số cổng tạm (~28232), và nó đếm theo từng bộ bốn. Đo thật bằng container.
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. Và mất 10% gói có thể thành mất 37% datagram — đo thật bằng container.
Với cửa sổ cố định, thông lượng TCP tỉ lệ nghịch với RTT — RTT gấp đôi thì tốc độ còn một nửa. Đo thật bằng netem, và một cái bẫy slow-start.