# Speed of electricity (signal propagation?) through copper for communications delay

I would like to be be able to calculate the delay for communications
data within TCP/IP networking through cat5e networking cable.

That is a pretty vague request so I will do my best to clarify (it is very likely I am missing a piece of fundamental electrical know-how here so sorry if that question is moot by its very definition!)

Lets imagine a very basic scenario of two computers with 100Mbps Ethernet NICs connected directly together sending data from one to the other, over a 10 meter piece of cat5e cable. Also lets image the same scenario with a 100 meter cable.

Transferring data at a rate of 100Mbps means we are encoding 100,000,000 bits of data on to the wire every second (ignore fancy encoding techniques that reduce this). That is one bit every 10 nanoseconds.

In the first scenario with a 10m cable length, after 10ns of initiating the transfer, one data bit has been encoded onto the wire as an electrical signal. How much more time will pass before it has reached the other end of the cable? How much later would it be if it was a 100m cable?

I assume this is some sort of propagation formulae taking into account the resistance of the material or similar, but I have no idea where to being, and I am a complete novice at electronics so please go easy on me :)

• Speed of electricity Commented Oct 25, 2012 at 16:36
• Mind you that the delay in cabling can be very different from the delay in the network equipment. Hard to predict which will be the dominating part. Commented Oct 25, 2012 at 18:06
• @jippie That is a great link, thank you very much :) Commented Nov 18, 2012 at 22:14

It's more complicated than that, the propagation speed is going to be based on both the wire and the dielectric constant of the material around the wire. In your case that would be some plastic and air. I'll leave the detailed explanation for someone else, but for a quick check analysis wiki says the propagation delay of cat 5 is 4.8 to 5.3 ns/meter, and the speed is 0.64 c (where c is the speed of light).

So worst case 5.3 ns/m * 10 meters is 53ns. Then 5.3 ns/m * 100 meters is 530ns so the difference in delay is about 477ns.

• Did you mean to say "dielectric constant" instead of "magnetic permeability"? Both affect the propagation velocity, but dielectric constant is much more likely to be significantly different between materials you might use to insulate a wire. Commented Oct 25, 2012 at 16:46
• Ah yeah you're right I did I'll edit that I've been looking at inductors all day and my wires got crossed. +1 for the catch and thank you ;) Commented Oct 25, 2012 at 17:17
• Ah, your opening sentence has given me a good starting point for further research. Thanks for your answer! :) Commented Nov 18, 2012 at 22:15

I would like to be be able to calculate the delay for communications data within TCP/IP networking through cat5e networking cable.

I agree with @SomeHardwareGuy that the delay in the wires will likely be in the range of 4.8~5.3ns/m.

But it should be noted that there are other sources of delay specifically related to TCP/IP and 100Mbps Ethernet.

• The first thing to note is that you are using 100Mbps Ethernet. Ethernet data is received in packets. You can't process any data until you receive the whole packet. This introduces latency into the system which is proportional to the length of the packet.

• The specification for 100Mbps Ethernet (IEEE 802.3) requires that the packets have a minimum size of 512 bits. So even if you want to just send one byte over TCP/IP you are going to have to wait at least 5.12us before the TCP//IP stack running on the receiving host will even see that byte.

• Notice how 5.12us is nearly 10 times as long as it took the data to actually travel over 100m of wire. And that's just for the bare minimum sized packet. For a maximum sized packet of 1500 bytes you are looking at 120us of delay. Which is 226 times longer than the 530ns cable delay.

• If you are writing software that uses the built in TCP/IP stack that is part of the operating system, then you are going to have delay associated with that as well. The TCP/IP stack has a lot of processing to do before it can give your application the data. It could be many thousands of clock cycles between when the packet finishes traveling over the wire and when your application software actually receives that data from the TCP/IP stack. Somewhere in the range of 10s to 100s of microseconds is plausible.

So at this point is should be clear that cable delay for 100m of cable is probably only like 1% of the total delay.