General Networking/Lan/Wan/TCP window Size
QUESTION: If tuned TCP window for 1200000Bytes for to achive 32Mbps speed (E3 link) & 300ms Round trip delay. And checked it is working fine....
with same configuration, If i am routing traffic on 2Mbps (E1 link) throughput is comming less???
Even though i am opereting less speed (i.e 2Mbps) with same RRT why we are getting 2 or 1.9Mbps throughput???
Can i maintain more buffer ????
Note: it is working fine with 75000Byte TCP window
ANSWER: Well that's pretty simple actually. Your E3 is a super high speed link. Essentially 16 E1s (32 Mbps). Theoretically you can get a bit faster than this but I think you are doing quite well to get 32 Mbps out of it. By changing those settings you are essentially doing a version of "high speed TCP" - to overcome the behavior of TCP on high latency links.
However, your E1 is only a 2 Mbps link. That's it. The best you can get out of it is 2 Mbps, unless you leverage other technologies like compression, wan acceleration, etc.
There could be other stuff going on that might affect the speed on that E1 (mss, mtu, packet fragmentation, packet loss, etc). The only way to REALLY see what's going on is to take a packet capture and look at it. If I was getting 1.5 - 2 Mbps on an E1 I'd be happy :-)
---------- FOLLOW-UP ----------
QUESTION: "If router is having multiple WAN interface operets at different data rates (like E1 2Mbps, E3 32Mbps) how to choose the TCP window size?
We configured router E3 as primary link and E1 as backup link and both links are having 300ms RTT.
If I allotted Receive window size 12,00,000 based on E3, if will it work for E2 ???"
ANSWER: You don't really have much of a choice. Your E1 is only your backup link anyway. Your E3 SHOULD stay up pretty much all the time - so you should configure for that, to get the best speed you possibly can. Whatever happens on the backup link merely needs to be "good enough" to get by - when your primary is down.
There is no way you can figure an optimal solution for both on your PCs and Servers - since those changes only take effect during a reboot or stop/restart of the NIC. Unless you are willing to spend some serious money on WAN acceleration, then "it is what it is" as they say.
---------- FOLLOW-UP ----------
QUESTION: Wiki says( http://en.wikipedia.org/wiki/TCP_tuning
) more than or equal to.... If i am maintaining more why can i get 2Mbps ?????
We are planning for external TCP - PEPs..... in that PEP, Band width Delay product (BDP) is configurable parameter.... But how to change the BDP dynamically is the problem for me...
>> We are planning for external TCP - PEPs..... in that PEP, Band width Delay product (BDP) is configurable parameter.... But how to change the BDP dynamically is the problem for me...
??? PEPs are usually for satellite links. Not E1s and Not E3s.
I'd like to help but if you really would like my help then please provide ALL the details and background that I'll need. It is less helpful to keep asking me bits and pieces and expect me to know all the things that you are not mentioning to me.
So far all I THINK I know is you have a primary E3 and Backup E1. And that you are trying to play around w/ windows scaling to fill the pipes. And I've answered questions around those.
What are you REALLY trying to do here? And please try and be DETAILED and Specific.
By the way, that Wiki article is "nice" but it is NOT a full and comprehensive knowledge-base on networking. You seem to be playing around with some high end concepts and perhaps trying to apply them where they may not even be appropriate. There is LOTS of stuff that isn't mentioned in that Wiki that affects THROUGHPUT (again - mss, mtu, resets, retransmissions, tcp slow start, tcp congestion detection, etc). Please do not think that that little Wiki article is a comprehensive insight into all of networking.
That aside - you haven't even mentioned what type of application you are trying to run over that line - and THAT also can affect things. Different applications can use the network more or less efficiently. One more thing that isn't covered at all in that Wiki.
Bottom line is no matter WHAT you do, an E1 is STILL JUST AN E1. Unless you use SPECIALIZED technology like Wan Acceleration, it is LIMITED TO 2 Mbps. Period. End of story. All that messing about with TCP parameters will not change that.