<< So, is there in fact a way to set up a network where you get transfer speeds as fast as those when downloading from the internet >>
Wow, that will require some preaching:
Network speeds are set in stone. For instance 10Base-T has an effective capacity of 10 Megabits/sec (even though the baud rate is really 12.5 Mbit). Now does this mean you will realize 1250 Kbytes/sec transfer rates between two computers on a 10Base-T net. Heck no. But like most network engineering the answer is "It depends". First off it is difficult to utilize much more that 40% of the capacity of shared ethernet. This is simply a limitation of the layer 2 protocol CSMACD. There are all sorts of timers involved dealing with inter-frame gap and collisions that make this %40 rule a nice one of thumb (Now if somebody comes back and says "well I've seen %80 utilization" then fine, but 40% is the accepted generalization)
Moving up the OSI stack since we covered limits of Layer2 we are at the IP layer. No real limit here but some more overhead.
Layer4 - TCP. Now this has the biggest impact on transfer rates (discounting HD speed, file caching, cpu, NIC, etc). TCP does all the flow control from sender to receiver and is responsible for windowing. More payload overhead to deal with.
Now you understand limits of ethernet and you understand several required layers of overhead. First off when downloading from the internet you are using well know applications such as HTTP or FTP. These applications have been around for decades and are quite effecient at what they do. To be put another way...windows networking (SMB) flat out blows. There is too much overhead in the form of DATA over SMB over NETBIOS over TCP over IP, etc. Very poor performance not to mention windows to not dynamically maximize their TCP window. This is why you should modify your RWIN paramater in the registry. Add all this up and maybe, just maybe i've rambled on long enough to show you why you'll never get much more than 300-500 kbytes/sec of PAYLOAD transfer speed from shared ethernet on any given TCP connection. Especially with windows file sharing.
Want to get faster? Use a download accelerator like, err..."download accelerator". These over come the limitations of using only a single TCP connection by using multiple ones therefore maximizing the use of your bandwidth. During a file transfer a significant proportion of time is spent waiting for acknlodgements from the recevier. If you have more connections then chances are while the server is waiting from an ACK from you you are still receiving more data on another TCP connection, so instead of just waiting while ACKing your actually doing something.
And if you want even more performance then by all means use a 100 Base-T switch with full duplex. 100 megabits payload and you eliminate and backoff timers used for collisions because there will be no collisions. Expect to get payload transfer rates of 3000-5000 Kbytes/sec
Way too much information, but I'm ramblin.
spidey
ps - I don't even have a clue as to how SANDRA measures network performance. That number might be totally bogus.