* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Decentralized Location Services
Distributed firewall wikipedia , lookup
Network tap wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Backpressure routing wikipedia , lookup
Distributed operating system wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Computer network wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Deep packet inspection wikipedia , lookup
Airborne Networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Ongoing Work on Peer-toPeer Networks May 25, 2017 Prof. Ben Y. Zhao ravenben@cs.ucsb.edu Large-scale Network Applications   Context  trend: applications increasing in scale (clients, distribution)  examples: wide-area real-time multicast (PayPerView), data dissemination (PointCast), large distributed FS  mutual sharing of data, inter-node communication Challenges as networks scale  how does A find a particular piece of data?  start with simple name (complex queries later)  how does node A send message to B? IP addresses are too static, need app-level location independent names  how do we make communication reliable? Ongoing work in P2P Networks ravenben@cs.ucsb.edu 2 Adding Name-based Structure to Networks   No network structure  any node can connect to any node: flexible  scalability issue: too many routing table entries  need more flexible naming, IP address too static Trade off flexibility for scalability  name all nodes with application level nodeIDs  route incrementally to destination  use nodeID as measure of routing progress Ongoing work in P2P Networks ravenben@cs.ucsb.edu 3 Outline   Motivation Protocols      routing: Chord, Tapestry/Pastry, etc… dynamic algorithms Application Interfaces Ongoing Work Wrap-up Ongoing work in P2P Networks ravenben@cs.ucsb.edu 4 Structured Peer-to-Peer Overlays  Assign random nodeIDs and keys from secure hash   incrementally route towards destination ID each node has small set of outgoing routes, e.g. prefix routing ID: ABCE ABC0 To: ABCD AB5F A930 Ongoing work in P2P Networks ravenben@cs.ucsb.edu 5 What’s in a Protocol?  Definition of name-proximity    Size of routing table   worst case routing performance (in overlay hops, not IP) Network locality    amount of state kept by each node as f (N), N = network size # of overlay routing hops   each hop gets you “closer” to destination ID prefix routing, numerical closeness, hamming distance does choice of neighbor consider network distance impact on “actual” performance of P2P routing Application Interface Ongoing work in P2P Networks ravenben@cs.ucsb.edu 6 Chord  NodeIDs are numbers on ring  Closeness defined by numerical proximity  Finger table   keep routes for next node namespace  routing table size: log2 n  n = total # of nodes 0 2i away in  iterative hops from source  at most log2 n hops 128 896 256 768 Routing Ongoing work in P2P Networks Node 0/1024 640 384 512 ravenben@cs.ucsb.edu 7 Chord II  Pros   Cons    simplicity limited flexibility in routing neighbor choices unrelated to network proximity * but can be optimized over time Application Interface:  distributed hash table (DHash) Ongoing work in P2P Networks ravenben@cs.ucsb.edu 8 Tapestry / Pastry  incremental prefix routing   Node 0/1024 0 routing table    11110XXX00XX 000X0000 128 896 keep nodes matching at least i digits to destination 256 768 table size: b * logb n routing 640  recursive routing from source  at most logb n hops Ongoing work in P2P Networks ravenben@cs.ucsb.edu 384 512 9 Routing in Detail Example: Octal digits, 212 namespace, 2175  0157 2175 0880 0123 0154 0157 0 1 0 1 0 1 0 1 0 1 2 2 2 2 2 3 4 5 3 4 5 3 4 5 3 4 5 3 4 5 Neighbor 2175 Map For “2175” (Octal) 6 7 6 7 6 7 6 7 6 7 0xxx 20xx 210x 2170 1xxx 0880 ---- 211x 2171 ---- 22xx 212x 2172 3xxx 23xx 213x 0123 2173 4xxx 24xx 214x 2174 5xxx 0154 25xx 215x ---- 6xxx 26xx 216x 2176 7xxx 27xx ---- 2177 0157 4 3 2 1 Routing Levels Ongoing work in P2P Networks ravenben@cs.ucsb.edu 10 Tapestry / Pastry II  Pros    Cons   large flexibility in neighbor choice choose nodes closest in physical distance can tune routing table size and routing hops using parameter b more complex than Chord to implement Application Interface   Tapestry: decentralized object location Pastry: distributed hash table Ongoing work in P2P Networks ravenben@cs.ucsb.edu 11 Lots and Lots of Protocols  Other designs: Kademlia, Coral, etc…  For network locality    SkipNet / Skip graphs  LAND For theory  Viceroy (dynamic adaptation of butterfly network)  Symphony  Ulysseus For performance  One-hop / Two-hop Routing (static hierarchy)  Brocade (two layered approach for WAN routing)  XRing / ZRing Ongoing work in P2P Networks ravenben@cs.ucsb.edu 12 Questions? Ongoing work in P2P Networks ravenben@cs.ucsb.edu 13 Outline    Motivation Protocols Application Interfaces      distributed hash tables decentralized object location multi-tiered interfaces Ongoing Work Wrap-up Ongoing work in P2P Networks ravenben@cs.ucsb.edu 14 How Do We Use Them?    Key-based Routing layer  Large sparse ID space N (160 bits: 0 – 2160 represented as base b)  Nodes in overlay network have nodeIDs  N  Given k  N, overlay deterministically maps k to its root node (a live node in the network) Main routing call  route (key, msg)  Route message to node currently responsible for key Leveraging KBR  storage: pick a node by name to store data  routing: route messages between nodes by nodeID Ongoing work in P2P Networks ravenben@cs.ucsb.edu 15 Storage: Distributed Hash Tables  P2P layer = a hash table   write (key, data)    key is object ID store data at k nodes closest in name to key k is system parameter (replication factor) data = read (key)  read data from any of k nodes close to key Ongoing work in P2P Networks ravenben@cs.ucsb.edu 16 DHT II  Pros     simplicity, just store and forget rely on storage layer to keep data available across changes in node membership servers generally distance in network and faultindependent Cons   P2P layer controls parameters where data is stored, how many replicas one size rarely fits all lack of network locality Ongoing work in P2P Networks ravenben@cs.ucsb.edu 17 Storage: Decentralized Object Location routeobj(k) routeobj(k) backbone k publish(k) k  let application choose where to store data   P2P layer provides directory service to locate objects redirect data traffic using log(n) in-network redirection pointers ravenben@cs.ucsb.edu average # of pointers/machine: log(n) * avg files/machine Ongoing work in  P2P Networks 18 DOLR II  Pros   application has control over data placement can optimize location, replication factor for performance Cons   directory pointers require state in network additional complexity in managing data Ongoing work in P2P Networks ravenben@cs.ucsb.edu 19 Outline      Motivation Protocols Application Interfaces Ongoing Work Wrap-up Ongoing work in P2P Networks ravenben@cs.ucsb.edu 20 Many Structured P2P Applications  Data storage    Search on P2P   service discovery, P2P databases Routing    file systems, FS backup, stegnographic FS Web Caches, CDNs, DNS services application-level multicast, pub/sub resilient routing tunnels Others  spam-filtering, collaborative network measurement, machine fault diagnosis Ongoing work in P2P Networks ravenben@cs.ucsb.edu 21 But Few (if any) Are Deployed  Deployment outside of research networks    Consider some factors      still file-sharing based (Kenosis/BitTorrent, E-Donkey) Why? Is P2P only good for file-sharing? killer app with real user demand usability (software engineering) incentives vs. per user cost security How do we do about this? Ongoing work in P2P Networks ravenben@cs.ucsb.edu 22 Addressing P2P Security   The problem  lots of users, spread over wide-area, multiple network domains  no uniform security policy or management capability  result: expect compromised nodes in normal operation Existing work  secure routing: trade off efficiency for improved resilience against collusion  prognosis is bleak   one against many (colluding attackers) An alternative  balance the scale: many against many  form trusted groups to collaboratively stave off attackers  incrementally build trust groups with anonymous verification Ongoing work in P2P Networks ravenben@cs.ucsb.edu 23 P2P Security cont.  Mechanisms  highly dynamic collaborative reputation system   anonymous communication in P2P    todo under development: Cashmere Policies / algorithms  how to perform anonymous verification  how to derive / adapt online reputations A related topic  what are the weaknesses of current P2P systems  what are the main methods of attack?  how do we perform / protect against these attacks? Ongoing work in P2P Networks ravenben@cs.ucsb.edu 24 Finding the Right Incentive/Cost Model  Deployment    current focus on infrastructure services need useful, light-weight apps for home users Design and implement Quartz  lightweight p2p data sharing system  store your most critical files (<100MB) online  use simple application-specific handlers to provide fast data synchronization (a la CVS)   synchronize your HTML bookmarks across machines  synchronize your papers, homework files, financial records end to end encryption Ongoing work in P2P Networks ravenben@cs.ucsb.edu 25 Other Directions  Understanding unstructured P2P systems     understanding content-based centralization and its implications edge-based measurements of Freenet studies of Maze, an academic P2P system from China More P2P applications   Reliable and efficient event propagation (large-scale distributed gaming) P2P Ebay, (secure online commerce) Ongoing work in P2P Networks ravenben@cs.ucsb.edu 26 Other Directions cont.  Applying decentralized algorithms elsewhere  routing and data management in sensor and ad-hoc networks    reduce routing state and flooding traffic energy efficient data aggregation in sensor nets spectrum allocation and MAC-layer device coordination Ongoing work in P2P Networks ravenben@cs.ucsb.edu 27 Outline      Motivation Protocols Application Interfaces Ongoing Work Wrap-up Ongoing work in P2P Networks ravenben@cs.ucsb.edu 28 Finally…  Structured Peer-to-Peer Networks are useful (& fun)  holds promise for self-maintaining decentralized networks at Internet scales  relevance to numerous areas in CS   sensor networks, ad-hoc routing, security, theory For more information …  see the webpage for my Winter 290 http://www.cs.ucsb.edu/~ravenben/classes/290F  see papers from IPTPS: http://iptps05.cs.cornell.edu/ http://iptps04.cs.ucsd.edu http://iptps03.cs.berkeley.edu Ongoing work in P2P Networks ravenben@cs.ucsb.edu 29
 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                            