Download L8-routing - University of California, Berkeley

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Network tap wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Internet protocol suite wikipedia , lookup

Peering wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Backpressure routing wikipedia , lookup

Computer network wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Airborne Networking wikipedia , lookup

IEEE 1355 wikipedia , lookup

Routing wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
Wireless Embedded Inter-Networking
Foundations Ubiquitous Sensor Networks
Self-Organized Network
- Routing and Forwarding
David E. Culler
University of California, Berkeley
June 2008
WEI Short Course - L8 Routing
1
Embedded IP Architecture - Network
UDP
TCP
ICMPv6
Multicast
Queue
Send
Manager
Data
Router
Unicast
Buffer
Autoconf
Routing
Algorithm
Forwarding Table
Send
Manager
Stateless
Autoconf
Routing Table
Network
6LoWPAN Adaptation
Forwarder
App Tran
DHCPv6
Default
Ack
Media Management Control
Link Stats
Sample Period
Neighbor Table
Addr
Period
Phase
Pending
Local Media
RSSI
Success
Sample Phase
Link
Remote Media
Phy
June 2008
WEI Short Course - L8 Routing
2
The Basic Communication Primitive
• Transmit a packet
• Received by a set of nodes
–
–
–
–
Dynamically determined
Depends on physical environment at the time
and what other communication is on-going
And further constraints by the link layer
• Each selects whether to retransmit
– Potentially after modification
• And if so, when
June 2008
WEI Short Course - L8 Routing
3
Wireless Multihop Communication
• Upon each transmission, one of the recipients
retransmits
– determined by source, by receiver, by …
– on the ‘edge of the cell’
June 2008
WEI Short Course - L8 Routing
4
Why Multihop Communication?
• Power!
140
– to transmit D grows as D3 or worse
– to route distance D grows linearly
120
• Bandwidth (spatial multiplexing)
100
– With n nodes in a single cell, each
gets at most 1/n bandwidth
– Many small cells => many
simultaneous transmissions.
80
60
• Reliability (spatial diversity)
40
20
0
0
June 2008
1
2
3
4
5
– Individual links experience
interference, obstacles, and multipath
effects
– Even short-range “wireless wires”
require human nurturing
» IRDA, Bluetooth, WiFi, Cell
– Provides spatial diversity and receiver
diversity
» rather than antenna diversity
– Protocol level reliability
WEI Short Course - L8 Routing
5
WSN Communication Requirements
•
•
•
•
Local neighbor communication (1 to few)
Dissemination (1 to many)
Data Collection and Aggregation (many to 1)
Point-to-point Transfers (1 to 1)
• Reliably over lossy links
• At low energy (E = P*T)
– Idle listening, management, monitoring
• Adapting to changing conditions
• With very light memory footprint
June 2008
WEI Short Course - L8 Routing
6
Embedded Network Organization
IP Sensornet
Sensor Node
IP Network
(powered)
Border Router
IP Device
June 2008
WEI Short Course - L8 Routing
7
Network Architecture – What forms the IP Link?
• IP Protocols assume certain link properties
• Many assume a full-broadcast domain
– “Everyone can communicate with each other”
– Reflexive and transitive reachability
– Not ad-hoc, wireless networks
• Examples
–
–
–
–
June 2008
IPv6 Neighbor Discovery
IPv6 Address Autoconfiguration
ICMPv6 Redirect
DHCPv6
WEI Short Course - L8 Routing
8
Network Architecture – PAN = IP Link
Personal Area Network (PAN)
Single IP Link
• PAN  IPv6 Link-Local Scope
• Emulate reflexive and transitive reachability
• Conceivable to run existing IP-based protocols
unmodified
• No IP-level visibility into wireless topology
• Must define subnetwork functionality
June 2008
WEI Short Course - L8 Routing
9
Network Architecture – Local Link = IP Link
Personal Area Network (PAN)
•
•
•
•
Multiple IP Links
Radio Range  IPv6 Link-Local Scope
IP-level visibility into link topology
Routing metrics across other link technologies
Utilize functionality defined by IP
• Non-reflexive and non-transitive reachability
June 2008
WEI Short Course - L8 Routing
10
Multi-Hop Communication
PAN
• Short-range radios & Obstructions => Multi-hop Communication
is often required
– i.e. Routing and Forwarding
– That is what IP does!
• “Mesh-under”: multi-hop communication at the link layer
– Still needs routing to other links or other PANs
• “Route-over”: IP routing within the PAN
• 6LoWPAN supports both
June 2008
WEI Short Course - L8 Routing
11
IP-Based Multi-Hop
• IP has always done “multi-hop”
– Routers connect sub-networks to one another
– The sub-networks may be the same or different physical links
• Routers utilize routing tables to determine which node represents
the “next hop” toward the destination
• Routing protocols establish and maintain proper routing tables
– Routers exchange messages with neighboring routers
– Different routing protocols are used in different situations
– RIP, OSPF, IGP, BGP, AODV, OLSR, …
• IP routing over 15.4 links does not require additional header
information at 6LoWPAN layer
• Vast body of tools to support IP routing
– Diagnosis, visibility, tracing, management
– These need to be reinvented for meshing
• IP is widely used in isolated networks too
– Broad suite of security and management tools
June 2008
WEI Short Course - L8 Routing
12
Terminology
• There is no single-hop routing!
• IP routing allows hosts in one network (IP Link)
to communicate with hosts in another
• Topology Formation: determining the
connectivity graph, i.e., the network.
• Routing: Protocols and Process for establishing
what paths are used in communicating over that
graph and setting up tables.
• Forwarding: process of receiving messages on
one interface, looking up the next hop, and
transmitting them on that interface
• Meshing: some combination of formation,
routing, and forwarding that occurs at the link
layer (L2) transparently to the network layer
June 2008
WEI Short Course - L8 Routing
13
Meshing vs Routing
• Conventional IP link is a full broadcast domain
– Routing connects links (i.e, networks)
• Many IP links have evolved from a broadcast domain
to a link layer “mesh” with emulated broadcast
– ethernet => switched ethernet
– 802.11 => 802.11s
• Utilize high bandwidth on powered links to maintain
the illusion of a broadcast domain
• 802.15.4 networks are limited in bandwidth and
power so the emulation is quite visible.
• Routing at two different layers may be in conflict
• On-going IETF work in ROLL working group
– Routing Over Low-Power and Lossy networks
June 2008
WEI Short Course - L8 Routing
14
Classical View of Routing
• Connectivity between nodes defines the network
graph.
– Topology formation
• A Routing algorithm determines the sub-graph
that is used for communication between nodes.
– Route formation, path selection
• Packets are forwarded from source to
destination over the routing subgraph
– At each node in the path, determine the recipient of the next
hop
• The selection at each hop is made based on the
information at hand
– Sender address, current address, destination address,
information in the packet, information on the node.
– Table-driven, source based, algorithmic, …
– Who knows the route? Do you determine it as you go?
June 2008
WEI Short Course - L8 Routing
15
Basic Approaches
• Link state
– Nodes shout (send) and listen (receive) to determine neighbor
connectivity.
– Each floods this information throughout (Link State
Advertisement) so every node has a map (Link state data
base) of the network.
– Any node can determine the path or the next hop.
– management protocol deals with changes in connectivity
– Classic Example: OSPF
• Distance vector
– Nodes maintain routing information about “distance” and
“direction” to destinations
– Choose next hop by comparing the cost of routing through
neighbors
» Cost(dest D, neighbor b) = linkCost(b) + pathCost(b,D)
– Management propagates routing information
» Sequence numbers, etc.
– Classic Example: RIP
June 2008
WEI Short Course - L8 Routing
16
What’s different in WSN?
• There is no a priori network graph
– It is discovered by sending packets and seeing who receives
them.
– The link relationship is not binary.
» pairs of nodes communicate with some probability that is
determined by many of factors.
– It is not static.
• The embedding of the “network” in space is
important.
– Need to get information to travel between particular physical
places.
– But the “communication range” is not a simple function of
distance.
• addressing & naming
– Flat EUID? Hierarchical IP? Topologically meaningful?
Spatially meaningful?
June 2008
WEI Short Course - L8 Routing
17
Topology Formation
• Much of the “paper protocols” define
connectivity graph with unit disk model
R
– Link(A,B) iff dist(A,B) ≤ R
• OK for rough calculations, but not for protocol
design
– Nearby nodes may not be able to communicate.
– Far away nodes may be able to communicate.
– Nodes that communicated in the past may not be able to
communicate in the future.
– Nodes may have intermittent communication depending on
external factors.
• Connectivity is determined by communication
– If B receives packet reasonably reliably from A, then A  B
– If A receives packet reasonably reliably from B, then A  B
– And if both are true, A  B
June 2008
WEI Short Course - L8 Routing
18
Wireless Routing Protocols
• Many wireless protocols in the IP context have
been development in the IETF MANET (Mobile Ad
Hoc Networking) working group in the context of
802.11 links carrying traditional TCP/IP point-topoint traffic.
–
–
–
–
–
AODV – ad hoc on-demand distance vector
OLSR – Optimized link state Routing
DSDV - Destination Sequenced Distance Vector
DSR – Dynamic Source Routing
TDRPF - Topology Dissemination Based on Reverse-Path
Forwarding
• Assume a fairly “classic” view of connectivity
– Naïve radio
June 2008
WEI Short Course - L8 Routing
19
Neighbor Communication
1
1
0
June 2008
WEI Short Course - L8 Routing
20
Fundamental Primitive
• Transmit to whatever receivers happen to hear it
• This is the fundamental primitive that is buried
underneath complex protocols like Bluetooth,
but not made available.
• It is what make it possible to build higher level
protocols on the link, especially IP.
• To determine connectivity,
– Local broadcast
– Respond
– on-going protocol to estimate quality of the link
» Packet reliability (sequence numbers, acks)
• Note 802.15.4 acks only from a specific destination
» RSSI, LQI, …
June 2008
WEI Short Course - L8 Routing
21
Neighbor Communication in IPv6
• Route-over: this is simply transmission to the
Link Local All Nodes multicast address – FF02::1
• Mesh-under: the entire PAN is a single IP link
(i.e., mesh under), this concept is lost.
• At the link layer, the broadcast address is welldefined
• But, in a low-power link, this is no longer the
most basic communication primitive.
– Only receive if listening
– Link local broadcast requires either more wake up or more
coordination than link local unicast
• Unicast/Multicast distinction remains
June 2008
WEI Short Course - L8 Routing
22
Simple Address-Free Flooding Protocol
• Root broadcasts a “new” message to local
neighborhood
• Each node performs a simple rule
if (“new” incoming msg) then
take local action
retransmit modified msg
• No underlying routing structure required
– The connectivity over physical space determines it.
June 2008
WEI Short Course - L8 Routing
23
Route-Free “Flood”
1
1
0
June 2008
WEI Short Course - L8 Routing
24
“Flooding”
• Route free dissemination is extremely useful in
its own right
– Disseminate information
» Router advertisements, solicitaitons, …
– Network-wide discovery
– Join, …
• It is also the network primitive that most “ad
hoc” protocols used to determine a route
– Flood from source till destination is reached.
– Each node records the source of the flood packet
» This is the parent in the “routing tree”
– Reverse the links to form the path back
June 2008
WEI Short Course - L8 Routing
25
Data Collection in concept
2
2
2
2
1
1
2
0
June 2008
WEI Short Course - L8 Routing
26
The Problems
• Flood causes tremendous contention
– Many good links missed because of collistions
– Huge amount of noise
• Many links are not symmetric
June 2008
WEI Short Course - L8 Routing
27
Flood Dynamics
• Experimental Setup
–
–
–
–
13x13 grid of nodes
separation 2ft
flat open surface
Identical length antennas,
pointing vertically upwards.
– Fresh batteries on all nodes
– Identical orientation of all
nodes
– The region was clean of
external noise sources.
• Range of signal strength
settings
• Log many runs
Ganesan, Krishnamachari, Woo, Culler, Estrin and Wicker, Complex Behavior at Scale: An Experimental Study of
Low-Power Wireless Sensor Networks , UCLA Computer Science Technical Report UCLA/CSD-TR 02-0013
June 2008
WEI Short Course - L8 Routing
28
Final Tree
June 2008
WEI Short Course - L8 Routing
29
Factors
• Long asymmetric links are common
– Many children
• Nodes out of range may have overlapping cells
– hidden terminal effect
• Collisions => these nodes hear neither ‘parent’
– become stragglers
• As the tree propagates
– folds back on itself
– rebounds from the edge
– picking up these stragglers.
• Redundancy
– Geometric overlap => <41% additional area
Ni, S.Y., Tseng, Y.C., Chen, Y.S., Sheu, J.P.: The broadcast storm problem in a mobile ad hoc network. MobiCom'99
June 2008
WEI Short Course - L8 Routing
30
Topology Reinforcement
2
2
2
2
1
1
2
0
June 2008
WEI Short Course - L8 Routing
31
Network Layer
ICMPv6
Multicast
Unicast
Buffer
Send
Manager
Router
Queue
Forwarding Table
Send
Manager
Routing
Algorithm
Stateless
Autoconf
Routing Table
Network
Forwarder
Autoconf
Default
• Router
– Populate the routing table with candidates
– By listening to Router Advertisement (RA) messages
» In LoWPAN Link quality is advertised too
– Manages entries in the forwarding table
• Forwarder
– Recv datagram on interface, lookup next hop in FT, request
transmission to that
– Default route
• In IPv6, topology reinforcement is by RA
– Plus whatever passive observation and link level piggy backing
June 2008
WEI Short Course - L8 Routing
32
Routing – Baseline
• Routing state very limited. Routing protocol messages very
infrequent.
• Reduce problem by:
– Egress routing (default routes)
– Ingress routing (source routing)
– Any-to-any through border router or scoped discovery
IP Network
(powered)
Border Router
IP Device
June 2008
WEI Short Course - L8 Routing
33
Routing – Egress Routes
• Distance-vector protocol rooted at Border Router
• Piggyback on ICMPv6 Router Advertisements
– Hop-count or other routing metric
– Version number to clear routing state
• List of next-hop candidates
– Top candidate used to configure default routes
– Select a random next-hop if default route fails
fd00::4
fd00::1
fd00::3
fd00::2
fd00::5
June 2008
WEI Short Course - L8 Routing
34
Routing – Ingress Routes
• Record route sent to subnet router anycast
• Forward using IPv6 Routing extension header
– Use 16-bit short compressed form to minimize overhead
fd00::4
1 | 3 | fd00::4
fd00::4
fd00::1
fd00::3
fd00::2
fd00::5
June 2008
WEI Short Course - L8 Routing
35
Routing – Any-to-any Routes
• Route through border router by default
• Utilize scoped discovery to for nearby neighbors
– Worst-case stretch (2D) with neighboring nodes
– New stretch 2D/(s+1), s = discovery scope
fd00::4
1 | 3 | fd00::4
fd00::1
fd00::3
fd00::2
Worst-case Stretch
fd00::4
fd00::5
June 2008
WEI Short Course - L8 Routing
36
Achieving Reliability in the Face of
Uncertainty
June 2008
WEI Short Course - L8 Routing
37
Abstracting Uncertainty
Signal
Noise
Distance
June 2008
WEI Short Course - L8 Routing
38
Which node do you route through?
June 2008
WEI Short Course - L8 Routing
39
What does this mean?
• Always routing through nodes “at
the hairy edge”
– Wherever you set the threshold, the
most useful node will be close to it
• Topology determination is a
continuous process of discovery
and validation
– and it must be done politely
• Connectivity is determined by
communication
– If B receives packet reasonably reliably
from A, then A  B
– If A receives packet reasonably reliably
from B, then A  B
– And if both are true, A  B
June 2008
WEI Short Course - L8 Routing
40
Reliability Techniques
• The IP end-to-end architecture assumes IP links
are 99% reliable
– Best effort says don’t try to push it to %99.999 on every link,
put E2E reliability protocols over it when you need it, i.e., TCP
– Not that every link should send and forget.
• Good Low-power links are often <%90 reliable
– 0.9h drops awfully quickly
90%
80%
• Need link-level acks
– 15.4 acks not even good enough
– Filters out asymmetric links
•
•
•
•
June 2008
Need hop-by-hop retransmission
Piggy-back net acks on link level
Retransmission and rerouting
Provides the cross-layer visibility
WEI Short Course - L8 Routing
70%
60%
50%
P
40%
30%
20%
10%
0%
1
2
3
4
5
6
7
8
9
10
hops
41
Routing
Selecting Bi-Directional Links and Forming Routes
Discovering Links
ICMPv6 Hdr
Default Routes
Router Adv
MHop Info
Inferring a Connectivity Graph
Routing Table
Low Routing Cost
Prefix
High Routing Cost
Next
High Confidence
Low Confidence
Selecting a Default Route
Routing Table
Forwarding
•Top candidate
Table
Prefix Next
Prefix
Next
•Dynamic re-routing
•Increasing
confidence
Default
June 2008
WEI Short Course - L8 Routing
42
High Quality Selection
• Sort by:
– Link quality estimate confidence
– Path cost (including link quality)
• Link success rate requires state
– RSSI for insertion (no prior state)
• Link success computed by link for each transmission
– Dynamically alter default route to:
» Refresh link quality estimates
» Discover lower path costs
» Re-routing naturally does this
June 2008
WEI Short Course - L8 Routing
43
Building Neighborhoods & Routes
•
•
•
•
Node transmits to some unknown set
Candidate nbrs are sources of incoming packets
Estimate of inbound link reliability
Occasionally announce inbound link states
– Provides reverse link estimate to outbound neighbors
– Basis for cost-based routing
• Cost-based Parent Selection
– depth(me) = MIN nbr(me) depth(i)
– loss(me) = MIN nbr(me) loss(i)*est(me,i)
– trans(me) = MIN nbr(me) trans(i)+etrans(me,i)
• What about nbrs that don’t fit in the table?
– FIFO, LRU, Frequency
Taming the Challenges of Reliable Multihop Routing in Sensor Networks,
June 2008
Course
- L8SenSys.
Routing2003.
Alec WEI
Woo Short
and David
Culler,
44
Pragmatics
• Maintain at least two (preferably three) candidate
parents
– Link level retransmission and rerouting
– Use acks to determine quality of the link
– Throw in a new candidate from time to time.
• Do not record list of children
– Insufficient memory to build the table.
• Route update message on a trickle schedule
June 2008
WEI Short Course - L8 Routing
45
Adding up the pieces - footprint
24038 ROM
(including
runtime)
3598 RAM
* Production implementation on TI msp430/cc2420
June 2008
ROM
RAM
CC2420 Driver
3149
272
802.15.4 Encryption
1194
101
Media Access Control
330
9
Media Management Control
1348
20
6LoWPAN + IPv6
2550
0
Checksums
134
0
SLAAC
216
32
DHCPv6 Client
212
3
DHCPv6 Proxy
104
2
ICMPv6
522
0
Unicast Forwarder
1158
451
Multicast Forwarder
352
4
Message Buffers
0
2048
Router
2050
106
UDP
450
6
TCP
1674
50
WEI Short Course - L8 Routing
46
… and reliability
Application Power Model
June 2008
Data Rate Sensitivity
Data Rate Sensitivity
(Router)
(Edge)
Deployment Duty Cycle
Deployment Reliability
WEI Short Course - L8 Routing
47
Discussion
• Upcoming
– Trickle protocol
– Extension of IPv6 to support this sort of routing
June 2008
WEI Short Course - L8 Routing
48