Practical Internet of Things Networking: Understanding IoT Layered Architecture

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This textbook explores the different protocols and technologies that are key to supporting the most important Internet of Things (IoT) networking scenarios. Intended for upper undergraduate classes, the author presents these protocols and technologies from a perspective of the standard layered architecture with special focus on protocol interaction and functionality. To this end, the book provides a unique step-by-step hands-on approach that enables the reader to use common software tools and network emulators to understand, prototype, and deploy a vast range of use cases. The author shows how these topologies, which rely on standard physical layer technologies like LoRa, NB-IoT, LTE-M, IEEE 802.15.4 and BLE, provide end-to-end IPv6 connectivity and comply with the most important requirements of industrial IoT solutions. The book helps readers learn how to build IoT networks through exercises, lab projects, and examples.

Author(s): Rolando Herrero
Publisher: Springer
Year: 2023

Language: English
Pages: 542
City: Cham

Preface
What Is This Book About?
Why Did I Write This Book?
Intended Audience
Book Organization
Contents
Acronyms
Part I Theoretical Background
1 Introduction to IoT Networking
1.1 Understanding IoT
1.1.1 What Is IoT?
1.1.2 Why Now?
1.1.3 IoT Applications
1.2 Connecting Devices and Applications
1.2.1 IoT Networking
1.2.2 Types of Networks
1.3 Interacting with the Physical Environment
1.3.1 Sensors
1.3.2 Actuators and Controllers
1.3.3 Gateways
Summary
Homework Problems and Questions
References
2 Exploring Traditional Networks
2.1 What Is the Layered Architecture?
2.2 Physical and Link Layers
2.2.1 Ethernet
2.2.2 IEEE 802.11
2.3 Network Layer
2.3.1 IPv4
2.3.2 Ipv6
2.4 Transport Layer
2.4.1 UDP
2.4.2 TCP
2.5 Application Layer
2.5.1 HTTP
2.5.1.1 HTTP Messages
2.5.1.2 Cookies
2.5.1.3 Proxy Servers
2.5.2 SIP
2.5.3 RTP and RTCP
2.6 Security Considerations
2.6.1 Basic Principles
2.6.2 DTLS/TLS
Summary
Homework Problems and Questions
References
3 Exploring IoT Networks
3.1 Topologies: The Two Families
3.1.1 WPAN
3.1.2 LPWAN
3.2 Physical and Link Layers
3.2.1 IEEE 802.15.4
3.2.1.1 Physical Layer
3.2.1.2 Link Layer
3.2.1.3 TSCH
3.2.1.4 Limitations
3.2.2 BLE
3.2.2.1 Physical Layer
3.2.2.2 Link Layer
3.2.3 LoRa
3.2.3.1 Physical Layer
3.2.3.2 Link Layer
3.2.4 NB-IoT
3.2.4.1 Physical Layer
3.2.4.2 Link and Upper Layers
3.2.5 LTE-M
3.3 Network and Transport Layers
3.3.1 6LoWPAN
3.3.1.1 Addresses
3.3.1.2 Header Format
3.3.1.3 Routing and Forwarding
3.3.1.4 Header Compression
3.3.1.5 Fragmentation
3.3.1.6 TCP and 6LoWPAN
3.3.1.7 6TiSCH
3.3.2 6Lo and 6LoBTLE
3.4 Application Layer
3.4.1 CoAP
3.4.1.1 CoAP Basic Flows
3.4.1.2 Message Format
3.4.1.3 CoAP Observation
3.4.1.4 CoAP and DTLS
3.4.2 MQTT
3.4.2.1 Message Format
3.4.2.2 Message Flows
3.4.2.3 MQTT v5 Request/Response Support
Summary
Homework Problems and Questions
References
Part II Building WPAN Solutions
4 Working with Ethernet
4.1 Let Us Get Ready to Prototype
4.1.1 Netualizer
4.1.2 Wireshark
4.2 Network Layer Setup
4.2.1 IPv4
4.2.2 IPv6
4.2.3 Introducing Impairments
4.3 Transport Support
4.3.1 UDP
4.3.2 TCP
4.4 Selecting the Application Layer
4.4.1 CoAP
4.4.2 HTTP
4.4.3 MQTT
4.4.4 SIP and RTP
4.5 Adding Security to the Mix…
4.5.1 TLS
4.5.2 DTLS
4.5.3 SRTP
4.6 Setting Up Sensors and Actuators
4.6.1 I2C Interface
4.6.2 SPI Interface
4.6.3 BMP280
4.6.3.1 HTTP
4.6.3.2 CoAP
4.6.3.3 MQTT
Summary
Homework Problems and Questions
Lab Exercises
References
5 Working with IEEE 802.15.4
5.1 Initializing Physical and Link Layers
5.2 Network Layer Support
5.3 Setting Up the Transport Layer
5.3.1 UDP
5.3.2 TCP
5.4 Application Layer Selection
5.5 Security Considerations
5.6 Integration with Devices
Summary
Homework Problems and Questions
Lab Exercises
References
6 Working with BLE
6.1 The BLE Physical and Link Layers
6.2 Network Layer Integration
6.3 Transport Layer Support
6.4 Setting Up the Application Layer
6.5 Interacting with Real Devices
Summary
Homework Problems and Questions
Lab Exercises
References
Part III LPWAN Technologies and Beyond
7 Working with LoRa
7.1 Setting Up LoRa Physical and Link Layers
7.2 IPv6 over LoRa
7.3 Adding a Transport Layer
7.4 Integrating the Application Layer
7.5 Multiple Sensors
7.6 Supporting Real Devices
Summary
Homework Problems and Questions
Lab Exercises
References
8 Working with NB-IoT and LTE-M
8.1 The NB-IoT/LTE-M Physical and Link Layers
8.2 Network Layer Support
8.3 Integrating the Transport and Application Layer
8.4 Multiple Sensors
8.5 CoAP Gateway
8.6 Using Real Devices
Summary
Homework Problems and Questions
Lab Exercises
References
9 Exploring Advanced Topics
9.1 Resource Identification and Management
9.1.1 DNS Queries
9.1.2 mDNS Queries
9.1.3 Service Discovery with DNS-SD
9.1.4 mDNS and DNS-SD in Action
9.2 End-to-End IoT
9.2.1 Building the Access Side
9.2.2 Integrating the Core Side
9.3 WPAN and LPWAN Technologies
9.3.1 IEEE 802.15.4 Access Network
9.3.1.1 IEEE 802.15.4 Access Network
9.3.1.2 LoRa Access Network
9.3.2 Core Network
9.4 Cloud Support with AWS
9.4.1 Creating an IoT Thing
9.5 Building the Device
Summary
Homework Problems and Questions
Lab Exercises
References
Glossary
Index