Bird
Raised Fist0
Computer Networksknowledge~5 mins

Why UDP is faster than TCP in Computer Networks - Performance Analysis

Choose your learning style10 modes available
Time Complexity: Why UDP is faster than TCP
O(n)
Understanding Time Complexity

We want to understand why UDP generally works faster than TCP in computer networks.

Specifically, how the steps each protocol takes affect the time it takes to send data.

Scenario Under Consideration

Analyze the time complexity of the following simplified protocol steps.


// TCP sending data
establishConnection()
while (dataToSend) {
  sendPacket()
  waitForAck()
}
closeConnection()

// UDP sending data
while (dataToSend) {
  sendPacket()
}

This code shows TCP needing extra steps like connection setup and waiting for acknowledgments, while UDP just sends packets without waiting.

Identify Repeating Operations

Look at what repeats as data size grows.

  • Primary operation: Sending packets repeatedly for each piece of data.
  • How many times: Once per data packet, proportional to data size.
  • TCP also repeats waiting for acknowledgments after each packet, adding extra steps.
How Execution Grows With Input

As the amount of data grows, the number of packets sent grows the same way.

Input Size (n packets)Approx. Operations TCPApprox. Operations UDP
10~30 (includes setup, send, ack, close)~10 (just send)
100~300~100
1000~3000~1000

Pattern observation: TCP does roughly three times more operations than UDP for the same data size because of extra steps.

Final Time Complexity

Time Complexity: O(n)

This means both protocols take time proportional to the amount of data, but TCP has more steps per data unit, making it slower.

Common Mistake

[X] Wrong: "UDP is faster because it sends fewer packets than TCP."

[OK] Correct: Both send the same number of packets for the same data; UDP is faster because it skips extra steps like connection setup and acknowledgments.

Interview Connect

Understanding how protocols handle data helps you explain network performance clearly and shows you can think about efficiency in real systems.

Self-Check

"What if TCP did not wait for acknowledgments after each packet? How would that affect its time complexity compared to UDP?"

Practice

(1/5)
1. Why is UDP generally faster than TCP in data transmission?
easy
A. Because UDP sends data in smaller packets
B. Because UDP uses more complex handshakes
C. Because UDP encrypts data before sending
D. Because UDP does not perform error checking or require acknowledgments

Solution

  1. Step 1: Understand UDP's transmission method

    UDP sends data without waiting for confirmation or checking for errors, which reduces delay.
  2. Step 2: Compare with TCP's method

    TCP waits for acknowledgments and checks data integrity, which adds overhead and slows transmission.
  3. Final Answer:

    Because UDP does not perform error checking or require acknowledgments -> Option D
  4. Quick Check:

    UDP skips checks = faster transmission [OK]
Hint: UDP skips checks and confirmations, making it faster [OK]
Common Mistakes:
  • Thinking UDP uses complex handshakes like TCP
  • Assuming UDP encrypts data by default
  • Believing UDP sends smaller packets always
2. Which of the following is a correct statement about UDP compared to TCP?
easy
A. UDP guarantees delivery of all packets
B. UDP requires a connection before sending data
C. UDP does not establish a connection before sending data
D. UDP retransmits lost packets automatically

Solution

  1. Step 1: Review UDP connection behavior

    UDP is connectionless, meaning it sends data without establishing a connection first.
  2. Step 2: Contrast with TCP connection setup

    TCP requires a handshake to establish a connection before data transfer.
  3. Final Answer:

    UDP does not establish a connection before sending data -> Option C
  4. Quick Check:

    UDP is connectionless = no handshake [OK]
Hint: Remember UDP is connectionless, TCP is connection-oriented [OK]
Common Mistakes:
  • Confusing UDP with TCP's connection setup
  • Assuming UDP guarantees packet delivery
  • Thinking UDP retransmits lost packets
3. Consider this scenario: A video streaming app uses UDP instead of TCP. What is the likely result?
medium
A. Video plays faster but may have occasional glitches
B. Video data is encrypted automatically
C. Video stops frequently to rebuffer
D. Video plays slower but with perfect quality

Solution

  1. Step 1: Understand UDP's speed and reliability

    UDP sends data quickly but does not guarantee delivery, so some data may be lost.
  2. Step 2: Apply to video streaming context

    Faster delivery means smoother playback but occasional glitches if packets are lost.
  3. Final Answer:

    Video plays faster but may have occasional glitches -> Option A
  4. Quick Check:

    UDP fast but unreliable = faster video with glitches [OK]
Hint: UDP favors speed over perfect delivery in streaming [OK]
Common Mistakes:
  • Expecting perfect quality with UDP
  • Assuming UDP causes frequent buffering
  • Believing UDP encrypts data automatically
4. A developer wrote code using TCP but wants to speed up data transfer by switching to UDP. What must they fix in their code?
medium
A. Add more error checking and retransmission logic
B. Remove connection setup and acknowledgment handling
C. Encrypt all data packets before sending
D. Increase packet size to maximum allowed

Solution

  1. Step 1: Identify TCP-specific code parts

    TCP code includes connection setup (handshake) and waiting for acknowledgments.
  2. Step 2: Adjust for UDP's connectionless nature

    UDP does not use connection setup or acknowledgments, so these must be removed to speed up transfer.
  3. Final Answer:

    Remove connection setup and acknowledgment handling -> Option B
  4. Quick Check:

    UDP skips handshake and ACK = remove those code parts [OK]
Hint: Remove TCP handshake and ACK code for UDP speed [OK]
Common Mistakes:
  • Adding error checking instead of removing it
  • Thinking encryption affects UDP speed directly
  • Increasing packet size without protocol change
5. You need to design a real-time multiplayer game where speed is critical but occasional lost messages are acceptable. Why is UDP a better choice than TCP?
hard
A. UDP is faster because it skips error correction and acknowledgments, reducing delay
B. UDP guarantees all messages arrive in order, ensuring game consistency
C. UDP encrypts data automatically, making it more secure for games
D. UDP compresses data to reduce bandwidth usage

Solution

  1. Step 1: Analyze game requirements for speed and tolerance

    Real-time games need fast updates and can tolerate some lost data without big issues.
  2. Step 2: Compare UDP and TCP features

    UDP skips error correction and acknowledgments, so it sends data faster with less delay than TCP.
  3. Step 3: Eliminate incorrect options

    UDP does not guarantee order, does not encrypt automatically, and does not compress data by default.
  4. Final Answer:

    UDP is faster because it skips error correction and acknowledgments, reducing delay -> Option A
  5. Quick Check:

    UDP speed by skipping checks fits real-time games [OK]
Hint: UDP skips checks for speed, ideal for real-time games [OK]
Common Mistakes:
  • Assuming UDP guarantees message order
  • Thinking UDP encrypts data automatically
  • Believing UDP compresses data by default
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