Mobile Networking

advertisement
Overview of Mobile Networking
ECE 544 2015
Prof. D. Raychaudhuri
Slides courtesy of Dr. Sam Nelson
Mobile, Wireless Devices
• Goals
– Allow communication to
and from the Internet to
mobile devices
– Allow mobile devices in
the same area to talk
without going through
infrastructure
Mobile wireless communication
devices are becoming ubiquitous
Smart phones
Vehicular
technology
Emergency response
Why Study Mobile Networking?
• WapReview : The total
number of mobile
Internet users: 1.05
billion, which in 2008 for
the first time surpassed
the total number of PC
Web users (1 billion)
• DigitalStats : (June 2009)
In the last six months,
uploads from mobile
phones to YouTube jump
by 1700%.
• DigitalStats : When posed
with the question "Which
do you access Social
Network sites from more,
mobile phone or
computer?”
(Sample size=321,
Japanese survey)
– Computer 14.0%
– Mobile phone 70.4%
– Both about the same
15.0%
– Don’t know 0.6%
Challenges of Mobile Networking
• Topology can change very quickly
– New links form and break
– Nodes leave and join the system
• Mobility occurs in the wireless domain
– Interference
– Propagation issues
– Spectrum regulation and use
• End-to-end paths may not actually exist
Protocol Stack
Layer
Application
Mobility Challenges
Sensing / emergency response, social networking
Transport
Reliable, in-order delivery / congestion control
Network
Establishing routes / addressing
Link
Interference / Hidden terminal
Physical
Wireless propagation issues
Mobile Networking Topics:
Lecture Outline
Mobile Clients on the Internet
- Communicate to/from Internet
- Infrastructure in 1-hop
- Addressing Problems
Mobile Ad-hoc Networks (MANETs)
- Communicate within network
- No infrastructure
- Relatively high connectivity
Delay-Tolerant Networks (DTNs)
- Communicate within network
- No infrastructure
- Low connectivity
Mobile Clients on the Internet
(also see supplementary Mobile IP
tutorial slides from Eurescom)
Mobile Host on the Internet
• Goal: Maintain two-way connectivity to
Internet and a mobile host.
For IP_A
Internet
Net A
IP_A
Net B
IP Addresses
• What do IP addresses really mean?
213.86.83.116 / 8
Network
IP address is for
routing purposes
Host
Hence, they must
change when a node
changes networks
IP addresses are topologically dependent and hence are bad
choices for long lasting names in mobile environments
Mobile Host on the Internet
For IP_A
Internet
Net A
Net B
IP_A
IP_B
• Solutions?
– Change IP address  Connectivity is lost… what is host’s
IP?
– Keep IP address  Routing will fail... host not found.
How can S send to the moved mobile host?
Mobile IP Solution
• Mobile host keeps it’s old IP address, and gets
someone to forward messages to it
• It must inform this “someone” of it’s new address
• Agents to help – home agent and foreign agent
Old IP
Referred to as “home address”
New IP
Referred to as “care-of address”
Mobile IP Solution
Home Address:
MH
MH’s permanent IP address, network ID of this address
identifies the mobile’s home network.
HA
HN
R1
Home Network:
the network identified
with a mobile node
Home Agent:
a router attached to the MH’s home network
maintains current location information for the MH
is responsible for forwarding packets destined for the
MH when MH is away from home.
R3
Route Optimization
FN
CH
R2
FN
MH
Foreign Network:
Mobile Host:
a network, other than MA’s home
a host or router capable
Corresponding Host:
network, that MH is currently attached
of changing its point of
FA
a host or router communicationg to.
attachment to the Internet
with a mobile node.
Foreign Agent (FA)
a router in the foreign network that the MH is visiting provides routing services
to the MH; may serve as default router for outgoing packet from MH
Route Optimization
• Triangular routing
– Data goes from source to Home Agent to mobile
device (or foreign agent)
– Reverse path is different – Data goes from mobile
directly to source
• Instead of constant triangular routing, inform
CH of care-of address
– Allows CH to directly route to mobile host
Mobile Ad-hoc Networks
Ad-hoc Networks
• Each mobile device (node) can act as a router
• Links form and break based on mobility and
environmental factors
• Connectivity (e.g., high probability of instantaneous
end-to-end paths existing) is assumed
Ad-hoc Networks
S
D
• Goal: Nodes within the network can send data between
themselves.
• Challenges:
–
–
–
–
No centralized coordinator to help routing
No “default route” for nodes within the network
Fast topology changes
Limited bandwidth – can’t have too much overhead
Ad-hoc Networks
S
D
• Nodes that want to route messages must:
– Find out about the topology of the network
– Use that topology to do something with the
message
Control Plane
Data Plane
Routing Protocol Categories
Control Plane
• Proactive:
– Nodes actively maintain and share topology
information, regardless of if there is data to send
– Generally timer- or event-based
• Reactive (On-demand):
– “Lazy” approach: Don’t do more work then you
have to
– Only discover topology/routes when there is data
to send
Routing Protocol Categories
Data Plane
• Local next-hop forwarding:
– Consult forwarding table for a next hop
– Completely local decision
• Source routing:
– Source node places complete path in packet
header
– Intermediate nodes don’t have to consult their
forwarding tables
S
A
B
D
A B D
Reactive Protocols
• Names are useful hints at understanding the
protocol properties:
Dynamic Source Routing (DSR)
MANET
Source Routing
Ad-hoc On-demand Distance Vector (AODV)
Reactive
MANET
Next-hop Forwarding
Distance Vector
Dynamic Source Routing (DSR)
From Shweta Jain’s Slides
• 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 the network with route
request (RREQ) packets (also called query
packets).
• Each node appends its own address in the
packet header when forwarding RREQ.
21
Route Discovery in DSR
[S]
S
RREQ broadcast
E
F
A
C
G
B
D
represents a node that has received RREQ for D from S.
[X,..,..]
Represents list of addresses appended to RREQ.
A node receiving a RREQ rebroadcasts it exactly once.
22
Route Discovery in DSR
[S,E]
S
[S,A]
RREQ broadcast
E
F
A
C
[S,C]
G
B
D
represents a node that has received RREQ for D from S.
[X,..,..]
Represents list of addresses appended to RREQ.
A node receiving a RREQ rebroadcasts it exactly once.
23
Route Discovery in DSR
S
F
A
[S,A,B]
RREQ broadcast
E
[S,E,F]
C
G
B
D
[S,C,G]
Destination D receives RREQ via G and F.
It does not broadcast it further.
24
Route Discovery in DSR
• 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 reverse route from S to D
on which RREQ was received by node D.
25
Route Reply in DSR
S
RREP Unicast
E
F
A
C
G
B
[D,F,E,S]
D
Reverse route
in the header
of RREP
26
Route Caching in DSR
• 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.
27
Data Delivery in DSR
DATA [S,E,F,D]
Cache on S:
[S,E,F,D]
S
E
F
A
DATA packet
Unicast
C
G
B
D
Source route size grows with route length.
28
Dynamic Source Routing: Advantages
• Source routing: no special mechanism needed to
eliminate loops.
• On demand routing: 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.
– Useful when route breaks.
29
Dynamic Source Routing:
Disadvantages
• Not scalable: Packet header size grows linearly with
route length due to source routing.
• Network-wide flood: Flood of route requests may
potentially reach all nodes in the network. Too
much overhead.
• Collision: Care must be taken to avoid collisions
between route requests propagated by neighboring
nodes
– insertion of random delays before forwarding RREQ
• Reply storm problem: Increased contention if too
many route replies come back due to nodes
replying using their local cache
– Reply storm may be eased by preventing a node from
sending RREP if it hears another RREP with a shorter
route.
30
Dynamic Source Routing:
Disadvantages
• Stale cache problem: 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.
• Current research: how to invalidate caches
effectively.
– Example: Timer-based. Or propagate the route
error widely.
31
Ad Hoc On-Demand Distance Vector
Routing (AODV)
From Shweta Jain’s Slides
• AODV retains the desirable feature of DSR that
routes are maintained only between nodes
which need to communicate.
• AODV attempts to improve on DSR by
maintaining routing tables at the nodes, so that
data packets do not have to contain routes.
• No caches are used.
– Only one route per destination in the routing table.
– Only maintain the freshest route, if multiple
possibilities.
32
AODV
• Route Requests (RREQ) are forwarded in a
manner similar to DSR.
• When a node re-broadcasts a RREQ, it sets up
a reverse path pointing towards the source.
– This is so that the RREP can get back to the source.
• When the intended destination receives a
RREQ, it replies by sending a RREP.
• RREP travels along the reverse path set up
when RREQ is forwarded.
33
AODV Route Discovery
S
RREQ broadcast
E
F
A
C
G
B
D
• Source floods route request (RREQ) in the network.
• Reverse paths are formed when a node hears a route request.
• Each node forwards the request only once (pure flooding).
34
AODV Route Discovery
S
Reverse Path
E
F
A
C
G
B
D
• Source floods route request in the network.
• Reverse paths are formed when a node hears a route request.
• Each node forwards the request only once (pure flooding).
35
AODV Route Discovery
S
RREQ broadcast
E
F
A
Reverse Path
C
G
B
D
• Uses hop-by-hop routing.
• Reverse paths are formed when a node hears a route request.
• Each node forwards the request only once (pure flooding).
36
AODV Route Discovery
S
E
F
A
Reverse Path
C
G
B
D
• Uses hop-by-hop routing.
• Reverse paths are formed when a node hears a route request.
• Each node forwards the request only once (pure flooding).
37
AODV Route Discovery
S
E
F
A
Reverse Path
C
G
B
D
• Route reply (RREP) is forwarded via the
reverse path.
38
AODV Route Discovery
S
Forward Path
E
F
A
Reverse Path
C
G
B
D
• Route reply is forwarded via the reverse path
… thus forming the forward path.
• The forward path is used to route data
packets.
39
Route Expiry on Timeout
• A routing table entry maintaining a reverse
path is invalidated after a timeout interval
– Timeout should be long enough to allow RREP to
come back
• A routing table entry maintaining a forward
path is also invalidated if unused for certain
interval.
– This means unused routes are purged.
– Note that the route may still be valid.
40
Route Expiry
S
E
F
A
Forward Path
C
G
B
D
• Unused reverse paths expire based on a
timer.
41
Possibility of Routing Loops!
• Useful optimization: An intermediate node
with a route to D can reply to route request.
– Faster operation.
– Quenches route request flood.
• Wireless reality: Routing messages can get
lost.
• It can be shown that above can cause longterm routing loops.
42
Possibility of Routing Loops!
A
B
C
D
E
• Assume that A does not know about failure of link CD because route error sent by C is lost.
• Now C performs a route discovery for D. Node A
receives the route request (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 )
43
Use of Sequence Numbers in AODV
• Each node X maintains a sequence number
and increments it at suitable intervals.
• Seq. no. acts like a logical clock.
• Each node Y with a route to X in the routing
table, also maintains a destination sequence
number for X, which is Y’s latest knowledge
of X’s sequence number.
• Destination sequence no. can be used to
order routing updates.
44
Use of Sequence Numbers in AODV
Needs a route
to D
X
Has a route to D
RREQ carries 10
Dest seq no. = 10
Y
?
Dest seq no. = 7
Y does not reply, but
forwards the RREQ
D
Seq. no. = 15
• Loop freedom: The protocol maintains the invariant that the
destination sequence number for any destination D never
decreases along any valid route.
– No routing info is accepted by a node X from any node Y, where Y’s
destination seq. no. for D is less than X’s destination seq. no. for D.
• Freshest route: Given a choice of multiple routes, the protocol
always chooses the one with the highest sequence number.
45
How Using Sequence Numbers can
Avoid Loop?
9
A
B
C
D
9
7
E
5
10
All seq no’s are for D
(called destination seq.
no.)
• Link failure increments the destination seq. no.
at C (now is 10).
• If C needs a route to D, RREQ carries the
current dest. seq. no. (10).
• A does not reply as its own dest. seq. no. is
less than 10.
46
Summary: AODV
• No source routing. Based on routing tables.
• Use of sequence numbers to prevent loops.
• At most one route per destination maintained at
each node
– Only the freshest one is maintained (via destination
seq. no.)
– Stale route problem is less severe.
– After link break, all routes using the failed link are
erased.
• Unused routes expire even if valid.
47
Proactive Protocols
Optimized Link-State Routing (OLSR)
Proactive
Link State Routing
• Each node floods the network with the status of its links
– Flood can be periodic.
– Or, when a neighborhood change is detected.
• Each node keeps track of link state information received
from other nodes
– Thus builds its own view of the network connectivity.
• Each node uses its view of network connectivity to
construct a routing table for each destination.
– For example, each node can run a shortest-path algorithm
(e.g., Dijkstra’s) on its own view of the connectivity graph.
– Different nodes can use different objective for routing.
49
Types of Discovery
• Discover your local neighbors
– Hello messages
– Sent only 1-hop, never flooded
• Discover the total network topology
– Link state advertisement (LSA) messages
– Flooded throughout the network
Link State Algorithm
Flooding:
1) Periodically distribute link-state
advertisement (LSA) to neighbors
- LSA contains delays to each
neighbor
2) Install received LSA in LS database
3) Re-distribute LSA to all neighbors
Path Computation
1) Use Dijkstra’s shortest path algorithm
to compute distances to all destinations
2) Install <destination, nexthop> pair in
forwarding table
OLSR: Optimized Link-State Routing
• Only multipoint relays (MPR) participate in
flooding.
• Multipoint relays of node X are its neighbors such
that each two-hop neighbor of X is a one-hop
neighbor of at least one multipoint relay of X.
– Each node transmits its neighbor list in hello
messages, so that all nodes know their 2-hop
neighbors, in order to choose the multipoint relays.
– Select as few multipoint relays as possible.
• Only multipoint relays are used for flooding.
52
Traditional Flooding
24 retransmissions
needed to flood
the network
53
Multipoint Relays
11 retransmissions
needed to flood
the network
54
Optimized Link State Routing (OLSR)
• OLSR floods link-state information only through
multipoint relays.
• Routes used by OLSR only include multipoint
relays as intermediate nodes.
• Each node maintains information about its MPR
(multipoint relay) selector set, i.e., set of
neighbors that have selected itself as MPR.
• Each node with non-empty MPR selector set
periodically floods the network with topology
control (TC) messages containing own MPR
selector set.
– This information is used to construct the topology
database used for routing calculations.
55
Delay-Tolerant Networks
Disruption Tolerant Networks
• DTN Characteristics
– Intermittent connectivity
– Partitioning
– No guarantee of end-to-end paths
• Goals:
– High message delivery ratio
– Acceptable delay
• Routing Approach
Emergency response networks
Community networks
Battlefield networks
– Store-carry-and-forward routing
– Replication
57
No Reliance on Infrastructure
• Benefit of DTN communication
– Allows end-users to not rely on
infrastructure
• Infrastructure may be not
available
– Destroyed (emergency
response)
– Never there (military / thirdworld development)
• Infrastructure may not be ideal
– Costly (community networks)
– Overloaded / Slow (community
networks)
Instead, mobility is used to form
connections
Replication is used to overcome
intermittent connectivity
58
Routing Considerations
• Are contacts scheduled or not?
• Can I extract any information from the
mobility?
• Based on these questions:
– How much do I replicate?
– Who do I give replicas to?
– Which packets do I send / drop first?
Routing Categories
Replication Scale
Hard limit on number of
replicates per message
Direct Delivery
Quota-based
Spray and Wait
Spray and Focus
Encounter-based Routing
No limit on number of
replicas
Flooding-based
MaxProp
Prophet
RAPID
Epidemic
Epidemic Routing
• If nothing is known and resources are
available, just send to everyone!
• Epidemic routing is the DTN equivalent to
flooding:
D
D
D
I
I
I
S
S
S
Synchronizing
A
M1
M2
M5
B
I have 1, 2, and 5
I’ll take 2, 5
M2
M2 ACK
M5
M5 ACK
M1
M4
M6
Pros and Cons
• Pros:
– Extremely simple to implement
– Optimal in terms of delivery and delay if no
resource constraints
• Cons:
– Performance greatly suffers if there are resource
constraints (buffer, bandwidth, contact duration)
MaxProp
• High replication is good, if we can properly
manage the buffers
– Which messages do I send first?
– Which messages do I drop first?
• Still replicate all messages to all contacts!
MaxProp
Which packets do I send first?
1. Bandwidth
3. Contact duration
S
D
2. Storage
• Maintain a priority-ordered queue
– Priority is estimated delivery likelihood
– Forward copies of all messages in this order
Meeting Probabilities
• Each node maintains a vector of size n:
– i th entry indicates probability of meeting node i.
– Upon meeting a node, increment by 1 and normalize
A
B
D
C
D
E
Transmission:
O(n)
2
Storage:
.125
.25 .125
.25 .625
1.25
.25
.125
.25 O(n )
• Each node stores n of these vectors:
o Upon meeting a node, exchange vectors
Path Cost Calculation
• The cost of a path is the
sum of probabilities that
each connection on the
path does not occur
• Choose the path with
minimal cost
B
C
A
.5 .5
B
A
C
C
A
B
.2 .6 .2
D
.25 .5 .25
Path Costs:
ABD = (1 - .5) + (1 - .25) = 1.25
ACD = (1 - .5) + (1 - .2) = 1.3
ABCD = (1 - .5) + (1 - .5) + (1 - .2) = 1.8
ACBD = (1 - .5) + (1 - .6) + (1 - .25) = 1.65
D
D
B
C
.6 .4
Complementary Mechanisms
• Acknowledgements
– Flooded, to clear out buffers
– Hash of message (128bits)
• Packet “head start”
– Give priority to low hop-count
packets
• Buffer management
– Drop order
• Acknowledged messages
• Lowest delivery score
• Highest hop count
1.
2.
3.
4.
5.
Protocol
Direct delivery
Routing information
Acknowledgements
Low hop-count pkts
Remaining pkts
Spray and Wait
Buffer management is too difficult, so instead just
limit replication
• Strictly limit replication
Message
– Message copies contain quota
– Distribute quota at replication
time
4
Quota
• Benefits
– Resource friendly
• Limitations
– Potential reduced delivery
ratio
– May miss important contact
opportunities
2
2
1
1
69
Example
Spray Phase
Give a replica with half my
quota to my current contact
S
1
D
Wait Phase
When quota is 1 for a replica,
only direct delivery is allowed
S
4
2
1
1
D
1
1
1
Pros and Cons
• Pros:
– Very resource friendly
– Doesn’t require a complex buffer management
technique
– No routing overhead
• Cons:
– You may give valuable quota away to useless nodes
– Node mixing must be high and, to some extend,
random
Encounter-Based Routing
• Insight:
– Popularity can be used to determine forwarding usefulness
• Naive Approach
– Give entire message, or a replica of the message, to the more
popular node
• EBR’s Approach
– Distribute quota in proportion to node “popularity”
– Easily extendable to groups by distributing quota in proportion
to group popularity
Little
Lot
Low popularity
High popularity
72
Measuring Popularity
• Encounter value (EV)
– Gauge overall popularity of a node
– Counting Window
• Count contacts (perhaps not unique) within a specified window (CWC)
• Update using an exponentially weighted moving average
EV    CWC  (1   )  EV
• EV can be expanded to multiple dimensions
– Gauge popularity with different groups
– Each dimension represents a group
– Update EV in the dimension of the contact’s group(s)
73
Distributing Quota
• Node A meets Node B
– Get Node B’s EV (extremely low overhead)
– Determine amount of initial quota M (if any) to keep
and to give Node B, for each message in A’s buffer


EVB
Give  M

EV

EV
A
B

– Transmit a copy of message with the new quota for B
• Proportional
– Quota flow from high popularity to low popularity can
occur, mitigating local maximums
74
Example
4
EVA = 5
A
B
EVB = 15
8
75
Example
4
EVA = 5
A
B
EVB = 15
8
EVB
15
3


EVA  EVB 5  15 4
A sends ¾ of all quota to B
EVA
5
1


EVA  EVB 5  15 4
B sends ¼ of all quota to A
76
Example
Give away
EVA = 5
3
Keep
4
A
B
1
6
EVB = 15
Keep
2
EVB
15
3


EVA  EVB 5  15 4
A sends ¾ of all quota to B
Give away
8
EVA
5
1


EVA  EVB 5  15 4
B sends ¼ of all quota to A
77
Pros and Cons
• Pros:
– Very resource friendly
– Very low routing overhead
– Can still achieve high results
• Cons:
– Assumes uneven popularities, and that popularity
will stay the same for a node
– Can miss important contact opportunities due to
being quota-based
Conclusions
• Mobile networking is a very interesting and
active field of research!
– DTNs
– Vehicular networks
– Underwater networks
– Sensor networks
• Other topics, such as mobile security and
privacy, have lots of activity as well.
Download