Practice
Solution
Step 1: Understand the safety property of HTTP methods
GET is defined as a safe method, meaning it does not modify server state and is used to retrieve data.Step 2: Analyze other methods
POST, PUT, and DELETE modify server state and are not safe methods.Final Answer:
Option A -> Option AQuick Check:
GET is the only safe method here, suitable for data retrieval without side effects.
- Confusing POST with GET as both can send data
- Thinking PUT is safe because it replaces data
- Assuming DELETE can be used to retrieve data
Solution
Step 1: Understand the role of TCP sequence numbers in packet ordering
TCP sequence numbers uniquely identify bytes in the data stream, allowing the receiver to reorder packets that arrive out of order.Step 2: Analyze each option
When the receiver needs to reorder out-of-sequence packets before delivering data to the application is correct because reordering depends on sequence numbers. When the sender wants to detect duplicate acknowledgments to trigger fast retransmission relates to ACKs, not sequence numbers directly. When the receiver uses it to calculate the retransmission timeout (RTO) is incorrect because RTO calculation uses RTT estimates, not sequence numbers. When the sender uses it to encrypt the data payload for security is unrelated to sequence numbers.Final Answer:
Option A -> Option AQuick Check:
Sequence numbers enable ordering, not encryption or RTO calculation.
- Confusing sequence numbers with ACK numbers
- Thinking sequence numbers affect RTO calculation
- Assuming sequence numbers relate to encryption
Solution
Step 1: Understand TCP reliability mechanism
TCP uses acknowledgments (ACKs) to confirm receipt of packets.Step 2: Lost packet detection
If a packet is lost, the sender does not receive an ACK for it within a timeout period.Step 3: Retransmission trigger
After timeout, the sender retransmits the lost packet.Step 4: Evaluate options
The receiver sends an acknowledgment for the last correctly received packet, triggering retransmission after timeout correctly describes the process. The sender immediately retransmits the lost packet without waiting for any signal is incorrect because retransmission waits for timeout or duplicate ACKs. The receiver sends a negative acknowledgment (NAK) to request retransmission of the lost packet is incorrect; TCP does not use NAKs. The sender continues sending new packets without retransmitting lost ones ignores retransmission, violating TCP reliability.Final Answer:
Option B -> Option BQuick Check:
TCP relies on ACK timeouts to detect loss and trigger retransmission.
- Believing TCP uses negative acknowledgments (NAKs)
- Thinking retransmission happens immediately without waiting
- Assuming sender ignores lost packets
Solution
Step 1: Understand RTO purpose
RTO determines when the sender retransmits unacknowledged segments, ideally matching network delay.Step 2: Analyze fixed vs adaptive RTO
Fixed RTO cannot adapt to changing RTTs, causing retransmissions either too early (wasting bandwidth) or too late (increasing latency).Step 3: Evaluate options
Because fixed RTO values prevent the sender from using sequence numbers effectively is incorrect; sequence number usage is unaffected by RTO. Because fixed RTO values increase the TCP header size, reducing throughput is false; RTO does not affect header size. Because fixed RTO values cause the receiver to drop out-of-order packets more frequently is unrelated to RTO. Because a fixed RTO cannot adjust to varying network delays, leading to either premature retransmissions or long delays correctly identifies the main drawback.Final Answer:
Option D -> Option DQuick Check:
Adaptive RTO improves efficiency by matching network conditions.
- Believing fixed RTO affects TCP header size
- Confusing RTO with receiver packet handling
- Assuming RTO impacts sequence number usage
Solution
Step 1: Understand TTL expiration
Once TTL expires, cached records are considered stale and should not be served without validation.Step 2: Behavior on authoritative server failure
The recursive resolver tries to refresh the record by querying the authoritative server.Step 3: Outcome if authoritative server is down
If unreachable, the resolver returns an error (e.g., SERVFAIL) to the client.Step 4: Why other options are incorrect
The recursive resolver will immediately return a SERVFAIL error to the client since the authoritative server is unreachable ignores retry attempt; The recursive resolver will return the expired cached record to the client to avoid resolution failure violates TTL rules by serving expired data; The recursive resolver will query the root server again to find an alternative authoritative server is incorrect because root servers do not provide alternative authoritative servers.Final Answer:
Option A -> Option AQuick Check:
Expired TTL triggers retry; failure returns error -> correct
- Assuming expired cache is always served
- Thinking root servers provide alternative authoritative servers
- Believing resolver returns error immediately without retry
