Slashdot Mirror


Fast TCP To Increase Speed Of File Transfers?

Wrighter writes "There's a new story at Yahoo about a new version of TCP called Fast TCP that might help increase the speed of file transfers. Sounds like it basically estimates the maximum efficient speed of your network, and then goes for it, dumping a lot of time-consuming error checking." There's also an article at the New Scientist with some additional information.

23 of 401 comments (clear)

  1. Isn't this called UDP? by havaloc · · Score: 5, Insightful

    Let's see. Transmission without error-checking is called UDP, isn't it?

    1. Re:Isn't this called UDP? by marbike · · Score: 4, Insightful

      Well, without error checking and session state.

      Really, I am not sure that this is a good idea. TCP includes error checking for a reason. I see this as a way to transmit corrupted files, not a way to speed up the internet experiance as a whole.

      --
      it is better to light a flame thrower than curse the darkness. -Terry Pratchett Men at Arms
    2. Re:Isn't this called UDP? by mondoterrifico · · Score: 4, Insightful

      No, UDP is a connectionless protocol, kinda like how our postal service works. TCP is a virtual connection more like when you make a phone call.

    3. Re:Isn't this called UDP? by evilviper · · Score: 2, Insightful

      Well this DOES have error checking... Just a different type.

      That said, UDP is probably a better option for 99% of high-bandwidth traffic. Higher-lever error checking could accomplish the same thing with potentially less overhead.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  2. stupid non network guy question by Emugamer · · Score: 2, Insightful

    Why not just number all packets between two hosts and if the recipient doesn't recieve a packet it requests that particular packet to be resent? I see problems with man in the middle attacks but is there any other reason?

    just wondering

  3. Reliability? by The+Bungi · · Score: 1, Insightful

    This is interesting, but is it realiable? I'd rather take rsync any day even if it happens to be slower, as long as it's sturdier.

  4. Cool by SilVerDirectXer · · Score: 2, Insightful

    speed or accuracy..either one...

  5. Without more details, sounds like BS by IvyMike · · Score: 2, Insightful

    I'm sorry, but without further technical details, this sounds like the sort of technical mumbo-jumbo that snake-oil salesmen were peddling back in the dot-com era.

  6. Re:Oh Great they've invented UDP by grasshoppa · · Score: 3, Insightful

    You people are giving me a headache. There is no mention about the removal of error checking. Actually, the article is lite on any technical details, but you can divine what they are doing well enough. Basically, it seems they keep tweaking mtu rwin, ect until they get the best connection they can.

    This isn't revolutionary so much as evolutionary.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
  7. not optimistic by ravinfinite · · Score: 5, Insightful

    "When the researchers tested 10 Fast TCP systems together it boosted the speed to more than 6,000 times the capacity of the ordinary broadband links.

    6,000 times? The tests done in labs are usually stripped-down and the results overstated just for statistical pleasure. In the real world, however, such figures are rarely achieved.

  8. This is old technology by nerdwarrior · · Score: 4, Insightful

    Measuring the round-trip time for packets and using this to information to predict the bandwidth delay product is nothing new. This is essentially one of the effects achieved with existing TCP congestion control algorithms such as TCP Tahoe, TCP Vegas and TCP Reno. The article is light on details and doesn't lead me to believe that they've done anything signicantly different from these three. Furthermore, if it *is* doing something different, how can it still obey the existing congestion control algorithms without thrashing? After all, we can all boost the speed of our TCP connections by simply turning off congestion control, as long as nobody else does it either. ;) [UDP's lack of congestion control is precisely why a few streaming video users can clog up an entire pipe for themselves, screwing everyone else who's using it.]

  9. There is a reason why TCP throttles itself by Madwand · · Score: 5, Insightful

    It's called congestion collapse and the condition is described by RFC 896 by John Nagle.

    Just firing packets into the network willy-nilly is very bad; it's the "tragedy of the commons" all over again...

  10. Re:Oh Great they've invented UDP by Igmuth · · Score: 3, Insightful

    Actually the mention of removing error checking is in the /. article summary.
    The problem is people are just reading the summary and assuming that it is actually correct and accurate.

    Good points otherwise...

  11. trollish - pls mod parent down by Frac · · Score: 2, Insightful

    without further technical details, this sounds like the sort of technical mumbo-jumbo that snake-oil salesmen were peddling back in the dot-com era.

    The New Scientist makes it quite clear on how the Fast TCP is done, if you know anything about how TCP works (and how the window size halves in the event of packet losses)

    shame on a relatively low-ID user making such trollish comments...

    1. Re:trollish - pls mod parent down by IvyMike · · Score: 4, Insightful

      First of all, the New Scientist article doesn't mention anything about TCP sliding windows or congestion control.

      The whole "driving a car while looking 10 meters ahead" analogy ignores a lot of the work TCP does to keep things moving fast. The "trasnmists, waits, then sends the next" packet paragraph is almost deliberately misleading.

      It tosses about a "6000 times faster" statistic without explaining 6000 times faster than what. Is my dad's 28.8 modem going to suddenly be getting throughput of 172Mbps? Of course not, but what difference is it going to make to him? I think maybe none at all, and FastTCP is only for very large network hauls, but the article has claims about me downloading a movie in 5 seconds.

      My DSL line is 768kbps; I get downloads of large files through it of around 85kBps, which is a data throughput rate of 680kbps. That means that all the layers of the OSI burrito, including resends, checksums, and routining information, add up to about 12% overhead. Not the best, but not that bad, either. How much improvement is FastTCP going to get me?

      The numbers for their practical test of Fast TCP connected two computers that got 925Mbps, and the "ordinary" TCP got just 266Mbps. Even that's pretty unbelievable to me; I find it hard to believe that TCP was running at about 25% efficiency.

      Extraordinary claims demand extraordinary evidence. Like I said before, without further technical details, this doesn't actually sound all that different than the claims of Pixelon, which also had an eye towards video on demand.

      Maybe they've got something; someone linked to the actual caltech article, which I haven't had a chance to read in detail (and wasn't linked to at the time I started my post). Caltech certainly is a cool place, so there is probably something interesting going on. But the New Scientist article is a fluff piece, pure and simple, and if calliing shennanigans on it makes me a troll, so be it.

  12. Re:they "discovered" TFTP by Aurora+Borealis · · Score: 2, Insightful

    TFTP sucks in the presence of packet loss. Its mechaism to deal with lossy networks is, umm, "trivial" :) The server sends one packet at a time, and waits for an ack after each. If a data packet or ack packet is dropped the server or client retries after something like 5 seconds (configurable, but in seconds). TCP retries faster, and keeps multiple packets in the air at one time. - AB

  13. "Video on demand" is irrelevant by Minna+Kirai · · Score: 4, Insightful

    The last sentence of both news articles suggests that this broadband-optimized TCP system could be used by corporations like Disney to provide video-on-demand. (If they're talking to Microsoft, on the other hand, the result will just be a modification to the TCP/IP stack in Windows(r), which doesn't care at all what kind of data it's transmitting)

    That's just wrong, at least according to the ways media companies have traditionally desired their materials to be broadcast over the internet. They typically use streaming protocols, which not only gives the user one-click startup, but also makes it non-trivial to keep a local copy of the file (enhancing the corporation's feeling of control).

    However, a well-designed streaming protocol won't use TCP at all. TCP hides many characteristics of the network from the application software, and to stream properly it needs to know as much as possible. One example of why TCP is bad for streaming: in streaming, you try to keep advancing time at a constant rate. Once 156 seconds of playing have elapsed, you want to be showing video from exactly 156 seconds into the source file. If at 155 seconds some packets were dropped, you should just skip over them and continue onward. TCP, however, will always try to retransmit any lost packets, even if that means they'll arrive too late to do any good. TCP has no knowledge that packets may expire after a fixed time, but a custom-built UDP protocol can be aware of that constraint.
    (Here's a reference on preferring UDP in video streaming)

    On the other hand, maybe a corporation will realize that properly controlled non-streaming playback can provide a better end-user experience (guaranteeing, for example, that once playing starts, network failures will never interrupt it). In that case, they might either try to push Microsoft to integrate this faster TCP/IP into Windows(r), or more interestingly, implement it themselves in customized player software.

    It's possible to implement a protocol equivalent to TCP on top of UDP, with only a tiny constant amount of overhead. So a programmer for realplayer, quicktime, or mplayer might be able to add the techniques from this research to his own code, even without support in the operating system.

  14. Re:zmodem??? by Bios_Hakr · · Score: 2, Insightful

    The TCP sliding window protocol does this. When you request a page, some data is sent to you. You send an ACK. the server then sends that same ammount of data, plus some more. Then you send an ACK. This continues until you stop sending ACKs. Then the server knows that it needs to back off a bit.

    I'm pretty sure this is a standard in TCP/IP.

    --
    I'd rather you do it wrong, than for me to have to do it at all.
  15. Re:But there's a reason you halve it.... by LarsG · · Score: 3, Insightful

    The fact that the CalTech group got a lot of improvement from their implementation is good real-world evidence that your analysis is probably off, since they don't halve their TX rate and they achieved significantly better throughput.

    What I'd like to know is where they did this real-world test. On a connection between two universities on Internet2 with wide fiber links, I can understand that they see a considerable perfomance gain. However, I'd also like to see tests done through consumer grade DSL or cable connections where the ISP typically use deep buffers.

    --
    If J.K.R wrote Windows: Puteulanus fenestra mortalis!
  16. Humm by Znonymous+Coward · · Score: 2, Insightful

    I have an idead! Fast TCP transfers with no error checking... And we'll call it UDP.

    --

    Karma: The shiznight, mostly because I am the Drizzle.

  17. Re:6000 TIMES !!! by Anonymous Coward · · Score: 1, Insightful

    I call bullshit, or at least very unclear wording. What are these "connection buffers at your ISP"? ISPs don't provide connection buffers, because that's not how TCP works. Routers keep no state for TCP connections; it is only the two endpoints that keep state. All that routers do is forward (and buffer) individual packets, and they don't care what connection each packet is part of.

    Furthermore, about all that buffering packets can do is increase your latency. And, if you are doing proper congestion avoidance, then most of the time latency will be increased only a small amount and in a fairly predictable manner. And by the way, not letting high latency prevent you from having high bandwidth is a solved problem for TCP. At least, it is if you are using a decent TCP stack that can support big windows.

    By the way, I'm not even sure I believe that the Fast TCP test mentioned in the article is a valid test. The article makes it sound like they took empty pipes and ran only one or maybe only ten Fast TCP connections over them at the same time. In reality, a core Internet router will run thousands of TCP connections at once. The inefficiency of TCP when it comes to congestion issues is that it backs off exponentially when it detects congestion, thus wasting theoretical bandwidth if you have a small number of connections on a single pipe. But if you have a really large number of connections, they are all doing their exponential back-offs at random times, and those exponential back offs are a much smaller part of the pipe's total bandwidth, so I would expect somewhat less bandwidth waste. I wish they had tested in that kind of environment -- an Internet router will thousands and thousands of TCP connections of varying bandwidth. On the other hand, if Fast TCP works equally well in most cases but works better in some (a router carrying a small number of high-bandwidth connections), then it's fine by me.

  18. compare to cold fusion by aminorex · · Score: 2, Insightful

    This really devastates the credibility of CalTech
    as an institution. It seems clear that some group
    at CalTech pumped this to the media, to the point
    where a categorically deceptive series of fluff
    pieces entered the news stream.

    Compare this to the "cold fusion" debacle in '89:
    Pons and Fleischman reported valid, and eventually
    reproducible results without hype, but the media
    pumped it with speculation. Pons and Fleischman,
    excellent, highly competent and productive stars in
    their field, were essentially tainted by no fault
    of their own, and run out of town on a rail.

    It's galling.

    --
    -I like my women like I like my tea: green-
  19. any fool can design a 'faster tcp' by porky_pig_jr · · Score: 2, Insightful

    the challenge is to make this 'better tcp' to co-exist with other versions of tcp currently deployed on Internet, like Tahoe and NewReno.The key point is the notion of 'fairness'. The way TCP (at least the currently deployed versions) are designed is to cooperate (in a sense) as to provide the equal share of bandwidth to competing flows. That's one of the reasons why it is so difficult to introduce TCP-like protocol with radically new design. I believe one of the reasons TCP Vegas (which has a good potential) does not get deployed on a wide scale is that it is not entirely clear how the mix of Tahoe, NewReno and Vegas would perform in terms of fair share.

    however from what i've been reading on caltech site, it appears that one of the usages of this protocol would be to download very large file on dedicated pipe (like movie on demand). From movie server to the user through private connection. This makes sense. You can streamline lots of things. OPtimize protocol for a fat pipe. Whatever ... I wouldn't call it a 'breakthrough' though.