Re: Re: Implementing a Gnutella-structured network only with basic HTTP possible?Date: Wed, 24 Feb 2010 09:08:15 +0000 (UTC)Date: Fri, 26 Feb 2010 12:55:15 +0000 (UTC)
Max <[email protected]> Fri, 26 Feb 2010 21:25:56 +0100
| Newsgroups | gmane.network.gnutella.devel |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Feb 26, 2010 at 6:13 PM, verdy_p <[email protected]> wrote: > The difficulties are elsewhere. > solve the > problem of P2P which is to transform the hierarchical client-server model > (more or less working in a star topology) > into a servent model (more or less using a semi-random mesh topology). > that should be not such a problem to make a node a server and node, so a servent. Especially in a DHT it needs to be both. I will try to answer your points in regard of the offload protocol as a possible idea for the gnutella 3 approach. > The problem is elsewhere: > * how to connect to a destructured mesh if all servents are equal ? There's > no liability of anyone if a HTTP server > is not responding, the Internet infrastructure does not provide any > ressource to help provide alternate entry > points. > Again DHT is the solution, each node in the "ring" has a so called "ham" distance, a mathematical calculation in which node the file chunk is stored ideally. So .. nodes get due to their "character" the "fitting" chunk, and all other nodes know, where to search. see here for an graphical example: http://141.52.175.29/NetworkPicture.png?width=690&height=690&bgcolor=FFFFFF&pal=10080&pol=10080 > * how to keep a mesh fully connectd without creating many isolates ? You > can think about it as you want but the > problem is always the same and always involves the same solution: you need > to allow the network to self structure in > order to have some nodes layered that will service others by capitalizing > on their experience, and keeping caches of > what they know about the network, and trying to reconnect the isolates. > in offload you connect to most possible nodes actively, but list all nodes known in the network. As chunks are stored 3x in the network, you have always a great chance to find the needed block in any node, you are connected to. so there is no isolated node. the isolated node is the offline one. > * Creating a layered structure within the mesh is necessary to compensate > for different capabilities (notably their > bandwidth, but also the number of connections they can support) and for > different uptimes of servents. > if you install offload or offsystem, the you see, that this information is given in the node list. for each node, so it os processed within each client. > * In a mesh topology where you never know exactly where you'll find a file > or service, locating the node(s) capable > of responding that file/service > that is not quite true, in a DHT a node knows, where to find the block, as it is calculated in the DHT, see HAM distance and other values for DHT-. > requires some duplication of messages to try alternate paths. This > duplication is > the most difficult problem to solve, and this is where you'll very complex > maths, with statistics and usage > policies. The protocol, independantly of how it is coded, MUST include > minimum and maximum response times and must > absolutely balance the usage made by all servents (including itself for its > own use) > > see again DHT, i think we need to know more about it, as it is different from gnutella sending out messages-... > HTTP is based on TCP, which requires a dedicated port for each session. TCP > is then very unbalanced. > Other interesting protocols are IGMP (for efficient UDP multicasting): > Gnutella still does not use it > UDP messages are already implemented in offload protocol. ad well as UPNP routing. even if you are firewalled, you connect to the network. The status bar in the offload client though indicated if you are "reachable" or "firewalled", if you are reachable, and have forwareded a port, then the node get a green background, otherwise, they just connect. > . Think about how an IP address can be routed > between nodes within a mesh of links, > all IP adresses of any known node in the DTH is known and saved in the nodeslist. As blocks are sent from node to node, the IP does not need to be routed, as it is given. One node asking in his horizont of connected clients either gets the result, one of the nodes has the needed block, or, one of them is forwarding the block, or third, the client is trying to connect to the node, having the block. Each client can for that, fourth, forward his nodeslist to another node, so the new horizont is added to the own nodeslist. > Things on which we must still work are there: > * integrating the DNS system (or a similar system) to make the network > realiable and more structured > ? means/refers to what? Servent? DHT? > * integrating IGMP for efficient broadcasting (mking use of UDP multicast) > These will make the network more resistant to attacks (and to leechers) > > UDP is already integrated in offload protocol > But things must still be worked on. Currently Gnutella is still used to > find files that can be easily identified and > copied. This allows locators (URL-like) to work for file discovery. We must > find a way to help disvering services. > Notably to help locating people instead of just files. Services or people > are described by a sort of business card > that can be thought as a sollection of metadata containing all the contact > addresses, and which is perfectly > replicatable as if it was a file. With such an extension, we could build a > decentralized social network, and avoid > the (dangerous) centralized approach currently followed by Facebook. > > huh? each node in offload has his characteristic in the DHT, so that is given and you as well can add the IP adress to the OFF-Url, sorry, gnutella 3-url. if you look for a decventrialized social network, see here: http://retroshare.sf.net use that instead of facebook, and the best: offload has already integrated the panels for it... > We must remember why do we need a P2P network: it's to protect our freedom > against giant ultrapowerful networks that > have exclusive knowledge of who we are and what we are supposed to see and > want to see on the Internet. > > offload offers even more. you can store a file, go offline, and users still can download the file from the network.. DISPERSE is the keyword. storing the blocks in the dht, and then going offline, then publishing the OFF-hashlink and you still can load from the DHT.. all blocks-. > > [Non-text portions of this message have been removed] ------------------------------------ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/the_gdf/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/the_gdf/join (Yahoo! ID required) <*> To change settings via email: [email protected] [email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/