Trắc nghiệm Mạng máy tính Bài: Truyền dữ liệu tin cậy là một trong những đề thi thuộc Chương 6: GIAO THỨC TCP trong học phần Mạng máy tính chuyên ngành Công Nghệ Thông Tin cấp độ Đại học. Phần này tập trung vào một trong những chức năng cốt lõi và quan trọng nhất của giao thức TCP ở tầng giao vận: đảm bảo dữ liệu được truyền tải một cách đáng tin cậy giữa hai ứng dụng trên mạng. Việc hiểu rõ các cơ chế này là nền tảng để nắm bắt cách TCP cung cấp dịch vụ chất lượng cao trên một mạng không tin cậy như Internet.
Trong bài học này, người học cần nắm được các nội dung trọng tâm như: khái niệm về truyền dữ liệu tin cậy (Reliable Data Transfer – RDT), các vấn đề cần giải quyết trên kênh truyền không tin cậy (mất gói, lỗi bit, trùng lặp, sai thứ tự), các cơ chế mà TCP sử dụng để đảm bảo độ tin cậy (số thứ tự, số xác nhận, timeout/retransmission, checksum, điều khiển luồng, điều khiển tắc nghẽn), và các kỹ thuật tối ưu như Fast Retransmit, Selective Acknowledgment (SACK). Việc hiểu rõ các kiến thức này sẽ là nền tảng vững chắc để phân tích, thiết kế và khắc phục sự cố liên quan đến hiệu suất và tính ổn định của các ứng dụng mạng.
Hãy cùng Dethitracnghiem.vn tìm hiểu về đề thi này và tham gia làm kiểm tra ngay lập tức!
Trắc nghiệm Mạng máy tính Bài: Truyền dữ liệu tin cậy
Câu 1.Mục tiêu chính của việc truyền dữ liệu tin cậy (Reliable Data Transfer – RDT) là gì?
A. Để tăng tốc độ truyền tải dữ liệu.
B. Để giảm thiểu chi phí phần cứng mạng.
C. Để mã hóa dữ liệu.
D. Đảm bảo dữ liệu được chuyển giao từ tiến trình gửi đến tiến trình nhận một cách chính xác, đúng thứ tự và đầy đủ, bất kể lỗi kênh truyền.
Câu 2.Giao thức TCP (Transmission Control Protocol) cung cấp dịch vụ truyền dữ liệu đáng tin cậy trên nền tảng của giao thức nào ở tầng dưới?
A. UDP (User Datagram Protocol).
B. HTTP (Hypertext Transfer Protocol).
C. FTP (File Transfer Protocol).
D. IP (Internet Protocol).
Câu 3.Cơ chế nào trong TCP được sử dụng để phát hiện và xử lý các lỗi bit trong header và dữ liệu của TCP segment?
A. Sequence Number.
B. Acknowledgment Number.
C. Window Size.
D. Checksum.
Câu 4.Trường “Sequence Number” (Số thứ tự) trong header TCP có mục đích gì trong việc đảm bảo độ tin cậy?
A. Để xác định kích thước gói tin.
B. Để đếm số lần gửi lại.
C. Để xác nhận các gói tin đã nhận.
D. Để theo dõi thứ tự của các byte dữ liệu và phát hiện các gói tin trùng lặp hoặc đến sai thứ tự.
Câu 5.Trường “Acknowledgment Number” (Số xác nhận) trong header TCP có ý nghĩa gì đối với việc truyền dữ liệu tin cậy?
A. Nó xác nhận gói tin hiện tại.
B. Nó chỉ ra gói tin bị lỗi.
C. Nó báo hiệu kết thúc kết nối.
D. Nó thông báo cho bên gửi về số byte tiếp theo mà bên nhận mong đợi nhận được, đồng thời xác nhận tất cả các byte trước đó đã được nhận.
Câu 6.Khi bên gửi TCP không nhận được ACK cho một segment đã gửi trong một khoảng thời gian nhất định, cơ chế nào sẽ được kích hoạt?
A. Điều khiển luồng (Flow Control).
B. Điều khiển tắc nghẽn (Congestion Control).
C. Đồng bộ hóa (Synchronization).
D. Bộ đếm thời gian (Retransmission Timer) và gửi lại (Retransmission).
Câu 7.Nếu một segment TCP bị mất trên đường truyền, bên gửi sẽ biết được điều đó thông qua cơ chế nào?
A. Ngay lập tức từ bên nhận.
B. Thông qua một thông báo lỗi từ router.
C. Bằng cách kiểm tra checksum.
D. Bộ đếm thời gian hết hạn hoặc nhận được nhiều ACK trùng lặp (Duplicate ACKs).
Câu 8.Cơ chế “Fast Retransmit” (Gửi lại nhanh) trong TCP được kích hoạt khi nào?
A. Khi bộ đếm thời gian hết hạn.
B. Khi một gói tin bị lỗi bit.
C. Khi bên nhận hết bộ đệm.
D. Khi bên gửi nhận được một số lượng nhất định (thường là 3) ACK trùng lặp cho cùng một segment.
Câu 9.Mục đích của “Fast Retransmit” là gì?
A. Để giảm số lượng gói tin được gửi đi.
B. Để tăng thời gian chờ ACK.
C. Để phát hiện tắc nghẽn.
D. Để gửi lại gói tin bị mất nhanh chóng hơn mà không cần chờ bộ đếm thời gian hết hạn, cải thiện hiệu suất.
Câu 10.Khái niệm “Cumulative Acknowledgment” (ACK lũy tiến) trong TCP có nghĩa là gì?
A. Mỗi gói tin đều phải có một ACK riêng.
B. ACK chỉ xác nhận gói tin cuối cùng.
C. ACK chỉ xác nhận gói tin bị lỗi.
D. Một ACK xác nhận rằng tất cả các byte (hoặc segment) có số thứ tự nhỏ hơn hoặc bằng số được chỉ định đã được nhận thành công.
Câu 11.Nếu một bên nhận TCP nhận được các segment ngoài thứ tự (ví dụ: segment 5 đến trước segment 3), nó sẽ làm gì?
A. Bỏ qua tất cả các segment ngoài thứ tự.
B. Gửi NAK cho các segment ngoài thứ tự.
C. Gửi lại ACK cho segment 3.
D. Lưu trữ (đệm) các segment ngoài thứ tự và chờ đợi segment còn thiếu.
Câu 12.Chức năng nào của TCP giúp ngăn bên gửi truyền dữ liệu quá nhanh làm tràn ngập bộ đệm của bên nhận?
A. Kiểm tra tổng (Checksum).
B. Gửi lại nhanh (Fast Retransmit).
C. Số thứ tự (Sequence Number).
D. Điều khiển luồng (Flow Control).
Câu 13.Chức năng nào của TCP giúp điều chỉnh tốc độ truyền dữ liệu để tránh làm quá tải tài nguyên mạng (như router), đặc biệt trong môi trường mạng có nhiều người dùng?
A. Điều khiển luồng (Flow Control).
B. Truyền dữ liệu đáng tin cậy.
C. Quản lý kết nối.
D. Điều khiển tắc nghẽn (Congestion Control).
Câu 14.Trong một kết nối TCP, “Receive Window” (Cửa sổ nhận) được bên nhận quảng bá có vai trò gì?
A. Xác định kích thước tối đa của một segment.
B. Chỉ ra số lượng segment đã được gửi.
C. Chỉ ra tổng số byte đã nhận.
D. Thông báo cho bên gửi về lượng không gian bộ đệm còn trống ở bên nhận, là một phần của điều khiển luồng.
Câu 15.Để xử lý vấn đề “gói tin trùng lặp” (duplicate packets) trong TCP, cơ chế nào được sử dụng?
A. Điều khiển luồng.
B. Điều khiển tắc nghẽn.
C. Fast Retransmit.
D. Số thứ tự (Sequence Number) kết hợp với bộ đệm của bên nhận để loại bỏ các gói tin đã nhận.
Câu 16.Cờ “ACK” trong header TCP được bật khi:
A. Thiết lập kết nối.
B. Yêu cầu một phản hồi.
C. Kết thúc kết nối.
D. Trường Acknowledgment Number có giá trị hợp lệ.
Câu 17.Giao thức nào cho phép TCP gửi lại các gói tin cụ thể bị mất thay vì toàn bộ dãy gói tin sau gói bị mất (như GBN)?
A. Fast Retransmit.
B. Flow Control.
C. Congestion Control.
D. Selective Acknowledgment (SACK).
Câu 18.Mục đích của việc sử dụng một bộ đếm thời gian (timer) trong TCP là gì?
A. Để đo thời gian phản hồi của server.
B. Để biết tổng thời gian của kết nối.
C. Để điều chỉnh kích thước cửa sổ nhận.
D. Để phát hiện các segment bị mất và kích hoạt việc gửi lại.
Câu 19.Giá trị của bộ đếm thời gian gửi lại (Retransmission Timeout – RTO) trong TCP thường được tính toán như thế nào?
A. Là một giá trị cố định.
B. Luôn bằng 1 giây.
C. Tùy thuộc vào tốc độ CPU của máy tính.
D. Được điều chỉnh động dựa trên thời gian khứ hồi trung bình (Round-Trip Time – RTT) và độ lệch của RTT.
Câu 20.Nếu một segment TCP bị mất và bên gửi đã gửi lại nó, sau đó nhận được ACK cho cả hai bản sao, điều gì sẽ xảy ra?
A. Cả hai bản sao đều được xử lý.
B. Chỉ bản sao đầu tiên được xử lý.
C. Kết nối bị lỗi.
D. Bản sao thứ hai sẽ bị bên nhận loại bỏ dựa trên số thứ tự.
Câu 21.Khái niệm “Persistent Timer” (Bộ đếm thời gian bền bỉ) trong TCP được sử dụng để giải quyết vấn đề gì?
A. Mất kết nối đột ngột.
B. Tắc nghẽn mạng nghiêm trọng.
C. Tấn công từ chối dịch vụ.
D. Tình huống bế tắc (deadlock) khi cửa sổ nhận bằng 0 và ACK quảng bá cửa sổ nhận bằng 0 bị mất.
Câu 22.Sự kết hợp của các cơ chế nào giúp TCP đạt được độ tin cậy?
A. Chỉ kiểm tra tổng và số thứ tự.
B. Chỉ điều khiển luồng và tắc nghẽn.
C. Chỉ bắt tay ba bước.
D. Kiểm tra tổng, số thứ tự, số xác nhận, bộ đếm thời gian, gửi lại, điều khiển luồng và điều khiển tắc nghẽn.
Câu 23.Khái niệm “Round-Trip Time” (RTT) là gì trong ngữ cảnh TCP?
A. Thời gian một gói tin di chuyển một chiều.
B. Thời gian xử lý gói tin trên router.
C. Thời gian thiết lập kết nối TCP.
D. Thời gian từ khi một segment được gửi cho đến khi nhận được ACK tương ứng.
Câu 24.Sự khác biệt cơ bản giữa TCP và UDP liên quan đến độ tin cậy là gì?
A. TCP nhanh hơn UDP.
B. UDP có kiểm soát tắc nghẽn.
C. TCP không yêu cầu ACK.
D. TCP đáng tin cậy và hướng kết nối, trong khi UDP không đáng tin cậy và không hướng kết nối.
Câu 25.Khi một ứng dụng cần truyền dữ liệu nhạy cảm mà không thể chấp nhận bất kỳ mất mát nào (ví dụ: truyền tệp ngân hàng), giao thức tầng giao vận nào nên được sử dụng?
A. UDP.
B. IP.
C. ICMP.
D. TCP.