Interconnecting smart objects with IP : the next Internet

Interconnecting Smart Objects with IP: The Next Internet explains why the Internet Protocol (IP) has become the protocol of choice for smart object networks. IP has successfully demonstrated the ability to interconnect billions of digital systems on the global Internet and in private IP networks. On...

Full description

Saved in:
Bibliographic Details
Published in:Contiki
Main Authors: Vasseur, Jean-Philippe, Dunkels, Adam
Format: eBook Book
Language:English
Published: Burlington, Mass Elsevier 2010
Amsterdam ; Tokyo Morgan Kaufmann
Elsevier Science & Technology
Morgan Kaufmann/Elsevier
Edition:1
Subjects:
ISBN:9780123751652, 0123751659
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Table of Contents:
  • 10.4 The Extended Internet -- 10.4.1 The Role of Proxy Engines and the Application Overlay Networks -- 10.5 Conclusions -- PART 2 THE TECHNOLOGY -- CHAPTER 11 Smart Object Hardware and Software -- 11.1 Hardware -- 11.1.1 Communication Device -- 11.1.2 Microcontroller -- 11.1.3 Sensors and Actuators -- 11.1.4 Power Sources -- 11.1.5 Outlook: Systems on a Chip, Printed Electronics, and Claytronics -- 11.2 Software for Smart Objects -- 11.2.1 Operating Systems for Smart Objects -- 11.2.2 Multi-threaded Versus Event-driven Programming -- 11.2.3 Memory Management -- 11.2.4 Outlook: Macroprogramming, Java -- 11.3 Energy Management -- 11.3.1 Radio Power Management Mechanisms -- 11.3.2 Asynchronous Duty Cycling -- 11.3.3 Synchronous Duty Cycling -- 11.3.4 Examples of Radio On-times -- 11.4 Conclusions -- CHAPTER 12 Communication Mechanisms for Smart Objects -- 12.1 Communication Patterns for Smart Objects -- 12.1.1 One-to-one Communication -- 12.1.2 One-to-many Communication -- 12.1.3 Many-to-one Communication -- 12.2 Physical Communication Standards -- 12.3 IEEE 802.15.4 -- 12.3.1. 802.15.4 Addresses -- 12.3.2. The 802.15.4 Physical Layer -- 12.3.3. MAC Layer -- 12.3.4. The 802.15.4 Frame Format -- 12.3.5. Power Consumption -- 12.4 IEEE 802.11 and WiFi -- 12.4.1 Network Topology and Formation -- 12.4.2 Physical Layer -- 12.4.3 MAC Layer -- 12.4.4 Low-power WiFi -- 12.5 PLC -- 12.5.1 Physical Layer -- 12.5.2 MAC Layer -- 12.5.3 Power Consumption -- 12.6 Conclusions -- CHAPTER 13 uIP - A Lightweight IP Stack -- 13.1 Principles of Operation -- 13.1.1 Input Processing -- 13.1.2 Output Processing -- 13.1.3 Periodic Processing -- 13.1.4 Packet Forwarding -- 13.2 uIP Memory Buffer Management -- 13.3 uIP Application Program Interface -- 13.3.1 The Event-driven API -- 13.4 uIP Protocol Implementations -- 13.4.1 IP Fragment Reassembly -- 13.4.2 TCP
  • Front Cover -- Interconnecting Smart Objects with IP: The Next Internet -- Copyright Page -- Dedication -- About the Authors -- Contents -- Foreword -- Preface -- OBJECTIVES -- STRUCTURE OF THE BOOK -- Acknowledgements -- SPECIAL ACKNOWLEDGMENTS -- PART 1 THE ARCHITECTURE -- CHAPTER 1 What Are Smart Objects? -- 1.1 Where Do Smart Objects Come From? -- 1.1.1 Embedded Systems -- 1.1.2 Ubiquitous and Pervasive Computing -- 1.1.3 Mobile Telephony -- 1.1.4 Telemetry and Machine-to-machine Communication -- 1.1.5 Wireless Sensor and Ubiquitous Sensor Networks -- 1.1.6 Mobile Computing -- 1.1.7 Computer Networking -- 1.2 Challenges for Smart Objects -- 1.2.1 Node-level Challenges -- 1.2.2 Network-level Challenges -- 1.2.3 Standardization -- 1.2.4 Interoperability -- 1.3 Conclusions -- CHAPTER 2 IP Protocol Architecture -- 2.1 Introduction -- 2.2 From NCP to TCP/IP -- 2.3 Fundamental TCP/IP Architectural Design Principles -- 2.4 The Delicate Subject of Cross-layer Optimization -- 2.5 Why Is IP Layering also Important for Smart Object Networks? -- 2.6 Conclusions -- CHAPTER 3 Why IP for Smart Objects? -- 3.1 Interoperability -- 3.2 An Evolving and Versatile Architecture -- 3.3 Stability and Universality of the Architecture -- 3.4 Scalability -- 3.5 Configuration and Management -- 3.6 Small Footprint -- 3.7 What Are the Alternatives? -- 3.8 Why Are Gateways Bad? -- 3.8.1 Inherent Complexity -- 3.8.2 Lack of Flexibility and Scalability -- 3.9 Conclusions -- CHAPTER 4 IPv6 for Smart Object Networks and the Internet of Things -- 4.1 Introduction -- 4.2 The Depletion of the IPv4 Address Space -- 4.2.1 Current IPv4 Address Pool Exhaustion Rate -- 4.3 NAT: A (Temporary) Solution to IPv4 Address Exhaustion -- 4.4 Architectural Discussion -- 4.5 Conclusions -- CHAPTER 5 Routing -- 5.1 Routing in IP Networks -- 5.1.1 IP Routing and QoS
  • 13.4.3 Checksum Calculations -- 13.5 Memory Footprint -- 13.6 Conclusions -- CHAPTER 14 Standardization -- 14.1 Introduction -- 14.2 The IETF -- 14.2.1 The IETF Mission -- 14.2.2 The IETF Organization -- 14.2.3 IETF Standard Tracks -- 14.2.4 The IETF Standard Process -- 14.2.5 The IAB -- 14.3 IETF Working Groups Related to IP for Smart Objects -- 14.3.1 The IPv6 Over Low-power WPAN Working Group -- 14.3.2 The ROLL Working Group -- 14.4 Conclusions -- CHAPTER 15 IPv6 for Smart Object Networks - A Technology Refresher -- 15.1 IPv6 for Smart Object Networks? -- 15.2 The IPv6 Packet Headers -- 15.2.1 IPv6 Fixed Header -- 15.2.2 Extended Headers -- 15.2.3 The Hop-by-hop Option Header -- 15.2.4 The Routing Header -- 15.2.5 The Fragment Header -- 15.2.6 The Destination Option Header -- 15.2.7 The No Next Header -- 15.3 IPv6 Addressing Architecture -- 15.3.1 Notion of Unicast, Anycast, and Multicast -- 15.3.2 Representation of IPv6 Addresses -- 15.3.3 Unicast Addresses -- 15.3.4 Anycast Addresses -- 15.3.5 Multicast Addresses -- 15.4 The ICMP for IPv6 -- 15.4.1 ICMPv6 Error Messages -- 15.4.2 ICMP Informational Messages -- 15.5 Neighbor Discovery Protocol -- 15.5.1 The Neighbor Solicitation Message -- 15.5.2 The NA Message -- 15.5.3 The Router Advertisement Messages -- 15.5.4 The Router Solicitation Message -- 15.5.5 The Redirect Message -- 15.5.6 Neighbor Unreachability Detection (NUD) -- 15.6 Load Balancing -- 15.7 IPv6 Autoconfiguration -- 15.7.1 Building the Link-local Address -- 15.7.2 The Stateless Autoconfiguration Process -- 15.7.3 Privacy Extensions for Stateless Address Autoconfiguration in IPv6 -- 15.8 DHCPv6 -- 15.8.1 Stateful Autoconfiguration -- 15.8.2 Stateless DHCP -- 15.9 IPv6 QoS -- 15.9.1 The Diffserv Model -- 15.9.2 The IntServ Model -- 15.10 IPv6 over an IPv4 Backbone Network -- 15.11 IPv6 Multicast -- 15.11.1 IPv6 Multicast Addressing
  • 5.1.2 IP Routing and Network Reliability -- 5.2 Specifics of Routing in LLNs -- 5.2.1 What Makes the Routing in LLNs Different? -- 5.3 Layer 2 Versus Layer 3 "Routing -- 5.3.1 Where Should Path Computation Be Performed? -- 5.4 Conclusions -- CHAPTER 6 Transport Protocols -- 6.1 UDP -- 6.1.1 Best-effort Datagram Delivery -- 6.1.2 The UDP Header -- 6.2 TCP -- 6.2.1 Reliable Stream Transport -- 6.2.2 The TCP Header -- 6.2.3 TCP Options -- 6.2.4 Round-trip Time Estimation -- 6.2.5 Flow Control -- 6.2.6 Congestion Control -- 6.2.7 TCP States -- 6.3 UDP for Smart Objects -- 6.4 TCP for Smart Objects -- 6.5 Conclusions -- CHAPTER 7 Service Discovery -- 7.1 Service Discovery in IP Networks -- 7.2 Service Discovery Protocols -- 7.2.1 SLP -- 7.2.2 Zeroconf, Rendezvous, and Bonjour -- 7.2.3 UPnP -- 7.3 Conclusions -- CHAPTER 8 Security for Smart Objects -- 8.1 The Three Properties of Security -- 8.1.1 Confidentiality -- 8.1.2 Integrity -- 8.1.3 Availability -- 8.2 "Security" by Obscurity -- 8.3 Encryption -- 8.4 Security Mechanisms for Smart Objects -- 8.4.1 Security Policies for Smart Objects -- 8.4.2 Link Layer Encryption -- 8.5 Security Mechanisms in the IP Architecture -- 8.5.1 IPsec -- 8.5.2 TLS -- 8.6 Conclusions -- CHAPTER 9 Web Services for Smart Objects -- 9.1 Web Service Concepts -- 9.1.1 Common Data Formats -- 9.1.2 Representational State Transfer -- 9.2 The Performance of Web Services for Smart Objects -- 9.2.1 Implementation Complexity -- 9.2.2 Performance -- 9.3 Pachube: A Web Service System for Smart Objects -- 9.3.1 Interaction Model -- 9.3.2 Pachube Data Formats -- 9.3.3 HTTP Requests -- 9.3.4 HTTP Return Codes -- 9.3.5 Authentication and Security -- 9.3.6 Triggers -- 9.4 Conclusions -- CHAPTER 10 Connectivity Models for Smart Object Networks -- 10.1 Introduction -- 10.2 Autonomous Smart Object Networks Model -- 10.3 The Internet of Things
  • 15.12 Conclusions -- CHAPTER 16 The 6LoWPAN Adaptation Layer -- 16.1 Terminology -- 16.2 The 6LoWPAN Adaptation Layer -- 16.2.1 The Mesh Addressing Header -- 16.2.2 Fragmentation -- 16.2.3 6LoWPAN Header Compression -- 16.2.4 Stateless Configuration -- 16.3 Conclusions -- CHAPTER 17 RPL Routing in Smart Object Networks -- 17.1 Introduction -- 17.2 What Is a Low-power and Lossy Network? -- 17.3 Routing Requirements -- 17.4 Routing Metrics in Smart Object Networks -- 17.4.1 Aggregated Versus Recorded Routing Metrics -- 17.4.2 Local Versus Global Metrics -- 17.4.3 The Routing Metrics/Constraints Common Header -- 17.4.4 The Node State and Attributes Object -- 17.4.5 Node Energy Object -- 17.4.6 Hop-count Object -- 17.4.7 Throughput Object -- 17.4.8 Latency Object -- 17.4.9 Link Reliability Object -- 17.4.10 Link Colors Attribute -- 17.5 The Objective Function -- 17.6 RPL: The New Routing Protocol for Smart Object Networks -- 17.6.1 Protocol Overview -- 17.6.2 Use of Multiple DODAG and the Concept of RPL Instance -- 17.6.3 RPL Messages -- 17.6.4 RPL DODAG Building Process -- 17.6.5 Movements of a Node Within and Between DODAGs -- 17.6.6 Populating the Routing Tables Along the DODAG Using DAO Messages -- 17.6.7 Loop Avoidance and Loop Detection Mechanisms in RPL -- 17.6.8 Global and Local Repair -- 17.6.9 Routing Adjacency with RPL -- 17.6.10 RPL Timer Management -- 17.6.11 Simulation Results -- 17.7 Conclusions -- CHAPTER 18 The IP for Smart Object Alliance -- 18.1 Mission and Objectives of the IPSO Alliance -- 18.2 IPSO Organization -- 18.3 A Key Activity of the IPSO Alliance: Interoperability Testing -- 18.4 Conclusions -- CHAPTER 19 Non-IP Smart Object Technologies -- 19.1 ZigBee -- 19.1.1 ZigBee Device Types -- 19.1.2 Layers in the ZigBee Stack -- 19.1.3 PHY and MAC Layers -- 19.1.4 NWK -- 19.1.5 APS Sublayer -- 19.1.6 AF -- 19.1.7 Network Setup
  • 19.1.8 ZigBee Is Migrating to IP