SlideShare a Scribd company logo
1
Module: Internet of Things
Lecture 4: Network
Dr Payam Barnaghi, Dr Chuan H Foh
Centre for Communication Systems Research
Electronic Engineering Department
University of Surrey
Autumn Semester 2015
2
Overview
− Network Module
− Routing Technologies
− Performance Issues
Network Module
3
Network Module
RF-based IoT applications
− Communication module only provides data link
solution
− i.e. transmitting a packet between nodes within the
radio range
− Network module is needed to provide a solution
for end-to-end packet delivery
− Since source/destination pair may not be within each
other radio range, intermediate nodes are needed to
forward packet
− It is a distributed system. All nodes need to perform
networking related tasks.
− It is often software implementation.
4
Network Module
− RF-based IoT applications: Multi-hop Wireless
Network. Some examples:
− Wireless Sensor Networks (WSNs)
− Mobile Wireless Ad hoc Networks (MANETs)
− Wireless Mesh Networks (WMNs)
− Vehicular Ad Hoc Networks (VANETs)
− and others...
− Main concern: Reliability & Performance
5
Network Module: Roles
− Management:
− Packet: Adapting the packet sizes and formats
− Address: Adapting and/or resolving addresses
− Device: Joining/leaving of nodes
− Service: Providing adds-on services such as security
− Operational:
− Route discovery & maintenance
− Packet forwarding
6
Routing Technologies
7
Common Routing Techniques
− Flooding
− When receiving a packet, each node rebroadcasts the
packet
− No memory is kept in a node
− Very wasteful in bandwidth usage
− Source Routing
− A source node partially or completely specifies the route
that a packet should be forwarded
− Source node is responsible for finding the route to the
destination
− Implementation: DSR
8
Common Routing Techniques
− Distance Vector
− Exchange distance vectors only with neighbours to
establish routing tables
− Less traffic for table maintenance makes it suitable for
wireless networks
− Implementation: RIP, AODV, etc
− Link State
− Flood link information in the network and use Dijkstra’s
algorithm to compute routing tables
− Popular solution in wired network. Not adequate for
wireless, as it requires network-wide flooding
− Implementation: OSPF, OLSR, etc
9
Common Routing Techniques
− Path Vector
− Based on distance vector, path information is used
instead of distance
− Permit implementation of some policy to take control of
the route
− Used in inter-domain routing
− Implementation: BGP
10
Route Establishment & Maintenance
− Proactive (table-driven):
− Nodes maintain a table describing how a packet should
be forwarded to destinations
− It is more suitable for networks with static topology
− Reactive (on-demand):
− Upon a request, nodes flood the network to find the
destination
− It is more suitable for networks with changing topology
− Mixed:
− Hybrid: Operate both proactive and reactive routing
− Hierarchical: Separate nodes into different levels and
use different routing techniques in different levels 11
Routing in IoT
− Ad hoc On-demand Distance Vector (AODV)
− Specified in RFC 3561
− Implemented in ZigBee
− IPv6 Routing Protocol for Low-Power and Lossy
Networks (RPL)
− Specified in RFC 6550
− Implemented in ContikiOS, TinyOS
12
NOTE: We’ll also review Flooding & Source Routing
Flooding
− When receiving a packet
− If it is not seen before, broadcast the packet
− Else discard the packet
13
A
B D
H
C
G
E
Source
Destination
Broadcast
the packet
Destination
first received
the packet
from D
(ABDF)
F
Source Routing
− In source routing, the source takes control of the
forwarding
− Basic idea:
− The SOURCE broadcasts a REQUEST
− Each node include the path information in the REQUEST
− When the REQUEST reaches the DESTINATION, the
DESTINATION unicasts a REPLY with the path info
− When the REPLY reaches the SOURCE, it may transmit data
packet with the received path info included in the header
− Each intermediate node uses the path info in the header to
forward the data packets
− Each node maintains route cache to improve route
discovery performance
14
Source Routing: Example
− RREQ: Route Request
− RREP: Route Reply
15
A
B D
H
C
G
E
RREQ
Source
Destination
A
F
A-B A-B-D
A-B-D-G
A-B-D
A
A-C
A-B
RREP
A-B-D-H
A-B-D-H
A-B-D-H
16
Distance Vector
8 12
10 6
A B D
C
E F G H
I J L
K
A B C D E F G H I J K L
A 0 12 25 40 14 23 18 17 21 8 24 29
I 24 36 18 27 7 20 31 20 0 10 22 33
H 20 31 19 8 30 19 6 0 14 12 22 9
K 21 28 36 24 22 40 31 19 22 6 0 9
The distance vector published by A, I, H, K to J:
A B C D E F G H I J K L
J 8 20 28 20 17 30 18 12 10 0 6 15
via A A I H I I H H I --- K K
J’s new distance vector and routing table:
Node J has been switched on
10+18
8+25
6+36
(source, distance, next hop)
C 28 I
AODV
− Ad hoc On-demand Distance Vector (AODV)
− Reactive Routing using Distance Vector
− Basic idea:
− Activity starts when there is a demand for transmission
− The SOURCE broadcasts a REQUEST
− Each node rebroadcasts the REQUEST  creates DISTANCE
VECTOR for the reverse path
− When the REQUEST reaches the DESTINATION, the
DESTINATION unicasts a REPLY
− Each participated node forwards the REPLY  creates
DISTANCE VECTOR for the forward path
− When the REPLY reaches the SOURCE, data transmission
may start
17
AODV: RREQ
− Route Request (RREQ) broadcasting
− The source broadcasts a RREQ to find a connection
− Intermediate nodes rebroadcast the RREQ to others
− While rebroadcasting, intermediate nodes create a
temporary route information recording the reverse path
(i.e. source, number of hops, next hop)
18
A
B D
H
C
G
E
RREQ
Source
Destination
To A, 1 hop, via A
F
AODV: RREP
− Returning of Route Reply (RREP)
− Once RREQ reaches the destination, the destination
unicasts RREP to its “next hop”
− Each participated node forwards RREP to its “next hop” and
record the forward path
− Once the RREP reaches the source, the source can transmit
its data packets to its “next hop”
A
B D
H
C
G
E
RREQ
Source
Destination
To A, 1 hop, via A
F
RREP
To H, 2 hops, via D
19
AODV: Some management issues
− Distance Vector maintenance
− A reverse path is purged after a timeout interval (to
make sure the interval is long enough for RREP
unicasting to complete)
− A forward path is purged after it is not used for some
time
− Enhancements
− Intermediate nodes with information to the destination
can reply RREP
− Add sequence numbers to packets to avoid duplicate
rebroadcasting
− Use “time to live” to limit the rebroadcasting of RREQ
20
IPv6 Routing Protocol for Low-Power
and Lossy Networks (RPL)
− Background:
− Need for Low power and Lossy Networks (LLN)
− IETF formed a Working Group called Routing Over Low
power and Lossy Networks (ROLL) in 2008
− ROLL developed “Ripple” routing protocol (RPL)
− RPL is a Distance Vector IPv6 routing protocol for
LLNs
− RPL is a proactive routing protocol (periodic
activity to construct route)
− RPL permits multiple routes (or graphs), each
with some specific objective
21
RPL
− PRL is about building a Destination Oriented
Directed Acyclic Graph (DODAG) with some
objectives
− Destination Oriented, single destination with a root
− Directed Acyclic Graph, no loop
− DODAG building process
− A node is designated as a root
− A set of new ICMPv6 control messages is created
− DIS: DODAG Information Solicitation
− DIO: DODAG Information Object
− DAO: DODAG Destination Advertisement Object
− An Objective Function (OF) is specified for each node to
compute its rank in the graph
− see also RFC 6551 “Routing Metrics Used for Path
Calculation in Low-Power and Lossy Networks” 22
RPL: DODAG Building Process
− Procedure:
− The root starts broadcasting DIO
− Upon receiving DIO, each node
− computes its rank based on the OF
− chooses a neighbour with a rank lower than itself as
preferred parent
− broadcasts DIO message
23
A
B D
H
C
G
E
Root
F
DIO
DIO
Preferred parent
RPL: DODAG Building Process
− Assuming shortest path is used as the objective
function (OF), B will choose A as its preferred
parent.
24
A
B D
H
C
G
E
Root
F
Preferred parent
B receives a 2nd DIO
message  discards it
(based on the OF)
C broadcasts
DIO
RPL: DODAG Building Process
− B broadcasts DIO, other nodes rebroadcast DIO
and set their preferred parent based on the
objective function.
25
A
B D
H
C
G
E
Root
F
Preferred parent
DIO
B broadcasts DIO
RPL: DODAG Building Process
− Procedure:
− The broadcasting of DIO continues until all nodes have
seen the DIO
− By now, each node should have nominated one of its
neighbours to be its preferred parent
− A tree is built for UPWARD routing (or MP2P traffic)
26
A
B D
H
C
G
E
Root
F
Preferred parent
RPL: P2MP  P2P
− Point-to-Multi-Point (P2MP) for Downward traffic
− Each node transmits a DAO message to the root
− Each intermediate node appends its ID and relays DAO
to the root
− Each node can make use of the passing DAO messages
to build a subtree for downward traffic
− This type of node is called a storing node
− A node without this storing capability is called a non-
storing node
− The root will build and store a complete tree for
downward traffic
− Downward traffic can be routed using source routing
− Point-to-Point (P2P) traffic
− P2P is done by upward+downward transmissions
27
RPL: Topology Maintenance
− Topology maintenance
− A Trickle timer to control the sending rate of DIO (see
also RFC 6206 “The Trickle Algorithm”)
− Trickle's basic primitive is simple: every so often, a node
transmits data unless it hears a few other transmissions
whose data suggest its own transmission is redundant
− When routing inconsistencies are detected (e.g. loops,
loss of a parent, etc), Trickle timer is reset to the
minimum value to get the problems fixed quickly
28
Mesh-under versus Route-over
− Relaying of packets can be performed at Layer 2
(mesh-under) or layer 3 (route-over)
− Layer-2 packet switching
− It creates a single layer-2 domain, all nodes appear to
be directly connected to each other somehow
− It may offer simpler solution
− It may offer lower transmission delay
− Layer-3 packet routing
− It separates data link and routing operations
− It may offer better management of a large network
29
Performance Issues
30
Network Performance
− Power Supply:
− limited power supply
− Power Consumption:
− Power consumption of communications is relatively high
− Network establishment and maintenance need
communications
− Departure of some nodes may cause the network to fail
partially or totally (e.g. nodes connecting to the
gateway, nodes connecting two islands of networks, etc)
31
Performance:
− Deployment of nodes:
− Bottleneck: When all flows aggregate at a particular
node, the node may represent the bottleneck of the
network
− Possible solutions: add more nodes to create other
paths; add gateways to divert traffic flows
32
This node needs to
forward packet for a large
group of nodes
When all nodes transmit a packet,
this node needs to transmit its
packet and relay 7 others!
Performance:
− Deployment of nodes:
− Network lifetime: Nodes nearer to the gateway perform
more packet forwarding tasks. Their departures (due to
flat battery) may cause the network to fail.
− Possible solutions: add more nodes around the gateway;
use higher capacity battery
33
When this node fails, a group
of nodes will be disconnected
from the gateway
Performance:
− Position of a gateway:
− Bottleneck: Gateway may become bottleneck of traffic
flows if not adequately positioned in the network
− Possible solutions: reposition the gateway or nodes
around it and/or add more gateways to ease the
congestion
34
Bottleneck occurs at the
around the gateway
Performance:
− Position of a gateway:
− Delay: Nodes far away from the gateway may result in
long end-to-end transmission delay
− Possible solutions: relocating the gateway and/or place
more gateways. Ideally, we should keep the number of
hops between a node and the gateway as low as
possible
35
Some packets need 6 hops to
reach the gateway!
Summary
− Understand the roles and functions of network
module
− Understand various routing technologies related
to IoT applications
− Understand the impact of nodes/gateway
deployment on network performance
36
37
Questions?

More Related Content

Similar to EEEM048_Lecture4_Network.pdf

Segment Routing: A Tutorial
Segment Routing: A TutorialSegment Routing: A Tutorial
Segment Routing: A Tutorial
APNIC
 
DSDV VS AODV
DSDV VS AODV DSDV VS AODV
DSDV VS AODV
Senthil Kanth
 
AODV routing protocol
AODV routing protocolAODV routing protocol
AODV routing protocol
Varsha Anandani
 
Default and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer NetworksDefault and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer Networks
Sonali Parab
 
Routing in Manet
Routing in ManetRouting in Manet
Routing in Manet
shiujinghan
 
ccna networking ppt
ccna networking pptccna networking ppt
ccna networking ppt
Er. Anmol Bhagat
 
implementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocolimplementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocol
Atul Atalkar
 
Experimental Analysis Of On Demand Routing Protocol
Experimental Analysis Of On Demand Routing ProtocolExperimental Analysis Of On Demand Routing Protocol
Experimental Analysis Of On Demand Routing Protocol
smita gupta
 
Unit VIII wireless sensor networks
Unit VIII wireless sensor networksUnit VIII wireless sensor networks
Unit VIII wireless sensor networkssangusajjan
 
Comparison of different MANET routing protocols in wireless ADHOC
Comparison of different MANET routing protocols in wireless ADHOCComparison of different MANET routing protocols in wireless ADHOC
Comparison of different MANET routing protocols in wireless ADHOC
Amitoj Kaur
 
Routing protocol
Routing protocolRouting protocol
Routing protocolAmzadKhn
 
Lecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocolsLecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocolsChandra Meena
 
Building day 2 upload Building the Internet of Things with Thingsquare and ...
Building day 2   upload Building the Internet of Things with Thingsquare and ...Building day 2   upload Building the Internet of Things with Thingsquare and ...
Building day 2 upload Building the Internet of Things with Thingsquare and ...
Adam Dunkels
 
Comparative Analysis of MANET Routing Protocols and Cluster Head Selection Te...
Comparative Analysis of MANET Routing Protocols and Cluster Head Selection Te...Comparative Analysis of MANET Routing Protocols and Cluster Head Selection Te...
Comparative Analysis of MANET Routing Protocols and Cluster Head Selection Te...
IJERA Editor
 
IPv6 Routing.pdf
IPv6 Routing.pdfIPv6 Routing.pdf
IPv6 Routing.pdf
niran10
 
Adhoc (1)
Adhoc (1)Adhoc (1)
Adhoc (1)
Muthukrishnan008
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
Kathirvel Ayyaswamy
 
SEGMENT Routing
SEGMENT RoutingSEGMENT Routing
Pathlet routing CS513
Pathlet routing CS513Pathlet routing CS513
Pathlet routing CS513
Gauri Pulekar
 
Exterior Routing Protocols And Multi casting Chapter 16
Exterior Routing Protocols And Multi casting Chapter 16Exterior Routing Protocols And Multi casting Chapter 16
Exterior Routing Protocols And Multi casting Chapter 16
daniel ayalew
 

Similar to EEEM048_Lecture4_Network.pdf (20)

Segment Routing: A Tutorial
Segment Routing: A TutorialSegment Routing: A Tutorial
Segment Routing: A Tutorial
 
DSDV VS AODV
DSDV VS AODV DSDV VS AODV
DSDV VS AODV
 
AODV routing protocol
AODV routing protocolAODV routing protocol
AODV routing protocol
 
Default and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer NetworksDefault and On demand routing - Advance Computer Networks
Default and On demand routing - Advance Computer Networks
 
Routing in Manet
Routing in ManetRouting in Manet
Routing in Manet
 
ccna networking ppt
ccna networking pptccna networking ppt
ccna networking ppt
 
implementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocolimplementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocol
 
Experimental Analysis Of On Demand Routing Protocol
Experimental Analysis Of On Demand Routing ProtocolExperimental Analysis Of On Demand Routing Protocol
Experimental Analysis Of On Demand Routing Protocol
 
Unit VIII wireless sensor networks
Unit VIII wireless sensor networksUnit VIII wireless sensor networks
Unit VIII wireless sensor networks
 
Comparison of different MANET routing protocols in wireless ADHOC
Comparison of different MANET routing protocols in wireless ADHOCComparison of different MANET routing protocols in wireless ADHOC
Comparison of different MANET routing protocols in wireless ADHOC
 
Routing protocol
Routing protocolRouting protocol
Routing protocol
 
Lecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocolsLecture 9 10 .mobile ad-hoc routing protocols
Lecture 9 10 .mobile ad-hoc routing protocols
 
Building day 2 upload Building the Internet of Things with Thingsquare and ...
Building day 2   upload Building the Internet of Things with Thingsquare and ...Building day 2   upload Building the Internet of Things with Thingsquare and ...
Building day 2 upload Building the Internet of Things with Thingsquare and ...
 
Comparative Analysis of MANET Routing Protocols and Cluster Head Selection Te...
Comparative Analysis of MANET Routing Protocols and Cluster Head Selection Te...Comparative Analysis of MANET Routing Protocols and Cluster Head Selection Te...
Comparative Analysis of MANET Routing Protocols and Cluster Head Selection Te...
 
IPv6 Routing.pdf
IPv6 Routing.pdfIPv6 Routing.pdf
IPv6 Routing.pdf
 
Adhoc (1)
Adhoc (1)Adhoc (1)
Adhoc (1)
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
 
SEGMENT Routing
SEGMENT RoutingSEGMENT Routing
SEGMENT Routing
 
Pathlet routing CS513
Pathlet routing CS513Pathlet routing CS513
Pathlet routing CS513
 
Exterior Routing Protocols And Multi casting Chapter 16
Exterior Routing Protocols And Multi casting Chapter 16Exterior Routing Protocols And Multi casting Chapter 16
Exterior Routing Protocols And Multi casting Chapter 16
 

Recently uploaded

The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
jerlynmaetalle
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
ewymefz
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
pchutichetpong
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 
Influence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business PlanInfluence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business Plan
jerlynmaetalle
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
g4dpvqap0
 
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
NABLAS株式会社
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
John Andrews
 
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
dwreak4tg
 
Machine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptxMachine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptx
balafet
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
ahzuo
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
AbhimanyuSinha9
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
oz8q3jxlp
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Subhajit Sahu
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
haila53
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
slg6lamcq
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
Subhajit Sahu
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
axoqas
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
Oppotus
 

Recently uploaded (20)

The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 
Influence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business PlanInfluence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business Plan
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
 
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
 
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
 
Machine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptxMachine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptx
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
 

EEEM048_Lecture4_Network.pdf

  • 1. 1 Module: Internet of Things Lecture 4: Network Dr Payam Barnaghi, Dr Chuan H Foh Centre for Communication Systems Research Electronic Engineering Department University of Surrey Autumn Semester 2015
  • 2. 2 Overview − Network Module − Routing Technologies − Performance Issues
  • 4. Network Module RF-based IoT applications − Communication module only provides data link solution − i.e. transmitting a packet between nodes within the radio range − Network module is needed to provide a solution for end-to-end packet delivery − Since source/destination pair may not be within each other radio range, intermediate nodes are needed to forward packet − It is a distributed system. All nodes need to perform networking related tasks. − It is often software implementation. 4
  • 5. Network Module − RF-based IoT applications: Multi-hop Wireless Network. Some examples: − Wireless Sensor Networks (WSNs) − Mobile Wireless Ad hoc Networks (MANETs) − Wireless Mesh Networks (WMNs) − Vehicular Ad Hoc Networks (VANETs) − and others... − Main concern: Reliability & Performance 5
  • 6. Network Module: Roles − Management: − Packet: Adapting the packet sizes and formats − Address: Adapting and/or resolving addresses − Device: Joining/leaving of nodes − Service: Providing adds-on services such as security − Operational: − Route discovery & maintenance − Packet forwarding 6
  • 8. Common Routing Techniques − Flooding − When receiving a packet, each node rebroadcasts the packet − No memory is kept in a node − Very wasteful in bandwidth usage − Source Routing − A source node partially or completely specifies the route that a packet should be forwarded − Source node is responsible for finding the route to the destination − Implementation: DSR 8
  • 9. Common Routing Techniques − Distance Vector − Exchange distance vectors only with neighbours to establish routing tables − Less traffic for table maintenance makes it suitable for wireless networks − Implementation: RIP, AODV, etc − Link State − Flood link information in the network and use Dijkstra’s algorithm to compute routing tables − Popular solution in wired network. Not adequate for wireless, as it requires network-wide flooding − Implementation: OSPF, OLSR, etc 9
  • 10. Common Routing Techniques − Path Vector − Based on distance vector, path information is used instead of distance − Permit implementation of some policy to take control of the route − Used in inter-domain routing − Implementation: BGP 10
  • 11. Route Establishment & Maintenance − Proactive (table-driven): − Nodes maintain a table describing how a packet should be forwarded to destinations − It is more suitable for networks with static topology − Reactive (on-demand): − Upon a request, nodes flood the network to find the destination − It is more suitable for networks with changing topology − Mixed: − Hybrid: Operate both proactive and reactive routing − Hierarchical: Separate nodes into different levels and use different routing techniques in different levels 11
  • 12. Routing in IoT − Ad hoc On-demand Distance Vector (AODV) − Specified in RFC 3561 − Implemented in ZigBee − IPv6 Routing Protocol for Low-Power and Lossy Networks (RPL) − Specified in RFC 6550 − Implemented in ContikiOS, TinyOS 12 NOTE: We’ll also review Flooding & Source Routing
  • 13. Flooding − When receiving a packet − If it is not seen before, broadcast the packet − Else discard the packet 13 A B D H C G E Source Destination Broadcast the packet Destination first received the packet from D (ABDF) F
  • 14. Source Routing − In source routing, the source takes control of the forwarding − Basic idea: − The SOURCE broadcasts a REQUEST − Each node include the path information in the REQUEST − When the REQUEST reaches the DESTINATION, the DESTINATION unicasts a REPLY with the path info − When the REPLY reaches the SOURCE, it may transmit data packet with the received path info included in the header − Each intermediate node uses the path info in the header to forward the data packets − Each node maintains route cache to improve route discovery performance 14
  • 15. Source Routing: Example − RREQ: Route Request − RREP: Route Reply 15 A B D H C G E RREQ Source Destination A F A-B A-B-D A-B-D-G A-B-D A A-C A-B RREP A-B-D-H A-B-D-H A-B-D-H
  • 16. 16 Distance Vector 8 12 10 6 A B D C E F G H I J L K A B C D E F G H I J K L A 0 12 25 40 14 23 18 17 21 8 24 29 I 24 36 18 27 7 20 31 20 0 10 22 33 H 20 31 19 8 30 19 6 0 14 12 22 9 K 21 28 36 24 22 40 31 19 22 6 0 9 The distance vector published by A, I, H, K to J: A B C D E F G H I J K L J 8 20 28 20 17 30 18 12 10 0 6 15 via A A I H I I H H I --- K K J’s new distance vector and routing table: Node J has been switched on 10+18 8+25 6+36 (source, distance, next hop) C 28 I
  • 17. AODV − Ad hoc On-demand Distance Vector (AODV) − Reactive Routing using Distance Vector − Basic idea: − Activity starts when there is a demand for transmission − The SOURCE broadcasts a REQUEST − Each node rebroadcasts the REQUEST creates DISTANCE VECTOR for the reverse path − When the REQUEST reaches the DESTINATION, the DESTINATION unicasts a REPLY − Each participated node forwards the REPLY creates DISTANCE VECTOR for the forward path − When the REPLY reaches the SOURCE, data transmission may start 17
  • 18. AODV: RREQ − Route Request (RREQ) broadcasting − The source broadcasts a RREQ to find a connection − Intermediate nodes rebroadcast the RREQ to others − While rebroadcasting, intermediate nodes create a temporary route information recording the reverse path (i.e. source, number of hops, next hop) 18 A B D H C G E RREQ Source Destination To A, 1 hop, via A F
  • 19. AODV: RREP − Returning of Route Reply (RREP) − Once RREQ reaches the destination, the destination unicasts RREP to its “next hop” − Each participated node forwards RREP to its “next hop” and record the forward path − Once the RREP reaches the source, the source can transmit its data packets to its “next hop” A B D H C G E RREQ Source Destination To A, 1 hop, via A F RREP To H, 2 hops, via D 19
  • 20. AODV: Some management issues − Distance Vector maintenance − A reverse path is purged after a timeout interval (to make sure the interval is long enough for RREP unicasting to complete) − A forward path is purged after it is not used for some time − Enhancements − Intermediate nodes with information to the destination can reply RREP − Add sequence numbers to packets to avoid duplicate rebroadcasting − Use “time to live” to limit the rebroadcasting of RREQ 20
  • 21. IPv6 Routing Protocol for Low-Power and Lossy Networks (RPL) − Background: − Need for Low power and Lossy Networks (LLN) − IETF formed a Working Group called Routing Over Low power and Lossy Networks (ROLL) in 2008 − ROLL developed “Ripple” routing protocol (RPL) − RPL is a Distance Vector IPv6 routing protocol for LLNs − RPL is a proactive routing protocol (periodic activity to construct route) − RPL permits multiple routes (or graphs), each with some specific objective 21
  • 22. RPL − PRL is about building a Destination Oriented Directed Acyclic Graph (DODAG) with some objectives − Destination Oriented, single destination with a root − Directed Acyclic Graph, no loop − DODAG building process − A node is designated as a root − A set of new ICMPv6 control messages is created − DIS: DODAG Information Solicitation − DIO: DODAG Information Object − DAO: DODAG Destination Advertisement Object − An Objective Function (OF) is specified for each node to compute its rank in the graph − see also RFC 6551 “Routing Metrics Used for Path Calculation in Low-Power and Lossy Networks” 22
  • 23. RPL: DODAG Building Process − Procedure: − The root starts broadcasting DIO − Upon receiving DIO, each node − computes its rank based on the OF − chooses a neighbour with a rank lower than itself as preferred parent − broadcasts DIO message 23 A B D H C G E Root F DIO DIO Preferred parent
  • 24. RPL: DODAG Building Process − Assuming shortest path is used as the objective function (OF), B will choose A as its preferred parent. 24 A B D H C G E Root F Preferred parent B receives a 2nd DIO message discards it (based on the OF) C broadcasts DIO
  • 25. RPL: DODAG Building Process − B broadcasts DIO, other nodes rebroadcast DIO and set their preferred parent based on the objective function. 25 A B D H C G E Root F Preferred parent DIO B broadcasts DIO
  • 26. RPL: DODAG Building Process − Procedure: − The broadcasting of DIO continues until all nodes have seen the DIO − By now, each node should have nominated one of its neighbours to be its preferred parent − A tree is built for UPWARD routing (or MP2P traffic) 26 A B D H C G E Root F Preferred parent
  • 27. RPL: P2MP P2P − Point-to-Multi-Point (P2MP) for Downward traffic − Each node transmits a DAO message to the root − Each intermediate node appends its ID and relays DAO to the root − Each node can make use of the passing DAO messages to build a subtree for downward traffic − This type of node is called a storing node − A node without this storing capability is called a non- storing node − The root will build and store a complete tree for downward traffic − Downward traffic can be routed using source routing − Point-to-Point (P2P) traffic − P2P is done by upward+downward transmissions 27
  • 28. RPL: Topology Maintenance − Topology maintenance − A Trickle timer to control the sending rate of DIO (see also RFC 6206 “The Trickle Algorithm”) − Trickle's basic primitive is simple: every so often, a node transmits data unless it hears a few other transmissions whose data suggest its own transmission is redundant − When routing inconsistencies are detected (e.g. loops, loss of a parent, etc), Trickle timer is reset to the minimum value to get the problems fixed quickly 28
  • 29. Mesh-under versus Route-over − Relaying of packets can be performed at Layer 2 (mesh-under) or layer 3 (route-over) − Layer-2 packet switching − It creates a single layer-2 domain, all nodes appear to be directly connected to each other somehow − It may offer simpler solution − It may offer lower transmission delay − Layer-3 packet routing − It separates data link and routing operations − It may offer better management of a large network 29
  • 31. Network Performance − Power Supply: − limited power supply − Power Consumption: − Power consumption of communications is relatively high − Network establishment and maintenance need communications − Departure of some nodes may cause the network to fail partially or totally (e.g. nodes connecting to the gateway, nodes connecting two islands of networks, etc) 31
  • 32. Performance: − Deployment of nodes: − Bottleneck: When all flows aggregate at a particular node, the node may represent the bottleneck of the network − Possible solutions: add more nodes to create other paths; add gateways to divert traffic flows 32 This node needs to forward packet for a large group of nodes When all nodes transmit a packet, this node needs to transmit its packet and relay 7 others!
  • 33. Performance: − Deployment of nodes: − Network lifetime: Nodes nearer to the gateway perform more packet forwarding tasks. Their departures (due to flat battery) may cause the network to fail. − Possible solutions: add more nodes around the gateway; use higher capacity battery 33 When this node fails, a group of nodes will be disconnected from the gateway
  • 34. Performance: − Position of a gateway: − Bottleneck: Gateway may become bottleneck of traffic flows if not adequately positioned in the network − Possible solutions: reposition the gateway or nodes around it and/or add more gateways to ease the congestion 34 Bottleneck occurs at the around the gateway
  • 35. Performance: − Position of a gateway: − Delay: Nodes far away from the gateway may result in long end-to-end transmission delay − Possible solutions: relocating the gateway and/or place more gateways. Ideally, we should keep the number of hops between a node and the gateway as low as possible 35 Some packets need 6 hops to reach the gateway!
  • 36. Summary − Understand the roles and functions of network module − Understand various routing technologies related to IoT applications − Understand the impact of nodes/gateway deployment on network performance 36