Trắc nghiệm Mạng máy tính Bài: Giao thức lặp có lựa chọn là một trong những đề thi thuộc Chương 4: TẦNG VẬN TẢI 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 giao thức truyền dữ liệu đáng tin cậy (RDT) tiên tiến nhất sử dụng kỹ thuật đường ống (Pipelining). Giao thức lặp có lựa chọn (Selective Repeat – SR) được thiết kế để tối ưu hóa hiệu suất băng thông bằng cách chỉ gửi lại những gói tin thực sự bị mất hoặc lỗi, khác biệt hoàn toàn so với việc gửi lại hàng loạt của Go-Back-N.
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ư: nguyên lý hoạt động chi tiết của SR, cách thức quản lý cửa sổ gửi và cửa sổ nhận, cơ chế xác nhận riêng lẻ (individual ACK), việc đệm các gói tin không đúng thứ tự ở phía nhận, và cách xử lý các gói tin bị mất hoặc trùng lặp. 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à độ tin cậy của việc truyền tải dữ liệu trong 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: Giao thức lặp có lựa chọn
Câu 1.Giao thức lặp có lựa chọn (Selective Repeat – SR) thuộc loại giao thức truyền dữ liệu đáng tin cậy nào?
A. Stop-and-Wait.
B. Không sử dụng pipelining.
C. Giao thức không tin cậy.
D. Pipelining.
Câu 2.Mục tiêu chính của giao thức Selective Repeat là gì?
A. Chỉ gửi lại toàn bộ dữ liệu khi có lỗi.
B. Giảm độ phức tạp của phía nhận.
C. Đảm bảo tốc độ truyền tải tối đa mà không quan tâm đến mất gói.
D. Cải thiện hiệu suất bằng cách chỉ gửi lại những gói tin bị mất hoặc bị hỏng cụ thể.
Câu 3.Trong giao thức Selective Repeat, loại xác nhận (Acknowledgement – ACK) nào thường được sử dụng?
A. ACK lũy tiến (Cumulative ACK).
B. ACK duy nhất (Single ACK).
C. NAK (Negative Acknowledgement).
D. ACK riêng lẻ (Individual ACK) hoặc ACK có lựa chọn (Selective ACK – SACK).
Câu 4.Khi bên nhận trong SR nhận được một gói tin ngoài thứ tự (ví dụ: gói 5 đến trước gói 3), nó sẽ làm gì?
A. Loại bỏ gói 5 và yêu cầu gửi lại gói 3.
B. Chỉ gửi ACK cho gói 3.
C. Gửi lại tất cả các gói tin đã nhận.
D. Lưu trữ (đệm) gói 5 và chờ đợi gói 3.
Câu 5.Ưu điểm chính của Selective Repeat so với Go-Back-N là gì?
A. Đơn giản hơn trong việc triển khai.
B. Yêu cầu ít bộ đệm hơn ở bên nhận.
C. Có thể phát hiện lỗi nhanh hơn.
D. Sử dụng băng thông hiệu quả hơn do chỉ gửi lại các gói tin thực sự bị mất hoặc lỗi.
Câu 6.Nhược điểm chính của giao thức Selective Repeat là gì?
A. Không thể hoạt động trên các đường truyền tốc độ cao.
B. Không hỗ trợ việc kiểm soát luồng.
C. Dễ bị tắc nghẽn mạng.
D. Phức tạp hơn trong triển khai, yêu cầu bộ đệm lớn hơn và quản lý thứ tự ở cả bên gửi và bên nhận.
Câu 7.Nếu gói tin số 3 bị mất trong SR, và bên gửi đã truyền đến gói số 7, gói tin nào sẽ được gửi lại khi timer của gói 3 hết hạn?
A. Gói 3, 4, 5, 6, 7.
B. Chỉ gói 3, 4, 5.
C. Gói 3 và gói 7.
D. Chỉ gói 3.
Câu 8.Để xử lý các gói tin trùng lặp và gói tin ngoài thứ tự, bên nhận trong SR cần duy trì một “cửa sổ nhận” (Receiver Window) có chức năng gì?
A. Để xác định tốc độ gửi dữ liệu.
B. Để đếm số lượng ACK đã nhận.
C. Để lưu trữ các gói tin đã gửi.
D. Để định nghĩa phạm vi các số thứ tự của gói tin mà nó sẵn sàng chấp nhận và đệm.
Câu 9.Kích thước cửa sổ gửi (Sender Window) và cửa sổ nhận (Receiver Window) trong SR thường có mối quan hệ như thế nào để tránh sự mơ hồ về số thứ tự?
A. Kích thước cửa sổ gửi phải nhỏ hơn cửa sổ nhận.
B. Kích thước cửa sổ nhận phải lớn hơn kích thước cửa sổ gửi.
C. Không có mối quan hệ cố định.
D. Kích thước cửa sổ gửi và cửa sổ nhận thường bằng nhau và tối đa bằng một nửa dải số thứ tự (hoặc \( N \le 2^{k-1} \) nếu k là số bit của sequence number).
Câu 10.Khi bên gửi trong SR nhận được một ACK riêng lẻ cho một gói tin, nó sẽ làm gì?
A. Gửi lại gói tin đó.
B. Gửi lại tất cả các gói tin.
C. Ngừng gửi dữ liệu.
D. Đánh dấu gói tin đó là đã được nhận thành công và trượt cửa sổ gửi nếu gói tin đó là gói đầu tiên trong cửa sổ.
Câu 11.Trong SR, nếu một gói tin bị hỏng (lỗi bit), bên nhận sẽ làm gì?
A. Gửi ACK cho gói tin đó.
B. Chuyển tiếp gói tin đó mà không xử lý.
C. Bỏ qua gói tin đó và chờ timer hết hạn.
D. Loại bỏ gói tin đó và gửi NAK (hoặc không gửi ACK) để yêu cầu gửi lại.
Câu 12.Selective Repeat được sử dụng trong giao thức TCP hiện đại thông qua cơ chế nào để tối ưu hóa việc gửi lại?
A. Chỉ sử dụng cơ chế Stop-and-Wait.
B. Chỉ sử dụng cơ chế Go-Back-N.
C. Sử dụng cơ chế Fast Retransmit mà không cần ACK.
D. Sử dụng Selective Acknowledgement (SACK).
Câu 13.Khi bên gửi trong SR không nhận được ACK cho một gói tin trong thời gian quy định, điều gì sẽ xảy ra?
A. Bên gửi sẽ gửi lại tất cả các gói tin trong cửa sổ.
B. Bên gửi sẽ ngừng truyền dữ liệu.
C. Bên gửi sẽ chờ ACK vĩnh viễn.
D. Timer cho gói tin đó sẽ hết hạn, kích hoạt việc gửi lại chỉ gói tin đó.
Câu 14.Khái niệm “window” trong SR có thể bị thu hẹp hoặc mở rộng dựa trên yếu tố nào?
A. Tốc độ CPU của bên gửi.
B. Khoảng cách địa lý giữa hai thiết bị.
C. Loại cáp mạng được sử dụng.
D. Tình trạng bộ đệm của bên nhận và tình trạng tắc nghẽn mạng.
Câu 15.Điều gì sẽ xảy ra nếu kích thước cửa sổ nhận trong SR quá nhỏ so với khả năng gửi của bên gửi?
A. Hiệu suất mạng sẽ tăng lên.
B. Không có ảnh hưởng.
C. Gói tin sẽ được mã hóa.
D. Bộ đệm của bên nhận có thể bị tràn và hiệu suất mạng sẽ giảm.
Câu 16.Để có thể đệm các gói tin ngoài thứ tự, bên nhận trong SR cần có loại bộ đệm nào?
A. Bộ đệm chỉ chứa gói tin đúng thứ tự.
B. Bộ đệm chỉ chứa gói tin đã gửi.
C. Bộ đệm chỉ chứa ACK.
D. Bộ đệm có khả năng lưu trữ các gói tin nhận được nhưng chưa đến lượt xử lý.
Câu 17.Trong SR, khi nào bên gửi sẽ trượt cửa sổ gửi của nó?
A. Khi tất cả các gói tin đã được gửi đi.
B. Khi bộ đếm thời gian hết hạn.
C. Khi bên nhận gửi NAK.
D. Khi nhận được ACK cho gói tin đầu tiên trong cửa sổ gửi.
Câu 18.Sự phức tạp của giao thức Selective Repeat nằm ở đâu?
A. Trong việc mã hóa dữ liệu.
B. Trong việc thiết lập kết nối.
C. Trong việc gửi ACK.
D. Yêu cầu quản lý bộ đệm phức tạp và các bộ đếm thời gian riêng biệt cho mỗi gói tin chưa được ACK.
Câu 19.Giả sử dải số thứ tự là \( 0, 1, 2, 3 \) (2 bit). Nếu kích thước cửa sổ gửi là 3, điều gì có thể xảy ra?
A. Không có vấn đề gì.
B. Gói tin sẽ luôn bị lỗi.
C. Tốc độ truyền sẽ rất chậm.
D. Có thể xảy ra tình trạng không phân biệt được gói tin mới và gói tin trùng lặp.
Câu 20.Để tránh vấn đề mơ hồ về số thứ tự trong SR, kích thước cửa sổ (Sender Window hoặc Receiver Window) tối đa là bao nhiêu nếu dải số thứ tự là \( S \) (ví dụ: \( S = 2^k \))?
A. \( S \)
B. \( S-1 \)
C. \( S+1 \)
D. \( S/2 \)
Câu 21.Giao thức nào có hiệu suất sử dụng băng thông tốt nhất trong các giao thức RDT trên kênh truyền có độ trễ cao và mất gói ngẫu nhiên?
A. Stop-and-Wait.
B. Go-Back-N.
C. TCP (không SACK).
D. Selective Repeat.
Câu 22.Làm thế nào để bên nhận trong SR báo cho bên gửi về việc một gói tin cụ thể đã bị mất hoặc hỏng?
A. Bằng cách gửi một ACK lũy tiến cũ.
B. Bằng cách tắt kết nối.
C. Bằng cách tăng tốc độ truyền.
D. Bằng cách không gửi ACK cho gói tin đó (kết hợp với timeout của bên gửi) hoặc gửi NAK cụ thể.
Câu 23.Giao thức nào đòi hỏi cả bên gửi và bên nhận phải có khả năng đệm các gói tin ngoài thứ tự?
A. Stop-and-Wait.
B. Go-Back-N.
C. TCP (khi không sử dụng SACK).
D. Selective Repeat.
Câu 24.Trong SR, nếu bên nhận mong đợi gói tin số 3 nhưng nhận được gói tin số 4, nó sẽ gửi ACK cho gói tin nào?
A. Gói 3.
B. Gói 4.
C. Gói 5.
D. ACK cho gói tin số 2 (nếu đó là gói cuối cùng đúng thứ tự được nhận) hoặc ACK riêng lẻ cho gói 4.
Câu 25.Khi thiết kế một giao thức RDT, việc sử dụng Selective Repeat có thể giúp tối ưu hóa yếu tố nào?
A. Giảm độ phức tạp của code.
B. Tăng tính tương thích ngược.
C. Giảm dung lượng bộ đệm.
D. Hiệu quả sử dụng băng thông và giảm số lượng gửi lại không cần thiết.