Slashdot Mirror


p2psim: Roll Your Own P2P Protocol

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."

8 of 108 comments (clear)

  1. Pretty clean code, too... by tcopeland · · Score: 2, Interesting

    ...at least, in terms of duplicated code clumps as reported by CPD.

    Here's the report... not bad at all.

  2. They need to implement older protos by Zanek · · Score: 5, Interesting

    They need to implement older protocols like Gnutella's and Fasttracks.
    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 !

    --


    Help pay for my wedding! Go to my kickass website
  3. Here's an idea by shish · · Score: 4, Interesting

    How about, instead of having a few dozen networks, we just come up with one? It works fine for things like the phone system and email (even though there're seperate companies, they're one network), so why not just have one protocol with everything built in?

    --
    I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    1. Re:Here's an idea by SkArcher · · Score: 5, Interesting

      Patience grasshopper, such is inevitable, but it will take some time

      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 :)

      --

      An infinite number of monkeys will eventually come up with the complete works of /.
  4. Sort of related question... by mcc · · Score: 3, Interesting

    Does anyone know what a good sort of p2p "kit" is, say if you want to include p2p networking (like, the ability to create and work with a self-managing p2p network) in an application but don't want to write your own p2p protocol/network code?

    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?

  5. Now that we have a quality checker... by gerf · · Score: 4, Interesting

    Can someone have some AI build a better P2P? Once you think about it, wouldn't that be the easiest way to come up with the next bestest efficient P2P protocol?

  6. Re:nullsoft by drinkypoo · · Score: 2, 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 solution. It needs the option for a centralized keyserver, and for the revocation of keys. It also needs some type of per-user access control. Without these items it is only suitable as a tool for very small groups of like-minded people. If you would like to use it for widespread p2p (it could easily do all the things that HOTLINE does now) then you will have to rectify these features, and implement some kind of managed trusts.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  7. They know how the other systems should work by cgenman · · Score: 4, Interesting

    P2P as a network protocol is evolving into something that actually works, as opposed to the state that it was at previously. It used to be that you connected to a single fault point, selected a single file from another user, and began downloading. Oh, do that while praying that neither of you got be cut off.

    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. .torrent is adding accountability to the mix, which adds great legal uses, along with better HTML integration.

    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"