Distance vector routing (RIP) in Computer Networks - Time & Space Complexity
When studying Distance Vector Routing, it is important to understand how the routing updates scale as the network grows.
We want to know how the time to update routing tables changes when more routers join the network.
Analyze the time complexity of the routing update process in RIP.
for each router in network:
for each neighbor of router:
send routing table to neighbor
for each entry in routing table:
update distance if better path found
wait for next update interval
This code shows how each router sends its routing table to neighbors and updates its own table based on received information.
Look at what repeats during the routing update process.
- Primary operation: Each router sends its routing table to all neighbors and updates its table entries.
- How many times: For each router, this happens once per update interval, and involves checking all neighbors and all routing entries.
As the number of routers (n) increases, each router has more neighbors and more routing entries to process.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | About 10 routers x neighbors x 10 entries |
| 100 | About 100 routers x neighbors x 100 entries |
| 1000 | About 1000 routers x neighbors x 1000 entries |
Pattern observation: The work grows roughly with the square of the number of routers because each router processes information about many others.
Time Complexity: O(n^2)
This means the time to update routing tables grows roughly with the square of the number of routers in the network.
[X] Wrong: "The update time grows linearly with the number of routers because each router only sends updates once."
[OK] Correct: Each router must process routing information about many others, so the total work grows faster than just the number of routers.
Understanding how routing protocols scale helps you think clearly about network performance and design, a useful skill in many technical roles.
"What if routers only sent updates when their routing tables changed? How would that affect the time complexity?"
Practice
Solution
Step 1: Understand RIP metric
RIP uses hop count as the metric to measure the distance to a destination network.Step 2: Compare with other metrics
Other protocols may use bandwidth, delay, or cost, but RIP specifically uses hop count.Final Answer:
Hop count -> Option AQuick Check:
RIP metric = Hop count [OK]
- Confusing hop count with bandwidth
- Thinking RIP uses delay as metric
- Assuming cost is used in RIP
Solution
Step 1: Recall RIP update method
RIP routers send their full routing tables to all neighbors at regular intervals.Step 2: Contrast with other methods
Other protocols may send only changes or triggered updates, but RIP sends full tables periodically.Final Answer:
Routers send their entire routing table to neighbors periodically -> Option AQuick Check:
RIP sends full tables periodically [OK]
- Thinking RIP sends only changed routes
- Assuming RIP uses triggered updates only
- Believing RIP sends partial route info
Solution
Step 1: Understand RIP update rule
Router B updates routes by adding 1 hop to neighbors' hop counts.Step 2: Calculate new hop count for Network Y
Router A reports 3 hops to Network Y, so Router B's new cost is 3 + 1 = 4 hops. But Router B already has 4 hops, so it keeps 4 hops.Step 3: Check if better route exists
Router B's own route is 4 hops, neighbor's route plus 1 is also 4 hops, so it keeps 4 hops.Final Answer:
4 hops -> Option DQuick Check:
Neighbor hops + 1 = 4 hops [OK]
- Forgetting to add 1 hop to neighbor's count
- Choosing neighbor's hop count without adding 1
- Ignoring existing route cost
Solution
Step 1: Identify update mechanism in RIP
RIP relies on periodic updates from neighbors to refresh routing tables.Step 2: Analyze symptom
If the router keeps old routes indefinitely, it likely isn't receiving these updates.Final Answer:
The router is not receiving periodic updates from neighbors -> Option CQuick Check:
No updates received = stale routes [OK]
- Confusing routing protocol type
- Thinking hop count setting causes stale routes
- Assuming triggered updates cause stale routes
Solution
Step 1: Understand RIP route selection
RIP selects routes based on hop count; if multiple routes have the same hop count, they are considered equal cost.Step 2: Analyze tie-breaking in RIP
RIP can load balance across equal-cost routes or pick any; it does not prefer based on IP or bandwidth.Final Answer:
Either route, because RIP considers equal hop counts as equal cost -> Option BQuick Check:
Equal hops = equal cost, any route chosen [OK]
- Assuming RIP prefers first learned route
- Thinking RIP uses next hop IP to decide
- Believing RIP considers bandwidth in route choice
Ready to prove it?
Pass the test and this pattern moves unknown
