Slashdot Mirror


P2P Through Firewalls

An anonymous submitter writes "A few stream-through-firewall applications have been announced recently. p2pnet has an interview with Ian Clarke about his new 'Dijjer' program, which promises to reduce bandwidth requirements from HTTP servers by transparently distributing the load. Slyck.com has an article about LimeWire's new version that offers firewall-to-firewall transfers (code here). [Both Dijjer and LimeWire are GPL'd.] There's also been a lot of discussion on the p2p hackers list about reliable UDP transfers."

220 comments

  1. please dont by Spy+Hunter · · Score: 5, Funny

    Haha, so much for their "please avoid submitting it to any high-traffic web sites, it is not yet ready for primetime" policy. Good work, anonymous submitter.

    --
    main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    1. Re:please dont by nocomment · · Score: 3, Insightful

      hmmm. I don't care if it's ready for primetime or not. GTK-Gnutella works just fine with firewalls.

      --
      /* oops I accidentally made a comment, sorry */
      /* http://allyourbasearebelongto.us */
    2. Re:please dont by Anonymous Coward · · Score: 0

      GTK-Gnutella is years behind Limewire. Don't get me wrong, its a nice project and the guys writing it are cool, Limewire just kicks ass.

    3. Re:please dont by ram4 · · Score: 1

      You are right that gtk-gnutella works just fine through firewalls.

      However, gtk-gnutella (or any other servent) cannot establish a TCP connection between two firewalled hosts.

      With the so-called FW2FW transfers, an UDP connection is made by having the two firewalled hosts "punch a hole" through the firewalls by sending datagrams to each other, each knowing the port on which the whole was opened through a third party (a "push-proxy" if you want the gory details).

      Once each side can receive the datagrams of the other party, a "reliable" stream of communication is made on top of this UDP link. That's something gtk-gnutella does not support yet.

      Now I can promise you that gtk-gnutella will implement this "technology" as soon as LimeWire publishes the specifications for FW2FW.

    4. Re:please dont by Jugalator · · Score: 2, Informative
      The page has now been updated:

      Welcome Slashdotters

      Ok, I guess the "please don't submit to high traffic websites" in red wasn't enough, perhaps I should have used <blink> tags ;-) Since you are here, please heed the warning that this is at an early stage of development, if you are interested please sign up to our announcement mailing list so that we can let you know when its ready for primetime. Otherwise, we do need testers, so feel free to poke around.

      --
      Beware: In C++, your friends can see your privates!
    5. Re:please dont by evilviper · · Score: 1
      GTK-Gnutella is years behind Limewire.

      Yeah, a few years from now, the latest version of GTK-Gnutella might be as slow as Limewire.

      If you aren't trolling, start listing features that Limewire has, and GTK-Gnutella doesn't have.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  2. I don't know about you by recursiv · · Score: 4, Interesting
    --
    I used to bulls-eye womp-rats in my pants
    1. Re:I don't know about you by sameb · · Score: 5, Informative

      LimeWire doesn't have any spyware, at all. In fact, it has absolutely zero bundled software. Even with the free version.

    2. Re:I don't know about you by NardofDoom · · Score: 4, Funny

      It's also poorly coded Java that runs slower than a retarded snail on NyQuil. That's reason enough for me to avoid it.

      --
      You have two hands and one brain, so always code twice as much as you think!
    3. Re:I don't know about you by ananke · · Score: 1
      --
      --- d'oh
    4. Re:I don't know about you by krosk · · Score: 1

      I've had the same experience. I had limewire installed on my computer, and ad-aware, stinger, pc-cillin, spybot s&d found nothing (even when it was installed and after i had uninstalled it). This was only about a week ago, and all their definitions were up to date. Limewire does run slowly. Honestly I use iTunes more and more now, just because i'm sick of the fake RIAA implanted files that I get off networks, and the hassel of finding a P2P program that doesn't install spyware.... ~regards

    5. Re:I don't know about you by Anonymous Coward · · Score: 0

      I haven't had a problem finding spyware-free P2P clients. But then, I only use open-source clients under Linux that I compile myself. (I did use WinMX for a while, too, without trouble. Also the closed-source but spyware-free Linux Kazaa client, until they pulled the plug on that.) iTunes is nice, but it's just too expensive for me. My first choice nowadays is allofmp3.com.

  3. But... by remigo · · Score: 5, Insightful

    But... I thought that peer-to-peer sharing was horribly immoral and only used for warez and porn!!

    Seriously, though, this is the kind of thing that I desperately wish mainstream media/Congress paid more attention to. It's only the lawsuits and illegal uses that get covered because that's what sells ads.

    1. Re:But... by Swamii · · Score: 5, Funny

      But... I thought that peer-to-peer sharing was horribly immoral and only used for warez and porn!!

      No, it's used for warez, porn and mp3s.

      --
      Tech, life, family, faith: Give me a visit
    2. Re:But... by ram4 · · Score: 1

      Although it *is* true that a firewall is supposed to guard you against spurious connection attempts to potentially unsecured application listening on those TCP ports, I think most P2P users who know enough simply open the TCP port of their P2P application and possibly forward it to their machine if they are behind a masquerading firewall.

      Don't forget that, as a P2P user, your experience with an unfirewalled servent is much more pleasant. The same will go with UDP ports. If you run a Gnutella servent supporting UDP (such as gtk-gnutella, the forthcoming 0.95 release), you can have more results for your searches, delivered directly to you by those who have the files you're searching for.

      Therefore, the step to build a reliable TCP-like stream on top of UDP was a natural one, which LimeWire took.

      However, we'll see how serious the LimeWire folks are about the claimed "openess" of the Gnutella network: until they publish the specification to implement this TCP-like stream, no other Gnutella servent can support it in an inter-operable way. In effect, currently, you have to run LimeWire to benefit from this "technology". Which gives them a competitive advantage for the time beeing...

    3. Re:But... by curiuz · · Score: 1

      I hear these things all the time and now I have to speak. For 2+ years I've been running an old rig dl'ing all sorts of warez, porn and mp3's. I run a regurlarly updated (before SP2) WinXP with a McAfee virus scan + firewall that I all got from Kazaa. My system is running more stable than the one I have at work (pro run hard policy UNIX/Win network) I hate to be so politically incorrect, so please help me: What am I doing wrong (or right...)?

  4. Text of interview by Anonymous Coward · · Score: 5, Informative

    p2pnet.net News:- Freenet author Ian Clarke is developing Dijjer, a new open source p2p content distribution tool, and he's looking for people to test drive it before it goes online in beta.

    "Dijjer is a peer-to-peer HTTP cache, designed to allow the distribution of large files from Web servers while virtually eliminating the bandwidth cost to the file's publisher," he told p2pnet.

    "Dijjer is designed to be simple, elegant, and to cleanly integrate with existing applications where possible. Dijjer uses "UDP hole punching" to allow it to operate from behind firewalls without any need for manual reconfiguration.

    "Dijjer's distributed and scalable content distribution algorithm is inspired by Freenet."

    Below is a brief Q&A.

    p2pnet: When did you start working on this?

    Clarke: Several months ago. It's hard to pinpoint a specific time because it's a combination of a variety of ideas that have been at the back of my mind for quite some time.

    p2pnet: What prompted you?

    Clarke: Dissatisfaction with apps like BitTorrent, and a desire to demonstrate that the ideas behind Freenet could be applied to solve other problems.

    p2pnet: When do you expect (hope) it'll be completed?

    Clarke: Well, I'm sure that development will continue for quite some time, but I hope to release a beta version in four to eight weeks that will be suitable for large-scale adoption.

    p2pnet: Who do you see as the principle users?

    Clarke: Anyone who needs to distribute large files to large numbers of people but who can't afford to pay for the bandwidth that this would normally require.

    The download site says features include:

    "No Firewall configuration
    With many P2P applications you must reconfigure your firewall to get the most out of them. Not so with Dijjer, we use state-of-the-art "NAT2NAT" techniques to get the most out of your internet connection without any reconfiguration.

    "Sequential downloads
    If you tried to download a video through Dijjer you may have noticed that you could start watching the video before the download completed. This is because Dijjer behaves like a web server, pieces of a file are download in-order and fed to your web browser when they arrive, allowing your browser to start displaying content before it has completely downloaded.

    "No "Tracker" necessary, works with virtually any URL
    This is a big one, Dijjer will work with almost any direct URL, the content publisher doesn't need to lift a finger - they may not even realise that people are using Dijjer to save their bandwidth costs!

    "Cross platform and native compilable
    Dijjer is implemented in Java, meaning that it will run on Windows, Linux, and Macs. Those who don't wish to install the Java Runtime Environment (JRE) will be pleased to note that Dijjer can be compiled with the GNU Compiler for Java (JCJ) to native code thus eliminating the need for a JRE. Native compiled versions of Dijjer will be available from this site in due course.

    "Free as in Speech
    Dijjer will be released under the GNU Public License.

    "No cumbersome clients
    Dijjer downloads through your web browser or preffered HTTP download application. You don't need to learn to use yet another P2P client user interface.

    "Advanced scalable distributed caching algorithm
    Dijjer uses a highly scalable distributed caching algorithm inspired by Freenet. This will allow it to deliver faster download speeds while placing less burden on the web server, and will be better able to handle sudden increases in demand for content."

    "Now all I need are some people to help me test it,"says Clarke.

    1. Re:Text of interview by Elwood+P+Dowd · · Score: 3, Funny

      Dijjer uses a highly scalable distributed caching algorithm inspired by Freenet. This will allow it to deliver faster download speeds while placing less burden on the web server, and will be better able to handle sudden increases in demand for content.

      Sweet! Maybe it will be as fast as Freenet!

      --

      There are no trails. There are no trees out here.
    2. Re:Text of interview by cduffy · · Score: 1

      Sweet! Maybe it will be as fast as Freenet!

      You *do* realize that Freenet is so slow on account of its design constraints wrt privacy and anonymity -- constraints that don't apply to this project -- right?

    3. Re:Text of interview by Elwood+P+Dowd · · Score: 1

      You *do* realize that Freenet is so slow on account of its design constraints wrt privacy and anonymity -- constraints that don't apply to this project -- right?

      I hope that's true, but I don't see why you're so sure. There are many other good candidate reasons that Freenet is slow.

      --

      There are no trails. There are no trees out here.
    4. Re:Text of interview by cduffy · · Score: 1

      I hope that's true, but I don't see why you're so sure. There are many other good candidate reasons that Freenet is slow.

      Most of the ones that come to mind could reasonably be considered to have fallen out of the system's design constraints.

      From my perspective, blaming the design constraints first is a good rule of thumb in the same way that folks looking to optimize a tool's implementation should look at the algorithms it uses before looking into the details of how they're implemented. It may not always be where the problem's at, but as long as the folks doing the work are reasonably competant it's The Right Thing upwards of 80% of the time.

    5. Re:Text of interview by The+Wicked+Priest · · Score: 1

      Sequential downloading may have its advantages, but speed isn't one of them. Nor will it provide the same savings in bandwidth for the originator. So I don't see this displacing BitTorrent.

      --
      Share and Enjoy: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
  5. Been waiting for this! by nhnfreespirit · · Score: 2, Interesting

    It has been a long running discussion in my project lab at the university, how to make a p2p program (in our example, Skype) work between two networks using NAT-firewalls.

    Seems like somebody finally came up with the answer! :-)

    Freespirit

    1. Re:Been waiting for this! by Stephen+Samuel · · Score: 2, Interesting
      So wierd: I woke up this morning with the same idea in my head. I finally tried using gtk-gnutella this weekend, and noticed that it was having problems with my firewall. I started thinking about how to punch thru a firewall without having to manually reconfigure and came up with the same solution.

      Essentially, UDP is a stateless system, so stateful firewalls don't have SYN packets to signal the start of a connection, so you can do the following

      • Machine A sends a UDP packet from port X to machine B Port Y, and
        • Machine A's firewall will create a connection for the outgoing address/port pair
        • (Machine B's firewall will drop the packet because there is no connection associated with it)
      • Machine B then sends a UDP packet from port Y to machine A Port X
        • Machine B's firewall will create a connection based on the address/port pair.
        • Machine A's firewall will accept (and route) the connection as belonging to a legitmate connection.
      • All further connections between A and B based on this address/port pair should work until further notice
      Note that this will not work on firewalls that use port randomizing on outgoing connections. More work has to be done to make that work. This also (obviously) requires a mediating connection where the two can agree on what addresses and ports to send from and to. (If a machine is inside of a NAT it may not realize what it's post-translated address is).
      As long as you don't have port randomizing, this should work on both NATed and non-NATed statefull firewalls.
      --
      Free Software: Like love, it grows best when given away.
    2. Re:Been waiting for this! by Anonymous Coward · · Score: 0

      As long as you don't have port randomizing, this should work on both NATed and non-NATed statefull firewalls.

      This would account for ~20% of firewalls. Remaining 80% will use incremental port overloading or will select port based on a hash of (src.ip, src.port, dst.port, dst.ip), which essentially unpredictable (and may appear random, while it's not).

  6. Reliable... udp... transfers? by 192939495969798999 · · Score: 5, Insightful

    It strikes me that one could set up a server to cache udp requests and serve them back out to the attached/requested clients reliably. However, one must wonder why not just use TCP, which is guaranteed to be reliable. IMHO, What you'd end up with using UDP is a LOT of "did you get it? yes/no"-type network traffic between peers.

    --
    stuff |
    1. Re:Reliable... udp... transfers? by Anonymous Coward · · Score: 5, Informative

      TCP has slow start / back-off retransmit problems that for long transfers over links with some packet loss can cause it to not fully use the pipe.

      Most modern UDP transfer systems use NACKing, where the receiver just tells the sender if it didn't get a packet (the packets are numbered sequentially) and that it should put it in the retransmit queue. The sender just goes about it's business spewing out packets until it's informed the receiver didn't get one.

    2. Re:Reliable... udp... transfers? by DrJonesAC2 · · Score: 1

      Isn't UDP by design unreliable? My understanding is that is was designed so you could send a lot of traffic when it didn't matter if you got it all. Sounds kinda stupid to base a file transfer process on this.

      But what the hell do I know?

    3. Re:Reliable... udp... transfers? by EvilCowzGoMoo · · Score: 1
      What you'd end up with using UDP is a LOT of "did you get it? yes/no"-type network traffic between peers.

      Can you hear me now? Good!

    4. Re:Reliable... udp... transfers? by Sanity · · Score: 1
      Sounds kinda stupid to base a file transfer process on this.
      UDP is similar to IP, which is the same protocol TCP is based on. They are using it so that they can do the NAT traversal stuff.
    5. Re:Reliable... udp... transfers? by 26199 · · Score: 1

      Indeed, the Internet is by design unreliable. TCP fixes this, UDP doesn't.

      But it's not too hard to fix it. The question which needs asking is whether it would be better to just use TCP. It sounds like they have reasons for wanting not to, though.

    6. Re:Reliable... udp... transfers? by AaronMB · · Score: 1

      What if you were creating a new protocol to improve on some of TCP's deficiencies(for example, UDT [PDF file])? Generally, you'll want to prototype in userspace to make debugging and portability easier. In this instance, going with UDP makes sense since you don't have to modify the operating system at all to have your program utilize your new protocol, and your program doesn't have to run with root privledges like it would need to do to write the raw IP packets. Essentially, UDP functions as a great testbed for new reliable transport protocols as it gives you an easily accessible, unreliable network.

    7. Re:Reliable... udp... transfers? by stratjakt · · Score: 1

      UDP transfers are about being anonymous, and hiding the senders IP, so we can be free to trade warez again without getting caught.

      --
      I don't need no instructions to know how to rock!!!!
    8. Re:Reliable... udp... transfers? by sameb · · Score: 1

      You need to use UDP in order to do the transfers through firewalls. NATs & firewalls allow solicited UDP (necessary for most all UDP-based transfers to work), but disallow TCP. A reliable UDP layer is of course going to have the "did you get it? yes/no"-ism of TCP, because that's the whole purpose of it.

    9. Re:Reliable... udp... transfers? by crow · · Score: 3, Informative

      UDP has advantages and disadvantages.

      UDP is connectionless--you just send a packet to a given IP/port and it goes there. This means that you can forge the from address to make it impossible to tell who is sending the file (provided your ISP doesn't filter those as bogus packets). Of course, you still need some way to get the request from the recipient to the sender (along with re-requests for lost packets).

      UDP has no flow control--the sender sends as fast has he likes without any knowledge as to what the maximum bandwidth on the connection is. If the sender's direct upstream connection is the bottleneck, then that should be fine, but otherwise there may be huge packet loss. Also, because of the lack of flow control, it tends to hog the bandwidth instead of share the bandwidth.

    10. Re:Reliable... udp... transfers? by Stween · · Score: 1

      There are UDP based congestion control protocols out there, so UDP doesn't necessarily have to be "send as fast as you like"; it's just up to the application developer to think a bit more.

      eg: TFRC, ftp://ftp.isi.edu/in-notes/rfc3448.txt

    11. Re:Reliable... udp... transfers? by BridgeBum · · Score: 1

      Networking is based on different layers of protocols. 'IP' is a layer 3 or 'network' protocol. It's at this layer that routing decisions and the like are made. Competing protocols in this area would be things like IPX (Novell from back in the day), Appletalk, etc.

      TCP or UDP are both one layer up, layer 4 or 'transport' layer protocols. This layer deals with the logic in communicating between different IP based devices. TCP [Transmission Control Protocol] enforces 'reliable' communications within the protocol, at the cost of overhead and the like. UDP [Unreliable Datagram Protocol] is much closer to raw traffic. It has minimal checksum information to make sure that the traffic being received is what was sent, but other than that it enforces no preconceived notions on how the communication should check to make sure it's reliable. While one use of UDP is to send traffic where the sender doesn't care if the receiver gets the message (such as syslog), it's not the only. If an application wants to have it's own error checking/receiving verification mechanism with knowledge of the underlying traffic rather than the default generic methods available with TCP, UDP is a fine choice.

      Simple because the protocol doesn't enforce reliable connectivity doesn't mean it can't be done with the application. That's like saying HTML is just a simple text file that gets parsed, how could it ever have anything dynamic associated with it.

      --
      My UID is the product of 2 primes.
    12. Re:Reliable... udp... transfers? by ArbitraryConstant · · Score: 1

      UDP isn't made reliable by the network stack, but we can make it reliable in our application by using the same techniques that TCP uses.

      --
      I rarely criticize things I don't care about.
    13. Re:Reliable... udp... transfers? by Spy+Hunter · · Score: 5, Insightful

      TCP errs on the side of caution. The failure mode of TCP on congested links is to stop. These new UDP transfer protocols have a "damn the network, just send my bits!" attitude that could be bad for the health of the Internet as a whole. The failure mode of a NACK protocol is to flood the pipe with data that never reaches its destination, while the NACK packets never reach back to the source. Widespread use of unproven UDP transfer protocols with bad congestion control could flood the entire Internet with uncontrolled traffic, making it impossible to establish a TCP connection because of high packet loss, and reducing throughput for all. All in the name of getting a few percent more speed on long links. These people should be working together through the IETF to publish RFCs on a real replacement for TCP, not writing their own vigilante protocols on top of UDP.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    14. Re:Reliable... udp... transfers? by ArbitraryConstant · · Score: 4, Interesting

      p2p traffic is large static files almost 100% of the time. A UDP protocol optimized for large files can be a good thing, better than TCP.

      a) Instead of a relative small window like TCP, we can make the window as big as we want. This would let us cut down a LOT on ACKs (or pseudo-ACKS in the case of UDP). We can ACK a range, or a range with exceptions, or whatever. For a protocol specializing in bulk transfers, it can really cut down on overhead.

      b) TCP guarantees that data arrives to the application in order. This is expensive when we don't care. A custom UDP protocol lets us pick up missing chunks at our leisure, we simply need to maintain a list of missing chunks as the transfer goes along so we can request them later.

      c) Since UDP is connectionless, firewalls must create pseudo-connections for UDP. When a UDP packet is sent, the firewall will allow incoming UDP packets from that host/port to the originating port. This gives us a way of signaling to the firewall that we wish to accept UDP packets from that host on that port, even though the client on the other end will never recieve that packet due to their own firewall. Once they've both done it, they have a mutual "connection". This is a brilliant hack, whoever thought of it.

      d) We can hide the sender of the data. If we request a file in some mutually accessible place, along with the host/port we're going expect packets from, anyone anywhere can start spewing packets at us with falsified sender information. It's nearly impossible to determine where they came from with UDP.

      "However, one must wonder why not just use TCP, which is guaranteed to be reliable. IMHO, What you'd end up with using UDP is a LOT of "did you get it? yes/no"-type network traffic between peers."

      TCP does that a lot too (a LOT), it's simply handled by the network stack rather than the application. TCP ACKs cause 1/15th or 1/20th as much upstream traffic as the downstream portion of the connection causes. That adds up when you have a {dsl,cable} modem that's 1/10th as fast with upstream traffic.

      --
      I rarely criticize things I don't care about.
    15. Re:Reliable... udp... transfers? by AndroidCat · · Score: 3, Insightful
      Oh good! So when someone starts a moby transfer that's going to take forever, and crashes his machine trying to game with scores of spyware running at the same time, then I can be next in line to pick up his old DHCP dynamic IP address.

      I'm so looking forward to having my bandwidth eaten by a system that wants a precise STFU packet to stop spewing at me.

      --
      One line blog. I hear that they're called Twitters now.
    16. Re:Reliable... udp... transfers? by Anonymous Coward · · Score: 0

      Spot on - an inteligent answer that does deserve mod points...

    17. Re:Reliable... udp... transfers? by mikeee · · Score: 1

      No, no, no. I can see reasons to prototype protocols over UDP (cause it's mostly raw IP), but your reasons are all bad.

      a) Modern TCP implementations (with window scaling) support a maximum window size of approximately 1 GB.

      b) A big window, and the selective acknowledgement feature provided by many TCP stacks these days, makes this mostly moot as well.

      c) Yeah, until the firewall vendors start looking for this and the whole thing becomes a even more insanely unreliable hackjob than it already is. Why not just cut to the chase and implement RFC 3093?

      d) I suppose, though this'll be pretty unreliable if/as egress filtering becomes more common.

      TCP acks can be a lot less than 1/20th the traffic volume for a high-bandwidth connection (Nagle's algorythm?).

    18. Re:Reliable... udp... transfers? by AndroidCat · · Score: 1
      Spot on! P2P with TCP can be irritating enough when some index tells everyone that my new IP address is the place to look for the last piece of Debbie Does DDoS. Some of those cheesy protocols never give up.

      All the kludged Fred's UDP P2P protocols will be a menace.

      --
      One line blog. I hear that they're called Twitters now.
    19. Re:Reliable... udp... transfers? by Anonymous Coward · · Score: 0

      Sanity needs to read a little more before offering up half assed explainations.

      Ian Clarke explains it very well here:

      http://zgp.org/pipermail/p2p-hackers/2004-May/00 18 86.html

      The reliability probably isn't much of a problem if the protocol is like BitTorrent. Just keep asking different hosts until you get the complete answer.

    20. Re:Reliable... udp... transfers? by timeOday · · Score: 1

      That could happen, but let's not jump the gun by slamming "vigilante" protocols. TCP just doesn't make sense for everything, e.g. real-time apps (including games) where retransmissions are counterproductive. As good as TCP is, we can't improve on it without experimentation. The time may come for collaboration through the IETF as you suggested, but only after lots of small-scale experimentation I think.

    21. Re:Reliable... udp... transfers? by ArbitraryConstant · · Score: 1

      "a) Modern TCP implementations (with window scaling) support a maximum window size of approximately 1 GB.

      b) A big window, and the selective acknowledgement feature provided by many TCP stacks these days, makes this mostly moot as well.
      "

      AFAIK, RFC1323 is not enabled by default in Windows 98, 98SE or XP. Using UDP lets people benefit without messing with their settings. sack is supported, but with a small window it doesn't do as much good.

      "c) Yeah, until the firewall vendors start looking for this and the whole thing becomes a even more insanely unreliable hackjob than it already is. Why not just cut to the chase and implement RFC 3093?"

      There's the home firewalls, and there's the enterprise firewalls. In the case of home firewalls, the people probably want to accept incoming connections but don't know it's not set up.

      "d) I suppose, though this'll be pretty unreliable if/as egress filtering becomes more common."

      It's not trivial to do sufficiently tight filtering to keep this from protecting people from being sued. And at the end of the day, p2p will always be an arms race. This is par for the course.

      --
      I rarely criticize things I don't care about.
    22. Re:Reliable... udp... transfers? by Tet · · Score: 1
      TCP just doesn't make sense for everything, e.g. real-time apps (including games) where retransmissions are counterproductive.

      Correct, which is why they should (and most do) use UDP, which is unreliable by design, specifically for the type of situations you cite. Trying to make UDP reliable is totally counter productive. You'll just end up with TCP.

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
    23. Re:Reliable... udp... transfers? by TurretMaster · · Score: 1

      > The sender just goes about it's business spewing out packets until it's informed the receiver didn't get one.

      Great ! So I can tell a bunch of machines to transmit blinly at full throttle ? No more need for viruses to get my zombie DoS network running, then.

      Thanks Ian !

    24. Re:Reliable... udp... transfers? by zatz · · Score: 1

      UDP, which is unreliable by design

      It's not like that took effort.

      Trying to make UDP reliable is totally counter productive. You'll just end up with TCP.

      Not so. Sometimes you want different reliability guarantees than TCP offers, or you want to do multicast.

      --

      Java: the COBOL of the new millenium.
    25. Re:Reliable... udp... transfers? by harlows_monkeys · · Score: 1
      However, one must wonder why not just use TCP, which is guaranteed to be reliable. IMHO, What you'd end up with using UDP is a LOT of "did you get it? yes/no"-type network traffic between peers

      The problem is P2P and firewalls. The typical home firewall is also a NAT device. If you are behind a NAT device and I am behind a NAT device, to set up a TCP connection, one of us has to configure his firewall to specifically forward a particular port to a particular box on the LAN, and the other of us can then connect (assuming the external IP address is known, which is a separate problem).

      With UDP, we can work around that "configure his firewall" part. Say we want to communicate between MyIP:MyPort and YourIP:YourPort. I send a UDP packet to YourIP:YourPort from MyPort. My firewall NATs it. Your firewall drops it. However, the NAT software in my firewall won't know yours dropped it, and will open up MyIP:MyPort automatically. You do the same thing on your end, sending a sacrificial packet to be eaten by my firewall. After we've each sent our sacrificial packets, we can now exchange UDP packets.

      As far as reliability goes, TCP is implemented over IP, which is no more reliable than UDP. The reason TCP is reliable is that it implements acknoledgments and flow control on top of the unreliable IP layer. There is no reason something like TCP could not be built on top of UDP instead of directly on top of IP.

      If a particular pair of clients would end up exchanging a lot of "did you get it? yes/no" traffic, that would still be no more traffic than they'd get with TCP. You just don't see that traffic at the application level with TCP because it is handled by the TCP software. It's still there on the wire, though.

    26. Re:Reliable... udp... transfers? by Spy+Hunter · · Score: 1

      I'm talking about P2P and file transfer applications here mostly. There seems to be a trend these days toward implementing new protocols over UDP to squeeze more bandwidth out of congested links (probably at the expense of TCP users). Experimentation is fine and good is for small, controlled groups of researchers. But a protocol implemented a P2P application intended for general use better be past the experimentation phase. For streaming there are fine standard protocols such as RTSP. Real-time game protocols in general really don't use enough bandwidth for there to be congestion problems on the Internet at large, so UDP works fine for that.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    27. Re:Reliable... udp... transfers? by Nevyn · · Score: 1
      FAIK, RFC1323 is not enabled by default in Windows 98, 98SE or XP.

      Here's 2 cents kid, go buy yourself a real OS.

      In the case of home firewalls, the people probably want to accept incoming connections but don't know it's not set up.

      Right, so how is this different when the firewall vendors start distributing their personal firewall products with default off for the UDP case.

      And at the end of the day, p2p will always be an arms race. This is par for the course.

      Fine, as an arms race I can sort of see where the feature "implement TCP over UDP/HTTP/DNS/whatever" comes from. But you don't "design" your protocol with stupid TCP over UDP hacks in mind. You design for a reliable stream protocol, like say TCP.

      --
      ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
    28. Re:Reliable... udp... transfers? by ArbitraryConstant · · Score: 1

      "Here's 2 cents kid, go buy yourself a real OS."

      I'm all set for real OSes, thanks. I'm just pointing out that Windows constitutes such a vast majority of the desktop OS market that any p2p software that doesn't support it is unlikely to get far.

      "Right, so how is this different when the firewall vendors start distributing their personal firewall products with default off for the UDP case."

      I doubt they will. That would break things, more than just p2p software.

      I'm guessing you'd think something along the lines of "good", but such firewall software would not be popular.

      "Fine, as an arms race I can sort of see where the feature "implement TCP over UDP/HTTP/DNS/whatever" comes from. But you don't "design" your protocol with stupid TCP over UDP hacks in mind. You design for a reliable stream protocol, like say TCP."

      In most cases, I would agree. However, there are sufficiently compelling reasons for somebody to try it in this case. I don't understand why you're getting so worked up about it.

      --
      I rarely criticize things I don't care about.
  7. security? by John+Seminal · · Score: 0, Redundant
    Dijjer uses "UDP hole punching" to allow it to operate from behind firewalls without any need for manual reconfiguration... With many P2P applications you must reconfigure your firewall to get the most out of them. Not so with Dijjer, we use state-of-the-art "NAT2NAT" techniques to get the most out of your internet connection without any reconfiguration.

    I am going to have to think about it before I install something that automatically reconfigures my firewall. NO!!

    And what is this "udp hole punching"??

    --

    Rosco: "If brains were gunpowder, Enos couldn't blow his nose."

    1. Re:security? by trippinonbsd · · Score: 1

      It doesn't reconfigure your firewall. It simply deals with NAT.

    2. Re:security? by Anonymous Coward · · Score: 0
      It doesn't reconfigure your firewall. It simply deals with NAT.


      and i thought NAT was what kept me secure from the rest of the world, so nobody knew my computers ip address and could not access it directly? what good is NAT if there is a work around like this?

    3. Re:security? by zyklone · · Score: 1

      > what good is NAT if there is a work around like this?
      That's just the thing, NAT never was any good at all.

      The people who have been pushing this "NAT is firewalling" thing should have been shot ages ago.
      NAT exists to cope with a lack of IP space, nothing else. If you want anything else you'll need to configure a good firewall.

      Now everyone is using NAT, breaking communication between hosts without providing much added security.

    4. Re:security? by PCM2 · · Score: 1

      You're probably trolling, but security has never been the purpose of NAT. It's just a side-effect, and it's not the kind of security that will substitute for a decent firewall.

      --
      Breakfast served all day!
    5. Re:security? by Hobbex · · Score: 5, Informative

      "UDP hole punching" is a simple technique, already used by many games, to allow two computers behind NAT firewalls to talk directly to one another.

      Basically it works because UDP doesn't work very well with NATs, and so the NAT has to have a very general policy on what it forwards. UDP is a packet (datagram) based protocol. Each UDP packet is actually just an IP packet with two extra headers added - the source port and the destination port, and then just the data. So how can a NAT know which host on the local network it should send a UDP packet to? It can't really, so it is forced to guess, and the classical way to do this simply to forward incoming UDP packets with a given source port to a host that recently sent an outgoing UDP packet from that source port.

      This allows hosts behind the NAT to open something like a server port, by simply sending packets from a certain source port out to the Internet regularly, thus making sure that packets sent to that destination port from the Internet will be sent to them. Note though that this also reveals the scalability problem with UDP and NATs: if you have many machines sending UDP packets from the same ports you get a problem.

      On modern, stateful, firewalls, the NATs are slightly smarter, and will only forward the UDP packet to a node in the internal network if that recently sent a packet from the destination port of the incoming packet, and to the host that the incoming packet was sent from. This makes it impossible to act as a general "server", but UDP hole punching is still possible if you have an intermediary who can tell two NATed hosts to start sending UDP packets to each other with certain port values. This means that a non-NATed host is still needed, but it doesn't need to forward all the traffic between the two others, like it would with a proxy solution.

      Blah, I meant this to be short, but instead I wasted my time writing a long slashdot post, and now there is probably already a +5 with a shorter description. Everybody mock me...

    6. Re:security? by Dracolytch · · Score: 1

      Thanks man... I've been playing around with "master" nodes acting as a proxy for slave nodes, to get around the problem... Which apparently a lot of people do.

      This sounds a lot easier. A little bit of port randomization, and I have myself a working solution.

      ~D

      --
      This sig has been enciphered with a one-time pad. It could say almost anything.
    7. Re:security? by Anonymous Coward · · Score: 0

      It's a pain in the ass. Have you ever tried stopping a p2p? I have a housemate who doesn't understand either the 'asymmetric' in ASDL, or 'share' as in shared line. He brought our connection to its knees, and then complained it was slow. After learning a lot more about routers and NAT, I eventually blocked him by MAC. But now the evil of the world know about our ip address, and my logs are a lot bigger. Grrr.

  8. UDP is actually faster by Progman3K · · Score: 1

    Or rather it CAN be faster depending on how you desing your protocol.

    It'll still take some form of end-to-end acknowledgement scheme, but since it is pushed up to the application, there is less overhead overall.

    Of course if EVERY app did this, it would really gum up the Internet.

    --
    I don't know the meaning of the word 'don't' - J
    1. Re:UDP is actually faster by Anonymous Coward · · Score: 0

      > Or rather it CAN be faster depending on how you
      > desing your protocol.

      So the design is important - brilliant!

      >It'll still take some form of end-to-end
      >acknowledgement scheme, but since it is
      >pushed up to the application, there is
      >less overhead overall.

      Humm, end-to-end acks needed for reliability.
      Brilliant!!!

      >Of course if EVERY app did this, it would
      >really gum up the Internet.

      Brilliant.

      >Anonymous Cowards responses are ignored.

      Like this one?

  9. How? by iantri · · Score: 0, Redundant
    The article has absolutely no information in it.

    For those of us who can't read the code: how does this new feature work? How is it able to completely function behind a firewall?

    1. Re:How? by Homology · · Score: 1
      For those of us who can't read the code: how does this new feature work? How is it able to completely function behind a firewall?

      By using non-blocked ports, like port 80 (http). To circumvent application level proxies, the p2p program can make it's own communication look like like common html traffic. This is common with p2p programs, and part of why it's so hard to block that shit.

    2. Re:How? by GregBildson · · Score: 5, Informative

      Having written most of the udpconnect code in LimeWire, the basic idea works fairly simply. The downloader starts pinging the desired uploader with UDP SYN messages. At the same time it uses what we call a PushProxy in Gnutella to tell the uploader to start doing the same thing. So then both computers are sending UDP SYNs. This makes the NAT/firewall open up to this traffic and the LimeWire hosts on both end respond to the UDP SYNs with UDP ACKs in order to identify their connection ID.

      After receiving the ACKs, the connections can send UDP data messages in both direction safely. The only trick is you need to ensure that a message is sent every so often so the NAT/firewall doesn't close. If nothing else is sent, a special KEEPALIVE message is sent. Beyond this, the communication is somewhat similar to TCP with a FIN message shutting things down at the end.

  10. bittorrent behind a firewall by ArbitraryConstant · · Score: 5, Informative

    I have bittorrent behind my firewall. Rather than statically allowing ports, I set up a "torrent" user, and told the firewall to let it listen for connections. This also has two beneficial side effects. First, if there's an arbitrary code vulnerability, an attacker can be somewhat contained. Second, bittorrent doesn't always use the common range of ports, so prioritizing by port is problematic. Having a seperate user lets me throttle the bittorrent connections so that interactive traffic has priority.

    While I imagine this is possible with Linux, I have no specific knowledge of how to do it. I did it with PF on OpenBSD.

    --
    I rarely criticize things I don't care about.
    1. Re:bittorrent behind a firewall by Homology · · Score: 1

      I do the same, but I also run it systraced. You can use the policy posted in the BitTorrent security thread.

    2. Re:bittorrent behind a firewall by Dot.Com.CEO · · Score: 1

      Azureus is excellent. It is UPnp aware so it opens the relevant ports on your router without any intervention.

      --
      Mother is the best bet and don't let Satan draw you too fast.
    3. Re:bittorrent behind a firewall by Moloch666 · · Score: 2, Informative

      Let me make sure I understand this. You can take:
      pass in on $ext_if inet proto tcp from any to $ext_if \
      port $btorrent flags S/SA keep state queue (p2p_bit, low_ack)

      Change to:
      pass in on $ext_if inet proto tcp from any to $ext_if \
      user torrent flags S/SA keep state queue (p2p_bit, low_ack)

      Not only will it assign the apropriate queue, but automatically open the ports without specifically defining them?

      --
      Understanding is a three-edged sword. -- Kosh Naranek
    4. Re:bittorrent behind a firewall by ArbitraryConstant · · Score: 1

      Yup. I got the idea from ftp-proxy. :) Also, you want to throttle any outgoing connections by that user as well.

      --
      I rarely criticize things I don't care about.
    5. Re:bittorrent behind a firewall by Caligari · · Score: 1

      Except that your iptables version doesn't limit access to the "torrent" user like OpenBSD's PF does. Which is pretty important.

      --
      The moving cursor writes, and having written, blinks on.
    6. Re:bittorrent behind a firewall by Zardus · · Score: 1

      Uh, that's nowhere near what the grandparent has. All it does is allow through already established packets and things related to them. But that won't open ports for things running under the a torrent user, which is what the grandparent's setup sounds like it does (I might be wrong about that, though).

      --
      You can mod your friends, you can mod your nose, but you can't mod your friend's nose.
    7. Re: bittorrent behind a firewall by gidds · · Score: 1

      Presumably, this is only possible if your (only) firewall is running on the same box as your BitTorrent app?

      --

      Ceterum censeo subscriptionem esse delendam.

    8. Re: bittorrent behind a firewall by ArbitraryConstant · · Score: 1

      Yes. In my case, I have a laptop that's sometimes not home, a desktop that's sometimes turned off, and a firewall/server that's always on. It made sense to run bittorrent on server. It may not make sense if your situation is different.

      --
      I rarely criticize things I don't care about.
    9. Re:bittorrent behind a firewall by ArbitraryConstant · · Score: 1

      "It's only important if you run BitTorrent on the firewall as a trusted user. I run BitTorrent behind the firewall, on my workstation, as a regular user. There's no need for doing anything with different users, unless you're running BT on the firewall."

      No... you're missing the point. The torrent user isn't trusted (except for the ability to listen for connections), he's de-trusted. He's stuck in his home directory, he doesn't own anything else. If I ran the bittorrent client as me, an attacker would have access to all my files. Right now, he can only access the files in /home/torrent.

      "Prioritizing interactive traffic with one tool is a nice PF feature, though Linux's tc can make up the functionality."

      This is the advantage of prioritizing by user. Probably 10% of bittorrent clients out there use non-standard ports, and they're fairly evenly distributed across the whole range. Also, other services will occasionally find themselves on the bittorrent ports and these are hurt by port-based prioritization,

      With a seperate user, exactly the right connections are throttled. No more, no less.

      --
      I rarely criticize things I don't care about.
    10. Re:bittorrent behind a firewall by Moloch666 · · Score: 1

      No need to reply. Just to thank you. It works great. Also a possible security hole through this. For bittorrent I use btqueue. It has various services listening like a webservice, etc. You don't want those ports opened up to the public. Most programs, including BTqueue have the ability to listen on a certain ip address. BTqueue defaults to 127.0.0.1 for these extra services. Between sockstat and netstat, make sure you know which interface these programs are listening on.

      --
      Understanding is a three-edged sword. -- Kosh Naranek
    11. Re:bittorrent behind a firewall by dave420 · · Score: 1
      iptables, motherfucker!

      I get too emotional talking about iptables. I don't know why.

  11. If you have ANY port open to the net by Sai+Babu · · Score: 1

    you can pass any traffic you care to.

    You may have to wait a LONG time if the port is throttled (hint to admins).

    1. Re:If you have ANY port open to the net by Swamii · · Score: 1

      I laugh at your pitiful prayers biatch.

      --
      Tech, life, family, faith: Give me a visit
    2. Re:If you have ANY port open to the net by Anonymous Coward · · Score: 0

      OK SWamii with two eyes, quit poking fun at the gimp.
      Seriously you fail to grasp the implications.
      Consider the 'yet to be activated' broadband connection that allows 'on-line' activation.

  12. Cross between Coral and BitTorrent? by Bert690 · · Score: 3, Informative

    This looks like an interesting hybrid of Coral and BitTorrent. Coral is nice in that you don't need to install any client-side software to take advantage of it. This one it appears you do need to install a client-side proxy, which is a little scary.

    This system seems to utilize a client that takes on roles of both the BitTorrent tracker and the Coral caching nodes. I wonder how the client caches cooordinate? Any centralized server involved here?

    Another firewall-busting HTTP serving system is YouServ (coral link), though geared more at sharing personal content instead of content requiring "super distribution".

    1. Re:Cross between Coral and BitTorrent? by Anonymous Coward · · Score: 0

      This system seems to utilize a client that takes on roles of both the BitTorrent tracker and the Coral caching nodes. I wonder how the client caches cooordinate? Any centralized server involved here?

      The site indicates that FreeNet is somehow behind it all. That's not encouraging. Freenet isn't exactly a usable system yet (unless you like to wait 10 times as long for each page, if it is even found at all.)

      Anyway I would guess there are some hard coded seeds into a freenet (or freenet like) network, or the client checks a centralized site for its seed list.

    2. Re:Cross between Coral and BitTorrent? by Sanity · · Score: 2, Informative
      Any centralized server involved here?
      Only for the initial introduction of a peer to the global network (as with all P2P apps) - then its entirely decentralised, just like Freenet.
  13. P2P? sounds neat, too bad it's banned. by Puggles · · Score: 1
    --

    Pereant, inquit, qui ante nos nostra dixerunt.
    "Confound those who have said our remarks before us."
    1. Re:P2P? sounds neat, too bad it's banned. by nb+caffeine · · Score: 1

      Unlucky for you. My school took a different approach. they use some QoS software (packetseeker i think) to manage the bandwidth taken by certian applications. In effect, bittorrent, kazaa, etc become all but useless, but they arent stopping you from using them. On a friday or saturday night, i can get some good speeds though, when all the other students are at the bar

      --

      "Something's wrong with you...and I hope we never do meet again." - Deftones When Girls Telephone Boys
    2. Re:P2P? sounds neat, too bad it's banned. by iminplaya · · Score: 1

      Sounds like you just need to "wrap" it up in another protocol.

      --
      What?
  14. Limewire = java based. by Krunaldo · · Score: 3, Interesting

    My father, who's using a mac, loves limewire beacuse it melts perfectly in to his UI. But he can't do anything else while he has limewire running; except play solitare and shanghai.

    Personnaly I think limewire sucks. Here's the reasons. 1. It's slow and processor hogging.
    2. It dosen't melt into my fluxbox theme. (my fault)
    3: It requires Java.



    But for the ordinary user I think limewire is the best p2p software out there.

    Fear kazaa though.

    --
    God,root what's the difference? I read slashdot, there for I errr... am stupid?
    1. Re:Limewire = java based. by AIX-Hood · · Score: 2, Insightful

      He should be using Acquisition for OS X. It's the coolest Limewire app out there with full iTunes integration and never slows down your machine. He'll never look back.

    2. Re:Limewire = java based. by EvilStein · · Score: 1

      At least Limewire isn't nagware. I hate that screen that Acquisition pops up all the time..

    3. Re:Limewire = java based. by Drakonian · · Score: 1

      Acqlite gets rid of that.

      --
      Random is the New Order.
    4. Re: Limewire = java based. by gidds · · Score: 1

      Personally, I prefer Poisoned. Multi-network, efficient, handles large numbers of searches and downloads well, &c. Also GPL.

      --

      Ceterum censeo subscriptionem esse delendam.

    5. Re:Limewire = java based. by dave420 · · Score: 1
      I think BitTorrent is, actually. Command-line based if you want, or integrated with your favourite capable p2p GUI app (like Shareaza, etc.).

      Limewire has too many problems - its speed is ridiculous. Java doesn't make a p2p app crap automatically - Azureus is proof of that.

      It's also very easy to share your own stuff to people you choose in bittorrent, which is a very powerful feature.

      I'm not trying to rain on your parade, just offer a counter-point to your opinion ;)

  15. Dijjer by burns210 · · Score: 2, Interesting

    "Dijjer will work with almost any direct URL, the content publisher doesn't need to lift a finger - they may not even realise that people are using Dijjer to save their bandwidth costs!"

    That is a good thing, but potentially a bad as well, for how some sites make money... I think a needed features is a robot.txt entry that blocks dijjer from caching the site.

    1. Re:Dijjer by sacrilicious · · Score: 1
      [Having the mechanism be transparent to servers] is a good thing, but potentially a bad as well, for how some sites make money... I think a needed features is a robot.txt entry that blocks dijjer from caching the site.



      I'd state it differently: this potentially breaks the formerly viable business model of certain websites, therefore requiring that such websites adapt or go under... and in so doing, perpetuate the natural competition of a free marketplace rather than restricting the evolutionary opportunities of new, more efficient mechanisms.

      --
      - First they ignore you, then they laugh at you, then ???, then profit.
  16. VPN-mesh? by B5_geek · · Score: 4, Interesting

    I'll be the first to admit that I'm an idiot; but what about using VPN's to secure and mesh these P2P hubs together?

    Each PC that wants to share data, acts as a hub with x-number of tunnels going out at one time. The content of each hub could be spidered and locally cached. (kind of like combining a router-cache with a Freenet hub)

    It might be slower (like DC++) but you could setup groups of peers that get preferential bandwidth.
    BUT you could always add a swarm-like functinality of BT.

    a) secure from **AA (as long as you don't let them into your peer-group)
    b) distributed load (no central server to take down)
    c) because it is a VPN, you don't need to worry a firewall because YOU initiate the connection and keep it open. {I do know that you are fubar if the firewall admin blocks the ports, but wouldn't you be SOL anyway?}

    d) well, I just think it sounds kida cool. =)

    --
    "The price good men pay for indifference to public affairs is to be ruled by evil men." ~Plato (427-347 BC)
    1. Re:VPN-mesh? by Cyfun · · Score: 2, Informative

      Check out Virtual Native Network. "VNN is a platform which provides the peer to peer's transparence. The peer that is behide either NAT devices or a SOCKS server can communicate with another peer transparently. Also the applications run on the peer can ignore the NAT devices' existence. Enter the world of VNN. Get over the lack of IPv4 address. Construct our own convenient and easy-using VPN."

      --
      In Soviet Russia, dot slashes YOU!
    2. Re:VPN-mesh? by secolactico · · Score: 1

      a) secure from **AA (as long as you don't let them into your peer-group)

      How did they get into DC++ hubs? A lot of them are private, yet for p2p apps to really work (for activities that are frowned upon by the *AA's) you need to appeal a large group of people (if I'm only interested in sharing with a small group of people, I can always set an ftp server) so infiltration will always be relatively easy.

      The only way you are truly going to be secure, is by masking the origin IP, like FreeNet does, and then you are going to run into the same problems freenet has: too few peers/poor performance (chicken and egg problem).

      --
      No sig
  17. But... by RAMMS+EIN · · Score: 2, Interesting

    And I thought firewalls were supposed to stop certain services...isn't "P2P Through Firewalls" defeating the purpose?

    Or perhaps the problem is rather with NAT? In that case, I'm still hoping that someday someone will implement something like RFC 1701 or somesuch instead of continuously reinventing the wheel.

    --
    Please correct me if I got my facts wrong.
  18. limewire = spyware free by Anonymous Coward · · Score: 2, Informative

    Wrong.

    Besides the official site stating categorically no adware, spyware, or bundled software, have an actual read of the page you linked to. It's written by a desperately technologically impaired writer who probably just got these from another source.

  19. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  20. Finally! by Anonymous Coward · · Score: 0

    Why has it not been available before? I have been waiting for ages for p2p that works behind NAT. (I have to share my IP with 2 other guys that use the same P2P software)

  21. what's the big problem? by pair-a-noyd · · Score: 2, Interesting

    Smoothwall GPL 2.0 final
    POS PC = free from side of road
    Smoothwall GPL = free

    Problem solved..

    1. Re:what's the big problem? by advocate_one · · Score: 1

      you may have problems with Smoothwall at the moment. According to the mailing list, the main Smoothwall site has been hacked. No further news available so far. The websites has the short message "Down for maintenance - returning soon"

      --
      Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
    2. Re:what's the big problem? by NuclearRampage · · Score: 1

      I 2nd that notion. Works wonders and has a ton of plugins to expand it beyond the default options and abilities of a PIX, IMO. Adding a segment costs less than $50 since all you need is another NIC. Easy web based admin and reporting makes it a breeze to config and monitor. No problem with P2P apps either, once you know the port(s) needed.

    3. Re:what's the big problem? by pair-a-noyd · · Score: 1

      Being high profile like they are, they present an enticing target. Joe average at home though, presents a very uninteresting target, not to mention hard to find.
      I'm personally not worried about it, if they were hacked it didn't involve the GPL version, they run the corporate version. And if there is a vulnerability in the GPL version, they'll shortly have a patch available.

      Also, another poster mentioned add-ins. Yep. A bunch of them. http://sourceforge.net/projects/smoothiemods/

    4. Re:what's the big problem? by pair-a-noyd · · Score: 1

      http://smoothwall.conley-family.com/pages/image004 .html

      This guy didn't make the mod, I don't think, he just has some pics of all the mods installed and running

    5. Re:what's the big problem? by advocate_one · · Score: 1
      I'm personally not worried about it, if they were hacked it didn't involve the GPL version, they run the corporate version. And if there is a vulnerability in the GPL version, they'll shortly have a patch available.

      How do you know the GPL version isn't affected? It's the GPL website that's down. One hopes they're being extra carefull double checking all the downloadable files and updates to make sure they haven't had trojaned versions substituted.

      --
      Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
    6. Re:what's the big problem? by evilviper · · Score: 1

      Can't help you when you have to work through a firewall someone else controls. Some cheapo ISPs do exactly that.

      Most hardware routers have an interface where you can forward a port as needed, anyhow.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    7. Re:what's the big problem? by pair-a-noyd · · Score: 1

      Can't help you when you have to work through a firewall someone else controls. Some cheapo ISPs do exactly that.

      Most hardware routers have an interface where you can forward a port as needed, anyhow.


      Smoothwall has a browser accessible interface.
      Even the most simple minded can use it to open and close ports.

      Besides, if you can install smoothwall, you don't need help from an ISP for anything.
      If you can't install smoothwall because it's beyond your ability, you have no business playing with a store bought router either..

      ISP's tend to be extremely stupid and extremely offshore.

      Speaking of, I called my ISP once because I needed to change my account password on the ISP side. Had absolutely nothing on earth to do with my side, THEIR system was rejecting my password.
      Called RR tech support and instead of talking to someone at the office that's a 5 minute drive from here, I talked to someone in Pakistan who insisted on knowing my OS. I insisted my OS had nothing to do with it, that I wanted to change my account password on THEIR side. Dumbass kept on with "What's version of Windows do you use?" When I finally told them I use Suse Linux his head burst into flames and told me I had to install Windows.
      I told him to stick his cue cards up his ass and hung up. I called back, mad as hell and finally got a local tech who fixed me up in under 60 seconds.

    8. Re:what's the big problem? by evilviper · · Score: 1
      Besides, if you can install smoothwall, you don't need help from an ISP for anything.
      If you can't install smoothwall because it's beyond your ability, you have no business playing with a store bought router either..

      Clearly, you haven't comprehended a thing I've said.

      If your ISP blocks the ports you need to forward, it can't possibly help you.

      If you are on any kind of network that must go through a strict firewall that is not under your control, it can't possibly help you.

      If you have a hardware router, you can forward the necessary ports quite easily, and have no need to install it.

      So why exactly are you plugging smoothwall. It's entirely off the topic.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    9. Re:what's the big problem? by pair-a-noyd · · Score: 1

      Smoothwall is entirely on-topic. The thing about the ISP is what's entirely off-topic.

      The story is about p2p through firewalls.
      Smoothwall handles any p2p with great ease.
      I have no stake in Smoothwall, it's free.
      I just like it a lot. It works really well for home, SOHO and most small M&P businesses.
      I've installed it for a lot of people and the only complaint I ever had was the CPU fan fell off of a P100 box I installed and burned up the CPU. They called, I was there in 30 mins, I swapped mobo's and in less than an hour they were back online. It's handling a small biz with 30 users behind it and has had 100% uptime for over 18 months. That's pretty damn good if you ask me. My customer paid for the PC, nics, wiring and time.

      Personally, I wonder why you are so hung on hardware routers? Got stock in Cisco eh?

      Eh, never mind...

    10. Re:what's the big problem? by evilviper · · Score: 1
      The story is about p2p through firewalls.
      Smoothwall handles any p2p with great ease.

      As does ANY FIREWALL ON THE PLANET.

      The story is about P2P through firewalls you (for whatever reason) can't setup a port forwarding on.

      Pitching a firewall is completely off-topic, and even though you say otherwise, your persistence makes it obvious you have some sort of vested interest in smoothwall.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    11. Re:what's the big problem? by pair-a-noyd · · Score: 1

      Who's paying you to be annoying?

    12. Re:what's the big problem? by Anonymous Coward · · Score: 0

      Who's paying you to pretend to be stupid?

  22. I have very cool way to do this. by John+Sokol · · Score: 1



    If someone out there that is willing to put the time in to implementing a reliable UDP I'd be willing to share my notes and research on how to implement my ECIP error correction over IP as well as my SPAC Protocols. (Selective Packet Acknoledgement) algorythems. They can work together for a really cool solution.

    The original code was lost when my former company went bust, it's was mess anyhow.

    But the algorythems can be reimplemented.

    ECIP

    John L. Sokol

    PS: Method of passing bi-directional data between two firewalls.

    I wonder if anyone that's doing this read my paper on this?

    --
    I am always doing that which I can not do, in order that I may learn how to do it. - Pablo Picasso
    1. Re:I have very cool way to do this. by sameb · · Score: 1

      Take a look at the links in the article. The link is to the GPL'd LimeWire code for a reliable UDP layer. The link to the p2p hackers discussion is also from a bunch of people about how to do a reliable UDP transfer.

    2. Re:I have very cool way to do this. by Anonymous Coward · · Score: 0

      Probably crap. Wouldn't want to use algorithms from someone who can't spell "algorithm".

    3. Re:I have very cool way to do this. by TheLink · · Score: 1

      Thought of that too, but the disadvantage is that a method that relies on spoofing won't work on firewalls with antispoofing rules. A number do it semi-automatically based on static routes and such.

      Of course, I doubt if most of the popular el-cheapo < USD50 NAT routers do antispoofing automatically. Some ISPs might also have ingress anti-spoofing filters (to prevent being a DDoS source and other nastiness).

      Still responsible/clueful behaviour in these area is probably rare, so such spoofing stuff could work in many cases.

      I was wondering whether I'd have to get off my lazy butt to implement such an app, but looks like these guys have finally got around to doing it. Phew :)

      I was thinking that using UDP port 53 packets without relying on spoofing could work in even more scenarios.

      Trouble I had difficulty with was determining the external dynamically NAT'ed source UDP port. The client doesn't know what source UDP port the NAT device assigns (assuming it assigns it dynamically). So how can the OTHER client send UDP "replies" to that source UDP port?

      After all what happens if you have more than one device sending UDP packets with the same source ports - what happens when you NAT those packets? UDP source ports not assigned randomly by the NAT device?

      How do these guys manage? Lots of sloppy "firewalls"/NATs out there? ;)

      --
  23. Dijjer is self defeating by AIX-Hood · · Score: 4, Insightful

    "No "Tracker" necessary, works with virtually any URL This is a big one, Dijjer will work with almost any direct URL, the content publisher doesn't need to lift a finger - they may not even realise that people are using Dijjer to save their bandwidth costs! As the that guy who runs filerush, I'm always looking to move to whatever will keep the files free flowing with zero hassle. The problem is that this method just shot itself in the foot. So you're saying that I have to serve my 350 meg new game demo on my regular http server and Dijjer users will P2P it without my knowledge. That's great.. but what about the other million users who have no idea about Dijjer, and just hammered my download and therefore my site in extinction because I can't tell who's who? Now nobody gets the file.

    1. Re:Dijjer is self defeating by Anonymous Coward · · Score: 1, Interesting

      That's why Coral is client oblivious, so everybody downloads it using a Coralized link.

    2. Re:Dijjer is self defeating by At0micShad0w · · Score: 1

      Since Dijjer is what downloads the file, couldn't you set up your server to only serve files to downloaders identified as Dijjer? (through HTTP headers or whatever, I'm not to up on that stuff)

    3. Re:Dijjer is self defeating by AIX-Hood · · Score: 1

      Which is a true benefit, but Coral still suffers from the idea that the user knows what the original server url is because it's part of the new coral url. The user must never know what the original http server url is, because it'll always get passed to non-believers and get summarily hosed. The other problem is that with bit torrent, there's full accountability of how many downloads there were of a file etc.. If you ever want to be taken seriously by the file creators, you need to be able to tell them how popular their files are, and at what rate, what user base... bit torrent helps with these things. These others don't.

    4. Re:Dijjer is self defeating by AIX-Hood · · Score: 1

      Possibly, but referer checking has never been an exact science and often denies legitimate users. Apache's own documentation recommends against using referer based serving conditions in a production environment.

    5. Re:Dijjer is self defeating by Anonymous Coward · · Score: 0

      Not really. The origin server can always check the request's user-agent and redirect to the Coralized link if its not a coral proxy. I think some sites using Coral do this now. Of course, a user could spend quite a bit of effort to forge its user agent, but that's going to be an vanishingly minute % of users.

    6. Re:Dijjer is self defeating by burns210 · · Score: 1

      bandwidth limit the file and promote digger on the site.

    7. Re:Dijjer is self defeating by naasking · · Score: 1

      Then you're no better off than where you started. This is not a problem with Dijjer.

  24. A real quandry! by beaststwo · · Score: 1

    I think of P2P much like having a wireless LAN in your house...that it's essentially inviting people into your systems that you otherwise wouldn't let in your house.

    As a user, I can see that P2P could carry some bennies, but as an IT person, it makes little sense to secure your network, just to have someone using P2P letting outsiders in or bringing potentially tainted info in from the outside unattended.

    How do we acheive a balance here?

  25. Dijjer by ganhawk · · Score: 1

    This is cool !!

    Any idea how proxy servers find one another ? yes, I did RTFA :)

    I would imagine some sort of overlay networks with ultrapeers.

    I had wanted to do something like this using JXTA last year but alas, it has become yet another dead project on sf.

    p2pbridge.sf.net

    I am happy something similar has materialized.

    --
    Python script to convert photos into "artsy" portraits: http://p2pbridge.sf.net/pyPortrait/
  26. Followed by virus-through-firewall applications by Animats · · Score: 2, Insightful
    If P2P through firewalls is deployed, viruses through firewalls can't be far behind.

    0wn corporate networks! Laugh at their ineffective firewalls. Use them to send spam all night! Resell them on Spamforum.biz. At last, the killer app for "grid computing".

    1. Re:Followed by virus-through-firewall applications by Anonymous Coward · · Score: 0

      i guess you are right, any technology that invented for good ends up being used for evil too :^(

    2. Re:Followed by virus-through-firewall applications by anthony_dipierro · · Score: 1

      If P2P through firewalls is deployed, viruses through firewalls can't be far behind.

      There's nothing in a firewall which stops viruses. At least, there's nothing in most firewalls to stop any virus, and there's nothing in any firewall to stop most viruses.

      This technology is more about allowing P2P through NAT, anyway, and doesn't really have much to do with firewalls (except that many firewalls implement NAT). It requires both ends to be actively cooperating, so there really isn't much of a security issue.

    3. Re:Followed by virus-through-firewall applications by evilviper · · Score: 1

      P2P already goes through firewalls... It's just that ONE of the hosts must be publicly reachable.

      If a firewall is your only protection, you're already in trouble.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  27. OK, here's how it probably works by Concern · · Score: 0

    Most firewalls in home use are NAT firewall routers or software firewalls. Software firewalls are easy to configure to allow particular applications whatever network access they want, so let's assume we're talking about the former.

    The NAT firewall wants to allow outbound traffic and deny any incoming traffic. But obviously all traffic requires packets to move in both directions, so it accomplishes this goal by allowing incoming hosts to initiate TCP connections to any external hosts they want, and then it maintains state about each connection, so that when response packets arrive, they can be routed to the right host inside the firewall. That's why we call the NAT a "stateful firewall."

    I honestly don't remember and am too lazy to look it up; I'd guess NATs just note the source and destination ports in the TCP SYN and then associate return packets by using the source port. Maybe it uses some other tricks instead. But I digress.

    So already you have problems with this scenario; what about FTP? This is a bummer because FTP (which predates most firewall designs by a bit) wants to have the destination open connections back to the source, on ports the source specifies. No reason to comment on that; they modified the protocol so that it wasn't necessary anymore (PASV mode) but also we note that many firewalls (including Linux I think) can actively watch the FTP control stream and thus anticipate and handle the new data streams properly. But now I digress even more.

    The smart folks will by now be asking, "what about UDP?" And that's the question, isn't it. How do you think a stateful firewall like this has to handle UDP connections?

    Remember, UDP has no built in "SYN/SYNACK/etc" semantics. There's no standard way to know what's going on when you see a particular UDP packet. It could be initiating some kind of connection, or closing it down, or carrying data; the bits inside the UDP packet are opaque to a firewall, because their meaning is up to whatever random software is using them.

    I'm just guessing here, but it sounds like the standard NAT solution is to block all incoming UDP traffic, but whenever a firewalled host sends a UDP packet, then a "hole" is "punched" so that any UDP packets received from the destination host will be routed back inside to the firewalled source host. That would allow all your games and streaming media to work... And it makes a quick way to have two NAT firewalled hosts speak directly, as long as they both can coordinate their activities (which they can, with the help of a third peer, some anonymous P2P node).

    Actually using UDP is a pretty good idea to begin with, because you can really optimize your wire protocol and gain a lot of speed (both better throughput and reduced latency). Also it will scale better and probably be easier on the internet (because UDP packets are often dropped by various routers in times of stress)... Perhaps we really should have been using UDP for P2P all along. But of course TCP is so much easier at the outset...

    --
    Tired of Political Trolls? Opt Out!
  28. UDP wave of the future! by minus_273 · · Score: 0, Troll

    who cares about the health of the netowrk! udp time everyone!

    --
    The war with islam is a war on the beast
    The war on terror is a war for peace
  29. Virus Danger by Anonymous Coward · · Score: 0

    I just downloaded the .jar file and was alerted that a trojan had been installed. I'm not sure if anyone else had run into this but i'd download with caution

  30. Acquisition breaks the GPL!! by Anonymous Coward · · Score: 0

    Acquisition is breaking the GPL. Dave Watanabe does not release his modifications to the limewire core until two versions later.

    The GPL states clearly - if you release a binary, you have to make the code available. He does that with a month or so delay - which is still a GPL violation.

    1. Re:Acquisition breaks the GPL!! by Krunaldo · · Score: 1
      <zealot>
      If the projects violet the GPL it's website shall perish.

      *prepares the slashdot newspost aka manual d.d.o.s.*
      </zealot
      --
      God,root what's the difference? I read slashdot, there for I errr... am stupid?
  31. How to Initiate Connection? by bill_mcgonigle · · Score: 1

    So how does the connection get initiated? Both clients behind NAT's need to get each other their NAT's IP addresses for this to work.

    This is pretty easy if you have a 3rd party server to bounce initial requests off of (both clients subscribing and listening for initiation requests), but then it's not really peer-to-peer, is it?

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    1. Re:How to Initiate Connection? by sameb · · Score: 2, Informative

      It's still peer to peer. Or more appropriately, peer to peer using another peer (P2PUAP). The flow is like this:

      - Someone sends a request that gets routed through the network.
      - Someone sends a reply that gets routed back through the network. The reply contains the address of a few [directly connectable] people the replier is connected to.
      - The requestor sends a message to the directly connectable folks telling them to tell the replier to start sending UDP packets.
      - Requestor & Replier both start sending UDP packets to each other. The NATs open, the transfer begins.

    2. Re:How to Initiate Connection? by Hobbex · · Score: 2, Informative

      Yes, it is impossible to for two hosts behind stateful NAT firewalls to communicate if they do not have some third party "matchmaker" to tell them: "start sending packets from this port to that port at that host". But the point is that this matchmaker still has a very low load, and can exit once the connection is established, so that is not that bad compared to what would happen if he served as a proxy for all the data instead.

      This definitely an ugly hack, but all NAT is really just an ugly hack, so it isn't that surprising.

  32. UDP Hole Punching explained by Otto · · Score: 3, Informative

    UDP Hole Punching won't work on an actual "firewall". Instead it's meant to get through these home-type NAT boxes that people are calling firewalls but which really are not.

    The problem with getting stuff across a NAT gateway is that communication must go through the NAT, and the NAT is generally configured to block incoming traffic unless it's expecting it.

    See, NAT works by pretending to be you. When you go get a web page, you send a packet to a webserver. The NAT box, being your gateway, gets this packet, then sends out a reformatted packet of it's own to that webserver. It opens a return port to get the data from that webserver and this gets forwarded along to the receiving system. Basically you're changing the addresses used in both ways, so as to munge the thing between the private and public IP address space.

    UDP works in a similar way, it's just modifying addresses going through the gateway. However, with UDP, usually the port number doesn't change. Meaning that when I send a packet out, I don't get to specify what port the responding host sends a return packet back to. I'm expected to know that it'll be coming back on the same port. So NAT deals with UDP pretty simply. The outgoing port and incoming port are the same. This is open to possible abuse, so most NAT boxes only forward packets from the original host back to the private network.

    That's potentially confusing, so I'll use an example:

    Computer A is behind a NAT. He sends a UDP packet to computer B on the public internet, on port 30000. The NAT munges the outgoing address and forwards it to computer B. Computer B sends back a UDP packet on port 30000. The NAT verifies that he is only allowing B to respond on that port, and sends the packet back to computer A. If computer C were to send something to the NAT on port 30000, it would be discarded by the NAT (not all NAT's do this, some allow anything in for a short time instead).

    In the case where only one system is behind a NAT, this is easy to solve. The computer behind the NAT must initiate the connection. That's all there is to it. Computer A initiating the connection makes it possible for the NAT to send stuff back to computer A, and so all is good.

    In the case where both computers A and B are behind their own NAT, suddenly they have no way to talk to each other. Anything A sends to B gets dropped by B's NAT, and anything B sends to A gets dropped by A's NAT. The only fix for this has been port forwarding, which manually punches a hole in one or both NAT devices.

    UDP Hole Punching exploits the UDP behavior of NAT devices to allow A and B to communicate directly without any port forwarding being needed. It works like this:

    Computer A sends a UDP packet to computer B on port 30000. This act opens the hole in the NAT for B to talk to A on port 30000. At the same time, A sends a packet to Server S on the P2P network. This packet basically asks computer B to send something to computer A on port 30000. Server S routes the packet to computer B over the already setup P2P network. Computer B then sends something to computer A on the given port, and they can now talk directly and setup other ports if they likee by this single channel of communication that they have gotten open.

    And that's all it is, really. Just a way of using an intermediary that can talk to both A and B (via the already established P2P routing) to allow them to talk directly. Nothing particularly tricky.

    Why UDP? Because UDP doesn't get the port changed by the NAT. TCP connections over a NAT usually get ports munged by the NAT without informing the computer behind the NAT. That's part of the "transparency" portion of NAT. The less tricky behavior of UDP on a NAT device makes this possible.

    --
    - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
    1. Re:UDP Hole Punching explained by evilviper · · Score: 1
      UDP Hole Punching won't work on an actual "firewall".

      Explain.

      The only senario I can think of as having a problem with it, is if the firewall (that recieves the first packet) is configured to return an ICMP RST, and the opposing firewall closes the connection based on that RST.

      From what I've seen, most firewalls are not setup that way, so this should still work.

      Did you have some other problem with UDP in mind?
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    2. Re:UDP Hole Punching explained by TheLink · · Score: 1

      What happens then if you have two or more machines using the same UDP source port behind the NAT device?

      --
    3. Re:UDP Hole Punching explained by Otto · · Score: 1

      What happens then if you have two or more machines using the same UDP source port behind the NAT device?

      Then it don't work no more. A good implementation of this in a P2P client would choose a port at random from some range and use that for all their direct communications.

      Of course, the majority of P2P users behind NATs out there are just home users with a couple of PCs behind a single off the shelf NAT box (like most of those Linksys boxes). The goal is to make their clients able to punch through those implementations, vastly increasing the shared content (since a lot of these home users are too lazy or too ignorant to know how to forward a port on the box).

      If you're knowledgable enough to forward a port for the P2P app, then this won't impact you. It does the same kind of thing as forwarding a port would.

      --
      - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
    4. Re:UDP Hole Punching explained by Otto · · Score: 1

      Well, most company type firewalls I've seen are setup to block everything incoming and outgoing except for stuff that has been specifically allowed to pass through. So the outgoing UDP packets just get blocked at the firewall.

      I grant you that it's feasible to setup a firewall in a way that this would work and that some default settings on various firewall products might allow this approach to work. But I've never seen a firewall that didn't block most everything making it impossible to connect to the P2P network in the first place.

      --
      - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
    5. Re:UDP Hole Punching explained by evilviper · · Score: 1

      Ah, but for reasonable functionality, you can expect that at least 1 port allows outgoing UDP traffic, on even a very strict host.

      UDP protocols like DNS, TFTP, SNMP, RIP, NFS or NTP might be in-use over a company firewall, and you only need 1 UDP port open for this technique to work.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  33. Mod parent up. by apankrat · · Score: 2, Insightful

    And mod me up while you're at it :)

    Most of reliable UDP protocols do use unsolicited NACK'ing and solicited ACK'ing. This cuts down overhead on fat pipes to just one ACK per a transfer, which is as low as it gets.

    This approach doesn't work well on lossy links or for interactive sessions though.

    --
    3.243F6A8885A308D313
  34. Not likely by Wesley+Felter · · Score: 2, Informative

    Lots of ISPs implement egress filtering these days to reduce forged IP source addresses.

  35. It's mainly NAT by Otto · · Score: 1

    The problem it's solving is actually with NAT, although it'll also apply to some kinda-weak firewalls.

    --
    - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
  36. Firewalls vs Squid Proxy? by Anonymous Coward · · Score: 0

    Though this program is geared more for firewalls, does anyone have a similar item for Squid Proxies? It seems the bastards at my world even disabled the TCP tunneling port on the Squid server, so I am looking for other means of outside TCP connectivity.

  37. robots.txt is for search engines by Sanity · · Score: 2, Informative

    Dijjer respects the various no-cache HTTP headers, a robots.txt file is intended for search engines, not caches.

  38. Trivially solved by Sanity · · Score: 3, Informative

    Just make your web server reject or redirect links that do not report Dijjer as their HTTP client. Easy.

    1. Re:Trivially solved by dave420 · · Score: 1

      No, just throttle the speed to a few K a second for non-dijjer clients. No need to be a nazi about it. :)

  39. Wondered when.... by GoRK · · Score: 2, Informative

    I have been really wondering when someone was going to do this for P2P apps. Compared to how much other software actually uses the same techniques, it's long overdue. There seems to be some misconceptions on how it works though in the comments here, so I'll try to do a simple explination:

    UDP is stateless. There is no connection setup like there is with TCP so there's really no way for a firewall or gateway to statefully track where to send UDP packets, so the typical implementation for NAT'ing UDP is something of a 'best guess' scenario, redirecting certain packets based on port numbers and IP's. These new applications take advantage of this synchronous behavior of NAT devices to permit direct connection between client computers where both are behind NAT firewalls.

    NAT of UDP is generally implemented like this: If you begin sending UDP from source port 2000 on your computer to a remote host on port 5000, then the router doing NAT will automatically open up a 'hole' that allows any UDP packet from the remote host from source port 5000 to destination port 2000 on your machine to pass through to you. This is sort of how it works with TCP too; however the firewall only opens up the 'holes' when connections are first set up and only allows packets with correct sequence numbers to pass back through.

    Essentially how it works is that two clients decide to "connect" and agree on port numbers, etc through some third host that both can reach via tcp. They then begin broadcasting UDP data to each other. Once a packet goes out from both hosts, the two 'holes' in the firewall will open up. Probably at least one packet will not actually arrive at its indended destination; however, the software can implement its own robust transfer protocol over UDP.

    Games have been doing this forever. QuakeWorld (the Quake 1 client tailored to internet play) was one of the first to implement it. Most implentations of SIP support this type of connection.

    1. Re:Wondered when.... by Anonymous Coward · · Score: 0

      And hopefully people will continue to implement firewalls that inspect at Layer 7. You could wrap an SSL layer around the UDP packet but there still has to be a signature at some point and then the firewalls will catch it.

    2. Re:Wondered when.... by evilviper · · Score: 1
      Once a packet goes out from both hosts, the two 'holes' in the firewall will open up. Probably at least one packet will not actually arrive at its indended destination

      The only reason this doesn't work with TCP, is that the firewall might send a TCP RST, closing the hole.

      UDP doesn't have a RST, however, a firewall might return an ICMP RST when getting an unrequested UDP packet, which would make this fail with UDP as well. My own firewalls are setup to do exactly that. When this starts eating up too much bandwidth for companies, they'll do the same thing.

      This could be worked-around, but it would be rather complex, and quite iffy.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    3. Re:Wondered when.... by GoRK · · Score: 1

      Yes, but what you are describing is an *actual* firewall that is inspecting traffic at a higher level than consumer gateway devices. Although they are sometimes termed 'firewalls' (and I may have used that designation when talking about them in my first comment) I was by no means implying that there were not alternative UDP NAT implementaitons that are better or more secure.

      But then again, this technology is primarily aimed at the home-nat-router owners and will see its major benefit from that crowd anyway. I don't even know anyone with a broadband connection that does not use some kind of cheap router -- even the ones with only one computer use them for the (minute) amount of protection they afford. Making a wild guess that 50% of P2P software users are using such a device and do not know how to properly configure tunnels through it, it's reasonable to assume that there is 50% of a network's optimal utalization going untapped.

  40. OT nit by pedestrian+crossing · · Score: 1

    UDP [Unreliable Datagram Protocol]

    Good description. But it is User Datagram Protocol

    --
    A house divided against itself cannot stand.
    1. Re:OT nit by BridgeBum · · Score: 1

      Actually, I think both are acceptable usage. Although the original RFC calls it User Datagram Protocol, I'm not the only one who expands it to Unreliable Datagram Protocol.

      --
      My UID is the product of 2 primes.
  41. Swarming Simulation by Orasis · · Score: 1

    Related to this, check out the Visual P2P/Swarming Simulation.

    It allows you to visualize firewalled transfers.

  42. solving the slashdot effect? by haberb · · Score: 1

    If I understand this correctly, this could be implemented to solve the slashdot effect, as long as the majority of slashdotters ran this program somehow? what if it was just a Firefox extension?

  43. Re: off topic by vaxling · · Score: 1

    Nice signature -- Sierpinski Triangle -- very cool -- Steve

  44. Problem with Dijjler by brunes69 · · Score: 4, Informative

    Just tried it out, so this is speaking from actual experience. Digger doesn't limit itself to sharing files you have already downloaded - it will *actively* download files other people are requesting, so that it can share them.

    This is simmilar to freenet, and indeed will maximize everyone's bandwidth. But it has grave issues when not combined with Freenet's huge anonymimity factors like encryption and hiding IPs , and will open you up to all sorts of legal problems.

    I don't want the FBI knocking down my door because my Dijjer client has been downloading kiddie porn for someone else without my knowledge. Sure, I *may* be able to argue in court that it was not me, and hey, I may even be able to prove it. But is that potential trouble worth my saving on some bandwidth? I think not.

    1. Re:Problem with Dijjler by AIX-Hood · · Score: 1

      What proof do you have of this? Can you post it here? The greatest thing about Coral and bit torrent, is that you get in, you get what you want, you get out. No unwanted junk, and once you close your browser or client, there's never any strings attached or other file transfers going on. People generally like to be in full control and not have things going on behind their back.

    2. Re:Problem with Dijjler by Sanity · · Score: 1
      People generally like to be in full control and not have things going on behind their back.
      Yes, that would explain the unpopularity of file-sharing applications...
    3. Re:Problem with Dijjler by sckeener · · Score: 1

      As for defending yourself in court I would recommend looking at this /. post

      Or for those that don't want to click on the link, here is the text:

      A Lawyer's Opinions (Score:5, Informative)
      by Liza (97242) * on Wednesday May 12, @04:56AM (#9125127)
      I'm a lawyer, not a law student. (I'm not your lawyer. I don't practice in your jurisdiction. This isn't legal advice. And I've never been a prosecutor or a criminal defense attorney. But I have worked a lot on issues related to kids, sexual content, and the Internet.)

      Any possession, whatsoever, of child porn is a federal felony offense. It doesn't matter how you got it, that you didn't want it, or that the computer made you do it.

      Maybe you could challenge the statute, but good luck finding a lawyer who wants to argue that possession of actual child porn shouldn't be illegal because the statute didn't include an element of mens rea. The ACLU had a hard enough time challenging the law prohibiting images that just looked like child porn, but didn't involve actual children.

      Back in 1998 or 1999, there was a senior exec at Infoseek who was arrested for travelling interstate to have sex with a minor -- who turned out to be an FBI agent, not a little girl. He was also charged with possession of child porn.

      When the case finally went to trial, he brought out expert witnesses, who were able to convince the jury that plenty of people go online and pretend to be someone other than they are to have sex. He said that he never thought she was a real child; he thought she was a woman who liked to pretend she was a child having sex.

      As I remember it, he agreed to a plea during the trial. I think the prosecutors must have found the expert persuasive. Ultimately, he pled guilty to possession of child porn, and agreed to some sort of community service helping the FBI improve its enforcement of child sexual exploitation laws.

      In this case, here's what I think happened: This shmuck was deliberately looking at porn that was, at the very least, borderline. But he didn't want to admit it. And he was afraid of the cost of defending himself. So he copped a plea, and now regrets it.

      Judges won't let you plead guilty unless they are convinced that you understand what you are agreeing to, and what rights you are giving up by pleading guilty. But they can't stop you from making a stupid decision. That's why you have a lawyer.

      Incidently, in many cases a public defender is going to get a better deal for a defendant than an average defense lawyer. (Texas is an infamous counter-example.)

      Why? They're in the system all the time. They have a relationship with the judges and the prosecutors. In that plea negotiation process, they know how strong or weak the case is, and the judge and prosecutor know that someone with whom they work frequently isn't going to bullshit them. (Or they know the person is always full of shit, but I'm talking about a good public defender.)

      Who are you more likely to offer a good plea agreement to -- someone you work with every week, who has pretty much backed up what he's said when you've gone to trial with a weak case before? Or someone you don't know or have worked with occasionally, who might be right that your case is weak or might be completely full of it?

      Of course, none of this applies if you can afford a seriously elite defense lawyer. Like the Infoseek guy had, or OJ, or Martha Stewart. But many elite defense lawyers worked as public defenders for a few years early in their careers.

      Liza

      These opinions are my own. My employer is not aware of them, does not endorse them, and is not responsible for them.

      --
      "Only one thing, is impossible for god: to find any sense in any copyright law on the planet." Mark Twain
    4. Re:Problem with Dijjler by AIX-Hood · · Score: 1

      Was that meant to be sarcastic? Just the other day they announced that BitTorrent, the P2P app/protocol that gives far more control to the user than any other P2P app out there, holds 35% of all internet traffic. You can have your freenet which constantly shares random data bits, even ones you're not directly interested in, and I'm all for it but only when appropriate. Everyone in a city, all using 5% of their upload capacity at all times because some app is sharing without their knowledge ends up flooding the upsteam for their main provider and then everybody loses with higher monthly rates and further capped upload rates. It already happened when Kazaa first hit the net, before it didn't have the ability to completely shut off sharing. The whole Net slowed down and providers were forced to take drastic measures. We don't need a repeat.

    5. Re:Problem with Dijjler by Sanity · · Score: 2, Interesting
      Just the other day they announced that BitTorrent, the P2P app/protocol that gives far more control to the user than any other P2P app out there, holds 35% of all internet traffic.
      Correlation doesn't imply causality.
      It already happened when Kazaa first hit the net, before it didn't have the ability to completely shut off sharing.
      URL? I have never heard of that. I have spoken to many ISPs and they secretly love P2P, it is the primary driver for broadband adoption. Well designed P2P can actually reduce ISPs costs by minimising off-network traffic.
    6. Re:Problem with Dijjler by evilviper · · Score: 1
      it will *actively* download files other people are requesting, so that it can share them.

      If you get rid of this feature, it's nothing more than a normal caching proxy such as Squid.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    7. Re:Problem with Dijjler by FlynnMP3 · · Score: 1

      Most people are lazy. Most people will take the path of least resistance to get what they want. If it sounds to good to be true, it probably is, but people still want to believe it could be true.

      I believe the reason p2p apps are so popular is because people just want their stuff (a large part of it is tainted). They really don't care or even want to know that they are sharing stuff on their computer. They will only care about it when it affects them personally. That could be from the pocket book or in very few cases lawsuits.

      As a contrast to the above, I prefer BitTorrent precisely because it is so easy to control what I share. I feel a strong sense of community when I am sharing something through BT. I frequently check the connections and think, "That's somebody enjoying the same thing I do. I'll keep the connection open that much longer".

      The only time I will run eMule are those times the particular episode of whichever Anime I am looking for doesn't have a well seeded torrent. And even then, I always engage in leeching activity with that p2p network. The shared directory is always cleaned out and only the one file I am getting gets shared. Then 2 days later when the transfer finally finishes (if I'm lucky), I seed it with BT for about a week. So others can enjoy the content without having to worry about whatever else they may be sharing.

      I am probably just 1 guy who prefers p2p the BT way, but I would like to think that there are others who feel the same way. :)

  45. Hamachi by apankrat · · Score: 1

    Saw this a couple of days ago. Pretty vague description,
    but it does promise exactly what you are looking for. 2c.

    --
    3.243F6A8885A308D313
  46. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  47. RTFA by Anonymous Coward · · Score: 0
    GTK-Gnutella works just fine with firewalls.
    Apples and oranges. It isn't a file sharing app, its a web cache. Did you even RTFA?
  48. Proof, try it yourself. by brunes69 · · Score: 1

    Sure, here is some proof. I downloaded the dijjer.jar of the download page. I ran it, and clicked the test link on the main Dijjer page - the link for the Linux kernel. I clicked no other link and did nothing else except look at the status page.

    Meanwhile, check out some of the output from the server, printed right to STDOUT. Remember - I did not download this file, or make a request for it, and it certianly does not exist on my machine:

    8950 -1 -> lysanderspooner.xs4all.nl:9114 : acknowledgeRequest {uid=-363110451
    Dispatcher: Retrieving http://www.archive.org/download/Evolutio2001/Evolu tio2001.mpeg chunk 3 at ttl 9
    LOOP: Find peer for requestData
    Dispatcher: Connecting to http://www.archive.org/download/Evolutio2001/Evolu tio2001.mpeg to retrieve chunk 3
    9023 9114 lysanderspooner.xs4all.nl:9114 : acknowledgeRequest {uid=-2112834057
    Dispatcher: Retrieving http://www.archive.org/download/Evolutio2001/Evolu tio2001.mpeg chunk 1 at ttl 9
    LOOP: Find peer for requestData
    Dispatcher: Connecting to http://www.archive.org/download/Evolutio2001/Evolu tio2001.mpeg to retrieve chunk 1
    Retrieved block 50

  49. DMCA explicitly makes caching legal by Sanity · · Score: 2, Informative
    will open you up to all sorts of legal problems.
    Care to be more specific? It seems to me that Dijjer is pretty-much exactly what the system caching exemption of the DMCA was intended for.

    Dijjer does not create any more liability for its users than a HTTP cache creates for an ISP, and note that virtually all ISPs run HTTP caches, so far as I know, without encountering legal problems.

  50. But how by thebra · · Score: 1

    do you pronounce it?

  51. *Any* URL? by MacDork · · Score: 2, Interesting
    "No "Tracker" necessary, works with virtually any URL
    This is a big one, Dijjer will work with almost any direct URL, the content publisher doesn't need to lift a finger - they may not even realise that people are using Dijjer to save their bandwidth costs!

    So, am I to understand that when using dijjer you are broadcasting your web surfing habits all the time in the hopes that someone other than marketers and police are out there listening? Or is there some anonymizing Freenet magic going on here? Giving up my privacy to save someone else a dime doesn't sound like a good idea to me.

  52. Freenet? by slavemowgli · · Score: 1

    Ian Clarke? Shouldn't he be busy with getting Freenet to a usable state?

    --
    quidquid latine dictum sit altum videtur.
    1. Re:Freenet? by Anonymous Coward · · Score: 0

      No, he's too busy smoking pot and hoarding the donations fools give to the Freenet project. That p.o.s. has been dead for a long time now.

    2. Re:Freenet? by slavemowgli · · Score: 1

      The donations are actually used to pay Toad to work full-time on freenet.

      --
      quidquid latine dictum sit altum videtur.
  53. Re:Reliable... (TCP/IP vs TCP/UDP) by Stephen+Samuel · · Score: 2, Insightful
    UDP isn't similar to IP. It sits on top of IP, just like TCP does. The main difference between UDP and TCP is that TCP has reliability built in. The protocol will automatically re-order out of sequence packets, figure out which ones are missing and have them retransmitted before it delivers the data to the recipient.

    With UDP, if you want reliable transmission, then you have to do all that work yourself. If you have a generally reliable link, then this can be very cheap. It's also very cheap if you only want to send a little bit of data (say, one line of text).

    With TCP it takes at least three packets just to open the connection -- before you can even transmit data -- and then another three to close it. That gives you a minimum of 6 packets with no actual transmitted data.

    With UDP, a very simple transaction can consist of
    a -> B (( DATA ))
    B -> a (( ACK: CRC was X) [[ optional ]]
    As long as the checksum is good, A need do nothing. If the checksum was bad (or no ACK comes back) then A can retransmit). If you don't mind losing the data altogether, then even the ACK is unnecessary.

    UDP can be fast and cheap, but to avoid beating the internet to death on bulk transfers it depends on the application being well-designed to prevent bad side effects.... That intelligence is built into TCP (but at a cost).

    As long as you can handle losing the occasional packet and/or having packets arrive out of order and you don't threaten hog the entire bandwidth of your pipe, then UDP is fine.

    If you don't want to worry about the above, and you're willing to put up with the overhead of TCP, then TCP is your best bet. This turns out to be the case for the majority of applications, which is why TCP seems to be way more common than UDP -- SO much so that many people don't even relize that you can have IP without TCP (( the 'TCP/IP' misnomer contributes to this)).

    --
    Free Software: Like love, it grows best when given away.
  54. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  55. Ignorance is a bliss by apankrat · · Score: 1

    Ever heard of ICMP or more specifically - DestUnreachable/PortUnreachable code ?

    It is essentially a guaranteed system-level NACK, which comes handy exactly in the situation you describe. Every decent NACK-based protocol implementation has ICMP handler (see SOL_IP, IP_RECVERR in setsockopt).

    --
    3.243F6A8885A308D313
    1. Re:Ignorance is a bliss by AndroidCat · · Score: 1
      Yes, I've heard of ICMP. Do they really test for Unreachable responses? Amazing how fscking poorly it works then. (And no, I'm not eating ICMP responses with a "stealth" "firewall".)

      eDonkey and BitTorrent never seem to give up trying no matter what they get as a response. (Of course, it could be that someone has hax0red their copy to try and squeeze a bit more cps out of their version.) Sorry, but I've seen no evidence that most protocols have any working code to detect that the other end isn't interested.

      --
      One line blog. I hear that they're called Twitters now.
    2. Re:Ignorance is a bliss by TheLink · · Score: 1

      Yah, keep seeing all these stupid requests on my firewall. Wonder if one could send a very "exceptional response" to stop a dumb client...

      Maybe someone should look for weaknesses in the source code or something ;).

      --
  56. Re:Reliable... (TCP/IP vs TCP/UDP) by Sanity · · Score: 1
    UDP isn't similar to IP. It sits on top of IP
    The two are not mutually exclusive. UDP shares almost all of the properties of IP, it is a very thin layer on top of IP.
  57. Generic Matchmaker? by bill_mcgonigle · · Score: 2, Insightful

    But the point is that this matchmaker still has a very low load, and can exit once the connection is established, so that is not that bad compared to what would happen if he served as a proxy for all the data instead.

    Is there a generic (P2P Protocol Agnostic) matchmakerd? Seems silly to have one for each network. If there were a standard, I could, for example, put a call through to my parents' video phone without having to know their IP address if we both subscribed to the same matchmaker or network of matchmakers. Without a generic standard the proverbial videophone firmware developer isn't going to be able to offer me a field for query service server.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    1. Re:Generic Matchmaker? by Anonymous Coward · · Score: 0

      midcom-p2p.sf.net has an implementation called natcheck which might be handy. Note that you can even connect via TCP sometimes; Bryan Ford is writing a paper about that. See also draft-ford-midcom-p2p-03.txt, RFC3489 (STUN), and my site, alumnus.caltech.edu/~dank/peer-nat.html.

  58. one word then by calculadoru · · Score: 1
    --
    The power of accurate observation is commonly called cynicism by those who have not got it. -- G.B. Shaw
  59. has anyone noticed this on Suprnova? by calculadoru · · Score: 1

    "New P2P program beta testing.

    sloncek @ 23-11-2004 12:47

    Like before, we are looking for beta testers, to test a new P2P program.
    If you would like to help us, please click here and enter your forum nickname in the form on the website.
    In order to participate in the beta testing, you need to be a member of our forum . If you are not yet a member, just follow this link and register there. You will need to have at least three (3) posts on the forum in order to be able to participate in the beta testing.
    Please only register for the beta testing if you really plan on helping test the program. Meaning you will download and upload with/in the program.
    The program is for Windows only!
    Hurry because there are only 5000 places available!"

    hmmmmm...I wonder what sloncek is up to...

    --
    The power of accurate observation is commonly called cynicism by those who have not got it. -- G.B. Shaw
  60. Meritless smugness is really stupid by AndroidCat · · Score: 1

    P.S. how well does that guaranteed system-level NACK work when someone is using a P2P protocol designed to sneak through firewalls? (Especially if it's a magic "stealth" firewall that eats ICMP packets coming back saying the port is unreachable?)

    --
    One line blog. I hear that they're called Twitters now.
  61. Dude by apankrat · · Score: 1

    'Stealth mode' firewall normally eats ingress pings and egress 'ttl expired'. And some other rarely used ICMP types.

    Never should it block ingress ICMP/DestUnreachable for Related egress TCP or UDP traffic, because this will break tons of various applications.

    If eDonkey and BitTorrent ignore UDP socket errors, it just speaks that much of their developers, not the fact that NACK-based protocols are bad.

    One way or another Reliable UDP (or any other custom quasi-L2 protocol for that matter) is rather advanced subject. If someone decides to tackle it, I just hope they are over-skilled and under-confident and not the other way around.

    --
    3.243F6A8885A308D313
  62. transfer connection ha-ha reliable udp by sl4shd0rk · · Score: 1

    like right that's yeah happen gonna.

    --
    Join the Slashcott! Feb 10 thru Feb 17!
    1. Re:transfer connection ha-ha reliable udp by lart2150 · · Score: 1

      I was looking in their cvs and the last thing on the todo is well good

      Implement checksums for messages (apparently UDP is unreliable)

      http://cvs.sourceforge.net/viewcvs.py/dijjer/Dij je r/docs/todo.txt?rev=1.1&view=markup

  63. Truce! :) by AndroidCat · · Score: 1
    In a perfect world the base protocols, as documented, should do the job. P2P, firewalls, NAT and routers should work properly on top of them. But darn it, I seem to live on Bizarro World instead!

    I can't speak for the designers of the P2P protocols. I haven't looked at their code to see what happens, and the documentation tends to be sketchy. I don't know why most tend to keep trying for days, only that they do. I only hope that the UDP P2Ps are better implemented--especially by the more enthusiastic implementors who frequently tweek without understanding.

    --
    One line blog. I hear that they're called Twitters now.
  64. Re:Reliable... (TCP/IP vs TCP/UDP) by Stephen+Samuel · · Score: 1
    >I>he two are not mutually exclusive.

    You can't get both TCP and UDP into the same packet without encapsulation.

    Almost all of the properties that UDP shares with IP are a result of it sitting on top of IP. Kinda like the way that a minimal subclass shares properties with it's parent class.

    Both TCP and UDP sit on top of IP, as does ICMP and a number of other protocls -- in fact both TCP and UDP sit on top of either IP4 or IP6. You don't have to change the tcp/udp code when you switch to IP4 -- just the IP code (that's the whole purpose of the layering process).

    --
    Free Software: Like love, it grows best when given away.
  65. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  66. Possible Solution To RSS Bandwidth Issues? by thomas536 · · Score: 1

    Could this possibly be leveraged to help alleviate some of the problems associated with RSS taking up so much bandwidth? Obviously yes, at least to some extent. But what would it take to become feasible and widespread?

  67. Hole Punching is also possible with TCP by rvannieuwpoort · · Score: 1

    Hi guys,

    Our group actually has a paper in this years HPDC conference, that shows a method to do hole puncing with TCP. We call it TCP splicing. This way, you don't have to implement a reliability protocol on top of UDP.

    You can find it at www.cs.vu.nl/ibis -> publications...

    Alexandre Denis, Olivier Aumage, Rutger Hofman, Kees Verstoep, Thilo Kielmann, Henri E. Bal:
    Wide-Area Communication for Grids: An Integrated Solution to Connectivity, Performance and Security Problems,
    Accepted for publication, HPDC-13, June 2004, Honolulu, USA.

    Here is a direct link:

    http://www.cs.vu.nl/ibis/papers/hpdc2004-denis.pdf

    Cheers,

    Rob

    1. Re:Hole Punching is also possible with TCP by Anonymous Coward · · Score: 0

      I've read your paper briefly and it seems you missed few points completely:

      - Many lame TCP stacks dont bother implementing simultaneous connects at all since nobody uses it, or implement it differently. At least that's what i've read in Stevens. So it hardly works even between hosts on a signle LAN.

      - clients would have to connect to each other's EXTERNAL ip:port. It's easy to learn their external IPs, but theres NO WAY to predict which port NAT is going to use, since it's allocated dynamically.

      - most NATs also simply drop all incomming TCP SYNs, so simultaneous TCP connects would never open.

      Quite useless paper, IMHO.

    2. Re:Hole Punching is also possible with TCP by Anonymous Coward · · Score: 0

      I also disagree that SOCKS has inherent scalability problems. It's normally implemented in userspace and so does a lot of select/recv/send relaying with lots of copying, and basically each packet has to go through complete TCP stack twice.

      But a kernel implementation similiar to that of NAT is clearly possible. Heck, it would be even simpler and faster than NATed routing, since there is no need for connection tracking, since it's explicit. SOCKS daemon would do just the usual thing until both ends are connected. Then, instead of relaying data, firget about sockets and let the kernel do it at packet level by rewriting headers.

  68. Read my post again. by brunes69 · · Score: 1

    It is not just a cache. It is like Freenet.

    A cache would take things you have downloaded and share them with others. THis is what all other P2P does. This is good.

    Dijjer shares things you *havent* downloaded - it downloads things you never requested using yoru spare bandwidth and shares them with others. As in, it downlods and shares things I never asked it to download.

    This is why it opens up logal problems. My Dijjer client could be downloading kiddie porn even though I never requested it, just because someone else on the Dijjer network did and I was connected to him at the time.

  69. Not Exactly by brunes69 · · Score: 1

    It would be more like a super-efficient and easy to use Bittorrent that works through any firewall.

    IMO this feature has to go - the thing is still immensly usefull without it.

  70. Read *my* post again by Sanity · · Score: 1
    A cache would take things you have downloaded and share them with others. THis is what all other P2P does. This is good.
    You are thinking of the wrong kind of cache. I'm not taking about a browser cache, I am talking about a HTTP cache like Squid. An ISP didn't download everything that is stored by their cache, rather one of their customers did. That does not make the ISP legally liable for what is stored by their cache.

    As a Dijjer user you are in exactly the position of an ISP running a HTTP cache, where your customers are the Dijjer user base.

    Read the link to the DMCA I reference, I think you will find that the DMCA perfectly describes what Dijjer does.

  71. DMCA not applicable by brunes69 · · Score: 1

    The DMCA exemtoins to ISPs have absolutely nothing to dow ith child pornography. As a parent poster said, the law does not care how or why you have the child porn in your posession. Even if you got it by accident, or via a service you provide to other parties, you can still be prosecuted and convicted.

    An ISP whose HTTP cache contained child porn *could* be prosecuted and convicted as well. But it would be quite obvious to the Feds that they were an unknowning intermediary, so the likelihood of that would be small.

    But how obvious would it be to the Feds that the HTTP download from X porn site was being made by someone else but not you? Good luck with that - I will stay away thanks.

    1. Re:DMCA not applicable by Sanity · · Score: 1
      An ISP whose HTTP cache contained child porn *could* be prosecuted and convicted as well. But it would be quite obvious to the Feds that they were an unknowning intermediary, so the likelihood of that would be small.
      The exact same logic would apply to the operator of a Dijjer node.
      But how obvious would it be to the Feds that the HTTP download from X porn site was being made by someone else but not you? Good luck with that
      No more obvious than were it a download from an ISPs HTTP cache.
      I will stay away thanks.
      Please do.
  72. NAT traversal by TheLibero · · Score: 1
    ... which is a workaround being developed for VPNs to go around NAT limitations on VPNs. check the RFC (draft).

    But the problem here is that this RFC is being preached to be implemented on NATting devices, like firewalls. So, I wouldn't imagine any "big" firewall vendor to implement another model for P2P :-)

    And BTW, m$ have just implemented that for WinXP & Win2K machines!

    --
    "Evil thrives when good men do nothing"