I want to speed up data transfer between two computers and my first solution was to connect them both via firewire (winXp running tcp/ip over firewire).
But now I am thinking about getting two gigabit adapters, to be precise two Netgear GA311. The question I have: Can I connect these two adapters with a crossover cable or do I need a switch in between ? I wanted to avoid having the switch as it is only two machines. I am also not sure if I need the crossover cable, as there is some auto-uplink feature which can detect the cable mode.
1 gigabit is a theoretical number, and there's some way to go before you can achieve that. In general, you can get a significant benefit, but when you're starting with firewire, the amount of benefit won't be so large -- firewire, if done right, isn't bad to start. You are going to be bottlenecked by HD and file transfer protocol, etc,. to some degree -- even with a perfect GbE network, you wouldn't hit 1000 Mb/s. The best I've personally been able to hit for file transfers so far is around 720 Mb/s, and this is with RAID on both sides.
So, I'd suggest that you're probably just fine with firewire, and that the gains from GbE wouldn't be as large as the theoretical numbers might suggest.
If you still want to go ahead...
From the picture on their web site, the Netgear uses a RealTek chip. This chip is very CPU intensive, and that can cause you problems / loss of performance. I'd recommend looking for an Intel NIC instead -- you can find the Pro 1000 MT desktop adapter for around $21-$29 online. If you have a fast dual core CPU, you can perhaps get away with the Netgear; otherwise, if you want to be able to hit high speeds, I'd suggest another NIC.
Again, your performance will most likely be limited by your HD's, and in this case, your NICs won't be running full speed, and so their CPU usage won't be 100%. However, that high CPU utilization can eventually be a barrier to performance / system smoothness.
You can use a straight-through cable between 2 GbE NICs -- it's part of the standard. I've done it many times. And when you do so, you get the ability to use jumbo frames for "free" -- you don't need a special switch and network setup -- you just need to set the MTU in the registry, and enable jumbo frames in the NIC properties. For at least PCI gigabit NICs, this generally gives a significant performance improvement.
But again, you're going to be limited by the HD's typically, so having an uber GbE network is not necessarily going to get you the sorts of performance figures you might otherwise think.
30 MB/s (240 Mb/s) is a reasonable practical target for GbE. This is around 3x as fast as 100 Mb/s, making that leap to gigabit worthwhile. But you should already be around 30 MB/s with firewire, so you'd likely gain nothing getting here with GbE.
50-60 MB/s (400-480 Mb/s) is also reasonably achievable with GbE with fast drives in the outer sectors or RAID arrays. If you have such drives, and take the trouble to set up decent NICs etc., you should be able to get this fast.
The initial jump from "fast" ethernet to gigabit/firewire, say 10 MB/s to 30 MB/s, is a 200% increase. The increase from 30 MB/s to 60 MB/s is "only" a 100% increase, and is harder -- diminishing returns have already kicked in, and you might not even get that performance.