PeerNet: Pushing Peer-to-Peer Down the Stack
-
Upload
palmer-maxwell -
Category
Documents
-
view
28 -
download
0
description
Transcript of PeerNet: Pushing Peer-to-Peer Down the Stack
![Page 1: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/1.jpg)
PeerNet: Pushing Peer-to-Peer Down the Stack
Jakob Eriksson, Michalis Faloutsos, Srikanth Krishnamurthy
University of California, Riverside
![Page 2: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/2.jpg)
What is PeerNet
• an approach to separate address and identity– address reflects the node’s current location– identifier remains the same
• a p2p-based network layer for large networks– an alternative to the IP layer
![Page 3: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/3.jpg)
PeerNet Goals
• targeting large, wireless and mobile networks• emphasis on mobile nodes and p2p interactions• minimizing the need for manual configuration• favoring distributed and p2p solutions instead of
centralized solutions and node specialization• localizing control overhead
![Page 4: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/4.jpg)
...and Challenges
• while location-based addressing simplifies routing, new challenges are created:– consistent dynamic address allocation– efficient node lookup service for finding
addresses for given identifiers
=> the project proposes distributed solutions
![Page 5: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/5.jpg)
PeerNet Network layer (1/2)• dynamic addressing, depending on the node’s current
location in the network• addresses organized as a binary tree• selecting addresses so that locality of communication is
guaranteed (subtree/area)
![Page 6: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/6.jpg)
PeerNet Network Layer (2/2)
• Area invariant– all nodes belong to a nested sequence of areas, one of
each level– all nodes within an area share a unique address prefix– l bit addresses l area levels– violating node resigns & rejoins
• Three major parts of the network layer– address allocation– routing– node lookup
![Page 7: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/7.jpg)
Address Allocation in General
• addresses assigned dynamically, preserving the invariant
• goals:– balancing the tree & effective utilization of
address space– good physical connectivity within an area– improving scalability & minimizing control
overhead
![Page 8: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/8.jpg)
Address Allocation: Joining the Network
• physical connection
• requesting address
• registering to node lookup service
• moving node => new request & registration
![Page 9: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/9.jpg)
Address Allocation: Details• each node controls a range of addresses• responding node splits its range in half
– joining node gets the lower half– joining node’s address is the lowest address in that range– nodes get evenly distributed in the address space
![Page 10: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/10.jpg)
Address Allocation: Challenges
• 1. Keeping the tree balanced– local congestion leads to address unavailability– solution: proactively migrating nodes
• 2. Maximizing intra-area connectivity– solution: nodes within an area have to be well-
connected by physical links
=> improves routing performance and tolerance to link failures, desirable in mobile networks
![Page 11: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/11.jpg)
Routing
• sender only needs to know the identifier of the receiving node
• address provided by the lookup service
• packets include both the identifier and last known address– address rechecked along the route if necessary
![Page 12: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/12.jpg)
Routing: Details
• a distance vector type approach:– each node has l=log N
entries, one for each level– each entry stores the next
hop to corresponding sibling subtree
• destination address compared to node address bit by bit, MSB first, packet then forwarded to corresponding sibling subtree
•routing one level at a time•each step takes closer to destination in both topology and address tree
![Page 13: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/13.jpg)
Node Lookup Service (1/3)
• distributed node lookup for finding addresses for given node identifiers
• Storing lookup entries (id, addr)– choosing a node with minimum xor-distance
(address XOR identifier)
• Challenges– node movement => address change => lookup
entries need to be updated or moved
![Page 14: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/14.jpg)
Node Lookup Service (2/3)
• Solutions:– Preserving locality of lookups
• multiple locations for lookup tables, chosen so that local queries get local answers
• iterating from local scope to larger subtrees
– Creating locality of updates• moving nodes change their low bits more oftenstoring LSB locally and MSB in remote nodes remote nodes need less updatingMSB found first, query then forwarded to corresponding area
![Page 15: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/15.jpg)
Node Lookup Service (3/3)
• Communication abstractions– identifier mapping to multiple addresseseffective implementation of multicast/anycast
For example:– multicast group id & group of receiving nodes– service id & group of providing nodes
![Page 16: PeerNet: Pushing Peer-to-Peer Down the Stack](https://reader036.fdocuments.in/reader036/viewer/2022082411/56812b20550346895d8f1d67/html5/thumbnails/16.jpg)
Further Directions of the Project
• security• performance issues• tree balancing and local connectivity• portability• leveraging various infrastructures
– tunneling through the Internet to connect PeerNets– interconnection with Internet nodes– TCP/IP emulation on PeerNet nodes
• actual data / results / comparison ?