Bird
Raised Fist0
Computer Networksknowledge~20 mins

Why TCP provides reliable delivery in Computer Networks - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
TCP Reliability Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
How does TCP ensure data arrives correctly?

Which mechanism does TCP use to confirm that data sent from one computer is received correctly by another?

ATCP relies on the application layer to verify data delivery.
BTCP uses acknowledgments (ACKs) to confirm receipt of data packets.
CTCP uses IP addresses to guarantee data delivery.
DTCP sends data only once without checking if it arrives.
Attempts:
2 left
💡 Hint

Think about how a sender knows the receiver got the message.

📋 Factual
intermediate
2:00remaining
What role does sequence numbering play in TCP?

Why does TCP assign sequence numbers to data packets?

ATo assign IP addresses to packets.
BTo encrypt the data for security purposes.
CTo identify the order of packets and detect missing data.
DTo compress data before sending.
Attempts:
2 left
💡 Hint

Think about how TCP keeps track of the order of data.

🚀 Application
advanced
2:00remaining
What happens if a TCP packet is lost during transmission?

Consider a TCP connection where a packet is lost. What does TCP do to handle this situation?

ATCP waits for an acknowledgment and retransmits the lost packet if no ACK is received in time.
BTCP closes the connection immediately.
CTCP ignores the lost packet and continues sending new data.
DTCP switches to UDP to send the data.
Attempts:
2 left
💡 Hint

Think about how TCP ensures all data arrives despite losses.

🔍 Analysis
advanced
2:00remaining
Why is TCP called a connection-oriented protocol?

Which reason best explains why TCP is considered connection-oriented?

ABecause TCP establishes a connection before data transfer and manages it until completion.
BBecause TCP sends data without establishing any connection.
CBecause TCP uses IP addresses to route packets.
DBecause TCP does not guarantee data delivery.
Attempts:
2 left
💡 Hint

Think about what happens before TCP starts sending data.

❓ Reasoning
expert
2:00remaining
How does TCP handle data flow to avoid overwhelming the receiver?

Which mechanism does TCP use to prevent sending too much data too quickly to the receiver?

ATCP sends data as fast as possible without any control.
BTCP uses fixed-size packets regardless of receiver status.
CTCP relies on the network layer to control data flow.
DTCP uses flow control with a sliding window to match the receiver's capacity.
Attempts:
2 left
💡 Hint

Consider how TCP adapts to the receiver's ability to process data.

Practice

(1/5)
1. Why does TCP provide reliable delivery of data over a network?
easy
A. Because it uses acknowledgments and retransmissions to ensure data arrives correctly
B. Because it sends data without checking for errors
C. Because it uses a fixed packet size for all transmissions
D. Because it only sends data once without retries

Solution

  1. Step 1: Understand TCP's error checking

    TCP uses acknowledgments to confirm receipt of data and detects lost packets.
  2. Step 2: Recognize retransmission mechanism

    If a packet is lost or not acknowledged, TCP resends it to ensure delivery.
  3. Final Answer:

    Because it uses acknowledgments and retransmissions to ensure data arrives correctly -> Option A
  4. Quick Check:

    TCP reliability = acknowledgments + retransmissions [OK]
Hint: Remember: TCP confirms and resends lost data [OK]
Common Mistakes:
  • Thinking TCP sends data only once
  • Confusing TCP with UDP which is unreliable
  • Believing fixed packet size ensures reliability
2. Which of the following is a correct feature of TCP that helps in reliable delivery?
easy
A. Does not use acknowledgments
B. Uses sequence numbers to order packets
C. Ignores lost packets
D. Sends packets without any control

Solution

  1. Step 1: Identify TCP's packet ordering method

    TCP assigns sequence numbers to packets to keep track of their order.
  2. Step 2: Confirm role of sequence numbers in reliability

    Sequence numbers help TCP detect missing or out-of-order packets for retransmission.
  3. Final Answer:

    Uses sequence numbers to order packets -> Option B
  4. Quick Check:

    Sequence numbers = packet order in TCP [OK]
Hint: Sequence numbers keep packets in order [OK]
Common Mistakes:
  • Believing TCP ignores lost packets
  • Thinking TCP does not use acknowledgments
  • Assuming TCP sends packets without control
3. Consider this simplified TCP process:
Sender sends packets 1, 2, 3.
Receiver acknowledges packets 1 and 3 only.
What will TCP do next?
medium
A. Resend packet 2 because it was not acknowledged
B. Stop sending any packets
C. Resend packets 1 and 3 again
D. Ignore missing acknowledgments and continue

Solution

  1. Step 1: Analyze acknowledgments received

    Packets 1 and 3 are acknowledged, but packet 2 is missing acknowledgment.
  2. Step 2: Understand TCP retransmission behavior

    TCP will resend packet 2 because it assumes it was lost or not received.
  3. Final Answer:

    Resend packet 2 because it was not acknowledged -> Option A
  4. Quick Check:

    Missing ack triggers retransmission [OK]
Hint: Unacknowledged packets get resent by TCP [OK]
Common Mistakes:
  • Assuming TCP stops sending after missing ack
  • Thinking TCP resends already acknowledged packets
  • Believing TCP ignores missing acknowledgments
4. A programmer wrote this about TCP:
"TCP does not resend lost packets, it just waits for the receiver to ask again."

What is wrong with this statement?
medium
A. TCP uses UDP to resend lost packets
B. TCP never resends packets
C. TCP actively resends lost packets without waiting for receiver requests
D. TCP sends packets only once and ignores losses

Solution

  1. Step 1: Understand TCP retransmission mechanism

    TCP uses timers and acknowledgments to detect lost packets and resends them automatically.
  2. Step 2: Identify error in the statement

    The statement wrongly says TCP waits for receiver requests, but TCP resends proactively.
  3. Final Answer:

    TCP actively resends lost packets without waiting for receiver requests -> Option C
  4. Quick Check:

    TCP retransmits lost packets automatically [OK]
Hint: TCP resends lost packets without waiting [OK]
Common Mistakes:
  • Thinking receiver must request retransmission
  • Confusing TCP with protocols that do not resend
  • Believing TCP uses UDP for retransmission
5. In a network with frequent packet loss, how does TCP maintain reliable delivery while avoiding network congestion?
hard
A. By switching to UDP when packet loss is detected
B. By sending all packets repeatedly without checking acknowledgments
C. By ignoring lost packets and continuing to send new data quickly
D. By using acknowledgments, retransmissions, and adjusting sending rate with congestion control

Solution

  1. Step 1: Recognize TCP's reliability features

    TCP uses acknowledgments and retransmissions to ensure all data arrives correctly.
  2. Step 2: Understand TCP congestion control

    TCP adjusts its sending rate based on network feedback to avoid overwhelming the network.
  3. Step 3: Combine reliability and congestion control

    These mechanisms together allow TCP to deliver data reliably even with packet loss and avoid congestion collapse.
  4. Final Answer:

    By using acknowledgments, retransmissions, and adjusting sending rate with congestion control -> Option D
  5. Quick Check:

    Reliability + congestion control = TCP success [OK]
Hint: TCP controls speed and resends lost data [OK]
Common Mistakes:
  • Thinking TCP sends packets repeatedly without control
  • Believing TCP ignores packet loss
  • Assuming TCP switches to UDP automatically
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard