Although I am a computer science major, I am having a hard time understanding how internet providers have control over internet speed (example: offer different speeds to different customers, one with a higher price, etc.).

And I mean how is it that they do it at the physical level or bit level if I may. I think that they might have some tool that let more bits flow through a certain pipe or something like that. I would appreciate if someone could answer my question or ask me any clarification about my inquiry if it's not clear.

  • 1
    $\begingroup$ This is more of an engineering question than a computer science question. I hesitate to close this unilaterally, because it isn't unambiguously off-topic, but there isn't really a computer science answer here, nor a physics answer for that matter. Internet speed limitations on top of the limitations of the physical medium are a matter of software configuration, not a matter of physics. $\endgroup$ Feb 11 '16 at 10:16

This is a very wide topic indeed.

Basically, there are two ways to measure and control the speed of a connection: physical speed and logical speed.

Physical speed is determined by the technology, protocol and sometimes the physical conditions of the line. For example, a Fast Ethernet has a physical speed of about 100 Mbps, meaning that it could in theory transmit information at 100 Mbps at physical layer (brute bits). Most current optical fibre connections can reach several gigabit per second of brute speed.

In some case, the physical conditions may affect the physical speed for a particular link. In those cases, a initial negotiation when the link is established determines the maximum physical attainable speed. This is how old modem and current xDSL systems work.

On the other hand, there is a logical speed in the line, usually lower than the physical connection. In most current systems, at a logical (more abstract) level, the information travels in packets. Ethernet for example uses Ethernet packets, which usually is comparable to IP packets but not always. ATM networks use ATM packets that contains 53 bytes of data (48 of them are payload).

Now the relationship between both speeds: single packets travel at physical speed. If you have at home a GPON (fiber) connection, it may have a physical speed of 2.4 Gbps. Every GPON packet will travel at 2.4 Gbps. So how the speed provided to the user is limited? Limiting the packet rate at a higher level. Send a 1 Kbps packet every 1 ms, and you just limited the perceived speed to 1 Mbps. This can be easily done by software, allowing all kind of traffic control, burst control, congestion control, monitoring, etc.

Deploying a high-speed physical connection to provide low-speed logical speed services has several advantages:

  • The same physical link can serve for different logical speeds. Same technology makes the deployment easier and the manufacturing cheaper.
  • Logical speed can be modified to any value, at any time, simply by a change in the configuration of one or more devices. No need to replace equipment unless you need to provide more speed that the one supported by the physical layer.
  • The same physical link can be used by more people, and this is key. If you have a 1 Mbps service using fibre or cable connection, the physical layer would be unused between your packets. But it can be used for other user's packets, it is shared. And it is aggregated in the network hierarchy. A 10 Gbps link can carry thousands of low-speed link from thousands of users.

I hope this is clear and answers your question, but certainly it is just a very simplified overview. Feel free to ask more questions or clarifications.

  • $\begingroup$ Thanks for the answer. I am applying for a job at a big ISP so I hope I can ask them the same question and maybe have the opportunity to see the specific software tools that they use. $\endgroup$
    – Joel
    Feb 11 '16 at 19:12
  • $\begingroup$ I also read that one of the methods that they use to slow down internet connection is by "dropping" data along the way. This just seemed to me such a big waste but the idea of sharing paths for packets for different users sounds a lot better. $\endgroup$
    – Joel
    Feb 11 '16 at 19:27
  • 1
    $\begingroup$ Packet dropping is used as a congestion control method. If data is coming from Internet faster than client line can deliver it, usually first the network buffers it (there is a burst margin) and then starts dropping packets. Packet dropping usually triggers mechanisms in TCP/IP protocols to reduce speed. $\endgroup$
    – siritinga
    Feb 11 '16 at 20:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.