Modue 1 part 1 of computer networks for your university exams
Andrea Sini Thesis
1. UNIVERSITY OF PISAUNIVERSITY OF PISA
ENGINEERING DEPARTMENTENGINEERING DEPARTMENT
COMPUTER ENGINEERINGCOMPUTER ENGINEERING
Cross-layer interactions middleware-routingCross-layer interactions middleware-routing
in MANET environment:in MANET environment:
design, implementation and evaluationdesign, implementation and evaluation
Master’s ThesisMaster’s Thesis
Candidate:Candidate:
Andrea SiniAndrea Sini
Supervisors:Supervisors:
Prof. Giuseppe AnastasiProf. Giuseppe Anastasi
Prof. Marco AvvenutiProf. Marco Avvenuti
Dr. Marco ContiDr. Marco Conti
Eng. Franca DelmastroEng. Franca Delmastro
2. IndexIndex
• Current status: MANET networks, routingCurrent status: MANET networks, routing
protocols and P2P systemsprotocols and P2P systems
• Cross-layer architectureCross-layer architecture
• CrossROAD: P2P system optimized for ad hocCrossROAD: P2P system optimized for ad hoc
networksnetworks
• Implementation of a cross-layer architectureImplementation of a cross-layer architecture
limited to the interaction between middlewarelimited to the interaction between middleware
and routingand routing
• Test and experimental resultsTest and experimental results
• Conclusions and future developmentsConclusions and future developments
3. Introduction to MANETIntroduction to MANET
networksnetworks
• MANETMANET (Mobile Ad hoc NETwork) network:(Mobile Ad hoc NETwork) network:
is a wireless network between mobile devices thatis a wireless network between mobile devices that
communicate with each other without using a fixedcommunicate with each other without using a fixed
infrastructureinfrastructure
• Each node communicatesEach node communicates
directly with the nodes in itsdirectly with the nodes in its
coverage range (providing theycoverage range (providing they
are on the same frequency)are on the same frequency)
• Highly dynamicHighly dynamic
• Without a central controlWithout a central control
• Self-organizing systemSelf-organizing system
Main Features:Main Features:
4. Ad hoc networks routing protocolsAd hoc networks routing protocols
• 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 performIn an ad hoc network ALL the nodes shall perform routingrouting activity to implement aactivity to implement a multihopmultihop
• 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
5. Ad hoc networks routing protocols (2)Ad hoc networks routing protocols (2)
• Routing protocols in a MANET environment are classifiedRouting protocols in a MANET environment are classified
as:as: proactiveproactive (OLSR, TORA,etc.),(OLSR, TORA,etc.), reactivereactive (AODV, DSR etc.)(AODV, DSR etc.)
andand hybridhybrid (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
6. P2P systems and ad hocP2P systems and ad hoc
networksnetworks
• A P2P network is a distributed system, usuallyA P2P network is a distributed system, usually
without a centralized control, in which each nodewithout a centralized control, in which each node
has normally the same functionalities and thehas normally the same functionalities and the
communication is symmetriccommunication is symmetric
• Similarities between P2P systems and ad hocSimilarities between P2P systems and ad hoc
networks:networks:
– Service and data distribution is well suited forService 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 heterogeneousResources distributed between heterogeneous
nodesnodes
– Failures and disconnection managementFailures and disconnection management
7. Pastry protocolPastry protocol
• Pastry: P2P system for the distribution and retrieval ofPastry: P2P system for the distribution and retrieval of
information in a network based on the establishment ofinformation in a network based on the establishment of
a structured overlaya structured overlay
• The overlay is a circular addressThe overlay is a circular address
space on 128 bit in which data andspace on 128 bit in which data and
nodes are logically mapped throughnodes are logically mapped through
a Distributed Hash Table (DHT)a Distributed Hash Table (DHT)
• There is no relation between logicalThere is no relation between logical
distance and physical distance betweendistance and physical distance between
two nodestwo nodes
• Data are represented by a coupleData are represented by a couple
(key,value)(key,value)
• Pastry uses a subject based routing toPastry uses a subject based routing to
forward and recover data on the overlayforward and recover data on the overlay
2128
- 10
33301201
23301201
23301101
23000101
22301203
10233102
Key = 23302121
8. Pastry in a MANET environmentPastry in a MANET environment
• 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
9. Cross-Layer ArchitectureCross-Layer Architecture
• A cross-layer architecture allows direct interactionA cross-layer architecture allows direct interaction
between nonadjacent protocol stack layersbetween nonadjacent protocol stack layers
• Some issues cannot be effectivels solved by a singleSome issues cannot be effectivels solved by a single
protocol stack layer.protocol stack layer.
• We have developed a first prototypeWe have developed a first prototype
of cross-layer interactions to connectof cross-layer interactions to connect
thethe middlewaremiddleware level with thelevel with the
routingrouting level in order to optimize thelevel in order to optimize the
establishment and maintenance of aestablishment and maintenance of a
structured overlaystructured overlay
10. CrossROAD ArchitectureCrossROAD Architecture
• CrossROADCrossROAD (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-layerestablishment and maintenance through a cross-layer
interaction with the routing layerinteraction with the routing layer
• CrossROAD optimizes Pastry functionalities leveraging onCrossROAD optimizes Pastry functionalities leveraging on
network’s topology information retrieved from a proactivenetwork’s topology information retrieved from a proactive
routing protocolrouting protocol
• Each overlay is linked to a given service and it is thereforeEach 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 relatedIn each routing packet are embedded the information related
to the services offered by each nodeto the services offered by each node
11. CrossROAD Architecture (2)CrossROAD Architecture (2)
NeSt
Network
Data
Abstraction
Middleware
Data
Abstraction
CrossROAD
Network
Node A
CrossROAD
Network
NeSt
Network
Data
Abstraction
Middleware
Data
Abstraction
Node B
Publish
service
LSU package containing
services publications and
topology updates
Update
topology
and remote
servicesApplication
Message
Verify internal
data
structures
12. XL-plugin ArchitectureXL-plugin Architecture
• Dynamic Link Library extending the proactive routing protocolDynamic Link Library extending the proactive routing protocol
UniKOLSR for the interaction with CrossROAD and toUniKOLSR for the interaction with CrossROAD and to
implement an effectiveimplement an effective Service DiscoveryService Discovery systemsystem
• XL-plugin is written in languageXL-plugin is written in language CC forfor GNU/Linux systems andGNU/Linux systems and
an internalan internal multithreadmultithread architecturearchitecture
• It leverages on the periodical issue ofIt leverages on the periodical issue of LSULSU packetspackets of UniKOLSRof UniKOLSR
to transport information on services available in the networkto transport information on services available in the 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 givenXL-plugin returns a CrossROAD list of nodes offering a given
service, indicating the IP address and port number on which theservice, indicating the IP address and port number on which the
service is offeredservice is offered
13. XL-plugin Architecture (2)XL-plugin Architecture (2)
CrossROAD
Plugin
Local Data Structures
Socket Parser Packet Parser
Information
repositories
Scheduler
UniKOLSR
IPC
IPC
Direct interaction with the
UniKOLSR internal
schedulerRecord socket
and parsing
functions
14. 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
15. 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
16. Tests and experimental outcomesTests and experimental outcomes
• All the experiments were held in the CNRAll the experiments were held in the CNR
Resarch Area in Pisa (Italy)Resarch Area in Pisa (Italy)
• Laptops used were equipped with Intel PentiumLaptops used were equipped with Intel Pentium
4 and Intel Centrino CPUs4 and Intel Centrino CPUs
• Internal network cards Intel Pro WirelessInternal network cards Intel Pro Wireless
IPW2100 and PCMCIA DLINK DWL 650IPW2100 and PCMCIA DLINK DWL 650
• Nodes B and G were doing exclusively routing activityNodes B and G were doing exclusively routing activity
(UniKOLSR extende with XL-plugin); the remaining nodes(UniKOLSR extende with XL-plugin); the remaining nodes
are art of the CrossROAD or Pastry overlayare art of the CrossROAD or Pastry overlay
F
H G
C B A
D E
18. Delay analysisDelay analysis
• Objective:Objective: assess the time required to build theassess the time required to build the
overlay with CrossROADoverlay with CrossROAD
• First experiment:First experiment: Second node actives theSecond 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 theSecond node actives the
overlay at 3 hops of distance from the firstoverlay at 3 hops of distance from the first
Delay building theDelay building the
overlayoverlay
First nodeFirst node Other nodesOther nodes
(starting from the(starting from the
second)second)
Second node at 1 hopSecond node at 1 hop
of distanceof distance
180 msec.180 msec. 40 msec.40 msec.
Second node at 3 hopSecond node at 3 hop
of distanceof distance
325 msec.325 msec. 30 msec.30 msec.
19. Mobility and partitioning analysisMobility and partitioning analysis
• Objective:Objective: evaluate CrossROAD in a possibileevaluate CrossROAD in a possibile
mobility scenario and network partitioningmobility scenario 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
20. Conclusion and futureConclusion and future
developmentsdevelopments
• The experimental analysis has shown the correctThe experimental analysis has shown the correct
working and the excellent performances of theworking and the excellent performances of the
proposed solutionproposed solution
• Future developments:Future developments:
– Use XL-plugin with other routing protocolsUse XL-plugin with other routing protocols
– Run experiments in medium-big size MANETRun experiments in medium-big size MANET
environments with greater mobilityenvironments with greater mobility
– Verify applications QoS on this type ofVerify applications QoS on this type of
architecturearchitecture