Presentation is loading. Please wait.

Presentation is loading. Please wait.

June 2008 WEI short course - L10 IPv6 1 Wireless Embedded InterNet working Foundations of Ubiquitous Sensor Networks IPv6 Extensions for Low power embedded.

Similar presentations


Presentation on theme: "June 2008 WEI short course - L10 IPv6 1 Wireless Embedded InterNet working Foundations of Ubiquitous Sensor Networks IPv6 Extensions for Low power embedded."— Presentation transcript:

1 June 2008 WEI short course - L10 IPv6 1 Wireless Embedded InterNet working Foundations of Ubiquitous Sensor Networks IPv6 Extensions for Low power embedded networks David E. Culler University of California, Berkeley

2 June 2008WEI short course - L10 IPv62 Decade of Research w/o an Architecture Wireless Sensor Networks LinkLinkNetworkNetworkTransportTransportApplicationApplication 200220032004200520062007 SPINSPIN 1999200020012008 Broadcast Storm TinyOS 0.6 WooMACWooMAC GAFGAF S-MACS-MAC Aloha PS PSFQPSFQ GDIGDI CODACODA MintRouteMintRoute T-MACT-MAC RMSTRMST B-MACB-MAC MultihopLQIMultihopLQI FusionFusion DelugeDeluge FPSFPS WiseMACWiseMAC SPSP DripDrip DrainDrain BVRBVR RedwoodsRedwoods North Sea SCP-MACSCP-MAC PEDAMACSPEDAMACS X-MACX-MAC VolcanoVolcano CTPCTP FlushFlush Golden Gate Bridge S4S4 DipDip

3 June 2008WEI short course - L10 IPv63 Sensornet Concepts Cross-layer compression Cross-layer visibility Piggybacking Optimization for bidirectional links Trickle... All within an IP framework

4 June 2008WEI short course - L10 IPv64 PrefixIID ICMPv6ICMPv6 IPv6 Base HbH Opt RoutingRouting Fragmen t Dst Opt 128 bits And a decade of progress Large uninterpreted addresses Autoconfiguration and management Layer 2 bootstrapping and discovery Protocol options framework

5 June 2008WEI short course - L10 IPv65 IP Link ⇒ Broadcast Domain Structured Decomposition Embedded IPv6 in Concept IP Link ⇒ Always On Retain illusion even when always off Retain strict modularity Some key cross-layer visibility IPv6 can support a semi-broadcast link with few changes IP Link ⇒ “Reliable” Retain best-effort reliability over unreliable links

6 June 2008WEI short course - L10 IPv66 Solution by Layers LinkLink Sending frames between neighboring nodes NetworkNetwork Configuring large numbers of interfaces Efficient transmission of IPv6 datagrams Delivering datagrams over multiple hops Selecting bi-directional links and forming routes TransportTransport Delivering messages between app endpoints

7 June 2008WEI short course - L10 IPv67 Link Enabling Communication Between Neighboring Nodes Minimize idle listening Sampled Listening DARPA, Aloha-PS, B-MAC, X-MAC Always-on illusion, transmission overhead Scheduled S-MAC, T-MAC, PEDAMACS, TSMP, FPS Low power when in sync, node join problem Hybrid WiseMAC, SCP-MAC Always-on and low power Abstractions SP Implement mechanisms, not policies NetworkNetworkAbstractionAbstractionLinkLink

8 June 2008WEI short course - L10 IPv68 NetNet Link Media Mgmt Enabling Communication Between Neighboring Nodes PhyPhyLinkLink Media Management Control Remote Media Link Stats Neighbor Table AddrPeriodPhasePendingRSSIPRR Local Media Sample Period Sample Phase DataDataAckAck AbstractionAbstraction Provide the mechanisms Upper layers define the policy

9 June 2008WEI short course - L10 IPv69 Link - review Enabling Communication Between Neighboring Nodes Optimizations Power – Channel Utilization – Average Latency – Throughput Optimizations Streaming Scheduling Repairing 15.4 Acks False Positives – Security – Payload Repairing 15.4 Acks False Positives – Security – Payload 15.4 HDR PANPANDSTDSTSRCSRCSECSECTimingTimingPayloadPayload 15.4 FTR Sampled Listening Stateless – Low Latency – Always On Abstraction – Robust Sampled Listening Stateless – Low Latency – Always On Abstraction – Robust

10 June 2008WEI short course - L10 IPv610 Adaptation Efficient Transmission of IPv6 Datagrams Problem: Small Link MTU, Large IPv6 Datagrams Adaptation Layers ATM, FireWire, BNEP Datagram Segmentation, Subnetwork Forwarding Header Compression Flow-based (IPHC, ROHC) Stateless, shared context (STHD, HHC) 802.15.4 Link IPv6 Datagram (up to 1280 bytes) IPv6 Datagram (up to 1280 bytes) 127 Byte MTU 250 kbps

11 June 2008WEI short course - L10 IPv611 Autoconfiguration Configuring Large Numbers of Interfaces Cur Hop Limit Managed Addr Config Other Config Router Lifetime Reachable Time Prefix Length Autonomous Config Valid Lifetime Preferred Lifetime Prefix ICMPv6 Hdr Router Adv Prefix Info RFC 4861 – Neighbor Discovery RFC 4862 – Stateless Addr Autoconf RFC 3315 – DHCPv6 Existing Options New Options Network ID Sequence Number Router Hops Flags MHop Info

12 June 2008WEI short course - L10 IPv612 Autoconfiguration Configuring Large Numbers of Interfaces Stateless RFC 4861 + 4862 Stateless DHCPv6 RFC 3315 DHCPv6 L2e 00-17-3B-00-39-12-58-28 L2s0x0001 L32001:abcd::1 L2e 00-17-3B-00-57-17-58-39 L2s0x0023 L3 L2e 00-17-3B-00-79-49-66-23 L2s0x0092 L3 L2e 00-17-3B-00-57-17-58-39 L2s L3 L2e 00-17-3B-00-79-49-66-23 L2s L3 2001:abcd::23 0x0023 L2e 00-17-3B-00-39-12-58-28 L2s0x0001 L32001:abcd::1 RequestRequestResponseResponseRequestRequestResponseResponse 2001:abcd::92 0x0092 2001:abcd::92 2001:abcd::23

13 June 2008WEI short course - L10 IPv613 Autoconfiguration Configuring Large Numbers of Interfaces Cur Hop Limit Managed Addr Config Other Config Router Lifetime Reachable Time Prefix Length Autonomous Config Valid Lifetime Preferred Lifetime Prefix ICMPv6 Hdr Router Adv Prefix Info RFC 4861 – Neighbor Discovery RFC 4862 – Stateless Addr Autoconf RFC 3315 – DHCPv6 Existing Options New Options Network ID Sequence Number Router Hops Flags MHop Info Trickle

14 June 2008WEI short course - L10 IPv614 Autoconfiguration Configuring Large Numbers of Interfaces LinkLinkNetNetTranTranAppApp Media Management Control Remote Media Link Stats Neighbor Table AddrPeriodPhasePendingRSSIPRR Local Media Sample Period Sample Phase 6LoWPAN Adaptation StatelessAutoconfStatelessAutoconfAutoconfAutoconfDHCPv6DHCPv6 ICMPv 6 DataDataAckAck

15 June 2008WEI short course - L10 IPv615 Routing & Forwarding NetNetRouterRouter Routing Protocol Routing Table PrefixNext ICMPv 6 LinkLink Media Management Control Remote Media Link Stats Local Media DataDataAckAck ForwarderForwarderMulticastMulticast Send Manager BufferBufferUnicastUnicastQueueQueue Forwarding Table PrefixNext Default Send Manager Delivering datagrams over multiple hops Neighbor Table AddrPeriodPhasePendingRSSIPRR Sample Period Sample Phase

16 June 2008WEI short course - L10 IPv616 Forwarding Delivering Datagrams Over Multiple Hops Minimize energy of reliable delivery to next hop Reliability & Rate Control PSFQ, RMST, Fusion, IFRC, Flush Hop-by-hop for reliability and control None with goal of minimizing energy All assume snooping or broadcast

17 June 2008WEI short course - L10 IPv617 Forwarding Delivering Datagrams Over Multiple Hops Hop-by-Hop Recovery Piggyback L3 Information on L2 Acks 15.4 HDR PANPANDSTDSTSRCSRCSECSECTimingTiming Network Info 15.4 FTR L3 custody transfer ⇒ fewer msg drops Lower power, lower latency, spatial diversity 1) lookup next hop 2) transmit message 3) if ack, dequeue, goto 5 4) backoff 5) goto 1

18 June 2008WEI short course - L10 IPv618 Forwarding Delivering Datagrams Over Multiple Hops Hop-by-Hop Congestion Control Less contention ⇒ lower power No snooping or added control overhead 1) lookup next hop 2) transmit message 3) if ack 3.1) if not queue full, dequeue, goto 6 3.2) AIMD backoff, goto 6 5) backoff 6) goto 1 1) lookup next hop 2) transmit message 3) if ack 3.1) if not queue full, dequeue, goto 6 3.2) AIMD backoff, goto 6 5) backoff 6) goto 1

19 June 2008WEI short course - L10 IPv619 Forwarding Delivering Datagrams Over Multiple Hops StreamingStreaming Quality of Service Queue Reservations Latency Tolerant vs. Urgent IPv6IPv6UrgentUrgentPayloadPayloadIPv6IPv6PayloadPayload Disable streaming delays Reduce backoffs Disable streaming delays Reduce backoffs Guaranteed service for different classes Reduce power Increase throughput Reduce power Increase throughput

20 June 2008WEI short course - L10 IPv620 Routing Selecting Bi-Directional Links and Forming Routes Problem: Inferring a connectivity graph MANET DSDV, AODV, DYMO, OLSR, TBRPF Any-to-any, shortest path Distance vector and link state Sensornets Any-to-any (GPSR, NoGeo, GEM, BVR, S4) Collection (MintRoute, CTP, MultihopLQI) Link Discovery vs. Link Estimation MANET: assume high mobility Sensornet: assume a more static network

21 June 2008WEI short course - L10 IPv621 Routing Selecting Bi-Directional Links and Forming Routes ForwarderForwarderMulticastMulticast Send Manager BufferBufferUnicastUnicastQueueQueue Forwarding Table Send Manager RouterRouter Routing Protocol Routing Table PrefixNext PrefixNext Default

22 June 2008WEI short course - L10 IPv622 Routing Selecting Bi-Directional Links and Forming Routes Default Routes Discovering Links ICMPv6 Hdr Router Adv MHop Info Inferring a Connectivity Graph Routing Table Low Routing Cost High Routing Cost High Confidence Low Confidence Selecting a Default Route Routing Table Forwarding Table Top candidate Top candidate Dynamic re-routing Dynamic re-routing Increasing confidence Increasing confidence PrefixNext Default PrefixNext PrefixNext

23 June 2008WEI short course - L10 IPv623 Routing Selecting Bi-Directional Links and Forming Routes IPv6IPv6PayloadPayload IPv6IPv6PayloadPayload IPv6IPv6PayloadPayload Supported Communication Sensornet → External IP External IP → Sensornet Sensornet → Sensornet Direct single hop Most common patterns in sensornets Most common patterns in sensornets

24 June 2008WEI short course - L10 IPv624 Routing & Forwarding Selecting Links and Forming Routes LinkLinkNetNetTranTranAppApp Media Management Control Remote Media Link Stats Neighbor Table AddrPeriodPhasePendingRSSIPRR Local Media Sample Period Sample Phase StatelessAutoconfStatelessAutoconfAutoconfAutoconfDHCPv6DHCPv6 6LoWPAN Adaptation ICMPv 6 DataDataAckAck ForwarderForwarderMulticastMulticast Send Manager BufferBufferUnicastUnicastQueueQueue Forwarding Table Send Manager RouterRouter Routing Protocol Routing Table PrefixNext PrefixNext Default

25 June 2008WEI short course - L10 IPv625 Transport Communication Between Application Endpoints LinkLinkNetNetTranTranAppApp Media Management Control Remote Media Link Stats Neighbor Table AddrPeriodPhasePendingRSSIPRR Local Media Sample Period Sample Phase RouterRouter Routing Protocol Routing Table PrefixNextStatelessAutoconfStatelessAutoconfAutoconfAutoconfDHCPv6DHCPv6 UDPUDPTCPTCP 6LoWPAN Adaptation ICMPv 6 DataDataAckAck ForwarderForwarderMulticastMulticast Send Manager BufferBufferUnicastUnicastQueueQueue Forwarding Table Send Manager PrefixNext Default

26 June 2008WEI short course - L10 IPv626 Programming Interface BSD Sockets ⇒ Event based UDP event void Boot.booted() {call Udp.bind( 7 ); } event void Udp.recvfrom( void *buf, uint16_t len, sockaddr_in6_t *from, link_metadata_t *linkmsg ) { call Udp.sendto( buf, len, from ); } event void Boot.booted() {call Udp.bind( 7 ); } event void Udp.recvfrom( void *buf, uint16_t len, sockaddr_in6_t *from, link_metadata_t *linkmsg ) { call Udp.sendto( buf, len, from ); }

27 June 2008WEI short course - L10 IPv627 Programming Interface BSD Sockets ⇒ Event based TCP uint8_t m_buf[ BUF_SIZE ]; event void Boot.booted() { call Tcp.bind( 7 ); call Tcp.listen(); } call Tcp.listen(); } event bool Tcp.accept( sockaddr_in6_t *to, void **sendbuf, uint16_t *sendbuf_size ) { *sendbuf = m_buf; *sendbuf_size = sizeof(m_buf); *sendbuf_size = sizeof(m_buf); return TRUE; } return TRUE; } event void Tcp.connected() {} event uint16_t Tcp.recv( void *buf, uint16_t len ) { return call Tcp.send( buf, len ) == SUCCESS ? len : 0; } event void Tcp.acked() {} event void Tcp.closed() { signal Boot.booted(); } uint8_t m_buf[ BUF_SIZE ]; event void Boot.booted() { call Tcp.bind( 7 ); call Tcp.listen(); } call Tcp.listen(); } event bool Tcp.accept( sockaddr_in6_t *to, void **sendbuf, uint16_t *sendbuf_size ) { *sendbuf = m_buf; *sendbuf_size = sizeof(m_buf); *sendbuf_size = sizeof(m_buf); return TRUE; } return TRUE; } event void Tcp.connected() {} event uint16_t Tcp.recv( void *buf, uint16_t len ) { return call Tcp.send( buf, len ) == SUCCESS ? len : 0; } event void Tcp.acked() {} event void Tcp.closed() { signal Boot.booted(); }

28 June 2008WEI short course - L10 IPv628 Stack Architecture LinkLinkNetNetTranTranAppApp Media Management Control Remote Media Link Stats Neighbor Table AddrPeriodPhasePendingRSSIPRR Local Media Sample Period Sample Phase RouterRouter Routing Protocol Routing Table PrefixNextStatelessAutoconfStatelessAutoconfAutoconfAutoconfDHCPv6DHCPv6 UDPUDPTCPTCP 6LoWPAN Adaptation ICMPv 6 DataDataAckAck??????HTTPHTTPTelnetTelnetSNMPSNMPDNSDNS?????? ForwarderForwarderMulticastMulticast Send Manager BufferBufferUnicastUnicastQueueQueue Forwarding Table Send Manager PrefixNext Default


Download ppt "June 2008 WEI short course - L10 IPv6 1 Wireless Embedded InterNet working Foundations of Ubiquitous Sensor Networks IPv6 Extensions for Low power embedded."

Similar presentations


Ads by Google