NEW
Font size
S
M
L
XL
WorksheetsMMT-C3-Transport Layer
Total questions: 70
Worksheet time: 35mins
Name
Class
Date
1.
Tầng giao vận (Transport Layer) cung cấp "truyền thông logic" (logical communication) giữa các thực thể nào?
a)
Giữa các host (máy trạm) khác nhau.
b)
Giữa các tiến trình (processes) ứng dụng chạy trên các host khác nhau.
c)
Giữa các router trong mạng lõi.
d)
Giữa các card mạng (network interface) của các thiết bị.
2.
Giao thức nào dưới đây thuộc tầng giao vận của Internet cung cấp dịch vụ truyền dữ liệu tin cậy, hướng kết nối?
a)
IP
b)
UDP
c)
TCP
d)
HTTP
3.
Đơn vị dữ liệu (PDU) tại tầng giao vận được gọi là gì?
a)
Packet (Gói tin)
b)
Frame (Khung)
c)
Segment (Đoạn)
d)
Message (Thông điệp)
4.
Sự khác biệt chính giữa dịch vụ của tầng Giao vận và tầng Mạng (Network layer) là gì?
a)
Tầng giao vận cung cấp truyền thông logic giữa các host, tầng mạng giữa các tiến trình.
b)
Tầng giao vận cung cấp truyền thông logic giữa các tiến trình, tầng mạng giữa các host.
c)
Tầng giao vận chịu trách nhiệm định tuyến, tầng mạng chịu trách nhiệm kiểm soát lỗi.
d)
Tầng giao vận xử lý địa chỉ IP, tầng mạng xử lý địa chỉ Port.
5.
Dịch vụ nào sau đây **KHÔNG** được cung cấp bởi cả TCP và UDP?
a)
Kiểm tra lỗi (Error checking)
b)
Dồn kênh và phân kênh (Multiplexing/Demultiplexing)
c)
Đảm bảo băng thông (Bandwidth guarantees)
d)
Truyền dữ liệu giữa các tiến trình
6.
Quá trình "Dồn kênh" (Multiplexing) tại phía gửi thực hiện công việc gì?
a)
Phân chia thông điệp thành các segment nhỏ hơn.
b)
Xử lý dữ liệu từ nhiều socket, thêm tiêu đề (header) vận chuyển và chuyển xuống tầng mạng.
c)
Sử dụng thông tin trong header để chuyển segment đến đúng socket.
d)
Thiết lập kết nối giữa sender và receiver.
7.
Để phân kênh (demultiplexing) một gói tin UDP, host nhận sử dụng thông tin nào?
a)
Chỉ số hiệu cổng đích (destination port number).
b)
Bộ 4 thông tin (Source IP, Source Port, Dest IP, Dest Port).
c)
Chỉ địa chỉ IP đích.
d)
Chỉ số hiệu cổng nguồn (source port number).
8.
Một socket TCP được định danh bởi bộ thông tin nào (tuple)?
a)
2-tuple: (Địa chỉ IP đích, Số hiệu cổng đích).
b)
3-tuple: (Địa chỉ IP nguồn, Địa chỉ IP đích, Số hiệu cổng đích).
c)
4-tuple: (Địa chỉ IP nguồn, Số hiệu cổng nguồn, Địa chỉ IP đích, Số hiệu cổng đích).
d)
5-tuple: (Giao thức, IP nguồn, Port nguồn, IP đích, Port đích).
9.
Giả sử Host A gửi hai segment TCP khác nhau đến Host B qua cổng 80. Một segment từ Client X, một từ Client Y. Host B sẽ xử lý như thế nào?
a)
Host B chuyển cả hai segment vào cùng một socket server cổng 80.
b)
Host B sử dụng Source IP và Source Port để phân kênh chúng vào hai socket khác nhau.
c)
Host B từ chối segment thứ hai vì cổng 80 đang bận.
d)
Host B chuyển chúng vào hàng đợi UDP.
10.
Trong cấu trúc segment TCP/UDP, trường Source Port và Destination Port có kích thước bao nhiêu bit?
a)
8 bit
b)
16 bit
c)
32 bit
d)
64 bit
11.
Tại sao UDP được gọi là giao thức "best effort"?
a)
Vì nó luôn cố gắng sửa lỗi tốt nhất có thể.
b)
Vì nó đảm bảo dữ liệu đến đích nhanh nhất.
c)
Vì các segment có thể bị mất hoặc đến không đúng thứ tự mà không có cơ chế phục hồi mặc định.
d)
Vì nó sử dụng thuật toán nén dữ liệu tốt nhất.
12.
Tính năng nào sau đây là ưu điểm của UDP so với TCP?
a)
Kiểm soát tắc nghẽn (Congestion control).
b)
Không mất thời gian thiết lập kết nối (No connection establishment latency).
c)
Đảm bảo truyền tin cậy.
d)
Truyền dữ liệu theo thứ tự (Ordered delivery).
13.
Kích thước header của UDP là bao nhiêu byte?
a)
8 bytes
b)
20 bytes
c)
40 bytes
d)
64 bytes
14.
Giá trị Checksum trong UDP được tính toán như thế nào?
a)
Phép cộng bù 1 (1's complement sum) của các từ 16-bit trong segment.
b)
Phép cộng bù 2 của toàn bộ dữ liệu.
c)
Mã CRC-32.
d)
Hàm băm MD5.
15.
Nếu phía nhận tính toán checksum và thấy kết quả bằng với trường checksum trong header, điều này có nghĩa là gì?
a)
Chắc chắn không có lỗi bit xảy ra.
b)
Không phát hiện thấy lỗi, nhưng vẫn có xác suất nhỏ là có lỗi (errors nonetheless).
c)
Gói tin đã bị sửa đổi trên đường truyền.
d)
Gói tin phải được gửi lại.
16.
Giao thức ứng dụng nào sau đây thường sử dụng UDP?
a)
HTTP/1.1
b)
FTP
c)
DNS
d)
SMTP
17.
HTTP/3 sử dụng giao thức vận chuyển nào để đạt được độ tin cậy và kiểm soát tắc nghẽn?
a)
TCP thuần túy.
b)
UDP với giao thức QUIC ở tầng ứng dụng.
c)
SCTP.
d)
IPsec.
18.
Trong giao thức rdt2.0 (kênh truyền có lỗi bit), bên nhận sử dụng gì để thông báo cho bên gửi biết gói tin bị lỗi?
a)
Timeout
b)
ACK (Acknowledgement)
c)
NAK (Negative Acknowledgement)
d)
Sequence number
19.
Vấn đề nghiêm trọng ("fatal flaw") của rdt2.0 là gì?
a)
Nó không xử lý được mất gói tin.
b)
Nếu ACK hoặc NAK bị lỗi, bên gửi không biết phải làm gì (có thể gửi lặp dữ liệu).
c)
Nó quá phức tạp để cài đặt.
d)
Bộ đệm bên nhận bị tràn.
20.
Để giải quyết vấn đề ACK/NAK bị lỗi trong rdt2.1, giải pháp được đưa ra là gì?
a)
Sử dụng Timeout.
b)
Thêm số thứ tự (Sequence number) vào gói tin (0 và 1).
c)
Tăng kích thước checksum.
d)
Sử dụng nhiều kênh truyền song song.
21.
Giao thức rdt2.2 loại bỏ việc sử dụng NAK bằng cách nào?
a)
Bên gửi tự động gửi lại sau một khoảng thời gian.
b)
Bên nhận gửi ACK cho gói tin cuối cùng nhận đúng, kèm theo số thứ tự của gói đó.
c)
Bên nhận im lặng khi gặp lỗi.
d)
Bên gửi gửi kèm bản sao của dữ liệu.
22.
Trong rdt3.0 (kênh truyền có lỗi và mất mát), cơ chế nào được sử dụng để phát hiện mất gói tin?
a)
Checksum
b)
NAK
c)
Countdown Timer (Bộ đếm thời gian).
d)
Pipelining
23.
Hiệu suất (Utilization - U) của giao thức Stop-and-Wait là rất thấp vì:
a)
Tốc độ truyền của đường truyền quá chậm.
b)
Bên gửi phải đợi một khoảng thời gian RTT (cộng thời gian xử lý) chỉ để gửi một gói tin nhỏ.
c)
Kích thước gói tin quá lớn.
d)
Checksum chiếm quá nhiều băng thông.
24.
Kỹ thuật "Pipelining" cho phép điều gì?
a)
Gửi nhiều gói tin "đang bay" (in-flight) chưa được xác nhận cùng lúc.
b)
Tăng tốc độ lan truyền tín hiệu.
c)
Giảm kích thước gói tin.
d)
Loại bỏ hoàn toàn lỗi bit.
25.
Trong giao thức Go-Back-N (GBN), bên nhận sẽ làm gì khi nhận được một gói tin không đúng thứ tự (out-of-order)?
a)
Đưa vào bộ đệm (buffer) để sắp xếp lại.
b)
Loại bỏ (discard) và gửi lại ACK cho gói tin đúng thứ tự cao nhất đã nhận.
c)
Gửi NAK cho gói tin bị thiếu.
d)
Yêu cầu bên gửi giảm tốc độ.
26.
Trong GBN, ACK là loại "tích lũy" (cumulative ACK). Điều này có nghĩa là gì?
a)
ACK(n) xác nhận chỉ gói tin n.
b)
ACK(n) xác nhận tất cả các gói tin có số thứ tự đến và bao gồm n.
c)
ACK(n) yêu cầu gửi lại gói tin n.
d)
ACK(n) xác nhận gói tin n+1 đã đến.
27.
Trong giao thức Selective Repeat (SR), bên gửi sẽ làm gì khi bị timeout gói tin n?
a)
Gửi lại tất cả các gói tin từ n trở đi.
b)
Chỉ gửi lại duy nhất gói tin n.
c)
Gửi lại gói tin n và n-1.
d)
Thiết lập lại kết nối.
28.
Trong SR, bên nhận xử lý gói tin không đúng thứ tự như thế nào?
a)
Loại bỏ ngay lập tức.
b)
Đưa vào bộ đệm (buffer), gửi ACK riêng cho gói đó.
c)
Gửi NAK cho các gói tin bị thiếu.
d)
Chuyển ngay lên tầng ứng dụng.
29.
Điều kiện về kích thước cửa sổ (Window Size - N) trong Selective Repeat để tránh sự nhập nhằng giữa gói tin mới và gói tin cũ (khi dùng k-bit cho số thứ tự) là gì?
a)
N <= 2^(k-1)
b)
N <= 2^(k-1)
c)
N <= 2^k
d)
N <= 2^(k+1)
30.
TCP là giao thức hướng byte (byte stream). Số thứ tự (Sequence Number) trong header TCP đại diện cho:
a)
Số thứ tự của segment.
b)
Số thứ tự của byte dữ liệu đầu tiên trong segment đó.
c)
Tổng số byte đã gửi.
d)
Số lượng segment đã được ACK.
31.
Số xác nhận (Acknowledgement Number) trong TCP có ý nghĩa gì?
a)
Số thứ tự của gói tin vừa nhận được.
b)
Số thứ tự của byte tiếp theo mà bên nhận đang chờ đợi từ bên gửi.
c)
Số thứ tự của byte cuối cùng nhận được.
d)
Kích thước cửa sổ nhận.
32.
Giá trị `SampleRTT` trong TCP được đo như thế nào?
a)
Khoảng thời gian từ khi gửi segment đến khi nhận ACK, bao gồm cả các gói truyền lại.
b)
Khoảng thời gian từ khi gửi segment đến khi nhận ACK, bỏ qua các gói truyền lại.
c)
Trung bình cộng của tất cả các lần đo RTT trước đó.
d)
Được cấu hình cứng bởi quản trị mạng.
33.
Công thức tính `EstimatedRTT` (RTT ước lượng) sử dụng kỹ thuật gì?
a)
Trung bình cộng đơn giản.
b)
Trung bình động trọng số mũ (EWMA - Exponential Weighted Moving Average).
c)
Lấy giá trị lớn nhất trong 10 mẫu gần nhất.
d)
Lấy giá trị nhỏ nhất để tối ưu hóa.
34.
Khoảng thời gian `TimeoutInterval` của TCP thường được đặt là:
a)
`EstimatedRTT`
b)
`SampleRTT`
c)
`EstimatedRTT + 4 * DevRTT` (Safety Margin).
d)
`2 * EstimatedRTT`
35.
TCP sử dụng cơ chế nào để kích hoạt truyền lại nhanh (Fast Retransmit) mà không cần đợi timeout?
a)
Nhận được 1 NAK.
b)
Nhận được 3 ACK trùng lặp (Triple duplicate ACKs).
c)
Bộ đệm bên nhận bị đầy.
d)
Giá trị TTL của gói tin bằng 0.
36.
Cờ (Flag) nào trong TCP Header được dùng để thiết lập kết nối?
a)
FIN
b)
RST
c)
SYN
d)
PSH
37.
Cờ nào dùng để ngắt kết nối?
a)
SYN
b)
FIN
c)
URG
d)
ACK
38.
Mục đích của Kiểm soát luồng (Flow Control) trong TCP là gì?
a)
Ngăn không cho bên gửi làm tràn bộ đệm của bên nhận.
b)
Ngăn không cho bên gửi làm tắc nghẽn mạng lõi.
c)
Đảm bảo dữ liệu đến đúng thứ tự.
d)
Tăng tốc độ truyền dữ liệu.
39.
Bên nhận thông báo lượng dữ liệu nó có thể chấp nhận thêm thông qua trường nào trong TCP Header?
a)
Sequence Number
b)
Acknowledgement Number
c)
Receive Window (`rwnd`)
d)
Checksum
40.
Kích thước của `rwnd` được tính toán dựa trên:
a)
Băng thông đường truyền.
b)
Dung lượng còn trống trong bộ đệm nhận (RcvBuffer).
c)
Số lượng gói tin bị mất.
d)
Giá trị cấu hình `MaxSegmentSize` (MSS).
41.
Quy trình bắt tay 3 bước (3-way handshake) của TCP diễn ra theo trình tự các cờ nào?
a)
SYN -> SYN -> ACK
b)
SYN -> ACK -> SYN
c)
SYN -> SYN-ACK -> ACK
d)
ACK -> SYN-ACK -> ACK
42.
Trong quá trình bắt tay 3 bước, giá trị `SYNbit` được đặt bằng 1 ở những bước nào?
a)
Chỉ bước 1.
b)
Bước 1 và Bước 2.
c)
Bước 2 và Bước 3.
d)
Cả 3 bước.
43.
Trạng thái nào sau đây của Server biểu thị nó đang sẵn sàng chấp nhận kết nối từ Client?
a)
ESTABLISHED
b)
LISTEN
c)
SYN_RCVD
d)
TIME_WAIT
44.
Tại sao quy trình đóng kết nối TCP cần đến 4 bước (hoặc trao đổi FIN-ACK từ cả hai phía)?
a)
Vì TCP là đơn công.
b)
Vì TCP là song công (full-duplex), mỗi chiều phải được đóng độc lập.
c)
Để đảm bảo checksum cuối cùng là chính xác.
d)
Để giải phóng địa chỉ IP.
45.
Tắc nghẽn mạng khác với kiểm soát luồng ở điểm nào?
a)
Tắc nghẽn xử lý vấn đề ở nút mạng (router/buffer) do quá nhiều nguồn gửi; Kiểm soát luồng xử lý vấn đề ở bên nhận.
b)
Tắc nghẽn xử lý vấn đề tràn bộ đệm bên nhận; Kiểm soát luồng xử lý vấn đề mạng lõi.
c)
Tắc nghẽn chỉ xảy ra với UDP; Kiểm soát luồng chỉ xảy ra với TCP.
d)
Hai khái niệm này là một.
46.
TCP sử dụng biến nào để giới hạn tốc độ gửi dữ liệu nhằm kiểm soát tắc nghẽn?
a)
`rwnd` (Receive Window)
b)
`cwnd` (Congestion Window)
c)
`ssthresh` (Slow Start Threshold)
d)
`MSS` (Maximum Segment Size)
47.
Lượng dữ liệu chưa được xác nhận (unACKed data) tối đa mà bên gửi TCP được phép gửi là:
a)
`min(rwnd, cwnd)`
b)
`max(rwnd, cwnd)`
c)
`rwnd + cwnd`
d)
Chỉ phụ thuộc vào `cwnd`.
48.
Thuật toán AIMD trong TCP Congestion Control viết tắt của:
a)
Additive Increase, Multiplicative Decrease.
b)
Automatic Increase, Manual Decrease.
c)
Aggressive Increase, Moderate Decrease.
d)
Average Increase, Minimum Decrease.
49.
Trong giai đoạn "Cộng tuyến tính" (Congestion Avoidance), `cwnd` thay đổi như thế nào sau mỗi RTT (giả sử không có lỗi)?
a)
Tăng gấp đôi.
b)
Tăng thêm 1 MSS.
c)
Giảm một nửa.
d)
Giữ nguyên.
50.
Giai đoạn "Slow Start" của TCP thực chất có tốc độ tăng trưởng như thế nào?
a)
Tăng tuyến tính (chậm).
b)
Tăng theo hàm mũ (rất nhanh).
c)
Tăng ngẫu nhiên.
d)
Tăng theo hàm logarit.
51.
Sự kiện nào khiến TCP chuyển từ Slow Start sang Congestion Avoidance?
a)
`cwnd` đạt tới giá trị `ssthresh`.
b)
Nhận được 1 ACK.
c)
Hết thời gian Timeout.
d)
`rwnd` bằng 0.
52.
Khi phát hiện mất gói tin qua sự kiện Timeout, TCP Tahoe thực hiện hành động gì?
a)
Đặt `ssthresh` = `cwnd`/2, sau đó đặt `cwnd` = 1 MSS (quay về Slow Start).
b)
Đặt `cwnd` = `cwnd`/2 (vẫn ở Congestion Avoidance).
c)
Giữ nguyên `cwnd`.
d)
Tăng `cwnd` để bù đắp mất mát.
53.
TCP Reno xử lý sự kiện "3 ACK trùng lặp" (Fast Recovery) khác Tahoe như thế nào?
a)
Nó reset `cwnd` về 1 MSS giống Tahoe.
b)
Nó thực hiện Fast Recovery: `ssthresh` = `cwnd`/2, và `cwnd` mới = `ssthresh` + 3 MSS (không về 1).
c)
Nó bỏ qua việc giảm `cwnd`.
d)
Nó chuyển sang dùng UDP.
54.
"Fairness" (Tính công bằng) của TCP có nghĩa là:
a)
Nếu có K kết nối TCP chia sẻ đường truyền băng thông R, mỗi kết nối sẽ nhận trung bình R/K.
b)
Các kết nối UDP sẽ được ưu tiên hơn TCP.
c)
Kết nối nào bắt đầu trước sẽ chiếm toàn bộ băng thông.
d)
Kết nối nào có RTT nhỏ hơn sẽ luôn chiếm hết băng thông.
55.
Trong TCP, nếu `SampleRTT` dao động quá lớn, giá trị `TimeoutInterval` sẽ:
a)
Giảm đi để phản ứng nhanh hơn.
b)
Tăng lên (do cộng thêm 4*DevRTT) để tránh timeout sớm không cần thiết (premature timeout).
c)
Giữ nguyên không đổi.
d)
Bằng đúng `SampleRTT`.
56.
Tại sao trong tính toán Checksum lại sử dụng "Wraparound" (cộng phần tràn)?
a)
Để đảm bảo kết quả luôn là 16 bit.
b)
Để mã hóa dữ liệu.
c)
Để tăng tốc độ tính toán.
d)
Để tương thích với IPv6.
57.
Trong TCP, Byte stream number được đếm dựa trên:
a)
Số lượng segment.
b)
Số lượng bit.
c)
Số lượng byte dữ liệu (payload) được gửi.
d)
Thời gian gửi.
58.
Giả sử Host A gửi 1 segment có Seq=92, chứa 8 byte dữ liệu. Sau đó gửi tiếp segment có Seq=100. Nếu segment đầu tiên bị mất nhưng segment thứ hai đến nơi, Host B sẽ ACK giá trị nào (giả sử trước đó đã nhận hết đến 91)?
a)
ACK=100
b)
ACK=108
c)
ACK=92 (Vì TCP dùng cumulative ACK, nó vẫn chờ byte 92).
d)
NAK=92
59.
Cơ chế ECN (Explicit Congestion Notification) liên quan đến sự phối hợp của các tầng nào?
a)
Chỉ tầng Giao vận.
b)
Tầng IP (đánh dấu bit trong IP header) và Tầng Giao vận (đánh dấu bit C, E trong TCP header).
c)
Tầng Ứng dụng và Tầng Mạng.
d)
Tầng Liên kết dữ liệu.
60.
Giao thức TCP CUBIC (mặc định trong Linux) khác TCP Reno ở điểm nào trong việc tăng `cwnd`?
a)
Tăng tuyến tính thuần túy.
b)
Tăng theo hàm bậc 3 (cubic function) khoảng cách thời gian tới điểm bão hòa Wmax.
c)
Tăng theo hàm số mũ liên tục.
d)
Dựa trên độ trễ (delay-based).
61.
Trong mô hình Selective Repeat, nếu kích thước cửa sổ là N=4, các số thứ tự là 0,1,2,3,4,5,6,7,8. Gói tin 2 bị mất. Gói 3, 4, 5 đến nơi. Bên nhận sẽ làm gì với gói 3, 4, 5?
a)
Loại bỏ tất cả.
b)
Buffer lại và gửi ACK cho từng gói (ACK 3, ACK 4, ACK 5).
c)
Buffer lại nhưng gửi ACK 2 (cumulative).
d)
Chuyển ngay lên tầng ứng dụng.
62.
"Head-of-Line (HOL) blocking" trong HTTP/1.1 trên TCP xảy ra do:
a)
Mất gói tin khiến toàn bộ luồng dữ liệu bị dừng lại chờ truyền lại, chặn các đối tượng khác phía sau.
b)
Server xử lý quá chậm.
c)
Router từ chối gói tin.
d)
Do sử dụng UDP.
63.
QUIC (Quick UDP Internet Connections) giải quyết vấn đề HOL blocking bằng cách:
a)
Sử dụng TCP nhiều luồng.
b)
Chạy trên UDP và hỗ trợ đa luồng (streams) độc lập ở tầng ứng dụng/giao vận mới.
c)
Loại bỏ hoàn toàn việc kiểm soát lỗi.
d)
Tăng kích thước cửa sổ vô hạn.
64.
TCP Reno giảm `cwnd` xuống một nửa khi nào?
a)
Khi xảy ra Timeout.
b)
Khi nhận được 3 ACK trùng lặp.
c)
Khi nhận được gói tin FIN.
d)
Khi RTT tăng cao.
65.
Trong tính toán TCP Throughput thực tế (cho đường truyền tốc độ cao), thông lượng tỷ lệ nghịch với:
a)
Kích thước MSS.
b)
Căn bậc hai của xác suất mất gói (p) và RTT.
c)
Số lượng router.
d)
Dung lượng RAM của máy tính.
66.
Một kết nối TCP đang ở trạng thái `ESTABLISHED`. Khi nhận được gói tin có cờ FIN, nó sẽ chuyển sang trạng thái nào (theo phía nhận FIN trước)?
a)
CLOSED
b)
CLOSE_WAIT
c)
LAST_ACK
d)
FIN_WAIT_1
67.
"Delay-based TCP congestion control" (như TCP BBR) cố gắng làm gì?
a)
Làm đầy bộ đệm của router (buffer bloat).
b)
Giữ cho "đường ống" vừa đủ đầy nhưng không làm tăng độ trễ hàng đợi (keep pipe just full, but not fuller).
c)
Gây ra mất gói để đo băng thông.
d)
Luôn gửi với tốc độ thấp nhất.
68.
Giả sử `EstimatedRTT` = 100ms, `SampleRTT` mới đo được = 120ms, alpha = 0.125. Giá trị `EstimatedRTT` mới là:
a)
102.5 ms ( 0.875*100 + 0.125*120 )
b)
110 ms
c)
120 ms
d)
100 ms
69.
Tại sao TCP handshake cần số thứ tự ban đầu (Initial Sequence Number) được chọn ngẫu nhiên?
a)
Để bảo mật và tránh nhầm lẫn với các segment cũ còn tồn tại trên mạng.
b)
Để tiết kiệm bộ nhớ.
c)
Để đơn giản hóa việc cài đặt.
d)
Để đồng bộ đồng hồ hệ thống.
70.
Một segment TCP có Sequence Number là 1000, độ dài dữ liệu là 500 bytes. Segment tiếp theo sẽ có Sequence Number là bao nhiêu?
a)
1001
b)
1050
c)
1500
d)
2000
Reset
