Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Can someone explain to me how data is transmitted over a network using TCP/IP? Let's say I currently receive 500 Mbps of data over a 1 Gbps line right now. If I upgrade the line to 10 Gbps, would my data speeds increase to 5 Gbps due to serialization (more lanes for data to move, even though it might still be moving at the same speed per lane)?

I'm really confused on what it actually is that determines throughput and why actual throughput varies from labeled link speed. I believe actual throughput is determined by round-trip time, but to achieve 10 Gbps, wouldn't that mean you'd need like sub-millisecond ping? Or is that throughput per lane, and then depending on the link speed, you multiply that transfer rate by the appropriate number of lanes?

share|improve this question

closed as not constructive by Canadian Luke, Dave M, wizlog, 8088, Nifle Feb 14 '13 at 19:57

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

You say you get "500 Mbps of data over a 1 Gbps" - using what protocol? – Robert Jul 20 '12 at 14:00
I believe TCP? This is just a hypothetical scenario. – eek142 Jul 20 '12 at 14:03
What is your question, you're not being clear. – wizlog Feb 14 '13 at 17:35

There are many factors that limit the speed you can transfer data, and you can only transfer as fast as the slowest link in the chain. Once you get in to the 1Gbps range things like the speed of your hard drive will be the slowest link instead of your network adapter.

Also you are tying bandwidth and latency together when you should not, those two things have nothing to do with each other. Lets show this by a real world example, if I have a factory that can produce 100 Widgets per second, it does not matter if it takes me a hour to deliver the Widget to the customer or a week, as long as the rate that I am producing the Widgets stays at the same speed. If I upgrade my factory to make 1000 Widgets per second, my delivery trucks still take the same amount of time to get there, I just may be sending larger trucks or more of them.

Now having a high latency will diminish your throughput due to how the congestion control algorithms work, however increasing the bandwidth will not affect your latency (in a theoretical sense, in the real world you will likely see some change, but that is from side effects of changing protocols and equipment).

I highly recommend listing to Steve Gibson's series on the way the internet works on "Security Now!" (starting at ep 309) then moving on to how TCP works a few episodes later. They go over the nuts and bolts of how TCP works and it may help you understand what you want.

share|improve this answer
Actually, TCP throughput heavily depends on both latency and bandwidth. This is due to the congestion control algorithm it comes with. In fact, the bad link utilization of the classic additive increase/multiplicative decrease approach with long fat pipes (i.e. high bandwidth-delay product on the communication path), gave rise to the development of better suited congestion control algorithms like BIC, CUBIC or Relentless TCP. – artistoex Feb 14 '13 at 10:02
@artistoex I did not mean to imply that throughput does not depend latency and bandwith. I was trying to educate the OP based on his comment "... but to achieve 10 Gbps, wouldn't that mean you'd need like sub-millisecond ping". Yes having a high latency will give you a poor throughput due to the congestion algorithms, but it is not directly tied to it the way the OP was talking about. – Scott Chamberlain Feb 14 '13 at 15:42
@artistoex I changed the wording a bit to clarify I was meaning to talk about bandwidth and latency, not throughput and latency, hopefully it will meet your satisfaction to remove the -1. – Scott Chamberlain Feb 14 '13 at 15:49

A single host is going to be unable to saturate your 10Gbps link unless it also has a 10Gbps interface. Many hosts accessing the link through a switch could do it (this assumes, for example, you have a switch on your side of the 10Gbps link that has a 10Gbps interface), as could say, a server with a 10Gbps interface.

All protocols, such as TCP and IP, have overhead. So you cannot move files at 10Gbps over a 10Gbps interface because of that.

Raising the MTU can lower the overhead, as it increases the size of the payload of each packet. This is why one of the important features of Gigabit ethernet are "Jumbo Frames" allowing a maximum MTU of 8192 up from 1500. However, it means if the data must go over an interface with a lower MTU, fragmentation is necessary. This may add milliseconds to your latency. Other things that add latency are time spent routing and switching the traffic.

share|improve this answer
My example assumes you have a 10 Gbps NIC on the server, a 10 Gbps switch, and a 10 Gbps line. Would upgrading all of this from 1 Gbps lead to 10x the throughput? – eek142 Jul 20 '12 at 15:13

Not the answer you're looking for? Browse other questions tagged .