typical p2p routing
play

Typical P2P routing P2P network of N nodes Node s maintains a - PowerPoint PPT Presentation

C YCLIC R OUTING IN S TRUCTURED P EER - TO -P EER N ETWORKS D MITRY K ORZUN A NDREI G URTOV AND Petrozavodsk Helsinki Institute State for Information University Technology AMICT 2008 seminar 20.05.2008 Typical P2P routing P2P network


  1. C YCLIC R OUTING IN S TRUCTURED P EER - TO -P EER N ETWORKS D MITRY K ORZUN A NDREI G URTOV AND Petrozavodsk Helsinki Institute State for Information University Technology AMICT 2008 seminar 20.05.2008

  2. Typical P2P routing • P2P network of N nodes • Node s maintains a routing table T s = { ( u, IP u ) } (all outgoing links of s ) IP u • Node s forwards messages to u via the underlying IP network: s − → u • The choice of appropriate u ∈ T s depends on P2P routing protocol (e.g., Chord, Tapestry, Pastry, ...) • Distance between current and destination nodes becomes progressively closer P2P network T s A limited (local) view s to the network. 2

  3. Motivation • Ideally a peer may contact any peer • Practice, however, it is not so easy Problems: Goals: • Restricted access to IP addresses • Extending P2P routing – non-transitive connectivity • More dependability and u → w , w → u , but u �→ v security – node u and v are NAT-separated • Preserving efficiency – node u does not provide IP u to v • Malicious nodes dropping packets, incorrect data 3

  4. Related P2P strategies Look-ahead in u → + d • One level of look-ahead (or neighbor’s neighbor) u → { v 1 , . . . , v n } and v i → { w i 1 , . . . , w im } the best next hop v = v k is selected depending on { w 11 , . . . , w nm } • In general, u should select v = v k depending on the remaining path Flexible routing table maintenance • Size | T u | is not limited by P2P protocol but only by node capacity • Also | T u | is independent on other nodes Multipath routing • Having many neighbors in T u , u can use some of them in parallel • Each of these neighbors start an alternate path 4

  5. Cycles • When s and d communicate they use a cycle s d + s → + d → + s s d d s + • More information c 2 (intermediate nodes) + c 3 c 2 c 3 s → + c 2 → + · · · → + c n − 1 → + s + c 2 s c 2 s + c n−1 + s ... c + c n−1 n−1 • In addition to T s , node s maintains C s = { C 1 , . . . , C q } , where C l = ( s ; c l 1 , c l 2 , . . . ) 5

  6. Cyclic routing algorithm Require: Message p (traveling from s to d ) arrives to u � = d . The node u maintains routing table T u and cyclic structure C u . Find c ∈ C u such that � � u → v 1 → + · · · → + � d → + · · · → + v n → + u where � c = d is close to d ; if c is found then Let v 1 be the next -hop node v ; else Find the next-hop node v ∈ T u according to the underlying DHT; end if Forward p to v ; 6

  7. Global and local routing • Global Routing to an area where responsible nodes lie • Local Being in neighborhood, routing to a destination • Cyclic routing is global while underlying P2P routing is local Typical P2P routing Cyclic routing P2P network T T s s s s 7

  8. Routes around malicious nodes Lookup -based cycle construction (passive) d �� �� 1. lookup for key leads to path s → + d 2. acknowledgment, d → + s � 3. cycle is stored in C s �� �� � s � • Successful routes are stored to be reused • No need for intermediate nodes to provide their IPs • More security can be added, e.g., cryptography • Trustworthy paths 8

  9. Skipping dense areas d Chord DHT produces insecure routes (many nodes in small area) • Constructing cycle s → + d → + s high density, insecure • Remove closely related nodes (dense area) s • Nodes u and v are allowed to find a new path to d and s , respectively d • Changing a cycle u v s 9

  10. Changing a cycle s • A cycle provides a path to transfer a packet – Fig.(a): nodes do not change the path C Cycle selecting the same (or close) cycle C u – Fig.(b): node u changes the path selecting � � cycle C ′ = u → v → + w → + d → + u d (a) • It can lead to loops, Fig.(b) s • Chord allows loop -free routing C Cycle v • A way to modify/repair a cycle initially set by a lookup source u C’ w Cycle d (b) 10

  11. Opportunistic routing • In pure Chord, the predecessor of a destination node is a point of failure, Fig.(a) lookup d’ d" • Let a lookup jump over the primary destination, key d when replication is in use (DHash by Dabek et al.) d pred( ) u • Stop whenever nodeID ≤ key (a) • Hopefully we are still in replication area, Fig.(b) • Estimate in advance: [ key , key + r × D avg ] , m where r is #replicas, D avg is the average w v distance between sequential nodes key replication area More conservatively pred(v) k [ key , key + 1 / 2 × r × D avg ] (b) 11

  12. Simulation (together with Boris Nechaev) CR -Chord = Chord + CyclicRouting • Goal: Find out how cyclic routing helps to mitigate malicious attacks (better lookup availability) • Assumptions: – Malicious nodes drop lookup packets, but reply to ping – Only good nodes generate lookups and are responsible for documents – Currently static environment – Instant attack ( G good nodes, M malicious nodes, N = G + M ) 12

  13. Results • Chord is not well resistant to presence of malicious nodes • CR -Chord increases lookup availability • Note that no IP restrictions were in the simulation 100 90 80 Lookup failures, % 70 60 50 40 30 Chord 20 CR-Chord 10 lower bound 0 0 10 20 30 40 50 Fraction of malicious nodes, % 13

  14. Future work Cyclic routing: Simulation: • Enhancing cycles • More intelligent malious nodes construction/transformation and attack scenarios • Opportunistic routing • IP providing policy (trust) • C s evolution (cycles insertion, • Cycles in dynamic environment transformation, removal) • Finger tables maintenance using cycles 14

  15. T HANK YOU ! Q UESTIONS ? 15

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend