simulating a mobile peer-to-peer network simo sibakov department of communications and networking...
TRANSCRIPT
SIMULATING A MOBILE PEER-TO-PEER SIMULATING A MOBILE PEER-TO-PEER NETWORKNETWORK
Simo SibakovSimo SibakovDepartment of Communications and Networking (Comnet)Department of Communications and Networking (Comnet)
Helsinki University of TechnologyHelsinki University of Technology
Supervisor: Prof. Raimo KantolaSupervisor: Prof. Raimo Kantola
ContentsContents► BackgroundBackground► Protocol introductionsProtocol introductions
SIP, P2PSIP, RELOADSIP, P2PSIP, RELOAD
► Overlay ConceptOverlay Concept► DHTDHT
conceptconcept DHT algorithms Chord and KademliaDHT algorithms Chord and Kademlia
► Routing modesRouting modes► OverSim simulatorOverSim simulator► Input parametersInput parameters► Output parametersOutput parameters► ResultsResults► ConclusionsConclusions
Background of the studyBackground of the study► The task was to:The task was to:
simulate a P2PSIP network using RELOAD as its peer simulate a P2PSIP network using RELOAD as its peer protocolprotocol
evaluate P2PSIP’s applicability for mobile telephone evaluate P2PSIP’s applicability for mobile telephone networksnetworks
► The study included:The study included: Writing a C++ class for the simulation program to model Writing a C++ class for the simulation program to model
the RELOAD messagesthe RELOAD messages Making other necessary additions to the simulation Making other necessary additions to the simulation
program code.program code. Collecting and analyzing the resultsCollecting and analyzing the results
SIP (Session Initiation Protocol)SIP (Session Initiation Protocol)
► SIP is a signaling protocol used for setting up SIP is a signaling protocol used for setting up multimedia sessionsmultimedia sessions
► SIP supports user mobility and localizationSIP supports user mobility and localization► SIP is a traditional client/server protocol dependent SIP is a traditional client/server protocol dependent
on server elementson server elements
LocationService
1 REGISTER
5 Response
2 Store
3 INVITE
4 QueryProxyRegistrar
6 INVITE
UA
UA
domain.com
sip.domain.com
Alice@work
John@cafeteria
(public URI)
(SIP URI)
SIP MESSAGE
OTHER PROTOCOL
P2PSIP (Peer-to-Peer SIP)P2PSIP (Peer-to-Peer SIP)► An alternative solution to the session establishmentAn alternative solution to the session establishment► Provides the same localization service as SIP but without Provides the same localization service as SIP but without
server elementsserver elements► Every node (peer) has equal functions and responsibilities Every node (peer) has equal functions and responsibilities
for data storage and message routingfor data storage and message routing
RELOAD (Resource LOcation And Delivery)RELOAD (Resource LOcation And Delivery)► The peer protocol of P2PSIPThe peer protocol of P2PSIP► RELOAD is used for inter-peer communications in the RELOAD is used for inter-peer communications in the
P2PSIP overlayP2PSIP overlay
DHT (Distributed Hash Table)DHT (Distributed Hash Table)
► Distributes the data and query load evenly to Distributes the data and query load evenly to all nodes in the overlayall nodes in the overlay
► Divides the keyspace between the Divides the keyspace between the participating nodesparticipating nodes
► Each node has an identifier (node ID)Each node has an identifier (node ID)► Stored data elements also have identifiers Stored data elements also have identifiers
(resource ID)(resource ID)► Two DHT algorithms, Chord and Kademlia, are Two DHT algorithms, Chord and Kademlia, are
used in this studyused in this study► DHT algorithms define the logical location of DHT algorithms define the logical location of
the nodes in the overlaythe nodes in the overlay
Physical links
Logical links
UNDERLAYING NETWORK
OVERLAY NETWORK
Overlay concept
ChordChord► Nodes are logically arranged in the identifier Nodes are logically arranged in the identifier
circlecircle► Keys are assigned to the node whose ID succeeds Keys are assigned to the node whose ID succeeds
the ID of the keythe ID of the key► Chord has two independent routing tables: Chord has two independent routing tables:
successor list and finger tablesuccessor list and finger table
KademliaKademlia► Nodes are treated as leaves of a binary tree where Nodes are treated as leaves of a binary tree where
nodes are located according to the shortest unique nodes are located according to the shortest unique prefix of the node ID.prefix of the node ID.
► Every node sees the network as a group of subtreesEvery node sees the network as a group of subtrees► For every subtree a node has a k-bucket in which For every subtree a node has a k-bucket in which
there is information about k nodes.there is information about k nodes.
SUBTREE MODEL K-BUCKETS (k=2)
Routing modesRouting modes
SYMMETRIC RECURSIVE ITERATIVE
OverSim - Overlay Network OverSim - Overlay Network SimulatorSimulator
► Based on OMNeT++ discrete event network Based on OMNeT++ discrete event network simulatorsimulator
► Consists of modules that are implemented in C++Consists of modules that are implemented in C++► In this study RELOAD was modeled in the DHT In this study RELOAD was modeled in the DHT
TestApp module.TestApp module.
Input parametersInput parameters
► In the simulations 4 input parameters were In the simulations 4 input parameters were observedobserved
► Other parameters were kept fixedOther parameters were kept fixed► Altogether 57 simulation scenarios were runAltogether 57 simulation scenarios were run► Simulation time for each simulation run was 14 Simulation time for each simulation run was 14
daysdays
Output parametersOutput parameters
► Overall bandwidth usageOverall bandwidth usage► Message overhead for maintenanceMessage overhead for maintenance
Only when using Chord. Kademlia does not use separate Only when using Chord. Kademlia does not use separate maintenance messagesmaintenance messages
► Number of lookup hopsNumber of lookup hops Length of the lookup pathLength of the lookup path
► Lookup message overheadLookup message overhead Amount of data transferred in the lookup processes in Amount of data transferred in the lookup processes in
bytesbytes
► Lookup delayLookup delay Delay between sending a lookup and receiving an answerDelay between sending a lookup and receiving an answer
► Key distributionKey distribution Mean number of keys stored per nodeMean number of keys stored per node
► Lookup success rateLookup success rate
► Input paremeters affecting the mean total traffic are number of Input paremeters affecting the mean total traffic are number of nodes and key update intervalnodes and key update interval
► Kademlia uses more than twice as much bandwidth than ChordKademlia uses more than twice as much bandwidth than Chord► Iterative routing uses more bandwidth than recursive routing when Iterative routing uses more bandwidth than recursive routing when
Chord is usedChord is used► Mean total traffic is generally low (maximum bw for GPRS is ~14kB)Mean total traffic is generally low (maximum bw for GPRS is ~14kB)
ResultsResults
ResultsResults► Kademlia needs less time to complete lookups than Chord Kademlia needs less time to complete lookups than Chord
doesdoes► Kademlia uses more bandwidth for lookup traffic than Chord Kademlia uses more bandwidth for lookup traffic than Chord
doesdoes
► Kademlia gives higher lookup success rates than chordKademlia gives higher lookup success rates than chord► Recursive routing gives higher lookup success rates than iterative Recursive routing gives higher lookup success rates than iterative
routing when Chord is usedrouting when Chord is used► The shorter the key update interval the higher the lookup success rateThe shorter the key update interval the higher the lookup success rate► The longer the mean node lifetime the higher the lookup success rateThe longer the mean node lifetime the higher the lookup success rate
ResultsResults
ConclusionsConclusions
► 2G mobile telephone networks can handle the 2G mobile telephone networks can handle the bandwidht usage of a P2PSIP network using bandwidht usage of a P2PSIP network using RELOAD peer protocolRELOAD peer protocol
► With the input parameters used in this study, With the input parameters used in this study, lookup success rates are in general too low for lookup success rates are in general too low for session establishment to work satisfyingly.session establishment to work satisfyingly.
► Kademlia outperforms Chord when lookup delay Kademlia outperforms Chord when lookup delay and success rates are comparedand success rates are compared
► Kademlia uses more than twice the bandwidth Kademlia uses more than twice the bandwidth that chord does.that chord does.
FUTURE RESEARCH:• This study could be developed by using more exact input parameters
• The reasons for the low lookup success rate could be investigated
Questions?Questions?