Can throughput exceed the bandwidth of a network
I took an introductory course to networking this semester and I was wondering:
looking at things at the layer 4 level using TCP can the throughput on the network exceed its bandwidth? According to the definition I believe throughput is defined as the percentage of packets on a link whether they fail to reach the other end or not.
If that's the true definition and a network theoretically can run at 100% of its bandwidth wouldn't all window sizes of senders on that link now grow larger too and altogether exceed the bandwidth of the entire link?
In other words the throughput momentarily would exceed 100% which would surely lead to packet loss, am I correct to think of it this way?
tcp bandwidth throughput
New contributor
add a comment |
I took an introductory course to networking this semester and I was wondering:
looking at things at the layer 4 level using TCP can the throughput on the network exceed its bandwidth? According to the definition I believe throughput is defined as the percentage of packets on a link whether they fail to reach the other end or not.
If that's the true definition and a network theoretically can run at 100% of its bandwidth wouldn't all window sizes of senders on that link now grow larger too and altogether exceed the bandwidth of the entire link?
In other words the throughput momentarily would exceed 100% which would surely lead to packet loss, am I correct to think of it this way?
tcp bandwidth throughput
New contributor
1
Can there be 25hrs in a day? A 1Gb link is a 1Gb link. No amount of prayer or math can make it move more than 1Gb. You can throw more than 1Gb at it, but only 1Gb will ever get through it. The rest is either delayed (queued) or lost (dropped)
– Ricky Beam
7 hours ago
add a comment |
I took an introductory course to networking this semester and I was wondering:
looking at things at the layer 4 level using TCP can the throughput on the network exceed its bandwidth? According to the definition I believe throughput is defined as the percentage of packets on a link whether they fail to reach the other end or not.
If that's the true definition and a network theoretically can run at 100% of its bandwidth wouldn't all window sizes of senders on that link now grow larger too and altogether exceed the bandwidth of the entire link?
In other words the throughput momentarily would exceed 100% which would surely lead to packet loss, am I correct to think of it this way?
tcp bandwidth throughput
New contributor
I took an introductory course to networking this semester and I was wondering:
looking at things at the layer 4 level using TCP can the throughput on the network exceed its bandwidth? According to the definition I believe throughput is defined as the percentage of packets on a link whether they fail to reach the other end or not.
If that's the true definition and a network theoretically can run at 100% of its bandwidth wouldn't all window sizes of senders on that link now grow larger too and altogether exceed the bandwidth of the entire link?
In other words the throughput momentarily would exceed 100% which would surely lead to packet loss, am I correct to think of it this way?
tcp bandwidth throughput
tcp bandwidth throughput
New contributor
New contributor
edited 2 hours ago
psmears
24315
24315
New contributor
asked 11 hours ago
edan pattedan patt
211
211
New contributor
New contributor
1
Can there be 25hrs in a day? A 1Gb link is a 1Gb link. No amount of prayer or math can make it move more than 1Gb. You can throw more than 1Gb at it, but only 1Gb will ever get through it. The rest is either delayed (queued) or lost (dropped)
– Ricky Beam
7 hours ago
add a comment |
1
Can there be 25hrs in a day? A 1Gb link is a 1Gb link. No amount of prayer or math can make it move more than 1Gb. You can throw more than 1Gb at it, but only 1Gb will ever get through it. The rest is either delayed (queued) or lost (dropped)
– Ricky Beam
7 hours ago
1
1
Can there be 25hrs in a day? A 1Gb link is a 1Gb link. No amount of prayer or math can make it move more than 1Gb. You can throw more than 1Gb at it, but only 1Gb will ever get through it. The rest is either delayed (queued) or lost (dropped)
– Ricky Beam
7 hours ago
Can there be 25hrs in a day? A 1Gb link is a 1Gb link. No amount of prayer or math can make it move more than 1Gb. You can throw more than 1Gb at it, but only 1Gb will ever get through it. The rest is either delayed (queued) or lost (dropped)
– Ricky Beam
7 hours ago
add a comment |
3 Answers
3
active
oldest
votes
The bandwidth is the number of bits that can be sent on a link in one second. The throughput is the amount of data sent, and that will need to subtract the protocol overhead from the bandwidth, so no, the throughput cannot exceed the bandwidth. It may seem that way if you compress the data, but that is an illusion.
Well if I send more than the network link can handle wouldn't it still be accounted for? As in we could exceed 100% although it would surely cause segments to be lost
– edan patt
11 hours ago
It would simply be queued or dropped at the interface. You cannot send more bits than the interface can send during a specific time period (one second).
– Ron Maupin♦
11 hours ago
I see, so what matters is what is physically sent, I've always looked at the throughput "through the eyes" of the sender meaning the sender could send more than what the network could handle. Thanks for making it clear.
– edan patt
11 hours ago
The bandwidth limits the number of bits that can be transmitted per second. So you can't send more than that.
– Ron Trunk
11 hours ago
Typically, the throughput is measured in bytes, not bits, of the application data sent during a specific time period. You must subtract the protocol overhead to arrive at the throughput, which can also be affected by slow host processing, waiting for ACKs, etc. It is how much useful data is actually sent.
– Ron Maupin♦
11 hours ago
|
show 2 more comments
TCP also implements a receive window that's sent in the ACK for each received packet, so if you try to overload the host on the other end, it'll set the receive window to a smaller value as the TCP receive buffer fills, until finally it's set to 0 to tell the sending party to back off until it has had time process the incoming packets and hand them off to the upper layers of the networking stack. So this limits the sending capabilities. Also, if a network switch were to drop a frame due to over-congestion, that will cause TCP to halt everything, ask for a fast retransmit of the missing packet (since packets will start to arrive out of order), and then resume processing of the other packets. TCP doesn't care about maximum speed or throughput, it cares about getting every single frame through, in order and without errors. For what you're describing to even happen, you'd need to use another Layer 4 protocol, preferably something which doesn't care about anything, like UDP.
add a comment |
Yes, sort of. ISPs often "oversell" the capacities of their lines, so that the total throughput available to the users is greater than the capacity of their line. They do this because usually the data the users use is significantly less than what they'd be allowed to use, theoretically - it's rare for all of the users to use their maximum allocated capacity at the same time. For instance, if they have a line that has 1 GB/s of throughput, they might sell 50 100 MB/s plans to their customers.
New contributor
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "496"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
edan patt is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fnetworkengineering.stackexchange.com%2fquestions%2f57427%2fcan-throughput-exceed-the-bandwidth-of-a-network%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
The bandwidth is the number of bits that can be sent on a link in one second. The throughput is the amount of data sent, and that will need to subtract the protocol overhead from the bandwidth, so no, the throughput cannot exceed the bandwidth. It may seem that way if you compress the data, but that is an illusion.
Well if I send more than the network link can handle wouldn't it still be accounted for? As in we could exceed 100% although it would surely cause segments to be lost
– edan patt
11 hours ago
It would simply be queued or dropped at the interface. You cannot send more bits than the interface can send during a specific time period (one second).
– Ron Maupin♦
11 hours ago
I see, so what matters is what is physically sent, I've always looked at the throughput "through the eyes" of the sender meaning the sender could send more than what the network could handle. Thanks for making it clear.
– edan patt
11 hours ago
The bandwidth limits the number of bits that can be transmitted per second. So you can't send more than that.
– Ron Trunk
11 hours ago
Typically, the throughput is measured in bytes, not bits, of the application data sent during a specific time period. You must subtract the protocol overhead to arrive at the throughput, which can also be affected by slow host processing, waiting for ACKs, etc. It is how much useful data is actually sent.
– Ron Maupin♦
11 hours ago
|
show 2 more comments
The bandwidth is the number of bits that can be sent on a link in one second. The throughput is the amount of data sent, and that will need to subtract the protocol overhead from the bandwidth, so no, the throughput cannot exceed the bandwidth. It may seem that way if you compress the data, but that is an illusion.
Well if I send more than the network link can handle wouldn't it still be accounted for? As in we could exceed 100% although it would surely cause segments to be lost
– edan patt
11 hours ago
It would simply be queued or dropped at the interface. You cannot send more bits than the interface can send during a specific time period (one second).
– Ron Maupin♦
11 hours ago
I see, so what matters is what is physically sent, I've always looked at the throughput "through the eyes" of the sender meaning the sender could send more than what the network could handle. Thanks for making it clear.
– edan patt
11 hours ago
The bandwidth limits the number of bits that can be transmitted per second. So you can't send more than that.
– Ron Trunk
11 hours ago
Typically, the throughput is measured in bytes, not bits, of the application data sent during a specific time period. You must subtract the protocol overhead to arrive at the throughput, which can also be affected by slow host processing, waiting for ACKs, etc. It is how much useful data is actually sent.
– Ron Maupin♦
11 hours ago
|
show 2 more comments
The bandwidth is the number of bits that can be sent on a link in one second. The throughput is the amount of data sent, and that will need to subtract the protocol overhead from the bandwidth, so no, the throughput cannot exceed the bandwidth. It may seem that way if you compress the data, but that is an illusion.
The bandwidth is the number of bits that can be sent on a link in one second. The throughput is the amount of data sent, and that will need to subtract the protocol overhead from the bandwidth, so no, the throughput cannot exceed the bandwidth. It may seem that way if you compress the data, but that is an illusion.
answered 11 hours ago
Ron Maupin♦Ron Maupin
66.6k1369123
66.6k1369123
Well if I send more than the network link can handle wouldn't it still be accounted for? As in we could exceed 100% although it would surely cause segments to be lost
– edan patt
11 hours ago
It would simply be queued or dropped at the interface. You cannot send more bits than the interface can send during a specific time period (one second).
– Ron Maupin♦
11 hours ago
I see, so what matters is what is physically sent, I've always looked at the throughput "through the eyes" of the sender meaning the sender could send more than what the network could handle. Thanks for making it clear.
– edan patt
11 hours ago
The bandwidth limits the number of bits that can be transmitted per second. So you can't send more than that.
– Ron Trunk
11 hours ago
Typically, the throughput is measured in bytes, not bits, of the application data sent during a specific time period. You must subtract the protocol overhead to arrive at the throughput, which can also be affected by slow host processing, waiting for ACKs, etc. It is how much useful data is actually sent.
– Ron Maupin♦
11 hours ago
|
show 2 more comments
Well if I send more than the network link can handle wouldn't it still be accounted for? As in we could exceed 100% although it would surely cause segments to be lost
– edan patt
11 hours ago
It would simply be queued or dropped at the interface. You cannot send more bits than the interface can send during a specific time period (one second).
– Ron Maupin♦
11 hours ago
I see, so what matters is what is physically sent, I've always looked at the throughput "through the eyes" of the sender meaning the sender could send more than what the network could handle. Thanks for making it clear.
– edan patt
11 hours ago
The bandwidth limits the number of bits that can be transmitted per second. So you can't send more than that.
– Ron Trunk
11 hours ago
Typically, the throughput is measured in bytes, not bits, of the application data sent during a specific time period. You must subtract the protocol overhead to arrive at the throughput, which can also be affected by slow host processing, waiting for ACKs, etc. It is how much useful data is actually sent.
– Ron Maupin♦
11 hours ago
Well if I send more than the network link can handle wouldn't it still be accounted for? As in we could exceed 100% although it would surely cause segments to be lost
– edan patt
11 hours ago
Well if I send more than the network link can handle wouldn't it still be accounted for? As in we could exceed 100% although it would surely cause segments to be lost
– edan patt
11 hours ago
It would simply be queued or dropped at the interface. You cannot send more bits than the interface can send during a specific time period (one second).
– Ron Maupin♦
11 hours ago
It would simply be queued or dropped at the interface. You cannot send more bits than the interface can send during a specific time period (one second).
– Ron Maupin♦
11 hours ago
I see, so what matters is what is physically sent, I've always looked at the throughput "through the eyes" of the sender meaning the sender could send more than what the network could handle. Thanks for making it clear.
– edan patt
11 hours ago
I see, so what matters is what is physically sent, I've always looked at the throughput "through the eyes" of the sender meaning the sender could send more than what the network could handle. Thanks for making it clear.
– edan patt
11 hours ago
The bandwidth limits the number of bits that can be transmitted per second. So you can't send more than that.
– Ron Trunk
11 hours ago
The bandwidth limits the number of bits that can be transmitted per second. So you can't send more than that.
– Ron Trunk
11 hours ago
Typically, the throughput is measured in bytes, not bits, of the application data sent during a specific time period. You must subtract the protocol overhead to arrive at the throughput, which can also be affected by slow host processing, waiting for ACKs, etc. It is how much useful data is actually sent.
– Ron Maupin♦
11 hours ago
Typically, the throughput is measured in bytes, not bits, of the application data sent during a specific time period. You must subtract the protocol overhead to arrive at the throughput, which can also be affected by slow host processing, waiting for ACKs, etc. It is how much useful data is actually sent.
– Ron Maupin♦
11 hours ago
|
show 2 more comments
TCP also implements a receive window that's sent in the ACK for each received packet, so if you try to overload the host on the other end, it'll set the receive window to a smaller value as the TCP receive buffer fills, until finally it's set to 0 to tell the sending party to back off until it has had time process the incoming packets and hand them off to the upper layers of the networking stack. So this limits the sending capabilities. Also, if a network switch were to drop a frame due to over-congestion, that will cause TCP to halt everything, ask for a fast retransmit of the missing packet (since packets will start to arrive out of order), and then resume processing of the other packets. TCP doesn't care about maximum speed or throughput, it cares about getting every single frame through, in order and without errors. For what you're describing to even happen, you'd need to use another Layer 4 protocol, preferably something which doesn't care about anything, like UDP.
add a comment |
TCP also implements a receive window that's sent in the ACK for each received packet, so if you try to overload the host on the other end, it'll set the receive window to a smaller value as the TCP receive buffer fills, until finally it's set to 0 to tell the sending party to back off until it has had time process the incoming packets and hand them off to the upper layers of the networking stack. So this limits the sending capabilities. Also, if a network switch were to drop a frame due to over-congestion, that will cause TCP to halt everything, ask for a fast retransmit of the missing packet (since packets will start to arrive out of order), and then resume processing of the other packets. TCP doesn't care about maximum speed or throughput, it cares about getting every single frame through, in order and without errors. For what you're describing to even happen, you'd need to use another Layer 4 protocol, preferably something which doesn't care about anything, like UDP.
add a comment |
TCP also implements a receive window that's sent in the ACK for each received packet, so if you try to overload the host on the other end, it'll set the receive window to a smaller value as the TCP receive buffer fills, until finally it's set to 0 to tell the sending party to back off until it has had time process the incoming packets and hand them off to the upper layers of the networking stack. So this limits the sending capabilities. Also, if a network switch were to drop a frame due to over-congestion, that will cause TCP to halt everything, ask for a fast retransmit of the missing packet (since packets will start to arrive out of order), and then resume processing of the other packets. TCP doesn't care about maximum speed or throughput, it cares about getting every single frame through, in order and without errors. For what you're describing to even happen, you'd need to use another Layer 4 protocol, preferably something which doesn't care about anything, like UDP.
TCP also implements a receive window that's sent in the ACK for each received packet, so if you try to overload the host on the other end, it'll set the receive window to a smaller value as the TCP receive buffer fills, until finally it's set to 0 to tell the sending party to back off until it has had time process the incoming packets and hand them off to the upper layers of the networking stack. So this limits the sending capabilities. Also, if a network switch were to drop a frame due to over-congestion, that will cause TCP to halt everything, ask for a fast retransmit of the missing packet (since packets will start to arrive out of order), and then resume processing of the other packets. TCP doesn't care about maximum speed or throughput, it cares about getting every single frame through, in order and without errors. For what you're describing to even happen, you'd need to use another Layer 4 protocol, preferably something which doesn't care about anything, like UDP.
answered 10 hours ago
StuggiStuggi
1,462521
1,462521
add a comment |
add a comment |
Yes, sort of. ISPs often "oversell" the capacities of their lines, so that the total throughput available to the users is greater than the capacity of their line. They do this because usually the data the users use is significantly less than what they'd be allowed to use, theoretically - it's rare for all of the users to use their maximum allocated capacity at the same time. For instance, if they have a line that has 1 GB/s of throughput, they might sell 50 100 MB/s plans to their customers.
New contributor
add a comment |
Yes, sort of. ISPs often "oversell" the capacities of their lines, so that the total throughput available to the users is greater than the capacity of their line. They do this because usually the data the users use is significantly less than what they'd be allowed to use, theoretically - it's rare for all of the users to use their maximum allocated capacity at the same time. For instance, if they have a line that has 1 GB/s of throughput, they might sell 50 100 MB/s plans to their customers.
New contributor
add a comment |
Yes, sort of. ISPs often "oversell" the capacities of their lines, so that the total throughput available to the users is greater than the capacity of their line. They do this because usually the data the users use is significantly less than what they'd be allowed to use, theoretically - it's rare for all of the users to use their maximum allocated capacity at the same time. For instance, if they have a line that has 1 GB/s of throughput, they might sell 50 100 MB/s plans to their customers.
New contributor
Yes, sort of. ISPs often "oversell" the capacities of their lines, so that the total throughput available to the users is greater than the capacity of their line. They do this because usually the data the users use is significantly less than what they'd be allowed to use, theoretically - it's rare for all of the users to use their maximum allocated capacity at the same time. For instance, if they have a line that has 1 GB/s of throughput, they might sell 50 100 MB/s plans to their customers.
New contributor
New contributor
answered 5 hours ago
nick012000nick012000
99
99
New contributor
New contributor
add a comment |
add a comment |
edan patt is a new contributor. Be nice, and check out our Code of Conduct.
edan patt is a new contributor. Be nice, and check out our Code of Conduct.
edan patt is a new contributor. Be nice, and check out our Code of Conduct.
edan patt is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Network Engineering Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fnetworkengineering.stackexchange.com%2fquestions%2f57427%2fcan-throughput-exceed-the-bandwidth-of-a-network%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Can there be 25hrs in a day? A 1Gb link is a 1Gb link. No amount of prayer or math can make it move more than 1Gb. You can throw more than 1Gb at it, but only 1Gb will ever get through it. The rest is either delayed (queued) or lost (dropped)
– Ricky Beam
7 hours ago