Rosher Consulting

Software Consulting and Development Services

Gigabit networking - Part 1

GS605 Sometime around September 2007 I decided to upgrade the network to Gigabit as I was increasingly transferring large files around and I'd also noticed some occasional lagging and jerkiness when watching some HD content on the lounge media center (this was prior to the Quad core upgrade).

I did a little bit of research on the topic and decided that all I needed was to buy myself a Gigabit switch, transfer the network cables from the wireless router to the switch and then add another cable from the switch to the router, sounds simple enough!

I'd seen some really good reviews of the Netgear GS608 but decided to go for the cheaper 5 port version, the GS605, both models had good reviews on ebuyer.

I was already using Cat5e cables, so I connected everything up and then proceeded to do a few tests. I regularly use FastCopy to move files around the network as it's a lot more reliable than Windows Explorer and it also displays the current transfer rate, which is perfect for testing the new switch.

I used some large video files >1GB for the tests as you tend to get better results than lots of smaller files, unfortunately while the transfers were faster than the old network, they were rather disappointing considering that gigabit has a maximum (theoretical) throughput of 1000 mbps as I was getting about 8-9 mbps.

So...this is the point where I started to do a lot more research into gigabit networking and I realised that all was not quite as straightforward as it first seemed!

I tried tweaking Window's registry settings such as TCP window sizes, turning on Jumbo frames etc. but none of the above ever really gave me a great jump in transfer speed. I then came across a really good article (which typically I can't find now) that discussed using Jumbo Frames and how to work out the maximum transmission unit (MTU) for your network as it turns out that all NIC manufacturers use different sizes, so you have to do some manual tweaking to get everything working efficiently.

To give you some background on jumbo frames, all packets of data that travel around your network are transmitted in frames, so a 1gig file will be split up into multiple frames as required. A fast ethernet network will have a frame size of 1.5k, this is also known as the MTU, a gigabit network will also have a frame size of 1.5K, but with jumbo frames enabled you can increase the frame size up to 16k. Straightaway you should be able to see that your 1gig file using jumbo frames will result in less packets being sent around your network, hence why it will be faster. Here's the kicker though: if you configure your NIC with a frame size of say 8k, it will send out an 8k packet, if the NIC your sending to doesn't support or isn't correctly setup to receive an 8k frame, an error will get sent back to the source NIC that will then split the frame up into smaller packets and re-send it, hence why your super-duper gigabit network can appear to give no noticeable performance improvements over your fast ethernet network and in some scenarios can even appear to be worse!

All gigabit NIC cards should allow you to change the frame size, some will give you a pre-defined list of options such as 4k, 8k and 16k, others will allow you to manually enter the frame size. This all sounds simple and straightforward, except that some manufacturers include the size of the frame header and some don't, so working out which values to choose or enter can be a hit and miss affair.

Fortunately there is a way to work out the MTU by using the ping command which allows you to set the frame size (ping -l xxxx, where xxxx is the buffer size in bytes), thereby seeing whether the specified frame size will successfully get sent across your network. Using this technique you can gradually increase the frame size until the point at which it fails to determine the maximum frame size.

This all sounds fine and dandy, except that the process, when coupled with more than a couple of PC's quickly becomes arduous and still isn't guaranteed to give you great results.

Along with trying out some of the suggestions here the maximum transfer rate I ever got between any of my PC's was about 15Mb/s, which isn't too bad but is pretty disappointing considering the results I was expecting.

Whoa...this post has turned out to be a bit more wordy than I was expecting, but I guess it's important to include all the details that fully explain my disillusionment with gigabit networking as a whole.

In part 2 I intend to explain how I finally managed to get transfer rates in the 40-50Mb/s range and why gigabit networking will at the moment struggle to get past 75Mb/s. 

Comments are closed