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.

401 comments

  1. Has to be said... by Anonymous Coward · · Score: 3, Funny

    Faster pr0n!!!!

    1. Re:Has to be said... by Jeremiah+Cornelius · · Score: 3, Funny
      C'mon.

      HUGE performance increase is possible, just by ommiting the optional EVIL bit.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    2. Re:Has to be said... by Anonymous Coward · · Score: 0

      Pah! Just think about all of the extra spam we can send!

      err... nevermind.

  2. 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 Ark42 · · Score: 4, Interesting

      No, UDP has error checking per packet via a checksum. What they are talking about is probably something to do with TCP "slow-start" where TCP connections speed increases slowly so as not to flood the network at first. I think the speed starts out exponentially with each packet then backing down some when packets are dropped.

    2. Re:Isn't this called UDP? by stratjakt · · Score: 1

      no, udp is connectionless

      --
      I don't need no instructions to know how to rock!!!!
    3. 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
    4. Re:Isn't this called UDP? by Ark42 · · Score: 4, Interesting

      The article seems kinda stupid to me, it describes a basic "stop-and-wait" protocol where only 1 packet can be in transit at a given time, and if it gets lost, it is retransmitted. I am pretty sure normal TCP has a window where it can send up to X packets at once and retransmit any particular missing one. I am sure there is room for improvement, but TCP is a fairly complex protocol already and the article seems to forget about all that.

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

    6. Re:Isn't this called UDP? by subreality · · Score: 4, Interesting

      #1. No. UDP has error checking. The difference between UDP and TCP is that TCP is a connection-based, sequence-enforcing protocol, where UDP is basically raw connectionless datagrams that arrive in any order and you have to handle packet loss and reordering in your application.

      #2. RTFA.

      #3. They're not getting rid of error checking. It sounds like they're reworking the windows for ACKs in TCP to allow better streaming over high speed, but realistic (IE, slightly lossy) networks. Current TCP aggressively backs off when packet loss is detected, to prevent flooding the weak link in a network connection. It works really well for consumer network speeds, but on very high speed networks (EG, 45 Mbps), even very light packet loss will drop your speed dramatically down. TCP just wasn't meant to scale to these kinds of speeds, and some reengineering needs to be done to make it work smoothly. Many of the current extensions to TCP have made matters a lot better, but it's still going to have trouble scaling to gigabit, high latency networks, and it's best to start dealing with these issues early.

    7. Re:Isn't this called UDP? by Anonymous Coward · · Score: 0

      If you're just transmitting a file, you're not terribly worried about the order in which you send the bytes. What if they use a reliable mechanism to transmit the size, then blast out a ton of unreliable packets. The receiver replies a while later with the ones it missed (using a reliable mechanism). Repeat until the receiver is satisfied?

      (Or if you're an AC on slashdot, just keep sending until they tell you to call it a night, cowboy.)

    8. Re:Isn't this called UDP? by Snoopy77 · · Score: 3, Funny

      The title seems to suggest that it is called "Fast TCP"??

      Gee ... we're not even reading the title of the stories anymore.

      --
      "She's a West Texas girl, just like me" - G.W Bush Iraqis
    9. Re:Isn't this called UDP? by zcat_NZ · · Score: 4, Informative

      I can only assume that the 'description' of how normal TCP works has been 'simplified to the point of being wrong' by reporters, because it is totally wrong. The description of 'why fastTCP is better' then proceeds to describe 'normal tcp as it actually works.'

      Any then they totally confuse the issue by mentioning that you can use multiple high speed links in parallel to get higher overall bandwidth. Boy am I impressed.

      --
      455fe10422ca29c4933f95052b792ab2
    10. Re:Isn't this called UDP? by Anonymous Coward · · Score: 2, Informative

      Actually UDP error checking is optional. If the checksum field is zero, the packet integrity is not validated.

      Tom

    11. Re:Isn't this called UDP? by Anonymous Coward · · Score: 0, Funny

      Getting FP is far more important than reading this fluff article. If you've never gotten First Post yourself, you probably won't understand what I'm talking about.

    12. Re:Isn't this called UDP? by harvardian · · Score: 5, Informative

      I see this as a way to transmit corrupted files, not a way to speed up the internet experiance as a whole.

      Without trying to be mean, you see it that way because you don't understand what's going on (mostly because the post was misleading). Fast TCP packets will still have a checksum and everything, so you're not going to get corrupted files. The change here is that normal TCP halves its "window size", or the amount of info that's out on the network at once without receiving an acknowledgement of receipt, with each error. This means that if there's one minor slowdown when 10 packets are currently out from your computer to the recipient (you've put out 10 packets without getting an ACK back yet), then your computer will reduce its window size and only allow 5 packets to be out at a time, effectively halving the transmission rate. Since TCP continually tries to get faster, it will always hit a bottleneck, resulting in your connection vacillating between optimal speed and half of that (approximately, I guess it might be worse than this on high-speed networks based on what I've read here).

      In Fast TCP, they do this "congestion control" in a different way. Rather than halving the connection speed with every slowdown to ensure stability, they send as much data as possible as long as the network seems clear on the recipient's end (I think they estimate this with round-trip time of some sort).

      So the "error checking" being changed by Fast TCP is NOT bit checking -- it's transmission rate checking. You'll still always get your files intact.

    13. Re:Isn't this called UDP? by zcat_NZ · · Score: 2, Informative

      Yeah, I was right.. there's a link to caltech further down which actually describes what they're talking about. Good to know that nobody but the reporters really think we're all still using xmodem/kermit like one-packet-and-wait protocols

      --
      455fe10422ca29c4933f95052b792ab2
    14. Re:Isn't this called UDP? by Fizzl · · Score: 1

      I only scimmed throught the article and it seems they don't know what they are talking about.
      Anyway.

      I could imagine using risky protocol for example for web surfing. My average browsing isn't so crucial I couldn't live with a bit of corrupted data.
      I wouldn't use it to DL any files however.

    15. 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
    16. Re:Isn't this called UDP? by harvardian · · Score: 5, Informative
      FYI, a great website for understanding how TCP congestion control works is here. It explains how TCP additively increases its window size as traffic goes through okay but then halves its window size when it runs into a problem.

      And I should clarify my first post as well by explaining what a "transmission error" is that would cause the window size to halve. From the article above:
      It is rare that a packet is dropped because of an error during transmission. Therefore, TCP interprets timeouts as a sign of congestion, and reduces the rate at which it is transmitting.
      Basically, what I mean by a "transmission error" is a timeout -- the sender sends a packet and never gets an ACK for it. TCP works on the premise that packets are mainly dropped when congestion is high enough for routers to drop packets because of maxed buffers. Thus it makes sense to reduce transmission rate when no ACK is received to adjust to the capacity of the network.
    17. Re:Isn't this called UDP? by Babbster · · Score: 1
      A question from a dolt to someone who seems to know about TCP:

      Instead of enhancing streaming video (which is interesting but could still end up slowing down depending on server loads), wouldn't this iteration of TCP be even more useful for enhancing international links? The way I understand what they (and you) are saying, it seems that the problem they're trying to address is the potentially slow turnaround time of the ACK packet. The problem would be magnified when downloading data on a US computer from, say, a Russian site (especially since one of the two computers would always be operating in "primetime"), and this protocol change would seem to address that.

    18. Re:Isn't this called UDP? by mordicus · · Score: 1

      This isn't anything revolutionary though - the TCP slow start has been circumvented in most GPRS applications because the erratic nature of the airlink would cause the slowstart algorithm to decide there was network congestion and thus keep the window size minimal almost all the time. BTW, UDP only has optional packet checksums and afaik they're seldom used.

    19. Re:Isn't this called UDP? by harvardian · · Score: 4, Informative

      This is stretching my certainty (I'm recalling all of this from a sophomore year CS networks class and I've been overwhelmed by booze in my graduating week), but here's a stab at this...

      I don't think that having a long RTT (round-trip time) will have a huge effect on transmission rate in the standard TCP case. Internet traffic, if I remember correctly, is bursty (cite), meaning that a typical transmission looks like:

      SEND 32 PACKETS
      RECEIVE 32 ACKS

      SEND 36 PACKETS
      RECEIVE 36 ACKS

      SEND 40 PACKETS
      RECEIVE 38 ACKS

      (oops! Sent 2 more than I could! Halve TX window!)

      SEND 20 PACKETS
      RECEIVE 20 ACKS

      etc. In this case it's easy to see why having a long RTT doesn't slow things down particularly, since there can be a big gap between the SEND and RECEIVE and nothing changes.

      In the case of non-bursty traffic, I don't think large RTT causes a big problem for normal TCP either. This is because even with a large RTT (if it takes 400 ms to go from sender to host, for example) ACKS will still be streaming in at a constant, if slower, rate, allowing for more packets to be sent out (this is more subtle to explain, so you might want to google more for a better explanation).

      I think the reason you misunderstand this is because the New Scientist article makes it sound like you send a packet, then receive an ACK, then send one, etc. This is not the case -- you send lots of packets together...this is the principle behind the "window", that you can send out more than one packet at a time without receiving an ACK because you've been successful at that so far.

      FYI, I looked up MCI's traffic times and found that transatlantic latency is roughly 80ms compared to 45ms for within-US traffic (cite). This is non-trivial, but also not huge.

      If anybody disagrees with this assessment, please feel free to correct, since as I said, I'm not 100% sure that increased RTT doesn't mean lower window size.

      Also, from my reading a lot of the gain was simply in the fact that halving a throughput rate of 800K/sec means you're dropping to 400K/sec when realistically you should probably only be dropping a little bit. According to NS, they improved by more than two-fold, but that's probably just because normal TCP doesn't often get to the actual max of the network, it may burp a lot on the way up and dip more than halfway than its reasonable max.

    20. Re:Isn't this called UDP? by skaya · · Score: 3, Interesting
      Since TCP continually tries to get faster, it will always hit a bottleneck, resulting in your connection vacillating between optimal speed and half of that (approximately, I guess it might be worse than this on high-speed networks based on what I've read here).

      This explanation must be somewhat simplistic, because everybody already did some 100 mbps transfers on fast-Ethernet LANs (even with a couple of routers), and we did not notice that the transfer speed was oscillating between 50 and 100 mbps.

      Also, the latency of the link won't influence things significantly (I have 25 mbps at work, and if I can find something that has at least 25 mbps too, I can do FTP at 3 megabytes/s with constant speed).

      Unless, of course, when talking about "high-speed" you mean the 1-100 gbps, and "high-latency" more than 1s... I don't have real life experience with those yet.

      The numbers mentionned are clearly wrong (6000x speedup? are we joking?), and this reminds me of an article I read some times ago, boasting noticeable performance improvements when increasing MTU (packet size) on networks. Of course, larger packets means less overhead ; but the numbers and figures where completely biased - first, they were only simulations ; second, their "optimized" protocol achieved 100 mbps, and the "plain" FTP achieved not even half of that - well, again, everybody has already achieved 100 mbps speed with FTP, so there must be some "trick" - I mean, some tweaked parameter in the simulation to reduce FTP performance. If this is a real life parameter, very good ; if not, the numbers aren't even worth the bits that describe them...

      In any case, the original news seems quite vague and error-prone (again, I tend to be very skeptical when people pretend they achieve high improvements with a protocol that already works at near-wirespeed...)

    21. Re:Isn't this called UDP? by harvardian · · Score: 1

      Just to be more clear, it should look more like this:

      SEND 32 PACKETS
      (wait)
      RECEIVE 32 ACKS
      SEND 36 PACKETS
      (wait)
      RECEIVE 36 ACKS
      SEND 40 PACKETS
      (wait)
      RECEIVE 38 ACKS

      Since the delay is in waiting for your ACKs to get back, not in waiting to send more packets out.

    22. Re:Isn't this called UDP? by harvardian · · Score: 2, Interesting

      This explanation must be somewhat simplistic, because everybody already did some 100 mbps transfers on fast-Ethernet LANs (even with a couple of routers), and we did not notice that the transfer speed was oscillating between 50 and 100 mbps.

      That's because the oscillation happens so fast that you can't see it happening (or see the next paragraph for an alternate explanation). I mean, it is not a disputed fact that TCP will frequently halve its window during a large file transfer under normal Internet conditions, so there are definitely changes in TX speed that you can't see (your FTP program will probably average over a longer period of time to determine its displayed speed).

      As for you saying you got 100 mbps throughput on a 100 mbps line with routers...it's possible that the router is designed to handle that much traffic in its buffer. I think most routers only start barfing when they get lots of traffic on multiple input links, but that's an IIRC, not something I'm sure of.

    23. Re:Isn't this called UDP? by Babbster · · Score: 1

      Thanks for making that clear enough that even a non-network person can understand. I knew that the linked articles were over-simplifying but they did so in a way that, as you pointed out, could lead to more confusion on the part of people who know diddly squat about TCP/IP. This is an example of where Slashdot pays off for the non-techies. :)

    24. Re:Isn't this called UDP? by mgschwan · · Score: 1

      It is not UDP, but as Microsoft and Disney want to use it for Streaming Video they should use UDP. Every Broadband Video Stream i know uses UDP as it is not necessary that the connection is 100% reliable. So why could they want to use TCP???

    25. Re:Isn't this called UDP? by tincho_uy · · Score: 5, Informative

      No, the guy at new scientist got it right... TCP uses an AIMD (additive increase multiplicative decrease) rate control algorithm. The rate at which you send is controlled by the window size at any given time. If you detect a loss, you decrease your window, dividing it's size by 2. If packets are arriving ok, you make small increments to your window size.

      This new protocol uses a different window management algorithm. It uses the acks as probes, (I guess they measure delays) and if 'the coast is clear', it maxes it's transmission speed

      I do wonder about FAST TCP congestion control capabilities, thugh... As for the poster who taled about slow start, sorry pal, but slow start is just the name...At that state, the transmission rate is increased quite fast, actually

    26. Re:Isn't this called UDP? by LarsG · · Score: 1

      It is not UDP, but as Microsoft and Disney want to use it for Streaming Video they should use UDP. Every Broadband Video Stream i know uses UDP as it is not necessary that the connection is 100% reliable. So why could they want to use TCP???

      As you mention, TCP isn't exactly a good match for streaming applications. UDP is one option, but the problem with UDP is that you have no standard rate/congestion control - each application/protocol on top of UDP has to reinvent it. UDP is okay'ish as long as not too many people use it. If the amount of streaming on the Internet increases, you need some sort of congestion control to make sure that the streaming traffic doesn't saturate the links.

      What is needed is a new standard protocol which behaves like UDP + rate/congestion control.

      --
      If J.K.R wrote Windows: Puteulanus fenestra mortalis!
    27. Re:Isn't this called UDP? by Matrix272 · · Score: 1

      If they're correct about the 6000x speed increase, that would mean a 56k modem could transmit at 336mb... seems just *slightly* off to me. However, assuming they're correct and there actually IS a 6000x increase in transmission speed, does that mean a T1 suddenly would jump from a potential 1.5mb link to a 9000mb (or 9gb) link? I hope so... I'd love to get the 2.3gb version Matrix Reloaded in less than 3 seconds...

      --
      "It's better to have a gun and not need it than need a gun and not have it." ~ Christian Slater, True Romance
    28. Re:Isn't this called UDP? by JPriest · · Score: 1

      You do receive X packets at once. The number of data that you receive before "stop and wait" is called the receive window or RWIN. If you are on a fast connection with relatively low packet loss it is usually a good idea to manually raise your RWIN from your operating systems default. You can do this in both Linux and Windows pretty easy and it can eliminate quite a bit of the transmit overhead usually associated with TCP. dslreports.com and speedguide.net have more info on tweaking your TCP settings.

      --
      Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
    29. Re:Isn't this called UDP? by KyleJ61782 · · Score: 2, Informative

      Actually, though, he was correct since in the latest forms of TCP found in kernels today (just check out the Linux source code...), ACKs are already used as probes to determine congestion *and* RTT for throughput purposes. With advancements like TCP Reno, and newer, rarely does TCP ever go into a full timeout, or even hit a point where multiplicative decrease is actually needed, more often just additive decrease is required to maintain efficient congestion control.

      But you are correct, slow start is anything but. It certainly is much better than just flooding the network right off the bat, however yes, it does have an exponential start. The major disadvantage of slow start is the fact that it starts from one segment onward, which is obviously worse than just halving the window.

      --

      I refuse to have a battle of wits with an unarmed person.
    30. Re:Isn't this called UDP? by Minna+Kirai · · Score: 1

      Internet traffic, if I remember correctly, is bursty

      Part of what the FAST TPC project tries to do is make it less bursty, by inserting a timer mechanism on the sender to spread out the transmission of packets. It's mentioned on page 5 of the FAST pdf.

      (Willingly throttling your send rate will reduce the speed you can send small files, but when sending large files it'll reduce the chances of overloading the network, which could lead to an overall improvement)

    31. Re:Isn't this called UDP? by operagost · · Score: 1

      Shoot, even Kermit doesn't use stop-and-wait anymore. Unless you're using crap like Hyperterminal.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    32. Re:Isn't this called UDP? by i0chondriac · · Score: 1

      Nah, New Scientist got it wrong. He said that the Internet 2 infrastructure is for scientific data... We all know Internet 2 is for phat pr0n, mad Warez, and Kazaa traffic!

    33. Re:Isn't this called UDP? by Anonymous Coward · · Score: 0

      Just because it's optional doesn't make it somenow *NOT* a part of the protocol.

      So while you are correct, so's the guy ahead of you. UDP *has* error checking.

    34. Re:Isn't this called UDP? by leeet · · Score: 1

      Speed doesn't increase during a communication. You have the impression it does. When you init a handshake, you give a window size and the other machine will send you as many bytes as you want. The speed of the connection itself varies depending on the "channel" you take (some links are faster than other, etc). You also have people starting/stopping connections so you have a roller-coaster effect. "Speed increase" is not decided by any host. Only the window size is. And as far as I know, you can't change it once it's set.

      --
      -- Leeeter than leet
    35. Re:Isn't this called UDP? by Peter+La+Casse · · Score: 1
      If they're correct about the 6000x speed increase, that would mean a 56k modem could transmit at 336mb... seems just *slightly* off to me. However, assuming they're correct and there actually IS a 6000x increase in transmission speed, does that mean a T1 suddenly would jump from a potential 1.5mb link to a 9000mb (or 9gb) link?

      No, they're saying that on the 1000 Mbps network in question, a single TCP stream is only able to achieve 266 Mbps of throughput where their variant achieves 925 Mbps of throughput.

      The 6000 number came from running 10 streams together, achieving 8609 Mbps, which is 6000 times what a typical ADSL connection gives (according to their press release.) This is pretty meaningless, since their underlying network is much faster than a typical ADSL connection, but big numbers impress reporters who don't possess critical thinking skills (or the background to use them).

      The important part is the 266 -> 925 increase.

    36. Re:Isn't this called UDP? by fitten · · Score: 1

      As for you saying you got 100 mbps throughput on a 100 mbps line with routers...it's possible that the router is designed to handle that much traffic in its buffer.

      You won't get that using TCP/IP anyway. Because of the overhead in the protocol (control information and such), there is a ceiling on the efficiency of user-data/total-packet-size that you will see. The calculations are pretty easy to do given the packet structure. Some of the best transfer rates I've seen (closed network bandwidth test) have been around 90% of the connection speed using a high-quality switch (not using any compression techniques, of course).

      I usually see around 145KB/s ftp transfers over my 1.5Mb DSL at home for large transfers (like that 600MB file I downloaded last night) across the Internet.

    37. Re:Isn't this called UDP? by 680x0 · · Score: 2, Informative

      It's called RTP (Real Time Protocol) which contains timestamps for determining when each packet is supposed to arrive. Feedback is sent back to the transmitters by a related protocol called RTCP (Real Time Control Protocol) which let's the sender know about "jitter" (variation in packet arrival times), lost packets, and other problems. Read RFC 1889 for more info. (RFCs available here.)

    38. Re:Isn't this called UDP? by fasura · · Score: 0

      It uses the acks as probes, (I guess they measure delays) and if 'the coast is clear', it maxes it's transmission speed

      Well that's me stuffed, I tune my firewall to minimise ack delay (priority 7 using altq), goodbye well planned window size.

      --
      -- Be careful what you say. Someone might remind you about it another day.
    39. Re:Isn't this called UDP? by tigga · · Score: 1
      The major disadvantage of slow start is the fact that it starts from one segment onward, which is obviously worse than just halving the window.

      Take a look at RFC 3390 - "Increasing TCP's Initial Window". It allows to start with up to 4 segments initially, which is very nice for general HTTP traffic.

    40. Re:Isn't this called UDP? by El · · Score: 1
      Yes, but the TCP window size maxes out at 64Kbytes (unless you're using window scaling), or about 43 packets. On a higb-bandwidth pipe with large Round Trip Time (e.g. going over a satellite), this makes your traffic really bursty... send 43 packets, wait for ACK, sent 43 more packets, etc.


      The main problem with TCP is that flow control is octet based, not packet based. A reliable packet delivery protocol would have been nice; seems like everybody implements their own non-standard solution to this on top of UDP.

      --

      "Freedom means freedom for everybody" -- Dick Cheney

    41. Re:Isn't this called UDP? by Dwonis · · Score: 1
      A reliable packet delivery protocol would have been nice;

      It's called RDP ("Reliable Datagram Protocol"). (IPv4 Protocol 27)

    42. Re:Isn't this called UDP? by JebusIsLord · · Score: 1

      Technically IP has the checksum, regardless of whether it's TCP, UDP, ICMP etc. What he meant was that UDP does not guarantee delivery. IP in general does not guarantee that, It's only TCP at the higher level that does.

      --
      Jeremy
    43. Re:Isn't this called UDP? by Anonymous Coward · · Score: 0

      Actually, during slowstart every ACK triggers the release of two packets hence you have exponential increase. That is of course higher than the increase you get during the so called congestion avoidance phase which follows the slowstart phase and where the sending rate increases by a packet per round trip time. So--to summarise: Slowstart -> very fast increase in speed, Congestion Avoidance --->smaller increase in speed. The slow in slowstart is misleading. ...

    44. Re:Isn't this called UDP? by Anonymous Coward · · Score: 0

      No. the checksum field in UDP is not neccessarily filled in by the operating system. It is reccommended to do so by the RFC but not required. Thank you...

  3. Error checking... by deanj · · Score: 0, Funny

    Yeah, that pesky error checking will get you every time....

    1. Re:Error checking... by wo1verin3 · · Score: 1

      Well I'm thinking long term, but what if instead of error checking now like in TCP, there was some hardware processing of checksums....

    2. Re:Error checking... by mph · · Score: 1
      Well I'm thinking long term, but what if instead of error checking now like in TCP, there was some hardware processing of checksums....
      Yep, real long term.
  4. uh BitTorrent? by diesel_jackass · · Score: 4, Funny

    This would be badass when combined with BitTorrent!

    1. Re:uh BitTorrent? by retto · · Score: 1

      From my understanding of the article, there are changes to the hardware on the sending end. So unless everyone has that FastTCP hardware, there wouldn't be a dramatic increase in BitTorrent performance.

      but if they did....whoa lordy lookout! one runaway freight train of warez and porn a' comin!

    2. Re:uh BitTorrent? by ogre2112 · · Score: 5, Funny

      I foresee BitTorrent as being the next Slashdot craze. (See: Beowulf, Natalie Portman. . .)

      "Hey! This article is great! Imagine how BitTorrent would help it!"

    3. Re:uh BitTorrent? by Anonymous Coward · · Score: 0

      EXCUSE ME, but "FastTCP hardware"?!?

      TCP is a layer above IP which is (drum roll please).... ALL IN SOFTWARE.

      Surprise, Your an ID-10T

      *yes, "your" is spelled incorrectly

    4. Re:uh BitTorrent? by diesel_jackass · · Score: 0, Redundant

      All your .torrent are belong to all!
      ...
      Move bit!</corn>

      yeah, i see what you mean.

    5. Re:uh BitTorrent? by retto · · Score: 1

      The difference (in Fast TCP) is in the software and hardware on the sending computer

      I suggest you RFTA
    6. Re:uh BitTorrent? by Anonymous Coward · · Score: 0

      mention BitTorrent and get modded up.

    7. Re:uh BitTorrent? by Anonymous Coward · · Score: 0

      yez, i can't wait for the day when I can get 650Mb files transferred in 10 seconds. Then we get the cd/dvd-burners up to speed, and my illegal bootlegging buziness is back in swing!

    8. Re:uh BitTorrent? by Wild+Wizard · · Score: 2, Informative

      I suggest you RTFPDF namely this one.

      Which says nothing about hardware (and none of the others I read mentioned any change to hardware)

      Also a little reading and you will discover this is just a stop gap measure untill ECN is fully deployed.

      And yet more reading will produce this little gem at the bottom :-
      With 9,000-byte MTU, Linux, FAST and Scalable TCP all sustained more than 2.53Gbps on a single flow between Sunnyvale and Geneva, apparently limited by the transatlantic link. HSTCP sustained 1.8Gbps in that experiment. We emphasize that these experiments are preliminary and not yet conclusive

    9. Re:uh BitTorrent? by esquimaux · · Score: 1

      > TCP is a layer above IP which is (drum roll please).... ALL IN SOFTWARE

      I suggest you look at any number of modern router implementations, and more to the point, TCP and IPSEC "offload" network cards from 3com, Adaptec, Alacritech, and others. For that matter, decent ethernet NICs have been doing checksumming in the hardware for aeons now.

      (Of course, this has nothing to do with Fast TCP.)

    10. Re:uh BitTorrent? by Anonymous Coward · · Score: 0

      GFY asshole.

      Anyways, the article wasnt very.... technicial(cough). Well, it probably suit yourself. After all, you're the "pro" on FASTtcp.

    11. Re:uh BitTorrent? by Omestes · · Score: 1

      it is already, count the amount of times the term "BitTorrent" has been used in the last month. Except its not like, 'a beowolf cluster of these would be cool", but setting up a bittorrent of these would be cool.

      Setting up a bittorrent of the frontpage of goatse would be COOL! A beowolf cluster of Natalie Portman as the Goatse guy wouleed be coolER, set up a bittorrent link to that shit! (with a darn EViL BIT!)

      --
      A patriot must always be ready to defend his country against his government. -edward abbey
    12. Re:uh BitTorrent? by trelanexiph · · Score: 1

      and let us not forget the grits, we must have grits :)

      trelane

    13. Re:uh BitTorrent? by Anders · · Score: 0, Redundant

      I foresee BitTorrent as being the next Slashdot craze. (See: Beowulf, Natalie Portman. . .)

      1. Identify Slashdot craze
      2. Moderate "redundant"
      3. Profit!
    14. Re:uh BitTorrent? by aiyo · · Score: 1

      Actually I think the new craze will be predicting crazes.

      See?

    15. Re:uh BitTorrent? by Anonymous Coward · · Score: 0

      Actually it would be cool if slashdot would start posting a BitTorrent mirror of the websites referenced in postings or at least the slow (aka slashdotted) ones. Seems easily scriptable.

      BitTorrent would need a little web site friendly tweaking to best serve this purpose...

    16. Re:uh BitTorrent? by demmer · · Score: 1

      don't mess with nat !!!

    17. Re:uh BitTorrent? by Anonymous Coward · · Score: 0

      >"Hey! This article is great! Imagine how BitTorrent would help it!"

      IN SOVIET RUSSIA, BITTORRENT TRANSFERS YOU!

    18. Re:uh BitTorrent? by Anonymous Coward · · Score: 0

      Wouldn't a Beowulf cluster of BiTorrent servers using FastTCP be better?

    19. Re:uh BitTorrent? by Anonymous Coward · · Score: 0

      In Soviet Russia, We get our Beowolf clusters of Natalie Portmans over BitTorrent...

    20. Re:uh BitTorrent? by infinite9 · · Score: 1

      "Hey! This article is great! Imagine how BitTorrent would help it!"

      Yeah, especially if it were the size of a volkswagen.

      --
      Disconnect your television. Do your own research. Draw your own conclusions. They're probably lying. Don't be a sheep.
    21. Re:uh BitTorrent? by Anonymous Coward · · Score: 0

      In Soviet Russia, you help BitTorrent!

  5. Interesting, but I might suggest a different name: by grasshoppa · · Score: 2, Interesting

    SmartTCP. It sounds like equipment is constantly tweaking the connection for the optimum through put.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
  6. 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

    1. Re:stupid non network guy question by Poofat · · Score: 5, Informative

      Thats what TCP does, just in a passive fashion. The sender queues all sent packets for resend, (on a delay) and packets are deleted from the queue when an acknowledgement for a range of packets is recived from the remote computer.

      If you're curious: RFC 793

    2. Re:stupid non network guy question by drinkypoo · · Score: 2, Interesting

      The nice thing about using TCP rather than UDP is that it has connection state so you can filter packets more cheaply, as well as doing NAT more cheaply (both in terms of processor time.) With IPv6 NAT shouldn't be much of an issue but filtering is still a big deal and getting bigger.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:stupid non network guy question by heXXXen · · Score: 1

      it's called sliding windows and TCP does that already

    4. Re:stupid non network guy question by Anonymous Coward · · Score: 1, Interesting

      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?

      Because that is exactly what happens already. The reason this system is slower than FastTCP is because it's non-predictive. It just takes a shot at the maximum speed and if it doesn't work the first time, it tries again at a slower speed until it works.

    5. Re:stupid non network guy question by Emugamer · · Score: 1

      a note of clarification.. what I meant to say is it wouldn't send acknowlegements it did not recieve a certain numbered packet and otherwise not send any responses...

      tcp respondes to each packet correct?

    6. Re:stupid non network guy question by kramer2718 · · Score: 3, Informative

      What you're talking about is a NACK (negative acknowledgement). Basically, if I miss a packet, I'll send a NACK. Some protocols use them, but you can't use NACKs exclusively.

      If the recipient never NACKed a packet, the sender wouldn't know if the all the packets were getting through or if none of the NACKs were getting through.

    7. Re:stupid non network guy question by Wesley+Felter · · Score: 1

      That's SACK and it's a good idea but a lot of systems still don't implement it.

    8. Re:stupid non network guy question by Anonymous Coward · · Score: 0

      But positive ACKs would only be needed during
      initial handshaking. Beyond that connection is
      proven and NACKs would suffice. You could also
      have an additional signal indicating "impatience",
      sort of like "didn't get anything in a while, wtf"
      signal. In other words, you only need to
      communicate if something unusual happens, else
      just keep transmitting. Is this what TCP does?

    9. Re:stupid non network guy question by Anonymous Coward · · Score: 0

      No way man. "It does not take a a shot at it" It ramps up until the maximum is reached.

    10. Re:stupid non network guy question by Vipester · · Score: 1

      Like someone else said, these are called NACKS. In theory, this would be a good way to do it but I think there are implementation problems. Also, using regular ACKS doesn't incur as much overhead and is useful in other ways:

      1) ACKS are cumulative, not one for every packet. TCP sends packets in groups (windows) and the entire group gets acked at once if received correctly. (note: varying the size of the group/window is how the send rate is adjusted which is what started this whole discussion)

      2) ACKS can often be piggy-backed onto data being sent in the opposite direction and in fact every TCP frame has a field especially for this purpose. This greatly reduces the number of dedicated ACK packets that need be sent.

      3) The congestion control algorithms that are in use now (and are used by FAST) work by having congested routers set bits in the ACK packets going back to the source. When the sender sees these panic bits, it slows down. This requires a steady stream of packets going back to the sender which you can't depend on with a pure NACK approach.

    11. Re:stupid non network guy question by evilviper · · Score: 1

      Okay, first problem is, how fast would you like to send these packets... Let's say you have a 1000Mbps line. Do you send at full speed and cause congestion, resulting in this causing more of a slowdown, or do you send at half speed and possibly under-utilize the line?

      What if multiple machines are using the same line? Should ten systems all be sending data at 1000Mbps? At that rate, you probably won't recieve anything.

      What if, for some reason, the 'resend' packets are dropped? Maybe you've over-utilized the line, and they can't get through.

      Are you going to send the rest of that 1GB file, only to find out that only the first 10K got through?

      Since you're a "non network guy", I'll leave it at that.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    12. Re:stupid non network guy question by LarsG · · Score: 1

      3) The congestion control algorithms that are in use now (and are used by FAST) work by having congested routers set bits in the ACK packets going back to the source. When the sender sees these panic bits, it slows down.

      Is this ECN, or is that a separate feature?

      --
      If J.K.R wrote Windows: Puteulanus fenestra mortalis!
  7. 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.

    1. Re:Reliability? by Minna+Kirai · · Score: 1

      Rsync shouldn't be compared to TCP or this variant TCP. That's like asking if a Pentium is faster than a Compaq.

      Rsync is an application-level protocol, as are HTTP and FTP. TCP is a transport-level protocol. Rsync, HTTP, and FTP all run on top of TCP. If the modified TCP described in the article works correctly, then they can all run on top of it as well, without those programs being aware that anything is different (only the TCP/IP stack in your OS will change, nothing else).

      (Technically, rsync runs on top of rsh or ssh, which are both themselves application-level protocols. But those two run on TCP. Some application-level protocols don't use TCP at all, but instead prefer UDP. For example, games like Quake3)

  8. zmodem??? by case_igl · · Score: 5, Interesting

    I remember back in my BBS days what a big deal zmodem was when it started getting used all over the place. As I recall, it changed the block size that you would receive dynamically based on line quality.

    So when you sent a block of 2k and got no errors, the frame size increased to 4k...8k... etc etc... Sounds like a similar approach.

    Case

    P.S. That was a long time ago in a FidoNet far far away, so my terms may be off.

    1. Re:zmodem??? by Anonymous Coward · · Score: 0

      Yes, that was the Zmodem variant ZedZap, or Zmodem-8.

    2. Re:zmodem??? by zakezuke · · Score: 1

      Back in the day when I had a dialup modem as well as the option of connecting to the net via PPP or via dialup shell, I observed that for me using zmodem was MUCH faster then FTP over TCP/IP. Very useful for that super big demo, or linux distrobution.

      As a result I cached stuff on my provider, and set to download overnight. Also Zmodem has a very spiffy resume feature my FTP at the time didn't support. My provider supported this "suck up our lines at night" as it left the lines open for their business customers.

      I'd have to experiment with this in my own enviroment some more to see if this holds true, but i'm willing to believe that there is some room for improvement there.

      Note, there still is, to my knowledge, nothing slower then kermit.

      --
      There is no sanctuary. There is no sanctuary. SHUT UP! There is no shut up. There is no shut up.
    3. Re:zmodem??? by Anonymous Coward · · Score: 0

      I would hope so. Think about the overhead here. You have the FTP transfer, which is TCP, so you have TCP headers, plus IP headers, plus the encoding and other fun stuff from PPP.

      Compare that to something like Zmodem, which has relatively little overhead. Given a large enough file, I'm sure you could easily see a difference.

      This is the price you pay for being able to multiplex protocols over that link.

    4. Re:zmodem??? by dbavirt · · Score: 1

      IP already does this; it's called sliding windows.

    5. Re:zmodem??? by Ark42 · · Score: 1

      I still use zmodem - rz an sz command line tools from my linux server. TeraTerm SSH supports zmodem, and its really handy for quickly transfering files. I suppose SCP would probably be just as easy now-a-days tho, but I dont know of any quick way to spawn a file-pick dialog directly from my free SSH client to get the transfer started without resorting to launching external tools manually.

    6. Re:zmodem??? by joshuac · · Score: 4, Interesting

      Actually, the Zmodem that was widely used (real zmodem) maxed out at 1k blocks, but it would steadily scale down to as small as 16 byte blocks (if I recall correctly).

      There were variants that did 8k blocks (and often referred to themselves as Zmodem8k), but none of these were true zmodem protocol.

      Still, nothing can be quite as fast as ymodem-g :)

      A little more on topic; what they are describing does not dynamically scale the packet size, only dynamically adjust the transmission speed up to the point that ack's start slowing down, but (hopefully) before any packets actually get dropped. I suspect disney and such will be quite disappointed if they think they are going to get a 6000x speedup in practical use as hinted at in the articles. Perhaps a 10% speedup for joe blow on a dialup modem, _maybe_. Take a look at your connection some time when downloading a file; you will probably find you can already peg your bandwidth quite nicely.

    7. Re:zmodem??? by pla · · Score: 1

      I remember back in my BBS days what a big deal zmodem was

      Back in the day? I still use ZModem on an almost daily basis...

      Not for downloading from BBSs, but just because it takes less effort in an ssh session to say "sz blah" than to bother establishing a separate sftp connection (which, in my experience, works flakily at best anyway, while ZModem always works fairly well).

      Then again, I also prefer CLIs to GUIs, so you can probably tell a lot about me right there. ;-)

    8. Re:zmodem??? by polymath69 · · Score: 4, Informative
      Note, there still is, to my knowledge, nothing slower then kermit.

      At the risk that you're trolling, Kermit is actually very good indeed (after 1990 or so,) assuming you set your options correctly.

      The defaults are slow, but they work; that's Kermit's raison d'etre and why it's still around. But Kermit was probably also the first protocol to implement sliding windows and configurable blocksizes; Zmodem probably got that idea from Kermit. Set your options correctly, and Kermit's damn good.

      The age of the BBS is over (I ran one for about 12 years) but I'm pretty sure I'll use Kermit again before I have cause to use Zmodem again.

      --

      --
      I don't want to rule the world... I just want to be in charge of mayonnaise.
    9. Re:zmodem??? by G27+Radio · · Score: 4, Interesting

      I used to run an Apple II BBS/AE in the mid to late 80's (201). X-modem was king when I started. But Y-modem and then Z-modem surpassed it.

      X-modem transmitted files as 256 byte blocks of data along with an 8 bit checksum (IIRC.) The receiver would respond with an ACK (Acknowledgement) or a NAK (Negative Acknowledgement) after each block. If it was a NAK the sender would re-send the block. If it was an ACK it would send the next block.

      Y-modem increased the block size to 1k which was helpful since the turnaround time between packet and acknowledgement was wasting a lot of time. It also used a 16-bit CRC (Cyclic Redundancy Check) instead of an 8-bit checksum. Apparently the CRC was much more reliable.

      Around the time that error correcting modems started becoming popular (USR Courier 9600 HST) a variation of Ymodem popped up called Ymodem-G. Ymodem-G would send 1k-blocks with CRC's non-stop without waiting for an ACK. If the receiver got a bad block it would simply abort the transfer and you'd have to start it over.

      Zmodem would also send blocks and CRC's non-stop unless it got a NAK back. It would resume sending at the block that caused the NAK. The variably sized blocks were pretty cool too.

      Feel free to correct any errors. It's been a long time.

    10. Re:zmodem??? by Alien+Being · · Score: 2, Informative

      Kermit with sliding windows was/is known as SuperKermit. zmodem leapfrogged SuperKermit (pun intended) speedwise by using a more efficient encoding and larger blocksizes. And, it was less processor and memory intensive than Kermit. But Kermit was more robust.

      I guess it's just not easy being green.

    11. Re:zmodem??? by Anonymous Coward · · Score: 1, Funny

      Wow, does it?

      I'll have to go and rewrite the stack I've been working on. I put sliding windows in the TCP layer. Silly me!

    12. Re:zmodem??? by Anonymous Coward · · Score: 0

      I didn't know the Amish used computers. How odd.

    13. Re:zmodem??? by Sycraft-fu · · Score: 1

      " you will probably find you can already peg your bandwidth quite nicely"

      Not really. Generally I find the rule of thumb for Internet transfers is roughly to take your bits per second and divide it by 10 to give your effective bytes per second. My 640k DSL line caps out at roughly 64Kbytes/sec. A 10mb ethernet connection caps out at roughly 1MB/sec. This isn't absolute, it vaires a bit but it seems that generally you just don't get 100% of your line speed. OF course, this will always be true, you'll never achieve a 100% transfer rate since all protocols impose some overhead, but I do think there is room for some improvement.

    14. Re:zmodem??? by GoneGaryT · · Score: 1

      Yeah.

      ymodem-g was brilliant at pr0n downloads... until you got an error. Wow, did the wheels come off or what?

    15. 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.
    16. Re:zmodem??? by Minna+Kirai · · Score: 1

      You're using an odd naming system for units of measurement. If you want the capitalization of letters to have meaning, be consistent with it.

      "640k" vs "64Kbytes"- why change capitalization on the K? That doesn't mean anything, unless k=1024 and K=1000. But "10mb" vs "1MB" does mean millibits in the first case and megabytes in the second- not likely what you intended.

      Aside from that, what you're saying is that you seem to need 10 bits of connection to transmit 8 bits of data. That's a 25% overhead, well in line with the the 10% suggested by joshuac, but completely different from the 600000% increase claimed in the article.

    17. Re:zmodem??? by Sycraft-fu · · Score: 1

      You've never read a post by someone who was not, shall we say, completely sober before?

    18. Re:zmodem??? by snake_dad · · Score: 1

      Even better was when the Hydra protocol was introduced. Fast, bidirectional filetransfers, and you could chat with the sysop during long downloads. Ofcourse that means nothing now since everyone has multitasking, but back then, in DOS, it was great...

      --
      karma capped .sig seeking available Slashdot poster for long-term relationship.
    19. Re:zmodem??? by fluor2 · · Score: 1

      yeah i totally agree. if they patent this, i would say it breaks with zmodem patent.

      they cannot claim patents on new standards when standards change as little as this. its still simple datapackets.

    20. Re:zmodem??? by Anonymous Coward · · Score: 0

      I propose appointing you our Anonymous Hero.

    21. Re:zmodem??? by Matrix272 · · Score: 1

      I use ZModem almost daily also. I have SecureCRT, and it's a lot easier to just type "rz" then select whatever files you want to upload rather than opening an FTP window, connecting, changing permissions, then transferring the files. Besides, if you're already root and you don't allow logins directly to root, then FTP is even more of a pain.

      --
      "It's better to have a gun and not need it than need a gun and not have it." ~ Christian Slater, True Romance
    22. Re:zmodem??? by gpinzone · · Score: 1

      Actually, one of Zmodem's main speed features that hasn't been mention yet was NOT sending an ACK. The sender would just keep sending blissfully until the receiver reported a checksum error. I suspect people watching their modem lights during a zmodem session realized, "Hey! I can upload and download at the same time!" and thus was the reason for the slew of bi-directional ul/dl protocols that were released.

    23. Re:zmodem??? by stinky+wizzleteats · · Score: 1

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

      You are exactly right. The one thing that really has me scratching my head is - if you're going to simply belch traffic, why not go UDP?

    24. Re:zmodem??? by get+slack · · Score: 1
      I suspect disney and such will be quite disappointed if they think they are going to get a 6000x speedup in practical use as hinted at in the articles. Perhaps a 10% speedup for joe blow on a dialup modem, _maybe_.

      i don't think the author meant that to mean that this implimentation of tcp would give joe user a 6000x speed increase, rather they were attempting to give new scientist readers an idea of how fast 8.6 GB/s is. just chose poor wording.

      unfortunately, looks like a good number of slashdotters misinterpreted this. If /.ers can, joe users probably will, too. "video on demand? that must mean 'to my desktop'!"

      I actually didn't see any indication that your average joe would ever see this at all, at least not for quite some time. The article mentioned internet2, but that's got quite a while to go before joe can access it from your local ISP over a dial-up connection, if ever.

      And as this project is centered on providing faster transport over really really fat pipe to facilitate "collaboration in physics and other fields," i doubt we'll be seeing this outside of university environments.

    25. Re:zmodem??? by Surt · · Score: 2, Informative

      You don't want to go UDP because a lot of nodes you might have to traverse across the internet will drop UDP packets while queueing TCP packets. The TCP overhead winds up being smaller than the necessary redundancy you need to add to UDP. You really only want to use UDP in situations where you can actually afford lost information to stay lost, at least until better routers come along and are widely installed.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    26. Re:zmodem??? by Rasta+Prefect · · Score: 1
      "640k" vs "64Kbytes"- why change capitalization on the K? That doesn't mean anything, unless k=1024 and K=1000. But "10mb" vs "1MB" does mean millibits in the first case and megabytes in the second- not likely what you intended.

      It's not unusual for people to change the capitalization when speaking about bits vs bytes.
      640kb/s vs 64KB/s for 640,000 bits per second versus 64,000 bytes per second (ignoring the whole is it 1000 or 1024 issue).

      --
      Why?
    27. Re:zmodem??? by stinky+wizzleteats · · Score: 1

      Well, if you are in UDP land anyway, you are either in a place where you don't really care about trying to retransmit lost packets (VOIP, streaming media), or you are in a place where you are going to implement connection-orientedness in a higher layer protocol. The "fast TCP" protocol, as it is described, seems to represent the practice of determining the maximum impact energy a 5 lb sledgehammer can exert against an egg, then swinging away madly, hoping the egg sustains every single impact.

      If the purpose of using TCP is to deceive the owners of routing infrastructure as to the nature of the packets, then it is, of course, evil terrorism.

    28. Re:zmodem??? by operagost · · Score: 1

      If your modem had error correction, it was a non issue.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    29. Re:zmodem??? by Andrewkov · · Score: 1

      The theory was that hardware error checking was first being built into modems at that time, so any file transfer protocol with error checking would be redundant.

    30. Re:zmodem??? by that+_evil+_gleek · · Score: 1

      The kermits included in comm progs didn't keepup, thats why they only distribute
      kermit in their own comm prog (kermit) now. Using ckermit, back in '98 I could get zmodem speeds, but more robust... zmodem needs 8bit connects... kermit can adapt to just about any enviroment.... Now ckermit ships with fast defaults, prior it shipped with setting that could work in almost any wierd setup..... Also has telnet, ftp, has ssh now too as well. Also supports tcp connections... ie one does set host * 3333 and otherwise
      does telnet hostname 3333 , and yeah ssh can forward that... I'd use just to get resumeable downloads over ssh. Basically kermit is multiple procotols....
      But, if I'm talking to a bbs, I'd use zmodem since most bbs don't use current kermits....
      In some conditions zmodem's sliding windows could slow things down... if the line was
      just noisy enough... but not too noisy.... it would keep throtlling up, and falling back,
      and throtlling up, and falling back... and end up taking longer because of the overhead.

    31. Re:zmodem??? by joshuac · · Score: 1

      Are you counting everything going over your connection (such as the ~5% tcp protocol overhead itself which would not be reduced by "fast tcp") or are you just counting the transfer of the data you see in the end?

      Look at the interface statistics on your router when transfering, it will probably show 100% on whatever your slowest interface is (in your case, WAN/DSL side).

      And then of course...even if you are using SDSL, your "640k down" will not remain a perfect 640k if there is much noise on the line from outbound traffic. However I suspect this is not the case in your situation.

    32. Re:zmodem??? by joshuac · · Score: 1

      In theory; the reality is that the error correction used on most modems during this era (MNP-5 from the multitech world or v.42bis(*) for everyone else) was less than perfect. Enough packets sent, and eventually one would get through with a false positive. For example, if you are using a simple 8 bit checksum, it would be pretty easy for an occaisional bad packet to slip through. The hardware error correction was much better than an 8 bit checksum, but it was still quite possible to lose a long transfer. Hence, the long-lasting popularity of zmodem well into the day of error correcting modems.

    33. Re:zmodem??? by joshuac · · Score: 1

      ---snip
      640k" vs "64Kbytes"- why change capitalization on the K? That doesn't mean anything, unless k=1024 and K=1000. But "10mb" vs "1MB" does mean millibits in the first case and megabytes in the second- not likely what you intended.

      ---snip

      -"I just doubled the ram in my Apple II+ by installing 16k of dram" (kilobytes)
      -"That board is populated with 8Kb chips"
      -"There are 1024KB in one MB"

      My casual usage (may be wrong, corrections welcome):

      Back when everything was measured in KiloByte units or less (something measured in megabytes was once as uncommon as measuring in terabytes today), if you just said "k", it was understood that you meant "KiloBytes", with a byte having exactly 2 nibbles :), and one "Kilo" being 1024 (leaving it to the friggin telecom people and drive manufacturers to "redefine" Kilo back to the metric-literal version so they could inflate their numbers).

      If you were working with something specifically measured in bits, such as an 8 Kilobit chip, you would add a lower-case "b" to the end; "Kb" or "kb" are both acceptable, everyone knew that "k" meant 1024. For Bytes, you added an upper-case "B"; saying "8 kB" was understandable, but doesn't look right, so typically, if you are going to capitalize the "B", you would capitalise the "K" as well; "8KB".

      Later (in the megabyte era) the drive manufacturers had eventually all began using their own versions of "mega" which did not match up with the "real" mega :). So some enterprising person came up with this "mebi/milli/whateverbits" silliness. I don't think this silliness ever was applied to the "Kilo" world.

      The simplest way around that ambiguity is to measure everything in bits, rather than bytes.

      ---snip
      Aside from that, what you're saying is that you seem to need 10 bits of connection to transmit 8 bits of data. That's a 25% overhead, well in line with the the 10% suggested by joshuac, but completely different from the 600000% increase claimed in the article.

      ---snip

      Ummm, no, the protocol overhead I was talking about was the packet headers for each TCP packet. The overhead he is referring to (I believe) is the overhead for the connection itself. To transmit one 8 bit byte, it can easily take 10 bits (or more).

      1 start bit, 8 data bits, 1 stop bit possibly? Or he might be using 8 data bits, 1 stop bit, and some type of parity checking. Or he could have been using something quite obscure for some reason, 8 data bits, 2 stop bits perhaps.

      In any case, dividing by 10 is probably the right way to measure bytes per second on his connection. I was talking about the additional overhead that is there for the tcp protocol itself.

    34. Re:zmodem??? by Sycraft-fu · · Score: 1

      I'm counting end user effective speed. What the person sitting at the console sees the speed as. Lise I said, seems to be about a 10:1 bits:bytes effective ratio. I realise that the actual interface speed is faster. Like I said, when you take all the overhead for all the layers into account, it generally seems to be around that ratio as a max. It's not an absolute rule or a perfect one, you'll exceed it slightly, but it seems to be a good rule of thumb to use for estimating. Basically, if I get a 10:1 ratio in an FTP transfer test, that satisfies me that the line is working properly and at full capacity.

    35. Re:zmodem??? by Minna+Kirai · · Score: 1

      Ummm, no, the protocol overhead I was talking about was the packet headers for each TCP packet.

      The header is 56 bytes, packets are 1500. (Usually. Weird networks can choose smaller) That's < 1% overhead. Assuming you send data larger than a packet, which is usually the case if you bother to measure bandwidth.

      1 start bit, 8 data bits, 1 stop bit possibly?

      Issues like stop bits are already taken care of by TCP/IP. Or rather, TCP/IP requires the network it runs on top of to provide any needed stop bits. Ethernet, for example, uses 1 stop bit per data bit. That's right, 50% of the bandwidth goes to measuring the length of the data being sent. (That amount is deducted before they label 10Mbps on the card). Understandably, if the underlying network has so much control structure, higher level protocols shouldn't need to add much more.

      In any case, dividing by 10 is probably the right way to measure bytes per second on his connection. I was talking about the additional overhead that is there for the tcp protocol itself.

      Lets talk about that. If you work the numbers from the TCP protocol, the 20-25% quantity shows up very naturally.

      The protocol changes the amount of bandwidth it attempts to use over time (because it's impossible for the sending computer to know the bandwidth all along the way to the remote box). Assuming there is no other cause of packet loss besides exceeding available bandwidth, then TCP will increase the bandwidth it uses linearly until hitting the max. Then it halves it, and starts increasing again.

      So at steady state, TCP is repeatedly dipping back to 50% utilization, climbing up to 100%, and starting over. Which means that on average, it will be sending data at 75% of the total of the network. That 25% is left behind was intentional, so that other users have room to start up new data streams without (immediately) colliding with you.

      Of course, 75% utilization is absolute best case. If there are any other users of the network, or even random electron oddities, TCP will think the bandwidth is less than it really is.

    36. Re:zmodem??? by joshuac · · Score: 1

      Great, and considering that fast tcp does not change the actual tcp packets at all, only adding improved detection of when your line has hit capacity, you won't see any difference; your connection is already "pegged" at the limit that tcp allows.

    37. Re:zmodem??? by Furry+Ice · · Score: 1

      Standard xmodem uses a 128 byte block size. There is an extension called xmodem-1k which uses a 1024 byte block size.

    38. Re:zmodem??? by MobyTurbo · · Score: 1
      I remember back in my BBS days what a big deal zmodem was when it started getting used all over the place. As I recall, it changed the block size that you would receive dynamically based on line quality.

      So when you sent a block of 2k and got no errors, the frame size increased to 4k...8k...

      No, those were sub-packet sizes, and in on-spec Zmodem it topped out at 1k. The real difference between Zmodem and other terminal protocols is that Zmodem is a streaming protocol, it has no acks or windows, instead your end doesn't answer unless you have an error or your transmission is over.
    39. Re:zmodem??? by MobyTurbo · · Score: 1

      Kermit can be pretty good indeed, with long packets and/or sliding windows, but it can't beat a streaming protocol like Zmodem. (Though an optimized Kermit is pretty close.)

    40. Re:zmodem??? by The+Clockwork+Troll · · Score: 0, Troll

      Unless you forgot to disable call waiting or better yet your mom picked up the phone and started competing for carrier.

      --

      There are no karma whores, only moderation johns
  9. Reminds me of Zmodem/ZedZap/Ymodem-G by Anonymous Coward · · Score: 0

    Back in the "modern BBS" days, post-Xmodem, you had 3 real choices in file transfer. You had Zmodem, the traditional standard, which used 1K blocks and ZedZap which had 8K blocks, and both had error correction. But then, you also had Ymodem-G, which used 1K blocks, but relied on modem/hardware error correction. The result was the savings of a few bytes per second, which, back then, added up rather quickly.

  10. Uh oh... by ctishman · · Score: 5, Funny

    "Caltech is already in talks with Microsoft and Disney about using it for video on demand," the magazine added. "Hey! Let's take a technology that's potentially revolutionary, and give it to Microsoft!" Yay for Caltech!

    1. Re:Uh oh... by randomjotter · · Score: 1

      VOD?
      Not sure if that is the way to go to improve VOD. The 6000 increase in their lab will boil down to much-much less on the net, and using TCP will mean halting the stream waiting for a single frame which will still happen because of all the heavy load during peak times or network congenstions. Is video even now the ideal application to be used with UDP?

    2. Re:Uh oh... by heli0 · · Score: 1

      "Hey! Let's take a technology that's potentially revolutionary, and give it to Microsoft!"

      I have a feeling that when they give it to them, they will receive a check with around eight to ten 0's in it.

      --
      Whenever the offence inspires less horror than the punishment, the rigour of penal law is obliged to give way...
    3. Re:Uh oh... by Anonymous Coward · · Score: 0

      Will there be any other numbers in it, or just 0's?

    4. Re:Uh oh... by Anonymous Coward · · Score: 0

      Yeah, those guys are kind of "half brained", unfortunately.
      On the one side, working on neat features - on the other side, simple-hearted and dumb as dumb can be.
      Pretty shitty.

    5. Re:Uh oh... by 91degrees · · Score: 1

      It's a viable business model.

      1. Come up with new technology.
      2. Sell to Microsoft.
      3. Profit

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

    speed or accuracy..either one...

    1. Re:Cool by Anonymous Coward · · Score: 0

      Fast, Accurate or Cheap, pick any two.

  12. Window size anyone? by sigxcpu · · Score: 2, Interesting

    Isn't estimating the effective bandwidth of the link exactly what tcp window is all about?
    I read the article and did not understand what do thay add that is better then the standerd tcp enhancements of selective ack and big window sizes.
    clue anyone?

    --
    As of Postgres v6.2, time travel is no longer supported.
    1. Re:Window size anyone? by Anonymous Coward · · Score: 0

      Rate control is already fairly easy with TCP, but not really implemented. The gains they're speaking of suggest 2 things to me: - "normal" TCP was using a window size totally inappropriate for the bandwidth/latency of transfers - some part of the network was HUGELY over-congested, causing dropped packets to cause retries to cause retries to cause retries.. like trying to get > 40% utilization on thin-coax ethernet, performance just spirals. If this is happening, then there must be a lot of clients detuned to NOT use existing TCP rate control. Either that or the network just can't carry the load anyway.

  13. they "discovered" TFTP by larry+bagina · · Score: 1

    might as well just use TFTP over UDP.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

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

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

    1. Re:Without more details, sounds like BS by Anonymous Coward · · Score: 1, Informative

      Yep, definitely not hundreds of pages of technical specifications available anywhere.

  15. Microsoft already owns Video on Demand by Anonymous Coward · · Score: 0
    1. Re:Microsoft already owns Video on Demand by ctishman · · Score: 1

      Yeah, I know, but they don't have to own the technology behind it. >:(

  16. Re:mirror (already slashdotted) by EvanED · · Score: 1

    Dude... It's Yahoo. You can't /. Yahoo.

  17. Great! by Lu+Xun · · Score: 5, Funny

    Who needs erro>*H~@}&)aA=cking anyway?

    --
    That's not a soda... it's a caffeine delivery device!
    1. Re:Great! by Mjec · · Score: 1

      Well, actually, as you so clearly demonstrated we as humans don't need error checking. We can tell things from context... so as long as the error is less than 10% and it's all human readable data, there really is no problem.

      Your 'error' was 11 characters of a 38 character message (~29%), and everyone can still see what you mean.

      --
      "But everyone should know everything." -markab
  18. 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!
  19. New Scientist didn't put it very well... by nweaver · · Score: 4, Informative

    Looking at the information on their web page at caltech, the FAST network project is working with alternate TCP window sizing schemes.

    Namely, instead of reducing window size in the case of packet loss, window size is changed based on round trip latency. The problem being that reducing the window size in response to loss works well on most networks, but has a serious problem when dealing with very high-bandwidth links.

    In such a case, the conventional TCP windowing will shrink greatly in response to even one or two lost packets, which when you are sending a LOT of data, will occur.

    The real work (and it seems to be somewhat covered in their web pages) is how to use latency for congestion detection/control, but I haven't read it in enough detail to quite understand this, NOR how this scheme will interact with conventional TCP streams.

    --
    Test your net with Netalyzr
    1. Re:New Scientist didn't put it very well... by Ark42 · · Score: 1

      Somebody mod this up and mod all the junk about reinventing UDP down. This link has actual information about the protocol unlike the article.

    2. Re:New Scientist didn't put it very well... by Manifest · · Score: 2, Interesting

      How about TCP Vegas? They use RTT measurements to proactively determine congestion.

      --
      ... "follow me" the wise man said, but he walked behind ...
    3. Re:New Scientist didn't put it very well... by DarkZero · · Score: 1

      Namely, instead of reducing window size in the case of packet loss, window size is changed based on round trip latency. The problem being that reducing the window size in response to loss works well on most networks, but has a serious problem when dealing with very high-bandwidth links.

      In such a case, the conventional TCP windowing will shrink greatly in response to even one or two lost packets, which when you are sending a LOT of data, will occur.


      I don't have a ton of knowledge about TCP, but is it me, or is this something that is very simple to copy? It sounds like nothing but a small change in TCP that has some small extras put in to compensate for the small change. Is this something that takes tons of money, proprietary hardware, and a bunch of guys at Caltech to do, or is it something like Napster, where it's really not very complicated, and once the idea is brought up, everyone thinks, "Wow, that's a pretty simple idea. I could do that. Why didn't I think of it before?"

      Then again, the articles make it sound like vaporware, so it could sound simple because it's way too simple to work in real life.

    4. Re:New Scientist didn't put it very well... by Squeamish+Ossifrage · · Score: 1

      That idea seems to be more or less straight from TCP Vegas. Is it clear to you what they're doing differently?

    5. Re:New Scientist didn't put it very well... by Anonymous Coward · · Score: 1, Interesting
      "Wow, that's a pretty simple idea. I could do that. Why didn't I think of it before?"

      This quote is, IMHO, the mark of true innovation. Good researchers strive for solutions that are clear and self-evident... once they're discovered. On the other hand, cheap attempts at innovation are often convoluted messes that make you think "wow, I have no idea what that does or how it does it, but it sure is confusing so maybe it's innovative".

      I guess I'd only make one change to the quote to make it match my conception of true innovation: "Wow, that's a pretty simple idea, but there's no way I would have ever thought of that."

    6. Re:New Scientist didn't put it very well... by stj · · Score: 4, Informative

      Well, as far as I remember, there were more problems than that.

      The problems with very high bandwidth links, TCP and RTT estimation start from the fact that TCP can do that estimation just every ACK received and with very high bandwidth links it changes much faster and in greater degree. So, TCP can't efectively estimate the available capacity, since it cannot probe the channel frequently enough.

      Caltech's Vegas looks great on pictures, however, there were papers pointing out that it's not exactly fair, especially with multiple bottlenecks of real-world topology. Then there were papers fixing that, and papers critisizing those solutions, and as the result I don't see Vegas anywhere around (except for some Cisco routers maybe) - the best I see is NewReno+SACK+FACK+ECN. I can imagine that more aggressive scheme will have an advantage over TCP, although NewReno is pretty aggressive if compared to most RT rate control schemes, so it's difficult to imagine anything more aggressive than that, that would yield in times of congestion.

      The best description of what they really propose seems to be in their Infocom's paper from April this year. That looks pretty good, too. But again, as it was with original Vegas, it will probably come out that it has some flaws, they will be fixed, the fixes will have some flaws, and so on. And for the time being everybody will continue to use NewReno. *snicker*

      Fact is that there is enormous (partly bad) experience with using TCP Reno, and with current abundance of capacity in the backbones, it doesn't seem that there is much on an interest in precise traffic control. I've got to have my first problem watching some movie trailer, yet. ;-)

      One thing worth mentioning - no reasonable application uses TCP for multimedia (why Disney then?). RTP/UDP with a reasonable model-based rate control can easily at least match Vegas, and often outperform it because of the kind and amount of feedback used to adapt to the network conditions for particular application. Caltech's scheme was constructed for ultra highspeed networking and tested for processing of vast data volumes produced by LHC to overcome deficiences of traditional TCP in that case. They have a real nice article on experiments with that with good results. But that's not quite the same as typical situation.

      --
      iThink iHate iMod
    7. Re:New Scientist didn't put it very well... by srslif16 · · Score: 1

      Kudos, man, for checking the caltech site and getting some real info, and then presenting it here, instead of the usual 'I think I have heard about this'-thing.

    8. Re:New Scientist didn't put it very well... by Manifest · · Score: 1
      >>Caltech's Vegas looks great on pictures, however, there were papers pointing out that it's not exactly fair, especially with multiple bottlenecks of real-world topology.

      Good God.. dont tell me more that 1 year of my MSc work had gone down the drain :) On a more serious note, I agree with what you have mentioned about Vegas. The pro-active and less agressive nature of TCP Vegas is one of the main reason why Vegas is not welcome in the real world. Even though there have been many soltions to the problem (including my own Vegas-A), there is always something left to be desired. I have not read the paper Stablized Vegas, but I have read lmlost all other important Vegas papers. From these, a list of problems with TCP Vegas would look like:
      • Unfair bandwidth sharing with NewReno
      • Inability to distinguish between re-routing and delay caused by congestion
      • Unfairness against higher bandwidth flows
      • Unfairness against older flows
      I wonder how FAST takes care of these issues...
      However there are also at the same time a lot of + points with respect to Vegas like:
      • Lesser number of packet drops
      • Hence lesser retransmissions and higher goodput.
      • Lesser buffer utlisation at the routers
      --
      ... "follow me" the wise man said, but he walked behind ...
  20. Nice... BUT! by digitalmonkey2k1 · · Score: 2, Funny

    Hmm, just think how much faster IIS can get infected with this one!

    --
    My sausage tree didn't grow, does that make me a bad mommy?
  21. Sounds like pure hype. by Anonymous Coward · · Score: 0, Redundant

    We already have something like this. It's called "UDP" and it's TCP without error checking. Sounds like they just thought of a different way to do TCP that they feel is faster.

    Claims like a movie being downloaded in mere seconds are nonsense though. No matter what method you intend to send a gigabyte file it's still a gigabyte file you can't somehow magically upgrade the quality of broadband with a new protocol.

    1. Re:Sounds like pure hype. by dbavirt · · Score: 1
      We already have something like this. It's called "UDP" and it's TCP without error checking.

      Wrong, UDP has error checking, as pointed out in other replies.

      The difference between TCP and UDP is that TCP requires a connection to be nailed up to keep track of packets. UDP packets are simply spewed over to the receiver.

      If there are errors, they will be caught by the receiver upon checksumming the packet, regardless of whether the packet is TCP or UDP. In TCP, the bad packet is resent. In UDP, the packet never reaches the application, it is discarded at the UDP layer. No bad data is received in either case.

      There's no rule that says the UDP sender can't wait for a response and resend as necessary.

  22. Yes, but by Anonymous Coward · · Score: 2, Funny

    ...will Fast TCP have the Evil Bit?

    1. Re:Yes, but by Anonymous Coward · · Score: 0

      HAHHAHAHAH, good one!!

    2. Re:Yes, but by Anonymous Coward · · Score: 0

      Until it started popping up on /. in the past week I hadn't heard of the Evil Bit since I last spent time reading the more whimsical threads on the Firewalls list in 1996.

      I hate falling behind on the slashdot zeitgeist. Anyone willing to clue me in about what started this latest meme revival?

    3. Re:Yes, but by Cplus · · Score: 1

      April Fool's day story. The only one that I even raised an eyebrow about actually.

      --
      "Share your knowledge. It's a way to achieve immortality." -- Dalai Lama
    4. Re:Yes, but by Yottabyte84 · · Score: 1
    5. Re:Yes, but by Anonymous Coward · · Score: 0

      Isn't that in IP rather than TCP? So of course it will as fast TCP will still sit on top of IP.

  23. I hope... by Anonymous Coward · · Score: 0

    ...support gets added to FreeBSD 4.x ASAP. This sounds like just what my server needs!

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

    1. Re:not optimistic by xtrucial · · Score: 1

      ...and the results overstated just for statistical pleasure.

      Geek: "Hey, baby. Wanna... I dunno... go over to my place, drink some wine, play some music, and then... indulge in some statistical pleasure?

    2. Re:not optimistic by biddlej · · Score: 1

      You're right...damn scientists with their padded statistics. If I have to settle for a mere 5,000 times the capacity, there'll be hell to pay!

    3. Re:not optimistic by Spellbinder · · Score: 1
      at an average rate of 925 megabits per second. Ordinary TCP managed just 266 megabits per second on the same routes.
      and then they compare it to normal broadband
      it's like taking a rocket car tune it up from say 900 km/h to 1300 km/h
      then i say we have developed a vehicle wich is 8 times faster then then the average car used to go shopping
      --


      stop supporting microsoft with pirating their software!!!!!
    4. Re:not optimistic by Anonymous Coward · · Score: 0

      You can average my totals any day, sweetie.

  25. Re:Interesting, but I might suggest a different na by Achoi77 · · Score: 3, Funny
    Actually I was thinking DumbTCP, since essentially you try to remove what what makes TCP TCP...

    or you could also call it ReverseDoS..

    or Self-Slashdotting! :-)

  26. 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.]

  27. smells like... by wotevah · · Score: 4, Interesting
    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.

    Does that mean TCP has 99.99% (humor me) overhead ?

    But seriously, you can probably use large windows to send streams of packets such that a single ack is required for a bunch of them, but it's impossible to achieve 6000x more throughput just by "optimizing" the TCP protocol. Even over Internet (I'm not even talking LANs since there is obviously not that much room for improvement due to the low latency).

    1. Re:smells like... by wotevah · · Score: 4, Interesting
      It's lame to respond to my own post, but the other article points out that they actually used a different architecture where TCP achieved 266Mbps and their optimized version got 925Mbps, which the author chose to compare with broadband speeds (6000x the capacity of broadband).

      Still, those numbers don't look right. AFAIK TCP has 5-15% overhead, so they must have been using a high-bandwidth, really-high-latency line to get that much improvement. Really high.

      Under these conditions (that obviously are unfavorable to TCP) I would be curious to see how "fast TCP" compares to any real streaming protocol (UDP-based with client feedback control). I have a feeling that the UDP stream is faster.

    2. Re:smells like... by larryleung · · Score: 2

      These numbers look like a case of a rigged benchmark.

      If you assume that a "typical" connection has poor latency but little actual packet loss, accurately tweaking the TCP window will drastically reduce resends. A typical TCP/IP stack will do horribly if you set the latency high enough and hence you can manufacture %100 or 6,000x performance numbers as you please. Big deal.

    3. Re:smells like... by Anonymous Coward · · Score: 0

      It's actually pretty possible. The one major problem with TCP is it was designed to exponential back off whenever there's an error. Given even a really low error rate, there's then the linear increase. By the time it reaches near maximum throughput again, another error is bound to occur, causing another exponential back off. The end result is that even under pretty optimal conditions, you'll only get around 75% of maximal bandwidth. or maybe up to 80%. Under more serious conditions, like your mentioned high latency and the like, dropping packets have to be resent repeatively. The fundamental problem with TCP is the sync number is much too small. The end result is a pretty short upper bound on the outstanding packets (too many and you'll have sync wrap-around which makes it impossible to guarantee whether a numbered packet is the right one). Some solutions revolve around making bigger packets. Of course, just doubling the sync width would exponential increase the number of outstanding packets. A TCP control channel and a UDP "channel" for removing the drop-off issues on small errors fix almost all the problems (I'm describing tsunami transfer protocol, btw). It also removes the need to rewrite any actual internet protocols, which makes it very compelling to most people (ideas to increase the window size will break all over the internet across various network links). But, back to the issue, all sorts of things could really reduce overall the bandwidth.

    4. Re:smells like... by brooks_talley · · Score: 1

      Ooooh, nice. 10 karma points from one post. Try replying to yourself again! :)

      Cheers
      -b

    5. Re:smells like... by Anonymous Coward · · Score: 0

      They were using a truck load of tapes.

    6. Re:smells like... by p3d0 · · Score: 2, Informative
      AFAIK TCP has 5-15% overhead...
      Hint: this is not about the overhead.
      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    7. Re:smells like... by Patrick · · Score: 1
      Still, those numbers don't look right. AFAIK TCP has 5-15% overhead, so they must have been using a high-bandwidth, really-high-latency line to get that much improvement. Really high.

      Exactly right. TCP's overhead is normally 5-15% because of its sawtooth "send a little too much, then back way off" nature. When the bandwidth-latency product is enormous, though, there is an absolute cap on data rate. They used a gigabit link from Silicon Valley (Sunnyvale, CA) to CERN (in Switzerland). A GB link spanning 8000 miles is... unusual.

      Normal TCP gets close enough to 100% throughput. Their "6000x improvement over broadband" puffery is an apples-to-oranges comparison. They improved the performance of intercontinental gigabit TCP flows by a factor of not-quite-four, but the same improvements applied to my broadband connection would do essentially nothing. Thus, the talks with Disney are stupid.

      Note: this won't even improve the performance of normal gigabit backbone links significantly. It only improves the performance if a) it's many hundreds of megabits or more, b) the latency is huge, like from the US to Europe, and c) it's just one TCP flow. A normal backbone carries many TCP flows in aggregate, where standard TCP Reno or TCP Vegas will probably perform as efficiently, and more predictably, than this TCP FAST thing.

    8. Re:smells like... by Grotus · · Score: 1
      Thus, the talks with Disney are stupid.


      Not necessarily. If the talks are revolving around using this technology to distribute full resolution movies to digitally equipped movie theaters (both digital projectors and a ultrafat pipe) around the world, then it makes perfect sense.

      I would tend to agree that if they are talking about taking the video to the homes of consumers then they are just wasting their time.
      --
      "From my cold, dead hands you damn, dirty apes!" - CH
    9. Re:smells like... by Patrick · · Score: 1
      If the talks are revolving around using this technology to distribute full resolution movies to digitally equipped movie theaters

      That's a thought. I think of Disney and Microsoft as consumer companies, so I thought this was an "improving broadband" sort of proposal.

      Still, though. We're talking about gigabit links with 100-200ms latencies. A connection for downloading movies is more likely to be 20-50mbit/s and 50ms latency, for which TCP FAST is definitely unnecessary. An entirely uncompressed 2-hour movie (1280x1024, 48bpp, 24fps) is 1.3TB. Downloading that over the course of a week (how many new movies do theaters get each week) requires only 17mbit/s. Why deploy a gbit link when 1/3 of a T3 will suffice?

      That said, if you have that much data to transfer, it's much-much-much cheaper to do it by FedExing someone six hard disks.* Movie studios are already balking at the notion of helping to pay for digital projectors. Can you imagine how they'd react if asked to buy each theater a T-3 (let alone an OC-48)?

      So I don't think that even uncompressed movie distribution would require this sort of wizardry.

      * credit to Andy Tanenbaum: "Never underestimate the bandwidth of a station wagon full of tapes [disks are denser these days] hurtling down the highway."

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

  29. Fixes problems with slow-start and resends.... by malfunct · · Score: 5, Informative
    It looks like this protocol is more proactive in monitoring the line. It looks for clues that it needs to slow down before a packet gets lost. A great deal of time in a TCP connection is spent waiting for acks and resending data, this is made worse by the typical latency across then net (if I remember right it averages 30 to 800 ms for domestic connections depending on time of day, and between 700 and like 1200 for connections abroad).

    This protocol figures out ahead of time if it needs to slow down so its always getting acks back instead of waiting for timeouts. Also it avoids the binary backoff time that happens with timeouts.

    So in response to many of the previous posts it loses none of the robustness of TCP. In the worst case its as slow as TCP and in the best case it should be equally as fast as TCP. In the average case, however, it shows a huge performance increase. Most of the time on the network is the average case so this is a good thing.

    --

    "You can now flame me, I am full of love,"

  30. Nothing to see here, move along..... by trinity93 · · Score: 4, Interesting

    Looks like this this

    SCTP is a reliable transport protocol operating on top of a connectionless packet network such as IP. It offers the following services to its users:

    -- acknowledged error-free non-duplicated transfer of user data,
    -- data fragmentation to conform to discovered path MTU size,
    -- sequenced delivery of user messages within multiple streams,
    with an option for order-of-arrival delivery of individual user
    messages,
    -- optional bundling of multiple user messages into a single SCTP
    packet, and
    -- network-level fault tolerance through supporting of multi-
    homing at either or both ends of an association.

    The design of SCTP includes appropriate congestion avoidance behavior
    and resistance to flooding and masquerade attacks.

    --
    We substituted the coffee Slashdot normally drinks with "Sandoz Crystals", Lets see if they notice the difference
  31. You just need to hire the right marketing team... by Anonymous Coward · · Score: 5, Funny

    ... to get a good name for this technology.

    With Microsoft's, it would be ActiveTCP.

    With Intel's, it would be HyperTCP.

    And so on, and so forth.

  32. hype, again by Naito · · Score: 1

    people have been saying stuff like this for ages. It always works out nicely in little controlled environments where the protocol is developed, but once they let it out onto larger networks they fail miserably.

  33. Adaptive TCP...it's about time... by xotx69 · · Score: 1

    Many technologies out there use adaptive techniques to improve whatever characteristics are deemed important. For instance, you have adaptive sigma-delta modulation, or if you haven't heard of that, how about VBR (Variable Bit Rate) mp3s. In the latter, it's sound quality and file size. In this case it happens to be speed. However you put it, the point is that using adaptive techniques to improve the quality is an excellent idea, and one that I'm sure is gonna be applied to many more technologies in the future too. Sounds interesting. Now seeing that IPv6 has been installed ... err wait a minute. IPv6 has yet to be as ubiquitous as we thought it would be. So I'm a bit shy about whether to say that this technology will be available for the masses any day soon. Ah well...C'est la vie.

  34. 6000 times faster!? by ccevans · · Score: 1

    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.

    Does that mean that when absolutely no packets are ever dropped, and the computers are connected directly to each other, etc., that it will be 6000 times faster? This certainly sounds like an absurd number. I wouldn't think that error checking would cause so much of a delay. Does anyone have any comments on whether such a large increase is possible?

    1. Re:6000 times faster!? by swordfishBob · · Score: 1

      First article misquoted. Try this.... (3-4 x improvement testing very large transmission on high-speed trunks). Researchers from Caltech, Stanford and CERN near Geneva in Switzerland, sent data 10,000 kilometres from Sunnyvale, California, to CERN at an average rate of 925 megabits per second. Ordinary TCP managed just 266 megabits per second on the same routes. By ganging 10 Fast TCP systems together, the researchers have achieved transmission speeds of over 8.6 gigabits per second, which is more than 6000 times the capacity of ordinary broadband links.

      --
      -- All your bass are below two Hz
    2. Re:6000 times faster!? by gantrep · · Score: 2, Informative

      Yes indeed. 6000 times faster is possible, but 6000 times faster than what? 6000 times faster than broadband? Maybe if you're downloading a video with one very slow hop in between, and then you all implemented this it could be 6000 times faster. But there's no way it could be 6000 times faster always, or even on average. Go download aol instant messenger and look at the speed. I just did it and got 308 KB/sec, and I've seen as high as 440 from AOL's servers. You mean I could download that same file from them at 1,848,000 KB/sec or 2,640,000 KB/sec with this protocol? (Please just kindly correct my converson if I'm wrong, but that would be about 1.8 and 2.6 gigs a second would it not?) Forget about the protocol, that's rediculous for most hardware. Wide ultra2 scsi only transfers 80 megabytes per sec. How would I download. Can today's ram and motherboards even work with gigs a second?

      Is this really as rediculous as it seems to me? I always get confused by the big B/little B byte/bit distinction.

  35. heh.. sounds like by marcushnk · · Score: 1

    A clever version of UDP..

    Nothing good about that..

    --
    "Consider how lucky you are that life has been good to you so far. Alternatively, if life hasn't been good to you so far
    1. Re:heh.. sounds like by Anonymous Coward · · Score: 0

      Heh, sounds like a moron who didn't read the article.

      Nothing good about that.

    2. Re:heh.. sounds like by marcushnk · · Score: 1

      If you had the balls to sign in then I'd argue the point with you.. but seeing as you dont.

      --
      "Consider how lucky you are that life has been good to you so far. Alternatively, if life hasn't been good to you so far
    3. Re:heh.. sounds like by nnd · · Score: 1

      him being a coward doesn't mean you aren't a moron

  36. mod up by Anonymous Coward · · Score: 0

    mod parent fucking up

    6000 times?

    so like my 3 mbit cable link suddenly becomes a 18 gigabit link? give me a break

  37. Caltech Site by mib · · Score: 4, Interesting

    This is part of a whole bunch of TCP and networking related work at CalTech.

    I hate to do this to them, but the Caltech Networking Lab site has more info.

    From what I see, the improvement here is to use packet delay instead of packet loss for congestion control. They claim this has a bunch of advantages for both speed and quality.

    Here is a Google cached copy of their paper from March 2003.

    1. Re:Caltech Site by deblau · · Score: 1

      I went to Caltech, don't worry about the /. effect. They've got more bandwidth than you do, and their CS dept. is pretty keen on keeping their web sites up.

      --
      This post expresses my opinion, not that of my employer. And yes, IAAL.
  38. Man! by nhaines · · Score: 5, Funny

    If only I were using Fast TCP, this could have been first post!

    1. Re:Man! by Exiler · · Score: 0, Troll

      But withotu error checking it would prolly have been a frost pist

      --
      Banaaaana!
  39. Fast TCP is TCP + congestion control by po8 · · Score: 4, Interesting

    As near as I can tell from the popular articles, and the web page referenced in the New Scientist article, "Fast TCP" is not a new protocol, but rather better congestion control for standard TCP. I'm not a network guru by any means, so please take the comments below with a grain of salt.

    Currently, TCP implementations use a standard trick to play nice with small router queues. Using precise timing would be better. I hassled Mike Karels over it about 10-15 years ago, but the consensus at the time was that the hardware wasn't up to it. Now it is. Also, modern routers have gotten clever about queue management, which screws up the trick.

    The new proposal is to take advantage of modern HW to measure latencies. Existing TCP could thus be used more efficiently, by allowing larger amounts of data to be outstanding on the network without trashing routers.

    It is not widely understood that in 1988 the Internet DOSed itself because of a protocol design issue, and Van Jacobsen got everybody to fix it by a consensus change to the reference implementation of TCP. These articles appear to report (badly) ongoing research into that issue.

  40. new technology? by gfody · · Score: 0

    to me it sounds like an optimized implementation of existing tech.. something best applied to switches/routers nic drivers etc. ie a firmware update or something. we could all benefit from this, but it will probably be patented and sold to big companies so that they are the only ones who can stream movies :\

    --

    bite my glorious golden ass.
  41. Call me a cynic by ogre2112 · · Score: 1

    But I'll keep my error checking, thanks.

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

  43. and of course by Anonymous Coward · · Score: 0

    iTCP. Connect. Transfer. Disconnect.

  44. is this like an evil bit thing??? by kraksmoka · · Score: 0

    right?

    --
    "You never want a serious crisis to go to waste." - Rahm Emanuel
  45. Old news by weicco · · Score: 1

    I read about protocol named T/TCP (if I remember correctly the name) which speeded up TCP-handshaking and made some other adjustements to network couple of years ago. Basically TCP and UDP mixture. I've never heard it afterwards so I think it fainted to oblivion (as I think this one does also).

    --
    You don't know what you don't know.
  46. Thanks! by Eric_Cartman_South_P · · Score: 1
    Thanks for all the memories. I just got flashbacks from the days of Primal BBS, Demon's Abyss BSS (133t w@r3z sites around Long Island, NY) and waiting hours to download Wing Commander on 3 1.2mb floppys, zipped up of course with PK-Zip v2.04g. :)

    ZModem was sweet indeed when it came out. I went from 2400 baud to 14,400 baud using Zmodem and became the cool kid on a very geeky block.

    1. Re:Thanks! by jd10131 · · Score: 1

      I'm getting all misty just remembering the days. ...Wait, mostly I was cursing the thing because my doors would always crash and lock up the computer. Stupid old, badly written, DOS games.

      I was one of the first one-line boards in my area to have a usenet and internet email gateway. Everyone who signed up got Your.Name@pirates.uniserve.com (or something like that)

      Damn...I just suddenly have visions of me sitting on the front porch curmudgeoning all day.

  47. compare with mike luby's FEC codes by retiarius · · Score: 1

    ...at digital fountain:

    www.digitalfountain.com/products/tf/faqs.cfm

    wherein error-checking is replaced by
    forward error correction with no ACKs, over UDP.

    other terms: erasure codes, tornado codes.

    a disadvantage: encapsulated into special head-end hardware, for now.

  48. Sounds easy. by Jade+E.+2 · · Score: 1
    So they've got a TCP stack that changes it's window based on round-trip time instead of packet loss, to avoid overcorrection for minor packet loss on high-bandwidth networks. That's a pretty good idea, of the semi-obvious "Doh, why didn't we think of that?" variety.

    It will take a little research to find good algorithms, which I presume they've already done, but there's nothing stopping some enterprising soul (who wants his porn faster) from adding this to linux in a couple weeks. So I guess the real question is are they going to try to patent it? And if so, the entire concept (bad) or just their implementation (better)?

    In other words, if you don't work for Microsoft or Disney, will you get to see any of the benefit from this or will it be locked up?

    1. Re:Sounds easy. by Anonymous Coward · · Score: 0

      california taxpayers are making a big investment in the education of these people. for them to turn around and patent the fruits of that investment would be literally outrageous.

    2. Re:Sounds easy. by Anonymous Coward · · Score: 0

      Um... as a student here, I can assure you that Caltech is a private institution, not a state school, so I'm not sure what you mean about CA taxpayers making a big investment in our educations. Actually, I pay CA taxes, so I'm making a big investment in other peoples' education!

      Anyway, I'm as skeptical about proliferation of obvious patents as the next slashdotter, but in this case it sounds like they have something nontrivial and worthy of patent protection. I'd sooner they make it free, but giving them a 17-year monopoly on it seems like a small price to pay for a clever new idea.

  49. Re:Bah, in my days by Anonymous Coward · · Score: 0

    Bah, in my days I remember having a 300 baud modem, and being the cool one when I went from ascii captures to a version of xmodem written in basic.

  50. Mostly OT, but a question. by snilloc · · Score: 1
    Since we're talking about streaming video...

    Shouldn't there be a way to tell the streaming server whether you think the audio vs the video part of the stream is more important?

    I hate watching streams of press conferences where I couldn't care less how much GWB or Ari move their hands but I'd like to hear the audio more clearly...

    Conversely, there are other... erm... applications where video should trump audio.

    1. Re:Mostly OT, but a question. by davburns · · Score: 1
      I think what you really want is both, scaled for the bandwidth you have availible. Sure, you might want to tweak the quality of audio and video streams for different applications, and you could hope that the server could dynamically discover the bandwidth availible to you. If you aren't trying to use more bandwith than you have (and there aren't other more interesting problems) you should not be seeing much packet loss, and that should give you audio and video results of quality fitting the bandwidth used.

      For a TCP protocol, that just means you need enough buffer space to deal with any occasional loss that might occur (enough time to deal with timouts and re-transmits). For a UDP protocol, that means the codec needs to be smart enough to deal with some loss (graceful degradation).

    2. Re:Mostly OT, but a question. by snilloc · · Score: 1
      I think what you really want is both, scaled for the bandwidth you have availible.

      Actually, that's the precise opposite of what I said. And yes, these streams sometimes take more bandwidth than I have.

      Let's pretend that I have bandwidth ="y".
      Let's also pretend that the stream I want to view/listen to requires audio=(.5)y and video=(.75)y for a total of 1.25y to have a good streaming experience w/o significant degradation.

      Now, it's obvious from what I said here that I have enough bandwidth to get one portion clearly but not both. Can't I choose? If I don't give two hoots about the video, can't I get a better audio stream for my available bandwidth?

    3. Re:Mostly OT, but a question. by davburns · · Score: 1
      I was suggesting that the server should take your prefernce into account, and send (.3)y audio and (.7)y video, or send (.5)y audio and (.5)y video. That is, you would want the sending server to compress the audio & video to different bitrates for you.

      What probably will not work is for the server to send you 1.25y of audio and video, and have "the network" somehow drop only the right packets to give you what you want.

      I'm sorry that my previous post was unclear.

    4. Re:Mostly OT, but a question. by snilloc · · Score: 1
      Yeah that's pretty much what I was asking. For instance, if I'm at work and on the company LAN, maybe I'd want the audio stream meant for "broadband" but only the dialup-quality video stream, or maybe ditch the video altogether - You'd think that the server would be much happier with that.

      Having said that, (and if you couldn't tell by now), I know almost nothing about streaming media - just an end user with questions.

  51. Uhm... by davburns · · Score: 2, Interesting
    Both linked articles were pretty content-free. I'm trying to read between the lines and figure out what they're really doing. The article seems to imply that this is only a change on the TCP sender's side, not clien TCP stacks or anything in between.

    Maybe they're measuring the round-trip delay, and then sending more data than can fit in the reciver's window, on the assumption that ACKs "should be" in flight. Maybe they also notice when an ACK is overdue, and send a duplicate packet early, rather than wait for the normal timeout or a duplicate ACK of earlier data. If they do that, then the duplicate would come 1 RTT after the original, and the reciever's window would be full of after-loss data (so it would catch up right away.) I suppose they could assume that only one packet would be lost, and send another window-full of data after that, before recieving an ACK. (If that assumption was wrong, then that data would be lost and bandwidth wasted.) ... but that's all just guessing.

    I do hope that there is something to this (in spite of the fluff of these articles.) We're kindof stuck in terms of throughput with TCP right now.

    TCP throughput <= (TCP window size)/(Round-trip-delay)
    TCP throughput <= 9.8 * (MSS -- smalest MTU in the path) / sqrt(loss) / (Round-trip-delay)
    The former inequality is reasonably easy to fix -- make bigger windows (and buffers). The latter is harder. 9.8 is a constant (I don't know where it comes from, but that value is often quoted, and seems to work out in my experience.) It would be great to fix MSS, but lots of hardware won't support more than 1500 bytes, and nobody benifits from this until everybody upgrades, so nobody upgrades. For fast links, RTT is mostly determined by the speed of light. /* Insert C increase petition joke here. */ loss can be fixed if it's really bad (e.g., duplex mismatches), but if you've already got 4-nines, getting two more for that 10X TCP improvement is really hard.
    1. Re:Uhm... by Minna+Kirai · · Score: 1

      The latter is harder. 9.8 is a constant (I don't know where it comes from, but that value is often quoted, and seems to work out in my experience.)

      That's the usual acceleration provided by this planet's gravitational field. It's equivalent to 32 feet/second/second, converted into the metric system.

      It comes from work by Isaac Newton.

  52. Re:Bah, in my days by zakezuke · · Score: 1

    I never understood this.... I had x-modem (sometimes known as Ward Christian protocal) as early as 1983. The only time I resorted to an ascii transfer was when the stuff was text in the first place.

    --
    There is no sanctuary. There is no sanctuary. SHUT UP! There is no shut up. There is no shut up.
  53. Re:Interesting, but I might suggest a different na by cakoose · · Score: 1

    The "Smart" prefix is overused to the point of being totally meaningless. Hmm...it sounds like my clock automatically updates it's display as time passes....I think I'll call SmartClock.

    TCP already does a lot of tweaking to get better throughput. What is your problem with FastTCP? At least "Fast" adds meaning. I guess you could have done worse and suggested "IntelliTCP".

  54. Like Zmodem protocol from BBS days? by gandy909 · · Score: 1

    It would be nice to have something akin to the way the zmodem transfer protocol worked that we used back in the BBS days. If I recall correctly it would basically dump the data in large chunks (8k?) and not wait for a success response. Only if it got an error response along with the position indicator, it would then stop, and start resending from the error position. It was much faster than xmodem, ymodem, kermit, or punter protocols. Plus, resume worked great, too!

    --

    (Stolen sig) Remember: it's a "Microsoft virus", not an "email virus", a "Microsoft worm", not a "computer worm
  55. Familiar... by Anonymous Coward · · Score: 0
  56. 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.

    2. Re:trollish - pls mod parent down by Cramer · · Score: 1

      His claims aren't entirely trollish... a 6000x increase in throughput would indicate a Really F**king Broken Network (tm). It doesn't take many dropped packets to kill throughput. Some simple tweaks to the backoff timer(s) goes a long way to fixing that -- I did just that many years ago to address broken VJ header compression on a netopia router.

      The "holy grail" is in finding the maximum packet flow rate for a given connection. This depends on a number of constantly moving targets. Packets are dropped due to errors (rare) and queue overflows (very common.) In the case of errors, immediate retransmittion is best. But for overflows, immediately retransmitting the packet is very likely to get it dropped again; of course, there's an ICMP message code for this ("source quench"), but nobody uses it.

    3. Re:trollish - pls mod parent down by Frac · · Score: 1

      You need to read the articles again.

      The Fast TCP system, designed by a team of researchers at California Institute of Technology - Reuters

      That is the promise from a team at the California Institute of Technology in Pasadena, who have developed a system called Fast TCP. - New Scientist

      Then you need to read what you wrote again.

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

      Equating highly-regarded CalTech researchers with snake-oil salesmen? Sounds like a troll to me.

      And you seem to imply the technical details were somehow obscured and withheld, when it's obvious that publications like Reuters and New Scientist aren't going to explain TCP windows in detail for the general public.

      A simple google search of "fast tcp caltech" yielded the home of the FAST protocols at the top of the search, which has enough technical details, simulations and results for any one competent enough to understand it.

      What are you going to tell us next - BSD is dying?

    4. Re:trollish - pls mod parent down by Anonymous Coward · · Score: 0

      New Scientist -- The National Enquirer of science mags.

      Why bother gaterhing and checking facts when you can just sensationalize something beyond belief?

    5. Re:trollish - pls mod parent down by IvyMike · · Score: 1

      You need to read the articles again.

      It's too bad that you didn't scan any of my earlier replies, because you missed my post here. The New Scientist article still sounds like snake oil; it's not my fault that they obscure and misrepresent the details in a sensationalistic way. Of course the public isn't going to understand TCP, but it is possible to simplify without misrepresening. And is the public going to understand when and where the "6000 x" and "5 seconds to download a movie" applies, either?

      The reality is if the article had said, "A performance degradation in a network algorithm which becomes apparent on high-speed 'ultrascale' networks can now be avoided", it would have been too boring, so they made a wrote a sensationalistic article instead.

      What are you going to tell us next - BSD is dying?

      A wholly unnecessary and baseless character attack. Now you're trolling me.

    6. Re:trollish - pls mod parent down by Anonymous Coward · · Score: 0
      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.
      It's quite possible -- a big limiting factor in TCP is that the maximum window size is 64KB (or 64KB-1byte, maybe).

      This means that no more than 64KB of unacknowledged data can be in-transit at once. On a network where throughput is much faster than latency, this can cause TCP to turn into a stop-and-wait protocol...send a 64KB window of data, wait for ack, refill the window.

      We see this all the time in S/Africa for traffic that goes overseas on sattelite links. The RTT is ~600ms on an uncongested sattelite hop. So you can only send one window-full of data in that 600ms rtt, which works out to about 800Kbps...very respectable. However, some TCP implementations have smaller windowsizes, even Linux used (IIRC) to have a 24KB window. Then your throughput would max out at 320Kbps.

      If you think about a Gig link with, say 2ms rtt (end-to-end in the TCP stacks on each end), then you could send about 250Mbps over TCP with a 64KB window size. Ping times on a GB link may be a lot lot less than 2ms, but ICMP replies are handled way down in the bowels of the kernel. With TCP, acknowledgements probably can't be sent back from the remote side until the user-space process actually reads received data from the socket buffers.

  57. Re:Like Zmodem protocol from BBS days? by zakezuke · · Score: 1

    There have been times even in this day and age that I have resorted to the use of z-modem because ftp resume just didn't work right. But it's not like you can't use Zmodem over TCP/IP, it's just not very practical. Just for laughs I should try zmodem vs ftp transfers from my linux box just for laughs, i'd be somewhat curious how well they work over a 100mbit connection. Z-modem's error correction would likely to be most redundent, but hey it's worth a shot just for nostalga sake.

    --
    There is no sanctuary. There is no sanctuary. SHUT UP! There is no shut up. There is no shut up.
  58. It is based/successor to TCP Vegas by nweaver · · Score: 1

    It's actually derived from TCP Vegas with modifications.

    --
    Test your net with Netalyzr
  59. Duplicate effort? by Bull999999 · · Score: 2, Interesting

    data link layer technology, like Ethernet, already has error checking built into it's frames, so why is there a need for another error checking at the higher transport layer?

    --
    1f u c4n r34d th1s u r34lly n33d t0 g37 l41d
    1. Re:Duplicate effort? by Mike+Hicks · · Score: 1

      One thing is that data packets on the Internet tend to go across many different networks. Some error-checking routines are better than others.

      Also, really all that they do is tell you that there's a good probability that the data is intact -- a certain possibility always exists that the right bits got flipped to make it look like the data is all there, but it really isn't. Having multiple layers dramatically increases the probability that the system will catch corrupted data somewhere.

    2. Re:Duplicate effort? by Detritus · · Score: 1

      CRCs in Ethernet and other link transport mechanisms only protect the integrity of the data while it is "on the wire". They do not detect data corruption caused by flakey NICs, broken motherboards and defective main memory. UDP can be run with checksums disabled. This has caused much misery when used in conjunction with NFS.

      --
      Mea navis aericumbens anguillis abundat
    3. Re:Duplicate effort? by Alomex · · Score: 1

      In principle you are right, in practice error a recent paper showed that error checking caught corrupt headers introduced by faulty stacks.

    4. Re:Duplicate effort? by that+_evil+_gleek · · Score: 1

      Those CRC's aren't good enough. Besides, if I just drop a bad ethernet packet...
      what's going to resend it? I thought resend's are only on collision... but my ethernet knowledge is rusty...

      I remember trying modem dn progs with no-error correction, since modems do error-correction, right? Well if you'r downloading a zip... One bad 1k
      block can make it useless.. and it happened quite a lot... And the modem prog didn't detect it.... Boy, that would suck if I was moving files and had just deleted the
      source...
      Real duplicate effort is ftp over tcp..... but then again not everyone's tcp stack is that good...

  60. smart window resizing by JDizzy · · Score: 2, Informative

    The speed, er... rather the window size is changed according to a rigid design, and ideas like this in the past have failed because once everyone is doing them, they stability of the network decreases. Mind you this is distinctly different that "removing error checking" because it is basically taking two steps forward instead of one step at a time. If you leap ahead two steps, and fail you simply step back one (which is still one step forward). The packets are still resent on the TCP leaving the application to not worry about data quality. Looking at packet captures of ftp traffic show that ftp is an aggressive consumer of bandwidth, and that ramping up or down near the beginning or end of the TCP session is were the greatest amount of *inefficiency* is found. So the idea is to make tcp more aggressive near the ramp-up/down stages of the connection. The idea also being to remove some of the agonizingly redundant error checking in favor of self-throttling optimistic educated guessing. Fast TCP simply wants to do the dirty work ahead of time instead of gradually discovering the safe speed limit. Fast TCP will bump into glass bandwith ceiling at mach 10, instead of 10 Mph, quicly recovering by resending the big chucks at a fraction of the window size previously sent. So it could also be described as willig to find the threashold quickly in echange for knowing the boundrys instead of wasting precious time ramping up. Traditional TCP hates data loss to the point that is "drives slow in a parking lot" attempting to never have a colision, whne the protocal itself is well designed to recover from such an event already.

    --
    It isn't a lie if you belive it.
  61. Re:T/TCP is different by Poisonous+Drool · · Score: 1

    T/TCP is different. T/TCP includes data in the SYN packet, so your SYN packet would also have "GET foo.html ...". Most TCPs send an empty SYN packet, wait for a SYN+ACK reply, then send the first data packet. It is not a mixture with UDP.

    "High Bandwidth TCP" seems like a better name than "Fast TCP" to me.

  62. Erorr Chekcing by AvantLegion · · Score: 1
    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."

    God knows there's too damn much of that "error checking" stuff in computing today...

  63. Re:Yes, but (someone had to do it) by Montag2k · · Score: 1

    I haven't heard of this "Evil Bit" yet... could you tell me a little about it? Maybe it is worth a slashdot story?

  64. Article is inaccurate and misleading by zeds · · Score: 5, Interesting
    The New scientist writer clearly has no understanding of how TCP/IP or the Internet work in general and how Caltech's FAST could improve data transfer efficiency. His sensationalist claims that this could enable downloading a dvd in seconds are so much ignorant crap. 6000x faster than broadband? That has more to do with the fact they used an INCREDIBLY FAT PIPE (a 10gigabit connection), probably in a laboratory setting, than any of FAST's optimizations. It's true TCP/IP's efficiency maxes out at a certain rate, but that doesn't really matter in the real world, because nobody is actually downloading movies from dedicated 10gigabit links to the backbone. Not to mention that you won't see anyone serving anything at these speeds for the next decade or so. I wonder what this suggests about the accuracy of articles on subjects I know nothing about. It's an academic curiosity folks.

    See caltech's press release on FAST for an article that actually makes sense.

    Also, could someone please explain to me why boringly predictable stereotypical slashdot feedback is being modded up?

    "Whoa! Faster pr0n!"

    "Imagine a beowolf cluster of these!"

    -Insert completely unrelated Microsoft bashing post here-

    -Insert completely unrelated technobabble from some geek posting out of their ass (without reading the article first)-

    News for nerds. Stuff that matters. Discussion that doesn't.

    1. Re:Article is inaccurate and misleading by 26199 · · Score: 1

      New Scientist has proved itself unable to filter compsci articles before...

      There was an article about Java applets stealing CPU time in which the author repeatedly mixed up Java and Javascript... it was embarrasingly bad.

    2. Re:Article is inaccurate and misleading by sydb · · Score: 1

      New Scientist is really a "Popular Science" publication. Don't expect too much from it. The problem is they do cover some science topics very well, so really it's a consistency problem.

      Anyway, I used to work in a team responsible for Internet access and browsing, and my colleagues routinely confused Java and Javascript. It's not restricted to journalist.

      --
      Yours Sincerely, Michael.
    3. Re:Article is inaccurate and misleading by SiliconEntity · · Score: 1

      That has more to do with the fact they used an INCREDIBLY FAT PIPE (a 10gigabit connection), probably in a laboratory setting, than any of FAST's optimizations.

      Well, according to the Caltech press release, the data was sent between California and Geneva, which is a pretty damn big laboratory. So I'd say it is more than a lab experiment. OTOH you do need a fast connection to the Internet to be able to send the data that fast at all. Once you get it onto the net then their protocol helps keep it moving that fast.

      And BTW this is old news, it was discussed earlier on a site called Slashdot and there's nothing new to motivate the new article.

    4. Re:Article is inaccurate and misleading by Anonymous Coward · · Score: 0

      Also, could someone please explain to me why boringly predictable stereotypical slashdot feedback is being modded up?

      Because posting in a boringly predictable manner is what good slashdotters do.

      I've lost track of the number of excellent insightful posts I've seen that never see the light of +1, because the mods are too busy modding up a "Step 3. Profit".

    5. Re:Article is inaccurate and misleading by karlm · · Score: 1
      Also, could someone please explain to me why boringly predictable stereotypical slashdot feedback is being modded up?

      Becuase of boringly predictable slashdot moderation. Remember, more than half the population is below average intelligence. The Slashdot crew probably does significantly better, but that still isn't saying much. The majority of Slashdot users could also outrace most snails. I get the impression that a lot of Slashdot users are also young, have ADHD, or are otherwise patience-impared. Anything that sounds intelligent will get moded up very rapidly, even if it has glaring logical flaws. Well thought out posts that the majority will disagree with or modestly display their thoughtfullness will not get modded up. Reverse psychology also works wonders on moderators. I recomend trying a humorous outlook on stupididty; it's much healthier than getting all ticked off.

      --
      Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
  65. Article is not applicable to 99.9% of internet. by Anonymous Coward · · Score: 1, Interesting

    The article pointed out an interesting variant of TCP for improving transfer performance. However, the conditions they were using are the equivalent of trying to break the land speed record on a salt lake that's as smooth as a billiard-table and hard as cement.

    In other words: it's not very realistic, nor appropriate for most internet usage with shitty connections. It would be like trying to use a 600mph dragster (this protocol) on a dirt trail up the side of a mountain (a 56k modem). Even at a highway speed of 80mph (with regular broadband), you don't need anything much faster than a regular vehicle - and anything specialised is liable to give you problems.

    Having said that, there's no reason not to mess with your broadband connection (tweak the MTU, TCP window, etc) to see if you can eek more performance out of your existing protocols. There is an excellent broadband tweaking guide that's well worth reading and did help my Windows box. YMMV.

  66. R T F or A... by Anonymous Coward · · Score: 0

    pick all four please.

  67. No corrupted files at all by Pieroxy · · Score: 1

    As I see it (hard to say because the article wasn't exactly technical), here is how it's going to work:

    Slow TCP:

    Packet 1
    ------->
    Ack 1
    <------
    Packet 2
    ------->
    Ack 2
    <------

    Let's say for example that each transmission take 1/10th of a second, the transmission for n packets takes n*2/10th of a second.

    With fast TCP, you will have:

    Packet 1
    ------->
    Packet 2
    ------->
    Ack 1
    <------
    Ack 2
    <------

    Since your PC doesn't wait for the Ack 1 before sending packet 2, Ack1 and Packet2 are transmitted at the same time.

    Here to transmit n packets, it'll take (n+1)/10th of a second.

    Still very far from the 6000 ratio they are talking about in the article, but that part was probably just FUD.

    To get back to the point: In order to finish your download you have to have recieved ALL the Ack packets, so nothing changes compared to good old TCP. The thing is that you use the full-duplex capacity of your card...

    1. Re:No corrupted files at all by Minna+Kirai · · Score: 3, Informative

      As I see it (hard to say because the article wasn't exactly technical), here is how it's going to work:

      That's wrong. You were possibly misled by a bad article. Your diagram of "Slow TCP" isn't describing TCP at all, but a more primitive protocol that can be called "Stop and Wait". Stop-and-Wait provides some of the same advantages of TCP (reliability and consistency), but obviously takes a painfully long time to transmit a file, so it's little used in real life.

      The idea that you can send many data packets before getting an ACK is already part of normal TCP. It's called the "sending window", and it measures the number of packets that can be sent before waiting for an ACK. The sending window is basically an estimate of the bandwidth of the link, which TCP maintains as it runs. The estimate starts out low, and then is continually increased as the transmission goes on. As soon as ACKs fail to arrive, the assumption is that the bandwidth was exceeded, and the estimate is cut in half. It's a linear-increase, exponential falloff procedure- which is meant to prevent from impairing the TCP performance of other users (you increase your transmission speed slowly, but decrease it quickly if there's an overload). The lineary increase of the window size is called "slow start".

      Apparently, this research uses a different technique to obtain the starting estimate of the bandwidth available. Instead of sequentially increasing the window size up to gigabit levels as the connection goes, they start out with a large estimate, because they already know the link is fast.

    2. Re:No corrupted files at all by Anonymous Coward · · Score: 0

      Actually, the window sizes are measured in bytes, not packets.

  68. Who will use/own this protocol? by sygin · · Score: 1

    If this protocol is specifically designed for high speed connections, It would not help my 56Kbit dial-up connection :(

    Would it be used for users of traditional broadband connections?
    Could Linux assimilate this new protocol?

    --
    Don't make your problems my problems!
  69. Alternative uses. by cyt0plas · · Score: 1

    Perhaps this could finally lead to the possibility of having a FPS (First Person Shooter) use TCP instead of UDP. If the latency issue can be adequitly addressed, it may be possible to have a sufficient transfer rate (and latency) to have a game use TCP packets as a means of client to server communication. This would greatly help with packet loss.

    As a developer, I am interested in seeing the many potential _legal_ applications, although I definatly wouldn't mind faster filesharing.

    --
    Contact Me (got tired of viruses emailing me).
    1. Re:Alternative uses. by Minna+Kirai · · Score: 1

      Perhaps this could finally lead to the possibility of having a FPS (First Person Shooter) use TCP instead of UDP.

      No, it couldn't. In a comment above I described how this new system is inappropriate for streaming media applications, and took some flak because for many uses of streaming, enormous amounts of prebuffering (amounting to 10+ seconds of latency for the viewer) are acceptable. Which makes TCP/IP OK.

      Listening to a radio station, you may not care that the sounds you hear are 2 minutes old. But if you're talking to another person, 2 seconds of delay will press the limits of tolerance. And for shooting animated monsters, 200 ms is as high as you'd want to go. (I played an internet FPS recently and had a stellar ping of 26 ms. The opposition was devastated, despite my inability to navigate the maze-like passages)

      Another reason to avoid TCP for gaming: TCP is a stream protocol (called "SOCK_STREAM" in the Unix header files), meaning that logically it is providing a linear sequence of data. This maps perfectly to audio, which is just amplitude over time. For audio+visual work, you may need 2 separate streams, if the picture and sound have different delivery constraints (for example, sound needs less bandwith overall, but any skipping in the audio stream will be more obvious to the audience than a dropped frame of video).

      In a videogame, there aren't just one or two logical streams of data- there's the player himself, his enemies, flying missiles, powerups on the ground... all of those may have different minimum acceptable update rates.

    2. Re:Alternative uses. by Anonymous Coward · · Score: 0

      Actually, this wouldn't be helpful because guaranteed networkinging streams aren't the optimal use of bandwidth for an FPS. If there's a dropped/corrupted packet, responding with the previous content of the packet is a waste of time. Everything will have moved in the simulation at that point, so you want to respond with updated information.

      UDP will be just fine, thanks. (Although it would be nice if the CRC applied to the entire packet instead of just the header...)

    3. Re:Alternative uses. by cyt0plas · · Score: 1

      That's why I don't write networking stacks. While I work on AI/Graphics, I get to enjoy the benefits of others advances in the field. Isn't Open-Source great?

      --
      Contact Me (got tired of viruses emailing me).
  70. Old idea by DaveM_Slashdot · · Score: 1
    It smells a lot like TCP Vegas, and in fact the idea of using RTT, bandwidth, and ACK measurments in some way to moderate the congestion window is an idea much older than TCP Vegas.

    The TCP Vegas paper has good references to these earlier works, primarily that of Jain and also that of Wang and Crawford.

    The relevant papers are:

    "TCP Vegas: End to End Congestion Avoidance on a Global Internet." Lawrence S. Brakmo and Larry L. Peterson

    "A delay-based approach for congestion avoidance in interconnected heterogeneous computer networks." R. Jain

    "A new congestion control scheme: Slow start and search (Tri-S)." Z. Wang and J. Crowcroft

  71. Re:.... what?! by cakoose · · Score: 2, Interesting

    Totally ridiculous. That's the kind of crap you can expect from a totally clueless reporter. The sentence is ambiguous and in the end, it doesn't really say anything.

    For some reason, he felt the need to mention that 10 systems were tested "together" without saying how.

    It says that FastTCP can boost the speed past the "capacity" of ordinary broadband links. I don't know how you can get performance that exceeds the capacity (which I take to mean the theoretical limit). On the other hand, it isn't really clear if they even used "ordinary broadband links". For all we know, they could have been testing on a local GigE network (or on localhost!).

    If he's trying to say that FastTCP gets 6,000 times the throughput of TCP, then this implies that TCP can be at most using 1/6,001 of the theoretical maximum. I'm guessing that they're advertising some corner case (or the reporter is retarded, which is probably just as likely).

    FastTCP just seems like a better predictor of the delay/capacity properties of a connection. The New Scientist article says in one place that they were able to achieve a 4x increase in transmission speed between Geneva and California, which is impressive, but it's probably under strange conditions. The graph in their paper shows that FastTCP utilizes the link about twice as well as regular TCP when you get to 10Gbit links. The "reporter" must have done some serious mangling to get the number 6,000.

  72. ha ha! by ravinfinite · · Score: 1

    you bet, pal!

  73. It's not a breakthrough, but it's good work. by Animats · · Score: 4, Informative
    First, this has nothing to do with removing error checking. It's about better TCP window adjustment. Read the papers.

    Second, it's intended for use for single big flows on gigabit networks with long latency. You have to be pumping a few hundred megabits per second on a single TCP connection over a link with 100ms latency before it really pays off. It won't do a thing for your DSL connection. It won't do a thing for your LAN. It won't do a thing for a site with a thousand TCP connections on a gigabit pipe.

    Third, unlike some previously hokey attempts to modify TCP, this one has what looks, at first glance, like sound theory behind it. There's a stability criterion for window size adjustment. That's a major step forward.

    (I first addressed these issues in RFC 896 and RFC 970, back in 1984-1985. Those are the RFCs that first addressed how a TCP should behave so as not to overload the network, and what to do if it misbehaves. So I know something about this.)

    1. Re:It's not a breakthrough, but it's good work. by Anonymous Coward · · Score: 0
      It might be good work,

      But... (drum roll)

      what is wrong with HSTCP (High Speed TCP) of which seems to have been much better thought out, is on its way to being an IETF draft (do a google search for HSTCP) and seems to work both for the average normal user and the power user. There is also another TCP varient called Scalable TCP which also seems to have quite a bit of theory behind it!

    2. Re:It's not a breakthrough, but it's good work. by Alomex · · Score: 1

      a few hundred megabits per second on a single TCP connection over a link with 100ms latency

      In other words you would have to be serving a movie from a server in Seattle to a user in Paris. One would hope you'd never do that. That is why God created Akamai...

    3. Re:It's not a breakthrough, but it's good work. by Anonymous Coward · · Score: 0
      It won't do a thing for your DSL connection.

      No, I'm pretty sure it says it will make your download connection 6000x faster.

      The New Scientist reporter needs to proof read better.

  74. Nagle by zenyu · · Score: 4, Informative

    It sounds like they are working on a replacement for the Nagle algorithm. Nagle works well on clean connections, even if badly tuned slow-start gets annoying when you have gigabit connection and it still takes a minute to ramp up to full speed on an ISO download. Where "fast tcp" would really help is on a dirty connection. I had to connect to a supercomputer a few years ago over a 100Mbps link that corrupted or lost 30% of all packets and I had to use my own streaming on top of UDP to avoid getting hammered by shrinking windows (I still needed congestion control.) On this type of connection I'd expect their "fast tcp" might give a 10x speedup. On a normal non-noisy and relatively slow DSL connection, like I have at home, I'd be surprised by a 10% speedup.

    In other words the story is all wrong, but what they are doing is actually worthwhile. You sometimes have noisy networks, especially when they are wireless or in an industrial environment. The big long haul telecoms lines are better off doing error correction on line, but in the last mile you never really know the noise characteristics so this should be handled better on the TCP level. I would probably do something like FEC with the number of recoverable errors per packet and per lost packet per logical block, tuned to the error characteristics of the network. Then call it TCP2 and release an RFC and some BSD licensed source code.. (I thought of doing this as part of building an ISP friendly P2P protocol but decided I didn't have the time..) Their solution has the advantage that it works just great with regular old TCP implementations.

  75. These kinds of articles anger me. by Fizzl · · Score: 3, Interesting

    They represent TCP totally wrong. Not only that, they describe the whole network infrastructure wrong.
    No wonder I have trouble explaining how the network works to my sister, or even to my mother who happens to have his masters in tech. (Albeit in mechanical engineering)

    Let's see.

    "The sending computer transmits a pack, waits for a signal from the recipient that acknowledges its safe arrival, and then sends the next packet"
    No honey, thats why we have the buffers. So you could receive packets out of sequence and wait for the middle ones to arrive. This is why we have 32-bit seq and ack fields in the tcp header just after the src and dst ports. seq tells the packets order in the queue. Ack tells the seq ofthe next packet (from other peer) so we can use random increments to prevent spoofing of packets. Or make it harder atleast.
    But that's out of the scope of this rant.

    If no receipt comes back, the sender transmits the same packet at half the speed of the previous one, and repeats the process, getting slower each time, until it succeeds.
    Umm, No. I'm not 100% sure but I think the network devices are dump thingies that talk to each other on predefined carriage frequencies. Thus, you can't really "slow down" the speed to increase possibility to get the packet through. And certainly this has nothing to do with TCP. Resending of failed packets is a Good Thing (TM). They are just sent again untill they reach their destination or the "I give up"-treshold has been reached.

    "The difference (in Fast TCP) is in the software and hardware on the sending computer, which continually measures the time it takes for sent packets to arrive and how long acknowledgements take to come back"
    This is the only difference? Wow! Shit. We are definetely going to get faster speeds by adding overhead with this calculation.

    Now, I'm through with my rant.

    I really really would like to see an actual white paper how this works. There has to be more to this. By the sound of just these articles, it seems to me that someone was paid to develop new, faster protocol that would magically be backward compliant with TCP. Finally the persons couldn't come up with anything smart but gobbled together something that might sound plausible.
    Of course you can get "more than 6000 times the capacity of ordinary broadband links" by using your very own dedicated parallel LAN links. You just need fast enough computer to handle the TCP stack. You would also need some fricking fast BUS's on you computer to make any use of this bandwith. Remember, the hard drives, mem chips and other storages aren't exactly 'infinite' in speed either.
    If the demo consisted only of two computers exchanging data, there would be no need to estimate the speeds as it would be very unlikely to get packet collisions because of disturbance from other network devices. Also, again, that has nothing to do with TCP-stack. Again, this useless speed calculation is just more overhead.

    And now I'm rambling.

    Shit, why can't i just stop.

    I'm angry, that's why :(

    I hope someone would answer me with insight of what am I overlooking. This looks so useless to me.

    1. Re:These kinds of articles anger me. by GauteL · · Score: 2, Informative
      You are wrong on some points.

      No honey, thats why we have the buffers. So you could receive packets out of sequence and wait for the middle ones to arrive. This is why we have 32-bit seq and ack fields in the tcp header just after the src and dst ports. seq tells the packets order in the queue. Ack tells the seq ofthe next packet (from other peer) so we can use random increments to prevent spoofing of packets. Or make it harder atleast.
      But that's out of the scope of this rant.


      This is true, but when the TCP congestion window is full (or the Receiver window), TCP has to wait for acks. So the original is not totally untrue either.

      Umm, No. I'm not 100% sure but I think the network devices are dump thingies that talk to each other on predefined carriage frequencies. Thus, you can't really "slow down" the speed to increase possibility to get the packet through. And certainly this has nothing to do with TCP. Resending of failed packets is a Good Thing (TM). They are just sent again untill they reach their destination or the "I give up"-treshold has been reached.


      Both Ethernet (the most common linksystem to run IP on) and TCP has abilities to throttle. TCP does this by simply waiting some time between retransmits if it senses a lot of package loss (either by never receiving ACKs or receiving multiple ACKs with the same number). It does so by shrinking the Congestion Window, and thus makes sure it has to wait for ACKs before transmitting the next package sometimes.

      Remember that IP itself does not make any guarantees that packages will reach the receiver in-order or even at all. It is TCP that provides the concept of reliable data transfer by doing retransmits.

      The article is uninformed however, and this mechanism for congestion control is a necessary and important part of TCP. Leaving it out so that you can squeeze some more juice out of the system will only lead to hurt in the long run.

    2. Re:These kinds of articles anger me. by Fizzl · · Score: 1

      TCP does this by simply waiting some time between retransmits if it senses a lot of package loss
      Ah.. Interesting. I didn't know this.
      Just makes me wonder. What is the logic behind this?
      I can imagine it works nicely if all the connected devices are doing this. Althou I can't see how it helps if the bandwith (let's say a LAN) is saturated and only you are trying rarer and rarer to get your packet throught.

    3. Re:These kinds of articles anger me. by GauteL · · Score: 1

      Because if the network is saturated and everone keeps trying hard, the latency will grow to infinity (really!).

      Think about a really heavily congested traffic-route. If this is just a tiny bit more saturated one day all hell breaks loose and everyone has to wait for hours.

      By throttling down at least you will be able to trasmit at a certain (albeit lower rate). If the senders do not slow down, almost no packages will reach the receiver resulting in even more retransmits and even more slowdown until the whole network just stalls.

    4. Re:These kinds of articles anger me. by Anonymous Coward · · Score: 0
      No wonder I have trouble explaining how the network works to my sister, or even to my mother who happens to have his masters in tech. (Albeit in mechanical engineering)
      Something tells me I don't want to hear the explanation...
  76. Re:You just need to hire the right marketing team. by pantropik · · Score: 5, Funny

    I don't know why they don't just get nVidia to design it. That way the sending machine will only send the packets it thinks you're actually going to be able to see instead of the entire datastream.

    nTCP = instant speed increase.

  77. Ugh, reporters.. by Mike+Hicks · · Score: 3, Interesting

    Heh, I saw this article on Yahoo, and was immediately concerned. Stupid reporters cut out way too much information, and make the people on wee dialup systems think that they'll get the moon.

    Anyway, I think this is primarily interesting for people on really fast connections (ranging in hundreds of megabits per second up to gigabits) with relatively large latencies (tens/hundreds of milliseconds as on a transcontinental link rather than nanoseconds/milliseconds like on a LAN), but I'm sure the research will have some effect on LANs and even the standard broadband connection. Impact on dialup and other not-quite-broadband connections would likely be miniscule.

    One main issue with TCP is that it uses a "slow start" algorithm, which other people have mentioned. Real TCP stacks probably tweak the algorithm quite a bit, but from the description in Computer Networks (3rd edition, 1996) by Andrew Tannenbaum, TCP packets start off with a small "window"--how much data can be in transit at a time. The window grows exponentially as packets are transmitted and acknowledgements received until a pre-set threshold is reached, and then the window starts growing more slowly (Tannenbaum's example grows exponentially to 32kB at first, then by 1kB per transmitted packet).

    If a packet is lost, the process starts over and the threshold is set to half the window size you had before the dropped packet (I imagine many systems reduce the window size by lesser amounts). Now, this particular algorithm can cause quite a bit of nastiness. It's possible the window size will never get very large. This isn't a really huge problem on low-latency links like in a LAN where you get acknowledgements really quickly, but a hyperfast transcontinental link could be reduced to mere kilobits per second even if the percentage of dropped packets is fairly low.

    Additionally, this slow start algorithm will eventually force you to restart at a smaller window size. Given enough data, you'll eventually saturate the link and lose a packet, so until the window grows enough again, there will be considerable unused bandwidth. Good TCP stacks would attempt to guess the available link speed and stop growing the window at a certain point.

    Smart system administrators can tweak kernel variables to make systems behave better (preventing the window from getting too small, having larger initial thresholds, for instance), but it looks like a lot of work on Fast TCP and related projects is related to making this a more automatic process and growing/reducing the transmit window size in a more intelligent manner.

  78. I posted this in April by imadcow1 · · Score: 1

    I posted this in April. I guess they just don't like me.
    2003-04-10 04:53:48 F.A.S.T Protocol Allows DVD to be Send in 5 Second (articles,news) (rejected)

    1. Re:I posted this in April by jo42 · · Score: 1

      /. fagboys too busy borking up the slash code to post useful stuff. Just try and read yesterdays articles...

  79. Error Checking by DASHSL0T · · Score: 5, Funny

    Error checking hasn't been removed from TCP; we've removed it from Slashdot story summaries instead, speeding up the posting by nearly 6000x.
    --
    Linux-Universe

    --
    Freedom Is Universal
    Linux-Universe
  80. Nothing new here by Vipester · · Score: 4, Interesting
    Whoever wrote these articles is not the brightest crayon in the box. Their explanations of how "regular" TCP works and how FAST works are both exceedingly wrong. Read the FAST group's overview for an explanation of what they're doing. It's semi-heavy with technical networking terms but you'll learn that this has nothing to do with error checking.

    Congestion control based on roundtrip times is old news but is uncommon AFAIK. What really happens is direct feedback from routers along a transmission's path. This is done in TCP Vegas, which was first proposed in 1994 and I think is fairly common now. The problem with scaling this or any of the other common TCP implementations to high speed/high delay links is the reaction to detected congestion. "Normal" TCP aggressively scales back its send window (send rate) when it detects congestion, usually chopping it in half. The window/rate then grows linearly until something goes wrong again. This results in alot of lost throughput in high-speed networks especially if the amount of "real" congestion is low. The FAST group is working on a new TCP implementation that doesn't react so aggressively to congestion. This is great for those high-speed/low-congestion networks we all wish really existed but is not something you want to use on the always-backed-up Internet. Would probably make things worse.

    1. Re:Nothing new here by m.dillon · · Score: 2, Interesting
      The difference between TCP Vegas and New Reno's congestion control is that TCP Vegas attempts to calculate a stabilized bandwidth-delay product to measure the available bandwidth of the channel and then matches the bandwidth of the TCP connection to the bandwidth of the channel. New Reno depends on intermediate routers dropping packets to detect 'congestion'. TCP Vegas does not depend on feedback (in the form of missed packets) at all, really, and certainly does not depend on direct feedback from intermediate routers (beyond measuring perceived amount buffering being built up in those routers through the bandwidth-delay product calculation).

      The core stabilizing parameter of the TCP Vegas implementation is the measurement of the minimum observed RTT over the connection. No other RTT measurement is stable. For example, both the instantanious and the long-term-averaged RTT measurement creates a positive feedback situation in the core calculation (i.e. NOT stable if used alone). The minimum RTT measurement cannot be used alone without making the algorithm non-responsive to changes in available channel bandwidth, but it can be used to anchor and stabilize the algorithm and that is what TCP Vegas does.

      The problem with New Reno is that most routers do not drop packets until their queues are already mostly full... far too late (i.e. the RTTs have already gone out of control by the time intermediate nodes finally decide to start dropping packets), and even running something like RED is only a hack to try to drop packets earlier, before it is too late. Anything that depends on ALL intermediate nodes physically dropping packets according to a TCP-optimized algorithm to generate implied feedback for TCP is a stupid and unnecessary approach in my view.

      TCP Vegas is very similar to the algorithm I implemented in FreeBSD (the net.inet.tcp.inflight_enable sysctl). Both attempt to calculate the available channel bandwidth and adjust a TCP connection to fit the available bandwidth. Both have the same problem in that calculating the channel bandwidth depends on calculating the bandwidth-delay product which depends on a stable RTT, and the RTT is *NOT* stable when a channel is near or at its rated bandwidth. This is why both TCP Vegas and the algorithm I implemented in FreeBSD use the minimum observed RTT as a basis for the bandwidth-delay product calculation rather then the currently observed RTT or the long-term-averaged RTT (neither of which is stable if used alone). Both Vegas and the algorithm implemented in FreeBSD can still handle changes in available channel bandwidth within a reasonable range, but it isn't perfect because both must still be anchored using the only stable measurement available (the minimum observed RTT), and it is not possible to make it perfect due to the extreme instability of nearly all other measurements both the TCP server and TCP client could make during a connection.

      NewReno's "wait for intermediate nodes to drop packets" method of congestion control is *COMPLETELY* broken. The only reason it works at all is because most TCP connections use fairly small advertised windows. When you use large advertised windows everything blows up. TCP Vegas and the FreeBSD algorithm can handle large advertised windows without blowing up.

      It should be interesting to see what the FAST group comes up with, but I think they don't quite understand the extreme instabilities of the calculations being made. TCP Vegas does a fairly good job as does the algorithm in FreeBSD (both using the minimum observed RTT as an anchor in the calculations). Neither is perfect, but finding something better that manages to remain stable over a wide range of situations is not going to be a walk in the park.

    2. Re:Nothing new here by Minna+Kirai · · Score: 1

      The FAST website points to "FAST vs Linux TCP" performance comparisons as a demonstration of their success. Linux's TCP/IP code is completely different from BSD's, right? (In the past, the Linux stack was reported to be "dead-slow" in some conditions, hopefully this has been fixed)

      Do you think they'd have achieved less impressive results if comparing against FreeBSD TCP speeds? Or would you happen to have data comparing FreeBSD (using inflight_enable) to typical Linux performance?

    3. Re:Nothing new here by BigBadBri · · Score: 1
      Thanks - a clear explanation at last.

      I skimmed the PDF of the Stabilised Vegas implementation and felt rather unenlightened, but your explanation is much more intelligible.

      --
      oh brave new world, that has such people in it!
    4. Re:Nothing new here by m.dillon · · Score: 1
      Well, the results would certainly be different. Whether the results would be better or worse is completely up in the air since it only takes minor tweaks to TCP to create wildly different results in a contrived (verses real-life) test. A better result in a contrived test does not necessarily mean a better implementation.

      For example, on a perfect link with no packet loss and only one or two volume TCP connections going, New Reno will beat TCP Vegas by about 5% (as well as the algorithm I implemented in FreeBSD). This doesn't make NewReno better, because all NewReno is doing is just slamming the packets through without regard for anything else that might be going over the same link, but if all that is being tested is throughput (and not the latency of other connections), then it would appear that NewReno is better.

      Another example: The TCP spec suggests a minimum retransmission timeout (RTO) of 1 second in order to avoid occassional retransmission of packets and issues related to broken delayed-ack implementations. But blindly following this suggestion completely destroys TCP's *INTERACTIVE* performance over a low-latency high-speed connections like, for example, 802.11b. A TCP implementation that allows RTOs of less then 1 second (ala FreeBSD-5 by default and a sysctl in FreeBSD-4) in exchange for occassional unnecessary retransmissions will have a far better performance over a lossy link being used interactively but slightly worst performance over a perfect link being used for volume data transfer. Which is better is in the eye of the beholder... it would depend entirely on the test parameters applied.

    5. Re:Nothing new here by kuknalim · · Score: 2, Informative
      What really happens is direct feedback from routers along a transmission's path.

      Errm, no. In currently deployed versions of TCP, routers *never* send direct feedback. Implicit feedback is obtained (at the sender) by sensing end-to-end packet loss or delay.

      This is done in TCP Vegas, which was first proposed in 1994 and I think is fairly common now.

      TCP Vegas uses queueing delay as its congestion control measure. The delay is implicitly fed back to the source via the end-to-end delay experienced.

  81. This is Novell's Packet Burst (or very close to it by Terje+Mathisen · · Score: 1

    Novell had even greater problems with WAN latencies due to having an effective window size of 1 for most connections.

    They solved this with something they called Packet Burst, with depended upon very careful, high-resolution timing, of all replies from the client.

    They also used the same timers to insert controlled amounts of gap time between each transmitted packet, if that was needed.

    The net effect was that they could get very close to maximum throughput, for the current combination of source, destination and current network load.

    Terje

    --
    "almost all programming can be viewed as an exercise in caching"
  82. Re:Nagle-Adaptive correction. by Anonymous Coward · · Score: 0

    Actually instead of variable retry to overcome errors. How about variable error-correction? Error-free lines (clean) get little to no error-correction (hence more information payload) and error-loaded lines (dirty), get all the error-correction they need. The ratio of ACK/NACK could be used to judge the line quality.

  83. Download movie by Anonymous Coward · · Score: 0

    If you could download a 700MB movie in a few seconds, how would your typical 7200 rpm hdd handle the load?

    1. Re:Download movie by Mike+Hicks · · Score: 1

      Heh, simple: just have a gigabyte of RAM, and let the operating system cache the whole thing ;-)

  84. /. Better Then the Artical ( sometimes) by Mooncaller · · Score: 1

    I did'nt bother with the silly artical. I just knew I'd see better coverage and insight by skipping to the posts. I was right.

  85. Eliminating 'burstiness' of TCP/IP by Daniel_ · · Score: 5, Interesting
    If I'm reading the article right, they're using the same technique that a doctoral candidate did his Phd thesis on at OSU about 3 years ago.

    TCP is extremely bursty - it pumps all the packets it can as fast as it can over the network as soon as the window opens. Then it waits for replies to all the packets. What typically happens is the burst from the NIC overloads the local router causing numerous dropped packets. This gives the imporession to the sending machine that the network is overloaded and results in a ~90% reduction in bandwidth utilization.

    The change is to include a timer that allows the NIC to space the initial burst over the entire window. This prevents the overloading at the router and permits the NIC to reach near its theoretical maximum bandwidth.

    In tests involving one router, the results were an order of magnitude increase in bandwith utilization. I'd be interested in seeing their test setup to see how they got such dramatic improvements. Normally TCP/IP is not that ineffecient - even with its extreme burstiness.

    --
    The number you have dialed is imaginary, please rotate your phone 90 degrees and try again.
  86. Caltech Business Acumen by fupeg · · Score: 1

    This would not be the first time that Caltech has taken an innovation and turned it into a big time money maker. DNA Sequencing made a lot of money for Caltech, though not without some controversies.

  87. This is an OLD idea by JayGuerette · · Score: 1

    I would SWEAR people were talking about this 5-7 years ago. I even remember some company was going to release a switch or router based on this concept. Now if only I could back up my assertion with a link...

    1. Re:This is an OLD idea by JayGuerette · · Score: 1

      It was called 'fast start'

    2. Re:This is an OLD idea by Anonymous Coward · · Score: 0
      Corporate America developed a similar system nearly 10 years ago... this "revelation" comes out of a California university now? Must be a slow news decade.

      Actually, you can go back to the industry, dispute, um yes, that's it, dispute regarding 100 megabit per second LAN technology back in the early mid 1990s.

      It seems there was the HP side of the dispute (who thought that it was a good idea to reinvent the way IEEE 802.3 10 Base T worked back when "Invent" actually meant something at HP) and the other side (who thought a fast version of IEEE 802.3 10 Base T would be just fine). The HP side lost and that was a shame.

      The old HP J2585A/B EtherTwist cards and hubs designed for them actually implemented the alternate version of the protocol that lost, which was designed specifically to carry large volumes of video and audio data quickly.

      I wonder if Carly & Co. fired^H^H^H^H^H downsized the RND team who actually did the work back then. Wouldn't that be ironic when you consider that one of the key interested parties in the new project (Disney) was so key in giving birth to HP?

      Next breaking news feature at /. -
      A new proprietary bus architechture for the PC is being developed at NYU. The reasearch team there are tentatively calling it Microchannel and it is expected to revolutionize the 32 bit bus for 386 based processors as well as bringing a finacial boone to NYU, who expects to licence their new bus for a fee from PC manufacturers who are expected to swarm to it. IBM, who some claim invented much the same thing in the late 1980s, was unavailable for comment.

      Computation and Networking, what an industry.

  88. Sick of TCP... by Anonymous Coward · · Score: 0

    Damn it...so we are going to get another congestion control mechanism? Let's see reno, new reno, vegas... I know, let's call this one "mustang ranch"! And of course the idiots on the IAB will approve yet another RFC... When's the next IETF meeting? I'm gonna go raise some hell...

  89. New Capitalists DOH !!! by Delifisek · · Score: 0

    Quality drop every where.

    First car's, then computers and now guess what ?
    TCP.

    --
    [My english is better than most other people's Turkish, so please point out mistakes politely. Thank you.]
  90. Re:Nagle-Adaptive correction. by zenyu · · Score: 1

    How about variable error-correction?

    That's what I meant. You also need retransmission for when you have unexpectedly high error rates. For transfering files you would want a relatively low level of error correction since higher latency is a good trade for greater bandwidth. For a live streaming video p2p-cast you want a much higher level of error correction.

  91. Re:T/TCP is different by Mike+Hicks · · Score: 1

    Hmm, I've heard that Microsoft does something like this when Internet Explorer attempts to connect to IIS servers, making the IE/IIS combination appear to work really fast, but that might just be a rumor.

  92. speed was important.. by leuk_he · · Score: 1

    All these protocols were there to get the greatest speed on your 2400... 9600 baud modema (and i am sure there are people here who used slower modems)

    But you forgot the mention the speeds of the protocols:

    Ymodem-G was the fastest. (if you got an errorless link)
    Zmodem followed close withing a few %.
    Ymodem was a bit slower, but by the time people got Y modem Zmodem was already popular
    Xmodem was much slower(20-30%), but everyone supported it.

    I still use zmodem now and then if i am too lazy to startup an ftp transfer.

    1. Re:speed was important.. by Andrewkov · · Score: 1
      (and i am sure there are people here who used slower modems)

      Yep, 300 baud, baby!!

  93. 6000 TIMES !!! by Taco+Cowboy · · Score: 1



    The report says that this new implementation can actually speed up the delivery of the content a whooping 6000 times FASTER !

    If that's true, then what we are having today is actually 6000 times _slower_ that what could have been.

    And in the p0rn saga, heheh ... those "cums" never tasted so delicious, given that it's 6000 times faster. :)

    --
    Muchas Gracias, Señor Edward Snowden !
    1. Re:6000 TIMES !!! by elem · · Score: 5, Interesting

      Actually if you read the New Scientist artictle you can see that that's a lie. What they actually did was bundle 10 FastTcp connetions (one must assume on fast lines) togeather and, fairly unsuprisingly, got speeds 6,000 times fast than a broadband connection... wow... 10 high speed lines are faster than broadband??

      This would be more interesting had they actually tested it on a standard 512kbs connection and seen if there was a speed increase. IMO it most likely would not make a huge a difference anyway since alot of the slowdown on a consumer broadband connecting is the connection buffers at your ISP. For a better explanation read the Traffic Shaping HOWTO.

    2. Re:6000 TIMES !!! by Brett+Johnson · · Score: 1

      Actually FAST TCP works well at broadband speeds. I recall one test over GigE that sustained 860+ Kbs. There was also a test between two high energy physics sites that managed to substantially fill a 10Gbs pipe. All of this is from memory, but the references should not be too hard to find.

      FAST TCP is currently an easy Linux Kernel option to enable. I personally am waiting for Mac OS X support, since nearly all G4 models have shipped with GigE for the last few years.

    3. Re:6000 TIMES !!! by citbofh · · Score: 1

      Very fast lines. try 10gb backbone. I know. I was there. I helped hook it up, even wrote the Perl scripts to launch the bandwidth testers (iperf). (SC2002) ;) Still, 8.6/10gb from 10 machines with a 1gb fiber uplink each is not bad, the stabilized vegas stuff is not bad in low latency, low error networks. Screws any foolproofness in TCP, though.

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

    5. Re:6000 TIMES !!! by jonadab · · Score: 1

      > This would be more interesting had they actually tested it on
      > a standard 512kbs connection

      A standard what?

      Now, if they test it on a 33.6 ppp dialup connection and get
      speeds 6000 times faster, or even 2 times faster, then I'll
      be interested.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    6. Re:6000 TIMES !!! by Anonymous Coward · · Score: 0

      standard 512 Kbs...

      56K is my damn standard, you insensitive clod!!!

  94. But there's a reason you halve it.... by raehl · · Score: 2, Informative

    Normally, when you're sending stuff from point A to point B, there is a lot of buffering on the way. At the point where you lose a packet, you've overflown a buffer somewhere. Halving your throughput at that point is probably a good idea - you may be backing off your data transmission a lot right now, but there should be plenty of data sitting in buffers out there that needs to be cleared anyway.

    If you only back off a little bit, what happens is you just go overrun that same buffer again, and just send out a lot of data on your end that's just getting dumped halfway out.

    Think of it like dumping bags of sugar into a big funnel. You start by dumping in a quarter bag per second, then a half bag per second, then 3/4ths bag per second, then a bag a second, then 1.25 bags per second, then 1.5 bags per second...

    At which point you notice that the funnel is full and sugar is overflowing it. At this point, does it make more sense to go back to dumping 1.25 bags per second, or 3/4 bags per second? (Hint: It's 3/4ths.)

    By the time you've lost a packet from overflowing a buffer, you definitely want to back off more than a little. The rate you're filling the buffers is likely at least an order of magnitude higher than the rate you're emptying it, so it only makes sense to back off by at least an order of magnitude.

    1. Re:But there's a reason you halve it.... by harvardian · · Score: 1

      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.

      The reason I think it's off (I think this is a pretty good explanation, but there may be others) is that Internet traffic is bursty. You're not continually pouring packets into routers' buffers -- you're pumping large amounts of packets in, waiting a relatively long time, and then pumping packets back in again. That period of time in between bursts is more than enough time to clear out the buffer.

      It's more like pouring one bucket of sand into a funnel, waiting for it all to flow out, and then pouring in two buckets of sand. Eventually, you overflow the funnel with 10 buckets of sand, but you don't need to go back to pouring in 5 buckets.

      Okay, I'm graduating in 4 hours so I think it's a wise time to go to bed...

    2. Re:But there's a reason you halve it.... by malxau · · Score: 2, Interesting

      Agree.

      More to the point, the reason you lost a packet is likely to be network-wide congestion. If one connection doesn't back off its sending, but keeps sending at the same rate, it relies on other connections slowing down to allow it to do so.

      If no connection slowed down, packets would be being dropped all over the place, and total network throughput would decrease.

      In other words, this Fast TCP idea seems inherently selfish and will only improve performance for one user over others, not for all users if adopted.

    3. Re:But there's a reason you halve it.... by gladbach · · Score: 1

      yes, to a point. But I think the best implementation of this would be between backbones. Or is that possible to enable it just between certain routers? IE not fully between said server in russia, and pr0n leeching client in alabama?

      --
      "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms,
    4. 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!
    5. Re:But there's a reason you halve it.... by Peter+La+Casse · · Score: 1
      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.

      Consumer grade DSL or cable connections are typically not fast enough to push the boundaries of what TCP is capable enough, so there probably wouldn't be much benefit from using Fast TCP there (a guess; I haven't looked at the Fast TCP specifics yet.) In other words, ordinary TCP is already capable of saturating a consumer grade DSL or cable connection. Where ordinary TCP has difficulties (well, one of the places it has difficulties) is saturating long-distance, high-bandwidth connections without using multiple streams.

    6. Re:But there's a reason you halve it.... by Anonymous Coward · · Score: 0

      No; as long as each stream continues to back off, the emergent properties of such a throttling regime will allow for an equilibrium to be reached.

    7. Re:But there's a reason you halve it.... by Anonymous Coward · · Score: 0

      With 9,000-byte MTU, Linux, FAST, and Scalable TCP all sustained more than 2.35Gbps on a single flow between Sunnyvale and Geneva, apparently limited by the transatlantic link. HSTCP sustained 1.8Gbps in that experiment. We emphasize that these experiments are preliminary and not yet conclusive.

    8. Re:But there's a reason you halve it.... by malxau · · Score: 1
      No; as long as each stream continues to back off, the emergent properties of such a throttling regime will allow for an equilibrium to be reached.

      ...Eventually. If in Fast TCP, instead of halving the send speed, you reduce it by, say, 2% - if the number of packets that have been sent to cause an overflow are excessive, it is unlikely that a small reduction will prevent packets being discarded, because they are still being pumped in faster than a router can buffer them.

      So if the saturated router can clear enough buffer space after some time, the Fast TCP implementation may have to resend the packet five times - whereas the traditional TCP only has to send it again once. This is because Fast TCP will increase the number of discards. Now, it may still perform faster (to the end user) because it won't have to go so far to regain its previous send rate. But if it increases the number of discards in the network as a whole efficiency is decreased.

    9. Re:But there's a reason you halve it.... by stripes · · Score: 1
      Consumer grade DSL or cable connections are typically not fast enough to push the boundaries of what TCP is capable enough, so there probably wouldn't be much benefit from using Fast TCP there (a guess; I haven't looked at the Fast TCP specifics yet.) In other words, ordinary TCP is already capable of saturating a consumer grade DSL or cable connection. Where ordinary TCP has difficulties (well, one of the places it has difficulties) is saturating long-distance, high-bandwidth connections without using multiple streams.

      Consumer grade connections may or may not see a gain from Fast TCP, but even if one thinks it won't, it is a very very good idea to make sure it doesn't see a loss. If you can verify it "isn't worse" you can lobby OS venders and router venders to start deploying it. Granted with "no gain" you are likely to only see it in the free OSes, and in whatever router vender supplies Internet2 with their backbone routers, but still... in the (possably unexpected) "it's better" case you could expect faster deployment...

  95. New Scientist article bad. Research good. by IvyMike · · Score: 2, Informative

    I stand by my claim that the New Scientist article sounds like snake oil. It's a misleading article, pure and simple.

    But, now that I've read some of the documents from the Caltech site, and I think I understand the claims, the research is fairly interesting, at least in the world of "ultrascale" networking. Of course, I'm just an unfrozen caveman engineer, and that world confuses and frightens me, so my understanding might be slightly off. Here goes anyways.

    As I understand it, the authors are saying that current TCP congestion avoidance algorithms break down on very high speed, long-haul networks. They mention looking forward to 100Gbps and higher speeds for "ultrascale" supercomputing. They have papers analyzing TCP Vegas (which was designed in 1994) and show that for the networks they're looking at, Vegas "does not scale to this regime". Specifically, they examine throughput stability of Vegas, and show that with these ultrascale networks, performance can end up bouncing between the two states of "balls-to-the-wall" fast and molasses slow. (They do not actually use the phrase "ball-to-the-wall"; that's my addition.) Network performance doesn't reach equilibrium, and your average throughput is quite ugly. In this context, the "cars starting and stopping" analogy starts to make sense.

    This is a fairly different "regime" than I'm used to; then again, I'm an unfrozen caveman engineer, and the fastest neworks I've dealth with are 10Gbps LANs, and not high speed WANs. It appears that network performance on such networks can be surprisingly bad, at least, it's surprising to me. (And heck, there's a world of conditions under which Vegas is a great TCP congestion control algorithm, and the network delivers fair bandwidth to everyone. They even link to plenty of papers which analyze, simulate, and measure conditions where current algorithms work just fine.)

    They're really looking forward to where the network finally starts to reach pathological extremes, and this all breaks down, which is different than conditions I (and most readers of the New Scientist article) would have seen.

    Their first solution, by the way, is a slightly modified algorithm called "stabilized Vegas". They prove that this algorithm avoids the oscilating behavior, and thus avoids the low throughput situation that results. Neat.

    Let me summarize my summary: original article bad, sounds like a scam. Actual research interesting, but applies to network speeds and conditions that are forward-looking, and probably don't directly apply to Mr. Bob Homeuser for quite a while. Fire bad.

  96. Don't be so sure. by fireboy1919 · · Score: 3, Informative

    It comes with Solaris right now. You can also get it for Linux. Why?

    It's useful when the ssh client has it built in because you get pretty much the same speed and the ability to download between clients.

    By the way, I know about two zmodem-enabled ssh clients:
    1) SecureCRT - nonfree/Windows only.
    2) Zssh - open-source, cross-platform.

    The actual applications which initiate the transfer are called "rz" and "sz."

    --
    Mod me down and I will become more powerful than you can possibly imagine!
    1. Re:Don't be so sure. by zakezuke · · Score: 1

      I have to admit, I found kermit to be useful back on my sun back before I got a network connection. Most of the systems I need to communicate with were either dialup shell or BBS anyway. I will admit kermit helped as it was the only thing I had easy access too that would let me talk to a modem on a serial port.

      However the speed of it, well, it was possible I was doing something wrong, I'm sure I had atleast a 14.4k modem atleast, if not a 28.8k. Basicly the throughput on it was roughly 1/2 what I would expect on zmodem. to be honest, I forget what version it was, though I doubt it was super kermit, didn't seem to be a heck of alot of options in it. But hey it was good enough to get something diffrent.

      But yes, zmodem works pretty well though ssh / telnet connections from what i've seen.

      --
      There is no sanctuary. There is no sanctuary. SHUT UP! There is no shut up. There is no shut up.
    2. Re:Don't be so sure. by evilviper · · Score: 2, Interesting
      It's useful when the ssh client has it built in because you get pretty much the same speed and the ability to download between clients.

      Any good reason not to just use SCP? I know you can transfer files in the same SSH window (using zmodem), but it wouldn't take too much work to modify the SSH client to start a file copy over the current connection using SCP...

      So what's the advantage here?
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    3. Re:Don't be so sure. by sjames · · Score: 1

      Probably the best reason to have [xyz]modem installed on a system is to have a good way to transfer files (such as a network driver) to a machine over serial console. The next best reason (if your ssh client supports it) is so you can quickly grab a file without bothering to open a new window and connection to a machine. Consider it to be sftp with tab completion and remote command execution in that case.

    4. Re:Don't be so sure. by evilviper · · Score: 1

      You didn't even bother to read past my first sentence did you? Man...

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    5. Re:Don't be so sure. by 73939133 · · Score: 1

      zssh? Why do people write complicated C programs for things that a small expect script would do just as well?

    6. Re:Don't be so sure. by sjames · · Score: 1

      Hey, it's early. :-)

      For right now, my option is: apt-get source openssh, hack hack, hack, more hack, submit patch or just apt-get install lrzsz, done!

  97. Speed & Congestion by Squeamish+Ossifrage · · Score: 1

    The whole point of their paper was that TCP breaks down when the bandwidth-delay product gets really high, because of the high number of packets "in flight" per control iteration, and because of the comparatively high (per-rtt) probability that non-congestion-induced packet losses will occur. So yeah, they are using a high-bandwidth, high-latency line with relatively few flows, but because that's the situation they're working on, not because it's a rigged test. I think the New Scientist article did a bad job in making it clear that this is about how to take advantage of obscene amounts of bandwidth, not how to squeeze performance out of more meager links.


    If you look at the applications they're interested in, namely multi-terrabyte scientific data set tranfers, UDP wouldn't be an ideal choice because they need the reliability features of TCP as well as the congestion control. Also, I'd expect this to achieve similar throughput to (well-behaved) UDP streaming protocols, because they have similar origins. FAST TCP and modern congestion-controlled UDP applications both used rate-based congestion control, largely based on the ideas introduced in TCP Vegas..

  98. Tahoe, Vegas, Reno? by Anonymous Coward · · Score: 0
    Now this is a coincidence, but I've been busy toying with TCP implementations for the last month and my deadline was yesterday (Master's Thesis). All this happened with a network simulator (NS, bug-ridden as hell it seems), and I was wondering something.


    Now really, which TCP implementation is used the most these days? You never hear about this. Like, do Windows, Macs, and UNIXes all use Reno or something? Or some Tahoe and some Vegas? The reason I'm asking is that Vegas seems fine, but needs to have some extra parameters defined (the alpha, beta and gamma thingies for congestion avoidance using RTT calculations). But under some circumstances the Vegas implementation just *sucks*: using what seems to be normal choices of these parameters you can easily get a stuck congestion window (when the delta is between alpha and beta IIRC) and only 10 percent of the throughput of a Reno implementation. Even though I haven't been able to fully overcome this in the simulator, I can imagine it might provide problems and need for fine-tuning in real-life stacks. Therefore, which one are realistically in use and which aren't?

  99. Prior art by blair1q · · Score: 1

    Microsoft was rumored to have implemented a non-synching TCP stack in early versions of IE in order to reduce delays. In fact, I couldn't tell you they don't still use it.

    Yes, it's faster if you ignore the safety interlocks, but when it goes bad, it goes really bad, because the rest of the system was designed with the presumption that the safety interlocks are on so *they* can run balls-out. They depend on that carefully modelled reigning-in of their inherent instability.

    So this new method, it could end up being far slower in many cases. Like typing on a manual typewriter is faster than writing by hand, but if you try to type too fast you slow way down always untangling the keys.

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

  101. Obviously, you're wrong. by mfh · · Score: 1

    A server that streams media data does not need to "try to keep advancing time at a constant rate".

    Media formats include timing information as part of the specification, and operate independently of transport technology. The only thing you need to worry about is supplying data at a sufficient rate. Modern streaming technologies incorporate the use of prebuffering and strong compression to overcome this.

    So at 156 seconds into a media-viewing session, you want to be streaming data from much further in the file to the client application.

    --
    The dangers of knowledge trigger emotional distress in human beings.
    1. Re:Obviously, you're wrong. by Minna+Kirai · · Score: 2, Informative

      The mention of "156 seconds" was an oversimplified example of the kind of problem. It does happen in real streaming applications, however, especially if playing from a live source where latency constraints don't permit lengthy buffers (most important in bidirectional VoIP apps)

      Of course a streaming protocol uses a buffer. That's one reason why you don't want to run it over TCP. TCP provides its own buffer, which would be redundant with the one the higher-level protocol is also creating. Optimally, one fully-informed piece of software can manage all buffers.

      Streaming music over TCP (even HTTP) is fine, because the bandwidth needs are so low that suboptimal solutions work. Streaming video is different- not only is the total bandwidth more than 10x higher, but you've got two separate streams of data whose buffer sizes need to be correlated.

      Essentially, if the network is stressed enough so that framedrops (underflows of the application-level buffer) ever happen, then TCP will waste time retransmitting old data, while a hand-rolled UDP solution will recover quicker . Today's popular audio-only streaming doesn't usually push enough data to cause framedrop events .

      You can experimentally check that UDP is better for streaming video with applications like RealPlayer. Watch some videos with it. Then adjust your firewall to block it's UDP ports (6970+) and try again (or use the HTTP setting from inside realplayer).

  102. So Microsuck wants to use tcp instead of udp? by Anonymous Coward · · Score: 0

    And the bandwidth-hungry entertainment industry is also looking at Fast TCP. Caltech is already in talks with Microsoft and Disney about using it for video on demand.

    No wonder their services suck bigtime!

  103. Re:Yes, but (someone had to do it) by SpaceLifeForm · · Score: 0, Offtopic

    The story will be available on /. next week.

    --
    You are being MICROattacked, from various angles, in a SOFT manner.
  104. Apt-get by Anonymous Coward · · Score: 0

    How does this fast TCP compare to Debian's excellent apt-get system?

  105. Bullshiting again ? by Le_Saint · · Score: 1

    What is this bullshit ? "If no receipt comes back, the sender transmits the same packet at half the speed of the previous one, and repeats the process, getting slower each time, until it succeeds. " There is nothing like this in tcp ! If the packet needs to be re sent it will be sent excatly the same way... IP networks are etherogeneous by definition ! a hardware equimpment passing IP packets to his neightbourg who will then forward it most probably at a different speed to his neightbourh until it reach its destination... If I use my modem at home I will talk at 56K to the provider it's own equipment will talk to each other at great speeds probably around 1G then he will be linked to he's own provider by a 100Mb link and then will cross the atlantic without me or my pc having a clue at what speed... And this was said in the two articles... I hope that this is due to the incompetent journalist...

    1. Re:Bullshiting again ? by Junta · · Score: 1

      Yes there is. It is true that the bandwidth of the links are different and are not changed. It is also true that latency has little to do with thing (there are flags on packets that affect latency, but they do not change during a session in almost every imaginable case). TCP does implement backoff. If packets are apparently dropped, the frequency of the retransmits is reduced.

      You are right that the networks that TCP runs over are heterogenuous in terms of 'speed' (latency and throughput in this case), and for this very reason, TCP implements this algorithm to compensate for this fact. TCP will reduce link utilization until the weakest link between source and destination can handle it. If it didn't implement this, the number of retransmits would be unimaginable, and in fact in the case of a system having a high throughput link to the next hop, communication beyond that next hop would just not be possible.

      --
      XML is like violence. If it doesn't solve the problem, use more.
  106. You're still wrong. by mfh · · Score: 2, Informative

    TCP does not provide its own underflow buffer. I'm sure modern implementations provide an overflow buffer to make sure it doesn't overwhelm the physical transport layer, but it is not the kind of buffer an application needs to ensure the seamless delivery of streaming content. Does any implementation of TCP allow for the aggregation of an arbitrary amount of data before handing it off to the application? No. That would be counter productive.

    Also, RTSP is a protocol-independent stream control mechanism. The RFC clearly states that all application data is transmitted out-of-band in another protocol. It is only a "transmission control" protocol (not to be confused with TCP, of course) and allows for the transport-independent control of data streaming to and from different sources on the net.

    In other words, it's not used to make sure the content itself gets from one place to another reliably (or unreliably). In fact, the RFC also provides support to specify a lower-transport protocol for (out-of-band) streams, either UDP or TCP. This would presumably would allow for both reliable and unreliable transmission of data, depending on your specific application.

    So in conclusion, reinventing TCP with UDP is a dumb idea and is not what RTSP aims to do. It probably plays a vital role in controlling the behavior of things such as VoIP phones. In such applications, when latency is negligible, buffers are not practical, and a reliable transport mechanism is assumed, then no, a buffer is not necessary or practical, but these assumptions do not apply to the internet-at-large in the least. If you want reliable data on the internet, you use TCP. Period.

    --
    The dangers of knowledge trigger emotional distress in human beings.
  107. caltech has been working on fastTCP for years by *weasel · · Score: 1

    just do a quick google.

    i'll go ahead and skip to the article that page that matters:
    http://www-iepm.slac.stanford.edu/monito ring/bulk/ tcpstacks/fast.html

    here you can see side-by-side tests between Fast TCP and Reno TCP. and you can see that over low latency networks (RTT 100ms) that Reno TCP is more than 5 times faster than 'Fast' TCP. that's right kids - this protocol is designed for use on ultra-wide (by our reckoning) bandwidth pipes with -high-latency-. using a smaller pipe, or having lower latency is against the assumptions of this protocol and does not net the same types of gains.

    oh, and the '6000 times faster' comment is a comparison of the speed FastTCP achieves on internet2's pipes vs. consumer broadband.
    Apples and orangutans.

    for posterity:

    http://netlab.caltech.edu/pub/papers/fast-030401 .p df - is a recent tech article that explains neat stuff like the fluff papers do.

    http://netlab.caltech.edu/pub/papers/fast-030401 .p df
    is a presentation out of caltech from january 2002 covering the problem again.

    http://netlab.caltech.edu/FAST/sc2002/sc02cit-sl ac .pdf
    here they cover a comparison between linux tcp and fast tcp. they also cover the effects of just jacking up the MTU (keep in mind this is on internet2's fat pipes.)

    --
    // "Can't clowns and pirates just -try- to get along?"
  108. my bad on jan 2k2 link by *weasel · · Score: 1

    appropriate link here:

    http://icfamon.dl.ac.uk/papers/DataTAG-WP2/repor ts /task1/20021001-Low.pdf

    and i'm retarted so i misread 'june' as 'jan'.

    and nat'l geographic beat the '6000x faster!' article to the punch by stating that FastTCP is '153,000x Faster' .... 'Than [dialup] Modem'

    http://news.nationalgeographic.com/news/2003/03/ 03 18_030318_internet.html

    --
    // "Can't clowns and pirates just -try- to get along?"
  109. Re:Bah, in my days by gpinzone · · Score: 1

    Nah, the only reason to do an ASCII transfer was to sneakily convert the ASCII art from the Apple BBS to ATASCII for my Atari 800.

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

  111. Not an improvement for consumers. by siphoncolder · · Score: 1
    Something geeks tend to do when they find out about some kind of new high-tech gadget that improves performance, they say "wow, imagine what we could do with that!"

    Something suits tend to do when they find out about some kind of new high-tech gadget that improves performance, they say "wow, imagine what we could save with that!"

    After reading several posts, I know this is probably not the panacea that we all expect. Still, taking the article at face value for a moment and assuming it would amount to 6000x... would it be possible for ISPs to say "hey, we could just throttle down the bandwidth on our lines with this new protocol and save mad cash!" ?

    Remember, geeks won't get this tech first. Suits will.

    --
    i'm amazed that i survived - an airbag saved my life.
  112. But does it... by FatalTourist · · Score: 1

    finally include the Evil Bit?

    --


    Escape Pod Films: Sketch Comedy and Web Series
  113. Error checking by isorox · · Score: 2, Funny

    dumping a lot of time-consuming error checking

    Sounds like a slashdot editor

  114. This is HSTCP - more links as well by HydraSwitch · · Score: 4, Informative

    I believe this is HSTCP.
    For more info, you can also take a look at:
    Web100 and Net100.
    It basically amounts to improving the AIMD algorithm and changing the way slow start works as well. Also, whoever said it before that this will not help your DSL connection is correct. It is meant to help high speed long RTT paths. And it does so -- quite well.

  115. How This Gets Reported by jjgm · · Score: 2, Funny

    I actually heard this on the ABC radio news whilst driving to work this morning.

    Unfortunately they managed to summarise it in the most bogus form possible, and I quote (roughly)

    "Existing Internet links could run six thousand times as fast!".

    Even New Scientist, normally a beacon of good science journalism, is really dumbing it down to the noise level.

    The analogy they gave is most ironic -

    Steven Low, who led the Caltech team, likens the way the internet works now to driving a car while looking only 10 metres ahead. You slowly increase the car's speed until an obstacle comes into view, but then you have to hit the brakes. "This is OK for driving slowly in a parking lot," says Low. But on the open road you need to be able to look further ahead: "That's what we are doing with Fast TCP."

    ... as my car sat, motionless, on the congested freeway ...

  116. Re:Nagle-Adaptive correction. by maraist · · Score: 1

    But isn't error correction supposed to be a function of the link-layer? TCP/IP has error detection with checksums (forget if it's in IP or TCP), but these aren't always used. Even if they did, on most networks, errors are due to collisions, and thus the entire packet is lost, not just a few bytes mid-stream.

    In wireless, I'd advocate something like this, but again, only at the link-layer which means it's going to be highly medium specific.

    --
    -Michael
  117. ymodem-g by Anonymous Coward · · Score: 1, Funny

    Still, nothing can be quite as fast as ymodem-g

    If I ever become a rapper, I have dibs on the name "YModem G"

  118. Zmodem was bullet proof by jhines · · Score: 1

    Back in those days, I setup a interactive session, PC to the companies Vax/VMS system, dialing in, then back out again.

    Zmodem worked over the link, where none of the other protocols did. It was horribly laggy, escaped characters, etc.

    It was designed to handle a packet switched (x.25, tymenet, telenet) network in the path.

  119. negligible difference on small downloads by venom600 · · Score: 2, Interesting

    Seems to me that the overhead required to estimate your speed would make small downloads slower. Since 99% of our downloads (web pages, images, etc.) are relatively small, wouldn't this be worse??

    For large downloads, however, it seems there could be some definite advantages.

  120. Fast... by seangw · · Score: 1

    as long as no one else uses it.

  121. Interesting Concept by MasterMynd · · Score: 2, Interesting

    However, when it comes to transferring data files, I'd personally be happy sticking with the slower old version of TCP. Who would like to have a file 600 gigs in size that potentially has errors in it, and cannot be trusted? It really has problems when your calculating mountains of data to estimate future stock values, or something else requiring massive amounts of accurate data. An error here or there may not matter, but then again, it may, and you can't tell if there are errors in it or not.

    Now, this may help with streaming content, such as perhaps streaming on demand high quality video. This may help in the future with an on demand video system much like Pay-Per-View, but over the internet. Though, lets not forget that Snail Mail is still beating out the Internet.

    http://slashdot.org/article.pl?sid=02/09/23/1719 23 4&mode=thread

  122. This is not new. by seebs · · Score: 1

    Every few years, someone discovers an amazing way to hugely improve the performance of TCP, which works great under test conditions, and fails miserably in the lab. File it with perpetual motion.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  123. Re:T/TCP is different by raxx7 · · Score: 1

    a) Its not a rummor.
    b) Its RFC compliant.
    c) There was a lot of fuzz here on /. sometime ago

  124. Re:New Scientist article bad. Research good. by dszd0g · · Score: 2, Interesting

    A friend of mine posted this article to a private mailing list yesterday. I had the following to say.

    Come on, don't buy into the media's interpretation of things. I am not saying the research is bogus, just the article makes things sound different then things are. If a physical wire operates at 1.5MHz serial, there is no way to transmit more than 1.5Mbit/s over that link. Obviously anyone who attempts to sell you software that does so is pulling your chain. That said, Fast TCP is about four times faster than Linux's TCP stack on a 1Gbit/s link (how many people do you know that have one of those). That is because most existing TCP stacks do not perform well at high speeds over long distances, because the demand hasn't been there yet.

    Now with that said, different TCP's do make a big difference because of TCP's built in congestion control. The basic idea of congestion control is that a computer shouldn't send data faster than the routers along the path can handle. There are formal proofs that also show that TCP's congestion control guarentees that all TCP connections (using the same implementation and equal round trip times) are given equal priority. The basic idea is to pull back the transmit rate when a packet is dropped.

    If all the Internet used UDP, which doesn't have congestion control, our routers would be more overwhelmed than they currently are and everything would slow down.

    One can improve one's performance by pulling back less or by taking more than one's fair share.

    The statement that all the Internet uses the TCP developed in the 1970's (called TCP Tahoe) is very much false. Most of the Internet runs TCP Reno (1990) now days which includes Jacobson's modification of TCP Tahoe (1988) and added fast recovery and fast retransmit. A number of improvements to that have been discussed in TCP/IP Illustrated by Stevens (1994) and in RFC 2581.

    A newer version called TCP Vegas (1995) has been proposed which speeds up performance dramatically and provides a more consistent transmission rate. TCP Vegas hasn't really caught on yet. Fast TCP is a competitor to TCP Vegas.

    If you are still reading at this point I will give a more thorough explanation. Whenever a recipient receives a packet it sends an ACK to the sender with the packet it is expecting next.

    When TCP starts out it starts in a mode called "slow start." It starts off with a window size of 1, meaning it sends one packet and then waits for the ACK. In slow start mode it increases the window size by one each time an ACK is received until a packet is dropped. So next round it transmits 2, then 4, then 8, until it hits the threshold (Stevens[1994] suggests 65Kbytes). Once it hits the threshold it enters "collision avoidance" mode and increases the window size by one each round (each ACK by 1/window size).

    If a sender transmits packets and does not receive any ACKs by the time the timeout for the first packet occurs it pulls back all the way to a windows size of one and drops the threshold in half in both TCP Tahoe and Reno. After going back to one, they start "slow start" again growing the window size exponentially. The difference lies when one packet is dropped but the next few packets are received in a timely manner. In this situation the receiver will send back what is called a triple-ACK all stating it is expecting the missing packet. When a triple-ACK is received TCP Tahoe behaves the same as a timeout (window size to one, threshold in half, slow start), while TCP Reno cuts both the window and the threshold in half, then enters collision avoidance mode.

    TCP Vegas works totally differently. It measures round trip time and keeps track of the difference between expected and actual round trip time. If the difference is more than a certain amount it adjusts the window size in the appropriate direction. This method even detects router congestion before the routers start dropping packets in some cases. TCP Vegas also retransmits at a double-ACK

    --
    This message is encrypted with Quad ROT-13 to protect the author's copyright under the DMCA.
  125. Re:You just need to hire the right marketing team. by Anonymous Coward · · Score: 0

    Nero BurningTCP. Hey, I like that one.

  126. Re:Interesting, but I might suggest a different na by dunderwo · · Score: 1

    I agree. I think that using the word "fast" in the name of any computer technology is an inevitable fallacy, as it will eventually cease to be true.

  127. Isn't this a poor man's high QoS under v4 by Anonymous Coward · · Score: 0

    and how will this work in v6?

  128. This makes a fundamental error in assuming... by kw · · Score: 2, Informative

    that all the other streams are going to back-off during collisions. TCP normally backs off when a packet is lost because it assumes that the router buffer is full. It seems like if *everyone* used FastTCP, and no one backed off, it would simply DOS routers all over the Internet. Basically, a router buffer fills up, but everyone keeps sending at an astronomical rate, leading to 100% packet loss. Eventually it would back down far enough that the buffer would open up again, but only briefly, and the process would repeat. TCP was designed to be fair, not a bully algorithm. This thing goes in and violates that fairness principle, by being a bully while everyone else plays nicely. TCP works for the benefit of everyone, by having a universal understanding that unless everyone plays nicely, everyone loses. Hopefully this won't catch on...

  129. Seconds... by AnotherBlackHat · · Score: 2, Funny

    Scientists in California are working on a fast new Internet connection system that could enable an entire movie to be downloaded in a matter of seconds.

    Sure it does. I'm thinking around 10000 seconds.

    -- this is not a .sig

  130. 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-
  131. That doesn't apply to software by keli · · Score: 1

    You mean as the "fast" in FFT, and the "quick" in quicksort?

    Software and algorithms don't generally get faster and better... not in the same way as computer hardware.

    Of course there's no one saying it can't be made even faster, but it's not as big a fallacy as you might think.

  132. Re:zmodem??? - HS/Link! by celerityfm · · Score: 1

    HS/Link for life! Although Ymodem-G was my first love.. damn I remember using Xmodem.. who came up with all these names anyway? Kermit anyone?

    --
    ...unfortunately no one can be told what The Mat^H^H^HGoatse is...they must experience it for themselves...
  133. Whooohah! Scary... by keli · · Score: 1

    Why would you need to be root in order to upload files?

    I would never do that. I'd rather use either a temporary location and mv the files afterwards or temporarily change the owner or group of the destination directory.

  134. TCP technologies named after Nevada, USA cities by Frank+T.+Lofaro+Jr. · · Score: 1

    Anyone know the story about why all those TCP variants are named after Nevada cities? It's interesting, and I find it cool (I live in Nevada ;).

    --
    Just because it CAN be done, doesn't mean it should!
    1. Re:TCP technologies named after Nevada, USA cities by robertchin · · Score: 1

      From what I remember, there was some conference at Tahoe where the first TCP variant was created. After that, people just decided to follow suit and call other variants after other nevada cities. This is what my communications network professor said, anyway.

  135. 10-week-old dup by nothings · · Score: 2, Informative
    8Gb/sec? "Fast TCP"? 10 simultaneous connections? Caltech?

    Been there, done that.

  136. Re:Interesting, but I might suggest a different na by Anonymous Coward · · Score: 0

    Or you could read the actual research paper and notice that Slashdot and the article are both full of shit.

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

  138. Not really new ground by IMustBeStupid · · Score: 1

    Several years ago as part of a research project at Novell we implemented something very similar (but with some additional enhancements). It automatically adjusted itself to maximise throughput on whatever end-to-end conditions it ran over, in real time.

    On 100Mb Ethernet we were getting 85-99 Mb/sec depending on other traffic on the wire.

    We tried it on a Hughes satellite link and got 498k/sec throughput on a 512k link. TCP got about 127k/sec on the same link.

    I'm actually getting a sick feeling knowing Novell never productised it. (But they did patent it).

  139. Bad advice by Anonymous Coward · · Score: 0
    #2. RTFA.

    Sorry, don't RTFA. Neither reporter had a clue what they were writing about.

  140. The Basis for TCP Vegas by DuncanIdaho42 · · Score: 1

    I don't see a good explanation of TCP Vegas here (as I understand it) and I think it would be relevant, as it sounds like they're doing little new.

    TCP Vegas is not additive increase multiplicative decrease (ie rate halving on packet loss) as ordinary TCP is, but additive decrease. It is based on monitoring round-trip-times with the crucial observation that if router queues are getting full (due to congestion) then packets queue for longer and increase the RTT. Thus, when delay seems to be increasing, Vegas gently decreases rate, producing a smoothed graph over time rather than a sawtooth.

    It requires very precise timing, made possible by relatively recent Intel chips with cycle counters.

    1. Re:The Basis for TCP Vegas by m.dillon · · Score: 1

      Not quite correct. You do not need precise timing to implement TCP Vegas or similar schemes. RTTs are inherently noisy no matter what you do and being able to precisely time them does not actually make things any easier. You need to calculate the RTTs using high precision in storage, but the actual calculation can obtain that precision statistically over many lower-resolution samples. The standard 1/100 sec timing granularity (e.g. the standard clock interrupt used by many UNIXes these days) is plenty sufficient. See my description of TCP Vegas further on down.

  141. ZModem lives! by mazor · · Score: 1

    Letsee.. adaptive packet rate, dynamicly resized transmit windows, acks as probes...

    Haven't these people ever heard of ZModem?

    -mazor

  142. Good idea. by fireboy1919 · · Score: 1

    Do it. I'll use it. :)

    The main reason I can see that the other idea is still useful is when you don't have control of the server. If you can put your own binaries on the server (which happens much more frequently), you can still install rz and sz in your home directory, but you can't usually keep an scp server unless they've already got one running. So there are more times when this may be useable than an scp-enabled ssh app.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
    1. Re:Good idea. by evilviper · · Score: 1
      you can't usually keep an scp server unless they've already got one running.

      SCP is a part of SSH. Someone would have to go out of their way to disable it, and for what???

      Anyone can use a simple command like: ssh user@sshserver.com "cat ~/myfile.bin" > myfile.bin

      So, I really don't suspect you will ever see a SSH server where SCP has been disabled. There's just no reason for it.

      Do it. I'll use it. :)

      I'd rather work on more experimental ideas for programs. You'd be better off sending off a letter to the OpenSSH guys. Personally, I'm quite happy to have a seperate terminal open for my SCP transfers. I'd bet it's a more effecient method as well.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  143. TCP alternatives by MacFreek · · Score: 0
    This is just interesting for scientists, who want to transport enormous amounts of data. TCP has a performance problem on networks with a high bandwidth-delay product (so-called "long fat pipes"), where a typical TCP connection will only fill less then 10% of the available bandwdith. At iGrid2002 , scientists were schocked to see their great demos fail miserably by just adding 100 ms of delay in their network.

    One of the reasons is that TCP has a congestion control mechanism (it will back off if the sender doesn't get all acknowledgement back), but with such a high bandwidth-delay product, the congestion control mechanism is triggered, even when the routers are not dropping any traffic. It is currently unclear what the exact reason for this is (I've heard possible reasons from the sender floading the receiver to the random early packet dropping that most modern routers do). Scientists are looking into this right now. Problem is the sheer complexity of TCP Reno (The TCP implementation as you are using right now).

    Of course, UDP can be used: that is much more aggresive then TCP, and can fill 98% of the available bandwidth, but has no congestion control, and can easily bring down a whole university network to it's knees if applied improperly. So a whole range of new TCP-alternatives is emerging, FastTCP one of them.

    Currently, the Global Grid Forum (GGF), a standardization organisation is evaluating all these TCP-alternatives. You can check their most current results at: http://www.evl.uic.edu/eric/atp/ (Note that this is very much a work in progress!)