Lesson 08 — Tầng giao vận: TCP
Bốn module tương tác: bắt tay 3 bước từng bước, mô phỏng mất gói & phát lại, cửa sổ trượt, bóc tách header TCP.
1. Bắt tay 3 bước (3-way handshake)
Nhập ISN của Client và Server, sau đó bấm từng bước để xem SYN / SYN-ACK / ACK với số SEQ/ACK cụ thể.
Nhấn "Bước tiếp theo" để bắt đầu mô phỏng bắt tay 3 bước TCP.
ISN (Initial Sequence Number) được chọn ngẫu nhiên trong thực tế — ở đây bạn tự nhập để dễ theo dõi.
2. Truyền tin cậy — mất gói & phát lại
Mô phỏng gửi 5 segment, chọn segment nào bị mất. TCP phát hiện qua 3 duplicate ACK và phát lại ngay (fast retransmit).
Log sự kiện xuất hiện ở đây khi bạn bấm "Bước tiếp"...
3. Cửa sổ trượt & Throughput
Kéo slider để thay đổi window size và RTT. Xem cách throughput thay đổi — và tại sao RTT cao (vệ tinh) làm tắc nghẽn throughput dù đường truyền rộng.
1 KB512 KB1 MB
1 ms400 ms800 ms
Đang tính...
Lý do RTT ảnh hưởng throughput: Sender gửi tối đa W byte, rồi phải đợi ACK trước khi gửi tiếp. Thời gian chờ = RTT. Trong 1 RTT chỉ gửi được W byte → Throughput = W/RTT. Đường vệ tinh RTT=600ms, W=64KB → chỉ 0.85 Mbps dù đường truyền có thể là hàng Gbps.
4. Bóc tách header TCP
Nhập các trường header, chọn flags, rồi click vào từng vùng màu trong sơ đồ header để xem giải thích chi tiết.
Flags:
Click vào vùng màu trong header để xem giải thích chi tiết trường đó.
Ví dụ handshake SYN: bật flag SYN, SEQ=100, ACK=0, DST Port=80 (HTTP) → đây là gói SYN mở kết nối tới web server.
Thử: bật SYN+ACK, SEQ=300, ACK=101 → đây là SYN-ACK phản hồi từ server.