If I run an ethernet cable to each room from the switch in the cupboard and then have a switch in each room, am I right in saying that each device won't actually be able to transfer data at gigabit speeds because the gigabit cable bandwidth will be shared between all the devices connected to a particular switch?
That is correct, but you need to take in to consideration what those devices are and what they will be doing. It's unlikely they will all need full speed all of the time.
Hmm, I would question whether Alec's assumption is actually correct.
Ethernet, at least over UTP, is one of the few technologies where you can actually achieve what it says on the tin. Unlike wireless, and unlike the headline transfer rates for a lot of HDD technologies, where the advertised speeds require a large pinch of salt.
The fundamental UTP ethernet bottleneck is the cable, which for Gigabit can send 1Gbps in each direction. But the switch needs to have somewhere to send all the data it receives, so it must be able to send that 1Gbps out on another port. If it couldn't do that, it wouldn't be providing gigabit speeds.
Moreover, there is no fundament reason (other than the switch's own CPU performance limitations) that the switch couldn't be receiving 1Gbps on half of its ports, and sending it all back out again on the other half. And it gets even better, because it can be receive and send 1Gbps per second at the same time on each cable, so its actually a total of 2Gbps per port.
Personally I'd suspect the switches would have some internal bottlenecks that make such 'flat out' speeds unattainable in practice. However, a quick random search for inspiration yielded the following specs for Netgear's cheap n cheerful GS605/608 family…
http://www.netgear.co.uk/home/products/switches-and-access-points/unmanaged-switches/gs608.aspx#twoBandwidth:
under 'performance'
- GS605: 10 Gbps (non-blocking)
- GS608: 16 Gbps (non-blocking)
So they clearly feel able to claim that, in some conditions at least, the 5 port switch can handle 2Gbps (i.e. duplex) on all of its 5 ports concurrently, same for the 8 port. Packet rate will be another bottleneck and Netgear to helpfully quote that too (click on the link), but it is less meaningful as we don't really know how any particular application will fragment the data, all into nice big ethernet frames, or into lots of tiny ones.
Having said all that, I generally expect to see at least 30% utilisation when I'm sending stuff around the house over gigabit, but I have rarely seen more than about 50-60%. I suspect the upper limit is mainly attributable underlying disk IO transfer bottlenecks, and the host PC drivers.