Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 463
  • Last Modified:

Network packet size questions-

Hi-
I've got a peer to peer network at home.. currently between w2k and 98, and all on a 100Mbit switch.  I was recently very disappointed that I only get about 20Mbit performance out of it.  Now while I know that 100Mbit is unattainable, I expected better than 20.  I want to know what settings on NT and 98 that I can tweak to optimize my throughput speeds.  
Also, what happens if the packet size on a sender is different from the receiver?
thanks-

Jeremy

0
j-enos
Asked:
j-enos
  • 11
  • 4
  • 2
  • +6
1 Solution
 
pcchiuCommented:
You can try to read through that article
The concept is the same for networking.

http://navasgrp.home.att.net/tech/cable_dsl.htm
0
 
j-enosAuthor Commented:
I took a look at everything available there...  there don't seem to be any utilities for win2k... also, there was some information on reg hacks... it was innaccurate.  Still searching...
0
 
CoolAssCommented:
What kind of NICs do you have in each machine?

Most often, data througput is not limited by the network (at least on fast networks) but by the CPU. Unless you have one of the new 3XP cards from 3COM, your CPUs will often hit 90% utilization trying to transfer large files, thereby capping your transfer rate.
0
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

 
j-enosAuthor Commented:
I have a 3com XL and a Linksys; each CPU is @ 560mhz...  they never go over 50%.  I tried some mp3's instead of small files... got up to 24Mbit.  Still not up to what I would expect though.
0
 
sunsetyangCommented:
Perhaps the bottleneck is the throughput of your storage devices.You can try to load something into memory and then to transfer them on network,if it was due to your storage devices,you will see a rise in performance.Perhaps the 24MBits/s is the max throughput of your hard disk.So when you transfer them on network,there will be a rise. You can do this by your own programs
First,you allocate a large block memory,
then you load something into the buffer,
after this you transfer them by your program using tcp or udp or some other transfer protocols.If everything OK,this will be the max throughput of the network.Just my suggestions.
0
 
epaulCommented:
Try use only NETBEUI. If the problem persists check your hardware.
0
 
awetherholdCommented:
What is the duplex on the NIC and the switch?  If your NIC cards support it change both the NIC and switch to full duplex (rather than autosensing which can sometime cause problems).  See if that makes a difference when transferring your files.

In addition, here is a simple, but useful, dos utility you can use to test the sped of your network (http://www.netperf.org/netperf/NetperfPage.html).

One last note, make sure you aren’t using 3D screensavers on your computers or other background processes.  The 3d screensavers are very CPU intensive and as someone mentioned already, CPU usage will affect the speed of a NIC.
0
 
rspiteriCommented:
Unfortunately a lot of what your doing will be limited by the generally ineffiecient ways people write applications to run across networks.  
For example with Microsoft type products you'll find when copying the a group of directories they'll be lots of serpate read write requests and create directort requests which don't fill packets out to their maximum size but take type network bandwidth and cpu load.  See the difference if you zip up a directory and transfer it.

Also make sure you have the same mtu size 1500 (ish ) for ethernet, and you have all of the cards forced to fullduplex 100 MB ( if they're capable ) and the switch is also set to this, also ensure you have good quality cat 5 cabling ( it should have cat 5 printed on the side or at lease be fairly new ).

0
 
j-enosAuthor Commented:
rspiteri-
Your information is helpful and I plan to look into forcing full duplex, but can you tell me how to change the packet size with win2k and 98?  
thanks-

Jeremy
0
 
rspiteriCommented:
It depends on the network card, but under windows 2000 right click on my network places right click on my local connection properties section and in top box they'll be a network adapter icon displaying your network card adapter, usually with a configure box on it, select this and you should be able to specify things such as maximum frame size ( or mtu size or whatever they call it ) for ethernet should be around 1500, Windows 98 is pretty similar you want to be right clicking and selecting the propertie of the adaptor with the right drivers there should be an option to configure the settings such as duplexing and frame size.  If you card doesn't allow you to do this the manufacturer might ship a sperate utility to configure these seetings, this is usually where buying a good nic comes in handy.
0
 
j-enosAuthor Commented:
That works for setting the duplex mode... but there is not frame size or MTU setting there.  Frame size and MTU are two different things, by the way.  The only place I've seen a GUI front end for setting the MTU is with the 3rd party DUN tweakers out there.  1500 is good for an ethernet connection to the internet, but when I have a 100bT switched LAN, I've been told I can get away w/ much larger packet sizes due to the reduced latency and higher reliability.  (100%)
So there aren't any 3rd party tweakers out there for w2k yet (that I've seen), and since their range of settings is only between internet ethernet and DUN, they wouldn't be very useful anyway.  I want to test settings with much larger packets, and that's what I want to change.  The packet size.  Is the MTU the packet size?  I'm pretty sure it's not, since I've only seen packet sizes in multiples of 1024.  Maybe I'm just talking out of my a**, I don't know.
Let me know if you have any other ideas...  
Thanks.
0
 
epaulCommented:
You can use HKEY_LOCAL_MASHINE\system\currentcontrolset\services\tcpip\parameters\enablePMTUDiscovery=1
it is enable NT for automaticaly set packet size for best perfomance
0
 
j-enosAuthor Commented:
Adjusted points to 150
0
 
j-enosAuthor Commented:
So MTU actually is the packet size?  Also- that registry key doesn't exist... I take it that I should just create it?  With a Win98 machine on the other end of the wire, how does it deal with NT trying different packet sizes?  Or can I put that key into 98's registry too?  If it is automatically adjusting packet size, doesn't that create a certain amount of overhead on the network?  Or do you know how it does it?

Lastly, does that globally change the packet size for any adapter in the system?  i.e. When I dial up somewhere with the modem, is it going to try and use the large packets?

Sorry for the 20 questions... but they're important questions and it's so hard to get good answers about this stuff.  I'm increasing points on this question.  Thanks.

Jeremy


0
 
j-enosAuthor Commented:
That works for setting the duplex mode... but there is not frame size or MTU setting there.  Frame size and MTU are two different things, by the way.  The only place I've seen a GUI front end for setting the MTU is with the 3rd party DUN tweakers out there.  1500 is good for an ethernet connection to the internet, but when I have a 100bT switched LAN, I've been told I can get away w/ much larger packet sizes due to the reduced latency and higher reliability.  (100%)
So there aren't any 3rd party tweakers out there for w2k yet (that I've seen), and since their range of settings is only between internet ethernet and DUN, they wouldn't be very useful anyway.  I want to test settings with much larger packets, and that's what I want to change.  The packet size.  Is the MTU the packet size?  I'm pretty sure it's not, since I've only seen packet sizes in multiples of 1024.  Maybe I'm just talking out of my a**, I don't know.
Let me know if you have any other ideas...  
Thanks.
0
 
epaulCommented:
Yes, you must create it. Yes, MTU -Maximal Transmition Unit. Yes, there are 3rd party tweakers. Yes, that globally change the packet size for any adapter in the system.
Of course frame work's at the physical layer and you can't change it.
0
 
j-enosAuthor Commented:
Can you point me to a 3rd party tweaker for win2k?  I'm still going to use the key you told me about anyway, but I'm just wondering where the tools are.
0
 
j-enosAuthor Commented:
I set both cards to full duplex 100Mbit... It made the performance about a third of what it was previously (when they were on auto select).  When they were on auto-select the switch still indicated that they were at full duplex.  I don't know what's going on there...  doesn't make sense.  But forcing full duplex sucks...
0
 
andyalderSaggar makers bottom knockerCommented:
MTU is set in registry by disabling the enablePMTUdiscovery regkey as per epaul above and setting  ...\Tcpip\Parameters\Interfaces\<interface>\MTU but this is very unlikely to be any help on ethernet as NT always discovers the PMTU of 1460 bytes correctly unless it is a complicated routed network.

under 98 the keys are the same as NT but located under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP

 
0
 
j-enosAuthor Commented:
The MTU key doesn't exist by default... is that expected?
0
 
andyalderSaggar makers bottom knockerCommented:
If it is not set (which is indeeed the default) then win2k queries the adapter for the MTU, if you set it then it overrides this normal behaviour.

It doesn't exist in NT4 either by default.

on win98 it's Hkey_Local_Machine\System\CurrentControlSet\Services\Class\netTrans\000n\MaxMTU where n represents the tcpip/nic binding order. Again it's not set by default.
0
 
Phiber0pTikCommented:
j-enos,
try editing this registry key:

Key: <Adapter Name>\Parameters\Tcpip

TcpWindowSize
Key: Tcpip\Parameters
Value Type: REG_DWORD - Number of bytes
Valid Range: 0 - 0xFFFF
Default: The smaller of 0xFFFF
OR
(The larger of four times the maximum TCP data size on the network
OR
8192 rounded up to an even multiple of the network TCP data size.)
The default is 8760 for Ethernet.
Description: This parameter determines the maximum TCP receive window size offered by the system. The receive window specifies the number of bytes a sender may transmit without receiving an acknowledgment. In general, larger receive windows will improve performance over high (delay * bandwidth ) networks. For highest efficiency, the receive window should be an even multiple of the TCP Maximum Segment Size (MSS).

i hope that registry hack helped if that didnt help there are some other reg hacks that you could try.

Good Luck
Phiber0pTik
0
 
epaulCommented:
If you increase the number of buffers that the redirector reservers for network performance, it may increase your network throughput. Each extra execution thread that you configure will take 1k of additional nonpaged pool memory, but only if your applications actually use them.

To configure additional buffers and threads, edit:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters

Modify or Add Value of type REG_DWORD for:

'MaxCmds' The range is 0 - 255 and the default is 15

'MaxThreads' Set it to the same value as MaxCmds

You may also want to increase the value of 'MaxCollectionCount'. This REG_DWORD is the buffer for character-mode named pipes writes. The default is 16 and the range is 0 - 65535.


Registry Settings:
Key: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters]
Data Type: REG_DWORD
 
for 98:
The optimization of RcvWindow and DefaultTTL along with other registry settings such as MaxMTU and MaxMSS can speed up TCP/IP modem networking connections (eg. Internet connections).

RWIN (Receive WINdow) is the buffer your machine waits to fill with data before attending to whatever other TCP transactions are occurring on the other threads and sockets WinSock has open while a connection is in progress.

The value of TTL (Time To Live) defines how long a packet can stay active before being discarded. The default value is '32'.

1. Open the registry and find the key below.

2. Create a new string value named 'DefaultRcvWindow' and set it to '4288'. If 'DefaultRcvWindow' already exists, then simply modify the current value.

3. Also create another string value named 'DefaultTTL' under the same key and set that to '128'. Again if it already exist, simply modify the value.

4. Exit the registry and reboot your PC.


Registry Settings:
Key: [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
Value Name: DefaultRcvWindow, DefaultTTL
Data Type: REG_SZ
 

0
 
j-enosAuthor Commented:
Thanks- I wish I could split the credit, as epaul had a very helpful answer too.  Time isn't permitting me to test these things right away, but when I do try some things, I'll post up here again.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 11
  • 4
  • 2
  • +6
Tackle projects and never again get stuck behind a technical roadblock.
Join Now