[SOLVED] Output buffer size of a router depends upon RTT. How?

Jun 24, 2021
5
0
10
According to a book on computer networking a router needs an amount of buffering equal to the average round-trip time of a flow, that passes through the router, multiplied by the capacity of the router’s network interface, B = RTT * C.

My question:
Is this RTT provided to the router by a host?
 
Solution
Where did you get idea that a router must keep track of session response time. This is not really a function of a router. If you really want to learn networking you will know a router operates on layer 3 and sometimes on layer 4 but it is not concerned with higher layer protocols that would include caring about response times.

A routers only real function is to sort traffic between paths. It looks at the destination IP address and selects which interface to send it on. This does not really apply to home router since it really only has 1 path to and from the internet. It is better called a gateway. The only time a router would place traffic in a buffer is if the connection it wanted to send the data on was being used at...

kanewolf

Titan
Moderator
According to a book on computer networking a router needs an amount of buffering equal to the average round-trip time of a flow, that passes through the router, multiplied by the capacity of the router’s network interface, B = RTT * C.

My question:
Is this RTT provided to the router by a host?
It sounds like you need to research what RTT is. You need to understand what that is.
 
Where did you get idea that a router must keep track of session response time. This is not really a function of a router. If you really want to learn networking you will know a router operates on layer 3 and sometimes on layer 4 but it is not concerned with higher layer protocols that would include caring about response times.

A routers only real function is to sort traffic between paths. It looks at the destination IP address and selects which interface to send it on. This does not really apply to home router since it really only has 1 path to and from the internet. It is better called a gateway. The only time a router would place traffic in a buffer is if the connection it wanted to send the data on was being used at that moment. How large this buffer is is not a function of latency.

Home "routers" gateways have a addition function in the nat that to a point keeps track of the sessions but it does not actually care about the actual round trip time. This session information is kept in memory not so much a buffer and is discarded when the session is closed or after a period of time of inactivity. The length of time it is kept and the size are not affected by the round trip time.

You must be misreading the book or it is wrong. The concept of RTT is more of a end device/application function. Even more so for UDP session since only the application knows which data packets actually make up which session.
 
Solution
Jun 24, 2021
5
0
10
Where did you get idea that a router must keep track of session response time. This is not really a function of a router. If you really want to learn networking you will know a router operates on layer 3 and sometimes on layer 4 but it is not concerned with higher layer protocols that would include caring about response times.

A routers only real function is to sort traffic between paths. It looks at the destination IP address and selects which interface to send it on. This does not really apply to home router since it really only has 1 path to and from the internet. It is better called a gateway. The only time a router would place traffic in a buffer is if the connection it wanted to send the data on was being used at that moment. How large this buffer is is not a function of latency.

Home "routers" gateways have a addition function in the nat that to a point keeps track of the sessions but it does not actually care about the actual round trip time. This session information is kept in memory not so much a buffer and is discarded when the session is closed or after a period of time of inactivity. The length of time it is kept and the size are not affected by the round trip time.

You must be misreading the book or it is wrong. The concept of RTT is more of a end device/application function. Even more so for UDP session since only the application knows which data packets actually make up which session.
Yes, you are right and that is my concern as I know RTT is related to end application or host. I am reading Computer Networking A Top Down Approach by Kurose. It says:
"How much Buffering at Output Port of Router is Required
..... For many years, the rule of thumb [RFC 3439] for buffer sizing was that the amount of buffering (B) should be equal to an average round-trip time (RTT, say 250!msec) times the link capacity (C). Thus, a 10-Gbps link with an RTT of 250 msec would need an amount of buffering equal to B = RTT # C = 2.5 Gbits of buffers".

Which RTT is this book talking about?
 
This appears to be one of those messy math things that you find in RFC. This is the theoretical stuff you see in colleges more than a concern using real life routers. Maybe if you were a engineer working for a company that designs and builds routers and needed to pick which memory chips you were going to use.

Lately memory is cheap and they put huge buffers in routers. This is what causes the buferbloat issue you see gamers complain about but it helps every other applications.

This does not appear to be some live calculation that is being done by the router but is a calculation that is done when the router is designed. There are too many variables to actually know the latency since you have many users going to many locations that are all different. I suspect the RTT is some average number they basically make up. They are trying to pick a buffer size that is large enough so things like tcp windows size will work correctly. A lot of this just does not matter. Memory is very cheap now days so rather than calculate this stuff you just put in much more than you every expect can be used.

Now none of this matters if data never queues. It assumes that for some reason the router receives more data than it can send. This tends to be poor network design if it happens a lot. Using a router buffer to fix a overloaded connection is not a good option unless the condition is extremely transient.
 
  • Like
Reactions: Hunter8014