Ethernet protocol basics in Computer Networks - Time & Space Complexity
When working with Ethernet, it's important to understand how the time to send data grows as the amount of data increases.
We want to know how the protocol handles data transmission as network traffic grows.
Analyze the time complexity of sending multiple Ethernet frames over a network.
for each frame in frames:
wait until the line is free
send frame
wait for acknowledgment or timeout
This code sends each Ethernet frame one by one, waiting for the line to be free before sending.
Look at what repeats as more frames are sent.
- Primary operation: Sending each frame after waiting for the line to be free.
- How many times: Once per frame, repeated for all frames in the list.
As the number of frames increases, the total time to send all frames grows roughly in direct proportion.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 waits and sends |
| 100 | 100 waits and sends |
| 1000 | 1000 waits and sends |
Pattern observation: Doubling the number of frames roughly doubles the total time needed.
Time Complexity: O(n)
This means the time to send frames grows linearly with the number of frames.
[X] Wrong: "Sending more frames doesn't affect total time much because Ethernet is fast."
[OK] Correct: Even though Ethernet is fast, each frame still takes time to send and wait for the line to be free, so more frames mean more total time.
Understanding how Ethernet handles multiple frames helps you think about network speed and delays in real systems.
"What if multiple devices could send frames at the same time? How would that affect the time complexity?"