(rev. July 7, 2015) 
 
Notes On Chapter 32
-- The Internet Of Things
-  32.1 Introduction  
    
    -  Internet of Things (IoT)
    
 -  Communication among machines 
    
 -  Machine to machine (M2M)
    
 -  Motivation
    
 -  A wireless technology
    
 
 -  32.2 Embedded Systems  
    
    -  IoT refers to communication among computers
         embedded in devices.  Most computers are embedded systems.
    
 -  Using IoT, one may implement amenities such as home automation.
     -  32.2.1 Embedded Systems In The Smart Grid  
         
         -  Electric devices could schedule work based on knowledge
              off the Internet regarding the cost of power at different
              times.
         
 
     -  32.2.2 Embedded Online Security Systems  
         
         -  Security devices can be programmed to send a message when
              something unusual happens, turn on lights, video, and so forth.
         
 -  There can be a sophisticated rule-based response to various
              contingencies.
         
 
     -  32.2.3 Embedded Systems In Retail  
         
         -  Retail systems could recognize traits of people and
              display targeted advertisements. 
         
 -  Product placement decisions could be based on monitoring
              the behavior of customers.
         
 
     
 -  32.3 Choosing A Network Technology  
    
    -  Issues include bandwidth, mobility, power consumption,
         and battery life.
    
 -  No single network technology is best.
    
 
 -  32.4 Energy Harvesting  
    
    -  Battery replacement can be expensive.
    
 -  Extracting energy from the surrounding environment
         is a possible alternative.
    
 -  It could involve using energy from repeated actions.
    
 
 -  32.5 Low Power Wireless Communication  
    
    -  WiFi design does not emphasize power conservation.
    
 -  Use of low power runs the risk of loss of range and
         susceptibility to interference. 
    
 -  Thus design of low power networks must be done with care.
    
 
 -  32.6 Mesh Topology  
    
    -  One way to make a low-power network is to use a mesh topology.
    
 -  To compensate for limited range, devices forward packets.
   
 
     -  Mesh networks self-organize using broadcasts to find neighbors,
         and cooperating to discover routes.
    
 -  Orphans or islands could be problematic.
    
 
 -  32.7 The ZigBee Alliance  
    
    -  The ZigBee Alliance is a consortium of network equipment vendors.
    
 -  They maintain specs for low-cost, energy efficient mesh networks, 
         especially for smart grids.
    
 -  www.zigbee.org
    
 -  Where possible, ZigBee incorporates existing standards, which facilitates
         interoperation with existing networks.
    
 
 -  32.8 802.15.4 Radios And Wireless Mesh Networks  
    
    -  The resulting network design has very small packet size, low data rate, 
         and short range. 
 
   
 
     -  However, it conforms well to the key design criterion: low power, 
         and situations in which the amount of data to be transferred is small.
    
 
 -  32.9 Internet Connectivity And Mesh Routing  
    
    -  Embedded systems typically have very limited computational power 
         and storage.
    
 -  Nodes are designed to rely on cloud services accessed through a 
         border router connected to the Internet.
    
 -  It's important for nodes to have routes to the border router.
    
 -  Nodes use a breadth-first form of distance vector routing, starting 
         with the border router, to compute a best path to the border
         router for each device.
   
 
    
     -  Measuring incoming signal strength does not tell the signal strength
         in the opposite direction.
    
 -  ZigBee includes a Mesh Link Establishment (MLE) protocol that devices
         use to determine how well their neighbors are able to receive 
         their transmissions.  
          
         ("Do you read me? I read you five by five.")
    
 
 -  32.10 IPv6 In A ZigBee Mesh Network  
    
    -  ZigBee is 'based' on IPv6, but IPv6 requires an MTU of at least 
         1280 octets, while the MTU of ZigBee is 127 octets.  
    
 -  The workaround is an extra layer of protocols between IPv6 and
         the underlying MAC protocols - IPv6 over Low Power Wireless Personal
         Area Networks (6LoWPAN)
    
 -  The adaptation layer aka shim layer accepts a datagram, divides
         it into pieces, and sends them one at a time across a link.
    
 -  The protocol is not end-to-end, like fragmentation.  The adaptation layer
         at the next hop reassembles and passes the result to IPv6.
    
 -  There is a special version of IPv6 Neighbor Discovery for use with
         ZigBee: 6LoWPAN-ND, which deals with the fact that a single broadcast
         does not necessarily reach all nodes.
    
 -  Nodes register their addresses with the border router, which takes care 
         of rejecting duplicate addresses. 
    
 
 -  32.11 The ZigBee Forwarding Paradigm  
    
    -  Nodes in a ZigBee use Routing Protocol For Low Power And Lossy Networks
         (RPL).
    
 -  The assumptions underlying the use of RPL are that a) the topology of the 
         network will change infrequently, and b) nodes may not have enough memory to
         store a complete routing table.
    
 -  RPL does not send frequent updates or converge on routes rapidly.
    
 -  Under RPL, nodes inform the border router about the mesh topology, 
         and the border router computes a tree of routes for all nodes.
         (Destination Oriented Directed Acyclic Graph (DODAG))
    
 -  When it has a datagram from the Internet to forward into the mesh,
         the border router computes a route and sends it along that route
         using a source-route header on an encapsulating IPv6 datgram.
    
 
   
 
 -  32.12 Other Protocols In The ZigBee Stack  
    
    -  The figure shows other protocols.
    
 -  TLS and PANA are for security.
    
 -  mDNS and DNS-SD are for accessing DNS.
    
 
   
 
 -  32.13 Summary