Fundamentals of Internet of Things - F. John Dian - E-Book

Fundamentals of Internet of Things E-Book

F. John Dian

0,0
96,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

FUNDAMENTALS OF INTERNET OF THINGS Fundamentals of Internet of Things: For Students and Professionals teaches the principles of IoT systems. It employs a systematic approach to explain IoT architecture models and their layers. The textbook is arranged based on various layers of an architecture model. For readers who are unfamiliar with the concept of data communication and networks, the first chapter of this book covers the fundamentals of data communication and networks. It can also be used as review material for those who are already familiar with the concept. The book begins with many examples of IoT use cases to show readers how IoT can be applied to various IoT verticals. The concept of smart sensors is then described, as well as their applications in the IoT ecosystem. Because internet connectivity is an essential part of any IoT system, the book explores wired and wireless connectivity schemes including cellular IoT in the 4G and 5G eras. IoT protocols, analytics, as well as IoT security and privacy are important topics that are explained in this book with simple explanations. The last chapter of this book is dedicated to IoT solution development. IoT is one of the most rapidly evolving technologies today, and there is no better guide to this rapidly expanding sector than Fundamentals of Internet of Things (IoT) for Students and Professionals. Features: * Simple explanations of complex concepts * More than 300 exercise problems and advanced exercise questions * Provided solutions for the exercise problems * 10 practical IoT projects

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 891

Veröffentlichungsjahr: 2022

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Cover

Title Page

Copyright

About the Author

Preface

Chapter 1: Data Communications and Networks

1.1 Introduction

1.2 OSI Model

1.3 Header Encapsulation

1.4 Layer 2 – Ethernet

1.5 Layer 3 – IP

1.6 Layer 4 – TCP and UDP

1.7 TCP/IP Networking Model

1.8 Internetworking Devices

1.9 Summary

References

Exercises

Advanced Exercises

Chapter 2: Introduction to IoT

2.1 Introduction

2.2 IoT Traffic Model

2.3 IoT Connectivity

2.4 IoT Verticals, Use Cases, and Applications

2.5 IoT Value Chain

2.6 Examples of IoT Use Cases and Applications

2.7 IoT Project Implementation

2.8 IoT Standards

2.9 Summary

References

Exercises

Advanced Exercises

Chapter 3: IoT Architecture

3.1 Introduction

3.2 Factors Affecting an IoT Architectural Model

3.3 IoT Architectural Model

3.4 IoTWF Architectural Model

3.5 Data Center and Cloud

3.6 Computing (Cloud, Fog, and Edge)

3.7 Summary

References

Exercises

Advanced Exercises

Chapter 4: IoT Sensors

4.1 Introduction

4.2 Sensor and Its Performance Metrics

4.3 Smart Sensors

4.4 MEMS

4.5 Sensor Fusion

4.6 Self‐calibration

4.7 Sensors of the Future

4.8 Summary

References

Exercises

Advanced Exercises

Chapter 5: IoT Wired Connectivity

5.1 Introduction

5.2 Ethernet

5.3 Ethernet TSN

5.4 Power Line Communications (PLCs)

5.5 Summary

References

Exercises

Advanced Exercises

Chapter 6: Unlicensed‐band Wireless IoT

6.1 Introduction

6.2 Zigbee Wireless Network

6.3 BLE Wireless Network

6.4 WiFi Wireless Network

6.5 LoRaWAN Wireless Wide Area Network

6.6 Summary

References

Exercises

Advanced Exercises

Chapter 7: Cellular IoT Technologies

7.1 Introduction

7.2 EC‐GSM‐IoT

7.3 LTE‐based Cellular IoT Technologies

7.4 Practical Use Cases

7.5 CIoT Frequency Bands

7.6 Certification

7.7 CIoT Modules

7.8 AT Commands

7.9 Summary

References

Exercises

Advanced Exercises

Chapter 8: CIoT Features Low‐power Consumption Schemes Uplink Access Positioning Mobility

Chapter 8.1 Low‐power Consumption Schemes

References

Exercises

Advanced Exercises

Chapter 8.2 Uplink Access

References

Exercises

Advanced Exercises

Chapter 8.3 Positioning

References

Exercises

Advanced Exercises

8.4 Mobility

References

Exercises

Advanced Exercises

Chapter 9: IoT Data Communication Protocols

9.1 Introduction

9.2 HyperText Transfer Protocol (HTTP)

9.3 Message Queue Telemetry Transport (MQTT) Protocol

9.4 Constrained Application Protocol (CoAP)

9.5 Other IoT Protocols

9.6 Summary

References

Exercises

Advanced Exercises

Chapter 10: IoT in 5G Era

10.1 Introduction

10.2 5G Vision

10.3 5G's Main Application Areas

10.4 5G Implementations and Features

10.5 Summary

References

Exercises

Advanced Exercises

Chapter 11: IoT and Analytics

11.1 Introduction

11.2 Data Pipeline

11.3 AI

11.4 Machine Learning

11.5 Supervised Machine Learning Techniques

11.6 Unsupervised Machine Learning Techniques

11.7 Deep Learning Techniques

11.8 Summary

References

Exercises

Advanced Exercises

Chapter 12: IoT Security and Privacy

12.1 Introduction

12.2 IoT Threats

12.3 IoT Vulnerabilities

12.4 IoT Threat Modeling and Risk

12.5 IoT Security Regulations

12.6 IoT Privacy Concerns and Regulations

12.7 IoT Security and Privacy Examples

12.8 Threat Protection Methods

12.9 IoT and Blockchain

12.10 Summary

References

Exercises

Chapter 13: IoT Solution Developments

13.1 Introduction

13.2 IoT Solution Development Methodology

13.3 Further Details on IoT Solution Development

13.4 Change Management

13.5 Summary

Reference

Exercises

Advanced Exercises

Practical Assignments

Assignment #1: Connecting an IoT Device to the Cloud

Assignment #2: Building a Battery‐Powered Vision‐Based System

Assignment #3: Configuring an LTE‐M module using AT Commands

Assignment #4: Connecting an IoT Device to an MQTT Broker

Assignment #5: Connecting an IoT Device to an IoT Gateway Using BLE

Assignment #6: Building an IoT‐Based Home Automation System

Assignment #7: Designing a Smart Toy System

Assignment #8: Controlling a Smart Tank System Using LoRaWAN Technology

Assignment #9: Building IoT Systems Using Cisco Packet Tracer

Assignment #10: Building a Digital Twin in the Cloud

References

Appendix A Internet Protocol Security (IPSec)

Appendix B Transport Layer Security (TLS)

Appendix C Satellite IoT

Solutions

Chapter 1

Chapter 2

Chapter 3

Chapter 4

Chapter 5

Chapter 6

Chapter 7

Chapter 8

Chapter 9

Chapter 10

Chapter 11

Chapter 12

Chapter 13

Abbreviations

Index

End User License Agreement

List of Tables

Chapter 3

Table 3.1 Classification of data centers into four tiers.

Chapter 4

Table 4.E7 Specifications of different accelerometers.

Chapter 5

Table 5.1 Different PoE standards.

Table 5.2 Some of TSN substandards.

Table 5.3 The most important standardization bodies for narrowband PLC and ...

Table 5.4 HomePlug standards.

Chapter 6

Table 6.1 List of ISM bands.

Table 6.2 The specifications of different physical layers in Bluetooth 5.

Chapter 7

Table 7.1 Some of the GSM spectrum depending on the region of deployment....

Table 7.2 Maximum spectrum for LTE‐M in 3GPP Release 13 and 14.

Table 7.3 Summary of LTE‐M specifications in various 3GPP releases.

Table 7.4 Summary of NB‐IoT specifications in various 3GPP releases.

Table 7.5 Existing frequency bands used by the CIoT modules.

Table 7.6 Some of the frequency bands used for CIoT by three major service ...

Table 7.7 Some of the most certified CIoT modules.

Table 7.8 Qualcomm MDM9205‐based CIoT modules.

Table 7.E31 Duration of data based on TBS and MCS in the downlink direction ...

Chapter 8

Table 8.1.1 Possible values of DRX cycles, eDRX cycles, and the paging windo...

Table 8.2.1 LTE‐M preamble formats.

Table 8.2.2 NB‐IoT preamble formats.

Table 8.2.E4 Exercise 8.2.4 data.

Table 8.3.1 3GPP positioning schemes.

Table 8.4.1 The range of values for RSRP and RSRQ in different RF condition...

Chapter 9

Table 9.1 MQTT QoS levels.

Chapter 10

Table 10.E11 Data for Exercise 10.11

Chapter 11

Table 11.1 Fall detection based on various ranges of three signals.

Table 11.2 Training data set for Example 11.1.

Table 11.3 Training data set in Example 11.2.

Chapter 12

Table 12.1 Possible threats for the electric car charging station system.

Table 12.2 Average risk score for the first item in Table 12.1.

Table 12.E23 Examples of smart devices and their typical power ratings.

Chapter 13

Table 13.1 Comparing the Waterfall and Agile approaches.

Table 13.E17 Exercise 13.E17.

Solutions

Table 2.SE1 Some use cases and applications for the two verticals of energy ...

Table 2.SE2 Verticals and use cases associated with Example 2.1–2.12.

Table 8.2.SE4 Completed table for Exercise 8.2.E4.

Table 9.SE13 CoAP and MQTT QoS mapping.

List of Illustrations

Chapter 1

Figure 1.1 Network classification based on the maximum distance among the no...

Figure 1.2 Different network topologies: (a) mesh; (b) star; (c) bus; (d) ri...

Figure 1.3 Seven layers of the OSI model.

Figure 1.4 The functionalities of Layer 2 in the OSI model.

Figure 1.5 Header encapsulation.

Figure 1.6 IPV4 header format.

Figure 1.7 IPV6 header format.

Figure 1.8 An example of using NAT in a network.

Figure 1.9 TCP buffers: (a) sending process and (b) receiving process.

Figure 1.10 TCP header.

Figure 1.11 TCP connection‐oriented phases: (a) connection establishment; (b...

Figure 1.12 TCP error control. (a) retransmission based on timer and (b) fas...

Figure 1.13 UDP header and packet.

Figure 1.14 TCP/IP networking model and its simplified protocol suite.

Figure 1.15 A multi‐switch VLAN example.

Figure 1.16 802.1Q tagging protocol.

Figure 1.E34 TCP data transfer.

Chapter 2

Figure 2.1 IoT device and cloud connection scenarios. (a) Scenario 1, (b) Sc...

Figure 2.2 Comparison between the traffic generated by humans and generated ...

Figure 2.3 IoT gateway connection.

Figure 2.4 An IoT mesh network with two IoT devices serving as gateways.

Figure 2.5 IoT connectivity schemes.

Figure 2.6 Categorization of IoT usage into three segments of verticals, use...

Figure 2.7 Some of the existing IoT verticals and examples of possible use c...

Figure 2.8 IoT value chain.

Figure 2.9 Collapsed and broken structures.

Figure 2.10 IoT‐based SHMS.

Figure 2.11 IoT‐based waste management system.

Figure 2.12 Advantages and challenges of OTA software updates for a smart ca...

Figure 2.13 The architecture of a home‐based healthcare system.

Figure 2.14 IoT technology helping augmented reality for adding a touching s...

Figure 2.15 Example of using IoT in the smart grid system. (a) One line diag...

Figure 2.E9 Bosch track and trace...

Figure 2.E14 Amazon key smart access technology.

Figure 2.E16 Utility grid connection for the area in Exercise 2.16.

Chapter 3

Figure 3.1 IoTWF seven‐layer IoT architecture.

Figure 3.2 Microsoft IoT architecture model..

Figure 3.3 Microsoft architectural model with more detailed sublayers. Sourc...

Figure 3.4 Modular data centers: (a) small; (b) medium; (c) large.

Figure 3.5 East‐west traffic versus north‐south traffic on a data center.

Figure 3.6 Computing methods based on the proximity of the computing locatio...

Figure 3.7 Various types of services in cloud computing technology: IaaS, Pa...

Chapter 4

Figure 4.1 Examples of uncertainty in sensor measurement: (a) nonlinearity e...

Figure 4.2 A basic model for an accelerometer.

Figure 4.3 Frequency response of the accelerometer in Example 4.1.

Figure 4.4 Structure of the imaging sensor, lens, and the object in Example ...

Figure 4.5 A general architecture for smart sensors.

Figure 4.6 MEMS accelerometer.

Figure 4.7 A typical frequency response of an MEMS accelerometer.

Figure 4.8 MEMS gyroscope. (a) Without applying any force (b) when force is ...

Figure 4.E5 Three different measurement results shown as a, b, and c.

Chapter 5

Figure 5.1 A local area network of IoT devices.

Figure 5.2 (a) A PoE‐enabled network using PoE switch. (b) A PoE‐enabled net...

Figure 5.3 TAS cycles and a possible issue of TAS.

Figure 5.4 Use of a guard band to solve the problem with TAS.

Figure 5.5 Pre‐emption.

Figure 5.6 (a) Example of a local area network that contains three cameras a...

Figure 5.7 PLC technologies.

Figure 5.8 Power line distribution: (a) tree topology and (b) simplified bus...

Figure 5.9 Connection between EV and ECS.

Chapter 6

Figure 6.1 Different possible topologies of a Zigbee network: (a) mesh topol...

Figure 6.2 Channel access methods in a Zigbee network.

Figure 6.3 Scanning process in BLE.

Figure 6.4 BLE advertising and data channels.

Figure 6.5 Advertising process in BLE.

Figure 6.6 LoRaWAN architecture.

Figure 6.7 The operations of different classes of end nodes in LoRaWAN.

Figure 6.8 The comparison among different classes of end nodes in terms of l...

Figure 6.E3 Network in Exercise 6.3.

Chapter 7

Figure 7.1 Three IoT technologies introduced in 3GPP Release 13.

Figure 7.2 An example of coexistence of LTE and LTE‐M.

Figure 7.3 Selecting a suitable modulation and encoding scheme based on diff...

Figure 7.4 Comparison among FDD, TDD, and HD‐FDD.

Figure 7.5 DL transmission in LTE‐M.

Figure 7.6 UL transmission in LTE‐M.

Figure 7.7 DL transmission with HARQ in LTE‐M.

Figure 7.8 Cellular‐based smart meter.

Figure 7.9 DL transmission in NB‐IoT.

Figure 7.10 Data rate versus MCL for the LTE‐M network.

Figure 7.11 Size comparison of various physical SIM cards with eSIM and iSIM...

Figure 7.12 Various certification types.

Figure 7.13 IoT device host and IoT device components.

Figure 7.14 Modem connections.

Figure 7.E28 Duplexing method in E2.28

Chapter 8

Figure 8.1.1 RRC connection establishment and release.

Figure 8.1.2 Power saving modes in LTE‐M or NB‐IoT (3GPP Release 13).

Figure 8.1.3 eDRX cycle and PSM mode in the RRC idle mode.

Figure 8.1.4 An example of an RRC idle mode with only one DRX cycle in its p...

Figure 8.1.5 DRX in both the RRC idle and connected mode.

Figure 8.1.6 eDRX timers.

Figure 8.1.7 TAU and active timers.

Figure 8.1.8 Transition from the RRC connected mode to idle mode without and...

Figure 8.1.9 WUS power saving introduced in 3GPP Release 15: (a) without WUS...

Figure 8.1.10 Power consumption in each DRX for Example 8.1.1.

Figure 8.1.11 Power consumption in each DRX for Example 8.1.1 considering a ...

Figure 8.1.E11 Short and long DRX cycles.

Figure 8.2.1 Random access messages.

Figure 8.2.2 LTE‐M coverage levels.

Figure 8.2.3 Access barring schemes used in IoT devices.

Figure 8.2.4 Preamble fields.

Figure 8.3.1 An AGNSS system.

Figure 8.3.2 CID positioning scheme.

Figure 8.3.3 Different ECID schemes: (a) using distance to serving cell; (b)...

Figure 8.3.4 TOAs from two neighboring base stations and a reference base st...

Figure 8.3.5 OTDOA uses the intersection of at least two hyperbolas for the ...

Figure 8.3.6 Effect of OTDOA measurement error on the position accuracy.

Figure 8.3.7 Positioning architecture for LTE‐IoT.

Figure 8.3.8 The PRS frequency‐time allocation for LTE with the positioning ...

Figure 8.3.9 (a) An example of the LTE PRS with wide bandwidth and short pos...

Figure 8.3.10 Bitmap pattern used in NB‐IoT for location of PRSs.

Figure 8.3.11 Multipath effect caused by reflection, diffraction, and scatte...

Figure 8.4.1 (a) Serving cell and the best suitable neighbor cell at time

T

....

Figure 8.4.2 A coverage area divided into three TAs.

Figure 8.4.3 Example of a connection between mobility components MME, HSS, a...

Figure 8.4.4 Different formats of the intra‐frequency and inter‐frequency mo...

Figure 8.4.E7 Exercise 8.4.7.

Figure 8.4.E9 Measurements obtained in Exercise 8.4.E9.

Figure 8.4.E10 Measurements obtained in Exercise 8.4.10.

Chapter 9

Figure 9.1 (a) HTTP model, (b) HTTP request and response format, and (c) som...

Figure 9.2 Transferring three separate files using different HTTP operation ...

Figure 9.3 A bidirectional MQTT system for cellular IoT.

Figure 9.4 Smart gas station that uses MQTT protocol for its operation.

Figure 9.5 MQTT protocol used in a smart gas station.

Figure 9.6 MQTT publisher‐broker handshake in QoS level 0.

Figure 9.7 Smart home.

Figure 9.8 CoAP messages: (a) an acknowledged confirmable message; (b) a not...

Chapter 10

Figure 10.1 5G vision.

Figure 10.2 5G's key application areas.

Figure 10.3 Two methods for the implementation of a 5G network: (a) NSA impl...

Figure 10.4 5G network slicing based on its main application areas.

Figure 10.5 Private 5G network classification.

Figure 10.6 Ericson experiment to show the application of the network exposu...

Figure 10.7 (a) Wireline broadband connectivity. (b) Broadband connectivity ...

Chapter 11

Figure 11.1 Different types of analytics.

Figure 11.2 The complexity versus the value of different types of analytics....

Figure 11.3 Relationship between AI, expert systems, machine learning, and d...

Figure 11.4 Different categories of machine learning algorithms.

Figure 11.5 Building a decision tree by splitting the training data set base...

Figure 11.6 Continuation of the splitting process until all subsets are pure...

Figure 11.7 Four possible scenarios for splitting of the decision tree in ou...

Figure 11.8 Splitting process: (a) based on signal B; (b) based on signal C;...

Figure 11.9 Random forest architecture.

Figure 11.10 Confusion matrix for a binary output.

Figure 11.11 2D linear SVM: (a) hyperplane; (b) an example of a hyperplane a...

Figure 11.12 (a) Not linearly separable SVM in 2D. (b) Linearly separable SV...

Figure 11.13 Linear regression models: (a) speed vs. torque; (b) current vs....

Figure 11.14 The location of IoT gateways inside the building.

Figure 11.15 Regression statistics from Microsoft Excel data analysis tool....

Figure 11.16

K

‐Means process in Example 11.3.

Figure 11.17 (a) Perceptron architecture; (b) using a block to represent the...

Figure 11.18 Examples of nonlinear activation functions: (a) rectified linea...

Figure 11.19 Decision boundaries of the trained single neuron in Example 11....

Figure 11.20 (a) A perceptron that has two outputs. (b) Simplified block rep...

Figure 11.21 A single layer neural network.

Figure 11.22 (a) Simplified version of Figure 11.21. (b) Deep layer neural n...

Figure 11.23 (a) Applying time‐based data to neural networks as isolated dat...

Figure 11.24 (a) An image and a convolution filter; (b) padded image and the...

Figure 11.25 CNN architecture.

Figure 11.E26 The neural network used in Exercise 11.26.

Chapter 12

Figure 12.1 Different types of security threats.

Figure 12.2 Message flow for the electric car charging station example.

Figure 12.3 Examples of character‐based ciphers.

Figure 12.4 Examples of bitwise‐based ciphers.

Figure 12.5 An example of an S‐Box with

m

 = 6 and

n

 = 4 [4].

Figure 12.6 DES cipher: (a) encryption of a 64‐bit plaintext and (b) operati...

Figure 12.7 Triple DES: (a) EEE3 format and (b) EDE 3 format.

Figure 12.8 RSA algorithm: (a) RSA processes for key generation, encryption,...

Figure 12.9 Integrity protection using hash function.

Figure 12.10 SHA‐1 hashing algorithm.

Figure 12.11 Authentication protection.

Figure 12.12 Digital signature process.

Figure 12.13 Four‐block blockchain link list structure.

Chapter 13

Figure 13.1 IoT solution development methodology.

Figure 13.2 Agile IoT solution development methodology.

Practical Assignments

Figure A1.1 Circuit diagram of the IoT system in Assignment #1.

Figure A2.1 Block diagram of the system in Assignment #2.

Figure A3.1 Block diagram of the system in Assignment #3.

Figure A4.1 Block diagram of the system in Assignment #4 (a) MQTT broker and...

Figure A4.2 Interactions among MQTT broker, MQTT client, and CIOT board in N...

Figure A5.1 Block diagram of the system in Assignment #5.

Figure A6.1 Home automation assignment: (a) a typical method (b) using a loc...

Figure A7.1 Flow chart of the system in Assignment #7.

Figure A8.1 A typical LoRaWAN network for Assignment #8.

Figure A8.2 The block diagram of the system in Assignment #8.

Figure A8.3 The simplified block diagram of the system in Assignment #8.

Figure A9.1 A simple IoT network for home automation.

Figure A9.2 A smart home automation network which requires configuration of ...

Figure A9.3 A smart home automation network which requires programming of MC...

Figure A9.4 An example of an IoT system to be analyzed using Packet Tracer....

Figure A10.1 Steps to build the digital twin of a thermometer.

Appendix A

Figure A.1 IPSec modes of operation: (a) Transport mode and (b) tunnel mode....

Figure A.2 IPSec in the transport mode using (a) AH protocol and (b) ESP pro...

Figure A.3 IPSec in the tunnel mode using (a) AH protocol and (b) ESP protoc...

Appendix B

Figure B.1 The location of SSL/TLS layer as compared to the OSI model; (a) S...

Figure B.2 Principal operations of SSL/TLS.

Appendix C

Figure C.1 Satellite for IoT (a) a comparison of GEO, MEO, and LEO orbits (b...

Solutions

Figure 1.SE3 A hybrid network.

Figure 4.SE21 MEMS gyroscope movement of mass based on the direction of forc...

Figure 7.SE17 Frequency band versus frequency range of CIoT modules in Table...

Figure 8.3.SE12 (a) An example of LTE PRS with wide bandwidth and short posi...

Figure 8.4.SE10 Handover in Exercise 8.4.E10.

Figure 11.SE8 Reinforcement learning.

Figure 11.SE11 Clustering of data for E11.11.

Guide

Cover Page

Table of Contents

Series Page

Title Page

Copyright

Dedication

About the Author

Preface

Begin Reading

Appendix A Internet Protocol Security (IPSec)

Appendix B Transport Layer Security (TLS)

Appendix C Satellite IoT

Solutions

Abbreviations

Index

Wiley End User License Agreement

Pages

i

iv

v

xvii

xix

xx

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

329

330

331

333

334

335

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

402

403

IEEE Press

445 Hoes Lane

Piscataway, NJ 08854

IEEE Press Editorial Board

Sarah Spurgeon, Editor in Chief

Jón Atli Benediktsson

Anjan Bose

Adam Drobot

Peter (Yong) Lian

Andreas Molisch

Saeid Nahavandi

Jeffrey Reed

Thomas Robertazzi

Diomidis Spinellis

Ahmet Murat Tekalp

Fundamentals of Internet of Things

For Students and Professionals

Farzin John Dian

British Columbia Institute of Technology Canada

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2023 by The Institute of Electrical and Electronics Engineers, Inc. All rights reserved.

Published by John Wiley & Sons, Inc., Hoboken, New Jersey.

Published simultaneously in Canada.

No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per‐copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750‐8400, fax (978) 750‐4470, or on the web at www.copyright.com. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748‐6011, fax (201) 748‐6008, or online at http://www.wiley.com/go/permission.

Limit of Liability/Disclaimer of Warranty: MATLAB® is a trademark of The MathWorks, Inc. and is used with permission. The MathWorks does not warrant the accuracy of the text or exercises in this book. This work's use or discussion of MATLAB® software or related products does not constitute endorsement or sponsorship by The MathWorks of a particular pedagogical approach or particular use of the MATLAB® software. While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Further, readers should be aware that websites listed in this work may have changed or disappeared between when this work was written and when it is read. Neither the publisher nor authors shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages.

For general information on our other products and services or for technical support, please contact our Customer Care Department within the United States at (800) 762‐2974, outside the United States at (317) 572‐3993 or fax (317) 572‐4002.

Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic formats. For more information about Wiley products, visit our web site at www.wiley.com.

Library of Congress Cataloging‐in‐Publication Data Applied for:

Hardback ISBN: 9781119847298

Cover Design: Wiley

Cover Image: © BAIVECTOR/Shutterstock

About the Author

Dr. F. John Dian is a faculty in the Department of Electrical and Computer Engineering at the British Columbia Institute of Technology in Vancouver, Canada. He received his Ph.D. degree from Concordia University, Canada, in Electrical and Computer Engineering. Dr. Dian has extensive experience in designing and implementing telecommunication systems and IoT networks. He holds a certificate in business analytics from Harvard Business School, USA, and co‐chairs the center of excellence in analytics at BCIT. He has received numerous awards for his outstanding teaching and research, and has been an invited speaker at many forums and conferences. Dr. Dian is a senior member of the Institute of Electrical and Electronics Engineers (IEEE) and an active member of the Association of Professional Engineers and Geoscientists of British Columbia (APEGBC). He is the author of several books such as IoT Use Cases and Technologies, Cellular IoT for Practitioners, and Physical System Modelling Using MATLAB®.

Preface

The Internet of Things (IoT) is a fascinating and new technology. IoT enables the power of the Internet and analytics to be provided to physical objects in order to make them smart. Smart city, smart home, smart factory, and smart meter are all examples of objects that have become smart by implementing IoT. IoT is becoming a mature technology and is growing at a fast pace. It brings endless opportunities for various industries such as healthcare, energy, agriculture, and transportation. As a result, more and more IoT applications are getting implemented every day.

In the era of any new technology, training becomes one of the crucial tasks that prepares the workforce with the knowledge and skill sets that they need to design, implement, deploy, and test the new technology. Leaders and decision makers must be trained to be able to make appropriate decisions on how and when to implement a new technology in order to take advantage of the opportunities that it can provide to their organizations. Customers of a new technology also need to be trained to know what to expect from that technology and how to use it. IoT, as a new technology, is not an exception.

This textbook has been prepared with instructors and students in mind. It presents a clear, comprehensive introduction to IoT. The textbook emphasizes the fundamentals of IoT including applications, use cases, existing connectivity schemes, protocols, analytics, security, solution development, and cloud connection. It is suitable for undergraduate engineering students studying in universities or colleges, as well as students studying in various diploma programs in engineering disciplines. To accommodate students with limited knowledge in the area of data communications and networks, the first chapter of this book is dedicated to the fundamentals of data communications and networks. The book also discusses some more advanced topics in Chapter 8, which is suited to engineering students who have a deeper knowledge of data communications and networks. The textbook has been designed to be used during a term of 15 weeks. During a term, students who have taken courses related to data communications and networks in the past, may skip the first chapter and study Chapter 8, while other engineering students can study the first chapter thoroughly and skip Chapter 8.

My approach in writing this textbook is straightforward. It should convey the information through explanation of the concepts and discussion of practical applications. The complex concepts should be explained in simple language, and the content should flow smoothly from one chapter to another. The primary audience for this textbook is undergraduate engineering students, with the secondary audience consisting of IoT practitioners, network architects, software and hardware engineers, consultants, managers, and entrepreneurs.

This textbook focuses on the fundamentals of IoT and intends to give undergraduate students the basic knowledge they need about IoT. It does not discuss any specific platform, service provider, or embedded environment. To prepare their students for performing hands‐on experiments with IoT technology, instructors may choose to introduce them to certain platforms, embedded systems or simulation tools. This can help students to gain practical knowledge and have a better understanding of the theoretical concepts discussed in this book. For this purpose, several practical assignments have been defined at the end of this book.

After reading this book, readers will be able to:

Recognize the principles of smart objects and the potential for IoT to revolutionize people's lives, as well as understanding the impact it has on businesses

Comprehend IoT architecture from sensors to the cloud, including edge gateways

Choose among cloud computing, fog computing, and edge computing for an IoT system

Determine the static and dynamic performance metrics for core sensors

Explain the architecture of smart sensors and the concept of sensor fusion in IoT system design

Learn how to use various wired and wireless technologies to provide connectivity for IoT applications

Select a suitable application‐layer protocol among the ones used for IoT applications

Acquire deep understanding of cellular IoT in 4G and 5G eras

Evaluate various cellular IoT modules

Recognize how analytics and artificial intelligence algorithms are used in the IoT ecosystem

Address IoT security and privacy concerns, as well as appropriate security and privacy protection schemes

Become familiar with IoT solution development methodologies

Conduct hands‐on experiments to design IoT system

Become inspired by the endless opportunities that IoT can provide

I would like to establish a line of communication with the readers of this book. I encourage all readers to send me their comments and suggestions. I will use the readers' feedback and suggestions for future editions of this book.

F. John Dian

John_dian @bcit.ca

https://www.linkedin.com/in/johndian/

Chapter 1Data Communications and Networks

1.1 Introduction

The Internet of Things (IoT) is a network of physical objects that are embedded with sensors and electronics and are connected to each other over the Internet. To begin reading this book, you must have a basic grasp of networks, particularly Internet‐based networks. To accommodate readers who have limited knowledge in the area of data communications, this chapter is dedicated to the fundamentals of data communications and networks. There are a vast number of topics, technologies, systems, and standards that are fundamental to this field of study. This chapter intends to provide materials that prepare readers with the required information to study the next chapters of this book. Readers who already have a good grasp of these materials may skip this chapter and start the book from Chapter 2. We will begin by defining what a network is, and then work our way toward other required topics related to data communications and Internet‐based networks in this chapter.

A network is a collection of interconnected nodes that can communicate with one another. A computer network is defined as a network in which all the nodes are computers. A sensor network is a network in which each of its nodes is a sensor. Your network is a collection of your friends, and therefore, each node in your network is one of your friends. The most important characteristic of a network is the capability of its nodes to somehow communicate with each other. In other words, a node must be able to send data and exchange information with other nodes of the network. Data communication among the nodes of a network is possible only and only if all the nodes can talk in the same language and can communicate according to the same protocol. A protocol defines the required rules that determine the syntax, timing, and the method of communication, which all the nodes understand. In addition, each network node should have its own address. A source node cannot transfer data to a destination node if it does not know its address.

When designing a network, we should consider many factors such as the number of nodes in a network, the distance among the nodes, the environment in which the nodes are located, the type of data that they exchange, and the required rate of data transmission.

A network may consist of a large number of nodes or only a small set of nodes. However, a network should have at least two nodes. The nodes can communicate and send their data at a fast speed or have a slow rate of data transmission. In other words, a node may send gigabits of data per second or only transmit several bits in one second. The data rate of a network is determined by the network application. A car engine, for example, is a network of many nodes (various parts of the engine) that can interact with one another or with a diagnostic device connected to the engine. This network may not require a high data rate, whereas a network transmitting high‐definition video needs to support a high data rate.

Figure 1.1 Network classification based on the maximum distance among the nodes.

The nodes of a network might be close to or far from each other. The Body Area Network (BAN) is a network with a limited number of nodes that are connected to the human body. Therefore, there is a very short distance among the nodes in BAN. Local Area Network (LAN) is a network with local nodes. A network of computers, printers, and other electronic equipment that can be found in a home or an office is a clear example of a LAN. The same goes with the network of many nodes inside a building. However, local area networks today can cover larger geographical areas, making the concept of local nodes to some extent fuzzy. Campus Area Networks (CAN) is a network where its nodes are located in a campus area. Metropolitan Area Network (MAN) covers a neighborhood, while a Wide Area Network (WAN) is a network with nodes that are spread across a large geographical area such as a city, country, or continent. Figure 1.1 shows different types of networks based on the maximum distance between the nodes of the network.

The environment in which a network will be deployed is also an important design consideration. A network may be deployed in a noisy environment or in an area in which the communication does not experience a huge amount of interference. For example, the design requirements for a network where its nodes are located in an urban area might be different than the requirements for a network in rural areas. Similarly, the design of an underwater network is different from a network on the ground, and the design of a network installed in an industrial facility is different from the one installed in a home or an office.

Generally speaking, a network can be classified based on many factors. For example, networks can be divided into wired or wireless networks. In a wired network, the nodes are connected to each other using a wire such as twisted pairs or fiber optic cables. In a wireless network, the nodes should have an antenna for data transmission. Similarly, a network can be divided based on the mobility of its nodes. In a non‐mobile network, the nodes are stationary, while in a mobile network, the nodes can exchange data while they are moving. A network can also be categorized based on the amount of energy that it consumes. For example, in a low‐power network, a great deal of effort has been spent on power saving strategies in order to reduce power consumption. Networks can also be classified based on their topology. Topology is the arrangement of the nodes and links in a network that shows how the nodes in a network are connected to each other. Figure 1.2 shows some of the most popular network topologies that are mesh, star, bus, ring, and tree topologies. Figure 1.2a shows a mesh topology. In a mesh topology, every node has a point‐to‐point connection to every other node in the network. This guarantees that each node has a dedicated link to carry its traffic to another node. Since nodes are not sharing any link for data transmission, it eliminates the possibility of unpredicted network traffic that causes packet loss and delay in a network. The data transmission also is very secure, since a dedicated link is used for the transmission of data between two nodes. The mesh topology is reliable and robust; if a link becomes faulty, it does not have any effect on the rest of the network. However, the amount of cabling used in a wired mesh network, or the wireless resources required for a wireless mesh network, is excessive. Figure 1.2b shows a star topology. In a star topology, each node is directly connected to a central node in a network, and therefore, each node requires only one link to connect to any other node in the network. Installation of a network based on the star topology is easy. The network is reliable and robust in the event that any node or any link becomes faulty, except for the central node. The entire star‐based network is dependent on the central node, and if this node fails to operate, the entire network goes down. Figure 1.2c shows a bus topology. In this topology, all the nodes are connected to a shared link. Therefore, the deployment of the networks with bus topology is easy and the network uses less number of links as compared to other topologies. However, if the shared link becomes faulty, the entire network goes down. Figure 1.2d shows a ring topology. In this topology, each node has a point‐to‐point connection with the nodes on either side of it. For two nodes that are far from each other, the data travels along the ring in one direction passing through many nodes until it gets to the destination node. Ease of installation is one of the advantages of this topology. However, a break in a ring can bring down part of the network. Figure 1.2e shows a tree topology. In this topology, there is a parent‐child hierarchy of a smaller star topology connection. Several child nodes are connected to a central parent node in a star topology, and the central node is a child node that is connected to its parent central node. This makes the arrangement of the nodes and links to be similar to a tree structure. The tree topology has a flexible and scalable structure. Figure 1.2f shows a hybrid topology. Hybrid topologies combine two or more different topologies. It should be noted that a network topology should be chosen based on the design requirements. There is no perfect, ideal topology that can satisfy the requirements of all applications.

Figure 1.2 Different network topologies: (a) mesh; (b) star; (c) bus; (d) ring; (e) tree; (f) hybrid.

A node must convert its data into an equivalent signal that can pass through a cable or be sent to an antenna. Assume a situation where a node intends to send a file to another node. The file consists of many bits of “0” and “1,” and to transmit these bits to another node, the bits need to be changed to an electrical or optical signal. There are many methods to convert data bits to signals. The amount of data bits sent in one second is known as data rate, whereas the number of signal elements sent in one second is known as signal rate.

A network can be interconnected to other networks in order to create a larger network. The devices that are used for this purpose are called internetworking devices. In this chapter, we explain various types of internetworking devices.

1.2 OSI Model

When designing a network, we need to design the nodes of the network or the internetworking devices that connect networks together. The International Standardization Organization (ISO) published the Open Systems Interconnection (OSI) networking model in 1984, which discusses at a high level how a network node or an internetworking device should be designed in terms of its functionalities. In order to separate various functionalities that must be performed by a node or an internetworking device, the OSI model uses a layered approach. Let us start with some clarifications before we get into the layered approach that the OSI model introduces:

One of the models that has been used for the design and understanding of a network is the OSI model. There are different networking models that can be used for this purpose. For example, the Transmission Control Protocol (TCP)/Internet Protocol (IP) networking model, which we will explain later in this chapter, is a model that has been used widely in the design of many networks. Also, the OSI model was published in 1984, and therefore, all the networks designed and deployed before this year are not based on the OSI model.

The OSI model is used as a reference for describing and understanding a network. Due to the popularity and robustness of the TCP/IP networking model, many networks are designed based on this model. However, when there is a need to explain network functionalities, the OSI model is usually used. Most educational and research communities use the OSI model in order to explain various functionalities of a network, even if the network is not designed based on the OSI model. You might even see the TCP/IP networking model explained using the OSI model in some publications. Therefore, readers should understand that the OSI model is a reference model, which can be used for describing the functionalities of the nodes of a network, even if the design of that network is not based on this model.

The OSI model does not discuss a specific protocol, communication standard, an electronic circuit, or a particular hardware or software. It only discusses how all the required functionalities of a node can be separated in a logical manner.

The OSI model can be used in the design and explanation of different types of networks such as BAN, LAN, CAN, MAN, and WAN. In other words, wired or wireless networks, stationary or mobile networks, all can be modeled based on the OSI model.

The OSI model introduced a seven‐layer approach for the design of each node in a network as shown in Figure 1.3. In this section, we explain each of these seven layers in simple language and without going into details.

Figure 1.3 Seven layers of the OSI model.

1.2.1 Layer 1 – Physical Layer

The physical layer is the first layer of the OSI model, and it is responsible for transmitting data bits from one node to another. In other words, the physical layer discusses how a “0” or “1” is converted into a signal that is sent to a cable for wired communication or to an antenna for wireless transmission. The physical layer of the transmitter and receiver must be synchronized in order to send data from one node to another. Therefore, synchronization becomes a topic that needs to be addressed at the physical layer. As previously stated, the OSI model is a high‐level model, and therefore, it does not discuss the types of synchronization schemes that should be employed for a given network. The physical layer defines how data needs to be transformed into signal based on the maximum distance between nodes in a network. As a result, we may conclude that the physical layer of the OSI model is in charge of data to signal conversion. Working on the physical layer design requires a deep understanding of telecommunication circuits and systems, synchronization, modulation, duplexing, and the design of wire and wireless interfaces. In a very robust physical layer, each “0” gets to the destination node as “0” and each “1” arrives at the destination as “1,” even if the environment between the two nodes is highly noisy and there are interferences from numerous sources. It is important for readers to understand that designing a perfectly reliable physical layer is impractical. Because the design of a highly reliable physical layer can be complex and expensive, the physical layer should be designed depending on the requirements of an application. In other words, a node's physical layer should ensure that a “0” or “1” arrives at its destination safely in accordance with the design criteria and by considering the specifications of the communication channel.

1.2.2 Layer 2 – Data Link Layer

The second layer of the OSI model is called the data link layer. This layer is responsible for five important tasks as shown in Figure 1.4. These tasks are addressing, framing, error control, flow control, and access control. We explain each of these tasks in this section.

1.2.2.1 Addressing

Assume a node in a network wants to send data to another node. As previously stated, each node in a network must have a unique address in order to be identified among all other nodes in the network. Actually, most networks use two addresses for each node: a local address and a global one. Local addresses are used in a local setting, while a global address is used to send data through wide area networks. Global addresses must be unique globally, while local addresses need to be unique only locally. Even though it is not required, many networks employ local addresses that are also globally unique. Defining and using a local address for a node is a responsibility of the data link layer.

1.2.2.2 Framing

When a node intends to send data to another node, it makes a packet that has several data fields. Assume a network node with address 5 wants to send a large file to a node with a local address of 3. Layer 2 of Node #5 would get some portions of this file as its data field, and it adds other fields to it in order to construct a packet. A packet consists of several fields such as the address of a source node, the address of a destination node, and possibly other fields, in addition to its data field. A packet in Layer 2 is called a frame. In our example, Layer 2 of Node #5 gives the frame to its physical layer, bit by bit. Keep in mind that the physical layer is unaware of the concept of a frame. It only converts the frame's bits into signals and sends them to the physical layer of Node #3 via the communication link between the two nodes.

Figure 1.4 The functionalities of Layer 2 in the OSI model.

1.2.2.3 Error Control

Due to noise and interference, the transmitted “0” or “1” by a physical layer of a source node might not be received and detected by the physical layer of the destination node as a “0” and “1,” respectively. Detecting a “1” as “0” or a “0” as “1” is an error. Detecting several consecutive corrupted bits is called a burst error, while a single error happens when only one bit among many bits becomes corrupted. The possibility of a burst error is usually higher as compared to a single bit error in most networks.

To enable the destination node to detect a corrupted frame, we can add some extra bits to a Layer 2 frame. For example, we can mathematically add all the bytes of a frame together and use the least significant 16 bits of the addition as a checksum value. When the source node intends to create a frame in this case, it adds a checksum field to its frame. When the data is received by Layer 2 of the destination node, this layer calculates the checksum of the frame. If the value of the checksum is not the same as the value in the checksum field, then this is an indication that an error has occurred. Clearly, the destination node does not know which bits are corrupted, or how many bits in a frame are wrong. It does not understand if the error is a single error or a burst error. However, it understands that the frame is not exactly the same as the transmitted frame.

Error detection is the process of detecting errors in a frame. Besides checksum, there are other methods to detect errors in a frame. One of the methods that has a strong property in detecting both single bit and burst errors is called Cyclic Redundancy Check (CRC). CRC has been used widely in various networking applications.

Error correction is the process of correcting errors in a frame. We can add a field to the frame in such a way that can help us to find out which bits are corrupted in a frame. Even though error correction has been utilized in some networks to fix a limited number of errors in a small frame, it is not possible to correct numerous corrupted bits inside a long frame.

We need a way to tackle the problem when an error is detected in which no error correction is used or can correct the frame. The solution to this problem is an error control mechanism. For example, when the destination node receives a corrupted frame, it can ask for the retransmission of the corrupted frame as an error control mechanism. Dropping the corrupted frames without taking any further action is a simple error control approach. In this case, it is obvious that the destination node does not have the corrupted frames. Layer 4 can remedy this problem by asking the source node to resend the erroneous frames, as we will see later in this chapter. In other words, an error control mechanism at Layer 2 may be as simple as detecting and dropping corrupted frames, but this places the burden of having a strong error control strategy on Layer 4.

1.2.2.4 Flow Control

It would be problematic if the speed of transmission of a source node is higher than the speed of the reception or processing of the destination node. In this situation, the destination node may need to buffer the data. If the buffer becomes full, the destination node will not receive any further frames, requiring frame retransmission. Flow control is the process of controlling the flow of frames from a source node to a destination node. For example, a source node can transmit more frames to a destination node only when the destination node allows the source node to do so. Taking no action would be a basic flow control mechanism. It is possible that you lose frames as a result of this. If this occurs, a higher layer must address the issue of lost or dropped frames.

1.2.2.5 Access Control

The method to determine which node in a network is allowed to access the network at a specific time is called access control. Many access control methods have been designed and used in different communication systems. Each of these methods uses a different strategy to determine which node has the right to use network resources and transmit data. We explain three strategies that have been used for access control: random access, master/slave strategy, and channelization.

Multiple Access (MA) is the simplest method based on the random access strategy, in which each node can access the network at any time. This may cause collisions and can result in corrupted frames. Another method based on the random access strategy is Carrier Sense Multiple Access (CSMA), in which each node checks the communication link before transmission. A node can access the network, if and only if the communication link is not busy. This method reduces the possibility of collisions, but it does not eliminate it completely. Consider a scenario in which multiple nodes begin transmitting at the same time. Carrier Sense Multiple Access/Collision Detection (CSMA/CD), which is similar to CSMA but checks for collisions during data transmission and stops the transmission of the rest of the frame if a collision is detected, is another way of access control which utilizes the random access strategy.

Another strategy for access control is based on a master and slave approach. In this method, a node in a network plays the role of a central unit (master node) and other nodes are the peripheral units (slave nodes). In this access control strategy, access is granted to a peripheral node by a central node.

Channelization is another strategy that has been used as an access control method in many networks. Time Division Multiple Access (TDMA) is an example of an access control method in this class. In TDMA, each node of a network is granted a specific time to access the network. Frequency Division Multiple Access (FDMA) is another method in which each node is given a part of the spectrum to access the communication channel at all times.

1.2.3 Layer 3 – Network Layer

Layer 3 is called the network layer. It is responsible for the delivery of packets outside a local setting and across possibly multiple networks. Layer 3 ensures that a packet originating from a node in a local network reaches a destination node that resides in another network. As mentioned earlier, we need a global address for this purpose. Layer 3 provides the addressing and handles the routing of packets in a network. Remember, a Layer 2 address is only locally usable. A Layer 3 address, also called a logical address, is a unique global address. Generally speaking, local networks can be connected to each other to make a larger network. This can be done by using internetworking devices such as routers that route the packets toward a destination node. Therefore, the network layer is responsible for the source‐to‐destination transmission of data. One of the most popular Layer 3 addresses is an IP address. We discuss IP addresses and IP routers in more detail in this chapter.

1.2.4 Layer 4 – Transport Layer

The transport layer is responsible for five important tasks: port addressing, end‐to‐end error control, end‐to‐end flow control, connection control, and congestion control. In this section, we look over these tasks.

1.2.4.1 Port Addressing

A node may run many processes simultaneously. Simply put, a process is an application program running on a node. The network layer ensures that a packet reaches its destination node; however, if a node runs several processes, the network layer does not specify which process in the node should receive the packet. For this reason, we need another address, called a port address or Layer 4 address. This address guarantees that a packet sent to a specified process on a specific destination address reaches the proper process on the correct node.

1.2.4.2 End‐to‐end Error Control

Similar to Layer 2, Layer 4 is responsible for error control. However, Layer 4 provides an end‐to‐end error control mechanism. The error control in Layer 2 is for a single frame across a single link, while the error control in Layer 4 is for the packets across the entire source‐to‐destination path. A packet in Layer 4 usually contains several Layer 2 frames. The end‐to‐end error control handles any corrupted, lost, or duplicated packet.

1.2.4.3 End‐to‐end Flow Control

Similar to Layer 2, Layer 4 is responsible for flow control. However, Layer 4 provides an end‐to‐end flow control mechanism, rather than flow control across a single link.

1.2.4.4 Connection Control

Generally speaking, communication between two nodes can be either connection oriented or connectionless oriented. In a connection‐oriented transmission, a source node establishes a connection with a destination node before starting data transmission. During connection establishment, the network reserves the resources for the communication, verifies that the connection with the destination can be established, and ensures that the destination is ready to receive data. After a connection is established, then the nodes can exchange data. In the end, the connection is required to be released. In other words, a connection‐oriented communication has three phases: connection establishment, data transfer, and connection tear down. In connectionless‐oriented communication, the source node sends its data toward the destination node without any connection establishment. For example, making a phone call is an example of a connection‐oriented communication, while sending a letter through the mail is considered as a connectionless‐oriented communication. A transport layer can be designed to be connectionless or have a connection‐oriented architecture.

1.2.4.5 Congestion Control

The traffic between two nodes in a wide area network is unpredictable. Due to the high traffic in the network, the links between any two nodes of the network can become congested at times. Network congestion results in packet loss or delay in arrival of packets at the destination. Congestion control is the process of controlling the flow of traffic in order to avoid or reduce the possibility of congestion, as well as taking proper actions when the network is congested. For example, if the source node knows that the network is congested, it may postpone the transmission of its data to another time in order to reduce network congestion. Overall, there is no benefit in transmitting a packet that most likely will be lost. In other words, when the network is congested, a source node can assist the network in better managing the situation by eliminating the need to initiate any additional transmissions.

1.2.5 Layer 5 – Session Layer

The session layer is required when