%% fig-alt: "DSDV periodic update sequence diagram showing nodes A, B, C, and D exchanging full routing tables every 15 seconds. Each node broadcasts its complete routing table to all neighbors simultaneously, triggering network-wide table synchronization. Demonstrates proactive routing's continuous maintenance overhead."
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%
sequenceDiagram
participant A as Node A
participant B as Node B
participant C as Node C
participant D as Node D
Note over A,D: Every 15 seconds
A->>B: Full routing table
A->>D: Full routing table
B->>A: Full routing table
B->>C: Full routing table
B->>D: Full routing table
C->>B: Full routing table
D->>B: Full routing table
D->>F: Full routing table
Note over A,D: All nodes update tables
247 DSDV Protocol Operation: Updates and Topology Changes
247.1 Learning Objectives
By the end of this chapter, you will be able to:
- Implement Periodic Updates: Describe the full-dump and incremental update mechanisms in DSDV
- Handle New Node Joins: Trace how route advertisements propagate when nodes join the network
- Manage Link Breaks: Explain the route invalidation process using infinity metrics and sequence numbers
- Calculate Convergence Time: Estimate how long topology changes take to propagate through the network
247.2 Prerequisites
Before diving into this chapter, you should be familiar with:
- DSDV Fundamentals: Understanding routing tables, sequence numbers, and route selection rules
- Ad Hoc Fundamentals: Core concepts of ad hoc networking
- Routing Fundamentals: General routing principles and distance-vector algorithms
247.3 DSDV Update Mechanisms
DSDV uses two types of updates to maintain routing tables across the network.
247.3.1 Periodic Full-Dump Updates
Periodic Update Characteristics: - Broadcast complete routing table to all neighbors - Default interval: 15 seconds (configurable) - Ensures all nodes eventually receive all routes - High overhead but guarantees consistency
247.3.2 Incremental Updates
When topology changes occur between periodic updates, nodes can send incremental updates containing only the changed routes.
Incremental Update Advantages: - Triggered by topology changes - Only changed routes advertised - Reduces overhead compared to full table broadcast - Faster propagation of important changes
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%
graph TB
subgraph DSDV_Overhead["DSDV Proactive Overhead (100 nodes)"]
D1["Update Interval: 15 seconds"]
D2["Messages per cycle:<br/>100 nodes x broadcast = 100"]
D3["Messages per minute: 400"]
D4["Active nodes needed: 100%<br/>(all must listen)"]
end
subgraph DSR_Overhead["DSR Reactive Overhead (10% active)"]
R1["Discovery on-demand only"]
R2["Active routes: 10 nodes"]
R3["Messages per minute: 20-40<br/>(only when needed)"]
R4["Sleeping nodes: 90%<br/>(massive energy savings)"]
end
subgraph Decision["Protocol Selection"]
DEC{Traffic Pattern?}
DEC -->|"Frequent, all nodes"| CHOOSE_D["Choose DSDV<br/>Zero latency worth overhead"]
DEC -->|"Sparse, few nodes"| CHOOSE_R["Choose DSR<br/>90% energy savings"]
end
D3 --> DEC
R3 --> DEC
style DSDV_Overhead fill:#E67E22,color:#fff
style DSR_Overhead fill:#16A085,color:#fff
style Decision fill:#2C3E50,color:#fff
style CHOOSE_D fill:#E67E22,color:#fff
style CHOOSE_R fill:#16A085,color:#fff
247.4 Handling New Node Joins
When a new node joins the network or moves into range of existing nodes, DSDV propagates route information to integrate the new node.
247.4.1 New Node Join Sequence
Scenario: Node K joins and comes within range of Node A
%% fig-alt: "DSDV new node join sequence showing Node K broadcasting initial route advertisement, Node A discovering new neighbor and propagating route update, Nodes B and D learning multi-hop paths to K. Demonstrates route convergence: Node D receives two paths (2-hop via A, 3-hop via B) and selects shorter route based on DSDV's hop-count metric."
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%
sequenceDiagram
participant K as Node K<br/>(New)
participant A as Node A
participant B as Node B
participant D as Node D
Note over K: Joins network
K->>A: <K,K,0,101>
Note over A: Add route to K
A->>B: <K,A,1,101>
A->>D: <K,A,1,101>
Note over B,D: Add route to K via A
B->>D: <K,A,2,101>
Note over D: Choose best route
247.4.2 Step-by-Step Process
- Node K broadcasts:
<K, K, 0, 101>- Destination: K (itself)
- Next Hop: K (direct)
- Hops: 0 (source)
- Seq #: 101 (initial)
- Node A receives:
- Creates entry:
<K, K, 1, 101>(1 hop via direct link to K) - Propagates to neighbors:
<K, A, 1, 101>
- Creates entry:
- Node B receives from A:
- Creates entry:
<K, A, 2, 101>(2 hops: B-A-K) - Propagates to neighbors:
<K, A, 2, 101>
- Creates entry:
- Node D receives:
- From A:
<K, A, 2, 101>(route: D-A-K, 2 hops) - From B:
<K, B, 3, 101>(route: D-B-A-K, 3 hops) - Chooses route via A (same seq #, lower hop count)
- From A:
Result: All nodes learn about Node K and establish shortest-path routes within a few update cycles.

Source: University of Cambridge, Mobile and Sensor Systems Course (Prof. Cecilia Mascolo)
247.5 Handling Link Breaks
When nodes move apart or links fail, routes must be invalidated quickly to prevent packets from being sent to unreachable destinations.
247.5.1 Link Break Scenario
Scenario: Link between Node D and Node F breaks
%% fig-alt: "Ad hoc network topology showing broken link between Node D (orange) and Node F (gray, dashed). Link failure partitions network into two segments: left side (A-B-C-D) and right side (E-F-G-H). Demonstrates topology change requiring route recalculation and invalidation of paths using broken D-F link."
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%
graph TB
D[Node D] -.-x|Link broken| F[Node F]
D --- B[Node B]
B --- A[Node A]
B --- C[Node C]
F --- E[Node E]
F --- H[Node H]
E --- G[Node G]
style D fill:#E67E22,stroke:#2C3E50,color:#fff
style F fill:#7F8C8D,stroke:#2C3E50,color:#fff,stroke-dasharray: 5 5
style B fill:#16A085,stroke:#2C3E50,color:#fff
style A fill:#16A085,stroke:#2C3E50,color:#fff
style C fill:#16A085,stroke:#2C3E50,color:#fff
style E fill:#16A085,stroke:#2C3E50,color:#fff
style G fill:#16A085,stroke:#2C3E50,color:#fff
style H fill:#16A085,stroke:#2C3E50,color:#fff
247.5.2 Node D’s Response to Link Failure
%% fig-alt: "DSDV link failure handling sequence showing Node D detecting D-F link timeout, marking all routes through F as broken (infinity metric), incrementing sequence numbers (F:077, E:393, G:129, H:051), broadcasting invalidation updates to Node B, which removes affected routes and propagates updates to Node A for network-wide convergence."
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%
sequenceDiagram
participant D as Node D<br/>(Detects failure)
participant B as Node B
participant A as Node A
Note over D: Link D-F timeout
Note over D: Set metrics to infinity<br/>Increment seq numbers
D->>B: F: infinity hops, seq 077
D->>B: E: infinity hops, seq 393
D->>B: G: infinity hops, seq 129
D->>B: H: infinity hops, seq 051
Note over B: Update table<br/>Remove routes via F
B->>A: Forward updates
Note over A: Network converges
247.5.3 Invalidation Process
Detect failure: Node D notices no updates from F (timeout)
Mark routes as broken:
- Set hop count to infinity
- Increment sequence number (to make update “fresh”)
- This ensures broken route info propagates faster than stale good routes
Broadcast broken route updates:
<F, -, infinity, 077> // Old seq was 076, now 077 <E, -, infinity, 393> // Old seq was 392, now 393 <G, -, infinity, 129> // Old seq was 128, now 129 <H, -, infinity, 051> // Old seq was 050, now 051Neighbors receive and process:
- See higher sequence number - route is fresher
- See infinity hop count - route is broken
- Delete or mark as invalid
Alternate routes converge:
- Other nodes with valid alternate paths broadcast their routes
- D eventually receives route to F via B-C-E-F
- New route installed
247.5.4 Why Increment Sequence Number?
Without incrementing, nodes might ignore the broken-route update because they have a cached entry with the same sequence number. Incrementing ensures the “broken” information propagates quickly.
Key Insight: The sequence number increment for broken routes is the mechanism that prevents routing loops during topology changes. A node detecting a failure generates a sequence number higher than any previously seen, guaranteeing all other nodes will accept the invalidation.
247.6 Knowledge Check
247.7 Convergence Time Analysis
Understanding how quickly DSDV converges after topology changes is critical for deployment planning.
247.7.1 Factors Affecting Convergence
| Factor | Impact | Typical Value |
|---|---|---|
| Update interval | Time to first propagation | 15 seconds |
| Network diameter | Hops for full propagation | 2-10 hops |
| Processing delay | Per-node table processing | 5-25 ms |
| Wireless delay | Per-hop transmission | 1-10 ms |
247.7.2 Convergence Calculation
For a network with diameter D hops and update interval T:
- Best case (triggered updates work): D x (processing + transmission delay)
- Worst case (wait for periodic): T + D x (processing + transmission delay)
Example: 8-hop diameter, 15s interval, 26ms per hop - Best case: 8 x 26ms = 208ms - Worst case: 15s + 208ms = 15.2 seconds
247.8 Summary
This chapter covered DSDV protocol operation and topology change handling:
- Periodic Updates: Full routing tables broadcast every 15 seconds to ensure network-wide consistency
- Incremental Updates: Triggered by topology changes to propagate important information quickly
- New Node Integration: Joining nodes broadcast initial advertisements that propagate through the network
- Link Break Handling: Failed routes marked with infinity metric and incremented sequence numbers for rapid invalidation
- Sequence Number Role: Incrementing sequence numbers for broken routes ensures invalidation propagates faster than stale valid routes
- Convergence Time: Depends on network diameter and whether triggered or periodic updates propagate the change
Continue to DSDV Evaluation and Trade-offs to learn about DSDV’s limitations for IoT, detailed worked examples, and how to calculate routing overhead for your deployments.
- DSDV Fundamentals - Routing tables and sequence numbers
- Ad Hoc Routing: Reactive (DSR) - Alternative on-demand approach
- Ad Hoc Routing: Hybrid (ZRP) - Combining proactive and reactive