p2psim: Roll Your Own P2P Protocol 108
Anonymous Coward writes "p2psim is a free, multi-threaded, discrete event simulator developed at MIT to evaluate and investigate p2p protocols. You can quite easily add your own p2p protocol and compare it with others to make sure it runs well before you write the real thing. p2psim runs in Linux and FreeBSD."
Pretty clean code, too... (Score:3, Interesting)
Here's [infoether.com] the report... not bad at all.
Not the only game in town (Score:3, Informative)
Re:Not the only game in town (Score:1)
You don't even have to write your code in Erlang. You could wrap C code with a wrapper which uses sockets to communicate with the rest of the Erlang environment. Erlang runs on *nix, Windows, BSD, VxWorks and Mac OS X.
OT: The Morris Worm author involved (Score:2, Informative)
Read the above link and then read RTM's bio page [mit.edu]. Same guy?
Interesting parallel (Score:5, Funny)
Re:Interesting parallel (Score:5, Informative)
Re:Interesting parallel (Score:2)
Re:Interesting parallel (Score:1)
Re:Interesting parallel (Score:2)
Re:Interesting parallel (Score:1, Insightful)
They need to implement older protos (Score:5, Interesting)
It would be interesting to see if there simulator comes close to real world performance of these networks after that !
Yay, we have networks simulating networks. Kazaa Reloaded !
Re:They need to implement older protos (Score:3, Funny)
Once I was playing The Sims (Hot Date I believe) and I went to town to pick up some flowers and in one of the stores I found a copy of The Sims. So I had my sim buy the game and install it on his computer, oh the hours of fun my sim had playing The Sims. Thank god it wasn't The Sims Online my sim was playing though, I dont know if my poor athlon could simulate that!
Anyway I was gonna say something cheeky about neo but I'll leave that for the
Re: older protos (Score:2)
Can anyone post a summary of the currently used P2P protocols (and the clients that implement them)with some pros and cons of each?
The answer is easy: (Score:1)
How complete is it? (Score:5, Funny)
Re:How complete is it? (Score:2, Funny)
Re:How complete is it? (Score:2, Funny)
Yeah. It's not so bad though. You can pay them off with monopoly money.
Re:How complete is it? (Score:4, Insightful)
Anybody who uses genetic algorithms, who 'breeds' computer programs rather than writing them, will tell you that the secret to success is good predators.
So yes, if you wanted to design a system for rating the quality of P2P protocols, one of the most important steps in that simulation is to have evolving predators, who try and intercept others' data, who try to slow the system down, who try to leech without sharing, etc. A system where data can be traced to an originator might score less than a system resiliant to this kind of attack.
The testbed mentioned in the article doesn't contain this sort of capability, but if you're involved in designing such networks, then it would be useful to dedicate a lot of effort to trying to attack the protocol using RIAA methods.
Read more [infoanarchy.org] about what a P2P application should have in its design.
Real world problems? (Score:5, Insightful)
While it is a good idea, and can be worked on it does have some small problems, mainly that it isn't quite "dirty" enough. It tends to believe people will behave better than you'd expect them to, not be evil leechers and also not have very dodgy net connections which go up and down every 10 minutes (which to be fair happens to alot of people on ADSL and such like, their uploads get saturated and all their download connections drop because their ACKs aren't getting out)
Having said that, this is a good program, and I hope will be improved as one of the hardest parts about p2p networks is keeping up a good solid network without it taking up a significant proportion of the network, and nowadays few people want to risk running a server if they can avoid it...
Re:Real world problems? (Score:3, Insightful)
Of course, you can always use ns-2 to simulate the low-level nuts-asnd-bolts, and use its noise generator to dirty the connections.
P2P Simulation (Score:5, Funny)
Re:P2P Simulation (Score:4, Funny)
Re:P2P Simulation (Score:2)
I think you'll find that would actually make it a 'de jure' sim :-)
Re:nullsoft (Score:1)
http://waste.sourceforge.net/
Re:nullsoft (Score:1)
Re:nullsoft (Score:2)
Re:nullsoft (Score:3, Interesting)
Since when do you have to be an expert user to get it working? Just follow the instructions. To wit; go through key generation, which you are automatically prompted to do, and then go through a manual key exchange. The problem is that the GUI client is windows-only, a problem which would have been nonexistent if frankel had whipped up a GTK application instead of a Win32-specific one. However I am grateful to him for what he HAS made, as I use it daily.
With those things said, WASTE is not a complete sol
Re:nullsoft (Score:1)
Re:nullsoft (Score:2)
Also I believe that the encryption is link level, so everything gets reencrypted as it flows across the mesh, which means a man in the middle attack on waste should be trivial, though it will require you be a member, a router, and in between two people. Still, I don't believe there is really anything in place to prevent such a thing from being done. I don't understand why there is only encryption at the link level and not at the message level. I would think that some of each would be in order.
My ideal W
What about the cost? (Score:5, Funny)
Its a virtual post, but I have karma to burn off.
Here's an idea (Score:5, Interesting)
Re:Here's an idea (Score:4, Insightful)
Re:Here's an idea (Score:5, Interesting)
Look at the english railways - for a long time, seperate companies used their own parallel rail network, often running different gage track (different width) and having to step around one anothers infrastructure, creating clumsy and non user friendly railway stations and services.
Eventually rail regulation came in, standardising all rail networks to one standard gage, allowing rolling stock and engines to work on any rail companies track and making the whole exercise better for customers and more profitable for the companies.
Sooner or later, p2p filesharing (and maybe chat client) protocol will become standardised, and it will simply be a matter of which piece of software you use to connect to a complete network.
Mind you, it'll probably be the one without any advertsising, and will lead to the end of civilisation as the marketing droids know it, but some sacrifices must be made for the good of the internet
Wow! Look at that, a transport analogy for the internet and computers that isn't about cars! Thats got to be a first
Re:Here's an idea (Score:1, Insightful)
Re:Here's an idea (Score:2)
As a Brit and regular victim of the rail service here I'd suggest not using them as an analogy of anything you want to get better
Re:Here's an idea (Score:2)
Unfortunately standards are not usually able to break free from the force of mediocracy due to concerns about compatibility and current limited toolsets. Because of this, as soon as a standard is set, another cutting-edge technology will probably ignore the standard and introduce greater functionality at a reduced compatibility and with the burden of requiring a new toolset.
Take railroads for example....a quick google search on railroad standards will land you on this
Re:Here's an idea (Score:2)
Eventually rail regulation came in, standardising all rail networks to one standard gage, allowing rolling stock and engines to work on any rail companies track and making the whole exercise better for customers and more profitabl
Re:Here's an idea (Score:2)
P2P is currently trying to accomlish two goals, moving files arround, and also hiding identities...
Re:Here's an idea (Score:2)
Re:Here's an idea (Score:2)
They know how the other systems should work (Score:5, Interesting)
Then download resuming was added. Gnutella removed the central point of failure. Downloading from multiple sources was added. Kazaa added the concept of the supernode. eDonkey allows you to upload files that you haven't finished downloading yet. Soon we will probably see beginning-of-download randomization, so that complete files can be downloaded on a network even if nobody has finished getting it yet.
What more will we see in a protocol? Who knows. Encryption? Better IM capabilities? Webcams? Plug-ins? Preview from remote computer? While we still haven't figured out what the parameters of the network should be we shouldn't agree on the holy standard of the one true network.
"If we knew what we were doing it wouldn't be research"
Re:They know how the other systems should work (Score:2)
one other cool thing about freenet, that is interesting is that it has 'freesites' or basicly, webpages that are distributed over the network... imagine a bittorrent world wide web, over an encrypted connection. Fast, distributed, secure. SWEET.
Re:They know how the other systems should work (Score:2)
Who's going to write these laws? The people who get the most votes. Who's going to vote for them? Will they think about or pri
Re:Here's an idea (Score:1)
...or how about at least give the creator of a P2P community a framework to help him build one from scratch, and pick and choose specific protocols and other attributes based on his/her needs? Ideally not much programming knowledge should be required.
Check out our U-P2P [sf.net] effort, it is going in that direction.
Re:Here's an idea (Score:2)
<SHAMELESS AUTO ANALOGY>
Try this on for size:
How about, instead of having a few dozen models of cars, we just come up with one?
</SHAMELESS AUTO ANALOGY>
So, would it be a four door sedan? 18-wheel rig? California convertible? With my five kids, that one four-door, 18-wheel, convertible California convertible car had better seat seven!
I'm reminded of a Simpsons episode where Homer is given the chance (by a long lo
Re:Here's an idea (Score:2)
I can tell you the exact reason why this won't happen.
The RIAA
P2P as we know it today has evolved around the need to constantly evade whatever measures the RIAA comes up with. It's an electronic cold-war so to speak. While it may be a good thing for
Re: p2psim (Score:1)
Protocol Stub (Score:5, Informative)
protocols/sillyprotocol.h and protocols/sillyprotocol.C contain the outline of a new, but unimplemented peer-to-peer protocol. Implement join() and lookup() to your liking. Look at the other protocols (in the protocols/ directory) for more example code. Then run your SillyProtocol as follows:
p2psim/p2psim example/silly-prot.txt example/silly-top.txt example/silly-events.txt
Kudos to a great release and the promotion of additional research and general purpose learning.
Meta p2p? (Score:4, Insightful)
That would be the ultimate chaotic p2p network, and would be something ultimately funny to see go live.
Sort of related question... (Score:4, Interesting)
I know there must be a couple. What are some good ones?
I heard Sun has one? What's it called? "JXTA"? Has anyone worked with that, is it any good? Can it work with nodes that are behind NAT?
Re:Sort of related question... (Score:4, Informative)
I am just starting a project using JXTA. So far I am very impressed with the technology, although it is perhaps a bit bloated (This is my impression of the code and is not based on any comparison with other P2P protocols, since I haven't used any others ;-) JXTA does support tunneling over HTTP which gets you around most firewalls and NAT and such. It also has a real interesting architecture where certain nodes can be promoted to act as relays. Among other uses, this could allow a public machine to act as a proxy for messages to peers behind a firewall/NAT.
Re:Sort of related question... (Score:1)
Yeah JXTA's nice, but you still need to do some programming to get something useful out of it, as it is a framework, not a network per se. It has indeed a nice pipe-based architecture.
I'm being redundant with my a previous post of mine, but you might want to check out U-P2P [sf.net]. You can set up a Napster-style P2P network without any programming. We're working on a Gnutella adapter too.
Now that we have a quality checker... (Score:4, Interesting)
Re:Now that we have a quality checker... (Score:1)
Re:Now that we have a quality checker... (Score:2)
Re:Now that we have a quality checker... (Score:1)
Re:Now that we have a quality checker... (Score:2)
Re:Now that we have a quality checker... (Score:2)
Re:Now that we have a quality checker... (Score:1)
New p2p protocol: "In Person" (Score:2, Funny)
Re:New p2p protocol: "In Person" (Score:1)
This is about simuling p2p protocols. Not about file-sharing. Now if you had referenced the "SIMS" this would be more ontopic.
Find out all about P2P Simulation (Score:1)