EEEM048 Lecture4 Network PDF
EEEM048 Lecture4 Network PDF
Lecture 4: Network
− Network Module
− Routing Technologies
− Performance Issues
2
Network Module
3
Network Module
4
Network Module
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
12
Flooding
Broadcast
the packet
Source
Destination
A first received
G
the packet
B D from D
(ABDF)
E Destination
F H
13
Source Routing
14
Source Routing: Example
A
A-B A-B-D RREQ
Source RREP
A-B-D-H A-B-D
A G
B D
A-B-D-G
A
A-B-D-H C A-B-D-H
A-C
A-B E Destination
F H
15
Distance Vector
I 24 36 18 27 7 20 31 20 0 10 22 33
E F G H
H 20 31 19 8 30 19 6 0 14 12 22 9
10+18
K 21 28 36 24 22 40 31 19 22 6 0 9
8 12
17
AODV: RREQ
Source
A G
B D
A G
B D
− 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)
21
RPL
− 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
Preferred parent
Root
DIO
A G
DIO B D
E
F H
23
RPL: DODAG Building Process
A G
B D
C broadcasts E
F H
DIO 24
RPL: DODAG Building Process
B broadcasts DIO
Preferred parent
Root
A DIO
G
B D
E
F H
25
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)
Preferred parent
Root
A G
B D
E
F H
26
RPL: P2MP & P2P
− 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
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
This node needs to When all nodes transmit a packet,
forward packet for a large this node needs to transmit its
group of nodes packet and relay 7 others!
32
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
When this node fails, a group
of nodes will be disconnected
from the gateway
33
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
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
Some packets need 6 hops to
reach the gateway!
35
Summary
36
Questions?
37