20
UNIVERSITY OF PISA UNIVERSITY OF PISA ENGINEERING DEPARTMENT ENGINEERING DEPARTMENT COMPUTER ENGINEERING COMPUTER ENGINEERING Cross-layer interactions Cross-layer interactions middleware-routing middleware-routing in MANET environment: in MANET environment: design, implementation and design, implementation and evaluation evaluation Master’s Thesis Master’s Thesis Candidate: Candidate: Andrea Sini Andrea Sini Supervisors: Supervisors: Prof. Giuseppe Prof. Giuseppe Anastasi Anastasi Prof. Marco Prof. Marco Avvenuti Avvenuti Dr. Marco Conti Dr. Marco Conti Eng. Franca Eng. Franca

Andrea Sini Thesis

Embed Size (px)

Citation preview

Page 1: Andrea Sini Thesis

UNIVERSITY OF PISAUNIVERSITY OF PISAENGINEERING DEPARTMENTENGINEERING DEPARTMENT

COMPUTER ENGINEERINGCOMPUTER ENGINEERING

Cross-layer interactions Cross-layer interactions middleware-routingmiddleware-routing

in MANET environment:in MANET environment:design, implementation and design, implementation and

evaluationevaluation

Master’s ThesisMaster’s Thesis

Candidate:Candidate:Andrea SiniAndrea Sini

Supervisors:Supervisors:Prof. Giuseppe Prof. Giuseppe AnastasiAnastasiProf. Marco Prof. Marco AvvenutiAvvenutiDr. Marco ContiDr. Marco ContiEng. Franca Eng. Franca DelmastroDelmastro

Page 2: Andrea Sini Thesis

IndexIndex

• Current status: MANET networks, routing Current status: MANET networks, routing protocols and P2P systemsprotocols and P2P systems

• Cross-layer architectureCross-layer architecture• CrossROAD: P2P system optimized for ad hoc CrossROAD: P2P system optimized for ad hoc

networksnetworks• Implementation of a cross-layer architecture Implementation of a cross-layer architecture

limited to the interaction between middleware limited to the interaction between middleware and routingand routing

• Test and experimental resultsTest and experimental results• Conclusions and future developmentsConclusions and future developments

Page 3: Andrea Sini Thesis

Introduction to MANET Introduction to MANET networksnetworks

• MANETMANET (Mobile Ad hoc NETwork) network: (Mobile Ad hoc NETwork) network: is a wireless network between mobile devices that is a wireless network between mobile devices that

communicate with each other without using a fixed communicate with each other without using a fixed infrastructureinfrastructure

• Each node communicates Each node communicates directly with the nodes in its directly with the nodes in its coverage range (providing coverage range (providing they are on the same they are on the same frequency)frequency)

• Highly dynamicHighly dynamic• Without a central controlWithout a central control• Self-organizing systemSelf-organizing system

Main Features:Main Features:

Page 4: Andrea Sini Thesis

Ad hoc networks routing Ad hoc networks routing protocolsprotocols

• Routing protocols are needed to establish communication paths between nodes that are not under radio coverageRouting protocols are needed to establish communication paths between nodes that are not under radio coverage• In traditional cable networks, some special nodes (In traditional cable networks, some special nodes (routerrouter) forward packets from the sender node towards the receiver node) forward packets from the sender node towards the receiver node• In an ad hoc network ALL the nodes shall perform In an ad hoc network ALL the nodes shall perform routingrouting activity to implement a activity to implement a multihop multihop • Each node cooperates to forward the message until reaching the destinationEach node cooperates to forward the message until reaching the destination

Source Node

Destionation Node

Page 5: Andrea Sini Thesis

Ad hoc networks routing protocols Ad hoc networks routing protocols (2)(2)

• Routing protocols in a MANET environment are Routing protocols in a MANET environment are classified as: classified as: proactive proactive (OLSR, TORA,etc.),(OLSR, TORA,etc.), reactive reactive (AODV, DSR etc.)(AODV, DSR etc.) and and hybrid hybrid (ZRP etc.)(ZRP etc.)

Proactive: by periodically exchanging control information they maintain updated the routes to reach all the networks’s nodes

High overhead

Immediate availability of routes

Page 6: Andrea Sini Thesis

P2P systems and ad hoc P2P systems and ad hoc networksnetworks

• A P2P network is a distributed system, usually A P2P network is a distributed system, usually without a centralized control, in which each without a centralized control, in which each node has normally the same functionalities node has normally the same functionalities and the communication is symmetricand the communication is symmetric

• Similarities between P2P systems and ad hoc Similarities between P2P systems and ad hoc networks:networks:

– Service and data distribution is well suited for Service and data distribution is well suited for the ad hoc networks decentralized structurethe ad hoc networks decentralized structure

– In both cases interactions are temporaryIn both cases interactions are temporary– Resources distributed between Resources distributed between

heterogeneous nodesheterogeneous nodes– Failures and disconnection managementFailures and disconnection management

Page 7: Andrea Sini Thesis

Pastry protocolPastry protocol• Pastry: P2P system for the distribution and Pastry: P2P system for the distribution and

retrieval of information in a network based on the retrieval of information in a network based on the establishment of a structured overlayestablishment of a structured overlay

• The overlay is a circular address The overlay is a circular address space on 128 bit in which data space on 128 bit in which data and nodes are logically mapped and nodes are logically mapped through a Distributed Hash Table through a Distributed Hash Table (DHT)(DHT)

• There is no relation between There is no relation between logical distance and physical logical distance and physical distance between two nodesdistance between two nodes

• Data are represented by a couple Data are represented by a couple (key,value)(key,value)

• Pastry uses a subject based routing to Pastry uses a subject based routing to forward and recover data on the forward and recover data on the overlayoverlay

2128 - 1033301201

23301201

23301101

23000101

22301203

10233102

Key = 23302121

Page 8: Andrea Sini Thesis

Pastry in a MANET Pastry in a MANET environmentenvironment

• Advantages:Advantages:

• Disadvantages:Disadvantages:• High overhead to manage the overlay and

keep updated routing tables, through remote connections (TCP and UDP)

• Lack of correspondence between physical and logical distances can reduce system performance

• Even workload distribution on network’s nodes• Scalability (cost to forward and retrieve information O(log N))

• There are many distributed applications based on this routing strategy

Page 9: Andrea Sini Thesis

Cross-Layer ArchitectureCross-Layer Architecture• A cross-layer architecture allows direct interaction A cross-layer architecture allows direct interaction

between nonadjacent protocol stack layersbetween nonadjacent protocol stack layers• Some issues cannot be effectivels solved by a Some issues cannot be effectivels solved by a

single protocol stack layer.single protocol stack layer.• We have developed a first We have developed a first

prototype of cross-layer prototype of cross-layer interactions to connect the interactions to connect the middlewaremiddleware level with the level with the routingrouting level in order to level in order to optimize the establishment optimize the establishment and maintenance of a and maintenance of a structured overlaystructured overlay

Page 10: Andrea Sini Thesis

CrossROAD ArchitectureCrossROAD Architecture• CrossROAD CrossROAD (CROSS-layer Ring Overlay for AD Hoc (CROSS-layer Ring Overlay for AD Hoc

Networks)Networks): a middleware protocol optimizing overlay : a middleware protocol optimizing overlay establishment and maintenance through a cross-layer establishment and maintenance through a cross-layer interaction with the routing layerinteraction with the routing layer

• CrossROAD optimizes Pastry functionalities leveraging on CrossROAD optimizes Pastry functionalities leveraging on network’s topology information retrieved from a proactive network’s topology information retrieved from a proactive routing protocolrouting protocol

• Each overlay is linked to a given service and it is therefore Each overlay is linked to a given service and it is therefore required to develop a Service Discovery Protocolrequired to develop a Service Discovery Protocol

• In each routing packet are embedded the information In each routing packet are embedded the information related to the services offered by each noderelated to the services offered by each node

Page 11: Andrea Sini Thesis

CrossROAD Architecture (2)CrossROAD Architecture (2)

NeSt

NetworkData

Abstraction

MiddlewareData

AbstractionCrossROAD

Network

Node A

CrossROAD

Network

NeSt

NetworkData

Abstraction

MiddlewareData

Abstraction

Node BPublish service

LSU package containing services publications and topology updates

Update topology

and remote services

Application Message

Verify internal data structures

Page 12: Andrea Sini Thesis

XL-plugin ArchitectureXL-plugin Architecture• Dynamic Link Library extending the proactive routing Dynamic Link Library extending the proactive routing

protocol UniKOLSR for the interaction with CrossROAD and to protocol UniKOLSR for the interaction with CrossROAD and to implement an effective implement an effective Service Discovery Service Discovery systemsystem

• XL-plugin is written in language XL-plugin is written in language C C forfor GNU/Linux systems and GNU/Linux systems and an internal an internal multithread multithread architecturearchitecture

• It leverages on the periodical issue of It leverages on the periodical issue of LSU LSU packetspackets of of UniKOLSR to transport information on services available in UniKOLSR to transport information on services available in the networkthe network

• Each service is identified by the couple (Each service is identified by the couple (serviceID,portserviceID,port))• XL-plugin returns a CrossROAD list of nodes offering a given XL-plugin returns a CrossROAD list of nodes offering a given

service, indicating the IP address and port number on which service, indicating the IP address and port number on which the service is offeredthe service is offered

Page 13: Andrea Sini Thesis

XL-plugin Architecture (2)XL-plugin Architecture (2)

CrossROAD

Plugin

Local Data Structures

Socket Parser Packet Parser Informationrepositories Scheduler

UniKOLSR

IPC

IPC

Direct interaction with the UniKOLSR internal

schedulerRecord socket and parsing functions

Page 14: Andrea Sini Thesis

XL-plugin Architecture (3)XL-plugin Architecture (3)

Appl. CrossROAD XL-plugin OLSRD

Create CR entity PublishService(S_id,port)

Update Local Services and generate OLSR Msg

Send OLSRMsg Create LSU pkt

Verify Global Services and wait other nodes

Send nodes list

Setup overlay

CrossROADCrossROAD

Page 15: Andrea Sini Thesis

XL-plugin Architecture (4)XL-plugin Architecture (4)

sendMsg(key,m) lookup(S_id) Read GlobalServices

and wait nodes list

Verify overlay consistency

Send nodes list

bestMatch

Appl. CrossROAD XL-plugin OLSRD

sendDestIP

Page 16: Andrea Sini Thesis

Tests and experimental Tests and experimental outcomesoutcomes

• All the experiments were held in the All the experiments were held in the CNR Resarch Area in Pisa (Italy)CNR Resarch Area in Pisa (Italy)

• Laptops used were equipped with Intel Laptops used were equipped with Intel Pentium 4 and Intel Centrino CPUsPentium 4 and Intel Centrino CPUs

• Internal network cards Intel Pro Wireless Internal network cards Intel Pro Wireless IPW2100 and PCMCIA DLINK DWL 650 IPW2100 and PCMCIA DLINK DWL 650

• Nodes B and G were doing exclusively routing activity Nodes B and G were doing exclusively routing activity (UniKOLSR extende with XL-plugin); the remaining (UniKOLSR extende with XL-plugin); the remaining nodes are art of the CrossROAD or Pastry overlaynodes are art of the CrossROAD or Pastry overlay

FH G

C B A

D E

Page 17: Andrea Sini Thesis

Throughput analysisThroughput analysis

CrossROADCrossROAD PastryPastry

• No application data• Activation sequence: E,F,D,C,A,H F

H G

C B A

D E

Page 18: Andrea Sini Thesis

Delay analysisDelay analysis• Objective:Objective: assess the time required to assess the time required to

build the overlay with CrossROADbuild the overlay with CrossROAD• First experiment: First experiment: Second node actives the Second node actives the

overlay at one hop of distance from the firstoverlay at one hop of distance from the first• Second experiment: Second experiment: Second node actives the Second node actives the

overlay at 3 hops of distance from the firstoverlay at 3 hops of distance from the firstDelay building the Delay building the

overlayoverlayFirst nodeFirst node Other nodesOther nodes

(starting from the (starting from the second)second)

Second node at 1 Second node at 1 hop of distancehop of distance

180 msec.180 msec. 40 msec.40 msec.

Second node at 3 Second node at 3 hop of distancehop of distance

325 msec.325 msec. 30 msec.30 msec.

Page 19: Andrea Sini Thesis

Mobility and partitioning Mobility and partitioning analysisanalysis

• Objective: Objective: evaluate CrossROAD in a possibile mobility evaluate CrossROAD in a possibile mobility scenario and network partitioningscenario and network partitioning

Invia messaggio al nodo B E

DCB

A

x

C

C

Invia messaggio al nodo D

C

C

Send a message to node B

Page 20: Andrea Sini Thesis

Conclusion and future Conclusion and future developmentsdevelopments

• The experimental analysis has shown the The experimental analysis has shown the correct working and the excellent correct working and the excellent performances of the proposed solutionperformances of the proposed solution

• Future developments:Future developments:– Use XL-plugin with other routing protocolsUse XL-plugin with other routing protocols– Run experiments in medium-big size Run experiments in medium-big size

MANET environments with greater mobilityMANET environments with greater mobility– Verify applications QoS on this type of Verify applications QoS on this type of

architecturearchitecture