Bird
Raised Fist0
Computer Networksknowledge~20 mins

Reliable data transfer mechanisms in Computer Networks - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Reliable Transfer Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
How does the Stop-and-Wait protocol ensure reliable data transfer?

Which mechanism in the Stop-and-Wait protocol guarantees that data is reliably received by the receiver?

AThe sender uses a checksum to detect errors but does not wait for acknowledgments.
BThe sender sends all packets continuously without waiting for any response.
CThe sender waits for an acknowledgment before sending the next packet.
DThe receiver sends data packets back to the sender to confirm receipt.
Attempts:
2 left
💡 Hint

Think about how the sender knows the receiver got the data correctly.

📋 Factual
intermediate
2:00remaining
What is the main disadvantage of the Go-Back-N protocol?

Which of the following best describes the main drawback of the Go-Back-N reliable data transfer protocol?

AIt retransmits all packets after a lost or corrupted packet, even if some were received correctly.
BIt requires the receiver to buffer out-of-order packets.
CIt sends only one packet at a time, causing low throughput.
DIt does not use sequence numbers, causing confusion in packet order.
Attempts:
2 left
💡 Hint

Consider what happens when a packet is lost in the middle of a sequence.

🔍 Analysis
advanced
2:00remaining
Comparing Selective Repeat and Go-Back-N protocols

Which statement correctly compares Selective Repeat and Go-Back-N protocols in terms of efficiency and complexity?

AGo-Back-N requires the receiver to buffer out-of-order packets, making it more complex than Selective Repeat.
BGo-Back-N is more efficient and simpler because it retransmits only lost packets without buffering.
CSelective Repeat is simpler because it sends one packet at a time and waits for acknowledgment.
DSelective Repeat is more efficient but more complex because it retransmits only erroneous packets and requires buffering out-of-order packets.
Attempts:
2 left
💡 Hint

Think about how each protocol handles lost or corrupted packets and buffering.

❓ Reasoning
advanced
2:00remaining
Why is sequence numbering important in reliable data transfer?

What is the primary reason reliable data transfer protocols use sequence numbers for packets?

ATo detect duplicate packets and ensure correct ordering of received data.
BTo encrypt the data for security during transmission.
CTo increase the speed of data transmission by skipping acknowledgments.
DTo compress the data and reduce packet size.
Attempts:
2 left
💡 Hint

Consider what happens if packets arrive out of order or are repeated.

🚀 Application
expert
2:00remaining
Calculating throughput in a Stop-and-Wait protocol

Assume a Stop-and-Wait protocol is used over a link with a bandwidth of 1 Mbps and a round-trip time (RTT) of 100 ms. Each data packet is 1000 bits. What is the approximate throughput of this protocol?

A5,000 bits per second
B10,000 bits per second
C1,000,000 bits per second
D100,000 bits per second
Attempts:
2 left
💡 Hint

Throughput = Packet size / (RTT + Transmission time). Calculate transmission time as packet size divided by bandwidth.

Practice

(1/5)
1. What is the main purpose of reliable data transfer in computer networks?
easy
A. To reduce the size of data packets
B. To ensure data arrives complete and without errors
C. To encrypt data for security
D. To increase the speed of data transmission

Solution

  1. Step 1: Understand the goal of reliable data transfer

    Reliable data transfer aims to make sure data sent from one point reaches the other point correctly and fully.
  2. Step 2: Compare options with this goal

    Only To ensure data arrives complete and without errors matches this goal by focusing on completeness and error-free delivery.
  3. Final Answer:

    To ensure data arrives complete and without errors -> Option B
  4. Quick Check:

    Reliable data transfer = complete, error-free data [OK]
Hint: Reliable means complete and correct data delivery [OK]
Common Mistakes:
  • Confusing reliability with speed
  • Thinking encryption is part of reliability
  • Assuming data size reduction is reliability
2. Which of the following is a key feature of the Stop-and-Wait protocol?
easy
A. Sender waits for acknowledgment before sending next packet
B. Sender sends all packets without waiting
C. Receiver sends data back to sender
D. Packets are sent in random order

Solution

  1. Step 1: Recall Stop-and-Wait protocol behavior

    In Stop-and-Wait, the sender sends one packet and waits for an acknowledgment before sending the next.
  2. Step 2: Match this behavior to options

    Sender waits for acknowledgment before sending next packet correctly describes this waiting for acknowledgment step.
  3. Final Answer:

    Sender waits for acknowledgment before sending next packet -> Option A
  4. Quick Check:

    Stop-and-Wait = wait for ACK before next send [OK]
Hint: Stop-and-Wait means wait for ACK before next send [OK]
Common Mistakes:
  • Thinking sender sends all packets at once
  • Confusing receiver's role with sender's
  • Assuming packets are sent randomly
3. Consider a Sliding Window protocol with window size 3. If the sender has sent packets 1, 2, and 3, and receives an acknowledgment for packet 1, which packets can it send next?
medium
A. Packets 4 and 5
B. Packets 4 only
C. Packets 2 and 3 again
D. Packets 5 and 6

Solution

  1. Step 1: Understand Sliding Window with size 3

    The sender can have up to 3 unacknowledged packets sent at once.
  2. Step 2: Analyze acknowledgment for packet 1

    Receiving ACK for packet 1 means the window slides forward by one, freeing space to send one more packet. Since packets 2 and 3 are still unacknowledged, the sender can send packets 4 and 5 to fill the window.
  3. Final Answer:

    Packets 4 and 5 -> Option A
  4. Quick Check:

    Sliding window size 3 allows 3 unacknowledged packets; after ACK 1, packets 2 and 3 remain unacknowledged, so 2 new packets (4 and 5) can be sent [OK]
Hint: ACK moves window; send as many as window size allows [OK]
Common Mistakes:
  • Sending two packets after one ACK
  • Resending already acknowledged packets
  • Sending packets beyond window size
4. A sender using Stop-and-Wait protocol never receives an acknowledgment. What is the most likely problem?
medium
A. The receiver is sending acknowledgments for wrong packets
B. The sender is sending packets too fast
C. The acknowledgment packets are lost or delayed
D. The sender window size is too large

Solution

  1. Step 1: Understand Stop-and-Wait behavior on lost ACKs

    If acknowledgments are lost or delayed, the sender waits or resends the same packet repeatedly.
  2. Step 2: Evaluate options for no ACK received

    The acknowledgment packets are lost or delayed correctly identifies lost or delayed ACKs as the cause; other options do not fit Stop-and-Wait protocol behavior.
  3. Final Answer:

    The acknowledgment packets are lost or delayed -> Option C
  4. Quick Check:

    No ACK = lost/delayed ACK packets [OK]
Hint: No ACK means lost or delayed acknowledgment packets [OK]
Common Mistakes:
  • Blaming sender speed in Stop-and-Wait
  • Confusing window size with Stop-and-Wait
  • Assuming receiver sends wrong ACKs
5. In a network using Sliding Window protocol, if the window size is 4 and the sender receives duplicate acknowledgments for packet 3, what should the sender do to ensure reliable data transfer?
hard
A. Stop sending packets until timeout occurs
B. Ignore duplicates and continue sending new packets
C. Increase the window size to 6
D. Resend packet 4 immediately to recover from possible loss

Solution

  1. Step 1: Understand duplicate ACKs in Sliding Window

    Duplicate ACKs usually indicate a lost packet after the acknowledged one.
  2. Step 2: Identify sender's response to duplicate ACKs

    The sender should resend the next expected packet (packet 4) immediately to recover lost data.
  3. Step 3: Evaluate other options

    Ignoring duplicates risks data loss; increasing window size or stopping sending are not correct immediate responses.
  4. Final Answer:

    Resend packet 4 immediately to recover from possible loss -> Option D
  5. Quick Check:

    Duplicate ACKs = resend missing packet [OK]
Hint: Duplicate ACKs signal lost packet; resend it immediately [OK]
Common Mistakes:
  • Ignoring duplicate acknowledgments
  • Changing window size unnecessarily
  • Waiting for timeout instead of fast resend
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