# Solved: GlobalMaxTCPWindowSize



## dbailey18 (Jan 7, 2005)

Is this tweak worth giving a try ? Just thought I would ask .

http://www.winguides.com/registry/display.php/897/

Have cable service and was hoping this might help web pages open a little faster. 

This value is already set at 20000 on my system. XP Pro


----------



## O111111O (Aug 27, 2005)

Won't help much with web pages, and it's dependent upon the remote system as well.

If both host + remote have large TCP windows it can greatly increase throughput for file transfers.


----------



## dbailey18 (Jan 7, 2005)

01111110 , What I don't understand is this :

http://www.talkbroadband.com/articl...2000{47}XP:-Increase-your-GlobalTcpWindowSize

http://www.winguides.com/registry/display.php/897/

http://lutrov.com/blog/11/

Everyone has some sort of different settings for this hack including the ,

SPECIAL EDITION
USING
Microsoft
Windows XP
Professional
Bestseller Edition

by: Robert Cowart & Brian Knittel ??

In the book they recommend setting the Value at 20000 .

I suppose I should just delete or remove my entry and for get it ! Glad I set a restore point ! Let me know what you think.


----------



## Frank4d (Sep 10, 2006)

I have not noticed this tweak making any difference with XP and a high speed cable connection. Maybe it does with Windows 98 and a dial up modem.


----------



## dbailey18 (Jan 7, 2005)

Well if anything it seems to have slowed my connection down some.


----------



## O111111O (Aug 27, 2005)

Yep. I posted about this months ago [via SMB copies] Of course, I should have provided a better explanation - I did much of the same as the articles your read. I provided a "solution" for one problem, without doing much to explain how to come to the solution.

http://forums.techguy.org/networking/417849-smb-block-size-negotiation-k.html

TCPWindow size I used was 64240. This was based on calculating path connectivity multiplied by latency. A.K.A. Bandwidth Delay Product.

Setting the value to anything larger than 65535 won't do you any good unless the end hosts are using what's known as RFC1323. This uses an extra set of bits in TCP header to allow for a larger field. Also, setting the value above the defaults at all requires negotiation by BOTH HOSTS for the TCPWindow size, and a properly sized pipe to carry it.

Here's a quick primer to help explain to you what you're doing:

1]
A TCP Window is a mechanism used by HOSTS during a RELIABLE conversation [transference of data]. The Window is a byte count of how much data can be TRANSMITTED by the SENDING host before it RECEIVES and WAITS for an ACKNOWLEDGMENT frame that is TRANSMITTED by the RECEIVING host.

The connotation to this is like in my above post [see link], sending data with a protocol that requires many acknowledgments [ala SMB / file share] over a latent connection can make the transference of data very slow. If the sending host is waiting on acknowledgments from the receiving host, it doesn't matter how much bandwidth is available - because it's NOT SENDING DATA.

2]
How to determine "optimal" maximum byte value for TCPWindow size.

Calculate BandWidthDelayProduct

(B * L)/8 [bits per second multiplied by latency, divided by 8 bits per byte]

(3,000,000bps * 0.08)/8 = 30000
In the above example, this shows a 3megabit [typical Broadband] connection with a 80 milisecond latent connection to the host. This shows that the ABSOLUTE maximum value that a TCPWindow for this connection that can be effective is 30000 bytes.

3] 
RFC1323. As I stated earlier, the original TCPHeader was developed in the 60's. 16 bit field is only enough to permutate a max value of 65535. As you can hopefully see, today's bandwidth + latency makes 65535 ineffective. RFC1323 uses a couple of bits elsewhere in the IPHeader to identify "window scaling" which effectively multiplies the value above by a power of 4.

So. Did that explanation help at all? Too large of a window based on BDP can actually make things slower.

Hopefully you and others will read this thread and garner some understanding for the underpinnings of IP communication. I've read many arbitrary "make this adjustment" [including some I've written myself] and frown.

In any case - To make some of the registry modifications safer, and do the math for you I would suggest that you download a utility to do so.

http://www.speedguide.net/downloads.php
Download TCPOptimizer. I've tested this against "doing it by hand" and have pushed 30-40mbps [That's DS3 type speed] over latent connections with what it can provide. Does a fine enough job for any consumer internet access.

Also, i applaud you for doing a registry backup before you make changes.

Oh, one final jab. Linux 2.4> kernel does 99% of that automatically. Solaris 9 and above do it as well. 

P.S. - note that any of the above makes the assumption that you have a RELIABLE connection. [as I stated in the TCPWindowSize dissertation] If there is packet loss or other issues in the connection [which there can be], that tends to be REALLY pronounced [a.k.a. make things slower] when you use a larger window size.


----------



## dbailey18 (Jan 7, 2005)

What can I say but that you have hit the nail on the head so to speak ! Great bit of info and will applaud you for the very well defined explanation of the whole situation that I have and I'm sure others will have or may already be experiencing.

Will give the TCPOptimitzer a go and was aware of Linux and Solaris. Will say again all the info you have supplied me and I'm sure others will read or atleast I hope they do, here is great ! Have saved the url's to my favorites for future reference too as I know they will come in place when needed. As usual what other place is there to receive the best help on the net . :up:


----------



## O111111O (Aug 27, 2005)

Thanks much.

Quick follow up question: Who's your ISP? What do you think of them?


----------



## dbailey18 (Jan 7, 2005)

Road Runner ! TimeWarner Cable ,they seem to be fair and I really have no complaints to speak of . Speeds could be better. It's my understanding they might be switching over to fiber optics cable lines. Thats in my area . Down load speeds ( 5 Mbps ) and upload ( 512 kbps ) Atleast that is what they used to be. If I remember they may have went up some, or at least that is what I was told over a phone support chat one evening.

Here is some info on Time Warner.

http://www.dslreports.com/reviews/1573


----------

