1
|
- Introduction and History
- Data in Wireless Cellular Systems
- Data in Wireless Local Area Networks
- Internet Protocols
- Routing and Ad-Hoc Networks
- some slides in this section are from the Tutorial on Mobile Ad Hoc
Networks: Routing, MAC and Transport Issues, prepared by Nitin Vaidya,
see http://www.cs.tamu.edu/faculty/vaidya/presentations.html
- TCP over Wireless Link
- Services and Service Discovery
- System Support for Mobile Applications
|
2
|
|
3
|
- Problem: Find the lowest cost
path between any two nodes
- Factors:
- Static: topology
- Dynamic: load
|
4
|
- Each node maintains a set of triples:
- (Destination, Cost, NextHop)
- Each node sends updates to (and receives updates from) its directly
connected neightbors
- periodically (on the order of several seconds)
- whenever its table changes (called triggered update)
- Each update is a list of pairs:
- Update local table if receive a “better” route
- smaller cost
- came from next-hop
- Refresh existing routes; delete if they time out
|
5
|
|
6
|
- Example 1
- F detects that link to G has failed
- F sets distance to G to infinity and sends update to A
- A sets distance to G to infinity since it uses F to reach G
- A receives periodic update from C with 2-hop path to G
- A sets distance to G to 3 and sends update to F
- F decides it can reach G in 4 hops via A
|
7
|
- Example 2
- Link from A to E fails
- A advertises distance of infinity to E
- B and C advertise a distance of 2 to E
- B decides it can reach E in 3 hops; advertises this to A
- A decides it can reach E in 4 hops; advertises this to C
- C decides that it can reach E in 5 hops......
- Heuristics to break routing loops
- set infinity to 16
- split horizon
- split horizon with poison reverse
|
8
|
- Strategy: Send to all nodes (not just neighbors) information about
directly connected links (not entire routing table).
- Link State Packet (LSP)
- id of the node that created the LSP
- cost of link to each directly connected neighbor
- sequence number (SEQNO)
- time-to-live (TTL) for this packet
- Reliable Flooding
- store most recent LSP from each node
- forward LSP to all nodes but one that sent it
- generate new LSP periodically; increment SEQNO
- start SEQNO at 0 when reboot
- decrement TTL of each stored LSP; discard when TTL=0
|
9
|
- Dijkstra's shortest path algorithm
- N denotes set of nodes in the graph
- l(i,j) denotes non-negative cost (weight) for edge (i,j)
- s /in N denotes this node
- M denotes the set of nodes incorporated so far
- C(n) denotes cost of the path from s to node n
- M = {s}
- for each n in N - {s}
- while (N ° M)
- M = M union {w} such that C(w)
- is the minimum for all w in (N-M)
- for each n in (N-M)
- C(n) = MIN (C(n), C(w)+l(w,n))
|
10
|
|
11
|
- Idea: Impose a second hierarchy on the network that
- limits what routers talk to each other. (The first
- hierarchy is the address hierarchy that governs how
- packets are forwarded.)
- Autonomous System (AS)
- corresponds to an administrative domain
- examples: University, company, backbone network
- assign each AS a 16-bit number
- Two-level route propagation hierarchy
- interior gateway protocol (each AS selects its own)
- exterior gateway protocol (Internet-wide standard)
|
12
|
- RIP: Route Information Protocol
- developed for XNS
- distributed with Unix
- distance-vector algorithm
- based on hop-count
- OSPF: Open Shortest Path First
- recent Internet standard
- uses link-state algorithm
- supports load balancing
- supports authentication
|
13
|
- Overview
- designed for tree-structured Internet
- concerned with reachability, not optimal routes
- Protocol messages
- neighbor acquisition: one router requests that another be its peer;
peers exchange reachability information
- neighbor reachability: one router periodically tests to see if the
other router is still reachable; exchange HELLO/ACK messages; uses a
k-out-of-n rule
- routing updates: peers periodically exchange their routing tables
(distance-vector)
|
14
|
- Assumes the Internet is an arbitrarily interconnected
- set of AS's. Define local traffic as traffic that
- originates at or terminates on nodes within an AS,
- and transit traffic as traffic that passes through
- an AS, we can classify AS's into three types:
- Stub AS: an AS that has only a single connection to one other AS; such
an AS will only carry local traffic.
- Multihomed AS: an AS that has connections to more than one other AS, but
refuses to carry transit traffic.
- Transit AS: an AS that has connections to more than one other AS, and is
designed to carry both transit and local traffic.
|
15
|
- Each AS has:
- One or more border routers
- One BGP speaker that advertises:
- local networks
- other reachable networks (transit AS only)
- gives path information
|
16
|
- Formed by wireless hosts which may be mobile
- Without (necessarily) using a pre-existing infrastructure
- Routes between nodes may potentially contain multiple hops
|
17
|
- May need to traverse multiple links to reach a destination
|
18
|
- Mobility causes route changes
|
19
|
- Ease of deployment
- Speed of deployment
- Decreased dependence on infrastructure
|
20
|
- Personal area networking
- cell phone, laptop, ear phone, wrist watch
- Military environments
- Civilian environments
- taxi cab network
- meeting rooms
- sports stadiums
- boats, small aircraft
- Emergency operations
- search-and-rescue
- policing and fire fighting
|
21
|
- Fully Symmetric Environment
- all nodes have identical capabilities and responsibilities
- Asymmetric Capabilities
- transmission ranges and radios may differ
- battery life at different nodes may differ
- processing capacity may be different at different nodes
- speed of movement
- Asymmetric Responsibilities
- only some nodes may route packets
- some nodes may act as leaders of nearby nodes (e.g., cluster head)
|
22
|
- Traffic characteristics may differ in different ad hoc networks
- bit rate
- timeliness constraints
- reliability requirements
- unicast / multicast / geocast
- host-based addressing / content-based addressing / capability-based
addressing
- May co-exist (and co-operate) with an infrastructure-based network
|
23
|
- Mobility patterns may be different
- people sitting at an airport lounge
- New York taxi cabs
- kids playing
- military movements
- personal area network
- Mobility characteristics
- speed
- predictability
- direction of movement
- pattern of movement
- uniformity (or lack thereof) of mobility characteristics among
different nodes
|
24
|
- Limited wireless transmission range
- Broadcast nature of the wireless medium
- Hidden terminal problem (see next slide)
- Packet losses due to transmission errors
- Mobility-induced route changes
- Mobility-induced packet losses
- Battery constraints
- Potentially frequent network partitions
- Ease of snooping on wireless transmissions (security hazard)
|
25
|
|
26
|
- Variations in capabilities & responsibilities
- X
- Variations in traffic characteristics, mobility models, etc.
- X
- Performance criteria (e.g., optimize throughput, reduce energy
consumption)
- +
- Increased research funding
- =
- Significant research activity
|
27
|
- A one-size-fits-all solution
- Perhaps using an adaptive/hybrid approach that can adapt to situation
at hand
- Difficult problem
- Many solutions proposed trying to address a
- sub-space of the problem domain
|
28
|
- Unless stated otherwise, fully symmetric environment is assumed
implicitly
- all nodes have identical capabilities and responsibilities
|
29
|
- Sender S broadcasts data packet P to all its neighbors
- Each node receiving P forwards P to its neighbors
- Sequence numbers used to avoid the possibility of forwarding the same
packet more than once
- Packet P reaches destination D provided that D is reachable from sender
S
- Node D does not forward the packet
|
30
|
|
31
|
|
32
|
|
33
|
|
34
|
|
35
|
|
36
|
|
37
|
|
38
|
- Simplicity
- May be more efficient than other protocols when rate of information
transmission is low enough that the overhead of explicit route
discovery/maintenance incurred by other protocols is relatively higher
- this scenario may occur, for instance, when nodes transmit small data
packets relatively infrequently, and many topology changes occur
between consecutive packet transmissions
- Potentially higher reliability of data delivery
- Because packets may be delivered to the destination on multiple paths
|
39
|
- Potentially, very high overhead
- Data packets may be delivered to too many nodes who do not need to
receive them
- Potentially lower reliability of data delivery
- Flooding uses broadcasting -- hard to implement reliable broadcast
delivery without significantly increasing overhead
- Broadcasting in IEEE 802.11 MAC is unreliable
- In our example, nodes J and K may transmit to node D simultaneously,
resulting in loss of the packet
- in this case, destination would not receive the packet at all
|
40
|
- Many protocols perform (potentially limited) flooding of control
packets, instead of data packets
- The control packets are used to discover routes
- Discovered routes are subsequently used to send data packet(s)
- Overhead of control packet flooding is amortized over data packets
transmitted between consecutive control packet floods
|
41
|
- Mobile Ad-hoc Networks (manet) at IETF:
http://www.ietf.org/html.charters/manet-charter.html
- A "mobile ad hoc network" (MANET) is an autonomous system of
mobile routers (and associated hosts) connected by wireless links
- routers are free to move randomly and organize themselves arbitrarily;
thus, the network's wireless topology may change rapidly and
unpredictably
- The primary focus of the working group is to develop and evolve MANET
routing specification(s) and introduce them to the Internet Standards
track. The goal is to support networks scaling up to hundreds of
routers.
|
42
|
- DSDV: Destination-Sequenced Distance Vector protocol
- basic idea: destination provides freshness indication, not intermediate
nodes
- each mobile host is a router
- periodic broadcasts with sequence numbers
- significant new information triggers broadcast updates
- link breakages (metric ¥) are significant
- two criteria for route selection:
- sequence number guarantee maximal freshness (top priority)
- metric comparison for lowest cost
- protocol supports incremental and full updates
- some routes in forwarding table might not be advertised
|
43
|
- Each node maintains a routing table which stores
- next hop towards each destination
- a cost metric for the path to each destination
- a destination sequence number that is created by the destination itself
- Sequence numbers used to avoid formation of loops
- Each node periodically forwards the routing table to its neighbors
- Each node increments and appends its sequence number when sending its
local routing table
- This sequence number will be attached to route entries created for this
node
|
44
|
- Assume that node X receives routing information from Y about a route to
node Z
- Let S(X) and S(Y) denote the destination sequence number for node Z as
stored at node X, and as sent by node Y with its routing table to node
X, respectively
|
45
|
- Node X takes the following steps:
- If S(X) > S(Y), then X
ignores the routing information received from Y
- If S(X) = S(Y), and cost of going through Y is smaller than the route
known to X, then X sets Y as the next hop to Z
- If S(X) < S(Y), then X sets Y as the next hop to Z, and S(X) is
updated to equal S(Y)
|
46
|
|
47
|
|
48
|
|
49
|
- DSDV good for small ad-hoc networks
- Brute-force approach to larger networks
- requires periodic advertisements and global dissemination of
connectivity information
- each node has to keep complete list of routes
|
50
|
- AODV intends to improve on DSDV shortcomings
- basic idea: create routes only “on demand” to eliminate overhead of
periodic broadcasts
- problem: if purely “on demand”, could lead to long latencies before
first packet gets transmitted
- AODV assumes symmetric links between two nodes
- discover new nodes in neighborhood using local hello messages
- primary objectives of AODV:
- broadcast discovery packets only when necessary
- distinguish between local connectivity changes and general topological
maintenance
- disseminate information about local changes only to those neighboring
mobiles that are likely to need information
|
51
|
- Route Requests (RREQ) are forwarded via flooding
- When a node re-broadcasts a Route Request, it sets up a reverse path
pointing towards the source
- AODV assumes symmetric (bi-directional) links
- When the intended destination receives a Route Request, it replies by
sending a Route Reply
- Route Reply travels along the reverse path set-up when Route Request is
forwarded
|
52
|
|
53
|
|
54
|
|
55
|
|
56
|
|
57
|
|
58
|
|
59
|
- An intermediate node (not the destination) may also send a Route Reply
(RREP) provided that it knows a more recent path than the one previously
known to sender S
- To determine whether the path known to an intermediate node is more
recent, destination sequence numbers are used
- The likelihood that an intermediate node will send a Route Reply when
using AODV not very high
- A new Route Request by node S for a destination is assigned a higher
destination sequence number. An intermediate node which knows a route,
but with a smaller sequence number, cannot send Route Reply
|
60
|
|
61
|
|
62
|
- A routing table entry maintaining a reverse path is purged after a
timeout interval
- timeout should be long enough to allow RREP to come back
- A routing table entry maintaining a forward path is purged if not used
for a active_route_timeout interval
- if no is data being sent using a particular routing table entry, that entry will be deleted from the
routing table (even if the route may actually still be valid)
|
63
|
- A neighbor of node X is considered active for a routing table entry if
the neighbor sent a packet within active_route_timeout interval which
was forwarded using that entry
- When the next hop link in a routing table entry breaks, all active neighbors
are informed
- Link failures are propagated by means of Route Error messages, which
also update destination sequence numbers
|
64
|
- When node X is unable to forward packet P (from node S to node D) on
link (X,Y), it generates a RERR message
- Node X increments the destination sequence number for D cached at node X
- The incremented sequence number N is included in the RERR
- When node S receives the RERR, it initiates a new route discovery for D
using destination sequence number at least as large as N
- When node D receives the route request with destination sequence number
N, node D will set its sequence number to N, unless it is already larger
than N
|
65
|
- Hello messages: Neighboring nodes periodically exchange hello message
- Absence of hello message is used as an indication of link failure
- Alternatively, failure to receive several MAC-level acknowledgement may
be used as an indication of link failure
|
66
|
- To avoid using old/broken routes
- To determine which route is newer
- To prevent formation of loops
- Assume that A does not know about failure of link C-D because RERR sent
by C is lost
- Now C performs a route discovery for D. Node A receives the RREQ (say,
via path C-E-A)
- Node A will reply since A knows a route to D via node B
- Results in a loop (for instance, C-E-A-B-C )
|
67
|
- Route Requests are initially sent with small Time-to-Live (TTL) field,
to limit their propagation
- Common approach to limit flooding
- If no Route Reply is received, then larger TTL tried
|
68
|
- Routes not included in packet headers
- Nodes maintain routing tables containing entries only for routes that
are in active use
- At most one next-hop per destination maintained at each node
- Other protocols may maintain several routes for a single destination
- Unused routes expire even if topology does not change
|
69
|
|
70
|
- Suppose MH1 moves away from MH2 towards MH7 and has active sessions with
MH3 and MH6:
- MH2 notices that its link to MH1 is broken
- MH2 checks its routing table and finds that its link to MH1 was
actively in use by MH3 and MH4
- MH2 unicasts an ¥-metric
route update, with an incremented destination sequence number, to MH3
and MH4. MH3 may subsequently issue a new route request for MH4
- MH4 also notes that its route to MH1 was actively in use and forwards a
¥ -metric route
update to MH6
- the ¥-metric
route update for MH1 may also be included in the next periodic limited
broadcast issued by MH2
- MH6 may subsequently issue a new route request for MH1
- any subsequent route request for MH1 which is satisfied by a route
reply through MH2 may cause MH2 to update its route table
|
71
|
- Nodes move randomly with geographic region
- speed chosen from uniform distribution between 0.4 and 0.8
meters/second
- once they arrive at random location, rest for period chosen from
uniform distribution between 60 and 300 seconds
- 2 nodes can communicate directly (are neighbors) if they are less than
10 meters apart
|
72
|
|
73
|
- Voice: longer packets, resulting in more collisions and longer queue
lengths at intermediate nodes, which in turn delays RREQ and RREP
messages and increases route acquisition latency
- Bandwidth efficiency slightly higher, since number of “control” messages
the same, but more data being send
|
74
|
- Source Routing: sender of packet determines complete sequence of nodes
along path and lists them in packet header
- use dynamic route discovery to determine path
- advantages:
- no periodic routing advertisement messages
- saves bandwidth when there is little change in network
- saves battery power (no need to send/receive messages)
- ad-hoc networks have many redundant links, which cause flooding of
routing messages
- no assumption of link symmetry
- possible to react to changes faster than state-based or distance-vector
based protocols
- better opportunities for route caching and maintenance of alternative
routes, compared to AODV
|
75
|
- When node S wants to send a packet to node D, but does not know a route
to D, node S initiates a route discovery
- Source node S floods Route Request (RREQ)
- Each node appends own identifier when forwarding RREQ
|
76
|
|
77
|
|
78
|
|
79
|
|
80
|
|
81
|
|
82
|
- Destination D on receiving the first RREQ, sends a Route Reply (RREP)
- RREP is sent on a route obtained by reversing the route appended to
received RREQ
- RREP includes the route from S to D on which RREQ was received by node D
|
83
|
|
84
|
- Route Reply can be sent by reversing the route in Route Request (RREQ)
only if links are guaranteed to be bi-directional
- To ensure this, RREQ should be forwarded only if it received on a link
that is known to be bi-directional
- If unidirectional (asymmetric) links are allowed, then RREP may need a
route discovery for S from node D
- Unless node D already knows a route to node S
- If a route discovery is initiated by D for a route to S, then the Route
Reply is piggybacked on the
Route Request from D.
- If IEEE 802.11 MAC is used to send data, then links have to be
bi-directional (since Ack is used)
|
85
|
- Node S on receiving RREP, caches the route included in the RREP
- When node S sends a data packet to D, the entire route is included in
the packet header
- hence the name source routing
- Intermediate nodes use the source route included in a packet to
determine to whom a packet should be forwarded
|
86
|
|
87
|
- When node S wants to send data to node D, but does not know a valid
route node D
|
88
|
|
89
|
- Each node caches a new route it learns by any means
- When node S finds route [S,E,F,J,D] to node D, node S also learns route
[S,E,F] to node F
- When node K receives Route Request [S,C,G] destined for node, node K
learns route [K,G,C,S] to node S
- When node F forwards Route Reply RREP [S,E,F,J,D], node F learns route
[F,J,D] to node D
- When node E forwards Data [S,E,F,J,D] it learns route [E,F,J,D] to node
D
- A node may also learn a route when it overhears Data packets
|
90
|
- Route cache
- intermediate nodes learn about routes by “snooping” on route
request/reply messages and/or routing data
- intermediate nodes may learn routes by listening to route discovery
through neighboring nodes
|
91
|
- piggy-backing data onto route discovery to reduce latency
- if node that is not target replies to route request, special attention
is needed to make sure that the data is forwarded to final destination
- reflecting shorter routes
- usually, as nodes move closer, they will also move out of range in
existing route, so route maintenance will take care of this
- alternatively, run network interfaces in promiscuous mode, listen to
who is in your neighborhood and see whether routes in cache can be
shortened
|
92
|
- handling network partitions
- if nodes cannot communicate, lots of failed route request messages,
with corresponding overhead
- limit route requests using exponential backoff algorithm
- eavesdrop on route error packets (promiscuous mode)
- error packets detail hop that is down
- other nodes can update/invalidate routes that use this hop in their
cache
- keep negative information (hops that are down) in cache for a brief
period to make sure new routes do not use outdated hop
|
93
|
- When node S learns that a route to node D is broken, it uses another
route from its local cache, if such a route to D exists in its cache.
Otherwise, node S initiates route discovery by sending a route request
- Node X on receiving a Route Request for some node D can send a Route
Reply if node X knows a route to node D
- Use of route cache
- can speed up route discovery
- can reduce propagation of route requests
|
94
|
|
95
|
|
96
|
|
97
|
- Stale caches can adversely affect performance
- With passage of time and host mobility, cached routes may become invalid
- A sender host may try several stale routes (obtained from local cache,
or replied from cache by other nodes), before finding a good route
- This is particularly bad for protocols such as TCP, where the sender
will timeout, assume severe congestion, and drastically reduce the rate
at which data is sent.
|
98
|
- Routes maintained only between nodes who need to communicate
- reduces overhead of route maintenance
- Route caching can further reduce route discovery overhead
- A single route discovery may yield many routes to the destination, due
to intermediate nodes replying from local caches
|
99
|
- Packet header size grows with route length due to source routing
- Flood of route requests may potentially reach all nodes in the network
- Care must be taken to avoid collisions between route requests propagated
by neighboring nodes
- insertion of random delays before forwarding RREQ
- Increased contention if too many route replies come back due to nodes
replying using their local cache
- Route Reply Storm problem
- Reply storm may be eased by preventing a node from sending RREP if it
hears another RREP with a shorter route
|
100
|
- An intermediate node may send Route Reply using a stale cached route,
thus polluting other caches
- This problem can be eased if some mechanism to purge (potentially)
invalid cached routes is incorporated.
|
101
|
|
102
|
|
103
|
|
104
|
|
105
|
|
106
|
- each paper/proposal tends to come with its own set of performance
evaluations, based on some simulated environment
- similar to location management proposals, no common performance
evaluation framework exists
- one study (November 1998): implement a number of proposals in NS and
evaluate them, compare relative advantages and disadvantages
- catch: study done by authors of DSR, which ends up being found superior
|
107
|
- Movement Model:
- 1500m x 300m space
- user picks random location, moves there at a speed randomly distributed
between 0 and 20 meters/sec
- stay at new location for pause time second, repeat
- Communication Model:
- 10, 20, or 30 CBR sources, sending 4 packets/sec
- packet size is fixed at 64 bytes
- all communication peer-to-peer, starts at times uniformly distributed
between 0 and 180 seconds
- transmission range of 250 meters for each radio
|
108
|
|
109
|
- Performance Metrics:
- packet delivery ratio
- routing overhead
- path optimality
- Not considered:
- latency to establish route
- goodput
- route failures (i.e., routes break and connection times out before new
route can be established)
|
110
|
|
111
|
|
112
|
|
113
|
- Conclusions of study:
- each protocol performs well in come cases and has drawbacks in others
- DSR performs predictably
- delivers virtually all data packets at low mobility rate and speed
- fails to converge as node mobility increases
- AODV performs nearly as well as DSR at all mobility rates and speeds
- accomplishes its goal of eliminating source routing overhead
- requires transmission of many routing overhead packets
- is more expensive than DSR of high rates of node mobility
|
114
|
|
115
|
|
116
|
|
117
|
|
118
|
- A multicast group is defined with a unique group identifier
- Nodes may join or leave the multicast group anytime
- In traditional networks, the physical network topology does not change
often
- In MANET, the physical topology can change often
|
119
|
- Need to take topology change into account when designing a multicast
protocol
- Several new protocols have been proposed for multicasting in MANET
|
120
|
- Each multicast group has a group leader
- Group leader is responsible for maintaining group sequence number (which
is used to ensure freshness of routing information)
- Similar to sequence numbers for AODV unicast
- First node joining a group becomes group leader
- A node on becoming a group leader, broadcasts a Group Hello message
|
121
|
- In our illustrations, we will ignore the group sequence numbers
- However, note that a node makes use of information received only with recent
enough sequence number
|
122
|
|
123
|
|
124
|
|
125
|
|
126
|
|
127
|
- Data is delivered along the tree
edges maintained by the Multicast AODV algorithm
- If a node which does not belong to the multicast group wishes to
multicast a packet
- It sends a non-join RREQ which is treated similar in many ways to RREQ
for joining the group
- As a result, the sender finds a route to a multicast group member
- Once data is delivered to this group member, the data is delivered to
remaining members along multicast tree edges
|
128
|
|
129
|
|
130
|
|
131
|
|
132
|
|
133
|
- When a link (X,Y) on the multicast tree breaks, the node that is further
away from the leader is responsible to reconstruct the tree, say node X
- Node X, which is further downstream, transmits a Route Request (RREQ)
- Only nodes which are closer to the leader than node X’s last known
distance are allowed to send RREP in response to the RREQ, to prevent
nodes that are further downstream from node X from responding
|
134
|
- When failure of link (X,Y) results in a partition, the downstream node,
say X, initiates Route Request
- If a Route Reply is not received in response, then node X assumes that
it is partitioned from the group
leader
- A new group leader is chosen in the partition containing node X
- If node X is a multicast group member, it becomes the group leader, else
a group member downstream from X is chosen as the group leader
|
135
|
- If the network is partitioned,
then each partition has its own group leader
- When two partitions merge, group leader from one of the two partitions
is chosen as the leader for the merged network
- The leader with the larger identifier remains group leader
|
136
|
- Each group leader periodically sends Group Hello
- Assume that two partitions exist with nodes P and Q as group leaders,
and let P < Q
- Assume that node A is in the same partition as node P, and that node B
is in the same partition as node Q
- Assume that a link forms between nodes A and B
|
137
|
- Assume that node A receives Group Hello originated by node Q through its
new neighbor B
- Node A asks exclusive permission from its leader P to merge the two
trees using a special Route Request
- Node A sends a special Route Request to node Q
- Node Q then sends a Group Hello message (with a special flag)
- All tree nodes receiving this Group Hello record Q as the leader
|
138
|
|
139
|
|
140
|
|
141
|
|
142
|
- Similar to unicast AODV
- Uses leaders to maintain group sequence numbers, and to help in tree
maintenance
|
143
|
- ODMRP requires cooperation of nodes wishing to send data to the
multicast group
- To construct the multicast mesh
- A sender node wishing to send multicast packets periodically floods a Join
Data packet throughput the network
- Periodic transmissions are used to update the routes
|
144
|
- Each multicast group member on receiving a Join Data, broadcasts a Join
Table to all its neighbors
- Join Table contains (sender S, next node N) pairs
- next node N denotes the next node on the path from the group member to
the multicast sender S
- When node N receives the above broadcast, N becomes member of the forwarding
group
- When node N becomes a forwarding group member, it transmits Join Table
containing the entry (S,M) where M is the next hop towards node S
|
145
|
- Assume that S is a sender node
|
146
|
|
147
|
|
148
|
|
149
|
|
150
|
|
151
|
|
152
|
- A sender broadcasts data packets to all its neighbors
- Members of the forwarding group forward the packets
- Using ODMRP, multiple routes from a sender to a multicast receiver may
exist due to the mesh structure created by the forwarding group members
|
153
|
- No explicit join or leave procedure
- A sender wishing to stop multicasting data simply stops sending Join
Data messages
- A multicast group member wishing to leave the group stops sending Join
Table messages
- A forwarding node ceases its forwarding status unless refreshed by
receipt of a Join Table message
- Link failure/repair taken into account when updating routes in response
to periodic Join Data floods from the senders
|