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

Recommend


More recommend