On Sat, Mar 8, 2008 at 7:47 AM, Michael Rogers <m.rogers at cs.ucl.ac.uk> wrote: > Matthew Toseland wrote: > > RFC 2861 is rather late in the day for TCP. If we had set out to copy TCP > we > > would likely not have seen it. > > So what's your point - that because TCP has bugs, anything that's not > TCP won't have bugs? We're the only people looking for bugs in Freenet. > Lots of people are looking at TCP. > > > > Not possible. Well, maybe with transport plugins we'd have it as well as > UDP, > > but our primary transport will be based on UDP for the foreseeable future, > > because of NATs. > > TCP NAT traversal is nearly as reliable as UDP now, and likely to get > better as new NATs implement the BEHAVE standards. Plus we have UPnP > (yes, it's ugly and unreliable, but it's better than nothing) and > NAT-PMP. Again, a lot of other people are working on this.
At least for the near term future, and probably longer, we need an answer other than TCP because of ugliness like Comcast's Sandvine hardware. Forged TCP reset packets are non-trivial to deal with, but the equivalent problem doesn't even exist for UDP. Also, most consumer-level NATs are probably old devices that won't be upgraded any time soon. Remember, we want to handle an average user's NAT well, even if they can't / won't change the settings when Freenet asks them to. Evan Daniel