Download CROSS-ROAD: CROSS-layer Ring Overlay for AD hoc networks

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Distributed firewall wikipedia , lookup

AppleTalk wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Peering wikipedia , lookup

IEEE 1355 wikipedia , lookup

Network tap wikipedia , lookup

Backpressure routing wikipedia , lookup

CAN bus wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Computer network wikipedia , lookup

Kademlia wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Peer-to-peer wikipedia , lookup

Airborne Networking wikipedia , lookup

Routing wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
CROSS-ROAD:
CROSS-layer Ring Overlay for AD Hoc
Networks
Franca Delmastro
[email protected]
IIT-CNR Pisa
Cambridge, March 23rd 2004
Ring Overlay & Pastry Model




The ring overlay is a circular address space where
nodes and data are logically mapped.
Pastry uses a DHT to convert nodes and data identifiers
on logical addresses that are used to route messages
through the network
There is no correspondence between logical and
physical distances
It provides a subject-based data routing that often
requires a multi-hop network routing to reach the
destination.
Logical & Physical distances
Pastry Ring
0 2128 - 1
The Pastry Ring
(K2 ,V)
(K1 ,V)
L2 = H(K2 )
L1 = H(K1)
0 2128 - 1
L1
X2
N1
L2
N2
X1
X1 = H(N1)
X2 = H(N2)
Pastry routing tables
02212102
0 2128 - 1
10233001
10233102
10233232
10323302
11301233
Pastry Multi-hop Routing
02212102
0 2128 - 1
33301201
23301201
23301101
Route(23302121)
10233102
23000101
22301203
Compare(10233102, 23302121) = 0
bestMatch(RoutingTable[0], 23302121 ) =
22301203
Joining the Ring



X has to know a own physical
neighbor already present in
the ring (node A)
0 2128 - 1
A route a message with key
equal to X
X
Z
Pastry Routing table of node X
is initialized using routing
tables of contacted nodes:

LS(X) = LS(Z)

NS(X) = NS(A)

RT(X) is a join of the routing
tables of other nodes,
according to the prefix shared
metric
Bk
Route(X)
B2
A
X
Join(X)
B1
Disconnection from the ring



Each node executes a polling procedure to discover
“remote” nodes status (referred only to routing table
knowledge).
A “remote” node is considered disconnected from the
Pastry network if it doesn’t answer to a polling message
before a timeout expiration
After a disconnection event, the sender of the polling
message has to update its routing tables contacting
other “remote” nodes to fill in entries related to that
node.
Pastry Pros & Cons

Pros:




DHT allows an uniform distribution of IDs and
workload on nodes taking part to the service
The subject-based routing defines a logarithmic lookup
cost on the network dimension (O(log N))
A lot of application can adapt their contents to this
routing strategy
Cons:


Routing tables management based on remote
connections can be a big overhead on ad hoc networks
Forcing the network routing with the subject-based
policy can reduce network performances
Using Cross-Layer to CROSS-ROAD

Applications
Middleware

NeSt
Transport

Network
In order to build an overlay
network, the middleware can
directly use the Network
Routing table.
Node ID = H(IPaddress)
Since each ring is associated
to a service, the routing
protocol has to provide
Service Location
MAC

Using a proactive LINKSTATE routing protocol, each
node knows the entire
network
Middleware routing can send messages directly to their
FINAL destination.
Efficient proactive Link-State

Proactive routing protocols are usually considered
inefficient for ad hoc networks

An optimization has been studied: “Hazy Sighted Link
State”* (HSLS)

Each node sends periodical LSU packets on the network
with frequencies inversary proportional to the routing
hops number.

“Hazy” knowledge of distant nodes. Their status is not
frequently updated as the 1-hop neighbors.

Simulations showed that HSLS scales with the network
size.
(*) C. Santivanez, I. Stavrakakis et al., “Making Link-State Routing Scale for Ad Hoc Networks”,
MobiHoc 2001
(*) C. Santivanez, I. Stavrakakis et al., “On the Scalability of Ad Hoc Routing Protocols”, INFOCOM 2002
CROSS-ROAD overlay

Working hypothesis:

A
Middleware
level
B
A

Network
level
B
Nodes providing service S
Each node has to be
characterized by at
least:
(IPaddress, Services,
1hop-neighbors)

Ad Hoc Network nodes
The Network level
gives a graph
representing the
network topology to
the Nest
The middleware
level can access to
this graph and
recover relevant
information for itself
Interactions with NeSt
Middleware
Data
Abstraction
Local
Provided
services
Node A
Node B
Middleware
Middleware
NeSt
NeSt
Network
Data
Abstraction
Middleware
Data
Abstraction
Network
Network
Application
messages
Topology
update and
remote
services
LSU routing pkt containing
services publications and
topology updates
Network
Data
Abstraction
CROSS-ROAD Routing Tables
CROSS-ROAD Routing Table
Destination ID
= H(IP address)

Cost

Each node defines the
ring autonomously
CROSS-ROAD routing
table contains only nodes
taking part to the service
(Leafset and Neighborset
disappear)

Network Routing Table
Destination
IP address
Next Hop
IP add.
Cost
Services

Middleware routing
protocol is limited to a
peer-to-peer connection
Messages forwarding is
realized by the network
routing protocol
Pastry vs CROSS-ROAD

PASTRY:

Join operation requires
many remote
connections to recover
routing tables contents
HIGH COST at middleware
level

CROSS-ROAD:

Join operation does not
require remote
connections: each node
can build its ring
autonomously
NO COST at middleware
level
Pastry vs CROSS-ROAD

PASTRY:

The detection of
disconnection events
requires polling cycles
towards remote nodes
HIGH COST at middleware
level

CROSS-ROAD:

Disconnection events are
detected by the netwrok
routing protocol through
LSU packets
NO COST at middleware
level
Pastry vs CROSS-ROAD

PASTRY:

Routing table fixed size
involves a not complete
knowledge of the
network
HIGH COST for tables
management due to remote
connections following
topology updates

CROSS-ROAD:

Routing table size
depends on the number
of nodes taking part to
the service
NO COST at middleware
level: local interactions with
NeSt are sufficient to
update routing tables
Pastry vs CROSS-ROAD

PASTRY:

Subject-based routing
involves a multi-hop
middleware routing
O(log(N)) middleware
lookup cost

CROSS-ROAD:

Subject-based routing
involves a peer-to-peer
connection
O(1) middleware lookup
cost, the remaining is a
routing task
CROSS-ROAD Software Architecture
CROSS-ROAD
NodeHandle
CROSS-ROAD
Node
NeSt
Service
Notification
Endpoint
Topology
Abstraction
(GRAPH)
Hash ID
Factory
CROSS-ROAD
Messages
CROSS-ROAD
Routing Table
Link-State Routing
Topology
table
Routing Table
LSU
Management
P2P
CommonAPI
Client/Server
Manager
Routing
Messages
Socket
Manager
Further optimizations: Cost Metrics

Possible metrics to determine the best route from a
source to a destination:

Number of routing hops

Path reliability based on nodes mobility

Mobility index: number of times that a node changed its
position in a specified time interval.

It can be determined by the Network routing protocol
consequently to LSU packets reception.

It can be used by CROSS-ROAD to define the best
nodes for replicas storage.