PDA

View Full Version : Question for Philip or rmrucker or anyone who understands the subject.


Venom
11-06-00, 03:38 PM
Hello

I have my knowledge of somethings and the mayority is by self experience for doing test. Well thats besides the point.

Ok Here is the question, We know that RWIN is a buffer and we know many things about but here is what I am not sure and maybe is where it might answer some questions.

Is the buffer reserved on the Memory like every other buffer that is made. In other words the larger the RWIN the bigger the buffer size in the RAM or is it on the HD or is it something etirly different? Where does this buffer acctually buffer itself at?

I beleive this question is pretty important since then people who don't have much ram shouldn't use a RWIN to high cuz the system resources will be affected.

I hope someone can explain that one to me http://www.speedguide.net/ubb/smile.gif

Well I'd like to add that so far this has been the forum where I have learned the must keep it up!



------------------
\/E(\)()(\/)

Kip Patterson
11-06-00, 05:37 PM
As far as I know, in the microsoft OS memory is flat, that is, the operating system determines where data is located without regard to what the data is. That can't be 100% true because some parts of the core have to be memory resident.

cablenut
11-06-00, 06:45 PM
Its probably loaded in a .dll file of the tcp/ip implenmentation then loaded into the ram

------------------
Head webcheese and geek guru @ http://www.cablenut.com

Venom
11-06-00, 06:55 PM
CableNut

Glad to see your back.

HHHMMM if that is the case then the RWIN will also depend on how much RAM a Person has to provide for the Buffer, so in theory bigger is better but if you don't have enouf RAM and your system resources get affected then you get packet lose and it slows down, That's IF that's the case. That's interesting.



------------------
\/E(\)()(\/)

Philip
11-06-00, 11:49 PM
RWIN is a RAM buffer. We are using a value less than 1/3 megabyte, so either value should not affect the available resources on your PC much, assuming it's capable if running Windows already...

As far as packet loss - large RWIN values do not "create" packet loss, they simply make it more apparent. Packet loss is caused by overloaded routers, line noise, oversubscription, etc.

Large RWIN values allow the server to send you more information at the same time, before receiving acknoledgement. Assuming a server sends you 50 packets instead of 5 (the number of non-fragmented packets the default RWIN will allow) at the same time, if 1 out of every 5 packets is lost, you might in theory get 10 lost packets instead of one, but you'll also be receiving 40 packets instead of 4 ...

The amount of packet loss is also somewhat dependent on the packet size (MTU), since with larger 1500 byte packets you will lose more bytes than with smaller ones. However, you still have to consider that every packet has headers that add to overhead, and larger packets and larger RWIN will yeild better throughput.

Just my 2c.

[This message has been edited by Philip (edited 11-06-2000).]

JonG
11-06-00, 11:49 PM
I'm no expert on Microsoft Programming unless I want to create software that can crash at the push of the button http://www.speedguide.net/ubb/smile.gif
I do, however, believe I can give a more concise answer. Lets look at it this way.
A string is just a string so each character in it would occupy 1 byte in memory. A Dword ,however, is a number. In Visual Basic, a primitive data type INT can store a number somewhere between this range:
-2,147,483,648 to 2,147,483,647
and it only takes 4 bytes.
Now, lets look at the amount a small system might have. Lets assume 32 megs of ram. A string which had the value "500" and a dword which had the value "29839283" would only take up 7 bytes of your total 32768 bytes of ram. I think it's safe to say that what Windows loads up from the registry isn't that large and even IF you have a small system with little ram you would not be adversely affected.
This might also explain why Microsoft went back to storing many of the TCP/IP entries as DWORDs instead of strings from Win98 to WinME.

Venom
11-07-00, 12:28 AM
Phill:

Thank you very much it does make sence to me http://www.speedguide.net/ubb/smile.gif

------------------
\/E(\)()(\/)

Venom
11-07-00, 02:56 PM
Philip:

I keep thinking you mentioned that we are using values that take less then 1/3 megabyte is there a way to meture the amount of space that you are using depending on your RWIN?

JonG: are you talking about the settings the way they are set in the regisrty if so RWIN is a string value. Or your saying that Windows transfers the information and loads the buffer to the memory as a dword instead?



------------------
\/E(\)()(\/)

Philip
11-07-00, 03:15 PM
RWin is a value in bytes... So RWin of 256960 should take ~251 Kbytes (256960/1024)

Venom
11-07-00, 04:23 PM
Philip:

Thank you once again, that's what I thought it would be after you told me it only took 1/3 of a meg, basically like every other buffer, but it's still a wiered buffer in a way, since it is set to odd numbers ike for example 251 it would seem likley to be 256. But that's ok I guess there are many reasons behind that.



------------------
\/E(\)()(\/)

Philip
11-07-00, 05:05 PM
Just trying to help with what I can...

Yeah, I posted some reasons in the other RWin thread here: http://www.speedguide.net/ubb/Forum2/HTML/007975-2.html